티스토리 뷰
sample
https://www.virustotal.com/gui/search/cd6a12cc693e98e4f47d2161e9fe99d04895472d964575c749bbdd460f0fefdc
요약 (summary)
"주간 국제 안보군사 정세"로 위장한 한글악성코드가 발견됨.
Hwp malicious code disguised as "international security military information" hunted.
쉘코드 동작
PostScript 취약점으로 쉘코드 로드 -> 1차 복호화 수행 -> 2차 복호화 수행(인젝션할 쉘코드) -> inexplorer.exe 프로세스를 생성해 쉘코드 인젝션 -> 다운로드할 바이너리의 주소 디코딩 -> 파일 다운로드 -> 체크섬 검사 -> 다운로드 받은 쉘코드 실행 -> 1, 2차 복호화를 통해 DLL파일 복호화 -> HimTrary.dll 파일로 저장 -> LoadLibraryExA("HimTray.dll") -> 패킹이 덕지덕지 되어있어 분석하지 않음 (정보탈취를 위해 daum 메일을 사용한다고 제보 받음!)
문서정보
"국제안보군사정세"내용으로 위장한 한글 악성코드가 발견되었다.
마지막 수정날짜는 2019년 2월3일 오후 2시 55분으로 최근에 수행된 공격으로 추측된다.
분석
analysis
hwp파일 내부에는 BIN0008.eps 라는 이름의 포스트 스크립트 파일이 존재한다.
eps파일 내부에는 인코딩된 쉘코드와 디코딩을 수행하는 루틴이 존재한다.
디코딩 키 : 0xCC
디코딩된 쉘코드는 취약점을 일으키는 스크립트와 쉘코드가 존재한다.
취약점을 통해 쉘코드가 메모리에 로드되면 쉘코드의 특정 부분에 대해 두번의 복호화를 수행한다. 첫번째 복호화에서는 인젝션을 수행하는 코드를 복호화 한다.
두번째 복호화에서는 인젝션되는 쉘코드를 복호화 한다.
iexplorer.exe 프로세스를 실행한 뒤 쉘코드를 인젝션하고 쓰레드를 생성해 추가 악성행위를 수행한다.
phase2
인젝션된 바이너리 끝부분에 존재하는 암호화된 주소를 불러와 복호화 한다.
download c2 :
복호화된 주소에서 추가 악성코드를 다운로드 한다.
다운받아진 추가악성코드는 4바이트의 checksum값이 존재하며 이 값을 통해 정상적인 악성코드가 다운로드 되었는지 확인한다.
checksum : 0xB8900C34
다운로드된 악성코드도 xor연산을 통해 복호화를 수행한 뒤 실행중인 프로세스 목록에 특정 문자열이 존재하는지 확인한다.
문자열 : v3, V3 (ahnlab의 백신을 탐지하려는 의도로 추정됨)
이후 두번의 복호화 과정을 수행한다. 최종 복호화된 파일은 DLL 파일이다
복호화된 파일은 특정위치에 "HimTray.dll"이라는 이름으로 드랍된다. 이후 LoadLibraryEx함수를 통해 DLL파일을 불러와 악성행위를 수행한다.
생성된 DLL파일은 패킹이 되어있다. (시간이 오래걸릴거 같아 분석은 추후 진행 예정)
※ DLL파일은 추가로 악성코드를 드랍하며 정보유출을 위해 daum메일을 사용한다. (제보감사합니다!)
IoC
filename : 2.hwp
md5 : 48d9e625ea3efbcbef3963c8714544a7
sha1 : ad6b7c7b61d662ab653c25fe850e2406f283c919
sha256 : cd6a12cc693e98e4f47d2161e9fe99d04895472d964575c749bbdd460f0fefdc
Download C2 : hxxp://congre.co.kr/_Ext/adodb5/perf/com1/download1/down.php
himTray.dll
md5 : 5cc715e6a91385c5c092ff79c73592aa
sha1 : 64c9e04e9dd12796e76436364967ba85f2527a33
sha256 : a9c028a68deb18d900701a92bfd432acfee275c8b66cd196402c41ab0621fe39