miércoles, 31 de agosto de 2022

Power BI como aliado para tus cuadros de mando en ciber... BloodHound.

 Estimados amigos de Inseguros !!!

Como hemos visto recientemente en algún post, BloodHound es una herramienta de recopilación de información muy interesante para tener controlado nuestro entorno.

En este post vamos a ver como conectar de manera sencilla una instancia de Neo4j, la base de datos que usa Bloodhound, con Power BI Desktop, para poder usar una consulta Cypher y mostrar una visualización bonita como cuadro de mando, en esta caso, preguntando el número de administradores en la organización.

Lo primero que hacemos es probar una consulta. Siguiendo el post original, uso esta:

MATCH (g:Group)
OPTIONAL MATCH (g)-[:AdminTo]->(c1:Computer)
OPTIONAL MATCH (g)-[:MemberOf*1..]->(:Group)-[:AdminTo]->(c2:Computer)
WITH g, COLLECT(c1) + COLLECT(c2) AS tempVar
UNWIND tempVar AS computers
RETURN g.name AS GroupName,COUNT(DISTINCT(computers)) AS AdminRightCount

ORDER BY AdminRightCount DESCPrimero lo voy a comprobar a nivel de base de datos. 


Una vez que lo tengo, me voy a descargar un conector de NEO4J de ESTA ubicación

Lo incoporo a Power Bi guardando el fichero *.mez en la ruta: 

C:\Users\kinomakino\Documents\Power BI Desktop\Custom Connectors

Cuando abro Power Bi, me salta con este simpático mensaje.

Pero vamos a hacer algo inseguro ya que estamos xD.

Ahora iniciamos el proceso normal de adquisición de datos, indicando el conector.
Para poder acceder remotamente a Neo4j si lo tiene en otro equipo, debes descomentar esta línea: dbms.default_listen_address=0.0.0.0


Una vez hemos rellanado los datos de conexión, ya tenemos la tabla de datos en Power Bi.


Como verás mi "kung fu" en esto es máximo, pero ya podemos hacer gráficos y componer nuestro dashboard con información de BloodHound, en este caso, mediante su base de datos.


Recuerda que hay muchas consultas ya hechas para usar en tu cuadro de mando, y para que te sivan de referencia a la hora de montar tus KPI´s, por ejemplo estas.

La única cuestión que queda es programar una tarea para que ingestes los datos cada 1 hora o cada 24 horas con el collector que estés usando, sea el powershell, el binario, el python etc.

Espero que os sirva de ayuda, el post original no es mio, yo solo he tratado de probarlo, de añadir algunas cosas que me han servido, y como siempre, intentar difundir un poco la concienciación, en este caso, de tener métricas y poder acceder a datos de ciberseguridad en herramientas "corp.".

Gracias por leerme !!!