Guida Cosa studiare per imparare l'Hacking e diventare un Ethical Hacker

Cosa studiare per imparare l'Hacking e diventare un Ethical Hacker

0xbro

Super Moderatore
24 Febbraio 2017
4,471
180
3,836
1,825
Ultima modifica:
In questo articolo affronteremo gli step necessari per iniziare un percorso da Ethical Hacker, quali tematiche studiare, su quali risorse documentarsi e dove fare pratica.​
kcNjNCN.jpg



Imparare l'hacking e diventare un Ethical hacker​

Tempo di lettura stimato: 10 minuti​





1    Perchè nasce questa guida

Noob --> Script Kiddie --> Ethical Hacker

Tre anni fa venne pubblicata da @Gorate una delle migliori guide dedicate a tutti coloro che vogliono iniziare nel mondo dell'hacking:

Sulla falsa riga della precedente, nasce questa nuova versione, con lo stesso scopo (dare un punto di partenza a tutti coloro che vogliono iniziare, ma non sanno ancora da dove) ma con l'intento di creare una rete di articoli, risorse e guide che si espanda sempre di più col tempo, in maniera autonoma grazie all'interazione della community.​

2    Chi è l'hacker

?????​

Sul termine "hacker" ci sono molte speculazioni, altrettante definizioni storpiate, significati dati principalmente dall'immaginario collettivo, ma poche certezze. C'è una particolare discussione che però dà delle risposte alle nostre domande, ed è sicuramente quella scritta da @DarkRelease:

Per citare le sue parole:​
L'Hacker non è il nemico che studia come attaccare, ma è l'amico che insegna come difenderci

Esiste anche una specie di motto che descrive chi è l'hacker, i suoi ideali, le sue caratteristice. E' un breve saggio scritto da TheMentor, noto hacker statunitense: lo scritto si chiama "The Hacker Manifesto":​

Un altro documento molto interessante, sempre inerente alla cultura hacker, è "How to Become A Hacker", di cui è possibile leggere la traduzione in italiano al seguente link:​

3    La legge italiana riguardo le tematiche di hacking


Partendo dal presupposto che i crimini informatici (tra cui la violazione della privacy) sono tutti puniti con sanzioni amministrative e/o condanne penali, è possibile dividere i vari reati in diverse macrocategorie, ampliamente descritte da @CrashTest nella seguente discussione:​

Il sito ufficiale della Polizia Postale inoltre ospita una pagina dedicata interamente all'Art.615-ter. (meglio noto come reato di accesso abusivo ad un sistema informatico e telematico),che consiglio di leggere a tutti coloro che vogliono intraprendere la strada dell'ethical hacking (almeno gli elementi chiave), in modo da sapere a che cosa si vada incontro in caso di violazione delle regole e in quali rischi si incapperebbe.​

4    Cominciamo

futuro-1200x700.jpg

4.1    Introduzione

X No lamer here! X

Ora che abbiamo chiarito un paio di concetti ideologici di base, passiamo a fare le dovute distinzioni di cosa realmente studieremo e affronteremo nei capitoli seguenti. Se l'intento per cui volete iniziare il vostro percorso da Ethical Hacker è "Voglio rubare un account di Facebook e spiare Whatsapp come posso fare?", ve lo dico schiettamente: lasciate perdere. Il motivo è semplice: l'obiettivo della guida non è creare criminali informatici o lamer, ma fondare le basi per futuri esperti di sicurezza informatica.

Inoltre ci tengo a rispondere a una domanda che viene fatta molto spesso: in linea generale, per lavorare nel mondo dell'hacking e della sicurezza informatica, non è richiesto l'utilizzo e la conoscenza avanzata della matematica (a parte strani casi di nicchia), ma bensì della logica. Ne abbiamo parlato meglio in questa discussione, per cui datele una lettura.​

4.2    Sistema Operativo

Una domanda che viene sempre fatta è: "Ma per fare l'hacker devo usare un sistema operativo dedicato alla sicurezza informatica, come Kali?".
La risposta è un secco NO, NO e ancora NO! La verità è che non esiste un unico sistema operativo, in base alle situazioni sarà più comodo utilizzare Linux piuttosto che Windows e in altre situazioni sarà il contrario. La cosa migliore è conoscere e disporre di entrambi i sistemi operativi, idealmente su una macchina virtuale, in modo tale da averli entrambi a disposizione.

"Ma quando dici un sistema Linux, posso usare Kali?"
La risposta è nuovamente NO, e la spiegazione dettagliata la si può leggere in queste due risorse:

Per dare una risposta veloce, Kali, Parrot ecc. sono sistemi ideati solamente per far risparmiare tempo a chi ha bisogno di avere velocemente ambienti pre-configurati per poter eseguire le proprie attività (esempio, corsi di sicurezza informatica, penetration tester che devono usare pc forniti dalle aizende, ecc.). Non sono adeguati a chi non ha mai messo mano su Linux per svariati motivi. La cosa migliori per chi inizia è installare una delle distro user friendly (potete fare riferimento a questo articolo sulle distro più usate del 2021, sezione Le distro desktop per tutti) e iniziare a fare pratica coi comandi di base, la gestione del sistema operativo, i permessi ecc.

Un ottimo libro che può sicuramente aiutare a comprendere il mondo del pinguino è Amministrare GNU/Linux (oggi arrivato alla 5a edizione, a pagamento sul sito ufficiale oppure tramite Amazon).​

4.3    Tools

Un'altra domanda che spesso viene fatta è: "'E' meglio utilizzare tools 'preconfezionati' oppure tools fatti a mano?"
A chiunque si sia fatto o si stia facendo questa domanda, invito ad andare a leggere la discussione seguente:

Per dare una risposta concisa: utilizzare dei tools già "pre-confezionati" necessità di conoscerne il funzionamento, per cui è fondamentale documentarsi su cosa facciano. Sono il frutto di anni di sviluppo, per cui sono sicuramente migliori di tools grezzi fatti a mano in poco tempo. Ci sono però situazioni in cui l'utilizzo di tools pre-fatti non è consentito (ad esempio quando si compromette una macchina e si deve fare una scansione partendo da quella macchina compromessa). In questo caso è fondamentale avere delle conoscenze di base in modo da poter crearsi velocemente questo tipo di utility.​

Potete trovare un elenco sommario di tutti i tools più usati ai seguenti link:

4.4    Linguaggi di programmazione

Per quanto in molti dicano che per essere un buon hacker sia necessario saper programmare, mi sento di dissentire da questa affermazione, o almeno in parte. Saper programmare significa saper creare di programmi o siti efficienti, senza bug, che siano performanti. Questa non è la necessità di un penetration tester: un ethical hacker deve saper leggere il codice, comprendere cosa faccia e identificare potenziali problematiche, ma non è necessario saper programmare. Sicuramente saper scrivere codice è un ottimo bonus che può tornare utile in innumerevoli situazioni, ma scrivere codice non è programmare. NON SONO LA STESSA COSA. Saper programmare è un di più che ritorna utile in fase di ricerca e sviluppo di exploit e vulnerabilità zero day, ma non è una dote fondamentale per un ethical hacker o un penetration tester.​

Per quanto riguarda i linguaggi sui quali concentrarsi maggiormente, è fondamentale saper leggere (e possibilmente scrivere):
  • HTML + CSS + JavaScript (linguaggi di front-end)
  • PHP + SQL (linguaggi di backend)
  • C (fondamentale per imparare a le basi della programmazione e capire il funzionamento della memoria)
  • Python
  • Bash
Inoltre è consigliabile imparare a scrivere codice in almeno uno dei seguenti linguaggi:
  • Python (sicuramente uno dei linguaggi più utili per la creazione di script)
  • Bash (linguaggi di scripting di base su ogni sistema linux)
  • Perl (non molto usato, ma comunque è giusto sapere che esista ed è un linguaggio di scripting)
  • Powershell (per chi opera nel mondo Windows è sicuramente un must)

4.5    Le branche dell'hacking

La sicurezza informatica si di divide in numerose branche, discusse in maniera più approfondita al topic indicato sotto, tra cui quella che interessa a noi, cioè l' Ethical Hacking e il Penetration Testing.

Bisogna sapere però che anche per questa categoria esistono diversi sotto-gruppi. Come spiegato da @3files4 in maniera molto dettagliata nella guida "Tipologie di Penetration Testing ", esistono almeno 3 macro categorie da cui si può partire (ma che alla fine del percorso di studio dovranno coesistere):​
  • Web Application (incentrato sulle vulnerabilità del mondo web)
  • Network (incentrato sulle vulnerabilità dei principali servizi utilizzati su una rete)
  • Mobile (incentrato sulle applicazioni mobile)
Ognuno di questi sotto-gruppi è incentrato su diverse tecniche e architetture, motivo per cui è consigliabile iniziare con un solo topic e poi spostarsi a quello successivo solo dopo aver compreso in maniera chiera quello precedente.

