제가 이 블로그를 시작했을 때 "정보 보안을 배우려면 가장 빠른 방법"에 대한 블로그를 쓰면서 TryHackMe라는 정보 보안 공부 홈페이지를 소개해 드렸는데, 오늘은 오랜만에 TryHackMe 실습 룸을 풀어 보겠습니다. 모의 침투 말고 오늘은 침대 사고 대응!
위에 있는 사진을 보시면 오늘은 Splunk에 대해서 배울 것이라는 것을 아실 수 있습니다. Splunk는 블루팀이라면 Splunk 없이 못 살 정도로 중요한 소프트웨어입니다.
스플렁크가 무엇인지 간단하게 설명해 드리자면: IT 인프라 및 비즈니스를 구성하는 웹 사이트, 애플리케이션, 센서, 장치 등에서 수집된 기계 생성 데이터를 검색, 분석 및 시각화하는 소프트웨어 플랫폼입니다.
제가 쓴 TryHackme 블로그를 읽으신 분들은 아시겠지만, TryHackMe가 무엇인지 모르시는 분들을 위해 잠깐 설명해 드리겠습니다. TryHackMe는 정보 보안 및 해킹을 배울 수 있는 홈페이지입니다. 블루팀, 레드팀, 웹 해킹, 리버싱, 네트워크 해킹 등~ 다양한 주제가 많습니다. 실습랩들은 "Room"이라고 불리며 연습 룸 500개 넘습니다. 할 것이 많죠?
아울러, TryHackMe의 장점은 유저들을 "가이드"하기 위해서 질문을 하고, 유저는 그 질문에 답해야 합니다.
예시로 오늘 할 룸 스크린숏~
그러면 vpn에 연결하고, 룸을 부팅하고 바로 시작!
Splunk의 UI 다음과 같이 생겼습니다. 위에 입력할 수 있는 검색이 있고, 왼쪽에 더 자세하게 검색하려면 추천 "Fields"가 있습니다. 가운데는 당연히 검색 결과입니다.
더 정확한 검색을 위해 다양한 sourcetype를 고를 수 있습니다. 보시면 반 정도가 Security에 대한 로그이고, iis (웹 관련 로그)도 보입니다. 저는, 개인적으로, Count가 가장 낮은 것으로 시작하는 것을 좋아합니다. 특별한 이유가 없고 그냥 개인 스타일.
1번과 2번 질문: Can you identify the location of the ransomware?
랜섬웨어가 실행되는 위치를 알아내야 하고, 찾는 데에 도움이 되는 꿀팁 2번 질문에 나옵니다. Sysmon Event ID를 묻는 질문인데, Event ID 11을 사용하겠습니다. ID 11은 "FileCreate"이기 때문에 질문에 답하는 데에 큰 도움이 될 것 같아 다음과 같이 검색해 봅시다.
대답이 바로 나옵니다. cmd.exe가 보이는데 저장되어 있는 path가 너무 이상하고 수상합니다. cmd.exe가 Documents 폴더에 저장되어 있다는 자체가 의심스럽습니다.
1번 질문 답: c:\Users\Administrator\Documents\cmd.exe
2번 질문 답: 11
3번 질문: Can you find the MD5 hash of the ransomware?
MD5 hash를 찾아보라는 질문도 쉽게 답할 수 있습니다.
검색에 1번 질문에서 알아낸 path를 추가하고 md5도 추가합니다
3번 질문 답: 290C7DFB01E50CEA9E19DA81A781AF2C
4번 질문: What file was saved to multiple folder locations?
4번 질문도 아까 사용했던 EventCode 11 도움이 될 것입니다. 파일 이름은 TargetFilename이라는 변수에 저장되어 있어 그 변수도 사용할 수 있습니다
readme.txt라는 파일이 생성됐다는 것을 확인할 수 있습니다.
4번 질문 답: readme.txt
5번 질문: What was the command the attacker used to add a new user to the compromised system?
이 질문은 해킹 모의 침투에 대한 지식이 도움이 됩니다. 윈도우 환경에서 유저를 추가하려면 "net user /add [유저이름] [비밀번호]라는 명령어를 사용할 수 있습니다. 따라서 검색에 "/add"를 추가해 보겠습니다.
securityninja라는 유저가 추가됐다는 것을 확인할 수 있습니다.
5번 질문 답: net user /add securityninja hardToHack123$
6번 질문: The attacker migrated the process for better persistence. What is the migrated process image (executable), and what is the original process image (executable) when the attacker got on the system?
공격자는 지속성을 확보하기 위해서 process를 이동했나 봐요. 이 질문도 sysmon에 대한 지식이 도움이 됩니다. Event ID 8는 CreateRemoteThread인데, process 하나가 다른 process 안에서 새로운 thread를 만드는 것을 찾아냅니다. CreateRemoteThread에 대해 궁금하시면 제가 쓴 블로그 추천해 드립니다. https://blog.naver.com/maxhin/222587409533. 워드 파일 안에 악성코드를 숨기는 블로그인데 CreateRemoteThread하고 아주 비슷한 CreateThread를 사용합니다.
따라서 검색은 다음과 같이 해 보겠습니다.
Splunk가 CreateRemoteThrea에 대한 알람 2개 요약해 줬습니다. powershell에서 unsecapp.exe로 이동하는 것이 보이고, unsecapp.exe에서 lsass으로 이동하는 것이 보입니다.
6번 질문 답: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,C:\Windows\System32\wbem\unsecapp.exe
7번 질문: The attacker also retrieved the system hashes. What is the process image used for getting the system hashes?
6번 질문에서 나왔던 아웃풋을 사용하겠습니다. 윈도우의 lsass.exe는 간단하게 말하자면 비밀번호 창고입니다. 해커에게 권한이 충분히 있으면 침해된 시스템의 비밀번호 탈취가 가능합니다 (다음 비밀번호 탈취 방법에 대한 블로그를 올릴 예정이니 기대해 주세요 :) )
따라서, lsass으로 비밀번호 탈취가 가능하다는 지식으로 쉽게 질문에 답할 수 있습니다.
7번 질문 답: C:\Windows\System32\lsass.exe
8번 질문: What is the web shell the exploit deployed to the system?
8번 질문은 웹에 대한 질문이라 지금까지 사용해왔던 sourcetype 말고 다른 sourcetype를 사용해야 합니다. 웹에 대한 질문인 데다가 윈도우 환경이라 "iis" soucetype를 사용해 보겠습니다.
윈도우 환경의 shell은 높은 확률로 ".aspx" 혹은 ".asp" 파일일 것입니다.
"index=main sourcetype=iis "*.aspx"" 검색의 cs_uri_stem를 확인해 보니 /owa/auth/i3gfPctK1c2x.aspx이라는 파일이 보입니다.
8질문 답: i3gfPctK1c2x.aspx
9번 질문: What is the command line that executed this web shell?
위에 있는 webshell를 실행시켰던 command를 찾아야 합니다. 1번 질문부터 7질문까지 사용했던 sourcetype를 다시 사용하고 검색해 보면...
답이 나옵니다!
9번 질문: attrib.exe -r \\\\win-aoqkg2as2q7.bellybear.local\C$\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\i3gfPctK1c2x.aspx
10번 질문: What three CVEs did this exploit leverage?
10번 질문에 대한 대답은 Splunk 안에서 찾을 수 없고 구글링 좀 해야 합니다. 한참 걸렸고 한 10개 페이지들을 보면서 삽질하다가 드디어 다른 블로그를 발견했는데 다행히 맞는 대답이었습니다:
https://cybersecurityworks.com/blog/ransomware/is-conti-ransomware-on-a-roll.html
10번 질문 답: CVE-2020-0796,CVE-2018-13374,CVE-2018-13379
오늘 블로그는 Splunk로 블루팀 연습을 했습니다! TryHackMe에 오늘 했던 것과 비슷한 내용이 많으니 해킹 말고 블루팀에 더 관심 있으신 분들은 꼭 한번 확인해 보세요! 저는 TryHackMe를 쓴 지 1년 정도 됐는데 엄청 도움이 됐어요. 실습하면서 공부하는 것이 가장 효과적이고 재밌습니다.
수상한 코드 실행! 침해사고대응 LetsDefend.io #2 (2) | 2022.07.29 |
---|---|
수상한 .war 파일 발견! 침해사고대응 LetsDefend.io #1 (0) | 2022.07.23 |
SOC 분석가가 되고 싶다면? Letsdefend.io에서 연습하자! (0) | 2022.07.15 |
Wireshark로 침해사고대응 Incident Response 연습: BlueTeamLabs #1 (0) | 2022.06.18 |
침해사고대응 디지털포렌식 연습 방법 (0) | 2022.06.07 |