그냥저냥

[HWP Malware] HWP_ParaText 취약점을 이용한 한글문서 분석 본문

Malware

[HWP Malware] HWP_ParaText 취약점을 이용한 한글문서 분석

ex3llo 2016. 8. 5. 02:35


이용하는 한글 취약점은 한수원 샘플이랑 동일하며, 한글2010 기준으로 8.5.8.1443 버전 이하인 경우 해당 공격에 취약하다.


한글 문서 분석에 사용한 툴은 hwpscan2 v0.27 이며, 원래는 콘솔버전인 v0.21을 선호하지만 외부에서 더이상 구할 수가 없는듯하다 ㅠㅠ

아쉬운대로 GUI 버전을 이용하자


우선 hwpscan2 프로그램으로 취약점을 스캔한다.

버전이 업데이트 되면서 Vulnerability 부분에 Exploit.HWP.Heuristic 이라고 나오는데, v0.23 에서는 Exploit.HWP.Generic.43 이라고 나온다.



취약점 진단명인 Exploit.HWP.Generic.43 에서 맨뒤 43이 의미하는 것은 취약한 TagID 를 의미한다.

해당 TagID에 대한 정보는 한컴에서 공개한 한글 포맷 문서를 참조하면 알 수 있으며, 아래와 같은 계산을 통해

43에 해당하는 TagID는 "HWPTAG_PARA_TEXT" 인 것을 알 수 있다.



Body Text - Section2 의 Hwp Tag 탭으로 가면 HWPTAG_PARA_TEXT 태그에 대한 비정상적인 

Size 값 (0x120035A) 이 출력되는 것을 볼 수 있다. 비정상적인 부분의 Offset을 보면 0x37A8 임을 알 수 있으며, 압축 해제된 (Decompress)

Section2 의 0x37A8 위치로 가면 해당 위치부터 Heap Spray 코드 (블록친 부분) 가 기록된 것을 볼 수 있다.




쭉 내리다보면 맨 아래지점에 실제 악의적인 행위를 수행하는 ShellCode (블록친 부분) 가 존재한다



ShellCode만 따로 추출해서 IDA 로 분석해보면 특정 URL에 접속하여 파일을 다운로드한 후, 실행하는 것을 알 수 있다.

파일명은 abcd.exe 로 저장하며, urlmon.dll 모듈의 'URLDownloadToFileA' API함수를 이용한다.



접속지 : hxxp://j2kiphmeb4m4ek66.onion.city/4.php?id=334



(이번 글의 샘플과 한수원 샘플이 이용하는 한글 취약점은 동일하지만, 한수원 샘플의 경우 ShellCode 자체가 암호화되어있으며 복호화 과정을 거친 후 외부에서 파일을 다운로드 하지않고 wsss.dll 파일을 드롭한다. 드롭된 파일이 실행되면서 악의적인 기능을 수행한다는 차이가 있다.)

Comments