La conoscenza di un’ampia varietà di argomenti di informatica è richiesta, tuttavia conoscere le cose a fondo è la chiave del successo di un hacker. Pertanto, avere un atteggiamento positivo verso l’apprendimento è essenziale nel viaggio di apprendimento per diventare un hacker.
Di seguito la guida passo dopo passo che ho creato per insegnarti come essere un hacker:
- Passo 0: Leggi il Manifesto dell’Hacking
- Step 1: Imparare a programmare in C
- Step 2: Impara più di un linguaggio di programmazione
- Passo 3: Imparare UNIX
- Step 4: Impara più di un sistema operativo
- Step 5: Imparare i concetti di rete
- Step 6: Iniziare in modo semplice: Leggi alcuni tutorial sull’hacking
- Step 7: Imparare la crittografia
- Step 8: Sperimenta molto
- Step 9: Leggere alcuni buoni libri di esperti
- Step 10: Partecipa alle sfide di hacking
- Step 11: Go Next Level: Scrivere Vulnerabilità
- Step 12: Contribuire a progetti di sicurezza open source
- Step 13: Continua ad imparare e continua ad ascoltare i discorsi sulla sicurezza
- Sommario
Passo 0: Leggi il Manifesto dell’Hacking
Non è un compito facile essere un hacker. Come hacker, devi avere un’attitudine e curiosità. Leggere il manifesto dell’hacking può insegnare l’attitudine di un hacker. Coltivare l’attitudine da hacker significa più sviluppare la competenza nei linguaggi piuttosto che avere un atteggiamento stereotipato.
Anche se molte persone considerano che un hacker sia un criminale; tuttavia nella vita reale, sono assunti da grandi aziende per proteggere le informazioni e minimizzare i danni potenziali. L’atto dell’hacking in realtà è quello di essere un super-curioso e superare l’autorità. Come hacker, dovresti essere determinato a violare le regole autoritarie, la segretezza e la censura. L’inganno è un altro arsenale che vi permetterà di schivare gli occhi vigili dell’autorità.
L’atto di rubare qualcosa o fare del male a qualcuno non è hacking. Queste persone sono comunemente chiamate cracker nella comunità. I cracker sono coinvolti in attività illegali e non ti raccomando di essere coinvolto in tali attività.
Step 1: Imparare a programmare in C
La programmazione C è uno dei linguaggi più potenti nella programmazione dei computer, è necessario padroneggiare veramente questo linguaggio. Questo linguaggio di programmazione è stato inventato da Denise Ritchie tra gli anni 1969 e 1973 presso gli AT& T Bell Labs. La programmazione C vi aiuterà essenzialmente a dividere il compito in pezzi più piccoli e questi pezzi possono essere espressi da una sequenza di comandi. Prova a scrivere qualche programma per conto tuo valutando la logica.
Ci sono centinaia di tutorial gratuiti di programmazione C PDF & disponibili sul web per imparare, tuttavia ti consiglierei di iniziare con un libro di programmazione C semplice e ben scritto di tua scelta e poi leggere questo libro (C Programming Language
By Brian W. Kernighan and Dennis M. Ritchie) per capire il vero potere del linguaggio C.
Questo libro non è una lettura facile, tuttavia è un must leggere il libro per ottenere una comprensione approfondita della programmazione C.
Step 2: Impara più di un linguaggio di programmazione
Quando stai cercando di diventare un hacker, è molto importante imparare altri linguaggi di programmazione moderni come Java, Perl, PHP e Python. Uno dei modi migliori per impararli è leggere libri di esperti. Sarà anche utile conoscere i linguaggi di markup come XML, HTML e i formati di dati come JSON, Protobuf e altri che sono un modo comune per trasferire dati tra client e server.
Java è uno dei linguaggi di programmazione più popolari. È stato affermato che è anche molto sicuro. Conoscere il modello di sicurezza di Java vi permetterà di capire come questo linguaggio raggiunge la sicurezza. Imparate a conoscere le falle di sicurezza nel linguaggio Java e nei relativi framework. Scegli e leggi da molti PDF gratuiti, tutorial ed ebook disponibili per imparare Java online.
Perl è un linguaggio di programmazione dinamico di uso generale, che è di alto livello e può essere interpretato. Questo linguaggio prende in prestito alcune caratteristiche del linguaggio C. D’altra parte, JAVA è un linguaggio di programmazione concorrente, basato su classi e orientato agli oggetti. Python è davvero utile quando si cerca di automatizzare alcuni compiti ripetitivi.
HTML è il linguaggio di markup basato sul quale le pagine web sono progettate, create e visualizzate. I browser web leggono il codice HTML per visualizzare la pagina web.
Python è il miglior linguaggio per lo sviluppo web e il linguaggio preferito di molti programmatori grazie alla sua semplicità e rapidità. Molte persone usano Python per fare automazione semplice e complessa.
Per altri tutorial sui linguaggi di programmazione controlla – i migliori tutorial di programmazione.
Passo 3: Imparare UNIX
UNIX è un sistema operativo per computer multi-tasking e multi-utente che è stato progettato per fornire una buona sicurezza ai sistemi. questo sistema operativo è stato sviluppato da alcuni impiegati della AT&T nei Bell Labs. il modo migliore per impararlo è quello di entrare in una versione open-source (ad esempio centos) e installare/eseguire la stessa per conto tuo. Si può operare su internet senza imparare UNIX, ma non è possibile essere un hacker di internet senza capire UNIX.
Se non avete ancora usato il sistema operativo Unix, alcuni comandi linux essenziali vi faranno sentire a vostro agio per iniziare rapidamente.
Unix in a Nutshell di Arnold Robbins è un buon modo per iniziare. Questo libro vi insegnerà come usare Unix.
La prossima cosa che devi sapere è l’interno di questo sistema operativo. Raccomando
The Design of the UNIX Operating System di Maurice J. Bach per avere una comprensione approfondita del sistema operativo Unix.
Un gran numero di server web sono ospitati su server basati su Unix e conoscere gli interni di questo sistema operativo sarà davvero una grande spinta per le tue abilità.
Step 4: Impara più di un sistema operativo
Ci sono molti altri sistemi operativi oltre a UNIX. Il sistema operativo Windows è uno dei sistemi più comunemente compromessi, quindi è bene imparare l’hacking dei sistemi Microsoft, che sono sistemi closed-source.
Secondo il National Vulnerability Database, i sistemi operativi Microsoft hanno un gran numero di vulnerabilità.
I programmi di installazione di Windows OS sono distribuiti in binario, quindi non è facile per voi leggere il codice. Il codice binario è fondamentalmente la rappresentazione digitale di testo e dati che il computer capisce. Tuttavia, sapere come i programmi sono scritti per Windows e come le diverse applicazioni si comportano su questo sistema operativo vi aiuterà.
Una delle recenti vulnerabilità di un popolare sistema operativo era che le applicazioni Java Web Start vengono lanciate automaticamente anche se i plug-in Java sono disabilitati. Come essere un hacker significa conoscere le debolezze di questi sistemi operativi e prenderle di mira sistematicamente.
Step 5: Imparare i concetti di rete
Il concetto di rete deve essere acuto quando si vuole essere un hacker.
Capire come vengono create le reti è importante, tuttavia, è necessario conoscere le differenze tra i diversi tipi di reti. Avere una chiara comprensione del protocollo TCP/IP e UDP è un must per essere in grado di sfruttare le vulnerabilità sul world wide web.
Capire cos’è la subnet, LAN, WAN, e VPN.
Consiglio Computer Networking: A Top-Down Approach By James F. Kurose and Keith W. Ross
I comandi di rete per fare una richiesta HTTP devono essere a portata di mano. Il protocollo HTTP è la porta attraverso la quale si entra nel mondo di internet. Quindi è necessario imparare questo protocollo per rompere le barriere. Gli hacker spesso usano il gateway HTTP per violare la sicurezza del sistema e prenderne il controllo.
Apache Httpd è uno dei server web più comunemente usati e conoscerlo dentro e fuori ti renderà più potente in qualsiasi sforzo relativo all’HTTP o ad altri protocolli applicativi.
Nmap è un potente strumento di scansione della rete che viene usato da hacker e professionisti della sicurezza in tutto il mondo per identificare host vulnerabili. Tuttavia, per iniziare a usarlo efficacemente è necessario comprendere le basi della rete. Per ottenere competenze avanzate su NMap si può fare riferimento al libro dei creatori – Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning
Step 6: Iniziare in modo semplice: Leggi alcuni tutorial sull’hacking
Questo è il modo semplice e migliore per iniziare. Leggi quanti più tutorial possibili che sono destinati all’hacking. Questi articoli ti daranno un’idea e ti aiuteranno a sviluppare l’attitudine ad essere un hacker. Alcuni tutorial ti inizieranno con Nmap, Nessus e SuperScan, alcuni dei programmi o strumenti di hacking che gli hacker generalmente usano. Questi tutorial sono facilmente disponibili su internet; sia i tutorial di testo che quelli video sono disponibili per te per rispondere alla tua domanda su come essere un hacker.
Step 7: Imparare la crittografia
Come un hacker esperto, devi capire e padroneggiare l’arte della crittografia. La tecnologia della crittografia e della cifratura è molto importante per internet e la rete. È la pratica e lo studio delle tecniche che vengono utilizzate per la comunicazione sicura in presenza di terzi. La crittografia viene fatta per vari aspetti della sicurezza delle informazioni come la riservatezza dei dati, l’integrità dei dati e l’autenticazione. Inoltre, la tecnologia della crittografia è ampiamente utilizzata nelle carte bancomat, nelle password dei computer e nel commercio elettronico. Durante l’hacking, questi codici criptati devono essere rotti, il che è chiamato decrittazione.
La crittografia è molto usata nella comunicazione internet basata su SSL. Un hacker esperto dovrebbe essere in grado di capire come funziona SSL e qual è l’importanza della crittografia nel mantenere SSL sicuro.
Prova a leggere i vari algoritmi di crittografia e vedi perché sono difficili da decifrare. Partecipa alle sfide per decifrare una crittografia potente. Un hacker esperto sarà in grado di dimostrare le debolezze di un algoritmo di crittografia e dovrebbe essere in grado di scrivere un programma che possa mostrare come la decrittografia possa essere eseguita senza molte informazioni sulle chiavi.
Comprendere le varie tecniche utilizzate per il cracking delle password. Ci sono dozzine di strumenti disponibili per fare password cracking, e usarli non è hacking. Per essere un esperto di hacking è importante che tu capisca come creare un programma che possa craccare una password da un testo cifrato.
Consiglio questo corso gratuito di crittografia di Dan Boneh della Stanford University su Coursera
Step 8: Sperimenta molto
Questo è un passo importante per diventare un hacker esperto. Prepara un laboratorio per conto tuo per sperimentare l’apprendimento sulle applicazioni pratiche. Il laboratorio più semplice avrà il tuo computer, tuttavia, una volta che avanzi potresti voler aggiungere sempre più computer e l’hardware necessario per i tuoi esperimenti.
È bene provare a sperimentare sui tuoi computer, dove puoi correggere se hai fatto qualche errore. Molti hacker iniziano scaricando applicazioni di laboratorio virtuale come Oracle VirtualBox. Hai bisogno di almeno 3 GB di RAM e un processore relativamente potente per portare avanti i tuoi esperimenti di hacking. Impostare la macchina virtuale è fondamentale, in quanto ti permetterà di testare virus, applicazioni e diversi server senza influenzare il tuo PC.
Alcune delle cose che potresti aver bisogno di tenere a mente quando fai esperimenti
- Mantieni un backup prima di qualsiasi esperimento.
- Iniziare in piccolo e avere punti di controllo.
- Sapere quando fermarsi.
- Documentare i tuoi progressi
- Continuare a improvvisare
- Automatizzare i compiti ripetitivi
Step 9: Leggere alcuni buoni libri di esperti
Leggere migliorerà sempre la tua conoscenza. Cerca di leggere quanti più libri e articoli possibile scritti da esperti nel campo dell’hacking etico e della sicurezza aziendale
Leggere molto su qualsiasi cosa è così importante nel mondo degli hacker che devi anche considerare di migliorare la tua velocità di lettura. Se la tua velocità di lettura è lenta, allora potresti non essere in grado di progredire velocemente in questo campo. Pratica le tecniche di lettura veloce come la scrematura, la lettura a pezzi, ecc.
Quando si tratta di leggere molto, è anche importante sapere che la maggior parte dei contenuti sul web non vale il vostro tempo. Molte persone usano i trucchi dei motori di ricerca per attirare il traffico, ma hanno poco valore in esso. Se scremate un articolo in pochi secondi e decidete di non leggere, questo vi farà risparmiare un sacco di tempo per alcuni contenuti davvero ben studiati.
The Art of Exploitation di Jon Erickson è un libro eccellente per insegnarti a diventare un hacker avanzato.
Step 10: Partecipa alle sfide di hacking
La partecipazione regolare alle sfide di hacking può aiutarti a imparare di più e ad affinare le tue conoscenze. Ci sono diverse aziende che organizzano queste sfide per verificare la vulnerabilità dei loro prodotti software. La sfida di hacking più comune include la violazione del sistema di sicurezza del software e la presa di controllo dei sistemi informatici di terze parti. Oltre a questo, ci sono alcuni siti web elencati di seguito che offrono regolarmente sfide di hacking online.
- hackquest.de
- hacktissite.org
- www.trythis0ne.com
- www.hackchallenge.net
- hacking-lab.com
Step 11: Go Next Level: Scrivere Vulnerabilità
La vulnerabilità di un programma è la debolezza del programma. È un buon approccio per cercare la vulnerabilità di un programma esistente e condividere la stessa con gli altri. In questo modo avrete la possibilità di raccogliere varie opinioni da diverse fonti, permettendovi di affinare le vostre attuali competenze.
Gli esempi di vulnerabilità del computer includono la violazione della sicurezza della memoria, l’errore di convalida dell’input, i bug di confusione dei privilegi e il fallimento dell’interfaccia utente. Per esempio, Internet Explorer 11 di Microsoft aveva il bug di vulnerabilità nella sua versione di anteprima che diversi hacker hanno sfruttato.
Identificare una nuova debolezza in qualsiasi software è il vero lavoro che ogni hacker esperto farebbe.
Step 12: Contribuire a progetti di sicurezza open source
Contribuire a un progetto di sicurezza informatica open-source è una grande piattaforma per testare le tue abilità. Non è una cosa da tutti. Molte organizzazioni come Mozilla e Apache offrono questo tipo di progetti open source. Prova a far parte di questi progetti e aggiungi un contributo prezioso a beneficio della comunità.
Partecipare ai progetti di sicurezza open source come anti-spam, anti-virus, firewall e rimozione di dati ti aiuta ad aumentare la tua destrezza come hacker.
Contribuisci le tue scoperte di vulnerabilità ai database di vulnerabilità globali e restituisci alla comunità.
Ricorda che non importa se il tuo contributo è piccolo, finché partecipi e aggiungi valore aiuta.
Step 13: Continua ad imparare e continua ad ascoltare i discorsi sulla sicurezza
La chiave del successo nella carriera di hacker è l’apprendimento continuo. Leggere i blog di hacking disponibili su siti come hackerfactor blog e IKEA hacker blog; partecipare ai forum come hackforums.net e elite hack sono ottimi modi per rinfrescare la vostra conoscenza come hacker. I video forum online come TED o TechTalk sono buone fonti per saperne di più sulle tecniche di hacking emergenti e sulle tecnologie che vengono impiegate. Dovresti anche provare a seguire i post di hacker famosi come Adrian Lamo, Kevin Mitnick, Kevin Poulsen e Robert Tappan Morris.
Sommario
Questi sono alcuni passi esaustivi che possono insegnarti come essere un hacker e aiutarti a percorrere la strada per essere un hacker esperto. Tuttavia, dovresti essere un cittadino responsabile ed essere selettivo, assicurandoti di non usare questa abilità per violare la sicurezza di importanti istituzioni, in quanto potrebbe farti finire in guai seri. Dovresti sempre ricordare che per ogni strumento di hacking, c’è sempre uno strumento di contro-hacking. Pertanto, sii un hacker intelligente e, cosa più importante, sii un hacker responsabile.