Derusbi, also known as Photo, is a modular remote-access trojan and backdoor used by multiple China-linked threat clusters since at least 2008. Public reporting has associated variants with APT19/Deep Panda and Winnti-related intrusions. It targets Windows and Linux systems; server-side Windows variants have been deployed alongside the HDRoot bootkit in intrusions affecting organizations including those in South Korea, Southeast Asia, Russia, and the United Kingdom.
Derusbi supports interactive remote command execution, file and directory operations, file transfer, service, process, and Registry management, port forwarding, and proxy functionality. It performs host reconnaissance, including collection of process identifiers, usernames, and Registry information; Linux variants also check whether execution is under the root account. Documented surveillance functions include screen capture and keystroke logging. Some variants inject into SSH processes, while Windows variants may load kernel drivers to conceal files and network traffic, redirect specially crafted inbound traffic to a local listener, and remove artifacts, including overwriting deleted Linux kernel modules.
Windows variants establish persistence through service modification or Registry-based execution, including proxying execution through regsvr32. Certain samples use vulnerable signed drivers to weaken Windows code-integrity protections. Derusbi can obfuscate command-and-control traffic using variable XOR keys, communicate over HTTP as a fallback channel, and operate either by connecting to command-and-control infrastructure or in listening mode. APT19-associated variants collect detailed host, user, network, locale, hardware, and display information, encode it before transmission, and can retrieve and execute a follow-on DLL payload in memory.
Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.
4 CVEs Mallory has correlated with this family across public research and vendor advisories. Each row links to the full Mallory page for that vulnerability.
FireEye reported that APT19 was active in 2017 when they used 3 different methods to compromise targets: CVE-2017-0199 vulnerability, macro-enabled Microsoft Excel (XLSM) documents and an application whitelisting bypass to the XLSM documents. | In this blog post we’re presenting a full analysis of a DLL backdoor also reported publicly as Derusbi. This particular piece of malware is associated with the actor known as APT19
PHOTO, BADFLICK, and CHINA CHOPPER are among the most frequently observed backdoors used by APT40.
PHOTO, BADFLICK, and CHINA CHOPPER are among the most frequently observed backdoors used by APT40.
PHOTO, BADFLICK, and CHINA CHOPPER are among the most frequently observed backdoors used by APT40.
6 distinct threat actors attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.
Derusbi variants have been seen that use Registry persistence to proxy execution through regsvr32.exe.
Axiom Derusbi 9002 RAT BLACKCOFFEE Derusbi Ghost RAT HiKit PlugX ZXShell APT17
This is the malware family known as server-side Derusbi, which we observed during several Winnti-related incidents.
In this blog post we’re presenting a full analysis of a DLL backdoor also reported publicly as Derusbi. This particular piece of malware is associated with the actor known as APT19
The group uses a variety of TTPs including but not limited to LoTL tactics, phishing, ransomware, cryptocurrency mining, supply chain attacks, China Chopper, Gh0st RaT, PlugX, HighNoon, Derusbi, BioPass RAT, RedXOR, and ShadowPad.
Tools Nanhaishu, Orz, SeDll, Cobalt Strike, GreenCrash, AIRBREAK, BlackCoffee, China Chopper, FUSIONBLAZE, HOMEFRY, MURKYTOP, Metasploit / Meterpreter, ScanBox, Derusbi Trojan, Derusbi, Metasploit
37 distinct techniques documented for this family, organized by ATT&CK tactic.
Execution of arbitrary files or shell commands on infected system ... The library is run by executing the following command line: rundll32.exe %Systemroot%\Help\perfc009.dat R32 <random_number> ... cmd.exe /c net stop sharedaccess
FireEye reported that APT19 was active in 2017 when they used 3 different methods to compromise targets: CVE-2017-0199 vulnerability, macro-enabled Microsoft Excel (XLSM) documents and an application whitelisting bypass to the XLSM documents.
FireEye reported that APT19 was active in 2017 when they used 3 different methods to compromise targets: CVE-2017-0199 vulnerability, macro-enabled Microsoft Excel (XLSM) documents and an application whitelisting bypass to the XLSM documents.
Services management: list of services, creating, starting, stopping, deleting services
altered files on legitimate update servers or DNAT configuration changes in iptables resulted in software update requests being redirected to an illegitimate server
It puts a string with its own path to the “ServiceDll” value in the registry that associates with the “iphlpsvc” or “wuauserv” system service depending on Windows version, and saves the original value of “ServiceDll” in encrypted form to the “Security” parameter of the same registry key.
The malware stores its configuration data in encrypted form in the “Security” value of the HKLM\SOFTWARE\Microsoft\Rpc registry key.
The malware registers itself as a service if it has run with administrator privileges... There is another service called WinHelpSrv that is added to this list... The file creates a new service named WinHelpSrv (Windows Helper Service)... The malicious DLL is registered as a service by adding the “ServiceDll” value that points to its location.
Aria-body has the ability to inject itself into another process such as rundll32.exe and dllhost.exe... BlackEnergy injects its DLL component into svchost.exe... ComRAT has injected its orchestrator DLL into explorer.exe... Stuxnet injects an entire DLL into an existing, newly created, or preselected trusted process.
Uroburos/Turla exploited a VBox driver; Derusbi exploited a Novell driver; Slingshot exploited a Sandra driver. Duqu 2.0 used CVE-2015-2360 in win32k.sys for kernel execution.
The malware registers itself as a service if it has run with administrator privileges... There is another service called WinHelpSrv that is added to this list... The file creates a new service named WinHelpSrv (Windows Helper Service)... The malicious DLL is registered as a service by adding the “ServiceDll” value that points to its location.
It copies itself to the folder “%System32%\wbem“, with a name consisting of “ntfs” + three random letters, and a “.mof” extension... Property Value FileDescription ProfSvc ... CompanyName Microsoft Corporation
Aria-body has the ability to inject itself into another process such as rundll32.exe and dllhost.exe... BlackEnergy injects its DLL component into svchost.exe... ComRAT has injected its orchestrator DLL into explorer.exe... Stuxnet injects an entire DLL into an existing, newly created, or preselected trusted process.
The content repeatedly describes malware and threat actors deleting files, directories, droppers, logs, scripts, temporary files, exfiltrated archives, and uninstalling themselves to cover tracks or reduce forensic artifacts.
AppleSeed can call regsvr32.exe for execution. APT19 used Regsvr32 to bypass application control techniques. APT32 created a Scheduled Task/Job that used regsvr32.exe to execute a COM scriptlet that dynamically downloaded a backdoor and injected it into memory.
The library is run by executing the following command line: rundll32.exe %Systemroot%\Help\perfc009.dat R32 <random_number>
The malware uses an anti-analysis technique by comparing the image path of the executable with rundll32.exe. It is done to ensure that the file is not executed by a sandbox/analyst (it exits if that’s the case).
altered files on legitimate update servers or DNAT configuration changes in iptables resulted in software update requests being redirected to an illegitimate server
It puts a string with its own path to the “ServiceDll” value in the registry that associates with the “iphlpsvc” or “wuauserv” system service depending on Windows version, and saves the original value of “ServiceDll” in encrypted form to the “Security” parameter of the same registry key.
the malicious process allocates a new memory area in order to write the DLL code inside... the malware uses VirtualProtect in order to change the protection of the area... After the malicious code would be written in the new memory location, the process would pass the execution flow to the new DLL file
The content repeatedly describes malware and threat actors collecting the victim username, identifying logged-in users, running whoami, query user, quser, or similar commands to determine the current user or user sessions.
It sniffs all incoming network packets and searches them for a specially crafted signature. If found, it redirects these packets to the listening socket opened by the main malware module.
GetAdaptersInfo API is utilized to find adapter information for the local machine... The GetNetworkParams function is utilized to obtain network parameters for the local machine.
Tasklist can be used to discover processes running on a system. Numerous malware families and threat groups are described as listing running processes, collecting PIDs, checking for specific process names, or enumerating loaded modules.
Several entries describe identifying whether the current user has admin privileges, determining privilege level, identifying groups the user belongs to, or verifying execution as SYSTEM.
The content repeatedly describes malware and threat actors collecting host details such as hostname, OS version, architecture, CPU, memory, BIOS, language, and other machine characteristics; e.g., "Action RAT has the ability to collect the hostname, OS version, and OS architecture of an infected host."
Many entries describe XOR, XOR/ADD, bitwise NOT and XOR, ROR plus XOR, hexadecimal encoding after encryption, and custom encoding/obfuscation of HTTP traffic or beacons.
APT41 used the Steam community page as a fallback mechanism for C2. Bazar has the ability to use an alternative C2 server if the primary server fails. BISCUIT malware contains a secondary fallback command and control server that is contacted after the primary command and control server.
Machete has sent data over HTTP if FTP failed. Mis-Type first attempts to use a Base64-encoded network protocol over a raw TCP socket for C2, and if that method fails, falls back to a secondary HTTP-based protocol. NETEAGLE will send beacons via an HTTP POST request if the infected host is configured to a proxy.
9 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.
IPs, domains, and DNS infrastructure linked to this family.
File hashes (MD5, SHA-1, SHA-256) from samples and reports.
Other indicator types observed in public reporting.
58 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
The group uses a variety of TTPs including but not limited to LoTL tactics, phishing, ransomware, cryptocurrency mining, supply chain attacks, China Chopper, Gh0st RaT, PlugX, HighNoon, Derusbi, BioPass RAT, RedXOR, and ShadowPad.
Derusbi is listed as malware relevant to the detection's analytic stories, implying possible use of DLL side-loading or related tradecraft. No further description is provided in the content.
Associated Analytic Story ... Derusbi
Derusbi is referenced as a backdoor/RAT in suspicious execution and driver-loading detections.
Match every observed IP, domain, and hash against your live telemetry.
Named campaigns wielding this family, with evidence pinned to each claim.
CVEs this family uses for access and lateral movement.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Every documented technique, ranked by evidence weight.
Reddit, Mastodon, and CTI community discussion around this family.