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
PyADRecon — Implementazione in Python3 di ADRecon con supporto per autenticazione NTLM e Kerberos per interrogare LDAP. Genera singoli file CSV e un unico report XSLX + HTML sul tuo dominio AD. | Kitploit
Strumenti/GitHubGitHub/l4rm4nd/pyadrecon
RicognizioneAnalisi delle VulnerabilitàRaccolta InformazioniPost-ExploitPenetration TestingAutenticazioneRed Teaming
GitHubl4rm4nd/pyadrecon

PyADRecon

Implementazione in Python3 di ADRecon con supporto per autenticazione NTLM e Kerberos per interrogare LDAP. Genera singoli file CSV e un unico report XSLX + HTML sul tuo dominio AD.

Vedi Repository
6741 mese 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
Sito web
pyadrecon

Implementazione in Python3 di un ADRecon migliorato per Pentesters e Blue Teams.

ADRecon è uno strumento che raccoglie informazioni su MS Active Directory e genera un report XSLX per fornire un quadro completo dello stato attuale dell'ambiente AD di destinazione.

[!TIP] Se sei un Red Team, puoi dare un'occhiata a ADRecon-ADWS invece.

Indice

  • Installazione
  • Utilizzo
  • Docker
  • Moduli di Raccolta
  • Dashboard HTML
  • Riconoscimenti
  • Licenza

Installazione

root@kitploit:~
# stable release from pypi
pipx install pyadrecon

# latest commit from github
pipx install git+https://github.com/l4rm4nd/PyADRecon

Poi verifica l'installazione:

root@kitploit:~
pyadrecon --version

[!TIP] Per Windows, puoi leggere questo. Supportati NTLM + Kerberos.

Utilizzo

root@kitploit:~
usage: pyadrecon.py [-h] [--version] [--generate-excel-from CSV_DIR] [-dc DOMAIN_CONTROLLER] [-u USERNAME] [-p [PASSWORD]] [-d DOMAIN] [--auth {ntlm,kerberos}] [--tgt-file TGT_FILE] [--tgt-base64 TGT_BASE64]
                    [--ssl] [--port PORT] [-o OUTPUT] [--page-size PAGE_SIZE] [--threads THREADS] [--dormant-days DORMANT_DAYS] [--password-age PASSWORD_AGE] [--only-enabled] [--collect COLLECT]
                    [--no-excel] [-v]

PyADRecon - Python Active Directory Reconnaissance Tool

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit  
  --generate-excel-from CSV_DIR
                        Generate Excel report from CSV directory (standalone mode, no AD connection needed)
  --generate-dashboard-from CSV_DIR
                        Generate HTML dashboard from existing CSV files (standalone mode)
  -dc, --domain-controller DOMAIN_CONTROLLER
                        Domain Controller IP or hostname
  -u, --username USERNAME
                        Username for authentication
  -p, --password [PASSWORD]
                        Password for authentication (optional if using TGT)
  -d, --domain DOMAIN   Domain name (e.g., DOMAIN.LOCAL) - Required for Kerberos auth
  --auth {ntlm,kerberos}
                        Authentication method (default: ntlm)
  --tgt-file TGT_FILE   Path to Kerberos TGT ccache file (for Kerberos auth)
  --tgt-base64 TGT_BASE64
                        Base64-encoded Kerberos TGT ccache (for Kerberos auth)
  --ssl                 Force SSL/TLS (LDAPS). No LDAP fallback allowed.
  --port PORT           LDAP port (default: 389, use 636 for LDAPS)
  -o, --output OUTPUT   Output directory (default: PyADRecon-Report-<timestamp>)
  --page-size PAGE_SIZE
                        LDAP page size (default: 500)
  --dormant-days DORMANT_DAYS
                        Days for dormant account threshold (default: 90)
  --password-age PASSWORD_AGE
                        Days for password age threshold (default: 180)
  --only-enabled        Only collect enabled objects
  --collect COLLECT     Comma-separated modules to collect (default: all)
  --workstation WORKSTATION
                        Explicitly spoof workstation name for NTLM authentication (default: empty string, bypasses userWorkstations restrictions)  
  --no-excel            Skip Excel report generation
  --no-dashboard        Skip interactive HTML dashboard generation  
  -v, --verbose         Verbose output

Examples:
  # Basic usage with NTLM authentication
  pyadrecon.py -dc 192.168.1.1 -u admin -p password123 -d DOMAIN.LOCAL

  # With Kerberos authentication (bypasses channel binding)
  pyadrecon.py -dc dc01.domain.local -u admin -p password123 -d DOMAIN.LOCAL --auth kerberos

  # With Kerberos using TGT from file (bypasses channel binding)
  pyadrecon.py -dc dc01.domain.local -u admin -d DOMAIN.LOCAL --auth kerberos --tgt-file /tmp/admin.ccache

  # With Kerberos using TGT from base64 string (bypasses channel binding)
  pyadrecon.py -dc dc01.domain.local -u admin -d DOMAIN.LOCAL --auth kerberos --tgt-base64 BQQAAAw...

  # Only collect specific modules
  pyadrecon.py -dc 192.168.1.1 -u admin -p pass -d DOMAIN.LOCAL --collect users,groups,computers

  # Output to specific directory
  pyadrecon.py -dc 192.168.1.1 -u admin -p pass -d DOMAIN.LOCAL -o /tmp/adrecon_output

  # Generate Excel report from existing CSV files (standalone mode)
  pyadrecon.py --generate-excel-from /path/to/CSV-Files -o report.xlsx

