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
cypheroth — Set di strumenti automatizzato ed estensibile che esegue interrogazioni Cypher contro il backend Neo4j di Bloodhound e salva l'output in fogli di calcolo. | Kitploit
Strumenti/GitHubGitHub/seajaysec/cypheroth
RicognizioneRaccolta InformazioniPenetration Testing
GitHubseajaysec/cypheroth

cypheroth

Set di strumenti automatizzato ed estensibile che esegue interrogazioni Cypher contro il backend Neo4j di Bloodhound e salva l'output in fogli di calcolo.

Vedi Repository
256425 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

Cypheroth

Set di strumenti automatizzati ed estensibili che esegue query Cypher contro il backend Neo4j di Bloodhound e salva l'output in fogli di calcolo.

cypheroth

Descrizione

Questo è uno script bash che automatizza l'esecuzione di query Cypher sui dati di Bloodhound memorizzati in un database Neo4j.

Mi sono ritrovato a rieseguire le stesse query attraverso l'interfaccia web di Neo4j su più valutazioni e ho pensato che dovesse esserci un modo più semplice. 😅

L'elenco delle query Cypher da eseguire è completamente estensibile. L'esempio di formattazione qui sotto mostra come aggiungere le proprie query.

Per favore, condividi eventuali altre query utili in modo che io possa aggiungerle a questo progetto!

Completamente testato e funzionante in Bash su Linux, macOS e Windows

Demo

Cypheroth Demo (Renderizzato con termtosvg per il tuo piacere visivo)

Prerequisiti

  • Il comando cypher-shell è incluso in Neo4j ed è necessario per il funzionamento di questo script
    • Se Neo4j è installato e cypher-shell non viene trovato, potresti avere una versione obsoleta di Neo4j
    • L'ultima versione si trova sempre a questo indirizzo
    • Su Kali, aggiorna all'ultima versione usando il repository Debian di Neo4j
  • Opzionale: Se il comando ssconvert è presente, lo script combinerà tutti i file .csv di output in fogli all'interno di un file .xls
    • Installa il toolset gnumeric con apt o brew per ottenere l'accesso a ssconvert

Su Windows consigliamo di usare WSL per eseguire questo script, mentre il database Neo4j viene eseguito su Windows. Dovrai solo installare il pacchetto cypher-shell in WSL (Linux).

Utilizzo

Flag:

root@kitploit:~
  -u Nome utente Neo4J (Obbligatorio)
  -p Password Neo4J (Obbligatorio)
  -d Nome di dominio completamente qualificato (Obbligatorio) (Maiuscole/minuscole)
  -a Indirizzo Bolt (Opzionale) (Default: localhost:7687)
  -t Timeout query (Opzionale) (Default: 30s)
  -v Modalità verbosa (Opzionale) (Default:FALSE)
  -h Testo di aiuto ed esempio di utilizzo (Opzionale)

Esempio con impostazioni predefinite:

./cypheroth.sh -u neo4j -p BloodHound -d TESTLAB.LOCAL

Esempio con tutte le opzioni:

./cypheroth.sh -u neo4j -p hunter2 -d BigTech.corp -a 10.0.0.1:7687 -t 5m -v true

I file vengono aggiunti a una sottodirectory denominata con il FQDN.

Query Cypher

Ci sono quasi 60 query nello script al momento. Questo è un esempio delle informazioni che riceverai:

  • Elenco completo delle proprietà degli utenti
  • Elenco completo delle proprietà dei computer
  • Elenco completo delle proprietà dei domini
  • Elenco completo delle proprietà delle OU
  • Elenco completo delle proprietà dei GPO
  • Elenco completo delle proprietà dei gruppi
  • Computer con amministratori
  • Computer senza amministratori
  • Utenti Kerberoastable e computer dove sono amministratori

Per aggiungere ulteriori query, modifica l'array queries all'interno di cypheroth.sh e aggiungi una riga usando il formato seguente:

Descrizione;Query Cypher;File di output

Se aggiungi una query che richiede l'impostazione del valore del dominio, salvalo come $DOMAIN.

Esempio 1:

root@kitploit:~
All Usernames;MATCH (u:User) RETURN u.name;usernames.csv

Esempio 2:

root@kitploit:~
All Domain Admins;MATCH (u:User) MATCH (g:Group {name:'DOMAIN ADMINS@$DOMAIN'}) RETURN u.displayname;domainAdmins.csv

Analizzare più domini

Se devi analizzare più domini, puoi eseguire più istanze di Cypheroth in parallelo, ciascuna che lavora sul proprio dominio. Puoi usare il seguente script come esempio (10 in parallelo).

root@kitploit:~
#!/usr/bin/env bash
DOMAINS=(domA.example.net domB.example.net [...])
parallel -j10 --lb ./cypheroth.sh <args> -d {} ::: "${DOMAINS[@]}"

Risoluzione dei problemi

Se stai eseguendo una versione obsoleta di cypher-shell, potresti ricevere il seguente errore:

root@kitploit:~
DateTime is not supported as a return type in Bolt protocol version 1.
Please make sure driver supports at least protocol version 2.
Driver upgrade is most likely required.

Per risolvere, aggiorna Neo4j all'ultima versione.

Autore

Chris Farrell (@seajay)

Riconoscimenti

  • Questo strumento non esisterebbe senza BloodHound - sviluppato da @_wald0, @CptJesus e @harmj0y.
  • Un ringraziamento al canale #cypher_queries di Bloodhound Slack per l'assistenza
  • Un grande grazie a @TinkerSec - le fondamenta di questo progetto sono state copiate direttamente dal suo script procdump 🙃
  • Molte grazie a @awsmhacks, @haus3c e @ScoubiMtl per aver raccolto utili query Cypher (qui, qui e qui)
  • Apprezziamo immensamente i contributi di @chryzsh e @mubix!!
  • Tutti gli incredibili contributi di @cnotin
Scarica lo strumento