Guida Strumenti necessari per effettuare pentests

0xbro

Super Moderatore
24 Febbraio 2017
4,465
179
3,767
1,825
Strumenti necessari per effettuare pentest
Per effettuare comodamente pentesting, ci sono differenti tools più o meno fondamentali (dipende molto dalla persona dietro lo schermo) che ci aiutano a semplificarci molto il lavoro.
L'utilizzo dei tools però è da sconsigliarsi a coloro che non ne comprendono la logica e il funzionamento, poiché "incapsulano" operazioni più complesse e tecniche che sarebbe però sempre bene sapere (soprattutto per rendersi conto di ciò che si stia facendo).

Di seguito una lista di tools e strumenti utili all'obiettivo, che possono aiutarci in molte circostanze (se si sa come usarli).
NB: Non verranno trattati nel dettaglio i programmi, ma verrà fornita solo una lista. Per ottenere informazioni aggiuntive su questi, visitare i siti ufficiali e consultare le varie documentazioni/guide presenti online.

Ripeto: Si preferisce però saperseli programmare autonomamente o in parte piuttosto che usare quelli già fatti. Se ne guadagna in versabilità, conoscenza e miglioramento.

0x1. GCC e Python:
Avendo detto che si preferisce sapersi programmare i tools piuttosto che usarli e basta, è assolutamente necessario conoscere dei linguaggi di programmazione. Tra questi, i più gettonati nonché utili, sono C++ e Python. Entrambi già presenti nelle distro di Linux (GCC è il compilatore per C++ e Python solitamente si trova sia in versione 2.6 che 3.5), per effettuare pentest sono fondamentali. Con entrambi si possono creare tools, script, programmi complessi ecc da utilizzare e far girare sui propri sistemi o sui sistemi compromessi. L'ultima versione di Python è la 3.6.4, e se non è presente nei sources predefiniti è tranquillamente installabile dal sito ufficiale.

0x2. Linguaggi del web + SQL:
Non stiamo parlando di veri e propri tools, ma per chi vuole effettuare pentest, soprattutto lato web, è fondamentale la conoscenza dei linguaggi del web (HTML, CSS, JS, PHP, ASP.NET ecc.). Questi linguaggi sono davvero molti e risulta difficile fare un elenco preciso. Per esercitarsi però si possono usare spazi liberi di hosting online oppure installarsi un web server ed esercitarsi in locale. Fondamentale è anche la conoscenza del linguaggio SQL per poter effettuare attacchi ai DB e "navigarci" dentro. Scontato dire che è necessario configurare un DataBase per le prove.

0x3. Linguaggi shell:
Siccome si opererà molto da linea di comando, è necessario imparare i comandi delle varie shell e come creare ed eseguire script per queste (es. Bash, PowerShell ecc).

Per approfondire meglio questi aspetti, vi consiglio di studiare su quanti più libri trovate, e ovviamente provate con mano ciò che fate. Per aiutarvi, qua c'è una collezione di libri che può sempre servire: https://www.inforge.net/forum/resources/the-hackers-library.14941/

Passiamo ora ai tools veri e propri:

1x0. Editor di testo:
Ovviamente, per programmare qualunque script, è necessario un editor di testo. Non ne esiste uno migliore di altri, tutti hanno dei pro e dei contro. L'utilizzo di uno piuttosto che un altro è una scelta personale. C'è chi si trova bene a programmare con Gedit o il particolarissimo Vim, e chi invece preferisce dell'altro. I più usati in genere sono comunque SublimeText, Atom, Gedit e Vim. Per progretti più comlpessi si utilizzano solitamente degli IDE come possono essere Eclipse o NetBeans, ma il loro utilizzo non è consigliato ai novizi e soprattutto non è del tutto indispensabile.

1x1. Nmap (Zenmap):
Nmap è il numero uno degli scanner usati nell'ambito della sicurezza informatica e non. Presente sia sotto forma di CLI che GUI (il fratello Zenmap), egli permette di testare porte e servizi aperti su un qualsiasi dispositivo della rete. Ricco di funzionalità e opzioni per effettuare scan in numerose modalità, è il top per lo scanning ed è un tool che non può assolutamente mancare.

1x2. Metasploit
Metasploit è un framework molto potente, in grado di fare praticamente tutto. E' composto da moduli, ognuno dei quali a determinati compiti. Con MSF (Metasploit Framework) possiamo effettuare scansioni a siti web, creare backdoor e payload, avviare exploit e tante altre cose, grazie alla possibilità di poter estendere le funzionalità di questo software tramite moduli aggiuntivi, detti "Auxiliary". Sicuramente uno dei tools più utili e potenti di quelli disponibili.

1x3. Wireshark
Il più famoso sniffer di rete, usato praticamente da ogni sistemista ed addetto al traffico di rete. E' in grado di intercettare ed analizzare ogni pacchetto passante per la rete. Assolutamente fondamentale per i nostri scopi.

