
Strumento PowerShell che estrae artefatti di Active Directory tramite LDAP o ADWS e genera report Excel per auditing, DFIR e penetration testing.
Questa repo contiene aggiornamenti al concetto e al codice originali di Prashant Mahajan (@prashant3535) durante il suo lavoro presso Sense of Security.
ADRecon è uno strumento che estrae e combina vari artefatti (come evidenziato di seguito) da un ambiente AD. Le informazioni possono essere presentate in un report Microsoft Excel formattato appositamente che include viste riepilogative con metriche per facilitare l'analisi e fornire un quadro olistico dello stato attuale dell'ambiente AD di destinazione.
Lo strumento è utile a varie classi di professionisti della sicurezza come auditor, DFIR, studenti, amministratori, ecc. Può anche essere uno strumento di post-exploitation inestimabile per un penetration tester.
Può essere eseguito da qualsiasi workstation connessa all'ambiente, anche da host che non sono membri del dominio. Inoltre, lo strumento può essere eseguito nel contesto di un account non privilegiato (cioè un utente di dominio standard). Fine Grained Password Policy, LAPS e BitLocker possono richiedere account utente privilegiati. Lo strumento utilizzerà Microsoft Remote Server Administration Tools (RSAT) se disponibile, altrimenti comunicherà con il Domain Controller utilizzando LDAP.
Le seguenti informazioni vengono raccolte dallo strumento:
ADRecon è stato presentato a: - Slidedeck
|
- Slidedeck
Queste istruzioni ti permetteranno di ottenere una copia dello strumento funzionante sulla tua macchina locale.
Features on Demand.
Se hai git installato, puoi iniziare clonando il repository:
git clone https://github.com/adrecon/ADRecon.git
Altrimenti, puoi scaricare un archivio zip dell'ultima release. L'intento è di mantenere sempre il branch master in uno stato funzionante.
Per eseguire ADRecon su un host membro del dominio.
PS C:\> .\ADRecon.ps1
Per eseguire ADRecon su un host membro del dominio come utente diverso.
PS C:\>.\ADRecon.ps1 -DomainController <IP or FQDN> -Credential <domain\username>
Per eseguire ADRecon su un host non membro utilizzando LDAP.
PS C:\>.\ADRecon.ps1 -Method LDAP -DomainController <IP or FQDN> -Credential <domain\username>
Per eseguire ADRecon con moduli specifici su un host non membro con RSAT. (Il OutputType predefinito è STDOUT con il parametro -Collect)
PS C:\>.\ADRecon.ps1 -Method ADWS -DomainController <IP or FQDN> -Credential <domain\username> -Collect Domain, DomainControllers
Per generare il file ADRecon-Report.xlsx basato sull'output di ADRecon (File CSV).
PS C:\>.\ADRecon.ps1 -GenExcel C:\ADRecon-Report-<timestamp>
Quando esegui ADRecon, verrà creata una cartella ADRecon-Report-<timestamp> che conterrà ADRecon-Report.xlsx e una CSV-Folder con i file grezzi.
-Method <String>
Quale metodo utilizzare; ADWS (predefinito), LDAP
-DomainController <String>
Indirizzo IP del Domain Controller o FQDN del Dominio.
-Credential <PSCredential>
Credenziali di Dominio.
-GenExcel <String>
Percorso per la cartella di output di ADRecon contenente i file CSV per generare ADRecon-Report.xlsx. Usalo per generare ADRecon-Report.xlsx quando Microsoft Excel non è installato sull'host utilizzato per eseguire ADRecon.
-OutputDir <String>
Percorso per la cartella di output di ADRecon per salvare i file CSV/XML/JSON/HTML e ADRecon-Report.xlsx. (La cartella specificata verrà creata se non esiste) (Predefinito pwd)
-Collect <String>
Quali moduli eseguire (separati da virgola; es. Forest,Domain. Predefinito tutti tranne ACLs, Kerberoast e DomainAccountsusedforServiceLogon)
I valori validi includono: Forest, Domain, Trusts, Sites, Subnets, SchemaHistory, PasswordPolicy, FineGrainedPasswordPolicy, DomainControllers, Users, UserSPNs, PasswordAttributes, Groups, GroupChanges, GroupMembers, OUs, ACLs, GPOs, gPLinks, GPOReport, DNSZones, DNSRecords, Printers, Computers, ComputerSPNs, LAPS, BitLocker, Kerberoast DomainAccountsusedforServiceLogon.
-OutputType <String>
Tipo di Output; separato da virgola; es. CSV,STDOUT,Excel (Predefinito STDOUT con il parametro -Collect, altrimenti CSV ed Excel).
I valori validi includono: STDOUT, CSV, XML, JSON, HTML, Excel, All (esclude STDOUT).
-DormantTimeSpan <Int>
Intervallo di tempo per gli account dormienti. (Predefinito 90 giorni)
-PassMaxAge <Int>
Età massima della password dell'account macchina. (Predefinito 30 giorni)
-PageSize <Int>
Il PageSize da impostare per l'oggetto LDAP searcher. (Predefinito 200)
-Threads <Int>
Il numero di thread da utilizzare durante l'elaborazione degli oggetti (Predefinito 10)
-OnlyEnabled <Bool>
Raccogli solo i dettagli per gli oggetti abilitati.
-Log <Switch>
Crea il Log di ADRecon utilizzando Start-Transcript
-Logo <String>
Quale Logo utilizzare nel file excel? (Predefinito ADRecon)
I valori includono: ADRecon, CyberCX, Payatu.
Si prega di segnalare tutti i bug, problemi e richieste di funzionalità nel issue tracker. Oppure fammi sapere direttamente (@prashant3535).
Le pull request sono sempre benvenute.
Grazie per l'ottimo lavoro di @_wald0, @CptJesus, @harmj0y, @mattifestation, @PyroTek3, @darkoperator, @ITsecurityAU Team, @CTXIS Team, @CxCyber Team, @payatulabs Team e altri.
ADRecon è uno strumento che raccoglie informazioni sull'Active Directory e genera un report che può fornire un quadro olistico dello stato attuale dell'ambiente AD di destinazione.
Questo programma è software libero: puoi ridistribuirlo e/o modificarlo secondo i termini della GNU Affero General Public License come pubblicata dalla Free Software Foundation, versione 3 della Licenza, o (a tua scelta) qualsiasi versione successiva.
Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UNO SCOPO PARTICOLARE. Vedi la GNU Affero General Public License per maggiori dettagli.
Dovresti aver ricevuto una copia della GNU Affero General Public License insieme a questo programma. In caso contrario, vedi http://www.gnu.org/licenses/.
Questo programma prende in prestito e utilizza codice da molte fonti. Viene fatto ogni tentativo di attribuire il merito all'autore originale. Se ritieni che il tuo codice venga utilizzato senza il giusto credito, per favore invia un insulto a @prashant3535, Grazie.