Phishing Methodology
Metodologia
Ricognizione della vittima
Seleziona il dominio della vittima.
Esegui una enumerazione web di base cercando portali di accesso utilizzati dalla vittima e decidi quale impersonare.
Utilizza un po' di OSINT per trovare email.
Prepara l'ambiente
Acquista il dominio che utilizzerai per la valutazione del phishing
Configura i record relativi al servizio email (SPF, DMARC, DKIM, rDNS)
Configura il VPS con gophish
Prepara la campagna
Prepara il modello di email
Prepara la pagina web per rubare le credenziali
Lanciare la campagna!
Generare nomi di dominio simili o acquistare un dominio affidabile
Tecniche di Variazione del Nome di Dominio
Parola chiave: Il nome di dominio contiene una parola chiave importante del dominio originale (ad es., zelster.com-management.com).
Sottodominio con trattino: Cambia il punto con un trattino di un sottodominio (ad es., www-zelster.com).
Nuovo TLD: Stesso dominio utilizzando un nuovo TLD (ad es., zelster.org)
Omofono: Sostituisce una lettera nel nome di dominio con lettere simili (ad es., zelfser.com).
Trasposizione: Scambia due lettere all'interno del nome di dominio (ad es., zelsetr.com).
Singolare/Plurale: Aggiunge o rimuove la "s" alla fine del nome di dominio (ad es., zeltsers.com).
Omissione: Rimuove una delle lettere dal nome di dominio (ad es., zelser.com).
Ripetizione: Ripete una delle lettere nel nome di dominio (ad es., zeltsser.com).
Sostituzione: Come omofono ma meno stealthy. Sostituisce una delle lettere nel nome di dominio, forse con una lettera vicina alla lettera originale sulla tastiera (ad es., zektser.com).
Sottodominiato: Introduce un punto all'interno del nome di dominio (ad es., ze.lster.com).
Inserimento: Inserisce una lettera nel nome di dominio (ad es., zerltser.com).
Punto mancante: Aggiungi il TLD al nome di dominio. (ad es., zelstercom.com)
Strumenti Automatici
Siti Web
Bitflipping
Esiste la possibilità che uno o alcuni bit memorizzati o in comunicazione possano essere automaticamente invertiti a causa di vari fattori come brillamenti solari, raggi cosmici o errori hardware.
Quando questo concetto viene applicato alle richieste DNS, è possibile che il dominio ricevuto dal server DNS non sia lo stesso del dominio richiesto inizialmente.
Ad esempio, una modifica di un singolo bit nel dominio "windows.com" può cambiarlo in "windnws.com".
Gli attaccanti possono approfittarne registrando più domini con bit-flipping simili al dominio della vittima. La loro intenzione è di reindirizzare gli utenti legittimi alla propria infrastruttura.
Per ulteriori informazioni leggi https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/
Acquista un dominio affidabile
Puoi cercare su https://www.expireddomains.net/ un dominio scaduto che potresti utilizzare. Per assicurarti che il dominio scaduto che stai per acquistare abbia già un buon SEO potresti verificare come è categorizzato in:
Scoperta delle Email
https://github.com/laramies/theHarvester (100% gratuito)
https://phonebook.cz/ (100% gratuito)
Per scoprire più indirizzi email validi o verificare quelli che hai già scoperto, puoi verificare se puoi forzarli sui server smtp della vittima. Scopri come verificare/scoprire l'indirizzo email qui. Inoltre, non dimenticare che se gli utenti utilizzano qualsiasi portale web per accedere alle loro email, puoi verificare se è vulnerabile a brute force sul nome utente, ed sfruttare la vulnerabilità se possibile.
Configurazione di GoPhish
Installazione
Puoi scaricarlo da https://github.com/gophish/gophish/releases/tag/v0.11.0
Scaricalo e decompattalo dentro /opt/gophish
ed esegui /opt/gophish/gophish
Ti verrà fornita una password per l'utente admin sulla porta 3333 nell'output. Quindi, accedi a quella porta e utilizza quelle credenziali per cambiare la password dell'admin. Potresti aver bisogno di tunnelizzare quella porta in locale:
Configurazione
Configurazione del certificato TLS
Prima di questo passaggio dovresti già aver acquistato il dominio che stai per utilizzare e deve essere puntato all'IP del VPS dove stai configurando gophish.
Configurazione della posta
Inizia l'installazione: apt-get install postfix
Quindi aggiungi il dominio ai seguenti file:
/etc/postfix/virtual_domains
/etc/postfix/transport
/etc/postfix/virtual_regexp
Cambia anche i valori delle seguenti variabili all'interno di /etc/postfix/main.cf
myhostname = <domain>
mydestination = $myhostname, <domain>, localhost.com, localhost
Infine modifica i file /etc/hostname
e /etc/mailname
con il nome del tuo dominio e riavvia il tuo VPS.
Ora, crea un record A DNS di mail.<domain>
che punta all'indirizzo IP del VPS e un record MX DNS che punta a mail.<domain>
Ora proviamo a inviare un'email:
Configurazione di Gophish
Arresta l'esecuzione di gophish e procedi con la configurazione.
Modifica /opt/gophish/config.json
come segue (nota l'uso di https):
Configurare il servizio gophish
Per creare il servizio gophish in modo che possa essere avviato automaticamente e gestito come servizio, è possibile creare il file /etc/init.d/gophish
con il seguente contenuto:
Termina la configurazione del servizio e controlla facendo:
Configurazione del server di posta e del dominio
Attendere e essere legittimi
Più vecchio è un dominio, meno probabile è che venga considerato spam. Quindi è consigliabile attendere il più a lungo possibile (almeno 1 settimana) prima della valutazione del phishing. Inoltre, se si inserisce una pagina su un settore reputazionale, la reputazione ottenuta sarà migliore.
Tieni presente che anche se devi aspettare una settimana, puoi finire di configurare tutto ora.
Configurare il record Reverse DNS (rDNS)
Imposta un record rDNS (PTR) che risolva l'indirizzo IP del VPS al nome di dominio.
Record del Framework di politica del mittente (SPF)
Devi configurare un record SPF per il nuovo dominio. Se non sai cos'è un record SPF, leggi questa pagina.
Puoi utilizzare https://www.spfwizard.net/ per generare la tua politica SPF (utilizza l'IP della macchina VPS)
Questo è il contenuto che deve essere impostato all'interno di un record TXT all'interno del dominio:
Record di Autenticazione, Reporting e Conformità dei Messaggi Basato sul Dominio (DMARC)
Devi configurare un record DMARC per il nuovo dominio. Se non sai cos'è un record DMARC, leggi questa pagina.
Devi creare un nuovo record DNS TXT che punti all'hostname _dmarc.<dominio>
con il seguente contenuto:
DomainKeys Identified Mail (DKIM)
Devi configurare un DKIM per il nuovo dominio. Se non sai cos'è un record DMARC, leggi questa pagina.
Questo tutorial si basa su: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
Devi concatenare entrambi i valori B64 che la chiave DKIM genera:
Testa il punteggio della configurazione della tua email
Puoi farlo utilizzando https://www.mail-tester.com/ Basta accedere alla pagina e inviare un'email all'indirizzo che ti viene fornito:
Puoi anche controllare la configurazione della tua email inviando un'email a check-auth@verifier.port25.com
e leggendo la risposta (per fare ciò dovrai aprire la porta 25 e visualizzare la risposta nel file /var/mail/root se invii l'email come root).
Verifica di superare tutti i test:
Puoi anche inviare un messaggio a un account Gmail sotto il tuo controllo, e controllare gli intestazioni dell'email nella tua casella di posta di Gmail, dkim=pass
dovrebbe essere presente nel campo dell'intestazione Authentication-Results
.
Rimozione dalla lista nera di Spamhouse
La pagina www.mail-tester.com può indicarti se il tuo dominio è stato bloccato da spamhouse. Puoi richiedere la rimozione del tuo dominio/IP su: https://www.spamhaus.org/lookup/
Rimozione dalla lista nera di Microsoft
Puoi richiedere la rimozione del tuo dominio/IP su https://sender.office.com/.
Creare e Lanciare una Campagna di GoPhish
Profilo di Invio
Imposta un nome per identificare il profilo del mittente
Decidi da quale account invierai le email di phishing. Suggerimenti: noreply, support, servicedesk, salesforce...
Puoi lasciare vuoti il nome utente e la password, ma assicurati di controllare l'opzione Ignora gli errori del certificato
Si consiglia di utilizzare la funzionalità "Invia Email di Test" per verificare che tutto funzioni correttamente. Consiglio di inviare le email di test agli indirizzi email temporanei per evitare di finire in blacklist durante i test.
Modello di Email
Imposta un nome per identificare il modello
Poi scrivi un oggetto (niente di strano, solo qualcosa che ti aspetteresti di leggere in una normale email)
Assicurati di aver selezionato "Aggiungi Immagine di Tracciamento"
Scrivi il modello di email (puoi utilizzare variabili come nell'esempio seguente):
Nota che per aumentare la credibilità dell'email, è consigliabile utilizzare una firma da un'email del cliente. Suggerimenti:
Invia un'email a un indirizzo inesistente e controlla se la risposta ha una firma.
Cerca email pubbliche come info@ex.com o press@ex.com o public@ex.com e invia loro un'email in attesa di risposta.
Prova a contattare alcune email valide scoperte e attendi la risposta.
Il Modello di Email consente anche di allegare file da inviare. Se desideri rubare le sfide NTLM utilizzando file/documenti appositamente creati leggi questa pagina.
Pagina di Atterraggio
Scrivi un nome
Scrivi il codice HTML della pagina web. Nota che puoi importare pagine web.
Segna Cattura Dati Inviati e Cattura Password
Imposta un reindirizzamento
Di solito sarà necessario modificare il codice HTML della pagina e fare alcuni test in locale (magari utilizzando un server Apache) fino a ottenere i risultati desiderati. Quindi, scrivi quel codice HTML nella casella. Nota che se hai bisogno di utilizzare risorse statiche per l'HTML (magari alcune pagine CSS e JS) puoi salvarle in /opt/gophish/static/endpoint e poi accedervi da /static/<filename>
Per il reindirizzamento potresti reindirizzare gli utenti alla pagina web principale legittima della vittima, o reindirizzarli a /static/migration.html per esempio, mettere una rotellina che gira (https://loading.io/) per 5 secondi e poi indicare che il processo è stato completato con successo.
Utenti e Gruppi
Imposta un nome
Importa i dati (nota che per utilizzare il modello per l'esempio hai bisogno del nome, cognome e indirizzo email di ciascun utente)
Campagna
Infine, crea una campagna selezionando un nome, il modello di email, la pagina di atterraggio, l'URL, il profilo di invio e il gruppo. Nota che l'URL sarà il link inviato alle vittime
Nota che il Profilo di Invio permette di inviare un'email di test per vedere come apparirà l'email di phishing finale:
Consiglio di inviare le email di test a indirizzi email temporanei per evitare di finire in blacklist durante i test.
Una volta che tutto è pronto, avvia semplicemente la campagna!
Clonazione del Sito Web
Se per qualche motivo desideri clonare il sito web, controlla la seguente pagina:
pageClone a WebsiteDocumenti e File con Backdoor
In alcune valutazioni di phishing (principalmente per Red Team) vorrai anche inviare file contenenti qualche tipo di backdoor (forse un C2 o forse qualcosa che attiverà un'autenticazione). Controlla la seguente pagina per alcuni esempi:
pagePhishing Files & DocumentsPhishing MFA
Tramite Proxy MitM
L'attacco precedente è piuttosto intelligente poiché stai falsificando un sito web reale e raccogliendo le informazioni inserite dall'utente. Purtroppo, se l'utente non ha inserito la password corretta o se l'applicazione che hai falsificato è configurata con 2FA, queste informazioni non ti permetteranno di impersonare l'utente ingannato.
È qui che strumenti come evilginx2, CredSniper e muraena sono utili. Questo strumento ti permetterà di generare un attacco simile a un MitM. Fondamentalmente, l'attacco funziona nel seguente modo:
Impersoni il modulo di login della pagina web reale.
L'utente invia le proprie credenziali alla tua pagina falsa e lo strumento le invia alla pagina reale, verificando se le credenziali funzionano.
Se l'account è configurato con 2FA, la pagina MitM chiederà di inserirlo e una volta che l'utente lo inserisce, lo strumento lo invierà alla pagina web reale.
Una volta autenticato l'utente (come attaccante) avrai catturato le credenziali, il 2FA, il cookie e qualsiasi informazione di ogni interazione mentre lo strumento sta eseguendo un MitM.
Tramite VNC
E se invece di inviare la vittima a una pagina malevola con lo stesso aspetto di quella originale, la invii a una sessione VNC con un browser connesso alla pagina web reale? Sarai in grado di vedere cosa fa, rubare la password, il MFA utilizzato, i cookie... Puoi farlo con EvilnVNC
Rilevare il rilevamento
Ovviamente uno dei modi migliori per sapere se sei stato scoperto è cercare il tuo dominio nelle blacklist. Se compare, in qualche modo il tuo dominio è stato rilevato come sospetto. Un modo semplice per verificare se il tuo dominio appare in una qualsiasi blacklist è utilizzare https://malwareworld.com/
Tuttavia, ci sono altri modi per sapere se la vittima sta cercando attivamente attività di phishing sospette in rete come spiegato in:
pageDetecting PhishingPuoi acquistare un dominio con un nome molto simile a quello della vittima e/o generare un certificato per un sottodominio di un dominio controllato da te contenente la parola chiave del dominio della vittima. Se la vittima interagisce in qualche modo con DNS o HTTP con essi, saprai che sta cercando attivamente domini sospetti e dovrai essere molto stealth.
Valuta il phishing
Usa Phishious per valutare se la tua email finirà nella cartella dello spam o se verrà bloccata o avrà successo.
Riferimenti
Last updated