1
Le basi di Linux
Noi hacker siamo, per nostra propria natura, delle persone pratiche. Ci piace toccare le cose e giocarci. Ci piace anche costruire cose, se pure ciò comporta che, a volte, le rompiamo. Pochi di noi amano leggere interminabili tomi pieni di informazioni teoriche prima di metterci a fare ciò che davvero amiamo: hacking. Questo capitolo tiene conto di quanto detto e il suo scopo è mettervi in mano alcune competenze fondamentali per iniziare a lavorare con Kali... fin da subito!
In questo capitolo non approfondiremo nessun concetto: ci limiteremo a dare le informazioni indispensabili per permettervi di giocare ed esplorare il sistema operativo degli hacker: Linux. Gli approfondimenti sono rimandati ai capitoli seguenti.
Termini e concetti di base
Prima di iniziare il nostro viaggio, vorrei presentare alcuni termini che dovrebbero chiarire i concetti di cui parleremo in questo capitolo.
File binari (o semplicemente “binari”) Questo termine, lungi dall’appartenere al mondo delle ferrovie, indica i file che possono essere eseguiti, un po’ come i file eseguibili di Windows. Solitamente i file binari si trovano nella directory
/usr/bin o
usr/sbin. Sono file binari come
ps
,
cat
,
ls ifconfig
(tutte trattate in questo capitolo), oltre ad applicazioni come aircrack-ng, uno strumento di crack delle reti wireless, e Snort, un sistema per il rilevamento delle intrusioni (IDS, intrusion detection system).
Differenza maiuscole-minuscole A differenza di Windows, il file system di Linux distingue fra maiuscole e minuscole. Ciò significa che
Desktop è diverso da
desktop, che a sua volta è diverso da
DeskTop. Ognuna di queste stringhe rappresenta un nome di file o di directory diverso. Molte persone abituate a Windows si trovano in difficoltà. Se ricevete un messaggio come “file or directory not found” e sapete che il file o la directory esiste, probabilmente dovete controllare bene le maiuscole e le minuscole.
Directory È esattamente la stessa cosa delle cartelle di Windows. Una directory serve a organizzare i file in maniera gerarchica.
Home Ogni utente ha la propria directory
/home, nella quale solitamente vengono salvati i file che create.
Kali Kali Linux è una distribuzione di Linux specificamente progettata per il penetration testing. Dispone di centinaia di strumenti preinstallati, che vi risparmiano ore di lavoro per scaricarli e installarli manualmente. Useremo l’ultima versione di Kali disponibile al momento della traduzione: Kali 2021.1, rilasciata a febbraio 2021.
root Come tutti i sistemi operativi, Linux ha un account amministratore, o superuser, che dev’essere utilizzato da una persona di fiducia, alla quale è consentito svolgere qualsiasi operazione sul sistema, come riconfigurarlo, aggiungere utenti e modificare password. In Linux, questo account si chiama
root. Come hacker o pentester, userete spesso l’account root per controllare completamente il sistema. In effetti, molti strumenti di hacking richiedono un accesso root per funzionare.
Script È una serie di comandi eseguiti in un ambiente interprete che traduce ogni riga in codice sorgente. Molti strumenti di hacking sono semplici script. Gli script possono essere eseguiti con l’interprete zsh o qualsiasi altro interprete di linguaggi di scripting, come Python, Perl o Ruby. Al momento, fra gli hacker l’interprete più usato è Python.
Shell È un ambiente e un interprete per l’esecuzione di comandi in Linux. La shell di gran lunga più usata è bash, che sta per
Bourne-again shell; altre shell molto diffuse sono C shell e Z shell. Quest’ultima è quella predefinita di Kali Linux. In questo libro useremo esclusivamente la Z shell (zsh).
Terminale È l’interfaccia a riga di comando (CLI, command line interface).
Acquisite queste informazioni, cercheremo di studiare metodicamente le competenze Linux essenziali per diventare un hacker o un pentester. In questo primo capitolo vedremo come iniziare a usare Kali Linux.
Un giro di Kali
Quando avviate Kali, viene visualizzata una schermata di login, come quella illustrata nella Figura 1.1. Accedete con l’account e la password che avete creato durante l’installazione di Kali. Non siete ancora utenti root: vedremo più avanti come attivare l’account root.
Viene visualizzato il desktop di Kali (Figura 1.2). Vediamo subito due aspetti cruciali del desktop: il terminale...