Opzetten Darknet Hidden Service
Op deze blog hebben we al geregeld een sneak-peak genomen op het Darknet. Vandaag gaan we echter zelf een pagina maken op het Darknet. Waarom dan? Het simpelste en meest eerlijke antwoord is dat ik graag wil kijken of dit lukt. Daarnaast weet je nooit wanneer het handig is om een anonieme website te creëren waar jij en je vrienden veilig kunnen communiceren.
We kunnen een hidden service maken in Windows, Linux en op de Mac. Qua veiligheid wordt het gebruik van Tor altijd aangeraden op een Linux machine (of beter nog, een Linux Tor Distributie zoals Tails). Dit is voor een hidden service niet anders. In deze post gaan we dan ook een hidden service opzetten via een Linux OS.
Stap 1 – Tor Installatie
Als eerste gaan we Tor installeren. Ik gebruik hiervoor mijn Kali Linux machine. Alvorens ik begin kies ik ervoor om alles te updaten. Dit mislukt helaas met de melding:
The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kali.org> The repository 'http://http.kali.org/kali kali-rolling InRelease' is not signed. |
Ok, mijn apt-key is dus verlopen. Om een nieuwe op te vragen gebruik ik:
apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 7D8D0BF6 |
Nu eerst het systeem een goede update geven:
sudo apt-get check && sudo apt-get autoclean && sudo apt-get update && sudo apt-get upgrade –y |
Nu het systeem up-to-date is wordt het tijd om Tor te installeren. Dit is een redelijke makkelijke taak. We voeren het volgende commando uit om de Tor service te installeren:
sudo apt-get install tor |

Nu de Tor service geïnstalleerd is gaan we de Tor browser downloaden van https://www.torproject.org/projects/torbrowser.html.en. Nadat we de juiste versie (GNU Linux x32 of x64) hebben gedownload pakken we het bestand uit:
tar -xvJf tor-browser-linux64-7.5_LANG.tar.xz |
Al klaar. We kunnen nu de Tor browser starten met het commando:
./start-tor-browser |
Stap 2 – Tor Config aanpassen
We gaan nu instellen dat Tor luistert naar een lokale webserver op een specifieke poort. De webserver gaan we opzetten in de volgende stap op IP adres: 127.0.0.1 (lokaal) op poort 5678. Dus we configureren Tor ook te luisteren naar 127.0.0.1:5678 en deze te redirecten naar een andere poort waar Tor mee verbonden is, dus poort in dit voorbeeld 5778. Deze lokale website is dan alleen toegankelijk vanuit je lokale machine en vanuit Tor maar niet vanaf het internet!
Om dit te doen gaan we het Tor configuratiebestand bewerken:
vi /etc/tor/torrc |
Nu gaan we 2 waardes aanpassen, namelijk de HiddenServiceDir, de directory waar Tor zijn hidden key genereerd en het .onion adres (hostname) opslaat.
Daarna gaan we de poort specificeren waar Tor op luistert en naartoe redirect. Dit doen we met de HiddenServicePort waarde en ziet er als volgt uit:

De Tor service die nu luistert op poort 5778 redirect het verkeer naar poort 5678 en dat is de default website op de webserver.
Stap 3 – Webserver Installeren
We zijn op het punt aangekomen waar we een webserver gaan installeren. Ik kies voor Apache, een van de bekendste webservices ter wereld.
Op sommige versies van Kali is Apache al geinstalleer. Gebruik je geen Linux Kali of is Apache niet geïnstalleerd dan gebruik je het volgende commando om deze wel te installeren.
apt-get install apache2 |
Na het starten van de service met onderstaande commando zien we de Apache website:
service apache2 start |

Deze post gaat niet over het opzetten van een webserver. Ik ga hier een klein beetje inzicht geven in Apache maar dit betreft alleen globaal inzicht en de basale acties die nodig zijn om onze dienst up-and-running te krijgen. Finetuning van Apache is zeker aan te raden maar niet meegenomen in deze post.
Apache wordt geconfigureerd middels een aantal bestanden. Apache bestanden zijn terug te vinden in “/etc/apache2”. In deze directory staan een aantal belangrijke bestanden en sub-directories, namelijk:
- apache2.conf
Het apache2.conf bestand is het algemene configuratiebestand. De meeste zaken zijn te configureren via apache2.conf. Het is aan te raden om niet alle settings via het centrale apache2.conf bestand te doen maar om voor sommige zaken separate configuratiebestanden te gebruiken. Het apache2.conf bestand bestaat uit 3 segmenten, namelijk de configuratie voor de apache server, configuratie voor de default server en configuratie van de virtuele hosts (websites). - ports.d
Dit bestand bevat de poorten waar de server naar luistert. - conf.d
Dit is een speciaal configuratiebestand voor specifieke configuratieonderdelen. In het conf.d bestand worden o.a. SSL configuraties en beveiligingsaspecten geregeld. - sites-available/
Deze directory bevat alle virtual host configuratie files van alle websites. Default bestaan er 2 .conf bestanden, namelijk 000-default.conf en default-ssl.conf. Deze bestanden definiëren welke content benaderd kan worden en hoe. Als er meer websites bestaan zullen er ook meer configuratiebestanden aanwezig zijn. Dit zijn beschikbare configuratiebestanden en geen actieve configuraties. - sites-enabled/
In deze directory vinden we de bestanden die werkelijk door de website(s) in gebruik zijn. Vaak zijn dit symbolic links naar files in de “sites-available” directory. - mods-available
Deze directory bevat alle configuratie files van alle modules. Deze bestanden definiëren welke modules benaderd kunnen worden en onder welke voorwaarden. Als er meer modules geïnstalleerd zijn dan zullen er ook meer configuratiebestanden aanwezig zijn. Let op, ook dit zijn beschikbare configuratiebestanden en geen actieve configuraties. - mods-enabled
In deze directory vinden we de configuratiebestanden van modules die werkelijk door de website(s) in gebruik zijn. Vaak zijn dit symbolic links naar files in de “mods-available” directory.
Als we een kijkje nemen in de 000-default.conf configuratiefile zien we dat de bestanden voor de site opgeslagen zijn in “/var/www/html”.


En deze toekennen aan de config file:

Waardoor we nu onze eigen pagina hosten:

Nu moeten we ervoor zorgen dat deze pagina niet op poort 80, maar op poort 5678 luistert. Om dit te doen passen we de poorten aan in 2 configuratiebestanden, namelijk in de 000-default.conf en in de ports.conf.


De website is nu niet meer bereikbaar op poort 80 maar op poort 5678.

Tenslotte gaan we de juiste services (tor & apache) starten:
service apache2 start tor |
Nu de services gestart zijn zal er een unieke sleutel en hostname gemaakt worden in de gespecificeerde directory. Je kunt hier je unieke .onion adres vinden en gebruiken.

Je hidden Tor service is nu actief zolang je computer online is.

Zorg ervoor dat je webserver zo weinig mogelijk informatie vrijgeeft zodat users geen informatie kunnen achterhalen die je liever voor jezelf houdt. Zoals al in de disclaimer gezegd is het prima om een hidden service te gebruiken voor legale doeleinden maar vermijd het opzetten van illegale services zoals “The Silk Road” omdat alles te traceren is. Ook websites als “The Silk Road” zijn te traceren. Het kost veiligheidsinstanties veel tijd en moeite maar uiteindelijk worden ook deze hidden services getraceerd en gesloten en de eigenaars gepakt en berecht.
Heel veel plezier!