[!TIP] PyADRecon prova sempre LDAPS su TCP/636 per primo.

Se il flag --ssl non viene utilizzato, LDAP su TCP/389 può essere provato come fallback.

[!WARNING] Se il binding del canale LDAP è abilitato, questo script fallirà con automatic bind not successful - strongerAuthRequired, poiché ldap3 non lo supporta (vedi qui). Devi invece usare l'autenticazione Kerberos.

Se usi l'autenticazione Kerberos su Linux, per favore crea un file /etc/krb5.conf valido e una voce del nome host del DC in /etc/hosts. Puoi leggere questo. Se sei su Windows, assicurati di avere ticket Kerberos validi. Puoi leggere questo. Nota che puoi fornire un ticket TGT già esistente allo script tramite --tgt-file o --tgt-base64. Ad esempio, ottenuto da Netexec tramite netexec smb <TARGET> <ARGS> --generate-tgt <FILEMAME>.

Docker

C'è anche un'immagine Docker disponibile su GHCR.IO.

root@kitploit:~
docker run --rm -v /etc/krb5.conf:/etc/krb5.conf:ro -v /etc/hosts:/etc/hosts:ro -v ./:/tmp/pyadrecon_output ghcr.io/l4rm4nd/pyadrecon:latest -dc dc01.domain.local -u admin -p password123 -d DOMAIN.LOCAL -o /tmp/pyadrecon_output

Moduli di Raccolta

Di default, PyADRecon esegue tutti i moduli di raccolta. Sono indicati come default o all.

Puoi comunque selezionare liberamente la tua raccolta di moduli da eseguire:

IconaSignificato
🛑Richiede privilegi amministrativi di dominio (es. Domain Admins)
✅Richiede privilegi di dominio regolari (es. Authenticated Users)
💥Nuovo modulo di raccolta in stato beta. I risultati potrebbero essere errati.

Foresta e Dominio

  • forest ✅
  • domain ✅
  • trusts ✅
  • sites ✅
  • subnets ✅
  • schema o schemahistory ✅

Controller di Dominio

  • dcs o domaincontrollers ✅

Utenti e Gruppi

  • users ✅
  • userspns ✅
  • groups ✅
  • groupmembers ✅
  • protectedgroups ✅💥
  • krbtgt ✅
  • asreproastable ✅
  • kerberoastable ✅

Computer e Stampanti

  • computers ✅
  • computerspns ✅
  • printers ✅

OU e Criteri di Gruppo

  • ous ✅
  • gpos ✅
  • gplinks ✅

Password e Credenziali

  • passwordpolicy ✅
  • fgpp o finegrainedpasswordpolicy 🛑
  • laps 🛑
  • bitlocker 🛑💥

Account di Servizio Gestiti

  • gmsa o groupmanagedserviceaccounts ✅💥
  • dmsa o delegatedmanagedserviceaccounts ✅💥
    • Funziona solo per schema AD Windows Server 2025+

Certificati

  • adcs o certificates ✅💥
    • Rileva ESC1, ESC2, ESC3, ESC4 e ESC9

DNS

  • dnszones ✅
  • dnsrecords ✅

Dashboard HTML

PyADRecon genera automaticamente una dashboard HTML contenente statistiche chiave e risultati di sicurezza quando vengono eseguiti tutti i moduli di raccolta.

Se necessario, puoi disabilitare la creazione della dashboard durante la raccolta dati iniziale usando --no-dashboard. La dashboard può essere successivamente generata dai file CSV esistenti con --generate-dashboard-from <CSV_DIR>.

[!CAUTION] Questa è una funzionalità beta. I dati visualizzati potrebbero essere erroneamente interpretati o segnalati come problema. Prendi le informazioni con le pinze!

image
image image image

Riconoscimenti

Un grande ringraziamento a:

  • S3cur3Th1sSh1t per una prima bozza di Claude di questo porting in Python3
  • Sense-of-Security per lo script ADRecon originale in PowerShell
  • cannatag per il fantastico client ldap3 Python
  • Forta per la fantastica suite impacket
  • Anthropic per i modelli LLM Claude

Licenza

PyADRecon è rilasciato sotto Licenza MIT.

Vengono utilizzate le seguenti librerie di terze parti:

LibreriaLicenza
ldap3LGPL v3
openpyxlMIT
gssapiMIT
impacketApache 2.0
winkerberos

Si prega di fare riferimento alle rispettive licenze di queste librerie quando si utilizza o si ridistribuisce questo software.

Scarica lo strumento
Apache 2.0