Leggi anche: 7 Tool per pentesting su Ubuntu

Siamo arrivati al terzo appuntamento con la rubrica “Pentesting”, oggi vedremo un argomento che ai giorni d’oggi è molto diffuso, il phishing. Cos’è il phishing? In informatica il phishing è una truffa, facciamo un esempio per capire meglio: apri la tua casella di posta elettronica e ti arriva un email dalla tua “banca” con scritto che il tuo conto è stato bloccato, quindi ti invitano a cliccare su un link, e accedere tramite un form sulla pagina web in cui sei stato reindirizzato, quella pagina web non era della banca, bensi di un hacker che ha pensato bene di clonare la pagina e farti inserire i dati nel form per poi riceverli nel suo PC.

Oggi parliamo di Social engineering toolkit (SET) sviluppato da TrustedSec in linguaggio Python, licenza open source, come da titolo questo programma accessibile a tutti permette di fare delle fake login di vari social network [Facebook,twitter ecc…] (ma anche di siti di banche), quindi permette come prima cosa di rubare credenziali d’accesso importanti; permette di inviare SMS anonimi, montare delle pendrive infette, e in alcuni casi interagisce con Metasploit Framework il più potente programma/framework contenente exploits, payloads, auxiliary, encoders ecc… , spiegheremo questo più in la. Oggi vediamo come fare delle fake login correttamente grazie a SET e all’ingegneria sociale, quindi in generale vediamo come rubare delle credenziali di accesso, la principale funzione di SET, in successivi articoli vediamo anche l’integrazione con Metasploit, ma questo ripeto, lo vedremo prossimamente.

Il canale Telegram di InTheBit con le migliori offerte techle migliori offerte tech

1: Aprire SET dal file setoolkit.py nella cartella set/ (~/set/setoolkit.py) [root]

Apri il terminale e digita:

cd set/ 
sudo -s
chmod +x setoolkit (*)
./setoolkit

*il comando chmod va eseguito se il file non ha i permessi di esecuzione (verifica: ls -> se setoolkit = rosso -> esegui chmod; se setoolkit = verde allora continua)

set_start
SET: Menù principale di selezione

2) Attacco basato su Ingegneria Sociale

Il prossimo passo per creare una fake login è selezionare gli attacchi ad ingegneria sociale, quindi selezioniamo 2 nel prossimo menù cioè “Website Attack Vectors”, come in immagine

set_subMenu
SET: subMenu di Social-Engineering Attacks > Website Attack Vectors

Poi ci ritroviamo in un menu in cui vengono illustrati i vari tipi d’attacco, lo analizzeremo insieme:

set_attackMethods
SET: metodi di attacco basati sul WEB

Possiamo vedere che nel menu degli attacchi basati sul web troviamo varie scelte, il primo e un applet Java, cioè una piccola applicazione scritta in Java (chiamata applet) che si esegue dal browser, è molto comodo, è una delle scelte migliori per ownare il computer di qualcuno, ma bisogna fare attenzione agli encoder in quanto Java ha di default la sicurezza media, quindi il codice sorgente verrà scannerizzato e al 97% l’applet verrà respinto dal sistema. Contiene un payload generato da Metasploit che collega al listener di Metasploit framework, tutto questo avviene tramite una semplice pagina web, poi viene richiesto di eseguire il plugin Java [Metasploit richiesto]

La seconda scelta propone un exploit che sfrutta vulnerabilità dei vari browser, (consigliato Internet Explorer come scelta 😀 ) , l’exploit viene generato automaticamente da Metasploit framework attraverso una pagina web (HTML se non sbaglio), un tag HTML <iframe> “consegnerà” il pacco (payload) al destinatario [Metasploit richiesto]

La terza è quella che ci interesserà cioè il Credential Harvester Attack Method che consiste in clonare una pagina web a scelta che abbia dei form, questa funzione richiede Apache, ma vedremo come disattivare questa funzione in quanto non ci consente di vedere quello che succede nel server in tempo reale… il funzionamento verrà descritto tra poco… (PS. Non è visibile ad alcun antivirus)

