Domanda Ethical Hacking - How To From Zero to Hero

Stato
Discussione chiusa ad ulteriori risposte.

Rejuvenation

Utente Silver
2 Marzo 2008
29
12
6
75
Buonasera a tutti,
scrivo questo post in quanto da fin troppo tempo è giunto alla mia attenzione il desiderio di cominciare a documentarmi nella direzione dell'Ethical Hacking.
Innanzitutto vorrei fornirvi un minimo di background personale anche al fine di avere una vostra opinione sul come approcciarmi o meno all'argomento.
Sono attualmente un QA Tester da 3 anni presso un'azienda che si occupa di SW per l'ottimizzazione dei processi aziendali (Gestione della Produzione, Pianificazione Finanziaria, Pianificazione Domanda ecc.). Non avevo mai fatto questo lavoro prima di 3 anni fa' e questa azienda mi ha fornito la possibilità di sperimentare on track questo mestiere.
Non l'ho mai disdegnato particolarmente, ma mi son sempre cercato di distinguere bene da un QA Tester che banalmente si occupa di testare un'applicazione lato front-end. Ogni volta che io trovo un bug di qualsiasi natura mi domando di che natura sia e quale parte architetturale del Software ha causato il failure. Negli ultimi due anni ho anche dimostrato la volontà di debuggare direttamente il codice ogni qualvolta il tempo lo permettesse per individuare e fixare, in autonomia, il bug in questione.

Questo mi ha portato ad una realizzazione di me che in parte in realtà già conoscevo, ma che penso di poter sfruttare in un qualche modo per addentrarmi in una ipotetica futura carriera nel mondo dell'EH.
Sono una persona estremamente curiosa e a cui non basta sapere che una cosa non funziona, a me interessa sapere cosa è andato storto e di conseguenza, con una mentalità più incentrata nel QA, cosa POTREBBE ancora andare storto a fronte della scoperta. Penso che questo bene o male sia un po' il mindset necessario per diventare Pentester (che analogamente mi sembra una branca più ristretta dell'EH (?)).
Ci tengo a precisare, in quanto l'Informatica è estremamente interconnessa, che le mie attuali conoscenze in materia riguardano per lo più:
.NET, ReST API, SQL, T-SQL, Postgres, JS, Windows Shell / Bash [quest'ultimo lo sto imparando di recente in realtà] (le altre conoscenze non mi sembrano particolarmente rilevanti nella direzione che voglio intraprendere)

In ogni caso, tutto questo Wall of Text per chiedere:
Quale path potrei/dovrei intraprendere per cominciare a studiare con obiettivo il "diventare" un futuro Ethical Hacker? Perchè io sto guardando un po' di video in giro, mi son registrato ad HTB ed ho provato il tutorial, però mi rendo proprio conto che non ho ancora nè la forma mentis nè gli strumenti per procedere in autonomia o nel fare ragionamenti più ponderati davanti ad una situazione in cui tali ragionamenti siano richiesti.

Grazie mille dell'attenzione a tutti :)

TL;DR: Vorrei intraprendere un percorso formativo per diventare un EH, da dove partire e che path seguire ?
 
  • Mi piace
Reazioni: 0xbro
Fa piacere leggere che qualcuno ogni tanto pone questa domanda nel modo giusto e con precise finalitá e desideri.
Premetto che non sono il piu esperto quindi prendi i miei consigli e confrontali con quelli degli altri che risponderanno a questo post, e in fine fai le tue scelte.
Per prima cosa ti consiglio di dare un occhiata a TryHackMe vista la possibilitá di seguire un percorso orientato all'apprendimento piuttosto che al solo uso dei principali strumenti e tecniche come puo accadere con le macchine su HTB. Vista la tua curiositá, non penso ci sia il bisogno di dirti che comunque qualsiasi strumento che andrai ad utilizzare,script ecc é sempre bene capire quale ragionamento ci sia dietro e cosa fa una volta eseguito.
Cosa molto importante che non hai nominato é il Networking, quindi i vari device che ne fanno parte le loro funzionalita, i protocolli, ecc
Piccola parentesi ultimamente anche HTB ha rilasciato la piattaforma accademy dove puoi scegliere di seguire un determinato percorso e imparare i principali argomenti avendo a disposizione macchine per fare pratica su questi ultimi.
Come ultima cosa visto anche il periodo vai a dare un occhiata sempre su TryHackMe all' AdventOfCyber2 puo essere un buon punto da dove partire affronta molti argomenti base ed é molto beginner level.
Spero di esserti stato d' aiuto in caso chiedi pure se hai altre domande.
 
  • Mi piace
Reazioni: Rejuvenation
Tutto ciò che ha detto @3flies4 è corretto, aggiungo solo qualche piccolo bit e qualche risorsa in più :)
Prima di tutto lieto di vedere qualcuno così curioso e volentieroso, sono molto contento.

