Istruzioni per Ettercap: attacco man-in-the-middle (MitM), intercettazione password, bypass HSTS, sostituzione dati al volo, utilizzo di filtri e plugin personalizzati, hooking BeEF, infezione backdoor. Easy Hack: i segreti degli hacker nelle cose semplici Intercettazione

Alternative a Ettercap

Ettercap è il massimo programma popolare per un attacco man-in-the-middle, ma è il migliore? In tutte le istruzioni vedrai che Ettercap non viene quasi mai utilizzato da solo, che l'uno o l'altro programma viene sempre integrato con esso in una catena di elaborazione del traffico. Forse questo aggiunge flessibilità; in generale, questo approccio è la base di UNIX: un programma esegue un'attività e l'utente finale combina vari programmi per ottenere il risultato desiderato. Con questo approccio, il codice del programma è più facile da mantenere; da questi "mattoni" in miniatura è possibile costruire un sistema di qualsiasi complessità e flessibilità. Tuttavia, avere cinque console aperte con compiti diversi, il cui lavoro è finalizzato al raggiungimento di un unico risultato, non è molto conveniente, è semplicemente più complicato, c'è la possibilità di commettere un errore ad un certo punto e l'intero configurato il sistema funzionerà invano.

Net-Creds annusa:

  • URL visitati
  • Richieste POST inviate
  • accessi/password da moduli HTTP
  • accessi/password per l'autenticazione HTTP di base
  • Ricerche HTTP
  • Login/password FTP
  • Login/password IRC
  • Login/password POP
  • Login/password IMAP
  • Login/password Telnet
  • Login/password SMTP
  • Stringa della comunità SNMP
  • tutti i protocolli NTLMv1/v2 supportati come HTTP, SMB, LDAP, ecc.
  • Kerberos

Una buona selezione di immagini intercettate e la rete derivante è più semplice a questo riguardo: mostra solo le immagini intercettate.

Passa la macchina alla modalità di inoltro.

Echo "1" > /proc/sys/net/ipv4/ip_forward

Avvia Ettercap con un'interfaccia grafica (-G):

Ettercap-G

Ora seleziona Host, c'è una sottovoce Scansione per host. Una volta completata la scansione, seleziona Elenco host:

Come Target1, seleziona il router (Aggiungi a Target 1), come Target2 seleziona il dispositivo che attaccherai (Aggiungi a Target 2).

Ma qui può sorgere il primo intoppo, soprattutto se gli host sono tanti. In varie istruzioni, incluso nel video presentato sopra, gli autori salgono sulla macchina di destinazione (tutti, per qualche motivo, hanno Windows lì) e utilizzando il comando guardano l'IP di questa macchina in rete locale. D'accordo, questa opzione è inaccettabile per le condizioni reali.

Se esegui la scansione utilizzando , puoi ottenere alcune informazioni aggiuntive sugli host o, più precisamente, sul produttore della scheda di rete:

Nmap -sn 192.168.1.0/24

Se i dati non sono ancora sufficienti, puoi eseguire una scansione per determinare il sistema operativo:

Nmap -O 192.168.1.0/24

Come possiamo vedere, la macchina con IP 192.168.1.33 si è rivelata essere Windows, se questo non è un segno dall'alto, allora cos'è? 😉 LOL

Questo è ciò che aggiungiamo come secondo obiettivo.

Ora vai alla voce di menu Mitm. Lì, seleziona Avvelenamento ARP... Seleziona la casella per Sniffa connessioni remote.

Iniziamo a raccogliere, in una finestra lanciamo

Credimenti netti

in un altro (entrambi i programmi possono essere eseguiti senza opzioni)

Rete derivante

La raccolta dei dati è iniziata immediatamente:

Sul lato destro, la rete derivante ha aperto un'altra finestra in cui mostra le immagini intercettate. Nella finestra net-creds vediamo i siti visitati e le password intercettate:

1.2 Ettercap + Suite Burp
3. Visualizza i dati (siti visitati e password acquisite) in Ettercap

Nel menu Visualizza abbiamo accesso alle schede Connessioni e Profili. Puoi anche selezionare la casella Risolvi indirizzi IP. Le connessioni sono, ovviamente, connessioni. Ettercap raccoglie i profili in memoria per ogni host che scopre. Qui vengono raccolti utenti e password. In questo caso, i profili con dati di account acquisiti (password) sono contrassegnati con una croce:

Non è necessario fare troppo affidamento sui profili: ad esempio, vengono contrassegnati accessi e password intercettati per FTP e altri servizi, per i quali il programma può interpretare chiaramente le informazioni ricevute come credenziali. Ciò non include, ad esempio, i dati di autenticazione di base, login e password inseriti nei moduli web.

In Connections, i dati più promettenti sono contrassegnati da un asterisco:

È possibile fare doppio clic su queste voci per visualizzare i dettagli:

Per non cercare queste stelle in tutta la lista, puoi ordinarle in base a questo campo e appariranno tutte in alto o in basso:

Autenticazione di base rilevata:

Password di accesso per Yandex (evidenziata di seguito):

Queste sono le credenziali intercettate per VKontakte:

Inoltre, i dati più interessanti vengono raccolti nella console inferiore:

