
Incorpora e nascondi qualsiasi file in un file HTML
Autore: Arno0x0x - @Arno0x0x
Ciò che questo strumento fa è prendere un file (qualsiasi tipo di file), crittografarlo e incorporarlo in un file HTML come risorsa, insieme a una routine di download automatico che simula un utente che fa clic sulla risorsa incorporata.
Quindi, quando l'utente naviga nel file HTML, il file incorporato viene decifrato al volo, salvato in una cartella temporanea e poi presentato all'utente come se fosse scaricato dal sito remoto. A seconda del browser dell'utente e del tipo di file presentato, il file può essere aperto automaticamente dal browser.
Questo strumento è disponibile in due versioni, che offrono la stessa funzionalità complessiva ma con alcune leggere differenze nel modo di utilizzarlo:
Uno script Python che genera il file HTML di output basato su un modello, utilizzando routine di crittografia RC4, e incorporando la chiave di decifratura all'interno del file di output. L'HTML risultante può essere navigato dall'utente target o inviato come allegato.
Un HTML/Javascript in cui puoi trascinare il file per crittografarlo, che genera il file HTML di output, utilizzando la WebCrypto API, ma NON incorpora il materiale di decifratura (chiave e contatore). Invece, il materiale di decifratura viene visualizzato come un insieme di parametri URL da aggiungere a un URL che punta al file HTML risultante: http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter. Quindi il file HTML risultante non può essere inviato come allegato.
Il vantaggio principale di questa tecnica è che il materiale di decifratura non è incorporato nel file stesso, impedendo quindi l'analisi e persino il recupero del payload da parte di qualsiasi sistema che non abbia l'URL completo (ad esempio un proxy di intercettazione).
Note aggiuntive:
Questo strumento è stato ispirato e derivato dal grande strumento 'demiguise' : https://github.com/nccgroup/demiguise
La funzione b64AndRC4 utilizzata sull'input binario (dal file XLL) è un mix di: https://gist.github.com/borismus/1032746 e https://gist.github.com/farhadi/2185197
Controlla https://gist.github.com/Arno0x/f71a9db515ddea686ccdd77666bebbaa per una facile creazione di XLL malevolo, un esempio perfetto di un documento malevolo che si potrebbe cercare di distribuire con questo metodo.
Nel modello HTML (file html.tpl) si consiglia di inserire la propria funzione di derivazione della chiave dall'ambiente al posto della 'keyFunction'. Dovresti derivare la tua chiave dall'ambiente in modo che funzioni solo sul target desiderato (e non in un sandbox).
Alcuni file di esempio di payload sono forniti nella directory payloads_examples. Ad esempio, calc.xll è un file aggiuntivo di Excel (XLL) che contiene uno shellcode di metasploit per processi x86 per avviare il processo calc.exe.
Utilizzo dello script Python
1/ Genera il file HTML malevolo dal file XLL, insieme a una chiave segreta:
python embedInHTML.py -k mysecretkey -f example_calc.xll -o index.html
2/ Esponi il file HTML su un server web (uno può essere avviato opzionalmente per te con il flag -w)
Utilizzo dell'HTML/Javascript
1/ Apri il file embedInHTML.html in un browser
2/ Trascina semplicemente il file payload nella pagina (puoi opzionalmente cambiare il nome del file di output)
3/ Salva il file risultante e prendi nota del materiale di decifratura come parametri URL da aggiungere al nome del file nella forma: http(s)://hosting.server.com/result.html#hexencodedkey!hexencodedcounter
Alla fine...
Punta il browser del target al file HTML e lascia che la magia accada:
Questo strumento è destinato a essere utilizzato solo in modo legale e legittimo:
Citando gli autori di Empire: Non c'è modo di costruire strumenti offensivi utili per l'industria legittima della sicurezza informatica impedendo contemporaneamente agli attori malevoli di abusarne.