Quello che più mi sento di consigliarti è di dare una lettura ai vecchi (se trovi quelli nuovi ancora meglio) PDF della Offensive Security "PWK: Penetration Testing with Kali", poichè danno una chiara base sui tools più utilizzati e su come effettuare attachi lato network. In caso non riuscissi a trovarlo, puoi valutare l'acquisto del libro "Penetration Testing: A Hands-On Introduction to Hacking" che tratta le stesse identiche cose. Sto dando per scontato che le basi (indirizzamento IP, DNS, DHCP ecc.) tu già le sappia. Per quanto riguarda il mondo Web, la cosa migliore è darsi una lettura all'Hacklog vol.2 (lo si trova gratuitamente sul sito ufficiale) in modo da capire quali siano i principali attacchi effettuati nel Web Hacking (SQLi, XSS, CSRF e tanto altro), e poi frequentare l'academy di PortSwigger (i creatori di BurpSuite, uno dei tools più noti e usati), gratuita e mooooolto dettagliata, piena di laboratori per esercitarsi nelle più disparate situazioni (ovviamente ci sarà prima tutta una parte di spiegazione sugli header, su come vengono elaorati, sui bypass e anche la soluzione in caso non si riuscisse a proseguire).
 
  • Mi piace
Reazioni: Rejuvenation
Se vuoi iniziare studiati come funziona un computer e i sistemi operativi (Windows, Linux e android) troverai buoni libri su the hacker library: https://www.inforge.net/forum/resources/the-hackers-library.14941/, poi studiati la crittografia (ci sono buoni libri sulla crittografia su the hacker library), e poi studia bene le reti, ti consiglio di leggerti reti di calcolatori di tanenbaum, questo non c'è su the hacker library ma te lo devi comprare, prendi la versione del 2018, poi scegli cosa hackerare:
siti web
computer
se vuoi hackerare siti web leggiti hacklog 2 e devi conoscere HTML, CSS, javascript, SQL, PHP, python e allenati su DVWA e tryhackme.com
se invece vuoi hackerare computer leggiti libri sul pentest (li trovi su the hacker library) e devi conoscere C, C++, C#, assembly, python, ti consiglio di leggerti anche python per hacker e allenati su tryhackme.com, hackthebox.eu, vulnhub.com
 
  • Mi piace
Reazioni: Rejuvenation
Fa piacere leggere che qualcuno ogni tanto pone questa domanda nel modo giusto e con precise finalitá e desideri.
Premetto che non sono il piu esperto quindi prendi i miei consigli e confrontali con quelli degli altri che risponderanno a questo post, e in fine fai le tue scelte.
Per prima cosa ti consiglio di dare un occhiata a TryHackMe vista la possibilitá di seguire un percorso orientato all'apprendimento piuttosto che al solo uso dei principali strumenti e tecniche come puo accadere con le macchine su HTB. Vista la tua curiositá, non penso ci sia il bisogno di dirti che comunque qualsiasi strumento che andrai ad utilizzare,script ecc é sempre bene capire quale ragionamento ci sia dietro e cosa fa una volta eseguito.
Cosa molto importante che non hai nominato é il Networking, quindi i vari device che ne fanno parte le loro funzionalita, i protocolli, ecc
Piccola parentesi ultimamente anche HTB ha rilasciato la piattaforma accademy dove puoi scegliere di seguire un determinato percorso e imparare i principali argomenti avendo a disposizione macchine per fare pratica su questi ultimi.
Come ultima cosa visto anche il periodo vai a dare un occhiata sempre su TryHackMe all' AdventOfCyber2 puo essere un buon punto da dove partire affronta molti argomenti base ed é molto beginner level.
Spero di esserti stato d' aiuto in caso chiedi pure se hai altre domande.
Grazie per il tip su TryHackMe, lo conoscevo ma non l'avevo preso in considerazione perchè HTB aveva preso il sopravvento sulla mia curiosità :D Per quanto riguarda il capire il funzionamento delle cose si, generalmente lo faccio e se non le capisco chiedo. Pensare di andare avanti dando per scontato che una cosa funzioni e basta non fa altro che aumentare l'entropia nella mia testa. A livello di Networking ho una base scolastica un po' piu' consolidata grazie al mio lavoro ma sicuramente non sufficiente per un CTF per capirci. Stasera do un'occhiata a TryHackMe e vedo un po' da che parte girarmi (AdventOfCyber2 compreso)
Grazie!
Tutto ciò che ha detto @3flies4 è corretto, aggiungo solo qualche piccolo bit e qualche risorsa in più :)
Prima di tutto lieto di vedere qualcuno così curioso e volentieroso, sono molto contento.

