Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cypheroth — Bloodhound의 Neo4j 백엔드에 대해 cypher 쿼리를 실행하고 결과를 스프레드시트에 저장하는 자동화되고 확장 가능한 도구 세트입니다. | Kitploit
도구/GitHubGitHub/seajaysec/cypheroth
ReconnaissanceInformation GatheringPenetration Testing
GitHubseajaysec/cypheroth

cypheroth

Bloodhound의 Neo4j 백엔드에 대해 cypher 쿼리를 실행하고 결과를 스프레드시트에 저장하는 자동화되고 확장 가능한 도구 세트입니다.

저장소 보기
256425년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Cypheroth

Bloodhound의 Neo4j 백엔드에 대해 Cypher 쿼리를 실행하고 출력을 스프레드시트로 저장하는 자동화되고 확장 가능한 도구 세트입니다.

cypheroth

설명

이것은 Neo4j 데이터베이스에 저장된 Bloodhound 데이터에 대해 Cypher 쿼리 실행을 자동화하는 Bash 스크립트입니다.

여러 평가에서 Neo4j 웹 인터페이스를 통해 동일한 쿼리를 반복 실행하다 보니 더 쉬운 방법이 있어야 한다고 생각했습니다. 😅

실행할 Cypher 쿼리 목록은 완전히 확장 가능합니다. 아래 형식 예제는 사용자 정의 쿼리를 추가하는 방법을 보여줍니다.

유용한 추가 쿼리가 있으면 공유해 주세요. 이 프로젝트에 추가하겠습니다!

Linux, macOS, Windows의 Bash에서 작동하도록 완전히 테스트되었습니다

데모

Cypheroth Demo (더 나은 시청을 위해 termtosvg로 렌더링됨)

사전 요구 사항

  • cypher-shell 명령어는 Neo4j에 번들로 제공되며, 이 스크립트가 작동하는 데 필요합니다.
    • Neo4j가 설치되어 있지만 cypher-shell을 찾을 수 없는 경우, Neo4j 버전이 오래된 것일 수 있습니다.
    • 최신 버전은 항상 이 위치에서 찾을 수 있습니다.
    • Kali에서는 Neo4j의 Debian 저장소를 사용하여 최신 버전으로 업그레이드하세요.
  • 선택 사항: ssconvert 명령어가 있으면 스크립트는 모든 .csv 출력을 .xls 파일 내의 시트로 결합합니다.
    • apt 또는 brew를 사용하여 gnumeric 도구 세트를 설치하면 ssconvert에 액세스할 수 있습니다.

Windows의 경우 Neo4j 데이터베이스가 Windows에서 실행되는 동안 WSL을 사용하여 이 스크립트를 실행하는 것이 좋습니다. WSL(Linux)에 cypher-shell 패키지를 설치하기만 하면 됩니다.

사용법

플래그:

root@kitploit:~
  -u Neo4J 사용자 이름 (필수)
  -p Neo4J 비밀번호 (필수)
  -d 완전한 도메인 이름 (FQDN) (필수) (대소문자 구분)
  -a Bolt 주소 (선택 사항) (기본값: localhost:7687)
  -t 쿼리 타임아웃 (선택 사항) (기본값: 30s)
  -v 상세 모드 (선택 사항) (기본값: FALSE)
  -h 도움말 텍스트 및 사용 예제 (선택 사항)

기본값 사용 예제:

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

모든 옵션 사용 예제:

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

파일은 FQDN 이름을 딴 하위 디렉터리에 추가됩니다.

Cypher 쿼리

현재 스크립트에는 거의 60개의 쿼리가 있습니다. 다음은 받게 될 정보의 샘플입니다:

  • 전체 사용자 속성 목록
  • 전체 컴퓨터 속성 목록
  • 전체 도메인 속성 목록
  • 전체 OU 속성 목록
  • 전체 GPO 속성 목록
  • 전체 그룹 속성 목록
  • 관리자가 있는 컴퓨터
  • 관리자가 없는 컴퓨터
  • Kerberoast 가능한 사용자 및 해당 사용자가 관리자인 컴퓨터

추가 쿼리를 추가하려면 cypheroth.sh 내의 queries 배열을 편집하고 다음 형식을 사용하여 한 줄을 추가하세요.

설명;Cypher 쿼리;출력 파일

도메인 값을 설정해야 하는 쿼리를 추가하는 경우 $DOMAIN으로 저장하세요.

예제 1:

root@kitploit:~
모든 사용자 이름;MATCH (u:User) RETURN u.name;usernames.csv

예제 2:

root@kitploit:~
모든 도메인 관리자;MATCH (u:User) MATCH (g:Group {name:'DOMAIN ADMINS@$DOMAIN'}) RETURN u.displayname;domainAdmins.csv

여러 도메인 분석

여러 도메인을 분석해야 하는 경우 각각 자체 도메인에서 작업하는 여러 Cypheroth 인스턴스를 병렬로 실행할 수 있습니다. 예를 들어 다음 스크립트를 사용할 수 있습니다 (10개 병렬).

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

문제 해결

cypher-shell의 오래된 버전을 실행하는 경우 다음 오류가 발생할 수 있습니다:

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.

해결하려면 Neo4j 업데이트를 최신 버전으로 진행하세요.

작성자

Chris Farrell (@seajay)

감사의 말

  • 이 도구는 @_wald0, @CptJesus, @harmj0y가 개발한 BloodHound가 없었다면 존재하지 않았을 것입니다.
  • 도움을 주신 Bloodhound Slack #cypher_queries 채널에 감사드립니다.
  • @TinkerSec에게 큰 감사를 드립니다. 이 프로젝트의 뼈대는 그의 procdump 스크립트를 그대로 복사/붙여넣기한 것입니다 🙃
  • 유용한 Cypher 쿼리를 모아준 @awsmhacks, @haus3c, @ScoubiMtl에게 많은 감사를 드립니다 (여기, 여기, 여기 참조).
  • @chryzsh와 @mubix의 기여에 깊이 감사드립니다!!
  • @cnotin의 놀라운 모든 기여에 감사드립니다!
도구 다운로드