
roadmap per un hacker autodidatta
L'hacking è l'arte di usare le cose in modi non previsti. Per esempio, se la prova di un software sta per scadere, potresti essere in grado di estenderla cambiando la data del computer alla settimana precedente. Questo è hacking.
Non esiste un 'unico modo giusto' per imparare l'hacking perché è un termine molto ampio. Ecco perché lo scopo di questa guida è fornire una direzione piuttosto che una roadmap.
Se c'è qualcosa che pensi debba essere aggiunto/migliorato, per favore crea un issue.
Credo sia importante conoscere le proprie radici, quindi parliamone senza analizzare eccessivamente l'origine.
Negli anni '60, le reti telefoniche utilizzavano un insieme di suoni per elaborare le chiamate. Un gruppo di persone capì come funzionava tutto e riuscì a riprodurre i suoni a 2600 Hz utilizzati da queste reti. Come ci riuscirono? Soffiando in un fischietto che veniva gratuito con i cereali. Questo atto fu chiamato phreaking e le persone che lo facevano furono chiamate phreaks.
Denny Teresi, uno dei phreak, disse in un'intervista:
"Non era solo per fregare la compagnia telefonica, era la sfida tecnica - se saremmo stati in grado di farlo."
Lo fecero perché era un problema affascinante da risolvere e volevano vedere se ci sarebbero riusciti. Questo è esattamente ciò che è la cultura dell'hacking, ancora oggi.
Se vuoi vendere medicine, ti servirà solo un posto dove conservarle e consegnare ciò di cui il cliente ha bisogno. D'altra parte, se vuoi creare cure per le malattie, dovrai sapere come funziona il corpo umano e tutto il resto. Ha senso, vero? Lo stesso vale per l'hacking. Se vuoi diventare davvero bravo a hackerare qualcosa e creare nuove tecniche per farlo, devi capire come funziona.
Se hai informazioni che pensi possano essere utili ad altre persone, condividile tramite social media, forum o blog. Ti avvantaggerà in molti modi:
Sii curioso, sperimenta molto, costruisci cose fighe, questo è il punto centrale, è così che è iniziato tutto. Se passi la vita a usare tecniche e strumenti sviluppati da altri, che senso ha scegliere un percorso così figo?
La roadmap contiene alcune buone risorse e alcuni argomenti su cui dovrai cercare su Google e leggere da solo. Questa non è semplicemente una 'guida passo-passo' o una raccolta di risorse.
Leggi/guarda cose, annota i termini che non capisci, cercali su Google e imparali da almeno 3 fonti diverse, annota di nuovo i termini che non capisci e continua a ripetere il processo. Perché almeno 3 fonti? Perché le informazioni fornite da un singolo creatore saranno limitate a ciò che sa; riceverle da 3 creatori diversi ti darà una comprensione migliore dell'argomento da prospettive diverse.
Mi riferirò a questa metodologia come 'apprendimento ricorsivo' nel corso della guida.
L'hacking ha molti campi, ad esempio reverse engineering, hacking web, hacking di auto, ecc., ma alcune cose sono utili indipendentemente dal campo, quindi parliamone prima.
Ti aiuterà ad acquisire una comprensione più profonda della macchina che userai per ore ogni giorno, oltre a ottenere una prospettiva preziosa che non posso davvero spiegare a parole.
Ricorda, hai solo bisogno di conoscere le basi perché questa conoscenza continuerà a svilupparsi se sei curioso ponendo domande come "Cosa succede quando elimini un file? Se rimangono sul dispositivo, come viene liberato spazio? Se sono veramente eliminati, come fanno i software di recupero a recuperarli?"
Risorse:
Capire come funzionano Internet (e altre reti) è essenziale perché le reti sono ovunque.
Argomenti per iniziare l'apprendimento ricorsivo:
IP address, MAC address, port, client & server, dns, tcp, udp, proxy, tls/ssl, vpn
Risorse:
Passerai molto tempo nel terminale, sia per eseguire programmi che per accedere a server remoti. Puoi usare qualsiasi sistema operativo, ma suggerisco di usare sistemi basati su Linux semplicemente perché puoi modificare tutto ciò che riguarda il sistema, che è l'essenza dell'hacking. Ubuntu è un'ottima distribuzione Linux per principianti.
Per capire come funziona un determinato software (facilitandone l'hacking) e per creare il proprio software per hacking e altri compiti.
Ci sono molti linguaggi di programmazione, ma ti suggerirò di iniziare con Python perché è facile e può fare quasi tutto, dalla creazione di un rilevatore di volti a un sito web.
Ho scritto un articolo su come iniziare, dai un'occhiata.
Ci sono alcuni concetti che troverai in quasi ogni articolo di cybersecurity e che tornano utili nella maggior parte dei campi.
Argomenti per iniziare l'apprendimento ricorsivo:
phishing, ddos and dos attack, website crawling, encoding and encryption, password cracking, login bruteforcing, man in the middle attack
Se hai superato tutte le basi, specialmente i concetti base di hacking, potresti aver già sviluppato un interesse per alcune cose particolari. Se non è così, menziono alcuni campi legati alla cybersecurity qui, cerca su Google quelli che attirano la tua attenzione:
Una volta trovato ciò che ti interessa di più, dedica un giorno a fare ricerche su come iniziare e quali sono le migliori risorse per farlo. Il giorno dopo, inizia e non smettere mai di imparare, tutto andrà a posto.
Inoltre, fai queste cose:
Non per esaltarti, ma puoi diventare ricco in un giorno, legalmente.
Hai competenze? Fai bug bounty o invia vulnerabilità a piattaforme come Zerodium.
Hai competenze e qualche lavoro pubblico di qualità? Fai freelancing o inizia a candidarti per lavori.
Nota: Queste istruzioni sono solo per coloro che hanno deciso di lavorare nel settore tecnologico.
Se sei a scuola, impara bene scienze e matematica. Questa conoscenza è vitale. Non preoccuparti troppo dei voti se ottenere l'ammissione in un college vicino non sarà difficile. Usa il resto del tempo per uscire con gli amici, fare esercizio e affinare le tue competenze. I primi 2 non sono opzionali.
Se sei all'università, dedica più tempo a migliorare le tue competenze tecniche. Hai solo bisogno di superare gli esami e ottenere una laurea; i voti non conteranno affatto nella ricerca di un lavoro. Se hai fatto tutte e 3 le cose che ho menzionato per gli anni scolastici - a questo punto sarai una persona sana, socievole e capace. Se hai già cannato una o più delle 3, va bene - puoi rimediare ora, ma fallo il prima possibile.
Ok, come sei arrivato a questa conclusione? Hai ricevuto questo feedback da più colloqui recenti? Non capisci una sola parola quando due 'esperti' del tuo campo parlano?
o, semplicemente ti senti così? Spesso è solo una sensazione ed è in realtà un indicatore che stai andando bene. L'effetto Dunning-Kruger lo spiega bene:
Dividi la tua giornata in 3 parti:
I burnout accadono quando lavori troppo a lungo o lavori sulla stessa cosa per molto tempo. Assicurarti di imparare cose nuove e divertirti ogni giorno terrà lontani i burnout.
Questo talk di Haroon Meer affronta molto bene questo problema: You and your research. Questa è una versione specifica per l'hacking del talk originale "You and your research" tenuto agli studenti di scienze dal Dr. Richard W. Hamming.
Potresti anche voler leggere il mio blog su Creativity, Self-Doubt and Doing Remarkable Work.
Sei bloccato in una fase in cui sai di avere cose importanti da fare ma non riesci a farle? Non hai mai abbastanza motivazione per iniziarle, perdi la concentrazione dopo poco tempo o semplicemente non fai nulla tutto il giorno e poi ti senti male per questo?
Fai sapere alla tua mente quanto è bello portare a termine le cose facendo il minimo indispensabile. Crea una lista di cose da fare con questi 4 elementi:
Fatto tutto? Bene, sentiti libero di sprecare il tuo tempo ora, te lo sei guadagnato. Seguire questa lista ti farà sentire una di queste due cose:
Se è la seconda, suddividi le 'cose importanti' in compiti più piccoli e crea una lista di cose da fare. Ecco un modello che ho creato per un amico che vuole scrivere un articolo di ricerca per il suo dottorato:

Se è la prima, dove inizi già a sentirti bene dopo aver portato a termine le cose, aumenta gradualmente il numero di articoli e flessioni, estendi la lista di attività. Presto, ti sentirai di affrontare il compito importante, suddividilo come ho detto prima e inizia.
Ricorda, almeno 1 compito ogni giorno, mai zero altrimenti tornerai al punto di partenza, non facendo nulla. Non avere paura, se sei a letto, a guardare meme alle 23:00 e non hai fatto nulla tutto il giorno, fai una flessione e spunta la lista.
Facile, vero? Inizia, adesso.