Quello che più mi sento di consigliarti è di dare una lettura ai vecchi (se trovi quelli nuovi ancora meglio) PDF della Offensive Security "PWK: Penetration Testing with Kali", poichè danno una chiara base sui tools più utilizzati e su come effettuare attachi lato network. In caso non riuscissi a trovarlo, puoi valutare l'acquisto del libro "Penetration Testing: A Hands-On Introduction to Hacking" che tratta le stesse identiche cose. Sto dando per scontato che le basi (indirizzamento IP, DNS, DHCP ecc.) tu già le sappia. Per quanto riguarda il mondo Web, la cosa migliore è darsi una lettura all'Hacklog vol.2 (lo si trova gratuitamente sul sito ufficiale) in modo da capire quali siano i principali attacchi effettuati nel Web Hacking (SQLi, XSS, CSRF e tanto altro), e poi frequentare l'academy di PortSwigger (i creatori di BurpSuite, uno dei tools più noti e usati), gratuita e mooooolto dettagliata, piena di laboratori per esercitarsi nelle più disparate situazioni (ovviamente ci sarà prima tutta una parte di spiegazione sugli header, su come vengono elaorati, sui bypass e anche la soluzione in caso non si riuscisse a proseguire).
Avevo il manualone di OffSec da qualche parte, mi aveva spaventato la mole di pagina e per il momento lo avevo lasciato in archivio... :D Però leggevo che generalmente OffSec è ad un livello abbastanza avanzato. Secondo te è già comprensibile partendo da una base come la mia ? PortSwigger non lo conoscevo, me lo salvo! Grazie mille!!
Se vuoi iniziare studiati come funziona un computer e i sistemi operativi (Windows, Linux e android) troverai buoni libri su the hacker library: https://www.inforge.net/forum/resources/the-hackers-library.14941/, poi studiati la crittografia (ci sono buoni libri sulla crittografia su the hacker library), e poi studia bene le reti, ti consiglio di leggerti reti di calcolatori di tanenbaum, questo non c'è su the hacker library ma te lo devi comprare, prendi la versione del 2018, poi scegli cosa hackerare:
siti web
computer
se vuoi hackerare siti web leggiti hacklog 2 e devi conoscere HTML, CSS, javascript, SQL, PHP, python e allenati su DVWA e tryhackme.com
se invece vuoi hackerare computer leggiti libri sul pentest (li trovi su the hacker library) e devi conoscere C, C++, C#, assembly, python, ti consiglio di leggerti anche python per hacker e allenati su tryhackme.com, hackthebox.eu, vulnhub.com
Darò senz'altro un'occhiata su The Hacker Library, grazie !
Per quanto riguarda il "cosa hackerare" effettivamente non mi sono mai posto questa domanda. Devo rifletterci piu' accuratamente, magari in corso d'opera :)


P.S.: Era tra le righe ma giustamente con tutto il wall of text non si sarà letto adeguatamente. Si può considerare un EH un'estensione di un Pentester? E quindi, analogamente, è considerabile un Pentester il sottoinsieme di conoscenze che ha un EH ?

Grazie mille a tutti delle risposte !
 
Allora, le differenze tra Pentester ed Ethical Hacker sono molto sottili e spesso le due figure vengono erronemanete abbinate alla stesa mansione ma non è così.
Il Penetration Tester esegue penetration test, e come tale deve rispettare una precisa metodologia (che per esempio può essere la OWASP), un preciso set di regole (chiamate RoE, Rule of Engagement) e limitarsi alle esigenze richieste in fase di accordo per l'attività (es. se non è stata prevista la fase di Post Exploitation questa fase non verrà eseguita). In più il suo compito è quello di documentare TUTTE le vulnerabilità (che riesce a trovare, ovviamente) del target in questione (pur sempre rimanendo nello scope e nelle regole concordate).

L'Ethical Hacker invece è una figura molto più complessa. Per rispondere alla tua domanda, sì l'EH può anche ricoprire la figura di Penetration Tester, ma in genere si spinge anche più in là, non ricerca solo le vulnerabilità ma le sfrutta, ed è soggetto a meno "restrizioni". Inoltre l'EH esegue anche attività di ricerca delle vulnerabilità, come per esempio 0day o vulnerabilità in cui gli exploit non sono pubblici, non segue necessarimente una metodologia (anche se poi alla fine dei conti tutti vanno un po' a braccio) e utilizza molti più mezzi per l'attività, come per esempio attacchi Phishing o attività di Red Teaming (APT).

Parlando in linee molto, moltissimo, generali, il penetration tester segue delle metodologie precise per la ricerca di vulnerabilità, l'Ethical Hacker si comporta come un vero e proprio Hacker.
La differenza comunque nelle realtà aziendali è ancora poco delineata e anzi quasi sempre viene sovrapposta, quindi molto spesso ti imbatterai in persone che confondono le due figure
 
  • Mi piace
Reazioni: Rejuvenation
Stato
Discussione chiusa ad ulteriori risposte.