Tutti, o quasi, coloro che lavorano nel mondo IT almeno una volta da bambini hanno sognato di voler diventare un hacker: per molti è rimasto un semplice gioco, per tanti è diventato una vera e propria professione.
Tutti gli altri possono, invece, valutare le proprie competenze utilizzando applicazioni che permettono di simulare le tecniche di hacking e poi, seguendo i consigli giusti, decidere di fare il grande salto trasformando la propria passione in un vero lavoro.
Indice degli argomenti
Hacker per gioco e per professione: gli strumenti
Gli hacker esistono da molto tempo e la definizione di “hacker” può essere utilizzata per definire personaggi nati molti anni prima dell’invenzione del calcolatore o computer.
Il primo hacker documentato della storia fu Nevil Maskelyne che riuscì ad intromettersi nella dimostrazione ufficiale del telegrafo di Guglielmo Marconi e, con un piccolo trasmettitore creato appositamente per l’evento, sfatò le promesse fatte da Marconi stesso che escludevano a priori l’intrusione di terzi nelle comunicazioni della sua creazione.
Questo evento cambiò il punto di vista di molti scienziati, e da lì in poi vennero fatte le prime considerazioni sulla sicurezza della trasmissione di dati.
Per mettere a punto quel dispositivo sono stati necessari anni di studio in quanto Nevil, prima di diventare il primo hacker della storia, era un prestigiatore che si dilettava a stupire il pubblico utilizzando tecnologie wireless per comunicare con una bambola nei suoi spettacoli.
Ma come facciamo noi, che ancora del mondo dell’hacking ne sappiamo troppo poco a stupire i nostri amici? Semplice, basta aprire il browser, digitare Hacker Typer e cliccare su uno dei primi siti proposti: questi strumenti ci permetteranno di simulare la scrittura di codice malevolo in modo semplice e intuitivo, con una grafica che ad un occhio non esperto risulterà subito come attività da “hacker”. Ne riporto alcuni dei migliori:
Hacker Typer: lo usa anche Matrix
Hacker Simulator o Hacker Typer è un’applicazione web che, alla pressione di un tasto casuale sulla tastiera, genera delle righe di codice sullo schermo (spesso colorate in verde).
Questo strumento viene spesso utilizzato nella regia di video e film per simulare l’azione di un hacker nelle scene in cui è necessario mostrare allo spettatore un po’ di “live action”.
Per esempio, lo possiamo vedere in azione in “The Matrix Reloaded” nella scena in cui l’attore deve eseguire un exploit per evadere da una sandbox: nelle riprese viene mostrato nel monitor del PC una tipica schermata verde che, alla pressione convulsa di tasti, scrive, crea finestre e all’occorrenza le chiude; il tutto emulando l’interfaccia di Nmap con il comando “nmap -v -s$ -0 10.2.2.2”.
Da simulatore hacker ad hacker professionista
Per fare questo grandissimo passo servono mediamente molti anni di studio. Il primo passo per diventare un hacker è conoscere le basi dei sistemi Windows e Linux, e già in questo primo argomento servirebbero davvero tanti libri e tante ore per avere in pugno il funzionamento di questi due ambienti e i loro rispettivi linguaggi di scripting (Batch e Bash).
Una volta diventati maestri nel muoversi attraverso il sistema con GUI e i terminali di entrambi possiamo passare al secondo requisito: la programmazione. Conoscere almeno un linguaggio di programmazione è la base per un hacker, in quanto chi aspira a questa professione dovrà essere in grado di saper leggere e comprendere tutti (o quasi) i linguaggi e nel caso dovesse scrivere script o exploit conoscere i punti di forza di ogni linguaggio disponibile.
Bene, ora che abbiamo imparato ad usare i sistemi operativi e conosciamo un linguaggio di programmazione, ci possiamo addentrare nel mondo dell’hacking. Qui si apre un altro mondo che spesso fa sentire spiazzato dalla vastità di conoscenze che si possono apprendere.
Per iniziare, una buona abitudine potrebbe essere quella di scaricare exploit da siti come Exploit DB o GitHub e testarli[1] analizzandone in seguito il codice. In questo modo potremmo in breve tempo avere una visione di come funzionano e di come scriverli.
Dove e come testare malware ed exploit
L’unico luogo sicuro (ma neanche troppo) sono le VM (Virtual Machines) configurate ad hoc per isolare l’ambiente virtuale dall’host che le ospita. Ogni hacker dovrebbe avere una serie di ambienti virtuali dove testare i propri malware così da verificarne l’efficacia e, nel caso, eseguire test con antivirus aggiornati e off-net così da evitare che gli agent AV inviino i payload alle case madri per estrapolarne firma e hashes.
Il consiglio è quello di crearsi un ambiente completamente aggiornato per provare i vari file. Ci sono due tipi di analisi su malware che si possono eseguire su un payload:
- Dynamic Analysis
- Static Analysis
Nel primo caso, Dynamic Analysis (analisi dinamica) vengono monitorare le varie azioni durante la loro esecuzione in modo da comprendere il loro comportamento e quindi anche dedurre la famiglia d’appartenenza; questo è possibile farlo con vari tool presenti gratuitamente e creati appositamente per analizzare i processi come ProcessMonitor, Process Hacker, ProcessExplorer, Fiddler, Wireshark e molti altri.
La Static Analysis (analisi statica), invece, è un metodo più avanzato che richiede un grande bagaglio di conoscenze (senza nulla togliere alla dynamic) che, però, permette di andare molto a fondo nell’analisi del payload.
Per esempio, nel caso dei binaries (.exe, .scr, .pif ecc.) sarà necessario fare un primo controllo delle stringhe con programmi come PPEE (puppy), Yara per le signatures e poi si terminerà inevitabilmente nel reversing; purtroppo, o per fortuna, certi malware sono così avanzati da non permettere l’analisi dinamica e quindi ci costringono ad utilizzare debugger come Ollydbg o IDApro.
Hacker per gioco e per professione: i consigli giusti
Per imparare l’arte dell’hacking le vie sono tante: certe volte, però, lo studio non basta. Infatti, per diventare abili e padroneggiare le diverse tecniche sono stati creati alcuni siti disponibili liberamente su Internet e a mio avviso la piattaforma che più di tutte merita menzione è HackTheBox. In questo sito web si possono guadagnare punti eseguendo exploit e trovando vulnerabilità presenti su alcuni server remoti creati appositamente per questo scopo.
Ogni tanto vengono anche inserite vulnerabilità zero-day che permettono a tutti i players di concorrere e ottenere il “First Blood”. A mio parere, chi riesce a registrarsi nella piattaforma senza guardare guide su Internet è già in grado di eseguire le prime challenges disponibili. Per gli altri, lo studio è fondamentale: nello specifico, sono richieste conoscenze di HTML, Javascript e general knowledge dei browser debugger. Per chi, invece, preferisce creare un ambiente protetto interno su cui eseguire i vari test, consiglio la macchina virtuale “metasploitable” che, abbinata ad un sistema operativo contente diversi tool utili al penetration testing, permette di essere “bucata” con un grande corredo di exploit. Alcuni sistemi operativi indicati sono: BackBox, Kali Linux e, per i più volenterosi, Ubuntu che però richiede l’installazione di tutti i tools necessari.
NOTE
- Attenzione a testare file scaricati da Internet, ogni analisi ed esecuzione deve essere fatta in ambiente protetto come le macchine virtuali, prestando molta attenzione a come si è configurata la parte networking. Non vogliamo che ciò che stiamo analizzando ci si ritorca contro. ↑