La creazione di un sito web all’interno della DarkNet può essere utile per diversi motivi: sicuramente a scopo didattico, per comprendere meglio come funziona il Dark Web.
Ma anche e soprattutto per fare in modo che le pagine del sito siano in qualche modo protette, anonime e raggiungibili solo utilizzando programmi specifici come Tor Browser.
Indice degli argomenti
Cos’è Tor e perché si usa nel Dark Web
Il progetto Tor nacque nel 1997 allo scopo di proteggere le comunicazioni dei Servizi Segreti degli Stati Uniti. Fu portato avanti dalla Defense Advanced Research Projects Agency (DARPA) e sdoganato successivamente al grande pubblico attraverso l’associazione no profit “The Tor Project”.
Attualmente, il principale sponsor del progetto Tor è l’Organizzazione Internazionale per la tutela dei diritti digitali e la libertà di parola.
L’effettivo scopo di Tor è quello di salvaguardare l’anonimato degli utenti, preservando i dati del traffico Internet da possibili analisi.
La casualità della distribuzione dei pacchetti attraverso un percorso sconosciuto, passando da router a router, stabilisce di volta in volta una comunicazione criptata e cancella le tracce ad ogni passaggio, rendendo attacchi come il man-in-the-middle quasi impossibili.
La figura di seguito riportata mostra uno schema semplificato del funzionamento della rete Tor:
- l’informazione parte dal nostro computer;
- entra in quello che viene chiamato Entry Guard;
- attraversa successivamente n Middle Relay(s) in maniera pseudo casuale;
- giunge ad un Exit Relay;
- infine, il traffico esce in maniera non criptata verso il server di destinazione.
I siti della rete Tor, inoltre, sono riconoscibili dal dominio .onion. Un tradizionale dominio (.org, .com, .biz, etc.) deve essere accreditato presso l’Internet Corporation for Assigned Names and Numbers (ICANN), che difatti è responsabile del coordinamento del Sistema dei Nomi a Dominio (DNS, Domain Name System)”
Un dominio .onion è invece un suffisso IP che può essere utilizzato esclusivamente tramite il browser Tor. Poiché i browser standard come Google Chrome, Microsoft Edge, Mozilla Firefox non sono in grado di navigare nel relay dei proxy server, non hanno accesso ai siti .onion.
Un indirizzo web .onion non è mnemonico o parlante, ossia che si può ricordare con facilità come il nome di un marchio. É composto solitamente da una stringa di 16 o 56, caratteri alfanumerici, basati sulla chiave pubblica, generata automaticamente durante la configurazione del servizio onion.
Durante il percorso all’interno della rete Tor, il traffico è completamente criptato. L’Entry Guard (o Entry Relay) conosce l’IP sorgente dell’informazione da trasmettere, ma non conosce che cosa si sta trasmettendo. L’Exit Relay, invece, può esclusivamente leggere il traffico in chiaro (se non opportunamente criptato), ma non conosce chi lo ha trasmesso.
Creiamo un sito web all’interno della DarkNet
Vediamo assieme come creare un sito web e il suo dominio all’interno della DarkNet. I passi da eseguire saranno i seguenti:
- Fase I: Tor Browser
- Fase II: Kali su Windows
- Fase III: Aggiornamenti
- Fase IV: Tool
- Fase V: Installazione e settaggi del Tool
- Fase VI: torrc
- Fase VII: Onion “hostname”
- Fase VIII: XAMPP
- Fase IX: DarkNet
Analizziamoli nel dettaglio.
Fase I: Tor Browser
Installiamo il nostro browser Tor, scaricandolo dalla pagina ufficiale del progetto.
Fase II: installare la virtual machine Kali su Windows
Se stiamo utilizzando Windows, assicuriamoci che la versione in uso sia aggiornata ed installiamo la nostra Linux Shell.
Utilizzando la combinazione di tasti Windows + R per aprire la finestra Esegui, scriviamo: powershell e avviamo la shell come administrator utilizzando la combinazione Ctrl+Shift+Invio.
Una volta avviata la nostra PowerShell, digitiamo il comando:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Confermiamo, digitando Y (Yes) ed eseguiamo il reboot del sistema.
A reboot eseguito, sarà sufficiente recarci all’interno del Microsoft Store e nella barra di ricerca digitare Kali Linux, quindi procedere con l’installazione dell’app.
Attendiamo qualche istante ed inseriamo username e password per la nostra Kali.
A questo punto, utilizzando Windows Subsystem for Linux (WSL), la nostra Kali è pronta all’uso.
Fase III – Aggiornamenti di Kali
La prima cosa da fare, è aggiornare la nostra distribuzione. Inseriamo la nostra sources.list di repository digitando il comando:
echo “deb http://http.kali.org/kali kali-rolling main non-free contrib” | sudo tee /etc/apt/sources.list
echo “deb http://http.kali.org/kali kali-last-snapshot main non-free contrib” | sudo tee /etc/apt/sources.list
Una volta inseriti i repository, aggiorniamo il sistema (ovviamente saranno necessari i permessi root):
apt-get update && apt-get upgrade –y && apt-get dist-upgrade -y
Proseguiamo installando gcc, contenuto all’interno del package build-essential:
sudo apt install build-essential
Fase IV – Installazione del Tool per generare il dominio .onion
Installiamo adesso un tool per generare il nostro dominio onion (hidden service version 3).
In particolare, colleghiamoci al seguente indirizzo, clicchiamo sulla voce Code e selezioniamo Download ZIP.
Scompattiamo il file .zip in una qualsiasi cartella (nel nostro caso: il Desktop).
Riapriamo la finestra Esegui di Windows (premendo la combinazione di tasti Windows + R) e digitiamo kali per avviare la nostra shell Linux. Ora navighiamo sino alla cartella del nostro tool, appena scaricato.
Per navigare all’interno della nostra macchina Windows, dovremmo recarci sulla cartella mount (/mnt/) di Kali.
Nell’immagine seguente, viene mostrata la navigazione sulla directory /mnt/ ed il suo contenuto, il risultato (in questo caso) sono i tre dischi già montati.
Continuiamo digitando il percorso completo sino a giungere alla cartella del Tool appena scaricato.
Una volta all’interno diamo il seguente comando:
sudo apt-get install autoconf libsodium-dev
Infine, confermiamo l’operazione con Y.
Fase V: Installazione e settaggi del tool per generare il dominio .onion
Posizionandoci sempre all’interno della cartella del Tool, procediamo alla sua installazione e configurazione, digitando:
./autogen.sh
./configure
Make
./mkp224o -S 5 -d onions dead
A questo punto partirà la generazione dei possibili indirizzi .onion. L’output del comando lo troveremo all’interno della cartella del Tool /onions/.
Ogni indirizzo .onion conterrà al suo interno tre file:
- hostname
- hs_ed25519_public_key
- hs_ed25519_secret_key
FASE VI – Configurazione del file torrc
Il file torrc contiene le istruzioni di configurazione di Tor. Rechiamoci all’interno della cartella: ..Tor BrowserBrowserTorBrowserDataTor.
Apriamo il file torrc ed esplicitiamo le opzioni: percorso, versione e porta/IP (eseguiremo il test in locale).
HiddenServiceDir D:torhidden_service
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1
Salviamo il file torrc, appena editato e usciamo dall’editor.
Proseguiamo ora con una verifica: avviamo Tor, che genererà nel percorso appena indicatogli (D:torhidden_service nel nostro caso) i seguenti file:
- authorized_clients
- hs_ed25519_public_key
- hs_ed25519_secret_key
- hostname
FASE VII – Dominio.Onion e “hostname”
Cancelliamo i file autogenerati nella cartella D:torhidden_service e sostituiamoli, ed esempio, con uno dei domini generati pocanzi dal nostro tool.
Potremmo procedere, ad esempio, con il dominio:
deadaigpkadajr5sf3cdkms5jkds7wtpfkdvcl45joinflvrz7efanyd.onion
Quindi, rechiamoci nella cartella del nostro tool digitando il comando ..mkp224o-masteronions.
Localizziamo il folder corrispondente al nome del nostro dominio:
Entriamo, copiamo i tre file presenti (hostname, hs_ed25519_public_key e hs_ed25519_secret_key) ed incolliamoli all’interno del percorso: D:torhidden_service (esattamente nella cartella dove prima abbiamo eseguito il nostro test, ed abbiamo visto autogenerare gli omonimi file).
Difatti il nome contenuto all’interno del file hostname è il nome del nostro dominio .onion, che abbiamo detto essere: deadaigpkadajr5sf3cdkms5jkds7wtpfkdvcl45joinflvrz7efanyd.onion.
FASE VIII – XAMPP per ottenere il database, l’FTP, il PHP, ecc.
Per l’hosting della nostra web page onion, possiamo utilizzare XAMPP l’application server free che contiene già tutte le componenti necessarie (database management, FTP, PHP, etc.) per l’hosting di una webpage o di un’applicazione.
Installiamo HAMPP dalla pagina ufficiale e procediamo con l’installazione seguendo le istruzioni del wizard.
Ora, rechiamoci nella cartella xampphtdocs e creiamone una nuova, ad esempio DarkNet.
All’interno della nostra cartella DarkNet creiamo il nostro file index.html (come prova). Nel mio caso, all’interno del file html ho inserito il seguente codice:
<html>
<body>
<body style=”background-color:black”>
<font color = “red”><font size = “7”>Onion DarkNet!</font></font>
</body>
</html>
A questo punto non ci resta che avviare, tramite XAMPP, i servizi di Apache e MySQL:
FASE IX – DarkNet
Per completare la creazione del nostro sito web nella DarkNet non ci resta che verificare che il nostro website, hostato localmente, sia navigabile. Avviamo Tor Browser e incolliamo il nostro indirizzo onion:
deadaigpkadajr5sf3cdkms5jkds7wtpfkdvcl45joinflvrz7efanyd.onion
Puntiamo alla nostra cartella /DarkNet/ (creata precedentemente) e visualizzeremo la nostra pagina index.html:
A questo punto il nostro dominio è pronto.