BEETLEPAD: l’ultima backdoor leggera ma insidiosa nel toolkit di APT41 (e affiliati?)

Nel vasto arsenale di malware attribuiti (o attribuibili) all’ecosistema APT41, una nuova backdoor sta via via emergendo e la si sta incontrando attivamente: BEETLEPAD, una minaccia che, pur con capacità limitate, mostra chiare connessioni infrastrutturali e strutturali con campagne precedenti legate al malware POISONPLUG.SHADOW.
Anche se i suoi comandi sembrano basilari e l’impatto operativo iniziale appare contenuto, le sue implicazioni sono tutt’altro che trascurabili. BEETLEPAD potrebbe rappresentare un proof-of-concept operativo o un modulo sperimentale in una più ampia catena di compromissione.
BEETLEPAD: origini, scoperta e contesto
Nel febbraio 2025, GTIG ha rilevato un sample BEETLEPAD beaconing verso il dominio dscriy.chtq.net
, un endpoint già associato pubblicamente a operazioni ransomware legate a UNC6102, un cluster sospetto di origine cinese e, secondo alcuni report, con connessioni indirette ad APT41.
Curiosamente, lo stesso sample – completamente offuscato con il tool ScatterBrain – era stato caricato su un repository pubblico da un utente in Repubblica Ceca già nel maggio 2024, con il nome poco sospetto di api(1).exe
. Ciò suggerisce che il malware fosse in circolazione da almeno un anno.
Funzionalità tecniche: la backdoor minimale
BEETLEPAD non punta alla complessità, ma alla discrezione e modularità. Una volta eseguito, il sample:
Decritta la configurazione C2 integrata nel binary, usando una chiave statica (
123456789
) o, in fase di debug, si connette in fallback alocalhost:22222
.Genera un identificatore unico CLSID, serializzando informazioni come FILETIME,
GetTickCount()
e thread ID.Scrive il CLSID nel registro di sistema sotto
HKEY_CURRENT_USER\SOFTWARE\DW\CLSID
.Crea una cartella di lavoro temporanea con un nome randomico.
Avvia il loop di comunicazione con il C2, in attesa di comandi.
Il protocollo C2 è relativamente semplice: la backdoor apre una connessione TCP, riceve un header serializzato contenente la chiave di decrittazione e il tipo di comando, e poi il payload vero e proprio. Ecco la struttura base dell’header:
struct request_header_t {
uint32_t crypt_key;
uint32_t command_type;
uint32_t status;
uint32_t payload_size;
};
Comandi supportati
La backdoor gestisce sei comandi principali, tra cui:
Profiling del sistema (raccolta dettagli su host, utente, OS, DNS, etc.)
File Upload dal server
Creazione di nuovi processi
Esecuzione diretta di shellcode in memoria
Un esempio particolarmente interessante è il comando di shellcode injection, che prevede l’allocazione dinamica di memoria e la creazione di un thread separato per eseguire il payload in maniera stealth.
Overlap con POISONPLUG.SHADOW e ScatterBrain
BEETLEPAD è offuscato con il tool ScatterBrain, nello specifico con il "Selective mode", lo stesso utilizzato da POISONPLUG.SHADOW nelle sue varianti dropper. ScatterBrain è noto per la sua capacità di interrompere analisi statiche e dinamiche, ed è stato spesso collegato a gruppi China-nexus.
Il codice interno e le strutture dati usate in BEETLEPAD condividono numerose similarità con POISONPLUG.SHADOW – backdoor modulare e versatile utilizzata da APT41 sin dal 2022 – e più in generale con ShadowPad, attiva dal 2017. Tali somiglianze suggeriscono o una convergenza evolutiva tra tool, o una riutilizzazione diretta del codice da parte di sviluppatori comuni.
Indicatori IOC e stringhe rilevanti
Tra gli indicatori più significativi troviamo:
Dominio C2:
dscriy.chtq.net
Registro di sistema:
HKEY_CURRENT_USER\SOFTWARE\DW\CLSID
Processo eseguito:
svchost.exe
(impersonificazione legittima)Stringhe interne deoffuscate:
RtlGetVersion
,%TEMP%
,KERNEL32
,memcpy
,Shell_TrayWnd
Per facilitare l’analisi, GTIG ha anche reverse-engineerizzato le routine di cifratura e decrittazione del malware, includendo una funzione Python per la deoffuscazione delle stringhe:
def decrypt_str(in_val: int, *args: int) -> str:
hi = (in_val >> 16) & 0xFFFF
strlen = (in_val ^ (hi + 0x7383)) & 0xFFFF
if strlen > 0x2000: return ""
# Preparazione buffer e key derivation...
# (logica completa nel report GTIG)
Attribution e ipotesi operative
Al momento, GTIG non ha attribuito in modo conclusivo BEETLEPAD ad APT41, anche se l’insieme di indizi – offuscamento ScatterBrain, overlapping infrastrutturale e similitudini strutturali – puntano chiaramente nella direzione dell’ecosistema threat actor cinese.
È plausibile che BEETLEPAD venga usato in campagne low profile o fase iniziale, magari come precursore a POISONPLUG.SHADOW, oppure come payload alternativo in operazioni di exfiltration o lateral movement più contenute.
BEETLEPAD rappresenta un’ulteriore tessera nel mosaico delle operazioni APT cinesi: una backdoor discreta, ben strutturata, con una solida architettura C2, ma non eccessivamente sofisticata. Proprio questa sua apparente semplicità potrebbe renderla un ottimo strumento nelle mani di threat actor che privilegiano la permanenza silenziosa e l’evitamento delle detection classiche.
Per i team di threat hunting e incident response, diventa cruciale monitorare non solo IOC specifici, ma anche pattern comportamentali coerenti con i moduli BEETLEPAD, come l’uso anomalo di svchost, modifiche silenziose al registry user-level e traffico outbound verso domini sospetti di media longevità.