PyStoreRAT: Malware della catena di fornitura guidato dall’AI che prende di mira professionisti IT e OSINT
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
Morphisec ha scoperto un’operazione malware coordinata che abusa di account GitHub dormienti per ospitare repository generati dall’AI, che alla fine consegnano una backdoor JavaScript/HTA chiamata PyStoreRAT. Il caricatore profila l’host, distribuisce più payload, incluso il ladro Rhadamanthys, e adatta dinamicamente il suo comportamento quando vengono rilevate soluzioni AV specifiche. Può propagarsi tramite media removibili e si affida a un’infrastruttura C2 rotante per aggiornare i suoi moduli. La campagna è rivolta ad amministratori IT, analisti di sicurezza e professionisti OSINT in tutto il mondo.
Indagine
I ricercatori hanno esaminato i progetti GitHub malevoli, isolato i componenti della backdoor e documentato l’intera catena di esecuzione, inclusi il profiling di sistema, la consegna susseguente dei payload, l’elusione AV, la diffusione tramite unità removibili e il caricamento di moduli su richiesta. Il rapporto descrive ulteriormente l’architettura dei nodi C2 circolari che aumenta la resilienza, così come l’uso di stringhe in lingua russa per convalidare il locale del bersaglio. L’analisi collega il loader al ladro Rhadamanthys e mette in evidenza la sua capacità di alterare i percorsi di avvio.
Mitigazione
Morphisec consiglia l’uso della Difesa Automatica a Bersagli Mobili per destabilizzare l’ambiente di runtime del loader, bloccare percorsi di esecuzione inaffidabili e fermare la distribuzione dei payload. Poiché i controlli tradizionali basati su firme sono inefficaci, i difensori dovrebbero fare affidamento su protezioni basate sui comportamenti e sulla virtualizzazione. Anche limitare l’esecuzione di script da origini non attendibili e monitorare attentamente l’attività delle unità removibili sono raccomandati.
Risposta
Quando viene identificata l’attività di PyStoreRAT, isolare immediatamente l’endpoint impattato, terminare il processo della backdoor e rimuovere eventuali moduli persistenti. Eseguire un’analisi forense per raccogliere IOC, inclusi domini C2, hash di file e attività pianificate. Patchare il software vulnerabile, applicare rigorose politiche di esecuzione di minor privilegio e monitorare continuamente GitHub per attività di repository malevoli o sospette.
Flusso di Attacco
Rilevamenti
Comportamento di Evasione Difesa MSHTA LOLBAS Sospetto tramite Rilevamento di Comandi Associati (via process_creation)
Visualizza
Attività Sospetta Pianificata (via audit)
Visualizza
Comando e Controllo Sospetti tramite Richiesta DNS con Dominio di Livello Superiore (TLD) Inusuale (via dns)
Visualizza
Esecuzione di Python da Cartelle Sospette (via cmdline)
Visualizza
Esecuzione di Mshta Sospetta Senza File HTA (via cmdline)
Visualizza
Rilevamento di PyStoreRAT tramite Infrastruttura C2 Circolare e Rotante e Download Dinamico di Moduli [Connessione di Rete Windows]
Visualizza
Rilevamento della Riattivazione di Account GitHub Dormienti per Progetti Malevoli [GitHub – Webserver]
Visualizza
Esecuzione di Simulazione
Prerequisito: Il Controllo Pre-operativo di Telemetria e Baseline deve essere passato.
-
Narrativa di Attacco & Comandi:
- Riattivare un account dormiente – l’avversario utilizza l’interfaccia utente o l’API GitHub per cambiare lo stato dell’account da “dormiente” a “attivo”.
- Pubblicare un repository malevolo generato dall’AI – immediatamente dopo la riattivazione, viene creato un nuovo repository chiamato
ai‑osint‑toolkit, contenente un README che pubblicizza “progetti generati dall’AI”. - Aggiungere un commit di “manutenzione” che incorpora la backdoor PyStoreRAT; il messaggio di commit include intenzionalmente la parola “manutenzione” per soddisfare la regola di rilevamento.
- Spingere il codice malevolo – il push genera un evento di
pushaudit, ma la regola che stiamo testando monitora solo l’account_reactivationentrata dell’audit, quindi il trigger primario è l’entrata del log di riattivazione con la descrizione segnalata.
-
Script di Test di Regressione: (Bash con GitHub CLI
gh– presuppone che l’attore attaccante abbia un token di accesso personale con ambitoadmin:org)# simulate_attack.sh # Prerequisiti: gh CLI installato e autenticato come l'attaccante # 1. Riattivare account dormiente (simulato aggiornando un campo utente) gh api -X PATCH /admin/users/attacker_user -f state=active -f note="reactivation: AI-generated projects; maintenance commits scheduled" # 2. Creare repository malevolo gh repo create attacker_user/ai-osint-toolkit --public --description "Strumenti OSINT generati dall'AI" # 3. Aggiungere file malevolo (PyStoreRAT) e commit cd ai-osint-toolkit echo "# PyStoreRAT backdoor" > pystorerat.py git add pystorerat.py git commit -m "Commit iniziale - commit di manutenzione: incorpora backdoor" git push origin main # 4. Opzionale: creare un secondo commit di manutenzione per imitare l'attività del mondo reale echo "# Aggiornare README" >> README.md git add README.md git commit -m "commit di manutenzione: aggiornare la documentazione" git push origin main -
Comandi di Pulizia:
# cleanup_attack.sh # Eliminare il repository malevolo gh repo delete attacker_user/ai-osint-toolkit -y # Facoltativo, impostare l'account dell'attaccante di nuovo su dormiente (se l'API lo permette) gh api -X PATCH /admin/users/attacker_user -f state=dormant