1x4. Aircrack-ng
Suite di programmi per testare la sicurezza delle reti Wi-Fi. Permette di rilevare tutti gli hotspot, visibili e non, intercettarne i pacchetti e gli handshake, eseguire attacchi bruteforce per cercare le credenziali di accesso e tanto altro. Utile per la sicurezza web

1x5. Crunch
Anche se molti lo reputano ormai superato, crunch permette di creare delle wordlist personalizzate per gli attacchi con dizionario. Tool da riga di comando, può sempre essere utile per generare dizionari con una precisa fisionomia.

1x6. Hashcat
Hashcat è indubbiamente il miglior tool per il cracking di password disponibile. Molto veloce e rapido rispetto ai rivali, permette di effettuare differenti tipi di attacco in basse alle necessità. Tra questi i più comuni Brute-Force e Dictionary, ma permette di effettuare anche attacchi più sofisticati tramite regole e pattern. Si differenzia dalla massa poiché utilizza la GPU anziché la CPU per effettuare gli attacchi. Assolutamente da provare e avere con sé.

1x7. John the Ripper / THC-Hydra
Se Hashcat non fa per noi, questi sono i due tools che possono tranquillamente sostituirlo. Entrambi con lo scopo di crackare password, sono assieme ad Hashcat il "Triumvirato per il cracking". Da provare, le funzionalità sono sempre più o meno le stesse e lo scopo idem. Tra i tre, almeno uno è da avere sempre.

1x8. S.E.T.
Vasto insieme di programmi per attacchi di ingegneria sociale di tutti i tipi. Permette di copiare pagine html, inviare SMS e email personalizzate, creare siti di phishing e molte altre cosa utili. Non un must, ma può sempre servire.

1x9. VPN
La sicurezza viene sempre prima di tutto. La sicurezza personale in primis. E' quindi sempre bene utilizzare delle VPN per i propri lavori, in modo da creare dei tunnel che ci garantiscano il semi-anonimato e la sicurezza personale. Di provider VPN ce ne sono molti, ma la nostra scelta dovrebbe ricadere su quelli che non mantengono log, come NordVPN. E' quindi sempre un bene utilizzare delle VPN che ci permettano di proteggere la nostrà identità, in modo da esser sicuri in qualunque circostanza.

1x10. Tor
Tor non ha bisogno di descrizioni. Se si parla di anonimato, si parla quasi sempre di Tor. Fondamentale per non essere tracciati e mantenere una certa discrezione, Tor può tornarci utile in molti casi. Non un must, ma quasi... Sicuramente tra i tool che possono essere molto utili per ciò che facciamo.

1x11. Proxychain
Quando si parla di pentest, che sia esso con approccio Black, Grey o White, è sempre bene mantenere un certo anonimato. Con questo tool possiamo redirigere il traffico di rete su dei Proxy server http/sock, in modo tale da anonimizzare la provenienza dei pacchetti e agire in maniera più sicura.

1x12. yEd
In molti sottovalutano l'importanza delle analisi tecniche, ma sbagliano. La documentazione è uno step molto importante, e per creare attacchi chiari occorre avere ben chiaro in mente cosa fare. yEd permette di creare schemi, grafici e diagrammi, in modo da poter effettuare studi in maniera molto più chiara. A parer mio, d'obbligo!

1x13. CherryTree (notes)
Come yEd, cherrytree non serve per effettuare attacchi o scansioni varie, ma è utile per riordinare dati, organizzare attacchi e scrivere documentazione, note e appunti. Integrato in Kali, è uno dei blocco note più diffuso e utilizzato, un po' per la sua semplicità, un po' per la sua compattezza. Pieno di funzionalità, è uno dei tool necessari per mantenere un certo ordine e una certa organizzazione, sia mentale che scritta.

1x14. Burp Suite
Tool con GUI, usato per il testing di applicazioni web. Permette di intercettare pacchetti, manipolarli e spedirli, oltre ad avere molte altre funzionalità utili. Sicuramente il coltellino svizzero per il web testing. D'obbligo.

1x15. hping3
E' un packet analizer e packet forger per il protocollo TCP. Un tool non scontato ma molto utile, se imparato ad essere utilizzato può compiere numerose azioni. Non un necessarissimo, ma da provare

1x16. Maltego
Il top se si parla di ricerca di informazioni e rappresentazione di queste sotto forma di schema. Maltego ci permette con pochi click di ricavare numerosissime info su obiettivi, server, collegamenti tra device e relazioni del mondo reale. Tool d'obbligo per avere una visione a 360° su ciò che succede attorno a noi.

1x17. sqlmap
Il tool per eccellenza per effettuare attacchi di SQL Injection sui vari siti. Molto utile per operazioni complesse e articolate, può comunque venir rimpiazzato da un azione manuale sul sito. Permette di effettuare automaticamente qualsiasi attacco SQL

1x18. exploitdb
Tool da linea di comando che permette di semplificare molto la ricerca di exploit utili al nostro scopo. Estensione CLI del database presente sul sito Exploit-db, non strettamente necessario, ma molto comodo per chi non voglia utilizzare il sito web.
 
  • Mi piace
Reazioni: Herikka5566