Le altre sono meno importanti, le saltiamo per il momento.

Quindi scegliamo la terza opzione

set_chooseMethodForHarvest
SET: scelta per attacco harvest

Dopo aver scelto il metodo di attacco harvest dobbiamo scegliere come includere le pagine da clonare, le scelte sono 3:

  • Template predefiniti di SET
  • “Clonatore” di siti web (tramite URL)
  • Import via file html (index.html) da locale

Scegliamo l’opzione 2:

set_IPForHarvestMethod
SET: scelta IP (indirizzo server)

In questa fase abbiamo due scelte:

  • eseguire il server in locale
  • eseguire il server in network

se vogliamo eseguire il server in locale apriamo il terminale e digitiamo ifconfig, a sinistra scegliamo la scheda di rete su cui si appoggia il computer al momento dell’attacco e scriviamo l’IndirizzoIPv4 che vediamo in quel terminale; per eseguire in remoto bisogna aprire la porta 80/TCP del proprio router per il proprio indirizzo IP (si è vulnerabili ad attacchi DoS anche se non si ha un sito, comunque abbiamo una porta aperta)  e nel menù di scelta digitare il proprio indirizzo IP pubblico.

Poi ci chiede quale sia il sito che dobbiamo clonare (ricordiamoci: due form di login, non uno di più), digitiamo il sito target e diamo invio

[io userò: http://www.facebook.com/login.php]

set_fail
SET: fail

Molto probabilmente, se non avete un server apache attivo l’output sarà come quello in foto, ritorna automaticamente al menù di scelta quindi apriamo un altro terminale e probabilmente sarete gia nella cartella set/, quindi digitiamo i seguenti comandi:

cd config/
gedit set_config.py

Vi troverete un file di configurazione, con CTRL+F cerchiamo Apache, quindi GEdit evidenzierà le due parole APACHE, la prima dice se abilitare il server APACHE tramite True o False (True = si , False = no) [True= 1, False= 0], la seconda indica la root directory di apache server (relativa a APACHE_SERVER)

Aperto il file troveremo i valori così impostati, noi modifichiamo il valore APACHE_SERVER da “True” a “False”

apache_TRUE_tr

apache_0Modifichiamo anche il file setoolkit, cerchiamo apache e modifichiamo il valore *_SERVER= Da ON A OFF

 

apache_0_configapache_0_config1poi riavviamo SEToolkit e rifacciamo la procedura di sopra

Ora… sorpresa!

set_success

il server è in attesa che l’utente apra il link, compili i form di login e prema il tasto “Accedi”

Per far si che la fake login funzioni basta inviare il proprio indirizzo IP e farlo inserire nella barra URL a una persona, lui inserirà i suoi dati e non si accorgerà di niente in quanto viene reindirizzato sul suo profilo facebook, anche se inserisce dati errati (pagina memorizzata nelle cache offilne) [Non vi sto a far vedere la login]

Ecco l’output, analizziamolo:

set_result

Inizia con l’indirizzo IP della persona che ha aperto il link, data di apertura, metodo (GET), codice di risposta [200 è positivo]

Consideriamo il secondo blocco dell’output:

ci sono tutti i parametri della pagina, poi ci sono i risultati dei form evidenziati in rosso:

il primo form si chiama email e corrisponde a ciao

il secondo si chiama pass e corrisponde a inthebit.

Il server rimarrà in ascolto finche verrà arrestato tramite CTRL+C o via chiusura terminale, per chi usa tramite IP Pubblico: nascondete l’indirizzo IP con TinyURL (TinyURL)

!!USATE LA GUIDA A VOSTRO RISCHIO E RESPONSABILITA’, LA VIOLAZIONE DI ACCOUNT E’ REATO NE IO NE INTHEBIT CI ASSUMIAMO RESPONSABILITA’ GUIDA SOLO A SCOPO INFORMATIVO!!

Grazie per aver seguito la guida!