
🧙♂️ Comando e Controllo Node.js per Script-Jacking di Applicazioni Electron Vulnerabili
Loki è un framework di comando e controllo (C2) di stage-1 scritto in Node.js, progettato per eseguire script-jacking su app Electron vulnerabili MITRE ATT&CK T1218.015. Sviluppato per operazioni di red team, Loki consente di eludere i software di sicurezza e bypassare i controlli delle applicazioni sfruttando app Electron fidate e firmate.
Lo script-jacking dirotta il flusso di esecuzione di un'app Electron modificando i file JavaScript caricati in runtime con codice Node.js arbitrario. Questa tecnica può essere utilizzata per:
Sebbene diversi strumenti affrontino già l'uso dello script-jacking per concatenare l'esecuzione a un altro processo, Loki è il primo a consentire il backdooring e lo svuotamento di app Electron firmate senza invalidare la loro firma di code signing.
Per maggiori dettagli su come funziona Loki, dai un'occhiata a questo post del blog:

| Nome | Contributi |
|---|---|
| Bobby Cooke | Creatore e maintainer |
| Dylan Tran | Creatore |
| Ellis Springe | Alpha Tester |
| Shawn Jones | Codice di esecuzione Assembly |
| Trusted Sec | Codice COFFLoader |
| Simon Exley | Creatore di video |
| Clinton Elves | Creatore di video |
| John Hammond | Creatore di video |
Dai un'occhiata a questo video di John Hammond sul backdooring di Cursor AI con Loki C2! 🎩
Dai un'occhiata a questo video di Simon Exley & Clinton Elves su come iniziare a usare Loki C2! 🧙♂️
Tutti i comandi dell'agent sono scritti in Node.JS nativo e non richiedono dipendenze aggiuntive o eventi di caricamento librerie. Fanno eccezione i comandi scexec e assembly che eseguono un caricamento delle librerie keytar.node e assembly.node
/, \ nei percorsi non funzionerà.| Comando | Descrizione |
|---|---|
help | Mostra l'aiuto. Utilizzo: help o help scan |
pwd | Stampa la directory di lavoro |
ls | Elenco di file e directory |
cat | Mostra il contenuto di un file |
env | Mostra le variabili d'ambiente del processo |
spawn | Avvia un processo figlio |
drives | Elenca le unità |
mv | Sposta un file in una nuova destinazione |
sleep | Sospendi per secondi con jitter |
cp | Copia un file sorgente in una destinazione |
exit-all | Termina l'agent, l'agent non farà più callback |
load | Carica un file PE node dal disco nel processo |
scexec | Esegui shellcode |
assembly | Esegui un assembly .NET e ottieni l'output del comando |
upload | Carica un file dalla tua macchina operatore locale alla macchina agent remota |
download | Scarica un file dalla macchina agent remota alla macchina operatore locale |
scan | Esegue una scansione di rete TCP su un intervallo CIDR con le porte selezionate |
dns | Risoluzione DNS. Sfrutta la configurazione DNS di sistema |
set | Imposta i percorsi di caricamento Node per i nodi assembly e scexec |
bof | Esegue un file COFF e restituisce l'output |
Set - Caricamento dei nodi dai percorsi di esclusione dell'Application Controlset per cambiare i percorsi di caricamento di assembly.node e scexec.node.ls, cat, cp e mv potresti essere in grado di enumerare le regole di application control per scoprire una directory scrivibile che sia un'esclusione.set per cambiare il loro percorso di caricamento verso la directory di esclusione, bypassando così l'application control.[04-04-2025 8:50AM MST] advsim$ help set
Set the Node load paths for assembly node and scexec nodes
set scexec_path C:/Users/user/AppData/ExcludedApp/scexec.node
set assembly_path C:/Users/user/AppData/ExcludedApp/assembly.node
[04-04-2025 8:51AM MST] advsim$ set scexec_path C:/Users/user/AppData/ExcludedApp/scexec.node
SCEXEC Node Load Path Set to : C:/Users/user/AppData/ExcludedApp/scexec.node
Per maggiori informazioni sulle funzionalità dell'Agent clicca qui
Per maggiori informazioni sulle funzionalità del Client clicca qui
Innanzitutto devi identificare un'applicazione Electron vulnerabile che non esegue controlli di integrità ASAR, come Microsoft Teams. Le applicazioni più recenti possono avere controlli di integrità che impediscono il backdooring. Le versioni precedenti dell'app target hanno maggiori probabilità di essere vulnerabili.
Non è necessario compilare l'agent quando si esegue il backdooring di app Electron. Basta sostituire il contenuto di {ELECTRONAPP}/resources/app/ con i file dell'agent Loki.