Oltre alle tra categorie elencate sopra esistono altre categorie più di "nicchia" che non rientrano nelle tipologie di penetration test, ma che comunque si distinguono poichè possono essere considerate come "campi di operatività":​
  • Reverse Engineering (analisi del funzionamento di un programma partendo dal prodotto finale, come nel caso dei malware)​
  • Binary Exploitation (analisi e ricerca di vulnerabilità all'interno di un software)​
Una veloce introduzione alla binary exploitation e a come sfruttare una classica vulnerabilità Stack-based Buffer Overflow su sistemi x86-32 (senza protezioni) la potete leggere al link seguente:

4.6    Cosa studiare e dove studiare

Siamo giunti alla parte "calda" della guida. In base alla strada che avete deciso di intraprendere, avrete necessità di trovare le risorse più adeguate al vostro percorso di apprendimento.​

Di seguito troverete una guida sui migliori libri per ognuna delle varie aree sopra citate:

Oltre ai libri, un altro ottimo modo per imparare è quello di prendere spunto dagli esperti del settore mentre li si vede all'opera. Ecco di seguito quindi la guida sui migliori canali YouTube per imparare l'ethical hacking:​

Oltre ai prodotti di casa Inforge, sul web esistono tantissime altre guide molto valide, come ad esempio il repo GitHub PayloadsAllTheThings oppure la sacra bibbia HackTricks.

Di seguito un elenco dettagliato di siti GRATUITI sui quali consiglio vivamente di studiare (e prendere appunti):


Di seguito invece una lista specifica per i sistemi Windows e Linux:
Windows


Linux


Se ciò che vi interessa maggiormente è, invece, il penetration testing di applicazioni mobile (Android in particolare), delle ottime risorse da cui partire sono le seguenti:​

Oltre alle risorse gratuite potete studiare anche su ottimi corsi a pagamento, i quali spesso permettono di ottenere poi delle certificazioni. Di seguito potete trovare un elenco di quelle che sono considerate attualmente le più valide:

Per ogni categoria (web, network, mobile) ci sono inoltre degli elementi e dei concetti fondamentali da comprendere:

Cross category:
Web hacking:
Network hacking:
Mobile hacking:

5    Training

Confucio diceva:
“Se ascolto dimentico, se vedo ricordo, se faccio capisco”
La stessa regola vale per la sicurezza informatica. La pratica e l'allenamento sono elementi fondamentali per riuscire a migliorare DAVVERO in questo settore. Leggere e vedere sono due attività molto importanti per imparare nuove cose, ma solo facendo e mettendo in pratica si può davvero dire di aver capito un determinato argomento o una specifica vulnerabilità.​

Ecco quindi i principali "posti" dove potersi esercitare senza doversi prima preoccupare di recuperare un bigliello "Get out of Jail for Free" :
1704388107910.png

5.1    Piattaforme dedicate (CTF & Labs)

Come ampiamente discusso nell'articolo sottostante, esistono diverse piattaforme dove potersi esercitare liberamente (sia gratis che tramite vari abbonamenti):​

5.2    Scenari reali (BugBounty)

Un altro scenario in cui è possibile esercitarsi e al contempo gareggiare per ottenere dei premi è tramite Bug Bounty. Cosa siano e come si partecipi ad essi è tutto spiegato nel seguente articolo:​

5.3    Certificazioni

L'ultimo step per valorizzare le proprie capacità e dimostrare di essere davvero abili in qualcosa è tramite una certificazione. Sebbene esistano diverse certificazioni nel mondo cybersec, di seguito è possibile trovare un elenco di quelle che sono considerate attualmente le più valide:​

Se foste curiosi di leggere nel dettaglio la mia personale esperienza con la certificazione OSCP, qui di seguito trovate il mio post:



Made with ❤ for Inforge

 
kcNjNCN.jpg



Imparare l'hacking e diventare un Ethical hacker​

Tempo di lettura stimato: 10 minuti​





1    Perchè nasce questa guida

Noob [AWESOME]chevron-double-right[/AWESOME] Script Kiddie [AWESOME]chevron-double-right[/AWESOME] Ethical Hacker

Tre anni fa venne pubblicata da @Gorate una delle migliori guide dedicate a tutti coloro che vogliono iniziare nel mondo dell'hacking:

Sulla falsa riga della precedente, nasce questa nuova versione, con lo stesso scopo (dare un punto di partenza a tutti coloro che vogliono iniziare, ma non sanno ancora da dove) ma con l'intento di creare una rete di articoli, risorse e guide che si espanda sempre di più col tempo, in maniera autonoma grazie all'interazione della community.​

2    Chi è l'hacker

[AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME]​

Sul termine "hacker" ci sono molte speculazioni, altrettante definizioni storpiate, significati dati principalmente dall'immaginario collettivo, ma poche certezze. C'è una particolare discussione che però dà delle risposte alle nostre domande, ed è sicuramente quella scritta da @DarkRelease:

Per citare le sue parole:


Esiste anche una specie di motto che descrive chi è l'hacker, i suoi ideali, le sue caratteristice. E' un breve saggio scritto da TheMentor, noto hacker statunitense: lo scritto si chiama "The Hacker Manifesto":​

3    La legge italiana riguardo le tematiche di hacking

[AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME]

Partendo dal presupposto che i crimini informatici (tra cui la violazione della privacy) sono tutti puniti con sanzioni amministrative e/o condanne penali, è possibile dividere i vari reati in diverse macrocategorie, ampliamente descritte da @CrashTest nella seguente discussione:​

Il sito ufficiale della Polizia Postale inoltre ospita una pagina dedicata interamente all'Art.615-ter. (meglio noto come reato di accesso abusivo ad un sistema informatico e telematico),che consiglio di leggere a tutti coloro che vogliono intraprendere la strada dell'ethical hacking (almeno gli elementi chiave), in modo da sapere a che cosa si vada incontro in caso di violazione delle regole e in quali rischi si incapperebbe.​

4    Cominciamo

futuro-1200x700.jpg

4.1    Introduzione

[AWESOME]ban[/AWESOME] No lamer here! [AWESOME]ban[/AWESOME]

Ora che abbiamo chiarito un paio di concetti ideologici di base, passiamo a fare le dovute distinzioni di cosa realmente studieremo e affronteremo nei capitoli seguenti. Se l'intento per cui volete iniziare il vostro percorso da Ethical Hacker è "Voglio rubare un account di Facebook e spiare Whatsapp come posso fare?", ve lo dico schiettamente: lasciate perdere. Il motivo è semplice: l'obiettivo della guida non è creare criminali informatici o lamer, ma fondare le basi per futuri esperti di sicurezza informatica.

4.2    Sistema Operativo

Una domanda che viene sempre fatta è: "Ma per fare l'hacker devo usare un sistema operativo dedicato alla sicurezza informatica, come Kali?".
La risposta è un secco NO, NO e ancora NO! La verità è che non esiste un unico sistema operativo, in base alle situazioni sarà più comodo utilizzare Linux piuttosto che Windows e in altre situazioni sarà il contrario. La cosa migliore è conoscere e disporre di entrambi i sistemi operativi, idealmente su una macchina virtuale, in modo tale da averli entrambi a disposizione.

"Ma quando dici un sistema Linux, posso usare Kali?"
La risposta è nuovamente NO, e la spiegazione dettagliata la si può leggere in queste due risorse:

Per dare una risposta veloce, Kali, Parrot ecc. sono sistemi ideati solamente per far risparmiare tempo a chi ha bisogno di avere velocemente ambienti pre-configurati per poter eseguire le proprie attività (esempio, corsi di sicurezza informatica, penetration tester che devono usare pc forniti dalle aizende, ecc.). Non sono adeguati a chi non ha mai messo mano su Linux per svariati motivi. La cosa migliori per chi inizia è installare una delle distro user friendly (potete fare riferimento a questo articolo sulle distro più usate del 2021, sezione Le distro desktop per tutti) e iniziare a fare pratica coi comandi di base, la gestione del sistema operativo, i permessi ecc.

Un ottimo libro che può sicuramente aiutare a comprendere il mondo del pinguino è Amministrare GNU/Linux (oggi arrivato alla 5a edizione, a pagamento sul sito ufficiale oppure tramite Amazon).​

4.3    Tools

Un'altra domanda che spesso viene fatta è: "'E' meglio utilizzare tools 'preconfezionati' oppure tools fatti a mano?"
A chiunque si sia fatto o si stia facendo questa domanda, invito ad andare a leggere la discussione seguente:

Per dare una risposta concisa: utilizzare dei tools già "pre-confezionati" necessità di conoscerne il funzionamento, per cui è fondamentale documentarsi su cosa facciano. Sono il frutto di anni di sviluppo, per cui sono sicuramente migliori di tools grezzi fatti a mano in poco tempo. Ci sono però situazioni in cui l'utilizzo di tools pre-fatti non è consentito (ad esempio quando si compromette una macchina e si deve fare una scansione partendo da quella macchina compromessa). In questo caso è fondamentale avere delle conoscenze di base in modo da poter crearsi velocemente questo tipo di utility.​

Potete trovare un elenco sommario di tutti i tools più usati ai seguenti link:

4.4    Linguaggi di programmazione

Per quanto in molti dicano che per essere un buon hacker sia necessario saper programmare, mi sento di dissentire da questa affermazione, o almeno in parte. Saper programmare significa saper creare di programmi o siti efficienti, senza bug, che siano performanti. Questa non è la necessità di un penetration tester: un ethical hacker deve saper leggere il codice, comprendere cosa faccia e identificare potenziali problematiche, ma non è necessario saper programmare. Sicuramente saper scrivere codice è un ottimo bonus che può tornare utile in innumerevoli situazioni, ma scrivere codice non è programmare. NON SONO LA STESSA COSA. Saper programmare è un di più che ritorna utile in fase di ricerca e sviluppo di exploit e vulnerabilità zero day, ma non è una dote fondamentale per un ethical hacker o un penetration tester.​

Per quanto riguarda i linguaggi sui quali concentrarsi maggiormente, è fondamentale saper leggere (e possibilmente scrivere):
  • HTML + CSS + JavaScript (linguaggi di front-end)
  • PHP + SQL (linguaggi di backend)
  • C (fondamentale per imparare a le basi della programmazione e capire il funzionamento della memoria)
  • Python
  • Bash
Inoltre è consigliabile imparare a scrivere codice in almeno uno dei seguenti linguaggi:
  • Python (sicuramente uno dei linguaggi più utili per la creazione di script)
  • Bash (linguaggi di scripting di base su ogni sistema linux)
  • Perl (non molto usato, ma comunque è giusto sapere che esista ed è un linguaggio di scripting)
  • Powershell (per chi opera nel mondo Windows è sicuramente un must)

4.5    Le branche dell'hacking

La sicurezza informatica si di divide in numerose branche, discusse in maniera più approfondita al topic indicato sotto, tra cui quella che interessa a noi, cioè l' Ethical Hacking e il Penetration Testing.

Bisogna sapere però che anche per questa categoria esistono diversi sotto-gruppi. Come spiegato da @3files4 in maniera molto dettagliata nella guida "Tipologie di Penetration Testing ", esistono almeno 3 macro categorie da cui si può partire (ma che alla fine del percorso di studio dovranno coesistere):​
  • Web Application (incentrato sulle vulnerabilità del mondo web)
  • Network (incentrato sulle vulnerabilità dei principali servizi utilizzati su una rete)
  • Mobile (incentrato sulle applicazioni mobile)
Ognuno di questi sotto-gruppi è incentrato su diverse tecniche e architetture, motivo per cui è consigliabile iniziare con un solo topic e poi spostarsi a quello successivo solo dopo aver compreso in maniera chiera quello precedente.

Oltre alle tra categorie elencate sopra esistono altre categorie più di "nicchia" che non rientrano nelle tipologie di penetration test, ma che comunque si distinguono poichè possono essere considerate come "campi di operatività":​
  • Reverse Engineering (analisi del funzionamento di un programma partendo dal prodotto finale, come nel caso dei malware)​
  • Binary Exploitation (analisi e ricerca di vulnerabilità all'interno di un software)​

4.6    Cosa studiare e dove studiare

Siamo giunti alla parte "calda" della guida. In base alla strada che avete deciso di intraprendere, avrete necessità di trovare le risorse più adeguate al vostro percorso di apprendimento.​

Di seguito troverete una guida sui migliori libri per ognuna delle varie aree sopra citate:

Oltre ai libri, un altro ottimo modo per imparare è quello di prendere spunto dagli esperti del settore mentre li si vede all'opera. Ecco di seguito quindi la guida sui migliori canali YouTube per imparare l'ethical hacking:​

Oltre ai prodotti di casa Inforge, sul web esistono tantissime altre guide molto valide, come ad esempio il repo GitHub PayloadsAllTheThings oppure la sacra bibbia HackTricks.

Di seguito un elenco dettagliato di siti sui quali consiglio vivamente di studiare (e prendere appunti):
*** Testo nascosto: non può essere aggiunto alla citazione ***


Di seguito invece una lista specifica per i sistemi Windows e Linux:
Windows
*** Testo nascosto: non può essere aggiunto alla citazione ***


Linux
*** Testo nascosto: non può essere aggiunto alla citazione ***


Per ogni categoria (web, network, mobile) ci sono inoltre degli elementi e dei concetti fondamentali da comprendere:

Cross category:
Web hacking:
Network hacking:
Mobile hacking:

5    Training

Confucio diceva:

La stessa regola vale per la sicurezza informatica. La pratica e l'allenamento sono elementi fondamentali per riuscire a migliorare DAVVERO in questo settore. Leggere e vedere sono due attività molto importanti per imparare nuove cose, ma solo facendo e mettendo in pratica si può davvero dire di aver capito un determinato argomento o una specifica vulnerabilità.​

Ecco quindi i principali "posti" dove potersi esercitare senza doversi prima preoccupare di recuperare un bigliello "Get out of Jail for Free" :
Get_out_of_jail_free.jpg

5.1    Piattaforme dedicate (CTF & Labs)

Come ampiamente discusso nell'articolo sottostante, esistono diverse piattaforme dove potersi esercitare liberamente (sia gratis che tramite vari abbonamenti):​

5.2    Scenari reali (BugBounty)

Un altro scenario in cui è possibile esercitarsi e al contempo gareggiare per ottenere dei premi è tramite Bug Bounty. Cosa siano e come si partecipi ad essi è tutto spiegato nel seguente articolo:​

5.3    Certificazioni

L'ultimo step per valorizzare le proprie capacità e dimostrare di essere davvero abili in qualcosa è tramite una certificazione. Sebbene esistano diverse certificazioni nel mondo cybersec, di seguito è possibile trovare un elenco di quelle che sono considerate attualmente le più valide:​



Made with ❤ for Inforge

Sempre al top! Super esplicativa e dettagliata! Thanks :D
 
kcNjNCN.jpg



Imparare l'hacking e diventare un Ethical hacker​

Tempo di lettura stimato: 10 minuti​





1    Perchè nasce questa guida

Noob [AWESOME]chevron-double-right[/AWESOME] Script Kiddie [AWESOME]chevron-double-right[/AWESOME] Ethical Hacker

Tre anni fa venne pubblicata da @Gorate una delle migliori guide dedicate a tutti coloro che vogliono iniziare nel mondo dell'hacking:

Sulla falsa riga della precedente, nasce questa nuova versione, con lo stesso scopo (dare un punto di partenza a tutti coloro che vogliono iniziare, ma non sanno ancora da dove) ma con l'intento di creare una rete di articoli, risorse e guide che si espanda sempre di più col tempo, in maniera autonoma grazie all'interazione della community.​

2    Chi è l'hacker

[AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME]​

Sul termine "hacker" ci sono molte speculazioni, altrettante definizioni storpiate, significati dati principalmente dall'immaginario collettivo, ma poche certezze. C'è una particolare discussione che però dà delle risposte alle nostre domande, ed è sicuramente quella scritta da @DarkRelease:

Per citare le sue parole:


Esiste anche una specie di motto che descrive chi è l'hacker, i suoi ideali, le sue caratteristice. E' un breve saggio scritto da TheMentor, noto hacker statunitense: lo scritto si chiama "The Hacker Manifesto":​

3    La legge italiana riguardo le tematiche di hacking

[AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME]

Partendo dal presupposto che i crimini informatici (tra cui la violazione della privacy) sono tutti puniti con sanzioni amministrative e/o condanne penali, è possibile dividere i vari reati in diverse macrocategorie, ampliamente descritte da @CrashTest nella seguente discussione:​

Il sito ufficiale della Polizia Postale inoltre ospita una pagina dedicata interamente all'Art.615-ter. (meglio noto come reato di accesso abusivo ad un sistema informatico e telematico),che consiglio di leggere a tutti coloro che vogliono intraprendere la strada dell'ethical hacking (almeno gli elementi chiave), in modo da sapere a che cosa si vada incontro in caso di violazione delle regole e in quali rischi si incapperebbe.​

4    Cominciamo

futuro-1200x700.jpg

4.1    Introduzione

[AWESOME]ban[/AWESOME] No lamer here! [AWESOME]ban[/AWESOME]

Ora che abbiamo chiarito un paio di concetti ideologici di base, passiamo a fare le dovute distinzioni di cosa realmente studieremo e affronteremo nei capitoli seguenti. Se l'intento per cui volete iniziare il vostro percorso da Ethical Hacker è "Voglio rubare un account di Facebook e spiare Whatsapp come posso fare?", ve lo dico schiettamente: lasciate perdere. Il motivo è semplice: l'obiettivo della guida non è creare criminali informatici o lamer, ma fondare le basi per futuri esperti di sicurezza informatica.

4.2    Sistema Operativo

Una domanda che viene sempre fatta è: "Ma per fare l'hacker devo usare un sistema operativo dedicato alla sicurezza informatica, come Kali?".
La risposta è un secco NO, NO e ancora NO! La verità è che non esiste un unico sistema operativo, in base alle situazioni sarà più comodo utilizzare Linux piuttosto che Windows e in altre situazioni sarà il contrario. La cosa migliore è conoscere e disporre di entrambi i sistemi operativi, idealmente su una macchina virtuale, in modo tale da averli entrambi a disposizione.

"Ma quando dici un sistema Linux, posso usare Kali?"
La risposta è nuovamente NO, e la spiegazione dettagliata la si può leggere in queste due risorse:

Per dare una risposta veloce, Kali, Parrot ecc. sono sistemi ideati solamente per far risparmiare tempo a chi ha bisogno di avere velocemente ambienti pre-configurati per poter eseguire le proprie attività (esempio, corsi di sicurezza informatica, penetration tester che devono usare pc forniti dalle aizende, ecc.). Non sono adeguati a chi non ha mai messo mano su Linux per svariati motivi. La cosa migliori per chi inizia è installare una delle distro user friendly (potete fare riferimento a questo articolo sulle distro più usate del 2021, sezione Le distro desktop per tutti) e iniziare a fare pratica coi comandi di base, la gestione del sistema operativo, i permessi ecc.

Un ottimo libro che può sicuramente aiutare a comprendere il mondo del pinguino è Amministrare GNU/Linux (oggi arrivato alla 5a edizione, a pagamento sul sito ufficiale oppure tramite Amazon).​

4.3    Tools

Un'altra domanda che spesso viene fatta è: "'E' meglio utilizzare tools 'preconfezionati' oppure tools fatti a mano?"
A chiunque si sia fatto o si stia facendo questa domanda, invito ad andare a leggere la discussione seguente:

Per dare una risposta concisa: utilizzare dei tools già "pre-confezionati" necessità di conoscerne il funzionamento, per cui è fondamentale documentarsi su cosa facciano. Sono il frutto di anni di sviluppo, per cui sono sicuramente migliori di tools grezzi fatti a mano in poco tempo. Ci sono però situazioni in cui l'utilizzo di tools pre-fatti non è consentito (ad esempio quando si compromette una macchina e si deve fare una scansione partendo da quella macchina compromessa). In questo caso è fondamentale avere delle conoscenze di base in modo da poter crearsi velocemente questo tipo di utility.​

Potete trovare un elenco sommario di tutti i tools più usati ai seguenti link:

4.4    Linguaggi di programmazione

Per quanto in molti dicano che per essere un buon hacker sia necessario saper programmare, mi sento di dissentire da questa affermazione, o almeno in parte. Saper programmare significa saper creare di programmi o siti efficienti, senza bug, che siano performanti. Questa non è la necessità di un penetration tester: un ethical hacker deve saper leggere il codice, comprendere cosa faccia e identificare potenziali problematiche, ma non è necessario saper programmare. Sicuramente saper scrivere codice è un ottimo bonus che può tornare utile in innumerevoli situazioni, ma scrivere codice non è programmare. NON SONO LA STESSA COSA. Saper programmare è un di più che ritorna utile in fase di ricerca e sviluppo di exploit e vulnerabilità zero day, ma non è una dote fondamentale per un ethical hacker o un penetration tester.​

Per quanto riguarda i linguaggi sui quali concentrarsi maggiormente, è fondamentale saper leggere (e possibilmente scrivere):
  • HTML + CSS + JavaScript (linguaggi di front-end)
  • PHP + SQL (linguaggi di backend)
  • C (fondamentale per imparare a le basi della programmazione e capire il funzionamento della memoria)
  • Python
  • Bash
Inoltre è consigliabile imparare a scrivere codice in almeno uno dei seguenti linguaggi:
  • Python (sicuramente uno dei linguaggi più utili per la creazione di script)
  • Bash (linguaggi di scripting di base su ogni sistema linux)
  • Perl (non molto usato, ma comunque è giusto sapere che esista ed è un linguaggio di scripting)
  • Powershell (per chi opera nel mondo Windows è sicuramente un must)

4.5    Le branche dell'hacking

La sicurezza informatica si di divide in numerose branche, discusse in maniera più approfondita al topic indicato sotto, tra cui quella che interessa a noi, cioè l' Ethical Hacking e il Penetration Testing.

Bisogna sapere però che anche per questa categoria esistono diversi sotto-gruppi. Come spiegato da @3files4 in maniera molto dettagliata nella guida "Tipologie di Penetration Testing ", esistono almeno 3 macro categorie da cui si può partire (ma che alla fine del percorso di studio dovranno coesistere):​
  • Web Application (incentrato sulle vulnerabilità del mondo web)
  • Network (incentrato sulle vulnerabilità dei principali servizi utilizzati su una rete)
  • Mobile (incentrato sulle applicazioni mobile)
Ognuno di questi sotto-gruppi è incentrato su diverse tecniche e architetture, motivo per cui è consigliabile iniziare con un solo topic e poi spostarsi a quello successivo solo dopo aver compreso in maniera chiera quello precedente.

Oltre alle tra categorie elencate sopra esistono altre categorie più di "nicchia" che non rientrano nelle tipologie di penetration test, ma che comunque si distinguono poichè possono essere considerate come "campi di operatività":​
  • Reverse Engineering (analisi del funzionamento di un programma partendo dal prodotto finale, come nel caso dei malware)​
  • Binary Exploitation (analisi e ricerca di vulnerabilità all'interno di un software)​

4.6    Cosa studiare e dove studiare

Siamo giunti alla parte "calda" della guida. In base alla strada che avete deciso di intraprendere, avrete necessità di trovare le risorse più adeguate al vostro percorso di apprendimento.​

Di seguito troverete una guida sui migliori libri per ognuna delle varie aree sopra citate:

Oltre ai libri, un altro ottimo modo per imparare è quello di prendere spunto dagli esperti del settore mentre li si vede all'opera. Ecco di seguito quindi la guida sui migliori canali YouTube per imparare l'ethical hacking:​

Oltre ai prodotti di casa Inforge, sul web esistono tantissime altre guide molto valide, come ad esempio il repo GitHub PayloadsAllTheThings oppure la sacra bibbia HackTricks.

Di seguito un elenco dettagliato di siti sui quali consiglio vivamente di studiare (e prendere appunti):
*** Testo nascosto: non può essere aggiunto alla citazione ***


Di seguito invece una lista specifica per i sistemi Windows e Linux:
Windows
*** Testo nascosto: non può essere aggiunto alla citazione ***


Linux
*** Testo nascosto: non può essere aggiunto alla citazione ***


Per ogni categoria (web, network, mobile) ci sono inoltre degli elementi e dei concetti fondamentali da comprendere:

Cross category:
Web hacking:
Network hacking:
Mobile hacking:

5    Training

Confucio diceva:

La stessa regola vale per la sicurezza informatica. La pratica e l'allenamento sono elementi fondamentali per riuscire a migliorare DAVVERO in questo settore. Leggere e vedere sono due attività molto importanti per imparare nuove cose, ma solo facendo e mettendo in pratica si può davvero dire di aver capito un determinato argomento o una specifica vulnerabilità.​

Ecco quindi i principali "posti" dove potersi esercitare senza doversi prima preoccupare di recuperare un bigliello "Get out of Jail for Free" :
Get_out_of_jail_free.jpg

5.1    Piattaforme dedicate (CTF & Labs)

Come ampiamente discusso nell'articolo sottostante, esistono diverse piattaforme dove potersi esercitare liberamente (sia gratis che tramite vari abbonamenti):​

5.2    Scenari reali (BugBounty)

Un altro scenario in cui è possibile esercitarsi e al contempo gareggiare per ottenere dei premi è tramite Bug Bounty. Cosa siano e come si partecipi ad essi è tutto spiegato nel seguente articolo:​

5.3    Certificazioni

L'ultimo step per valorizzare le proprie capacità e dimostrare di essere davvero abili in qualcosa è tramite una certificazione. Sebbene esistano diverse certificazioni nel mondo cybersec, di seguito è possibile trovare un elenco di quelle che sono considerate attualmente le più valide:​



Made with ❤ for Inforge

GRAZIE MILLE chiarissimo. Il post mi ha chiarito le idee e continuerò sicuramente su questa strada. Grazie ancora
 
kcNjNCN.jpg



Imparare l'hacking e diventare un Ethical hacker​

Tempo di lettura stimato: 10 minuti​





1    Perchè nasce questa guida

Noob [AWESOME]chevron-double-right[/AWESOME] Script Kiddie [AWESOME]chevron-double-right[/AWESOME] Ethical Hacker

Tre anni fa venne pubblicata da @Gorate una delle migliori guide dedicate a tutti coloro che vogliono iniziare nel mondo dell'hacking:

Sulla falsa riga della precedente, nasce questa nuova versione, con lo stesso scopo (dare un punto di partenza a tutti coloro che vogliono iniziare, ma non sanno ancora da dove) ma con l'intento di creare una rete di articoli, risorse e guide che si espanda sempre di più col tempo, in maniera autonoma grazie all'interazione della community.​

2    Chi è l'hacker

[AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME]​

Sul termine "hacker" ci sono molte speculazioni, altrettante definizioni storpiate, significati dati principalmente dall'immaginario collettivo, ma poche certezze. C'è una particolare discussione che però dà delle risposte alle nostre domande, ed è sicuramente quella scritta da @DarkRelease:

Per citare le sue parole:


Esiste anche una specie di motto che descrive chi è l'hacker, i suoi ideali, le sue caratteristice. E' un breve saggio scritto da TheMentor, noto hacker statunitense: lo scritto si chiama "The Hacker Manifesto":​

3    La legge italiana riguardo le tematiche di hacking

[AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME]

Partendo dal presupposto che i crimini informatici (tra cui la violazione della privacy) sono tutti puniti con sanzioni amministrative e/o condanne penali, è possibile dividere i vari reati in diverse macrocategorie, ampliamente descritte da @CrashTest nella seguente discussione:​

Il sito ufficiale della Polizia Postale inoltre ospita una pagina dedicata interamente all'Art.615-ter. (meglio noto come reato di accesso abusivo ad un sistema informatico e telematico),che consiglio di leggere a tutti coloro che vogliono intraprendere la strada dell'ethical hacking (almeno gli elementi chiave), in modo da sapere a che cosa si vada incontro in caso di violazione delle regole e in quali rischi si incapperebbe.​

4    Cominciamo

futuro-1200x700.jpg

4.1    Introduzione

[AWESOME]ban[/AWESOME] No lamer here! [AWESOME]ban[/AWESOME]

Ora che abbiamo chiarito un paio di concetti ideologici di base, passiamo a fare le dovute distinzioni di cosa realmente studieremo e affronteremo nei capitoli seguenti. Se l'intento per cui volete iniziare il vostro percorso da Ethical Hacker è "Voglio rubare un account di Facebook e spiare Whatsapp come posso fare?", ve lo dico schiettamente: lasciate perdere. Il motivo è semplice: l'obiettivo della guida non è creare criminali informatici o lamer, ma fondare le basi per futuri esperti di sicurezza informatica.

4.2    Sistema Operativo

Una domanda che viene sempre fatta è: "Ma per fare l'hacker devo usare un sistema operativo dedicato alla sicurezza informatica, come Kali?".
La risposta è un secco NO, NO e ancora NO! La verità è che non esiste un unico sistema operativo, in base alle situazioni sarà più comodo utilizzare Linux piuttosto che Windows e in altre situazioni sarà il contrario. La cosa migliore è conoscere e disporre di entrambi i sistemi operativi, idealmente su una macchina virtuale, in modo tale da averli entrambi a disposizione.

"Ma quando dici un sistema Linux, posso usare Kali?"
La risposta è nuovamente NO, e la spiegazione dettagliata la si può leggere in queste due risorse:

Per dare una risposta veloce, Kali, Parrot ecc. sono sistemi ideati solamente per far risparmiare tempo a chi ha bisogno di avere velocemente ambienti pre-configurati per poter eseguire le proprie attività (esempio, corsi di sicurezza informatica, penetration tester che devono usare pc forniti dalle aizende, ecc.). Non sono adeguati a chi non ha mai messo mano su Linux per svariati motivi. La cosa migliori per chi inizia è installare una delle distro user friendly (potete fare riferimento a questo articolo sulle distro più usate del 2021, sezione Le distro desktop per tutti) e iniziare a fare pratica coi comandi di base, la gestione del sistema operativo, i permessi ecc.

Un ottimo libro che può sicuramente aiutare a comprendere il mondo del pinguino è Amministrare GNU/Linux (oggi arrivato alla 5a edizione, a pagamento sul sito ufficiale oppure tramite Amazon).​

4.3    Tools

Un'altra domanda che spesso viene fatta è: "'E' meglio utilizzare tools 'preconfezionati' oppure tools fatti a mano?"
A chiunque si sia fatto o si stia facendo questa domanda, invito ad andare a leggere la discussione seguente:

Per dare una risposta concisa: utilizzare dei tools già "pre-confezionati" necessità di conoscerne il funzionamento, per cui è fondamentale documentarsi su cosa facciano. Sono il frutto di anni di sviluppo, per cui sono sicuramente migliori di tools grezzi fatti a mano in poco tempo. Ci sono però situazioni in cui l'utilizzo di tools pre-fatti non è consentito (ad esempio quando si compromette una macchina e si deve fare una scansione partendo da quella macchina compromessa). In questo caso è fondamentale avere delle conoscenze di base in modo da poter crearsi velocemente questo tipo di utility.​

Potete trovare un elenco sommario di tutti i tools più usati ai seguenti link:

4.4    Linguaggi di programmazione

Per quanto in molti dicano che per essere un buon hacker sia necessario saper programmare, mi sento di dissentire da questa affermazione, o almeno in parte. Saper programmare significa saper creare di programmi o siti efficienti, senza bug, che siano performanti. Questa non è la necessità di un penetration tester: un ethical hacker deve saper leggere il codice, comprendere cosa faccia e identificare potenziali problematiche, ma non è necessario saper programmare. Sicuramente saper scrivere codice è un ottimo bonus che può tornare utile in innumerevoli situazioni, ma scrivere codice non è programmare. NON SONO LA STESSA COSA. Saper programmare è un di più che ritorna utile in fase di ricerca e sviluppo di exploit e vulnerabilità zero day, ma non è una dote fondamentale per un ethical hacker o un penetration tester.​

Per quanto riguarda i linguaggi sui quali concentrarsi maggiormente, è fondamentale saper leggere (e possibilmente scrivere):
  • HTML + CSS + JavaScript (linguaggi di front-end)
  • PHP + SQL (linguaggi di backend)
  • C (fondamentale per imparare a le basi della programmazione e capire il funzionamento della memoria)
  • Python
  • Bash
Inoltre è consigliabile imparare a scrivere codice in almeno uno dei seguenti linguaggi:
  • Python (sicuramente uno dei linguaggi più utili per la creazione di script)
  • Bash (linguaggi di scripting di base su ogni sistema linux)
  • Perl (non molto usato, ma comunque è giusto sapere che esista ed è un linguaggio di scripting)
  • Powershell (per chi opera nel mondo Windows è sicuramente un must)

4.5    Le branche dell'hacking

La sicurezza informatica si di divide in numerose branche, discusse in maniera più approfondita al topic indicato sotto, tra cui quella che interessa a noi, cioè l' Ethical Hacking e il Penetration Testing.

Bisogna sapere però che anche per questa categoria esistono diversi sotto-gruppi. Come spiegato da @3files4 in maniera molto dettagliata nella guida "Tipologie di Penetration Testing ", esistono almeno 3 macro categorie da cui si può partire (ma che alla fine del percorso di studio dovranno coesistere):​
  • Web Application (incentrato sulle vulnerabilità del mondo web)
  • Network (incentrato sulle vulnerabilità dei principali servizi utilizzati su una rete)
  • Mobile (incentrato sulle applicazioni mobile)
Ognuno di questi sotto-gruppi è incentrato su diverse tecniche e architetture, motivo per cui è consigliabile iniziare con un solo topic e poi spostarsi a quello successivo solo dopo aver compreso in maniera chiera quello precedente.

Oltre alle tra categorie elencate sopra esistono altre categorie più di "nicchia" che non rientrano nelle tipologie di penetration test, ma che comunque si distinguono poichè possono essere considerate come "campi di operatività":​
  • Reverse Engineering (analisi del funzionamento di un programma partendo dal prodotto finale, come nel caso dei malware)​
  • Binary Exploitation (analisi e ricerca di vulnerabilità all'interno di un software)​

4.6    Cosa studiare e dove studiare

Siamo giunti alla parte "calda" della guida. In base alla strada che avete deciso di intraprendere, avrete necessità di trovare le risorse più adeguate al vostro percorso di apprendimento.​

Di seguito troverete una guida sui migliori libri per ognuna delle varie aree sopra citate:

Oltre ai libri, un altro ottimo modo per imparare è quello di prendere spunto dagli esperti del settore mentre li si vede all'opera. Ecco di seguito quindi la guida sui migliori canali YouTube per imparare l'ethical hacking:​

Oltre ai prodotti di casa Inforge, sul web esistono tantissime altre guide molto valide, come ad esempio il repo GitHub PayloadsAllTheThings oppure la sacra bibbia HackTricks.

Di seguito un elenco dettagliato di siti sui quali consiglio vivamente di studiare (e prendere appunti):
*** Testo nascosto: non può essere aggiunto alla citazione ***


Di seguito invece una lista specifica per i sistemi Windows e Linux:
Windows
*** Testo nascosto: non può essere aggiunto alla citazione ***


Linux
*** Testo nascosto: non può essere aggiunto alla citazione ***


Per ogni categoria (web, network, mobile) ci sono inoltre degli elementi e dei concetti fondamentali da comprendere:

Cross category:
Web hacking:
Network hacking:
Mobile hacking:

5    Training

Confucio diceva:

La stessa regola vale per la sicurezza informatica. La pratica e l'allenamento sono elementi fondamentali per riuscire a migliorare DAVVERO in questo settore. Leggere e vedere sono due attività molto importanti per imparare nuove cose, ma solo facendo e mettendo in pratica si può davvero dire di aver capito un determinato argomento o una specifica vulnerabilità.​

Ecco quindi i principali "posti" dove potersi esercitare senza doversi prima preoccupare di recuperare un bigliello "Get out of Jail for Free" :
Get_out_of_jail_free.jpg

5.1    Piattaforme dedicate (CTF & Labs)

Come ampiamente discusso nell'articolo sottostante, esistono diverse piattaforme dove potersi esercitare liberamente (sia gratis che tramite vari abbonamenti):​

5.2    Scenari reali (BugBounty)

Un altro scenario in cui è possibile esercitarsi e al contempo gareggiare per ottenere dei premi è tramite Bug Bounty. Cosa siano e come si partecipi ad essi è tutto spiegato nel seguente articolo:​

5.3    Certificazioni

L'ultimo step per valorizzare le proprie capacità e dimostrare di essere davvero abili in qualcosa è tramite una certificazione. Sebbene esistano diverse certificazioni nel mondo cybersec, di seguito è possibile trovare un elenco di quelle che sono considerate attualmente le più valide:​

Se foste curiosi di leggere nel dettaglio la mia personale esperienza con la certificazione OSCP, qui di seguito trovate il mio post:



Made with ❤ for Inforge

Bellissima guida, ben fatta e soprattutto utile... Grazie
 
  • Love
  • Mi piace
Reazioni: hack00 e 0xbro
guida veramente ottima, piena di risorse, argomenti e tanto altro. inzierò fin da subito da imparare html e vari linguaggi come detto e consigliato dalla guida
 
  • Grazie
Reazioni: 0xbro
kcNjNCN.jpg



Imparare l'hacking e diventare un Ethical hacker​

Tempo di lettura stimato: 10 minuti​





1    Perchè nasce questa guida

Noob [AWESOME]chevron-double-right[/AWESOME] Script Kiddie [AWESOME]chevron-double-right[/AWESOME] Ethical Hacker

Tre anni fa venne pubblicata da @Gorate una delle migliori guide dedicate a tutti coloro che vogliono iniziare nel mondo dell'hacking:

Sulla falsa riga della precedente, nasce questa nuova versione, con lo stesso scopo (dare un punto di partenza a tutti coloro che vogliono iniziare, ma non sanno ancora da dove) ma con l'intento di creare una rete di articoli, risorse e guide che si espanda sempre di più col tempo, in maniera autonoma grazie all'interazione della community.​

2    Chi è l'hacker

[AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME][AWESOME]question[/AWESOME]​

Sul termine "hacker" ci sono molte speculazioni, altrettante definizioni storpiate, significati dati principalmente dall'immaginario collettivo, ma poche certezze. C'è una particolare discussione che però dà delle risposte alle nostre domande, ed è sicuramente quella scritta da @DarkRelease:

Per citare le sue parole:


Esiste anche una specie di motto che descrive chi è l'hacker, i suoi ideali, le sue caratteristice. E' un breve saggio scritto da TheMentor, noto hacker statunitense: lo scritto si chiama "The Hacker Manifesto":​

3    La legge italiana riguardo le tematiche di hacking

[AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME][AWESOME]siren-on[/AWESOME]

Partendo dal presupposto che i crimini informatici (tra cui la violazione della privacy) sono tutti puniti con sanzioni amministrative e/o condanne penali, è possibile dividere i vari reati in diverse macrocategorie, ampliamente descritte da @CrashTest nella seguente discussione:​

Il sito ufficiale della Polizia Postale inoltre ospita una pagina dedicata interamente all'Art.615-ter. (meglio noto come reato di accesso abusivo ad un sistema informatico e telematico),che consiglio di leggere a tutti coloro che vogliono intraprendere la strada dell'ethical hacking (almeno gli elementi chiave), in modo da sapere a che cosa si vada incontro in caso di violazione delle regole e in quali rischi si incapperebbe.​

4    Cominciamo

futuro-1200x700.jpg

4.1    Introduzione

[AWESOME]ban[/AWESOME] No lamer here! [AWESOME]ban[/AWESOME]

Ora che abbiamo chiarito un paio di concetti ideologici di base, passiamo a fare le dovute distinzioni di cosa realmente studieremo e affronteremo nei capitoli seguenti. Se l'intento per cui volete iniziare il vostro percorso da Ethical Hacker è "Voglio rubare un account di Facebook e spiare Whatsapp come posso fare?", ve lo dico schiettamente: lasciate perdere. Il motivo è semplice: l'obiettivo della guida non è creare criminali informatici o lamer, ma fondare le basi per futuri esperti di sicurezza informatica.

4.2    Sistema Operativo

Una domanda che viene sempre fatta è: "Ma per fare l'hacker devo usare un sistema operativo dedicato alla sicurezza informatica, come Kali?".
La risposta è un secco NO, NO e ancora NO! La verità è che non esiste un unico sistema operativo, in base alle situazioni sarà più comodo utilizzare Linux piuttosto che Windows e in altre situazioni sarà il contrario. La cosa migliore è conoscere e disporre di entrambi i sistemi operativi, idealmente su una macchina virtuale, in modo tale da averli entrambi a disposizione.

"Ma quando dici un sistema Linux, posso usare Kali?"
La risposta è nuovamente NO, e la spiegazione dettagliata la si può leggere in queste due risorse:

Per dare una risposta veloce, Kali, Parrot ecc. sono sistemi ideati solamente per far risparmiare tempo a chi ha bisogno di avere velocemente ambienti pre-configurati per poter eseguire le proprie attività (esempio, corsi di sicurezza informatica, penetration tester che devono usare pc forniti dalle aizende, ecc.). Non sono adeguati a chi non ha mai messo mano su Linux per svariati motivi. La cosa migliori per chi inizia è installare una delle distro user friendly (potete fare riferimento a questo articolo sulle distro più usate del 2021, sezione Le distro desktop per tutti) e iniziare a fare pratica coi comandi di base, la gestione del sistema operativo, i permessi ecc.

Un ottimo libro che può sicuramente aiutare a comprendere il mondo del pinguino è Amministrare GNU/Linux (oggi arrivato alla 5a edizione, a pagamento sul sito ufficiale oppure tramite Amazon).​

4.3    Tools

Un'altra domanda che spesso viene fatta è: "'E' meglio utilizzare tools 'preconfezionati' oppure tools fatti a mano?"
A chiunque si sia fatto o si stia facendo questa domanda, invito ad andare a leggere la discussione seguente:

Per dare una risposta concisa: utilizzare dei tools già "pre-confezionati" necessità di conoscerne il funzionamento, per cui è fondamentale documentarsi su cosa facciano. Sono il frutto di anni di sviluppo, per cui sono sicuramente migliori di tools grezzi fatti a mano in poco tempo. Ci sono però situazioni in cui l'utilizzo di tools pre-fatti non è consentito (ad esempio quando si compromette una macchina e si deve fare una scansione partendo da quella macchina compromessa). In questo caso è fondamentale avere delle conoscenze di base in modo da poter crearsi velocemente questo tipo di utility.​

Potete trovare un elenco sommario di tutti i tools più usati ai seguenti link:

4.4    Linguaggi di programmazione

Per quanto in molti dicano che per essere un buon hacker sia necessario saper programmare, mi sento di dissentire da questa affermazione, o almeno in parte. Saper programmare significa saper creare di programmi o siti efficienti, senza bug, che siano performanti. Questa non è la necessità di un penetration tester: un ethical hacker deve saper leggere il codice, comprendere cosa faccia e identificare potenziali problematiche, ma non è necessario saper programmare. Sicuramente saper scrivere codice è un ottimo bonus che può tornare utile in innumerevoli situazioni, ma scrivere codice non è programmare. NON SONO LA STESSA COSA. Saper programmare è un di più che ritorna utile in fase di ricerca e sviluppo di exploit e vulnerabilità zero day, ma non è una dote fondamentale per un ethical hacker o un penetration tester.​

Per quanto riguarda i linguaggi sui quali concentrarsi maggiormente, è fondamentale saper leggere (e possibilmente scrivere):
  • HTML + CSS + JavaScript (linguaggi di front-end)
  • PHP + SQL (linguaggi di backend)
  • C (fondamentale per imparare a le basi della programmazione e capire il funzionamento della memoria)
  • Python
  • Bash
Inoltre è consigliabile imparare a scrivere codice in almeno uno dei seguenti linguaggi:
  • Python (sicuramente uno dei linguaggi più utili per la creazione di script)
  • Bash (linguaggi di scripting di base su ogni sistema linux)
  • Perl (non molto usato, ma comunque è giusto sapere che esista ed è un linguaggio di scripting)
  • Powershell (per chi opera nel mondo Windows è sicuramente un must)

4.5    Le branche dell'hacking

La sicurezza informatica si di divide in numerose branche, discusse in maniera più approfondita al topic indicato sotto, tra cui quella che interessa a noi, cioè l' Ethical Hacking e il Penetration Testing.

Bisogna sapere però che anche per questa categoria esistono diversi sotto-gruppi. Come spiegato da @3files4 in maniera molto dettagliata nella guida "Tipologie di Penetration Testing ", esistono almeno 3 macro categorie da cui si può partire (ma che alla fine del percorso di studio dovranno coesistere):​
  • Web Application (incentrato sulle vulnerabilità del mondo web)
  • Network (incentrato sulle vulnerabilità dei principali servizi utilizzati su una rete)
  • Mobile (incentrato sulle applicazioni mobile)
Ognuno di questi sotto-gruppi è incentrato su diverse tecniche e architetture, motivo per cui è consigliabile iniziare con un solo topic e poi spostarsi a quello successivo solo dopo aver compreso in maniera chiera quello precedente.

Oltre alle tra categorie elencate sopra esistono altre categorie più di "nicchia" che non rientrano nelle tipologie di penetration test, ma che comunque si distinguono poichè possono essere considerate come "campi di operatività":​
  • Reverse Engineering (analisi del funzionamento di un programma partendo dal prodotto finale, come nel caso dei malware)​
  • Binary Exploitation (analisi e ricerca di vulnerabilità all'interno di un software)​

4.6    Cosa studiare e dove studiare

Siamo giunti alla parte "calda" della guida. In base alla strada che avete deciso di intraprendere, avrete necessità di trovare le risorse più adeguate al vostro percorso di apprendimento.​

Di seguito troverete una guida sui migliori libri per ognuna delle varie aree sopra citate:

Oltre ai libri, un altro ottimo modo per imparare è quello di prendere spunto dagli esperti del settore mentre li si vede all'opera. Ecco di seguito quindi la guida sui migliori canali YouTube per imparare l'ethical hacking:​

Oltre ai prodotti di casa Inforge, sul web esistono tantissime altre guide molto valide, come ad esempio il repo GitHub PayloadsAllTheThings oppure la sacra bibbia HackTricks.

Di seguito un elenco dettagliato di siti sui quali consiglio vivamente di studiare (e prendere appunti):
*** Testo nascosto: non può essere aggiunto alla citazione ***


Di seguito invece una lista specifica per i sistemi Windows e Linux:
Windows
*** Testo nascosto: non può essere aggiunto alla citazione ***


Linux
*** Testo nascosto: non può essere aggiunto alla citazione ***


Per ogni categoria (web, network, mobile) ci sono inoltre degli elementi e dei concetti fondamentali da comprendere:

Cross category:
Web hacking:
Network hacking:
Mobile hacking:

5    Training

Confucio diceva:

La stessa regola vale per la sicurezza informatica. La pratica e l'allenamento sono elementi fondamentali per riuscire a migliorare DAVVERO in questo settore. Leggere e vedere sono due attività molto importanti per imparare nuove cose, ma solo facendo e mettendo in pratica si può davvero dire di aver capito un determinato argomento o una specifica vulnerabilità.​

Ecco quindi i principali "posti" dove potersi esercitare senza doversi prima preoccupare di recuperare un bigliello "Get out of Jail for Free" :
Get_out_of_jail_free.jpg

5.1    Piattaforme dedicate (CTF & Labs)

Come ampiamente discusso nell'articolo sottostante, esistono diverse piattaforme dove potersi esercitare liberamente (sia gratis che tramite vari abbonamenti):​

5.2    Scenari reali (BugBounty)

Un altro scenario in cui è possibile esercitarsi e al contempo gareggiare per ottenere dei premi è tramite Bug Bounty. Cosa siano e come si partecipi ad essi è tutto spiegato nel seguente articolo:​

5.3    Certificazioni

L'ultimo step per valorizzare le proprie capacità e dimostrare di essere davvero abili in qualcosa è tramite una certificazione. Sebbene esistano diverse certificazioni nel mondo cybersec, di seguito è possibile trovare un elenco di quelle che sono considerate attualmente le più valide:​

Se foste curiosi di leggere nel dettaglio la mia personale esperienza con la certificazione OSCP, qui di seguito trovate il mio post:



Made with ❤ for Inforge

ottima giuda grazie
 
Come imparare l'hacking: la guida passo-a-passo per principianti (2023)
Qualche settimana fa sul blog di HackTheBox hanno pubblicato un articolo molto interessante sugli step necessari per imparare le basi dell'hacking. L'articolo è ovviamente in inglese e tratta in parte cose già scritte nel topic principale, ma consiglio a tutti quanti la lettura come approfondimento!

Di seguito l'articolo:
 
kcNjNCN.jpg



Imparare l'hacking e diventare un Ethical hacker​

Tempo di lettura stimato: 10 minuti​





1    Perchè nasce questa guida

Noob --> Script Kiddie --> Ethical Hacker

Tre anni fa venne pubblicata da @Gorate una delle migliori guide dedicate a tutti coloro che vogliono iniziare nel mondo dell'hacking:

Sulla falsa riga della precedente, nasce questa nuova versione, con lo stesso scopo (dare un punto di partenza a tutti coloro che vogliono iniziare, ma non sanno ancora da dove) ma con l'intento di creare una rete di articoli, risorse e guide che si espanda sempre di più col tempo, in maniera autonoma grazie all'interazione della community.​

2    Chi è l'hacker

?????​

Sul termine "hacker" ci sono molte speculazioni, altrettante definizioni storpiate, significati dati principalmente dall'immaginario collettivo, ma poche certezze. C'è una particolare discussione che però dà delle risposte alle nostre domande, ed è sicuramente quella scritta da @DarkRelease:

Per citare le sue parole:


Esiste anche una specie di motto che descrive chi è l'hacker, i suoi ideali, le sue caratteristice. E' un breve saggio scritto da TheMentor, noto hacker statunitense: lo scritto si chiama "The Hacker Manifesto":​

Un altro documento molto interessante, sempre inerente alla cultura hacker, è "How to Become A Hacker", di cui è possibile leggere la traduzione in italiano al seguente link:​

3    La legge italiana riguardo le tematiche di hacking


Partendo dal presupposto che i crimini informatici (tra cui la violazione della privacy) sono tutti puniti con sanzioni amministrative e/o condanne penali, è possibile dividere i vari reati in diverse macrocategorie, ampliamente descritte da @CrashTest nella seguente discussione:​

Il sito ufficiale della Polizia Postale inoltre ospita una pagina dedicata interamente all'Art.615-ter. (meglio noto come reato di accesso abusivo ad un sistema informatico e telematico),che consiglio di leggere a tutti coloro che vogliono intraprendere la strada dell'ethical hacking (almeno gli elementi chiave), in modo da sapere a che cosa si vada incontro in caso di violazione delle regole e in quali rischi si incapperebbe.​

4    Cominciamo

futuro-1200x700.jpg

4.1    Introduzione

X No lamer here! X

Ora che abbiamo chiarito un paio di concetti ideologici di base, passiamo a fare le dovute distinzioni di cosa realmente studieremo e affronteremo nei capitoli seguenti. Se l'intento per cui volete iniziare il vostro percorso da Ethical Hacker è "Voglio rubare un account di Facebook e spiare Whatsapp come posso fare?", ve lo dico schiettamente: lasciate perdere. Il motivo è semplice: l'obiettivo della guida non è creare criminali informatici o lamer, ma fondare le basi per futuri esperti di sicurezza informatica.

4.2    Sistema Operativo

Una domanda che viene sempre fatta è: "Ma per fare l'hacker devo usare un sistema operativo dedicato alla sicurezza informatica, come Kali?".
La risposta è un secco NO, NO e ancora NO! La verità è che non esiste un unico sistema operativo, in base alle situazioni sarà più comodo utilizzare Linux piuttosto che Windows e in altre situazioni sarà il contrario. La cosa migliore è conoscere e disporre di entrambi i sistemi operativi, idealmente su una macchina virtuale, in modo tale da averli entrambi a disposizione.

"Ma quando dici un sistema Linux, posso usare Kali?"
La risposta è nuovamente NO, e la spiegazione dettagliata la si può leggere in queste due risorse:

Per dare una risposta veloce, Kali, Parrot ecc. sono sistemi ideati solamente per far risparmiare tempo a chi ha bisogno di avere velocemente ambienti pre-configurati per poter eseguire le proprie attività (esempio, corsi di sicurezza informatica, penetration tester che devono usare pc forniti dalle aizende, ecc.). Non sono adeguati a chi non ha mai messo mano su Linux per svariati motivi. La cosa migliori per chi inizia è installare una delle distro user friendly (potete fare riferimento a questo articolo sulle distro più usate del 2021, sezione Le distro desktop per tutti) e iniziare a fare pratica coi comandi di base, la gestione del sistema operativo, i permessi ecc.

Un ottimo libro che può sicuramente aiutare a comprendere il mondo del pinguino è Amministrare GNU/Linux (oggi arrivato alla 5a edizione, a pagamento sul sito ufficiale oppure tramite Amazon).​

4.3    Tools

Un'altra domanda che spesso viene fatta è: "'E' meglio utilizzare tools 'preconfezionati' oppure tools fatti a mano?"
A chiunque si sia fatto o si stia facendo questa domanda, invito ad andare a leggere la discussione seguente:

Per dare una risposta concisa: utilizzare dei tools già "pre-confezionati" necessità di conoscerne il funzionamento, per cui è fondamentale documentarsi su cosa facciano. Sono il frutto di anni di sviluppo, per cui sono sicuramente migliori di tools grezzi fatti a mano in poco tempo. Ci sono però situazioni in cui l'utilizzo di tools pre-fatti non è consentito (ad esempio quando si compromette una macchina e si deve fare una scansione partendo da quella macchina compromessa). In questo caso è fondamentale avere delle conoscenze di base in modo da poter crearsi velocemente questo tipo di utility.​

Potete trovare un elenco sommario di tutti i tools più usati ai seguenti link:

4.4    Linguaggi di programmazione

Per quanto in molti dicano che per essere un buon hacker sia necessario saper programmare, mi sento di dissentire da questa affermazione, o almeno in parte. Saper programmare significa saper creare di programmi o siti efficienti, senza bug, che siano performanti. Questa non è la necessità di un penetration tester: un ethical hacker deve saper leggere il codice, comprendere cosa faccia e identificare potenziali problematiche, ma non è necessario saper programmare. Sicuramente saper scrivere codice è un ottimo bonus che può tornare utile in innumerevoli situazioni, ma scrivere codice non è programmare. NON SONO LA STESSA COSA. Saper programmare è un di più che ritorna utile in fase di ricerca e sviluppo di exploit e vulnerabilità zero day, ma non è una dote fondamentale per un ethical hacker o un penetration tester.​

Per quanto riguarda i linguaggi sui quali concentrarsi maggiormente, è fondamentale saper leggere (e possibilmente scrivere):
  • HTML + CSS + JavaScript (linguaggi di front-end)
  • PHP + SQL (linguaggi di backend)
  • C (fondamentale per imparare a le basi della programmazione e capire il funzionamento della memoria)
  • Python
  • Bash
Inoltre è consigliabile imparare a scrivere codice in almeno uno dei seguenti linguaggi:
  • Python (sicuramente uno dei linguaggi più utili per la creazione di script)
  • Bash (linguaggi di scripting di base su ogni sistema linux)
  • Perl (non molto usato, ma comunque è giusto sapere che esista ed è un linguaggio di scripting)
  • Powershell (per chi opera nel mondo Windows è sicuramente un must)

4.5    Le branche dell'hacking

La sicurezza informatica si di divide in numerose branche, discusse in maniera più approfondita al topic indicato sotto, tra cui quella che interessa a noi, cioè l' Ethical Hacking e il Penetration Testing.

Bisogna sapere però che anche per questa categoria esistono diversi sotto-gruppi. Come spiegato da @3files4 in maniera molto dettagliata nella guida "Tipologie di Penetration Testing ", esistono almeno 3 macro categorie da cui si può partire (ma che alla fine del percorso di studio dovranno coesistere):​
  • Web Application (incentrato sulle vulnerabilità del mondo web)
  • Network (incentrato sulle vulnerabilità dei principali servizi utilizzati su una rete)
  • Mobile (incentrato sulle applicazioni mobile)
Ognuno di questi sotto-gruppi è incentrato su diverse tecniche e architetture, motivo per cui è consigliabile iniziare con un solo topic e poi spostarsi a quello successivo solo dopo aver compreso in maniera chiera quello precedente.

Oltre alle tra categorie elencate sopra esistono altre categorie più di "nicchia" che non rientrano nelle tipologie di penetration test, ma che comunque si distinguono poichè possono essere considerate come "campi di operatività":​
  • Reverse Engineering (analisi del funzionamento di un programma partendo dal prodotto finale, come nel caso dei malware)​
  • Binary Exploitation (analisi e ricerca di vulnerabilità all'interno di un software)​
Una veloce introduzione alla binary exploitation e a come sfruttare una classica vulnerabilità Stack-based Buffer Overflow su sistemi x86-32 (senza protezioni) la potete leggere al link seguente:

4.6    Cosa studiare e dove studiare

Siamo giunti alla parte "calda" della guida. In base alla strada che avete deciso di intraprendere, avrete necessità di trovare le risorse più adeguate al vostro percorso di apprendimento.​

Di seguito troverete una guida sui migliori libri per ognuna delle varie aree sopra citate:

Oltre ai libri, un altro ottimo modo per imparare è quello di prendere spunto dagli esperti del settore mentre li si vede all'opera. Ecco di seguito quindi la guida sui migliori canali YouTube per imparare l'ethical hacking:​

Oltre ai prodotti di casa Inforge, sul web esistono tantissime altre guide molto valide, come ad esempio il repo GitHub PayloadsAllTheThings oppure la sacra bibbia HackTricks.

Di seguito un elenco dettagliato di siti sui quali consiglio vivamente di studiare (e prendere appunti):
*** Testo nascosto: non può essere aggiunto alla citazione ***


Di seguito invece una lista specifica per i sistemi Windows e Linux:
Windows
*** Testo nascosto: non può essere aggiunto alla citazione ***


Linux
*** Testo nascosto: non può essere aggiunto alla citazione ***


Se ciò che vi interessa maggiormente è, invece, il penetration testing di applicazioni mobile (Android in particolare), delle ottime risorse da cui partire sono le seguenti:​


Per ogni categoria (web, network, mobile) ci sono inoltre degli elementi e dei concetti fondamentali da comprendere:

Cross category:
Web hacking:
Network hacking:
Mobile hacking:

5    Training

Confucio diceva:

La stessa regola vale per la sicurezza informatica. La pratica e l'allenamento sono elementi fondamentali per riuscire a migliorare DAVVERO in questo settore. Leggere e vedere sono due attività molto importanti per imparare nuove cose, ma solo facendo e mettendo in pratica si può davvero dire di aver capito un determinato argomento o una specifica vulnerabilità.​

Ecco quindi i principali "posti" dove potersi esercitare senza doversi prima preoccupare di recuperare un bigliello "Get out of Jail for Free" :
Get_out_of_jail_free.jpg

5.1    Piattaforme dedicate (CTF & Labs)

Come ampiamente discusso nell'articolo sottostante, esistono diverse piattaforme dove potersi esercitare liberamente (sia gratis che tramite vari abbonamenti):​

5.2    Scenari reali (BugBounty)

Un altro scenario in cui è possibile esercitarsi e al contempo gareggiare per ottenere dei premi è tramite Bug Bounty. Cosa siano e come si partecipi ad essi è tutto spiegato nel seguente articolo:​

5.3    Certificazioni

L'ultimo step per valorizzare le proprie capacità e dimostrare di essere davvero abili in qualcosa è tramite una certificazione. Sebbene esistano diverse certificazioni nel mondo cybersec, di seguito è possibile trovare un elenco di quelle che sono considerate attualmente le più valide:​

Se foste curiosi di leggere nel dettaglio la mia personale esperienza con la certificazione OSCP, qui di seguito trovate il mio post:



Made with ❤ for Inforge

ottima guida
 
  • Mi piace
  • Love
Reazioni: Bos202 e 0xbro
kcNjNCN.jpg



Imparare l'hacking e diventare un Ethical hacker​

Tempo di lettura stimato: 10 minuti​





1    Perchè nasce questa guida

Noob --> Script Kiddie --> Ethical Hacker

Tre anni fa venne pubblicata da @Gorate una delle migliori guide dedicate a tutti coloro che vogliono iniziare nel mondo dell'hacking:

Sulla falsa riga della precedente, nasce questa nuova versione, con lo stesso scopo (dare un punto di partenza a tutti coloro che vogliono iniziare, ma non sanno ancora da dove) ma con l'intento di creare una rete di articoli, risorse e guide che si espanda sempre di più col tempo, in maniera autonoma grazie all'interazione della community.​

2    Chi è l'hacker

?????​

Sul termine "hacker" ci sono molte speculazioni, altrettante definizioni storpiate, significati dati principalmente dall'immaginario collettivo, ma poche certezze. C'è una particolare discussione che però dà delle risposte alle nostre domande, ed è sicuramente quella scritta da @DarkRelease:

Per citare le sue parole:


Esiste anche una specie di motto che descrive chi è l'hacker, i suoi ideali, le sue caratteristice. E' un breve saggio scritto da TheMentor, noto hacker statunitense: lo scritto si chiama "The Hacker Manifesto":​

Un altro documento molto interessante, sempre inerente alla cultura hacker, è "How to Become A Hacker", di cui è possibile leggere la traduzione in italiano al seguente link:​

3    La legge italiana riguardo le tematiche di hacking


Partendo dal presupposto che i crimini informatici (tra cui la violazione della privacy) sono tutti puniti con sanzioni amministrative e/o condanne penali, è possibile dividere i vari reati in diverse macrocategorie, ampliamente descritte da @CrashTest nella seguente discussione:​

Il sito ufficiale della Polizia Postale inoltre ospita una pagina dedicata interamente all'Art.615-ter. (meglio noto come reato di accesso abusivo ad un sistema informatico e telematico),che consiglio di leggere a tutti coloro che vogliono intraprendere la strada dell'ethical hacking (almeno gli elementi chiave), in modo da sapere a che cosa si vada incontro in caso di violazione delle regole e in quali rischi si incapperebbe.​

4    Cominciamo

futuro-1200x700.jpg

4.1    Introduzione

X No lamer here! X

Ora che abbiamo chiarito un paio di concetti ideologici di base, passiamo a fare le dovute distinzioni di cosa realmente studieremo e affronteremo nei capitoli seguenti. Se l'intento per cui volete iniziare il vostro percorso da Ethical Hacker è "Voglio rubare un account di Facebook e spiare Whatsapp come posso fare?", ve lo dico schiettamente: lasciate perdere. Il motivo è semplice: l'obiettivo della guida non è creare criminali informatici o lamer, ma fondare le basi per futuri esperti di sicurezza informatica.

Inoltre ci tengo a rispondere a una domanda che viene fatta molto spesso: in linea generale, per lavorare nel mondo dell'hacking e della sicurezza informatica, non è richiesto l'utilizzo e la conoscenza avanzata della matematica (a parte strani casi di nicchia), ma bensì della logica. Ne abbiamo parlato meglio in questa discussione, per cui datele una lettura.​

4.2    Sistema Operativo

Una domanda che viene sempre fatta è: "Ma per fare l'hacker devo usare un sistema operativo dedicato alla sicurezza informatica, come Kali?".
La risposta è un secco NO, NO e ancora NO! La verità è che non esiste un unico sistema operativo, in base alle situazioni sarà più comodo utilizzare Linux piuttosto che Windows e in altre situazioni sarà il contrario. La cosa migliore è conoscere e disporre di entrambi i sistemi operativi, idealmente su una macchina virtuale, in modo tale da averli entrambi a disposizione.

"Ma quando dici un sistema Linux, posso usare Kali?"
La risposta è nuovamente NO, e la spiegazione dettagliata la si può leggere in queste due risorse:

Per dare una risposta veloce, Kali, Parrot ecc. sono sistemi ideati solamente per far risparmiare tempo a chi ha bisogno di avere velocemente ambienti pre-configurati per poter eseguire le proprie attività (esempio, corsi di sicurezza informatica, penetration tester che devono usare pc forniti dalle aizende, ecc.). Non sono adeguati a chi non ha mai messo mano su Linux per svariati motivi. La cosa migliori per chi inizia è installare una delle distro user friendly (potete fare riferimento a questo articolo sulle distro più usate del 2021, sezione Le distro desktop per tutti) e iniziare a fare pratica coi comandi di base, la gestione del sistema operativo, i permessi ecc.

Un ottimo libro che può sicuramente aiutare a comprendere il mondo del pinguino è Amministrare GNU/Linux (oggi arrivato alla 5a edizione, a pagamento sul sito ufficiale oppure tramite Amazon).​

4.3    Tools

Un'altra domanda che spesso viene fatta è: "'E' meglio utilizzare tools 'preconfezionati' oppure tools fatti a mano?"
A chiunque si sia fatto o si stia facendo questa domanda, invito ad andare a leggere la discussione seguente:

Per dare una risposta concisa: utilizzare dei tools già "pre-confezionati" necessità di conoscerne il funzionamento, per cui è fondamentale documentarsi su cosa facciano. Sono il frutto di anni di sviluppo, per cui sono sicuramente migliori di tools grezzi fatti a mano in poco tempo. Ci sono però situazioni in cui l'utilizzo di tools pre-fatti non è consentito (ad esempio quando si compromette una macchina e si deve fare una scansione partendo da quella macchina compromessa). In questo caso è fondamentale avere delle conoscenze di base in modo da poter crearsi velocemente questo tipo di utility.​

Potete trovare un elenco sommario di tutti i tools più usati ai seguenti link:

4.4    Linguaggi di programmazione

Per quanto in molti dicano che per essere un buon hacker sia necessario saper programmare, mi sento di dissentire da questa affermazione, o almeno in parte. Saper programmare significa saper creare di programmi o siti efficienti, senza bug, che siano performanti. Questa non è la necessità di un penetration tester: un ethical hacker deve saper leggere il codice, comprendere cosa faccia e identificare potenziali problematiche, ma non è necessario saper programmare. Sicuramente saper scrivere codice è un ottimo bonus che può tornare utile in innumerevoli situazioni, ma scrivere codice non è programmare. NON SONO LA STESSA COSA. Saper programmare è un di più che ritorna utile in fase di ricerca e sviluppo di exploit e vulnerabilità zero day, ma non è una dote fondamentale per un ethical hacker o un penetration tester.​

Per quanto riguarda i linguaggi sui quali concentrarsi maggiormente, è fondamentale saper leggere (e possibilmente scrivere):
  • HTML + CSS + JavaScript (linguaggi di front-end)
  • PHP + SQL (linguaggi di backend)
  • C (fondamentale per imparare a le basi della programmazione e capire il funzionamento della memoria)
  • Python
  • Bash
Inoltre è consigliabile imparare a scrivere codice in almeno uno dei seguenti linguaggi:
  • Python (sicuramente uno dei linguaggi più utili per la creazione di script)
  • Bash (linguaggi di scripting di base su ogni sistema linux)
  • Perl (non molto usato, ma comunque è giusto sapere che esista ed è un linguaggio di scripting)
  • Powershell (per chi opera nel mondo Windows è sicuramente un must)

4.5    Le branche dell'hacking

La sicurezza informatica si di divide in numerose branche, discusse in maniera più approfondita al topic indicato sotto, tra cui quella che interessa a noi, cioè l' Ethical Hacking e il Penetration Testing.

Bisogna sapere però che anche per questa categoria esistono diversi sotto-gruppi. Come spiegato da @3files4 in maniera molto dettagliata nella guida "Tipologie di Penetration Testing ", esistono almeno 3 macro categorie da cui si può partire (ma che alla fine del percorso di studio dovranno coesistere):​
  • Web Application (incentrato sulle vulnerabilità del mondo web)
  • Network (incentrato sulle vulnerabilità dei principali servizi utilizzati su una rete)
  • Mobile (incentrato sulle applicazioni mobile)
Ognuno di questi sotto-gruppi è incentrato su diverse tecniche e architetture, motivo per cui è consigliabile iniziare con un solo topic e poi spostarsi a quello successivo solo dopo aver compreso in maniera chiera quello precedente.

Oltre alle tra categorie elencate sopra esistono altre categorie più di "nicchia" che non rientrano nelle tipologie di penetration test, ma che comunque si distinguono poichè possono essere considerate come "campi di operatività":​
  • Reverse Engineering (analisi del funzionamento di un programma partendo dal prodotto finale, come nel caso dei malware)​
  • Binary Exploitation (analisi e ricerca di vulnerabilità all'interno di un software)​
Una veloce introduzione alla binary exploitation e a come sfruttare una classica vulnerabilità Stack-based Buffer Overflow su sistemi x86-32 (senza protezioni) la potete leggere al link seguente:

4.6    Cosa studiare e dove studiare

Siamo giunti alla parte "calda" della guida. In base alla strada che avete deciso di intraprendere, avrete necessità di trovare le risorse più adeguate al vostro percorso di apprendimento.​

Di seguito troverete una guida sui migliori libri per ognuna delle varie aree sopra citate:

Oltre ai libri, un altro ottimo modo per imparare è quello di prendere spunto dagli esperti del settore mentre li si vede all'opera. Ecco di seguito quindi la guida sui migliori canali YouTube per imparare l'ethical hacking:​

Oltre ai prodotti di casa Inforge, sul web esistono tantissime altre guide molto valide, come ad esempio il repo GitHub PayloadsAllTheThings oppure la sacra bibbia HackTricks.

Di seguito un elenco dettagliato di siti GRATUITI sui quali consiglio vivamente di studiare (e prendere appunti):
*** Testo nascosto: non può essere aggiunto alla citazione ***


Di seguito invece una lista specifica per i sistemi Windows e Linux:
Windows
*** Testo nascosto: non può essere aggiunto alla citazione ***


Linux
*** Testo nascosto: non può essere aggiunto alla citazione ***


Se ciò che vi interessa maggiormente è, invece, il penetration testing di applicazioni mobile (Android in particolare), delle ottime risorse da cui partire sono le seguenti:​

Oltre alle risorse gratuite potete studiare anche su ottimi corsi a pagamento, i quali spesso permettono di ottenere poi delle certificazioni. Di seguito potete trovare un elenco di quelle che sono considerate attualmente le più valide:

Per ogni categoria (web, network, mobile) ci sono inoltre degli elementi e dei concetti fondamentali da comprendere:

Cross category:
Web hacking:
Network hacking:
Mobile hacking:

5    Training

Confucio diceva:

La stessa regola vale per la sicurezza informatica. La pratica e l'allenamento sono elementi fondamentali per riuscire a migliorare DAVVERO in questo settore. Leggere e vedere sono due attività molto importanti per imparare nuove cose, ma solo facendo e mettendo in pratica si può davvero dire di aver capito un determinato argomento o una specifica vulnerabilità.​

Ecco quindi i principali "posti" dove potersi esercitare senza doversi prima preoccupare di recuperare un bigliello "Get out of Jail for Free" :

5.1    Piattaforme dedicate (CTF & Labs)

Come ampiamente discusso nell'articolo sottostante, esistono diverse piattaforme dove potersi esercitare liberamente (sia gratis che tramite vari abbonamenti):​

5.2    Scenari reali (BugBounty)

Un altro scenario in cui è possibile esercitarsi e al contempo gareggiare per ottenere dei premi è tramite Bug Bounty. Cosa siano e come si partecipi ad essi è tutto spiegato nel seguente articolo:​

5.3    Certificazioni

L'ultimo step per valorizzare le proprie capacità e dimostrare di essere davvero abili in qualcosa è tramite una certificazione. Sebbene esistano diverse certificazioni nel mondo cybersec, di seguito è possibile trovare un elenco di quelle che sono considerate attualmente le più valide:​

Se foste curiosi di leggere nel dettaglio la mia personale esperienza con la certificazione OSCP, qui di seguito trovate il mio post:



Made with ❤ for Inforge

È perfetta, grazie mille🤩
 
  • Love
Reazioni: 0xbro