Vai al contenuto
Home » 🛒 Progetto Marketplace su Hidden Service .onion » 💊 Crea un Marketplace sul Dark Web con WordPress – Parte 1

💊 Crea un Marketplace sul Dark Web con WordPress – Parte 1

“MyDrugs” Hidden Service – Sicurezza, Anonimato e Setup iniziale

Introduzione

Dopo aver visto (e rivisto) la serie “How to Sell Drugs Online (Fast)”, mi è balenata in mente l’idea di costruire qualcosa di simile, ma orientato al mondo IT. Così nasce questo progetto: una simulazione tecnica della creazione di uno store accessibile dal Dark Web, ospitato su un dominio .onion, basato su WordPress e configurato seguendo best practice di sicurezza.

L’obiettivo? Testare un Proof of Concept (PoC) professionale, con un setup realistico che potrebbe essere adattato con le dovute competenze anche a un ambiente reale. Questa guida è pensata come risorsa per esperti di cybersecurity, sistemisti e appassionati che vogliono esplorare la costruzione di un’infrastruttura resiliente su Tor.

La macchina virtuale utilizzata per questo progetto è ospitata su una piattaforma Proxmox e configurata per essere visibile esclusivamente tramite la rete Tor. Tutti gli accessi dall’esterno sono bloccati, rendendo la VM invisibile in chiaro. Il servizio è raggiungibile unicamente tramite il dominio .onion generato. Questa impostazione può essere replicata anche su VPS remoti, assicurandosi di limitare drasticamente la visibilità esterna tramite firewall, NAT restrittivo e regole di routing mirate: è proprio la mancanza di accorgimenti come questi che ha permesso in passato il tracciamento e la chiusura di numerosi Hidden Service.

❗ Disclaimer: questo documento è a scopo puramente informativo ed educativo. Non mi assumo alcuna responsabilità per l’uso improprio o illegale delle informazioni fornite. Il progetto descritto è un test tecnico.

ℹ️ Nota: aspetti come cifratura del disco, snapshot, gestione backup e anti-forensics verranno trattati in una guida separata.

🔐 1. Generazione dominio .onion personalizzato

🎯 Crea un Vanity Address .onion

apt update && apt upgrade -y
reboot
apt install -y build-essential libssl-dev htop psmisc
git clone https://github.com/cathugger/mkp224o.git
cd mkp224o
./autogen.sh
./configure
make
./mkp224o -d MyDrugKey MyDrug

📌 Nota personale: inizialmente volevo generare esattamente MyDrugs (7 lettere), ma anche dopo 30 minuti con 8 CPU e 8 GB RAM non avevo ottenuto risultati. Ho quindi provato con MyDrug (6 lettere) e con una grande botta di fortuna ho ottenuto:

Creazione di un Vanity Address .onion

mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion

📁 File generati

/root/mkp224o/MyDrugKey/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/
├── hostname
├── hs_ed25519_secret_key
└── hs_ed25519_public_key

🧅 2. Installazione e configurazione Tor

⚙️ Installa Tor

apt install -y apt-transport-https gnupg wget
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc \
  | gpg --dearmor | tee /usr/share/keyrings/deb.torproject.org-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/deb.torproject.org-keyring.gpg] https://deb.torproject.org/torproject.org bookworm main" \
  | tee /etc/apt/sources.list.d/tor.list
echo "deb-src [signed-by=/usr/share/keyrings/deb.torproject.org-keyring.gpg] https://deb.torproject.org/torproject.org bookworm main" \
  | tee -a /etc/apt/sources.list.d/tor.list
apt update
apt install -y tor deb.torproject.org-keyring
systemctl status [email protected]

🔑 Copia chiavi onion generate

cp -R /root/mkp224o/MyDrugKey/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion /var/lib/tor/
chown -R debian-tor:debian-tor /var/lib/tor/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/
chmod 600 /var/lib/tor/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/*

📝 Modifica torrc

HiddenServiceDir /var/lib/tor/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:27484

🔄 Riavvia Tor

systemctl restart tor
cat /var/lib/tor/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/hostname

🔐 3. Configurazione Nginx blindata

⚙️ Installa e configura Nginx

apt install nginx
rm /etc/nginx/sites-enabled/default

🔧 Modifica nginx.conf

server_tokens off;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Strict-Transport-Security "max-age=31622400; includeSubDomains; preload";
etag off;

🛡️ Protezione User-Agent

Crea /etc/nginx/blockuseragents.rules

map $http_user_agent $blockedagent {
  default 0;
  ~*malicious 1;
  ~*bot 1;
  ~*backdoor 1;
  ~*crawler 1;
  ~*bandit 1;
}

🌐 Virtual Host Onion

mkdir -p /var/log/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion_vhost
mkdir -p /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion

Crea /etc/nginx/sites-available/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion

limit_req_zone $binary_remote_addr zone=all:10m rate=10r/s;
include /etc/nginx/blockuseragents.rules;

server {
    listen 127.0.0.1:27484;
    server_name mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion;
    port_in_redirect off;
    allow 127.0.0.1;
    deny all;

    if ($blockedagent) { return 403; }
    if ($request_method !~ ^(GET|HEAD|POST)$) { return 444; }

    root /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion;
    index index.html index.php;

    access_log /var/log/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion_vhost/access.log;
    error_log  /var/log/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion_vhost/error.log error;

    location / {
        try_files $uri $uri/ /index.php?$args;
        limit_req zone=all burst=10;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

🔗 Abilita e ricarica

ln -s /etc/nginx/sites-available/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

⚙️ 4. Installazione PHP

apt install -y php php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip unzip
systemctl enable php8.2-fpm
systemctl start php8.2-fpm

✅ 5. Test Hidden Service e PHP

🔍 File di test /var/www/mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion/index.php

<?php
echo "<!DOCTYPE html>
<html>
<head>
<title>💊 MyDrug Hidden Service</title>
<style>
  body { background:#0d0d0d; color:#00ff99; font-family:monospace; text-align:center; padding-top:10%; }
  .pill { font-size:50px; margin:10px; animation: float 2s infinite ease-in-out alternate; }
  @keyframes float { from { transform: translateY(0); } to { transform: translateY(-10px); } }
</style>
</head>
<body>
  <div class='pill'>💊 💊 💊</div>
  <h1>MyDrugs Hidden Service è online!</h1>
  <p>Stai accedendo correttamente tramite <strong>Tor Browser</strong>.</p>
  <p>Benvenuto nel tuo nuovo spazio sicuro.</p>
</body>
</html>";
?>
chown -R www-data:www-data /var/www/mydrugs*

🔄 6. Riavvio rapido dei servizi

dpkg-reconfigure dash
cat <<'EOF' > /root/restart-service.sh
#!/bin/bash

systemctl restart nginx
sleep 1
systemctl restart tor
EOF
chmod +x /root/restart-service.sh

🧪 7. Verifica finale con Tor Browser

🔗 Apri http://mydrugs3oe3a7o6izy6j4u5jjfm3r52ldgf4cwp2dh6pvqr2rbccjnad.onion da Tor Browser per verificare che tutto funzioni correttamente.

MyDrugs Hidden Service

✅ L’ambiente è pronto per ospitare WordPress

➡️ Nella Parte 2 verrà affrontata l’installazione completa di WordPress come Hidden Service .onion, con configurazione avanzata di PHP e MariaDB, protezioni di base per il CMS e accesso sicuro via Tor. Una base solida per l’integrazione futura di cifratura dei dati e pagamenti anonimi.