Cyble reports Operation HumanitarianBait, a covert espionage campaign that uses Russian-language humanitarian aid lures to deliver a fileless Python-based infostealer through malicious LNK files and trusted platforms like GitHub Releases. The malware collects browser credentials, cookies, keystrokes, clipboard data, screenshots, Telegram sessions, and files while maintaining persistence via Windows Scheduled Tasks and enabling silent remote access through RustDesk or AnyDesk. #OperationHumanitarianBait #GitHubReleases #RustDesk #AnyDesk #PyArmor
Keypoints
- The campaign uses phishing emails with a malicious LNK file hidden inside a RAR archive.
- Russian-language humanitarian aid documents and a survey-based lure are used to build trust and increase click-through.
- The infection chain deploys a fileless, Python-based implant while showing the victim a decoy PDF.
- The payload is hosted on GitHub Releases and protected with PyArmor to reduce detection and analysis.
- The implant steals browser passwords, session cookies, keystrokes, clipboard contents, screenshots, Telegram data, and selected files.
- Persistence is maintained with a Windows Scheduled Task and silent VBScript launchers.
- RustDesk and AnyDesk are abused to provide the attacker with covert remote desktop access.
MITRE Techniques
- [T1566.001] Phishing: Spearphishing Attachment â The attack is delivered through a malicious archive attachment containing a shortcut file, using a lure about aid requests (âMalicious LNK file inside a RAR archive, delivered as a Russian-language humanitarian aidâ).
- [T1204.002] User Execution: Malicious File â Infection starts when the victim opens the LNK file and triggers the chain (âThe victim must open the LNK file to trigger the infection chainâ).
- [T1059.001] Command and Scripting Interpreter: PowerShell â PowerShell extracts obfuscated content from the shortcut and executes it in memory (âPowerShell reads content from a specific offset within the LNK file and executes the obfuscated payloadâ).
- [T1059.005] Command and Scripting Interpreter: VBScript â Silent VBScript launchers start the payload without visible windows (ârun.vbs and launch_module.vbs silently invokes the Python payload with no visible windowâ).
- [T1059.006] Command and Scripting Interpreter: Python â The main surveillance implant is written in Python and launched with pythonw.exe (âCore surveillance implant written in Python, executed via windowless pythonw.exeâ).
- [T1053.005] Scheduled Task/Job: Scheduled Task â A Windows task named WindowsHelper keeps the implant persistent across reboots (âWindowsHelper scheduled task fires every 5 minutes indefinitely and survives system rebootsâ).
- [T1027.002] Obfuscated Files or Information: Software Packing â PyArmor is used to pack and obscure the payload to hinder static analysis (âPython payload packed with PyArmor v9.2 Pro to resist static analysis and decompilationâ).
- [T1036.005] Masquerading: Match Legitimate Name or Location â The malware hides under a legitimate-looking directory name to blend in (âWindowsHelper directory name mimics a legitimate Windows system componentâ).
- [T1105] Ingress Tool Transfer â The payload is downloaded at runtime from GitHub Releases to abuse trusted infrastructure (âPayload (data.zip) downloaded at runtime from GitHub Releases, abusing trusted infrastructureâ).
- [T1555.003] Credentials from Password Stores: Credentials from Web Browsers â Stored passwords and cookies are extracted from multiple browsers (âCollects stored passwords and cookies from Chrome, Edge, Brave, Opera, Yandex Browser, and Firefoxâ).
- [T1539] Steal Web Session Cookie â Session cookies are specifically collected from the victim browser profiles (âSession cookies collectedâ).
- [T1552.001] Unsecured Credentials: Credentials in Files â The malware scans for files containing private-key-like hexadecimal strings (âScans for files containing 64-character hex strings consistent with private keysâ).
- [T1056.001] Input Capture: Keylogging â Keystrokes are recorded continuously for later upload (âThe keyboard library captures all keystrokes continuously and stores them for uploadâ).
- [T1115] Clipboard Data â Clipboard contents are monitored in real time to steal copied secrets (âpyperclip monitors and collects clipboard contents in real timeâ).
- [T1113] Screen Capture â Continuous screenshots are taken and archived for exfiltration (âmss library takes continuous desktop screenshots and archivesâ).
- [T1005] Data from Local System â The implant recursively scans user directories to collect high-value local files (âA selective recursive scan collects documents and configuration files from user directoriesâ).
- [T1071.001] Application Layer Protocol: Web Protocols â Collected data is uploaded over HTTP to the attackerâs server (âHTTP used to upload all collected data to the C2 server at 159.198.41[.]140â).
- [T1219] Remote Access Software â RustDesk and AnyDesk are silently installed for covert interactive access (âRustDesk and AnyDesk are silently installed for persistent interactive remote desktop accessâ).
- [T1041] Exfiltration Over C2 Channel â Data is batched and sent to the attacker-controlled server over the command-and-control channel (âAll collected data was uploaded to the attacker-controlled C2 server in batched archivesâ).
Indicators of Compromise
- [SHA-256] Initial LNK dropper and packed payload samples â 8a100cbdf79231e70cee2364ebd9a4433fda6b4de4929d705f26f7b68d6aeb79, a5b782901829861a6f458db404e8ec1a99c65a48393525e681742bb2a5db454d
- [SHA-256] Malicious archive and related release artifact â 9be61c95056fd6b63565cf51a196f2615f5360c0a42e616b2a618473e9d60a21, and other 1 item
- [URL] Lure PDF and survey lure â hxxp://159.198.41[.]140/static/builder/lnk_uploads/invo[.]pdf, hxxp://159.198.41.140/test/index.php?r=survey/index&sid=936926&newtest=Y&lang=ru%22
- [URL] C2 and payload hosting â hxxps://github.com/leravalera2/dtfls/releases/download/dtfls/data.zip, hxxp://159.198.41[.]140
- [File name] Delivered and persistent components â run.vbs, launch_module.vbs, module.pyw, inventory_state.db
Read more: https://cyble.com/blog/operation-humanitarianbait-infostealer-campaign/