Con questo articolo andiamo ad analizzare una serie di strumenti utilizzati nei laboratori online relativamente al corso Ethical Hacking che periodicamente andiamo ad erogare per le aziende che vogliono approfondire le tematiche tecniche della sicurezza informatica. Questo post ha l’obiettivo di non essere solo un semplice elenco di tutti gli strumenti così come compaiono nel corso, ma ho cercato di organizzarli in base alla fase di hacking a cui sarebbero appartenuti.
Le fasi di un attacco informatico secondo la metolodia CEH sono le seguenti:
- Fase di ricognizione / Footprinting
- Scansione a livello rete, sistemi e vulnerabilità
- Attacco per guadagnare un primo accesso al sistema target
- Persistenza
- Pulizia delle tracce dell’attacco
Tuttavia è bene precisare che alcune esercitazioni non rientrano in nessuna di queste fasi: ad esempio il caso di un attacco DoS o delle azioni difensive; in tal caso verranno elencati separatamente dagli altri.
Fasi di un attacco Informatico
-
OSINT e Footprinting
-
Ping verso l’obiettivo
- ping (Windows cmd)
-
Calcolo del TTL
- tracert (Windows cmd)
-
Mappatura di Rete
- Path Analyzer Pro (Applicazione Windows)
-
Mirroring di siti Web
- HTTTrack (Applicazione Windows)
-
Social Engineering Tool (SET) (Linux command line)
-
-
Scansione di Rete
-
Sniffing di rete e cattura dei pacchetti
- Wireshark (Windows & Linux app)
- Traffic Analyzer
- Capsa Network Analyzer (Windows)
-
Strumenti per la scansione multipla in rete
- NetScanTools Pro (Applicazione Windows)
- Solar Network Topology Mapper (Applicazione Windows)
- Angry IP Scanner (Applicazione Windows)
- Softperfect Network Scanner (Applicazione Windows)
- Metasploit > nmap (Linux command line)
- Metasploit > smb_versions (Linux command line)
-
Modifica dei pacchetti / Port Scanner
- nmap (Linux command)
- Zenmap (Applicazione Windows che fa da GUI for nmap)
- hping3 (Linux command)
- Cola Soft Packet Builder (Applicazione Windows)
-
Enumerazione protocollo NetBIOS
- NetBIOS Enumerator (Applicazione Windows)
- nbtstat (Windows cmd)
-
Enumerazione protocollo SNMP
- nmap
- Metasploit
-
Enumerazione protocollo LDAP
ADExplorer (Applicazione Windows)
-
-
-
Vulnerability Scanning
- Nessus (Applicazione Windows)
- Nikto (Linux app)
-
WebServer Vulnerability Scanner
- N-Stalker Tool
- Acunetix Website Vulnerability Server
-
-
Acquisizione Accesso sistema Target
-
Bypass del firewall
- nmap -sI (zombie attack) (Linux)
- HTTHost / HTTPort
-
Dump degli hash Windows
- wmic (Windows command line)
- PwDump7 (Windows app)
- metasploit > post/windows/gather/smart_hashdump (Linux command line)
-
Creazione rainbow tables
- Winrtgen (Windows app)
-
Crack Windows password tramite hash tables
-
-
-
- john (Linux command line)
- ophcrack (Windows app)
-
-
-
Compare rainbow tables with hashes
-
-
-
- RainbowCrack (Windows app)
-
Controllo tramite command line shell
- metasploit > reverse_tcp
-
Creazione di Backdoor
- msfvenom (Linux command line) (reverse_tcp)
- TheFatRat (Linux command line) (reverse_tcp)
- MoSucker (Windows app)
- njRAT Builder (Windows app)
- SwayzCryptor (Windows app)
-
Spoof MAC Adress / ARP Poisoning
- SMAC (Windows app)
- Cain & Abel (Windows app)
-
Session Hijacking Proxies per intercettare ed alterare i data/cookie
- Burp proxy (Linux app)
- OWASP Zed Attack Proxy (ZAP)
-
FTP Password cracking
- Hydra
-
Web Server Attack
- Armitage (Linux, app) (GUI for metasploit)
-
-
-
Attacchi su WordPress
- WPScan (Linux command line)
-
Crack WordPress Passwords
- metasploit > wordpress_login_enum
-
Attacchi SQL Injection Attack
- SQLMap (Linux command line)
- blast
-
Acquisizione dati Reti Wireless
- airodump-ng (Linux command line)
-
Crack reti wireless
- aircrack-ng (Linux command line)
-
-
Persistenza Access
-
Privilege Escalation
- metasploit > bypassuac_foodhelper
-
Bypass password rules
- HTTHost (Windows app)
- netsh (Windows command line)
-
-
Pulizia delle tracce dell’attacco
-
Nascondere i file tramite gli Alternate Data Stream
- NTFS streams (Windows command line)
-
Nascondere il traffico a livello rete
- cover_tcp (Linux command line)
-
5 Top apps in ambito ethical hacking
Tra tutte le applicazioni elencate sopra, abbiamo estrapolato una TOP 5 tra tutti tools utilizzati in ambito Ethical hacking. Ecco la classifica:
- Nmap / Zenmap
- Wireshark
- Burp Suite
- Cain & Abel
- Metasploit
NMAP / ZENMAP
Nmap è uno strumento open-source ed è tra i tools più utilizzati per la fase di scansione a livello Rete. Offre supporto multi-piattaforma ed è incorporato in tantissimi prodotti di testing, sia commerciali che open source, ed offre la possibilità di utilizzare script aggiuntivi nonché opzioni per regolare la velocità e le performance della scansione ed utilizzare tecniche di evasione per evitare di destare sospetti verso chi è oggetto dello scanning. Zenmap offre per i più pigri una interfaccia grafica che richiama dei parametri di nmap.
Wireshark
Wireshark è uno dei software più conosciuti in ambito Sniffing di rete e la sua “anzianità” lo rende uno dei tools più conosciuti ed utilizzati per la cattura e visualizzazione dei contenuti a livello di pacchetti di rete che è in grado di registrare e successivamente filtrare con query anche complesse. Wireshark usa un componente chiamato WinPcap, ovvero una libreria che si andrà ad interfacciare con i driver di rete, poiché per effettuare lo sniffing dei pacchetti c’è bisogno di istruire la scheda di rete a poter registrare anche pacchetti non direttamente destinati a se stessa, permettendo quindi di carpire ciò che viaggia genericamente in quel tratto di rete.
Burp Suite
Burp Suite è un software per esaminare e manipolare il flusso di dati dal browser web verso il server di riferimento, come ad esempio un sito Internet, è strutturato in una serie di strumenti che consentono all’utente di eseguire diversi Penetration Test e attacchi di vario genere.
E’ composto principalmente da questi componenti:
Proxy: è lo strumento principale di Burp che permette di ispezionare e manipolare il traffico di rete tra il brower web e l’applicazione da analizzare.
Spider: indicizza il contenuto del sito, generando una lista di URL da verificare per individuare eventuali falle di sicurezza, emulando il comportamento di uno spider web.
Scanner: questo tool, disponibile solamente con la versione “Pro” a pagamento, esegue uno scan automatizzato in cerca di vulnerabilità note pubblicamente.
Intruder: utile per generare attacchi customizzati, quindi exploit non presenti del database di default di Burp Suite.
Repeater: registra ogni richiesta eseguita tra client e server e permette di riprodurla successivamente simulando l’identità dell’emittente.
Sequencer: permette di verificare la “casualità” dei dati, come ad esempio gli ID di sessione, i token utilizzati per il reset delle password, ecc
Cain & Abel
Cain & Abel e’ un’ applicazione per il recupero delle password per sistemi Operativi Windows, senza però utilizzare nessun exploit .Tra le diverse funzionalità presenti permette di cercare di recuperare le password tramite le seguenti modalità:
– lo sniff della rete e decriptando le password dei protocolli più deboli che lasciano viaggiare le password in chiaro
– attacchi sulle password tramite dizionari e forza bruta (brute force)
– registrazione delle conversazioni VoIP
– crack password scambiate tramite WiFi (con protocolli di encryption NON sicuri)
– analizzando protocolli di routing.
MetaSploit
Metasploit è uno strumento di pentesting ampiamente utilizzato dagli addetti ai lavori, che rende l’hacking molto più semplice di prima, diventato uno strumento indispensabile sia per il Red Team che per il Blue Team, posizionandosi come strumento essenziale soprattutto per la parte di attacco. Si tratta a tutti gli effetti di un Framework, in grado di gestire funzionalità di scansione, vulnerability assessment ed eseguire tutta una serie di payload già “pre-confezionati” e pronti all’uso direttamente dall’interfaccia a riga di comando di Metasploit. Tramite Metasploit è possibile gestire 2 macro-componenti:
- Exploit: Un attaccante sfrutta un exploit per riuscire ad entrare in un sistema. Per entrare in un sistema si possono utilizzare vulnerabilità, bug o configurazione errate dello stesso
- Payload: è un codice che vogliamo eseguire sul sistema. Ad esempio tramite un payload sarà possibile “stabilire” una connessione tra il sistema attaccato e l’attaccante e permette di utilizzare un set di comandi specifici