Um sicherzustellen, dass die richtigen Informationen während eines AD-Pentests gefunden werden, ist es wichtig, eine klare Vorstellung davon zu haben, welche Daten man sucht und wie man sie in der Neo4j-Datenbank abfragen kann. Eine Möglichkeit, dies zu erreichen, besteht darin, sich vorab mit der Syntax der Cypher-Abfragesprache vertraut zu machen und Beispiele für ähnliche Abfragen zu suchen, die man anpassen kann. Es kann auch hilfreich sein, mit erfahrenen Profis zusammenzuarbeiten, die mit Neo4j und AD-Pentesting vertraut sind.
Input: write me a query for bloodhounds neo4j which shows all enabled users who logged on in the last 6 months, never changed password and are member of the domain users group

In unserem obigen Beispiel suchen wir nach allen aktivierten Benutzern, die in den letzten 6 Monaten angemeldet waren, ihr Passwort niemals geändert haben und Mitglieder der Gruppe „Domain Users“ sind. Dies wird durch die Verwendung der Kriterien „u.enabled = true“, „u.lastLogin >= datetime().minusMonths(6)“, „NOT (u)-[:CHANGED_PASSWORD]->()“ und „(u)-[:MEMBER_OF]->(g:Group {name: „Domain Users“})“ in der Abfrage erreicht.
Das query hat nicht out of the box funktioniert, es hilft aber sehr um schnell in diese syntax zu kommen.
3 – 2 – 1 easy oder?