
Uno strumento Python per importare HTML e produrre sorgente HTML adatto per campagne di phishing.
(È una battuta sul "pesce nel barile". Mi piacciono i giochi di parole!)
Uno strumento Python per l'ingestione di HTML e la produzione di sorgente HTML adatto a campagne di phishing.
Cooper semplifica il processo di clonazione di un sito web o di un'email target da utilizzare in una campagna di phishing. Basta trovare un URL o scaricare il contenuto grezzo di un'email che si vuole usare e fornirlo a Cooper. Cooper clonerà il contenuto e lo preparerà automaticamente per l'uso nella campagna. Script, immagini e CSS possono essere modificati per utilizzare link diretti invece di link relativi, i link vengono modificati per puntare al tuo server di phishing e i moduli vengono aggiornati per inviare i dati a te – tutto in pochi secondi. Cooper è multipiattaforma e dovrebbe funzionare con macOS, Linux e Windows.
Niente più modifiche manuali di link e moduli dopo aver usato wget per scaricare un sito. Puoi concentrarti sul lavoro di dettaglio.
Cooper offre diversi moduli con scopi differenti:
Page è il modulo principale di Cooper. L'unico argomento richiesto è -t per specificare un URL target. Puoi quindi aggiungere --selenium per usare opzionalmente Selenium invece di Requests. In pratica, se l'output appare errato o incompleto (ad esempio solo uno sfondo e qualche stile), prova a usare --selenium.
Alcuni siti web richiedono JavaScript per generare il contenuto HTML. Se l'output appare errato o incompleto, prova a usare --selenium.
Inoltre, puoi aggiungere -u con un URL da usare come URL base per immagini, script e fogli di stile. Cooper sostituirà i link relativi (ad es. /wp-content/images/foo.bar) con l'URL completo per te.
Fornisci sempre URL validi con il protocollo corretto per -t e -u (ad es. http://www.example.com).
Un elenco completo delle impostazioni è di seguito:
Il modulo email è utile quando vuoi usare un'email che hai come base per un nuovo phish. Gestire la codifica e i messaggi MIME multiparte può essere un problema se fatto a mano, quindi lascia che lo faccia Cooper per te. Questo modulo analizzerà il contenuto del messaggio, eliminerà le parti non necessarie, come gli allegati, e ti darà una versione completamente decodificata del corpo principale dell'email, le parti plain/text o text/html che ti interessano.
Un elenco completo delle impostazioni è di seguito:
Come accennato sopra, questo modulo è un caso unico. L'unico argomento richiesto è -i per fornire il file immagine da codificare. È utile se stai costruendo la tua landing page o modificando una pagina e hai bisogno di aggiungere un'immagine. Se decidi di incorporarla, prova questo modulo. Codificherà in Base64 il file fornito e produrrà il testo necessario per incorporare l'immagine.
Cooper necessita di diverse librerie per scrapeare siti web e analizzare l'HTML. Usa pip o pipenv per installare tutto. C'è un requirements.txt per pip e un Pipfile per ambienti virtuali pipenv. Se usi pip, assicurati di usare quello corretto per il tuo sistema per Python 3.9 (ad es. pip3 o pip3.9).
Puoi essere certo che venga usata la versione corretta chiamando pip con la tua versione di Python:
python3 -m pip install -r requirements.txt
Un ambiente virtuale è ancora più semplice da usare:
pipenv installpipenv shellL'uso di Selenium per un browser headless richiede l'installazione di Google Chrome e il download di un file Chromewebdriver corrispondente da: https://chromedriver.chromium.org/downloads
Scarica ed estrai il webdriver nella root di questo progetto. Puoi posizionarlo altrove, ma assicurati di aggiornare il config (vedi sezione successiva).
Poi devi impostare il tuo file di configurazione. Il file cooper.config fornito con questo repo è già preimpostato per l'uso con GoPhish (gli URL sono impostati per essere cambiati in {{.URL}}). Il config predefinito presuppone anche che tu inserisca un Chrome webdriver nella root della directory.
Il file di configurazione appare così:
[Replacement URLs]
landing_page_url_replacement: {{.URL}}
landing_page_form_action: {{.URL}}
email_replacement_url: {{.URL}}
[Browser]
driver_path: ./chromedriver
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Safari/537.36
Apporta le modifiche necessarie. Puoi creare più file di configurazione per diverse piattaforme di phishing che utilizzi, server di attacco aggiuntivi o user-agent alternativi. Diversi file di configurazione possono essere usati includendo gli argomenti -c o --config insieme al tuo file alternativo. Altrimenti, verrà usato il file cooper.config per impostazione predefinita.
La sezione [Replacement URLs] contiene tutti gli URL che Cooper userà quando sostituisce i link e le azioni dei moduli.
landing_page_url_replacement è l'URL usato per la landing page. Potresti volerlo impostare sull'IP del server di phishing in modo che i visitatori vengano reindirizzati alla landing page o inviati altrove.
landing_page_form_action è l'URL a cui vuoi che vengano inviati i dati del modulo quando viene inviato.
email_replacement_url è l'URL usato per le email e dovrebbe essere impostato sul dominio o sull'IP del tuo server di phishing.
Se uno qualsiasi di questi URL è impostato su nulla, Cooper non sostituirà tali URL. Questo è più pratico per landing_page_url_replacement dove potresti volere che la landing page continui a puntare a link reali. Tuttavia, attenzione, la pagina web target potrebbe usare link relativi come /home.php invece di link diretti, il che significherebbe che la tua landing page sarà piena di link rotti.
La sezione [Browser] è solo per le impostazioni relative alla navigazione web. Usa questa sezione per indicare a Selenium e Cooper il tuo browser webdriver se scegli di utilizzare un file o una posizione diversi per il driver. Qui viene anche definito lo user-agent utilizzato per la navigazione web. Cooper ha uno user-agent predefinito che puoi sovrascrivere con il file di configurazione.
Le immagini possono essere codificate in Base64 prima di essere incorporate in un template. Questo serve a rendere i template non dipendenti dalla disponibilità del sito web/dal mantenimento delle immagini nella loro posizione. L'aumento di dimensione per un sito web è (molto probabilmente) trascurabile, ma usare questa opzione per un'email potrebbe essere un problema. Alcuni client email non supportano le immagini Base64, come Outlook(!). Tieni a mente il client email del target.
L'opzione del server HTTP è lì per permetterti di rivedere facilmente l'output di Cooper visitando 127.0.0.1:PORT. Potresti semplicemente aprire il file HTML, ma non è altrettanto elegante.
img appaiono così: <img src="https://raw.githubusercontent.com/chrismaddalena/cooper/HEAD/static1.squarespace.com/static/52ebedcae4b0ad4aad060b4a/t/533b687ae4b01d79d0ae12a3/1437187699809/?format=1500w"\>Un ringraziamento speciale a Ninjasl0th e Hagbard per il loro aiuto con questo progetto!