This page looks best with JavaScript enabled

Consultas de Bloodhound por la terminal con Cypheroth

 ·   ·   3 min read  ·  Autor - Snifer

Como sabemos Bloodhound es la interfaz gráfica que nos permite visualizar las relaciones y datos visualmente valga la redundancia.

Muchas veces esta tarea puede ser algo tediosa dependiendo de la cantidad de datos y como esté el dominio específicamente.

Cypheroth

Es una utilidad escrita en Bash que realiza consultas directamente a NEO4J permitiendo obtener los resultados en ficheros CSV.

Las consultas que realiza directamente son las mismas que usamos en Bloodhound, ya que al seleccionar una query en la parte inferior podemos ver que es lo que se está enviando.

Es justamente ese tipo de consultas que realizar Cypheroth, siendo extensible permitiendo modificar o crear nuestras consultas.

Instalación

Para el correcto funcionamiento necesitamos tener ‘cypher-shell’ el cual se instala con la última versión de neo4j, te recomiendo que lo utilices en Kali por la comodidad de trabajo con la última versión, o directamente instales neo4j desde su portal.

Primero requerimos clonar el proyecto directamente.

1
git clone https://github.com/seajaysec/cypheroth.git

Datos e informacion que obtendremos

Como lo tenemos disponible en

  • Full User Property List
  • Full Computer Property List
  • Full Domain Property List
  • Full OU Property List
  • Full GPO Property List
  • Full Group Property List
  • Computers with Admins
  • Computers without Admins
  • Kerberoastable users and computers where they are admins

Ejecución

Para ejecutar el script cypheroth antes debemos de darle permisos de escritura y al ejecutarlo tendremos la siguiente información.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 $ cypheroth                                                                                              
                       __                    __  __                
     _______  ______  / /_  ___  _________  / /_/ /_               
    / ___/ / / / __ \/ __ \/ _ \/ ___/ __ \/ __/ __ \                                                           
    / /__/ /_/ / /_/ / / / /  __/ /  / /_/ / /_/ / / /             
    \___/\__, / .___/_/ /_/\___/_/   \____/\__/_/ /_/      
        /____/_/                                       
                                                                                                                                       
    Flags:                                                         
    -u  Neo4J Username (Required)    -p  Neo4J Password (Required)                                                                                                      
    -d  Fully Qualified Domain Name (Required)    -a  Bolt address (Optional) (Default: localhost:7687)
    -t  Query Timeout (Optional) (Default: 30s)
    -v  Verbose mode (Optional) (Default:FALSE)
    -h  Help text and usage example (Optional)

    Example with Defaults:
    ./cypheroth.sh -u neo4j -p BloodHound -d TESTLAB.LOCAL

    Example with All Options:
    ./cypheroth.sh -u neo4j -p hunter2 -d bigtech.corp -a 10.0.0.1:7687 -t 5m -v true

    Files are added to a subdirectory named after the FQDN.
     
    * Install ssconvert (apt or brew install gnumeric) to auto-join tsv output to sheets in an xls workbook.
    * macOS users must install coreutils via homebrew

Identificamos que uno de los datos que nos solicita es el usuario -u y el password -p además del nombre del dominio con -d.

Una vez que termine de ejecutar la herramienta, los datos estarán en una carpeta con el mismo nombre del dominio, adicionalmente tendremos solo ficheros con datos, los que no contengan ningún tipo de información serán eliminados directamente.

Tenemos a continuación un ejemplo del fichero csv.

Punto final

Esta forma de trabajar al menos para mí es más fácil y sencillo realizar las consultas directo y obtener la información de esa manera.

Regards,
Snifer

Share on
Support the author with

Avatar
WRITTEN BY
Snifer
Creador del proyecto Snifer@L4b's, Consultor en Seguridad Informática.