c6193af60d125c62d35c9507fc640c5f8b06d6683621d3de1993fe056eb607a6remcos: c6193af6 — v1.7 Pro, enlarged 593-byte SETTINGS RCData
Executive Summary
V1.7 Pro Remcos RAT (Breaking-Security.Net) compiled Jan 5 2017. 98 KB PE32 GUI, MSVC 6.0 / MSVCP60, standard IAT, no packer. Distinguishing feature: SETTINGS RCData resource is 593 bytes — 2.4x larger than the 245-byte sibling 0f723826, indicating an expanded C2 or feature configuration. Static-only (CAPE skipped — no Windows guest). See remcos for cluster-wide TTPs and replication notes.
What It Is
| Field | Value |
|---|---|
| SHA-256 | c6193af60d125c62d35c9507fc640c5f8b06d6683621d3de1993fe056eb607a6 |
| File name | Backdoor.exe |
| Type | PE32 executable (GUI) Intel 80386, 4 sections ^[file.txt] |
| Size | 98 304 bytes ^[triage.json] |
| Linker | 6.0, timestamp 0x586EA375 (Thu Jan 5 19:50:13 2017 UTC) ^[pefile.txt:32] ^[exiftool.json:15] |
| Compiler | MSVC C++ with MSVCP60.dll C++ standard library ^[pefile.txt:495] |
| Entry point | 0xFD88 ^[pefile.txt:50] |
| Signed | No ^[rabin2-info.txt:27] |
| Packer | None ^[binwalk.txt] |
| Overlay | None ^[rabin2-info.txt:23] |
| Capa | Failed — signature path missing ^[capa.txt] |
| FLOSS | Failed — argument parse error ^[floss.txt] |
This is the same build toolchain and version string as sibling 0f723826. The delta is the enlarged encrypted config — see below.
How It Works
RCData Config Extraction
At startup main calls FindResourceA("SETTINGS", RT_RCDATA) → LoadResource → LockResource → SizeofResource, then decrypts the blob in place. ^[r2:main] The resulting plaintext contains C2 host, port, mutex name, feature flags, and install paths. The SETTINGS resource in this sample is 0x251 bytes (593 decimal), versus 0xF5 (245) in 0f723826. ^[pefile.txt:703-706] This suggests either a longer C2 hostname, additional feature toggles, or extra credentials baked into the builder profile. The config is never written to disk — it lives only in memory buffers allocated via malloc and wrapped in std::string. ^[r2:fcn.00407c53]
Persistence & Evasion
Standard Remcos pattern: singleton mutex Remcos_Mutex_Inj, registry Run / Winlogon / Explorer Policies\Run keys, and the eventvwr.exe UAC bypass via Software\Classes\mscfile\shell\open\command. ^[strings.txt:66-69] ^[strings.txt:139-144] Sandbox string checks for SbieDll.dll, VBOX__, PROCMON_WINDOW_CLASS, PROCEXPL. ^[strings.txt:40-43] No debugger timing checks observed.
Decompiled Behavior
Entry point entry0 (0x0040FD88) is a standard MSVCRT CRT bootstrap: __set_app_type, __getmainargs, GetStartupInfoA, then calls main. ^[r2:entry0]
main (0x00407452) — key observations from radare2 pseudocode:
- Constructs several
std::basic_stringobjects via MSVCP60 constructors. ^[r2:main] - Calls
fcn.00407c53to read and decrypt the RCData SETTINGS blob into astd::string. ^[r2:main] - Calls
fcn.00408510which manipulates the decrypted string buffer (likely parsing key-value pairs). ^[r2:main] - Opens registry key
ProductNameunderSOFTWARE\Microsoft\Windows NT\CurrentVersionto fingerprint the OS. ^[r2:main] - Checks mutex
Remcos_Mutex_InjviaOpenMutexA; if absent, creates it viaCreateMutexA. ^[r2:main] - If mutex already exists, exits silently (single-instance enforcement). ^[r2:main]
fcn.00408e97 — registry-open wrapper:
- Thin wrapper around
RegOpenKeyExAwithKEY_READ(0x20019). ^[r2:fcn.00408e97] - Xrefs from
mainandfcn.00405f6c, suggesting it is used for both initial system fingerprinting and later persistence checks.
Process Hollowing Engine
Imports include NtUnmapViewOfSection, VirtualAllocEx, WriteProcessMemory, SetThreadContext, ResumeThread. ^[pefile.txt:247-248] The mutex name suffix _Inj and these imports confirm a process-hollowing module for injecting the RAT into explorer.exe or userinit.exe. ^[strings.txt:141-142] ^[strings.txt:155-156]
C2 Infrastructure
The C2 configuration is runtime-decrypted from RCData; no plaintext host/port in strings. Observable protocol artifacts:
- WS2_32.dll raw TCP imports:
socket,connect,send,recv,htons,gethostbyname,WSAStartup. ^[pefile.txt:582-590] - Message framing delimiters:
[DataStart]and[DataStart]0000. ^[strings.txt:59-60] - Keep-alive heartbeat with configurable timeout (
%02i:%02i:%02i:%03i [KeepAlive]). ^[strings.txt:61] - Plaintext command tokens visible in strings:
upload,download,screenshotdata,scrcap,miccapture,proclist,keepaliveoff,ping,clearlogins,autogetofflinelogs,updatefromurl,pwgrab. ^[strings.txt:205-275] - Fallback HTTP download via
URLDownloadToFileA(urlmon.dll) andInternetOpenUrlA/InternetReadFile(wininet.dll). ^[pefile.txt:599-633]
No TLS wrappers in the IAT; traffic is raw TCP or plaintext HTTP fallback.
Interesting Tidbits
- Builder opsec: the binary retains the version string
1.7 Proand vendor stringBreaking-Security.Net. ^[strings.txt:203] ^[strings.txt:297] - The 593-byte SETTINGS blob is the largest Remcos RCData observed in this corpus to date (prior sibling 0f723826: 245 bytes; another sibling 5a1e57f7: 531 bytes). This suggests an active builder with varying config sizes per campaign.
- C++ STL footprint is unusually heavy for a 2017 commodity RAT:
std::basic_string,std::basic_ifstream/ofstream/fstream,std::ios_base. The builder likely emits C++ source rather than packing a scripted payload. - Padding strings at end of
.rsrc(PADDINGXXPADDING...) are resource compiler artifacts, not a packer. ^[strings.txt:624] - The
floss.txtfailure was an argument-parsing bug (--nogot the binary path), not a sample issue. capa.txtfailure was missing signatures, not a sample issue.
How To Mess With It (Homelab Replication)
This is a cluster sibling — replication steps are identical to 0f723826. See remcos for the build recipe. To study the enlarged config:
- Extract raw RCData:
pedump --resource SETTINGS c6193af6.bin > settings.bin - Patch
mainin x32dbg to dump the decrypted buffer afterfcn.00407c53returns. - Compare config keys against the 245-byte sibling to identify new fields.
Deployable Signatures
YARA
rule remcos_v17_pro_settings_rcdata {
meta:
description = "Remcos RAT v1.7 Pro with SETTINGS RCData resource"
author = "triage-auto"
date = "2026-06-05"
sha256 = "c6193af60d125c62d35c9507fc640c5f8b06d6683621d3de1993fe056eb607a6"
strings:
$a = "Remcos_Mutex_Inj" ascii wide
$b = "[DataStart]" ascii
$c = "Breaking-Security.Net" ascii
$d = "REMCOS v" ascii
$e = "1.7 Pro" ascii
$f = "eventvwr.exe" ascii
$g = "Software\\Classes\\mscfile\\shell\\open\\command" ascii
$h = "SETTINGS" wide
condition:
uint16(0) == 0x5A4D and
5 of them and
pe.number_of_sections == 4 and
pe.sections[0].name == ".text" and
pe.sections[3].name == ".rsrc"
}
Sigma (Behavioral)
title: Remcos RAT Process Spawn Pattern
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- 'Software\Classes\mscfile\shell\open\command'
- 'eventvwr.exe'
ParentImage|endswith:
- '\Backdoor.exe'
condition: selection
falsepositives:
- Legitimate eventvwr troubleshooting
level: high
IOC List
| Type | Value |
|---|---|
| SHA-256 | c6193af60d125c62d35c9507fc640c5f8b06d6683621d3de1993fe056eb607a6 |
| ssdeep | 1536:whhW0YTGZWdVseJxaM9kraLdV2QkQ1TbPX8IHOCkIsI4ESHNTh9E+JP19qkP6ZrR:WhzYTGWVvJ8f2v1TbPzuMsIFSHNThy+c ^[ssdeep.txt] |
| tlsh | ADA3C617BD4BD0A3E42591F186826BA18FBC7C333646213BD74FC9419DB8486D452EFA ^[tlsh.txt] |
| Mutex | Remcos_Mutex_Inj |
| Registry (UAC bypass) | HKCU\Software\Classes\mscfile\shell\open\command |
| Registry (persistence) | HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ |
| Registry (persistence) | HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\ |
| Registry (persistence) | HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit |
| Files | %TEMP%\install.bat, %TEMP%\uninstall.bat, %TEMP%\update.bat |
| Network | Raw TCP sockets + HTTP fallback via URLDownloadToFileA / InternetOpenUrlA |
Behavioral Fingerprint
On launch the binary calls FindResourceA("SETTINGS", RT_RCDATA), decrypts a ~245–600 byte config into memory, checks OpenMutexA("Remcos_Mutex_Inj"), queries registry for ProductName, and begins C2 connection attempts over raw TCP with [DataStart] framing. If not admin, it attempts the eventvwr.exe UAC bypass by writing HKCU\Software\Classes\mscfile\shell\open\command. Persistence is established via Run keys and Winlogon Userinit hijack.
Detection Signatures
ATT&CK mapping is identical to sibling 0f723826 and the broader Remcos cluster. See remcos for the full technique grid and detection mappings.
References
- remcos — entity page for the Remcos RAT family
- embedded-rcdata-config — concept page for encrypted RCData staging
- eventvwr-uac-bypass — technique page for the mscfile hijack
/intel/analyses/0f723826986628a3a4a4ddb32bffa158a6a662483339baa438c55b147e706975.html— sibling with 245-byte SETTINGS
Provenance
- file.txt, exiftool.json, pefile.txt, strings.txt, rabin2-info.txt, binwalk.txt, ssdeep.txt, tlsh.txt, yara.txt
- metadata.json, triage.json, dynamic-analysis.md (CAPE skipped — no Windows guest)
- capa.txt (signature failure), floss.txt (argument parse error)
- radare2 analysis:
mcp_radare2_open_file+aalevel 3 +pdfon entry0, main, fcn.00407c53, fcn.00408510, fcn.00408e97