Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ad-honeypot-autodeploy — Distribuisci un piccolo dominio Windows volutamente insicuro e vulnerabile per un honeypot RDP in modo completamente automatico. | Kitploit
Strumenti/GitHubGitHub/tothi/ad-honeypot-autodeploy
Penetration TestingThreat IntelligenceApprendimento e FormazioneRed TeamingAnalisi dei LogLab e Pratica
GitHubtothi/ad-honeypot-autodeploy

ad-honeypot-autodeploy

Distribuisci un piccolo dominio Windows volutamente insicuro e vulnerabile per un honeypot RDP in modo completamente automatico.

Vedi Repository
2594543 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ad-honeypot-autodeploy

Distribuisci un piccolo dominio Windows intenzionalmente insicuro e vulnerabile per un RDP Honeypot in modo completamente automatico.

Funziona su virtualizzazione self-hosted usando libvirt con QEMU/KVM (ma può essere personalizzato facilmente per soluzioni basate su cloud).

Utilizzato per impostare senza sforzo un piccolo dominio Windows da zero automaticamente (senza interazione dell'utente) per scopi di test RDP Honeypot.

Include un Domain Controller, un Computer Desktop e un server Graylog configurato per registrare le azioni dei malintenzionati.

Fasi di distribuzione automatica

  1. Packer: scarica i supporti di installazione necessari e prepara le immagini delle macchine virtuali di base in modo automatico e non presidiato.

  2. Terraform: fornisce l'infrastruttura di virtualizzazione libvirt (rete + macchine virtuali) utilizzando le immagini delle macchine virtuali preparate da Packer.

  3. Ansible: Configura l'infrastruttura (DC, Desktop, Graylog) automaticamente, senza interazione dell'utente.

Dopo aver eseguito la pipeline Packer+Terraform+Ansible, il dominio Windows configurato dovrebbe essere attivo e funzionante, puoi collegare il servizio RDP del Desktop a Internet pubblico e monitorare gli eventi tramite Graylog.

Caratteristiche

Caratteristiche del sistema in esecuzione:

  • un Windows Server 2016 come Domain Controller
  • un Windows 10 Desktop (versione 21H2) come Computer del Dominio
  • un Graylog 3.3 (edizione Open Source) in esecuzione come Log Collector su Ubuntu 18.04 LTS
  • Utilizzo dei driver VirtIO per le migliori prestazioni
  • Servizi RDP e WinRM abilitati
  • Active Directory Windows popolata con utenti casuali
  • Sysmon (da Windows Sysinternals) installato e in esecuzione sui computer del dominio
  • NXLog Collector in esecuzione sui computer del dominio e inoltro dei log a Graylog
  • Tabella di lookup GeoIP e pipeline per indirizzi IP configurati in Graylog (utile per mostrare una mappa dei tentativi di accesso RDP non validi)
  • Mappa mondiale Graylog degli attacchi RDP
  • una VM Kali aggiuntiva collegata alla sottorete Windows per sperimentare tecniche di attacco

Requisiti del sistema host

La virtualizzazione richiede un po' di potenza dal tuo sistema host:

  • ~100 GB di spazio su disco per le immagini di base e le immagini sparse dei computer ospiti.
  • almeno 4 x 4 GB di memoria per le macchine ospiti (può funzionare con meno di 16 GB grazie all'overcommitment)
  • libvirt aggiornato con QEMU/KVM installato (i pacchetti ufficiali correnti in Ubuntu 18.04 LTS dovrebbero funzionare)
  • Python 3 (preferibilmente con venv) per Ansible

Testato su host Ubuntu 18.04 LTS.

Installazione e utilizzo

Per prima cosa, clona il repository:

root@kitploit:~
git clone https://github.com/tothi/ad-honeypot-autodeploy
cd ad-honeypot-autodeploy

Prima di iniziare con Packer, imposta le password iniziali (attenzione ai requisiti di complessità):

root@kitploit:~
./init_passwords.sh

Packer

Ora costruisci le immagini iniziali.

root@kitploit:~
cd packer

I supporti di installazione di Windows Server 2016 e Ubuntu dovrebbero essere scaricati dallo script Packer. VirtIO deve essere scaricato utilizzando lo script get-virtio.sh allegato:

root@kitploit:~
./get-virtio.sh

Windows 10 deve essere scaricato manualmente ottenendo un link di download temporaneo e salvandolo nella cartella ISO. Il link di download può essere ottenuto da qui. Seleziona la versione inglese (internazionale) a 64 bit e salva l'ISO in ISO/Win10_21H2_EnglishInternational_x64.iso.

Per la mappatura delle posizioni IP su una mappa mondiale in Graylog, è necessario il database GeoIP di MaxMind. Purtroppo, a causa delle condizioni di licenza, non può essere ridistribuito, quindi devi scaricarlo manualmente (dopo la registrazione) dal sito MaxMind. La versione gratuita GeoLite2 dovrebbe funzionare, ottieni il database "GeoLite2 City" in formato MMDB (scarica il GZIP e decomprimi) e posizionalo in resources/GeoLite2-City.mmdb.

Se non hai Packer, ottieni l'ultima versione dal sito packer.io (scarica il binario precompilato) oppure prova ad aggiungere il repository Hashicorp al tuo sistema di pacchettizzazione (utile anche per Terraform).

Se stai ricostruendo le immagini, non dimenticare di pulire le build precedenti:

root@kitploit:~
rm -fr output_*

Se vuoi scaricare di nuovo le immagini, rimuovi packer_cache:

root@kitploit:~
rm -fr packer_cache

Dopo questi passaggi preparatori, esegui le build Packer in parallelo:

root@kitploit:~
./packer-build-all.sh

Packer in azione

Le immagini dovrebbero essere pronte in un tempo ragionevole (~20-30 minuti a seconda della potenza hardware del tuo host).

Terraform

Ora l'infrastruttura può essere distribuita utilizzando Terraform.

Ottieni Terraform (>=0.13) se non lo hai (guarda i metodi di installazione per Packer, sopra).

Il provider Terraform per libvirt dovrebbe essere scaricato automaticamente dal Terraform Registry durante la fase di applicazione.

Entra nella cartella Terraform:

root@kitploit:~
cd ../terraform

Inizializza la directory di lavoro (necessario solo per il primo utilizzo):

root@kitploit:~
terraform init

Costruisci e avvia l'infrastruttura ("applica le modifiche"):

root@kitploit:~
terraform apply

Nota che se l'utente che esegue terraform apply non è root, sono necessari i privilegi sudo per eseguire /usr/sbin/iptables (senza password).

Terraform in azione

Dopo un breve periodo (~2-3 minuti), la rete e le macchine virtuali sono attive e funzionanti. Se ci sono errori, terraform destroy potrebbe non essere sufficiente, potrebbe essere necessario rimuovere manualmente le risorse.

AVVERTENZA: Dovresti occuparti di proteggere la tua rete privata. La configurazione terraform (main.tf) fornita qui contiene solo una regola firewall personalizzata per il mio ambiente di test (blocco del traffico verso destinazione 192.168.0.0/16 dalla rete honeypot 192.168.3.0/24).

La fase successiva è quella di configurazione.

Ansible

Entra nella cartella ansible:

root@kitploit:~
cd ../ansible

Il metodo di installazione consigliato è installare l'ultima versione di Ansible con alcune dipendenze aggiuntive richieste in un ambiente virtualizzato Python venv:

root@kitploit:~
python3 -m venv venv
. ./venv/bin/activate
pip3 install -r requirements.txt

Per un uso successivo, attiva semplicemente il venv con

root@kitploit:~
. ./venv/bin/activate

E usa deactivate se non è più necessario nella tua sessione corrente.

Dovresti mettere una chiave pubblica SSH con nome file id.pub (usa ssh-keygen) nella cartella ansible per accedere alla macchina Ubuntu Graylog con l'utente ubuntu (ansible la aggiungerà a ~ubuntu/.ssh/authorized_keys).

Il file wordlist.txt contiene alcune password (intenzionalmente deboli) per gli utenti del dominio popolati che possono essere personalizzate.

Esegui la fase di configurazione:

root@kitploit:~
ansible-playbook -i hosts setup-domain.yml -v

Ansible in azione

Dopo 20-25 minuti tutto è pronto.

Il sistema distribuito

hostnameindirizzo IPsistema operativoruolo
dc1192.168.3.100Windows Server 2016Domain Controller
desktop12192.168.3.112Windows 10 (versione 2004)Workstation membro del dominio
graylog192.168.3.191Ubuntu 18.04 LTSServer Graylog
kali192.168.3.192Kali Rolling (2022.3)Operazioni offensive

In base alla configurazione di rete libvirt (NAT), gli host possono accedere a Internet pubblico (se il tuo sistema host lo consente).

L'accesso agli host è possibile tramite il sistema host. Praticamente, utilizzare un tunnel SSH socks e proxychains per RDP o WinRM è molto comodo.

Ad esempio, se l'IP del tuo host libvirt è 192.168.0.10, crea un tunnel socks in ascolto su localhost:5000 con

root@kitploit:~
ssh 192.168.0.10 -D5000 -NTv

E accedi al desktop Windows 10 (utilizzando un /etc/proxychains.conf appropriato configurato per il tunnel :5000):

root@kitploit:~
proxychains xfreerdp /v:192.168.3.112 /u:administrator

Oppure, accedi all'interfaccia web Graylog in ascolto su :9000 localmente sul server Ubuntu Graylog tramite SSH ProxyJump e tunnel di inoltro personalizzato:

root@kitploit:~
ssh -J 192.168.0.10 [email protected] -NTv -L9000:127.0.0.1:9000

Poi apri l'URL http://localhost:9000 e raggiungi l'interfaccia web Graylog.

Per attivare l'honeypot RDP, consenti semplicemente l'accesso pubblico a 192.168.3.112:3389 (ad esempio con una configurazione di port forwarding sul tuo router e regole iptables sulla macchina host; il mio script di supporto è rdp_public.sh) e continua a guardare Graylog. ;)

Scarica lo strumento