Se vuoi salvare i risultati del programma, usa queste opzioni (specifica i tasti all'avvio di Ettercap:

Opzioni di registrazione: -w, --write scrivi i dati catturati su pcapfile -L, --log scrivi tutto il traffico su questo -l, --log-info scrivi solo le informazioni passive su questo -m, --log-msg scrivi tutti i messaggi in questo -c, --compress usa la compressione gzip per i file di registro

4. Sostituzione dei dati al volo in Ettercap
4.1 Utilizzo dei filtri personalizzati Ettercap

Nota: nonostante tutti i test, i filtri Ettercap non hanno ancora funzionato. È difficile capire se sia una questione di mani, di caratteristiche hardware o di un errore nel programma stesso... Ma per la versione 0.8.2 (l'ultima al momento), c'è una segnalazione di bug sui problemi con i filtri. In generale, a giudicare dalle segnalazioni di bug e dai forum, i filtri cadono spesso o non funzionano affatto per molto tempo. C'è un ramo in cui sono state apportate modifiche 5 mesi fa https://github.com/Ettercap/ettercap/tree/filter-improvements, ad es. miglioramenti del filtro (con miglioramenti del filtro). Sia per questo ramo che per la versione dal repository sono stati effettuati un'ampia varietà di test, sono stati testati vari filtri in condizioni diverse, è stato impiegato molto tempo, ma non ci sono stati risultati. A proposito, per installare la versione di miglioramento del filtro in Kali Linux devi fare questo:

Sudo apt-get rimuovi ettercap-graphic ettercap-common sudo apt-get install git debhelper bison check cmake flex ghostscript libbsd-dev libcurl4-openssl-dev libgtk2.0-dev libltdl-dev libluajit-5.1-dev libncurses5-dev libnet1-dev libpcap-dev libpcre3-dev libssl-dev libgtk-3-dev ghostscript groff libtool libpcre3 libncurses5-dev git clone -b miglioramenti del filtro https://github.com/Ettercap/ettercap.git cd ettercap/ mkdir build cd build cmake ENABLE_PDF_DOCS =On ../make sudo make install

In generale, se i tuoi filtri non funzionano, non sei solo. Nelle istruzioni su Ettercap non posso tralasciare l'argomento dei filtri, quindi verranno comunque discussi.

Finora abbiamo utilizzato Ettercap per lo spoofing ARP. Questa è un'applicazione molto superficiale. Grazie ai filtri personalizzati possiamo intervenire e modificare il traffico al volo. I filtri devono essere contenuti in file separati e devono essere compilati con il programma Etterfilter prima dell'uso. Sebbene la documentazione a cui viene fornito il collegamento sembri scarsa, ma unita agli esempi forniti di seguito, ti consentirà di scrivere filtri piuttosto interessanti.

Creiamo il nostro primo filtro, sostituirà tutte le immagini con questo:

In un file denominato img_replacer.filter copia:

If (ip.proto == TCP && tcp.dst == 80) ( if (search(DATA.data, "Accept-Encoding")) ( replace("Accetta-Encoding", "Accetta-Rubbish!"); # nota: la stringa di sostituzione ha la stessa lunghezza dell'originale msg("zapped Accept-Encoding!\n" ) ) if (ip.proto == TCP && tcp.src == 80) ( replace("src=", " src=\"http://www.irongeek.com/images/jollypwn.png\" "); sostituisci("SRC=", "src=\"http://www.irongeek.com/images/jollypwn. png\" "); sostituisci("src=", "src=\"http://www.irongeek.com/images/jollypwn.png\" "); sostituisci("SRC=", "src=\" http://www.irongeek.com/images/jollypwn.png\" " msg("Filtro Ran.\n" );

Compila il file:

Etterfilter img_replacer.filter -o img_replacer.ef

Risultati della compilazione:

Etterfilter 0.8.2 copyright 2001-2015 Ettercap Development Team 14 tabelle di protocollo caricate: DECODED DATA udp tcp esp gre icmp ipv6 ip arp wifi fddi tr eth 13 costanti caricate: VRRP OSPF GRE UDP TCP ESP ICMP6 ICMP PPTP PPPOE IP6 IP ARP Parsing source file "img_replacer.filter" fatto.

Apertura del meta-albero completata.

Conversione delle etichette in offset reali completata.

Scrittura dell'output su "img_replacer.ef" completata.

-> Script codificato in 18 istruzioni.

L'opzione -F indica al programma di caricare il filtro dal file che segue l'opzione. Dopo la compilazione, il nome del nostro nuovo file con il filtro è img_replacer.ef, quindi il comando assume la forma:

Ettercap -G -F img_replacer.ef

# sostituisce il testo in un pacchetto: if (ip.proto == TCP && search(DATA.data, "lol"))( replace("lol", "smh"); msg("filter ran"); ) # mostra messaggio , se la porta tcp è 22 if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) ( msg("pacchetto SSH\n"); ) ) # annota l'intero traffico telnet, eseguire anche ./program per ciascun pacchetto if (ip.proto == TCP) ( if (tcp.src == 23 || tcp.dst == 23) ( log(DATA.data, "./ logfile.log "); exec("./program"); ​​​​) ) # registra tutto il traffico tranne http if (ip.proto == TCP && tcp.src != 80 && tcp.dst != 80) ( log (DATA.data , "./logfile.log" ) # alcune operazioni con payload del pacchetto if (DATA.data + 20 == 0x4142) ( DATA.data + 20 = 0x4243; ) else ( DATA.data = "modified "; DATA .data + 20 = 0x4445; ) # elimina tutti i pacchetti contenenti "ettercap" if (search(DECODED.data, "ettercap")) ( msg("qualcuno sta parlando di noi...\n"); drop( ); kill(); ) # scrive i pacchetti ssh decriptati che corrispondono all'espressione regolare if (ip.proto == TCP) ( if (tcp.src == 22 || tcp.dst == 22) ( if (regex(DECODED.data, ".*login.*")) ( log(DECODED.data, "./decrypted_log"); ) ) ) # uccide i pacchetti if (ip.ttl< 5) { msg("The packet will die soon\n"); } # то же самое для IPv6, но делая тривиальный тест убеждаемся, что перед нами действительно IPv6 пакеты if (eth.proto == IP6 && ipv6.hl < 5) { msg("The IPv6 packet will die soon\n"); } # сравнение строки на данный сдвиг if (DATA.data + 40 == "ette") { log(DATA.data, "./logfile"); } # вставить файл после указанного пакета if (tcp.src == 21 && search(DATA.data, "root")) { inject("./fake_response"); } # целиком заменить пакет на другой if (tcp.src == 23 && search(DATA.data, "microsoft")) { drop(); inject("./fake_telnet"); } # Изменение бинарных данных используя внешнюю программу if (udp.dst == 53 && pcre_regex(DATA.data, ".*\x03com\x00.*")) { log(DATA.data, "/tmp/payload"); drop(); execinject("/bin/sed "s/\x03com\x00/\x02my\x04page\x02de\x00/g" /tmp/payload"); udp.len += 7; exec("/bin/rm /tmp/payload"); msg("faked"); } # фильтровать только указанный IP адрес if (ip.src == "192.168.0.2") { drop(); } # делать то же самое для IPv6 if (ipv6.src == "2001:db8::1") { drop(); } # комбинируем IPv4 и IPv6 if (eth.proto == IP && ip.dst == "192.168.0.2") { msg("drop IPv4"); drop(); } if (eth.proto == IP6 && ipv6.dst == "2001:db8::1") { msg("drop IPv6"); drop(); } # транслировать tcp пакеты с порта 80 на 81 if (tcp.dst == 80) { tcp.dst -= 1; tcp.dst += 2; } # найти и покалечить пакеты ESP if (ip.proto == ESP) { DATA.data = "DEADDECAF"; }

4.2 Sostituzione dei dati utilizzando Burp

Lanciamo Ettercap e Burp come descritto nel paragrafo 1.2 oppure nel paragrafo 2.2.

In Burp, vai su Proxy -> Opzioni. Troviamo Match e Sostituisci lì. Fare clic su Aggiungi per aggiungere una nuova regola.

  • L'intestazione della richiesta è l'intestazione della richiesta
  • Richiedi corpo - richiedi corpo
  • Intestazione della risposta: intestazione della risposta
  • Corpo di risposta - corpo di risposta
  • Richiedi nome parametro: richiedi il nome del parametro
  • Richiedi valore parametro: richiedi il valore del parametro
  • Richiesta prima riga: prima riga della richiesta

Se è necessario modificare i dati trasmessi con il metodo GET, ciò vale per le intestazioni.

IN Markup HTML Esiste anche una cosa come head (tag head). Quelli menzionati appena sopra non hanno nulla a che fare con questo titolo. Un po' più in alto parliamo delle intestazioni dei pacchetti. Se vuoi cambiare il contenuto Pagine HTML, dovresti sempre selezionare Corpo della risposta anziché Intestazione della richiesta, anche se intendi modificare il contenuto del tag head (ad esempio, il titolo).

Se non hai familiarità con espressioni regolari, quindi, in linea di principio, non c'è nulla di cui preoccuparsi: l'HTML perdona molto e ciò che non capisce, semplicemente ignora: puoi usarlo. Se sai usare le espressioni regolari, allora ti rispetto.)))

Ad esempio, creiamo una nuova regola, modificando l'intestazione della richiesta nel corpo della risposta. Nella regola stessa cambieremo

.*

Nessun titolo

Seleziona la casella di corrispondenza Regex.

Ora su tutti i siti (senza HTTPS) il titolo sarà Nessun titolo:

Inserisci una riga arbitraria dopo il tag body (sarà la prima riga nel testo). L'intestazione della richiesta viene modificata nel corpo della risposta. Cambiamo

Seleziona la casella di corrispondenza Regex.

Nell'angolo in alto a destra (a seconda del layout) appare la scritta "I am cool!". Puoi inserire CSS, codice JavaScript, qualsiasi testo, qualsiasi cosa. In genere puoi rimuovere tutto dalla pagina e poi riempirla con i tuoi contenuti: tutto dipende dalla tua immaginazione.

L’idea era di modificare leggermente ciascun modulo in modo che i dati venissero inviati al server originale e al server dell’aggressore (implementare l’invio multiplo per ciascun modulo). Ma avendo ragionato che se i dati trasmessi non sono crittografati e abbiamo accesso ad essi, allora li vediamo già, non è necessario inviarli a nessun server. Tuttavia, se qualcuno ha bisogno di un esempio realmente funzionante di invio di dati da un modulo a più server contemporaneamente.

5. Collegamento su BeEF

Per iniziare a utilizzare le funzionalità di BeEF, dobbiamo incorporare un file JavaScript nel codice HTML, solitamente una riga come:

I due metodi successivi differiscono solo nel metodo di incorporamento di questa stringa.

5.1 Collegamento di BeEF utilizzando i filtri Ettercap

[sezione da preparare in seguito]

5.2 Collegare BeEF con Burp

È necessario iniziare esattamente come scritto nel paragrafo 4.2. Solo che invece di sostituire le intestazioni e aggiungere testo al sito, implementeremo il codice JavaScript sotto forma di una riga:

Nel mio caso, questo file è disponibile sull'IP 192.168.1.36 sulla porta 3000. Il file si chiama hook.js (può essere modificato nelle impostazioni). Quelli. nel mio caso devo iniettare la linea:

Ciò può essere fatto, ad esempio, creando una nuova regola, modificando l'intestazione della richiesta nel corpo della risposta. La sostituzione deve avvenire nel codice HTML stesso

Ottimo, quando si apre un qualsiasi sito web che non dispone di HTTPS, nel codice HTML viene inserito il codice JavaScript, che consente di raccogliere informazioni attraverso un browser agganciato ed effettuare vari attacchi:

6. Infezione con backdoor

Puoi sostituire e infettare i file eseguibili utilizzando sia i filtri Ettercap [che per qualche motivo non funzionano più] sia utilizzando applicazioni di terze parti. Ad esempio, BDFProxy può farlo al volo. Sfortunatamente, BDFProxy è ancora scosso dall'aggiornamento Backdoor Factory di aprile 2016: il pacchetto libmproxy è stato rinominato mitmproxy in Python. Per BDFProxy, il pacchetto libmproxy è una dipendenza necessaria; senza questo pacchetto il programma non si avvierà. Pertanto adesso, prima della “riparazione” di BDFProxy, è impossibile utilizzarlo, perché anche con Backdoor Factory installato, il programma BDFProxy lamenta l'assenza della libreria libmproxy...

Un'operazione simile può essere fatta con Burp Suite. Viene presentato l'algoritmo passo passo; non ha senso riscriverlo di nuovo in questa sezione.

7. Utilizzo dei plugin Ettercap

È possibile trovare informazioni sui plugin Ettercap. Di plugin ce ne sono parecchi; quelli descritti di seguito mi sembrano i più interessanti.

I plugin possono essere collegati all'avvio di Ettercap, c'è un'opzione per questo:

P, --plugin esegui questo

I plugin possono anche essere caricati dalla GUI:

[MATERIALE IN PREPARAZIONE]

7.1 arp_cop

Segnala attività ARP sospette monitorando passivamente le richieste/risposte ARP. Può segnalare tentativi di avvelenamento ARP o semplici conflitti IP o modifiche IP. Se stai creando un elenco iniziale di host, il plug-in funzionerà in modo più accurato.

Ettercap -TQP arp_cop //

Un esempio di rilevamento reale dello spoofing ARP:

Espandere

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // password per mial: ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team In ascolto su: eth0 -> 08:00:27:A3:08:4A 192.168.1.36/ 255.255.255.0 fe80::a00:27ff:fea3:84a/64 La dissezione SSL richiede uno script "redir_command_on" valido nel file etter.conf Privilegi ceduti a EUID 65534 EGID 65534... 33 plugin 42 dissettori di protocollo 57 porte monitorate 20530 mac impronta digitale del fornitore 1766 impronta digitale del sistema operativo tcp 2182 servizi conosciuti Randomizzazione di 255 host per la scansione... Scansione dell'intera maschera di rete per 255 host... * |====== =============== ============================>

Mial@HackWare-Mint ~ $ sudo ettercap -TQP arp_cop // password per mial: ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team In ascolto su: eth0 -> 08:00:27:A3:08:4A 192.168.1.36/ 255.255.255.0 fe80::a00:27ff:fea3:84a/64 La dissezione SSL richiede uno script "redir_command_on" valido nel file etter.conf Privilegi ceduti a EUID 65534 EGID 65534... 33 plugin 42 dissettori di protocollo 57 porte monitorate 20530 mac impronta digitale del fornitore 1766 impronta digitale del sistema operativo tcp 2182 servizi conosciuti Randomizzazione di 255 host per la scansione... Scansione dell'intera maschera di rete per 255 host... * |====== =============== ============================>|| 100,00 % 3 host aggiunti all'elenco degli host... Avvio di Unified sniffing... Interfaccia solo testo attivata... Premi "h" per la guida in linea Attivazione del plugin arp_cop... arp_cop: plugin in esecuzione... arp_cop: (nuovo host ) 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE ) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: ING) 2.168.1.35 finge di essere 192.168 . 1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.16 8.1 .1 arp_cop: (ATTENZIONE) 192.168 .1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE 192.16) 8. 1.35 finge di essere 192.168.0. 1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1. 1 arp_cop: (ATTENZIONE) 192.168. 1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE 192.168.1.3 5) finge di essere 192.168.1.1 arp_cop : (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (W ARNING) 192.168.1.35 finge essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 1 92. 168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192 .1 68.1.1 arp_cop: ( ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di esserlo 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 1 92.168 .1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE) 192.168.1.35 finge di essere 192.168.1.1 arp_cop: (ATTENZIONE 19 2.168) .1.35 finge di essere 192.168. 1.1 ..............................

7.2 aggiunta automatica

Aggiungerà automaticamente nuove vittime non appena si collegheranno all'attacco mitm di avvelenamento ARP. Cerca richieste ARP sulla rete locale e, se rilevate, il plug-in aggiungerà l'host all'elenco delle vittime se l'elenco è stato specificato come TARGET. L'host viene aggiunto quando da esso è visibile una richiesta arp.

7.3 chk_veleno

Controlla se i moduli arp etch in ettercap hanno esito positivo. Invia pacchetti eco ICMP contraffatti a tutte le vittime che adescano fingendo di essere ciascuna vittima. Può catturare una risposta ICMP con il nostro indirizzo MAC come destinazione, il che significa che l'esca tra i due obiettivi ha avuto successo. Controlla entrambi i percorsi di ciascuna connessione.

7.4 dns_spoof

Questo plugin interrompe le richieste DNS e risponde con una risposta contraffatta (falsa). Puoi scegliere a quale indirizzo deve rispondere il plugin modificando il file etter.dns. Il plugin intercetta le richieste A, AAAA, PTR, MX, WINS, SRV e TXT. Se si trattava di una richiesta A, il nome viene cercato nel file e viene restituito l'indirizzo IP (è possibile utilizzare caratteri jolly nel nome).

Lo stesso vale per le richieste AAAA.

7.5 trova_conn

Un plugin molto semplice che ascolta le richieste ARP per mostrarti tutti i target con cui l'host vuole comunicare. Può anche aiutarti a trovare indirizzi su LAN sconosciute.

Ettercap -TQzP trova_conn ettercap -TQu -i eth0 -P trova_conn

7.6 find_ettercap

Tenta di identificare i pacchetti ettercap inviati alla LAN. Può essere utile per identificare qualcuno che tenta di utilizzare ettercap. Non fare affidamento su di esso al 100% poiché i test funzionano solo su sequenze/numeri ID specifici.

7.7 scan_poisoner

Controllerò per vedere se qualcuno sta provocando tra noi e uno degli host nell'elenco. Innanzitutto controlla se due host nell'elenco hanno lo stesso indirizzo mac. Ciò può significare che uno di loro ci sta avvelenando fingendo di essere l’altro. Può generare molti falsi positivi in ​​un ambiente proxy-arp. È necessario creare un elenco di host per eseguire questo controllo. Successivamente, invia pacchetti echo icmp a ciascun host nell'elenco e controlla se l'indirizzo mac della fonte di risposta è diverso dall'indirizzo che abbiamo memorizzato nell'elenco con quell'IP. Ciò potrebbe significare che qualcuno sta adescando questo host fingendo di avere il nostro indirizzo IP e inoltrandoci i pacchetti intercettati. Non è possibile eseguire questo test attivo in modalità inoffensiva.

Ettercap -TQP scan_poisoner //

7.8 ricerca_promisc

Cerca di scoprire se qualcuno sta annusando (ascoltando) in modalità promiscua. Invia due diverse richieste arp mal formate a ciascuna destinazione nell'elenco degli host e attende le risposte. Se la risposta proviene dall'host di destinazione, è più o meno probabile che la destinazione abbia la scheda di rete in modalità promiscua. Potrebbe generare falsi allarmi. Puoi eseguirlo come da riga di comando o dal menu dei plugin. Poiché ascolta le risposte arp, sarà meglio se non le usi durante l'invio di richieste arp.

Ettercap -TQP search_promisc /192.168.0.1/ ettercap -TQP search_promisc //

Un esempio di come indovinarne due con successo schede di rete in modalità promiscua:

Espandere

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 copyright 2001-2015 Team di sviluppo Ettercap In ascolto su: eth0 -> 08:00:27:AF:30:B9 192.168.1.35/255.255.255.0 fe80::a00: 27ff:feaf:30b9/64 La dissezione SSL richiede uno script "redir_command_on" valido nel file etter.conf Ettercap potrebbe non funzionare correttamente. /proc/sys/net/ipv6/conf/eth0/use_tempaddr non è impostato su 0. Privilegi scesi su EUID 65534 EGID 65534... 33 plugin 42 dissettori di protocollo 57 porte monitorate 20388 impronta digitale del fornitore mac 1766 impronta digitale del sistema operativo tcp 2182 servizi conosciuti Lua : non sono stati specificati script, non si avvia! Randomizzazione di 255 host per la scansione... Scansione dell'intera maschera di rete per 255 host... * |============================== ============= ====================>

Root@HackWare:~# ettercap -TQP search_promisc ettercap 0.8.2 copyright 2001-2015 Team di sviluppo Ettercap In ascolto su: eth0 -> 08:00:27:AF:30:B9 192.168.1.35/255.255.255.0 fe80::a00: 27ff:feaf:30b9/64 La dissezione SSL richiede uno script "redir_command_on" valido nel file etter.conf Ettercap potrebbe non funzionare correttamente. /proc/sys/net/ipv6/conf/eth0/use_tempaddr non è impostato su 0. Privilegi scesi su EUID 65534 EGID 65534... 33 plugin 42 dissettori di protocollo 57 porte monitorate 20388 impronta digitale del fornitore mac 1766 impronta digitale del sistema operativo tcp 2182 servizi conosciuti Lua : non sono stati specificati script, non si avvia! Randomizzazione di 255 host per la scansione... Scansione dell'intera maschera di rete per 255 host... * |============================== ============= =====================>| 100,00% 5 host aggiunti all'elenco degli host... Avvio di Unified sniffing... Solo testo Interfaccia attivata... Premi "h" per la guida in linea Attivazione del plugin search_promisc... search_promisc: Ricerca di NIC promisc... Meno probabilmente sniffing di NIC : - 192.168.1.36 - 192.168.1.34 Molto probabilmente NIC di sniffing: - NONE Chiusura interfaccia testo... Chiusura ettercap... Pulizia Lua completata! Lo sniffing unificato è stato interrotto.

7.9 SSLStrip

Durante un attacco SSL mitm, ettercap sostituisce il vero certificato SSL con il proprio. Il certificato falso viene creato al volo e tutti i campi vengono compilati in conformità con il certificato reale presentato dal server.

  • (62%)
  • (56.5%)
  • (CASUALE - 0,2%)
  • Tra i compiti della sicurezza informatica sta diventando sempre più importante la lotta contro la fuga di informazioni riservate. Secondo fonti aperte, nell’ultimo 2016 il numero di fughe di notizie è aumentato dell’86% e il 47% ha riscontrato questo problema. aziende russe profili molto diversi. Questo problema viene risolto utilizzando i sistemi di classe DLP (Data Loss Prevention). L'articolo discute l'implementazione di uno dei moduli di tale sistema, che fornisce il monitoraggio del traffico SSL/TLS intercettando le funzioni del sistema Windows.

    Combattere le perdite informazioni importanti richiede il monitoraggio del traffico di rete. Ciò comporta l'analisi di tutti i dati trasmessi sulla rete in vari modi, compresi i dati trasmessi crittografati tramite il protocollo SSL/TLS.

    L'intercettazione dei dati trasmessi tramite il protocollo SSL/TLS è possibile utilizzando un attacco man-in-the-middle (o MITM in breve). Per fare ciò, il sistema di monitoraggio funge da intermediario tra il client e il server. Tutte le informazioni del client vanno prima all'intermediario (ovvero al sistema di monitoraggio) e poi vengono inoltrate al server. Al contrario, tutte le informazioni provenienti dal server raggiungono prima l'intermediario e poi vengono inoltrate al client.

    Fig 1. Attacco man-in-the-middle


    Il modo più semplice per “presentare” un intermediario si basa sull'utilizzo di un server intermedio (server proxy). In questo caso, il client e il server non comunicano direttamente. Il client invia tutte le richieste a un server intermedio, che le inoltra al server reale. Allo stesso modo, il server reale invia risposte a un server intermedio, che le inoltra al client.

    Se i dati vengono trasferiti utilizzando SSL/TLS, entrambe le connessioni (dal client al server intermedio e dal server intermedio al server reale) sono sicure. Entrambe le connessioni utilizzano il proprio certificato e la propria chiave privata. Il server intermedio ha le chiavi private per entrambe le connessioni e “ricodifica” i dati: riceve i dati crittografati, li decrittografa e li crittografa utilizzando un altro chiave privata e infine lo invia. Pertanto, il server intermedio ha trasmesso tutti i dati in forma non crittografata.

    L'utilizzo di un server di staging presenta due importanti svantaggi. Innanzitutto, potrebbe essere troppo evidente per l'utente finale. In secondo luogo, se il server intermedio viene eseguito sul computer client, a livello del sistema operativo il numero di connessioni di rete aperte raddoppia. Ciò crea un carico aggiuntivo sul sottosistema di rete del sistema operativo e può portare a guasti nei casi in cui gran numero connessioni di rete aperte contemporaneamente.

    L'intercettazione delle chiamate alle funzioni di sistema fornisce un modo più elegante e discreto per implementare un man-in-the-middle. Per fare ciò, il sistema di monitoraggio si collega a un processo già in esecuzione e sostituisce per esso le funzioni di sistema utilizzate durante l'interazione con la rete. Inoltre, quando il processo accede alle funzionalità del sistema intercettato, il controllo viene trasferito al sistema di monitoraggio. Pertanto, controlla completamente le attività di rete del processo e può fungere da intermediario nell'interazione del processo con un server remoto.


    Figura 2. Attacco man-in-the-middle che utilizza una libreria middleware che intercetta le funzioni del sistema


    Il sistema di monitoraggio del traffico SSL/TLS viene avviato utilizzando tre semplici passaggi:
    1. Connettersi al processo client specificato (utilizzando caratteristiche standard sistema operativo).
    2. Caricamento di una libreria intermedia dinamica, che implementa le proprie funzioni di interazione di rete.
    3. Configurare l'intercettazione delle funzioni di interazione di rete in modo che quando vengono chiamate queste funzioni, la chiamata non viene effettuata alle funzioni di sistema, ma alle funzioni implementate nella libreria caricata.

    La libreria di mediazione ha le stesse funzionalità del server intermedio. Pertanto, tutte le informazioni dall'applicazione client vanno prima alla libreria intermedia e quindi vengono inoltrate al server reale. Al contrario, tutte le informazioni dal real server vanno prima alla libreria intermediaria e poi inoltrate all'applicazione.


    Fig 3. Intercettazione dei dati da parte di una biblioteca intermediaria


    Per interagire con il server, la biblioteca intermediaria utilizza funzioni e meccanismi standard del sistema. Se le informazioni vengono trasmesse tramite SSL/TLS, viene utilizzata una connessione sicura, stabilita dalla biblioteca intermediaria. Una volta stabilita la connessione, la biblioteca intermediaria “conosce” la chiave privata utilizzata per crittografare/decrittografare i dati.

    L'interazione con l'applicazione client avviene in modo leggermente diverso. Una libreria proxy assume il controllo quando un'applicazione client chiama alcune funzioni di rete. Se la funzione chiamata ha argomenti di input, la libreria middleware riceve i valori di tali argomenti. Successivamente, la libreria intermedia “emula” il funzionamento di questa funzione e, se la funzione ha argomenti di output, la libreria intermedia genera i valori di questi argomenti. Questa logica si applica assolutamente a tutte le funzioni intercettate, comprese le funzioni di stabilire una connessione, trasmettere dati e ricevere risposte dal server.

    La libreria intermedia interagisce simultaneamente sia con l'applicazione client che con il server remoto. La logica di funzionamento dipende dalle azioni eseguite dall'applicazione client:

    1. La creazione di una nuova connessione di rete avviene come segue:
    - l'applicazione richiama la funzione di sistema necessaria;
    - la chiamata viene trasmessa alla biblioteca intermediaria;
    - la libreria intermediaria stabilisce una connessione con il server, ed esegue autonomamente tutte le azioni previste dal protocollo SSL/TLS: verifica del certificato del server, invio del proprio certificato, handshake, generazione di una chiave privata, ecc.
    - la biblioteca intermediaria restituisce il controllo all'applicazione;
    - l'applicazione esegue tutte le azioni necessarie per stabilire una connessione tramite il protocollo SSL/TLS, richiamando funzioni di comunicazione di rete. La libreria di mediazione intercetta tutte queste chiamate, ma non effettua alcuna chiamata al real server, ma “risponde” all'applicazione stessa. Dal punto di vista dell'applicazione, tutto sembra come se ci fosse un'interazione con un server reale (incluso l'handshake e la generazione di una chiave privata).
    Come risultato di queste azioni, la biblioteca intermediaria dispone contemporaneamente di due chiavi private del protocollo SSL/TLS. Un tasto viene utilizzato per interagire con l'applicazione, l'altro viene utilizzato per interagire con il server.

    2. Per trasferire i dati al server, l'applicazione richiama una funzione di sistema. I dati già crittografati vengono passati all'input della funzione. La libreria middleware intercetta questa chiamata ed effettua le seguenti operazioni:
    - decrittografa i dati trasmessi utilizzando la chiave privata ricevuta quando si stabilisce una connessione con l'applicazione;
    - crittografa i dati ricevuti utilizzando la chiave privata ricevuta quando si stabilisce una connessione con il server;
    - invia dati crittografati al server.

    3. La ricezione dei dati dal server avviene in modo simile, ma in ordine inverso. L'applicazione chiama la funzione get data e la libreria middleware intercetta questa chiamata ed effettua le seguenti operazioni:
    - riceve una porzione di dati dal server;
    - decrittografa i dati ricevuti utilizzando la chiave privata ricevuta quando si stabilisce una connessione con il server;
    - crittografa i dati ricevuti utilizzando la chiave privata ricevuta quando si stabilisce una connessione con l'applicazione;
    - restituisce dati crittografati (o parte di essi) come risultato della funzione.

    4. Quando la connessione viene persa, l'applicazione richiama la funzione corrispondente. La libreria middleware intercetta questa chiamata, chiude la connessione al server, rimuove le sue strutture interne e restituisce il controllo all'applicazione.

    L'implementazione tecnica del metodo proposto per l'intercettazione del traffico presenta una serie di difficoltà. L'applicazione può utilizzare vari modi interazione di rete (modalità bloccante e non bloccante, modalità operativa asincrona, ecc.). In un sistema di monitoraggio completo è necessario tenere conto di tutti i possibili scenari di comportamento dell'applicazione. In caso contrario, il sistema di monitoraggio non sarà operativo.

    Il problema più serio è che la presenza di una libreria intermedia può essere notata da un utente esperto. La libreria proxy "risponde" all'applicazione per conto del server, ma utilizza il proprio certificato autofirmato. Molte applicazioni client (come i browser Internet) funzionano correttamente con il certificato autofirmato del server, ma consentono sempre di visualizzarlo. Se l'utente vede un certificato autofirmato che non ha nulla a che fare con il server reale, potrebbe sospettare la presenza di un intermediario.

    In generale, il metodo proposto per monitorare il traffico TLS/SSL è estremamente efficace per diversi motivi. Innanzitutto, la libreria funge da intermediario a pieno titolo tra l'applicazione e il server. Controlla completamente tutta l'attività di rete dell'applicazione e tutti i dati inviati/ricevuti. In secondo luogo, l'implementazione di una libreria intermedia non richiede notevoli risorse risorse di sistema. Infine, la presenza di una libreria intermediaria è evidente solo a un utente esperto.

    Modi per hackerare e proteggere la tua sessione dai furti

    La maggior parte dei siti su Internet sono aperti alle influenze esterne degli hacker. Anche i progetti Internet più grandi e costosi vengono violati: lasciano tracce o rubano la banca dati. Di conseguenza, il proprietario della risorsa soffre, così come i visitatori.

    Per evitare problemi di hacking, è necessario adottare una serie di misure durante lo sviluppo. Alcune azioni preventive devono essere eseguite durante il funzionamento del sito.

    Negli articoli precedenti ho mostrato come vengono eseguiti i server. Oggi parleremo di intercettare e proteggere le sessioni da parte degli hacker.

    Sessione del sito

    PHP è probabilmente il linguaggio di programmazione lato server più comune per i siti web. In PHP, una sessione del sito viene avviata utilizzando il comando session_start(). Prima di iniziare, è possibile specificare parametri aggiuntivi. La sessione solitamente memorizza importanti informazioni personali sull'utente: login, nome, password,...

    Dirottamento della sessione

    Esistono 2 modi per memorizzare l'ID di sessione: nei cookie e nella barra degli indirizzi. La prima opzione è più affidabile della seconda, ma entrambe sono hackerabili in un modo o nell'altro. Questo tipo di hacking è chiamato dirottamento della sessione.

    Lascia che l'identificatore venga memorizzato nell'URL del sito. Un visitatore loggato, passeggiando tra le pagine del tuo sito, decide con qualcuno. Quando pubblica un collegamento, fornisce il collegamento con il suo ID di sessione. Se il sito non dispone di metodi di sicurezza aggiuntivi, facendo clic su tale collegamento, il nuovo visitatore accederà già come primo utente, se la sessione non è ancora terminata. Quindi fai quello che vuoi sul sito entro i limiti consentiti dalle regole.

    Con i cookie le cose sono più complicate, ma tutto è anche abbastanza facile da intercettare. Molti siti non filtrano gli script del browser quando gli utenti pubblicano informazioni. Un potenziale utente malintenzionato inserisce uno script di questo tipo nella pagina. Un visitatore registrato arriva alla pagina... Lo script legge il valore del cookie o la barra degli indirizzi e trasmette l'identificatore di sessione a un altro sito. Un altro sito appartiene a un hacker. Tutto il resto è semplice. Viene contraffatto un cookie oppure viene inserito l'indirizzo di una pagina del sito web con l'identificatore di sessione richiesto.

    Hacking della sessione

    All'avvio di una sessione, i file di sessione vengono creati in una directory temporanea. Questi file memorizzano informazioni. Se utilizzata, quindi, solitamente, la cartella temporanea per l'archiviazione delle sessioni è comune a tutti i siti sul server. Successivamente, i dati della sessione vengono letti in un certo modo dal tuo script. Per fare ciò, l'aggressore deve avere un account sullo stesso server. Di conseguenza, se in una sessione viene memorizzata una password di un sito web o un numero di carta di credito con un codice cvv, allora tutto questo informazioni utili cade nelle mani di un aggressore.

    Protezione contro l'hacking dei dati di sessione
    • Memorizza la sessione nei cookie. È più difficile da portare via.
    • Associa la sessione all'indirizzo IP del computer. Quando si accede da un IP diverso, viene creata una nuova sessione a seconda delle impostazioni dello script.
    • Associa la sessione allo user agent del browser. Quando si accede da un altro browser, la sessione viene reimpostata.
    • Crittografa i parametri passati alla sessione. Se un utente malintenzionato riceve il file di sessione, non sarà in grado di leggerlo. Tuttavia, se hai determinate abilità, è anche possibile decifrare la sessione.
    • Memorizza gli ID di sessione in cartella separata. In php c'è un comando per questo: session_save_path($path_to_dir). La stessa impostazione può essere specificata nel file php.ini. Il parametro si chiama session.save_path.
    • Usa session_set_save_handler() in php per sovrascrivere il modo in cui viene archiviata la sessione. E a partire da PHP 5.4, puoi passare un oggetto di tipo SessionHandlerInterface a session_set_save_handler().

    Molti utenti non si rendono conto che inserendo login e password al momento della registrazione o dell'autorizzazione su una risorsa Internet chiusa e premendo INVIO, questi dati possono essere facilmente intercettati. Molto spesso vengono trasmessi in rete in forma non protetta. Pertanto, se il sito a cui stai tentando di accedere utilizza il protocollo HTTP, è molto semplice acquisire questo traffico, analizzarlo utilizzando Wireshark e quindi utilizzare filtri e programmi speciali per trovare e decrittografare la password.

    Il posto migliore per intercettare le password è il nucleo della rete, dove il traffico di tutti gli utenti va verso risorse chiuse (ad esempio la posta) o davanti al router per accedere a Internet, quando si registrano su risorse esterne. Installiamo uno specchio e siamo pronti a sentirci un hacker.

    Passaggio 1. Installa e avvia Wireshark per acquisire il traffico

    A volte, per fare ciò, è sufficiente selezionare solo l'interfaccia attraverso la quale intendiamo acquisire il traffico e fare clic sul pulsante Start. Nel nostro caso, stiamo catturando tramite una rete wireless.

    È iniziata la cattura del traffico.

    Passaggio 2. Filtraggio del traffico POST catturato

    Apriamo il browser e proviamo ad accedere ad alcune risorse utilizzando un nome utente e una password. Una volta completato il processo di autorizzazione e aperto il sito, interrompiamo l'acquisizione del traffico su Wireshark. Successivamente, apri l'analizzatore di protocollo e visualizza un gran numero di pacchetti. È a questo punto che la maggior parte dei professionisti IT si arrende perché non sa cosa fare dopo. Ma conosciamo e siamo interessati a pacchetti specifici che contengono Dati POSTALI, che vengono generati sul nostro computer locale durante la compilazione di un modulo sullo schermo e inviati a un server remoto quando facciamo clic sul pulsante "Accedi" o "Autorizzazione" nel browser.

    Inseriamo un filtro speciale nella finestra per visualizzare i pacchetti catturati: http. richiesta. metodo == “POST”

    E vediamo, invece di migliaia di pacchetti, solo uno con i dati che stiamo cercando.

    Passaggio 3. Trova il login e la password dell'utente

    Fare clic rapidamente con il pulsante destro del mouse e selezionare Segui TCP Steam dal menu


    Successivamente, il testo apparirà in una nuova finestra che ripristina il contenuto della pagina nel codice. Troviamo i campi “password” e “utente”, che corrispondono alla password e al nome utente. In alcuni casi, entrambi i campi saranno facilmente leggibili e nemmeno crittografati, ma se stiamo cercando di catturare traffico quando accediamo a risorse molto conosciute come Mail.ru, Facebook, VKontakte, ecc., la password verrà crittografata:

    HTTP/1.1 302 Trovato

    Server: Apache/2.2.15 (CentOS)

    X-Powered-By: PHP/5.3.3

    P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

    Set-Cookie: password=; scade=Gio 07-Nov-2024 23:52:21 GMT; percorso=/

    Posizione: loggato.php

    Lunghezza contenuto: 0

    Connessione: chiusa

    Tipo di contenuto: testo/html; set di caratteri=UTF-8

    Quindi, nel nostro caso:

    Nome utente: networkguru

    Password:

    Passaggio 4. Determinare il tipo di codifica per decrittografare la password

    Andiamo ad esempio sul sito http://www.onlinehashcrack.com/hash-identification.php#res e inserisci la nostra password nella finestra di identificazione. Mi è stato fornito un elenco di protocolli di codifica in ordine di priorità:

    Passaggio 5. Decifrare la password dell'utente

    A questo punto possiamo utilizzare l'utilità hashcat:

    ~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

    In uscita abbiamo ricevuto una password decriptata: simplepassword

    Pertanto, con l'aiuto di Wireshark non solo possiamo risolvere problemi nel funzionamento di applicazioni e servizi, ma anche provare noi stessi come hacker, intercettando le password che gli utenti inseriscono nei moduli web. Puoi anche trovare le password per cassette postali utenti che utilizzano semplici filtri per visualizzare:

    • Il protocollo e il filtro POP hanno questo aspetto: pop.request.command == "USER" || pop.request.command == "PASSA"
    • Il protocollo e il filtro IMAP saranno: imap.request contiene "login"
    • Il protocollo è SMTP e dovrai inserire il seguente filtro: smtp.req.command == "AUTH"

    e utilità più serie per decrittografare il protocollo di codifica.

    Passaggio 6: cosa succede se il traffico è crittografato e utilizza HTTPS?

    Esistono diverse opzioni per rispondere a questa domanda.

    Opzione 1. Connettiti quando la connessione tra l'utente e il server viene interrotta e acquisisci il traffico nel momento in cui viene stabilita la connessione (SSL Handshake). Quando viene stabilita una connessione, la chiave di sessione può essere intercettata.

    Opzione 2: puoi decrittografare il traffico HTTPS utilizzando il file di registro della chiave di sessione registrato da Firefox o Chrome. Per fare ciò, il browser deve essere configurato per scrivere queste chiavi di crittografia in un file di registro (esempio basato su Firefox) e dovresti ricevere quel file di registro. In sostanza, devi rubare il file della chiave di sessione da disco rigido un altro utente (che è illegale). Bene, allora cattura il traffico e usa la chiave risultante per decrittografarlo.

    Chiarimento. Stiamo parlando del browser web di una persona di cui stanno cercando di rubare la password. Se intendiamo decrittografare il nostro traffico HTTPS e vogliamo esercitarci, allora questa strategia funzionerà. Se stai tentando di decrittografare il traffico HTTPS di altri utenti senza accedere ai loro computer, questo non funzionerà: questa è sia crittografia che privacy.

    Dopo aver ricevuto le chiavi in ​​base all'opzione 1 o 2, è necessario registrarle in WireShark:

  • Vai al menu Modifica - Preferenze - Protocolli - SSL.
  • Imposta il flag "Riassembla i record SSL che si estendono su più segmenti TCP".
  • "Elenco chiavi RSA" e fare clic su Modifica.
  • Inserisci i dati in tutti i campi e scrivi il percorso nel file con la chiave
  • Quando abilitato, l'agente Tutto il traffico (crittografato e non crittografato) o Solo crittografato utilizza la tecnologia di spoofing del certificato SSL per garantire l'intercettazione dei dati trasmessi nelle sessioni Web protette. Quando si stabilisce una connessione sicura con un server, l'agente sostituisce il certificato del server originale con un certificato con lo stesso nome, ma emesso dal certificato radice dell'agente. Il sistema consente di utilizzare sia un certificato preinstallato che uno creato dall'utente con autorità di firma come certificato radice.

    Il sistema consente di installare manualmente alcuni certificati in sostituzione durante l'intercettazione delle sessioni dei server corrispondenti (siti, programmi) collegando il certificato al server.

    In alcuni casi, l'utilizzo di un certificato non originale potrebbe rendere impossibile stabilire una connessione crittografata con il server. In questo caso è necessario escludere dall'intercettazione i server corrispondenti, ad es. vietare la sostituzione dei certificati SSL durante la connessione a tali server. Ciò ripristinerà la funzionalità di tali siti o programmi, ma il traffico crittografato per essi non verrà intercettato.

    Per configurare l'intercettazione del traffico SSL:

  • Nella finestra della scheda Profilo Impostazioni agente, nell'area di modifica del profilo, selezionare la scheda Controllo del traffico di rete.
  • Fai clic sul pulsante Opzioni di intercettazione SSL e segui le raccomandazioni nel paragrafo corrente.
  • Selezione della modalità di sostituzione del certificato SSL

    Nella finestra delle impostazioni, seleziona una modalità di intercettazione accettabile:

    • Per fare in modo che l'agente generi automaticamente un certificato SSL root quando installato sul computer dell'utente, selezionare l'opzione Modalità automatica. Il certificato radice generato verrà inserito nel database dell'emittente del certificato attendibile e verrà utilizzato automaticamente dall'agente per emettere successivamente certificati secondari firmati per impostazione predefinita con il nome dell'emittente Falcongaze SecureTower.

    Per modificare il nome dell'emittente del certificato che apparirà nelle informazioni sulla sicurezza della connessione, inserisci il nome desiderato nel campo Nome nel certificato SSL.

    • Per utilizzare un certificato SSL personalizzato come certificato radice quando si intercetta il traffico crittografato, selezionare l'opzione Modalità personalizzata. Il certificato utente deve essere precedentemente generato e aggiunto al database di sistema. Per specificare un certificato dal database di sistema, selezionarne il nome nell'elenco a discesa Certificato utente o fare clic sul pulsante Certificati utente per aggiungere i file del certificato e della chiave privata al database di sistema.

    Nella finestra che si apre, clicca sul pulsante Aggiungi certificato e specifica il certificato e i file chiave utilizzando uno dei seguenti metodi:

  • Per generare un nuovo certificato, fare clic sul pulsante Genera certificato. Nella finestra che si apre, inserisci il nome del nuovo certificato, il suo periodo di validità e specifica i percorsi in cui verranno archiviati i file del certificato (*.cer) e della chiave privata (*.pvk) appena creati. Fare clic sul pulsante Genera.
  • Se desideri aggiungere un certificato precedentemente generato in formato PFX, fai clic sul pulsante Converti da certificato PFX. Specificare il percorso e la password del file del certificato in formato PFX, nonché il percorso dei file del certificato (*.cer) e della chiave privata (*.pvk) in cui si desidera convertire il file di origine. Fare clic sul pulsante Converti per completare la conversione.
  • Fare clic su Avanti nella finestra Aggiunta di certificati utente per continuare la procedura di aggiunta. Nella finestra che si apre, inserisci un nome univoco con cui verrà firmato il certificato aggiunto e un commento (facoltativo).

    Fare clic su Fine per completare il processo. Il certificato verrà aggiunto al database dei certificati utente del sistema SecureTower. Fare clic su OK per completare l'aggiunta. Il certificato utente aggiunto verrà automaticamente inserito dall'agente nel database dei creatori attendibili (se ciò non è stato fatto in precedenza dall'amministratore di rete) e verrà quindi utilizzato per emettere certificati secondari.

    Nota.

    Quando si utilizza la modalità utente, si consiglia che l'amministratore di rete distribuisca il certificato utente a tutti i computer della rete utilizzando politiche di gruppo o manualmente. Ciò garantirà che i certificati vengano autenticati correttamente. In caso contrario, il certificato verrà aggiunto automaticamente dall'agente all'archivio certificati attendibili.

    Collegamento di un certificato SSL al server

    Per determinare la corrispondenza del certificato server, fare clic sul pulsante Associazioni certificato e seguire i consigli seguenti:

    • Per associare un certificato radice a un server specifico, nella scheda Certificati radice, fare clic sul pulsante Aggiungi certificato per il sito. Immettere il nome host (nome di dominio) a cui verranno emessi i certificati secondari e a cui sarà associato il certificato radice nel campo Nome host (indirizzo IP). Selezionare uno dei certificati root preinstallati dall'elenco a discesa del campo Certificato root oppure fare clic sul pulsante Certificati utente per aggiungere e specificare i file del certificato e della chiave privata sul computer dell'utente.
    • Per associare un certificato esistente a un server specifico, selezionare la scheda Certificati utente. L'agente non genererà nuovi certificati secondari per i server specificati in questa scheda, ma utilizzerà i certificati specificati dall'utente per le procedure di sostituzione. Nella finestra che si apre, nel campo Nome host (indirizzo IP), inserisci il nome host (nome di dominio) a cui verrà associato il certificato. Selezionare uno dei certificati dall'elenco a discesa nel campo Certificato: (se i certificati sono già stati aggiunti in precedenza) o fare clic sul pulsante Certificati utente per selezionare i certificati utente dall'elenco o aggiungere e specificare i file del certificato e della chiave privata sul certificato dell'utente. computer.

    Nota.

    Per compilare il campo Nome host (indirizzo IP), è possibile utilizzare l'indirizzo IP dell'host, ma solo nei casi in cui il nome host non è stato determinato durante la connessione e si conosce solo l'indirizzo IP.

    Escludere i server dall'intercettazione del traffico crittografato

    Per gestire le eccezioni dal processo di sostituzione del certificato, fare clic sul pulsante Eccezioni server SSL.

    La finestra del gestore eccezioni visualizza un elenco di server (host) esclusi dal processo di sostituzione per impostazione predefinita. Per aggiungere una nuova eccezione, fare clic sul pulsante Aggiungi eccezione.

    Nel campo di immissione della finestra di dialogo che si apre, inserisci il nome del server (host) (ad esempio, account.google.com) facendo distinzione tra maiuscole e minuscole e fai clic sul pulsante Aggiungi. Il sistema permette di inserire nomi tramite una maschera (sono ammessi i simboli ? e *, ad esempio utilizzando *.microsoft.* si eviterà la duplicazione di risorse Microsoft nell'elenco di esclusione) per escludere risorse della stessa famiglia. Il nome inserito verrà visualizzato nell'elenco di esclusione.

    Successivamente, è necessario selezionare una modalità di esclusione: Sostituisci i certificati solo per i server SSL specificati sopra oppure Sostituisci i certificati SSL per tutti i server, ad eccezione di quelli specificati sopra. Nel primo caso il sistema sostituirà solo i certificati relativi ai server presenti nella lista di esclusione (e quindi sarà in grado di intercettare il traffico corrispondente). Per tutti gli altri i certificati non verranno sostituiti e l'intercettazione del corrispondente traffico crittografato sarà impossibile. Nel secondo caso il sistema sostituirà i certificati per tutti i server ad eccezione di quelli specificati nell'elenco delle eccezioni.

    Per eseguire altre operazioni con eccezioni, seguire le opportune raccomandazioni al paragrafo