#About
[시나리오]
A사에 근무하고 있는 박보안 부장은 PM으로 협력사인 B사와 함께 프로젝트 "WHITEHGAT"을 진행하고 있다.
프로젝트를 진행하면서 자료 공유는 외부 클라우드 서비스, 관련 코드는 별도의 소스관리 솔루션, 진행 사항은 팀 채팅 솔루션을 이용해 공유하였다.
어느날 박보안 부장은 평소와 다름없이 업무를 진행하였는데, 갑자기 자신이 쓰던 PC의 모든 문서가 암호화되는 사건을 겪었다. 인터넷을 검색해본 결과, "랜섬웨어"라고 불리는 악성코드에 감염된 것으로 보였다.
감염되기 전의 상황을 되짚어보았지만 기존에 해오던 일상적인 업무 이외에 특별한 행위를 하지 않았다고 생각했다.
재부팅한 결과, 공격자는 400만원의 돈을 요구했다.
암호화된 파일에는 "WHITEHAT" 프로젝트의 주요 파일이 포함되어 있어 400만원을 지불하고서라도 복구하고 싶었지만 공격자를 믿을 수는 없었다.
주어진 파일은 박부장의 PC HDD 이미지와 현장에서 획득한 메모리 덤프 파일이다. 어떻게 감염이 되었는지? 복호화는 불가능한 것인지? 분석하라!!
1. 박부장의 PC의 문서를 암호화한 랜섬웨어 파일은 무엇인가요? (전체 경로)
2. 박부장 PC에서 랜섬웨어에 의해 암호화된 파일을 모두 몇개인가요?
3. 랜섬웨어가 사용한 암호 알고리즘과 모드는 무엇인가요? (암호 알고리즘_모드)
4. 랜섬웨어 파일은 어디에서 다운로드 되었나요? (원본 파일 URL 전체 경로, 프로토콜 포함)
5. 랜섬웨어 파일을 다운로드한 다운로더(Downloader)는 무엇인가요? (파일명.확장자)
6. 다운로더(Downloader)는 박부장 PC에 언제 다운로드되었나요? (YYYY-MM-DDThh:mm:ss)
7. 다운로더(Downloader)는 어디에서 다운로드 되었나요? (다운로드 URL 전체 경로, 프로토콜 포함)
8. 박부장 PC의 문서를 암호화한 키가 저장되어 있는 데이터베이스명, 테이블명은 무엇인가요? (DBNAME_TABLENAME)
9. 박부장 PC의 문서를 암호화한 키는 무엇인가요?
10. 박부장 PC의 IP주소는 무엇인가요?
#Solution
[그림 1] - Arsenal Image Mounter
제공받은 이미지 파일을 마운트 시키기 위해, 마운트 전용 도구인 Arsenal Image Mounter를 사용했고, 생성 시간을 기준으로 첫 번째로 암호화 된 파일을 확인 해보았다.
[그림 2] - 첫 암호화 파일 확인
첫 번째로 암호화 된 파일은 PDFSigQFormalRep.pdf_enc로 암호화 파일 생성 시점은 "2015-09-25 15:22:48"이다
파일이 암호화 되었다는 것은, 이전에 암호화 작업을 진행하는 랜섬웨어 파일이 실행되었음을 의미하고, 첫 암호화 시점을 기준으로 이전을 보았을 때,
의심스러운 temp.exe이라는파일을 확인할 수 있고 또한 생성된 bin, js파일의 경로를 확인 결과 웹 캐시 파일임을 알 수 있으며,
이는 암호화 작업이 진행되기 전, 웹 사이트에 접속 했고 무언가를 다운받아서 실행했다는 가설을 세우고 분석을 진행할 수 있다
[그림 3] - 웹 브라우저 아티팩트 추출
세운 가설에 입각하여 웹 브라우저 아티팩트를 추출했고 아래와 같이 WEFA로 웹 히스토리를 확인할 수 있었다.
[그림 4] - 웹 히스토리 확인
방문 횟수를 기준으로 보았더니, tenos.jandi.com/app/이라는 URL에 가장 많이 방문함을 확인할 수 있고,
이는 검색 결과 아래와 같이, 업무 협업툴을 제공하는 도메인임을 알 수 있다
[그림 5] - JANDI 확인
또한 아래의 캐시 필드에서 최근 방문 시간을 기준으로 필터링한 결과,
암호화가 일어난 시점(2015-09-25 15:22:48)과 30초도 남짓 안되는 시간에, jandi로 부터 참고지침.hwp를 다운받음을 확인할 수 있다.
[그림 6] - 참고지침.hwp 확인
다운받은 참고지침.hwp는 [그림 2]에서 확인할 수 있듯 링크파일이 생성됐고, 이는 파일을 열람했음을 의미하며 열람 시각은 2015-09-25 15:22:34임을 확인할 수 있다.
이후 정확한 분석을 위해 파일 시스템 주요 로그들을 아래와 같이 추출 해주었다.
[그림 7] - 파일 시스템 로그 추출
추출한 파일 시스템 로그를 NTFS Log Tracker를 이용하여 아래와 같이 로그 정보를 파싱해주었다.
[그림 8] - 파일 시스템 로그 파싱
파싱 된 결과 중 참고지침.hwp가 생성된 2015-09-25 15:22:24 이후의 파일 시스템 로그를 확인하기 위해 아래와 같이 쿼리를 날려 주었다.
[그림 9] - 참고지침.hwp.lnk 생성
확인 결과, 참고지침.hwp.lnk이 생성 된 이후, "EMB00000d0c32d3.PCT" 파일과 "temp.exe"가 생성 되는 것을 알 수 있고 이 후 암호화 작업이 진행 된다.
참고지침.hwp를 확인하기 위해 참고지침.hwp.lnk 파일을 분석했고 결과는 아래와 같다.
[그림 10] - 참고지침.hwp.lnk 분석
결과 Users\KAB\AppData\Local\Micorosft\Windows\Temporary Internet Files\Content.IE5\L0Z3CKRQW 경로에 위치함을 알 수 있고 해당 경로를 따라가
확인 해보았지만 파일이 삭제되어 확인할 수 없었다. 아마 랜섬웨어가 실행되면서 다운로더 역할을 한 참고지침.hwp를 삭제했음을 유추해볼 수 있다.
이는, 랜섬웨어 파일의 실행시각과 파일 시스템상에서의 참고지침.hwp가 삭제된 로그의 시간을 비교하면 확인가능하다
[그림 11] - PCT 파일 확인
참고지침.hwp.lnk가 생성되고 나서 바로 다음으로 생긴 EMB00000d0c32d3.PCT를 확인 결과,
/wp-includes/theme-compat/post.gif라는 주소를 확인할 수 있으며 아래에는 temp.exe를 다운로드 한다는 것을 유추할 수 있다.
temp.exe를 복구하고 싶었으나, 데이터가 지워져서 더 이상 복구를 진행할 수 없었다.
여기까지를 정리하면, 박 부장은 한글 악성코드라 여겨지는 참고지침.hwp를 다운 및 실행하였고 이는,
EMB00000d0c32d3.PCT를 생성하고 이 PCT 파일은 temp.exe라는 랜섬웨어 파일을 다운로드 및 실행한다
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
[그림 ~] - pstree 명령 결과
vmdk와 함께 메모리 덤프를 확인 결과, Hwp.exe는 2015-09-25 06:22:24에 실행 되었고, UTC+09:00을 감안했을 때, 참고지침.hwp를 실행시킨 시각과 일치한다.
또한 Hwp.exe는 하위 프로세스로 temp.exe를 실행하며 이는 파일의 첫 암호화 시점인 2015-09-25 15:22:48과 10초도 채 차이 나지 않으며
temp.exe의 하위 프로세스로 cmd.exe가 실행되며 당시 실행되었던 명령을 확인하기 위해 아래와 같이 cmdline를 이용했다
[그림 ~] - cmdline 명령
확인 결과, cmd.exe에서 [그림 ~]의 하위 프로세스로 존재하던 OfficeHelp.exe 파일을 실행 시키는 것을 알 수 있다
[그림 ~] - OfficeHelp.exe 추출
OfficeHelp.exe의 행위를 분석하기 위해 추출하여 일차적으로 VirusTotal에 검증을 받은 뒤, 위와 같이 실행한 결과
전형적인 파일 암호화 행위 후, 금전을 요구하는 메세지 박스를 띄우는 역할을 하는 것을 확인할 수 있다.
( * 정확한 행위 분석을 위해서는 정적분석이 필요 합니다.)
'Wargame' 카테고리의 다른 글
[LINUX] 2012 Secuwave F100 (0) | 2018.09.15 |
---|---|
[SCENARIO] CFReDS_ data leakage case (0) | 2018.07.19 |
2013 [Hack The Packet] M_01 (0) | 2018.03.21 |
2013 [Hack The Packet] L_01 (0) | 2018.03.21 |
2011 [Hack The Packet] L_03 (0) | 2018.03.21 |