
Static reverse engineering identified the embedded payload as Remcos RAT 7.2.6 Light, a commercially available remote administration tool frequently abused by threat actors. The analyzed sample is delivered through a Visual Basic Script (VBS) loader that reconstructs an embedded PE executable from a Base64 blob before writing it to disk and executing it.
Analysis identified functionality consistent with Remcos including browser artifact collection, screenshot capture, clipboard interaction, process enumeration, downloader capabilities, registry manipulation, HTTP and native socket communications, TLS support, host profiling, and modular command processing.
| Property | Value |
|---|---|
| File Type | VBScript |
| Original SHA-256 | 405ef24e22c3dd939e0e1df0f2a0a0a66dbea9c7d8b0c4fa58fe76fad8764ef8 |
| Local Analysis Name | Renamed locally for analysis |
| Property | Value |
|---|---|
| File Name | hepi8.exe |
| SHA-256 | 83777cd78c7b2378dcdde7556591d4c33464e24551546cb8bd15f976dda0c83d |
| Architecture | PE32 (x86) |
| Size | 472,064 bytes |
| Compiler Timestamp | Thu Jun 18 14:46:29 2026 |
| Sections | 7 |
| GUI | Windows GUI |
| Signed | No |
| NX Compatible | No |
| Relocations | None |
The VBS wrapper performs only four operations:
Decodes an embedded Base64 blob.
Reconstructs the embedded PE executable.
Writes the executable to %TEMP%\hepi8.exe.
Executes the payload.
No networking, persistence, credential collection, or browser interaction logic exists within the script itself.
VBS Loader
│
▼
Embedded PE Payload
│
┌──────────────┬──────────────┬──────────────┐
│ │ │
▼ ▼ ▼
Browser Networking Host Profiling
Collection Engine
│ │ │
▼ ▼ ▼
Browser HTTP / TCP GeoIP Lookup
Profiles TLS Client
│ │
▼ ▼
Upload Engine Session Initialization
│
▼
Browser Cleanup
│
▼
Screenshot • Clipboard • Process Enumeration
Static analysis identified dedicated support for:
Google Chrome
Microsoft Edge
Brave Browser
Opera
Opera GX
Mozilla Firefox
Internet Explorer
Observed browser paths include:
\Google\Chrome\User Data
\Microsoft\Edge\User Data
\BraveSoftware\Brave-Browser\User Data
\Opera Software\Opera Stable
\Opera Software\Opera GX Stable
\Mozilla\Firefox\Profiles\
Observed browser artifacts include:
Login Data
Cookies
Network\Cookies
StoredLogins
cookies.sqlite
logins.json
Function
fcn.0040ad02
Reads Explorer User Shell Folder registry values
Expands environment variables
Resolves browser profile directories
Dispatches browser-specific collection modules
Invokes Internet Explorer cookie processing when applicable
Records browser processing status
Function
fcn.0040a35f
Creates the Chrome collection context before delegating processing to:
fcn.0040a25c
Observed references include:
Chrome
\Google\Chrome\User Data
Equivalent collection routines exist for Edge, Brave, Opera, Opera GX, Firefox and Internet Explorer.
Function
fcn.0040a25c
Shared browser processing routine responsible for:
Login Data
StoredLogins
Browser profile handling
Delegates artifact processing to:
fcn.00409f76
Function
fcn.00409d90
Determines whether browser artifacts are present by checking for:
Login Data
Cookies
Network\Cookies
Returns a Boolean result used by the processing engine.
Function
fcn.00409f76
Approximate size:
742 instructions
Responsibilities include:
Browser artifact validation
Artifact enumeration
Path construction
Database processing
Cleanup
Status reporting
Observed execution states:
Not Found
Found, Cleared
Found, Retrying Later
The retry path likely handles locked browser databases while browsers remain active.
The routine invokes:
DeleteFileW
indicating cleanup after processing.
Function
fcn.0040b20a
Iterates browser structures using fixed 24-byte records before forwarding them to:
fcn.0040b564
Likely responsible for traversing internal browser collections.
Function
fcn.0040769c
Responsible for uploading collected files.
Observed APIs:
CreateFileW
ReadFile
GetFileSizeEx
SetFilePointerEx
Files are transferred in approximately 100,000-byte chunks.
Observed status messages:
Uploading file to Controller:
Uploaded file:
Failed to upload file:
Function
fcn.0041666d
Generic HTTP communication routine.
Observed APIs:
InternetOpenW
InternetOpenUrlW
InternetReadFile
The routine accepts caller-supplied URLs and downloads their contents into an internal buffer rather than being dedicated to a single endpoint.
Cross-references demonstrate that it is used for victim geolocation through the embedded GeoIP service.
Function
fcn.004016a3
Initializes the internal networking context.
Responsibilities include:
Socket creation
Session state initialization
Buffer allocation
Event creation
Connection object initialization
This routine prepares the networking structures used by later communication components.
Function
fcn.00401745
Implements connection establishment and secure communications.
Observed capabilities include:
connect()
TLS handshake
Peer authentication
Session establishment
Connection cleanup
Error handling
Observed diagnostic strings include:
TLS Handshake…
TLS Authentication Failed
TLS Error 1
TLS Error 2
TLS Error 3
TLS On
TLS Off
Static analysis indicates the malware incorporates its own TLS communication layer in addition to WinINet functionality.
Function
fcn.004110ca
Primary networking initialization routine.
Observed responsibilities include:
Sleep-based beacon delay
Configuration loading
Host metadata collection
GeoIP integration
Session initialization
Connection status reporting
Observed strings include:
Connecting |
Connected |
Connection Error
7.2.6 Light
Static analysis indicates this function prepares the malware’s initial communication with the remote controller, although the complete protocol was not reconstructed.
Function
fcn.00414a15
Captures the desktop and constructs a bitmap entirely in memory.
Observed APIs:
CreateDCA
CreateCompatibleDC
CreateCompatibleBitmap
StretchBlt
BitBlt
DrawIcon
GetDIBits
The implementation manually constructs a valid BMP image before returning the completed bitmap.
Observed APIs include:
OpenClipboard
GetClipboardData
EmptyClipboard
CloseClipboard
Multiple clipboard access attempts indicate dedicated clipboard interaction capability.
Function
fcn.0040d977
Enumerates running processes using:
CreateToolhelp32Snapshot
Process32FirstW
Process32NextW
Current static analysis indicates process inventory generation rather than process termination.
Function
fcn.004170ad
Determines the privilege level of the current process.
The function invokes GetCurrentProcess() before calling a dynamically resolved privilege-check routine. The resulting privilege flag is cached and referenced later by other components.
Function
fcn.004103a3
Generic registry modification wrapper.
Observed APIs:
RegCreateKeyW
RegSetValueExW
RegCloseKey
Although registry modification capability is present, static analysis did not identify a confirmed persistence path or autorun registry key.
Observed helper:
URLDownloadToFileW
Two independent download call sites were identified, indicating dedicated download functionality separate from the HTTP communication layer.
Victim geolocation is performed using:
https://pro.ip-api.com/line/?key=QPVvv1rHQJD2pd2&fields=25948155
Cross-references show this URL is supplied to the generic HTTP communication routine before the returned information is incorporated into the malware’s host profiling workflow.
InternetOpenW
InternetOpenUrlW
InternetReadFile
URLDownloadToFileW
getaddrinfo
socket
connect
Browser profile access
Clipboard APIs
BitBlt
StretchBlt
DrawIcon
GetDIBits
RegCreateKeyExW
RegCreateKeyW
RegOpenKey
RegSetValueExW
CreateToolhelp32Snapshot
Process32FirstW
Process32NextW
CreateFileW
ReadFile
DeleteFileW
GetFileSizeEx
SetFilePointerEx
CryptAcquireContextA
CryptGenRandom
CryptReleaseContext
Static reverse engineering confirms that the recovered executable is Remcos RAT 7.2.6 Light, delivered through a self-contained VBS loader that reconstructs and executes an embedded PE payload.
Analysis identified a mature and modular architecture composed of independent components responsible for browser artifact collection, browser cleanup, host profiling, screenshot capture, clipboard interaction, process enumeration, privilege detection, registry manipulation, downloader functionality, HTTP communications, native Winsock networking, TLS session establishment, and controller communications.
Browser collection routines support multiple browser families including Google Chrome, Microsoft Edge, Brave Browser, Opera, Opera GX, Mozilla Firefox, and Internet Explorer. Rather than implementing duplicated logic for each browser, dedicated collection modules delegate processing to a shared browser artifact engine responsible for enumeration, validation, upload, cleanup, and operational status reporting.
Networking functionality extends beyond standard WinINet usage. The malware incorporates both generic HTTP retrieval routines and a native socket-based communication layer supporting DNS resolution, TCP connectivity, optional TLS transport, session initialization, and structured controller communications. Host profiling is further supplemented through integration with an external GeoIP service.
Although browser credential theft represents a significant capability, the recovered functionality demonstrates that the malware is a complete remote access framework rather than a standalone information stealer. The separation of browser collection, networking, controller communications, downloader functionality, and host interaction into discrete modules reflects a mature and reusable codebase designed to support a wide range of operator-controlled tasks.
Dynamic analysis would be required to fully reconstruct the command protocol, runtime task execution, persistence behavior, and browser credential decryption workflow. However, the recovered static functionality alone provides sufficient evidence to characterize the sample as a full-featured Remcos RAT deployment.
405ef24e22c3dd939e0e1df0f2a0a0a66dbea9c7d8b0c4fa58fe76fad8764ef8
83777cd78c7b2378dcdde7556591d4c33464e24551546cb8bd15f976dda0c83d
%TEMP%\hepi8.exe
https://pro.ip-api.com/line/?key=QPVvv1rHQJD2pd2&fields=25948155
This assessment is based exclusively on static reverse engineering of the recovered executable.
Dynamic execution was intentionally excluded. Consequently, the following behaviors remain unconfirmed:
Complete command-and-control protocol
Runtime command dispatch
Browser credential decryption workflow
Persistence mechanism
Secondary payload retrieval
Operator task execution
The analyzed VBS script functions exclusively as a delivery wrapper for Remcos RAT 7.2.6 Light. Its sole purpose is to decode an embedded Base64-encoded PE payload, reconstruct the executable, write it to disk, and launch it.
Static reverse engineering of the embedded executable revealed a mature remote access framework composed of modular components responsible for browser artifact collection, browser cleanup, screenshot capture, clipboard interaction, host profiling, privilege detection, process enumeration, registry modification, downloader functionality, HTTP communications, native Winsock networking, optional TLS transport, and structured controller communications.
The browser collection subsystem supports multiple browser families through dedicated discovery routines that feed a shared processing engine responsible for artifact enumeration, upload, cleanup, and status reporting. Independent networking components implement both WinINet-based HTTP retrieval and native socket communications, while additional modules provide victim profiling and remote administration capabilities consistent with the Remcos RAT family.
Although dynamic execution was intentionally excluded from this analysis, the recovered functionality demonstrates that the sample is a complete deployment of Remcos RAT 7.2.6 Light rather than a simple browser credential stealer or downloader. The modular architecture, extensive subsystem separation, embedded version information, and broad feature set indicate a mature and reusable malware framework capable of supporting comprehensive remote access operations.
Component: Networking
Purpose:
Initializes the malware’s internal networking session, allocates buffers, creates synchronization objects, and prepares the socket state.
Confidence: High
Component: Secure Communications
Purpose:
Establishes TCP connections, performs the TLS handshake, authenticates the remote endpoint, and initializes encrypted communications.
Confidence: High
Component: Upload Engine
Purpose:
Uploads collected files to the controller using approximately 100 KB chunks while reporting upload status.
Confidence: High
Component: Browser Discovery
Purpose:
Locates browser artifacts including Login Data, Cookies, and Network\Cookies before processing begins.
Confidence: High
Component: Browser Processing Engine
Purpose:
Core browser processing routine responsible for artifact validation, enumeration, upload preparation, cleanup, and status reporting.
Confidence: High
Component: Browser Processing
Purpose:
Shared browser artifact handler used by multiple browser-specific collection modules.
Confidence: High
Component: Chrome Collector
Purpose:
Initializes Google Chrome collection, locates browser profiles, and invokes the shared browser processing engine.
Confidence: High
Component: Browser Dispatcher
Purpose:
Master browser orchestration routine responsible for locating browser profiles, dispatching browser-specific modules, and coordinating artifact processing.
Confidence: High
Component: Browser Engine
Purpose:
Traverses browser data structures using fixed-size records before forwarding them for processing.
Confidence: Medium
Component: Browser Engine
Purpose:
Processes browser data structures supplied by the browser walker.
Confidence: Medium
Component: Process Enumeration
Purpose:
Enumerates running processes using the ToolHelp32 API and constructs an inventory of active processes.
Confidence: High
Component: Registry Operations
Purpose:
Generic wrapper for registry creation and modification using RegCreateKey and RegSetValueEx APIs.
Confidence: High
Component: Controller Initialization
Purpose:
Initializes communications with the controller by loading configuration, collecting host metadata, performing GeoIP profiling, and preparing the initial session.
Confidence: High
Component: Screenshot Capture
Purpose:
Captures the desktop using GDI functions and constructs an in-memory bitmap image.
Confidence: High
Component: HTTP Communications
Purpose:
Generic HTTP client responsible for retrieving remote resources, including victim geolocation information.
Confidence: High
Component: Privilege Detection
Purpose:
Determines whether the malware is executing with elevated privileges and caches the result for later use.
Confidence: High
Function
fcn.004167d9Loads the malware’s embedded configuration resource directly from the executable.
Resource Name : SETTINGS
Resource Type : RT_RCDATA (10)The routine retrieves the raw configuration blob stored inside the executable’s resources and returns both its memory address and size. The configuration is not hardcoded within the executable but embedded as a dedicated SETTINGS resource, which is later parsed by higher-level initialization routines.
This confirms the malware separates configuration loading from configuration parsing, a common design used by modular RAT families such as Remcos.
Function
fcn.004156e7Initializes the malware’s service management subsystem by dynamically resolving service-related functionality.
GetSvc
StartSvc
StopSvc
PauseSvc
ResumeSvc
RestartSvc
SetSvcStartupRather than directly implementing service management operations, the malware dynamically resolves and caches pointers to these exported functions during initialization.
The routine validates that all required service functions are successfully resolved before enabling the service management subsystem.
This architecture suggests the malware supports remote service administration through command dispatch rather than performing these actions during startup.
Function
fcn.00417c95Enumerates installed software by traversing the Windows uninstall registry database.
HKLM\Software\Microsoft\Windows\CurrentVersion\UninstallDisplayName
Publisher
DisplayVersion
InstallLocation
InstallDate
UninstallStringThe routine iterates every installed application under the Windows uninstall registry key, collecting metadata associated with each entry.
The collected information is serialized into an internal buffer, indicating preparation for transmission to the remote controller as part of host inventory collection.
No evidence of software removal or modification was observed during static analysis.
Function
fcn.00414322Initializes the screenshot subsystem and prepares desktop capture operations.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\SystemPromptOnSecureDesktopThe routine initializes GDI+ before preparing the screenshot subsystem.
It also queries the Windows PromptOnSecureDesktop policy, which determines whether UAC elevation prompts are displayed on the isolated Secure Desktop.
This behavior suggests the malware accounts for Secure Desktop transitions when performing screenshot capture, although no evidence was observed indicating modification of the registry value.
Function
fcn.004170adDetermines the privilege level of the current process.
GetCurrentProcess()The function invokes a dynamically resolved privilege-check routine using the current process handle.
The resulting privilege state is cached globally for reuse by other components, avoiding repeated privilege checks throughout execution.
Cross-references indicate the cached value is later consulted by networking and process management routines.
CreateMutexAmain
fcn.0040b89aThe malware creates a named mutex during initialization.
Although the mutex name has not yet been recovered, the presence of mutex creation strongly suggests single-instance enforcement to prevent multiple copies of the malware from executing simultaneously.
The recovered control flow indicates a clear separation between configuration loading and configuration parsing.
main()
│
▼
Initialization
│
▼
fcn.004167d9
Load SETTINGS Resource
│
▼
Configuration Parser
│
▼
Runtime InitializationThis modular design allows configuration updates without modifying the executable code itself.
Beyond browser artifact collection, static analysis confirms the malware gathers broader host intelligence including:
This significantly expands the malware’s profiling capabilities beyond simple browser credential theft.