Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cygor — 반복적인 수동 작업을 자동화하기 위해 Python으로 작성된 모듈식 자산 발견 프레임워크 | Kitploit
도구/GitHubGitHub/tjnull/cygor
ReconnaissanceVulnerability ScannersNetwork MappingPort ScanningScripting & AutomationInformation GatheringWeb SecurityPenetration TestingDNS AnalysisDatabase Security
GitHubtjnull/cygor
856143개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

cygor

반복적인 수동 작업을 자동화하기 위해 Python으로 작성된 모듈식 자산 발견 프레임워크

저장소 보기

Cygor

cygor_banner

일반 개요

Cygor는 스캐닝, 파싱, 서비스 열거를 하나의 워크플로우로 통합한 모듈형 자산 발견 프레임워크입니다. 개별 도구들의 조합을 자동화된 프로세스로 대체하여 발견, 보강, 대상별 열거를 원활하게 처리함으로써 수작업 오버헤드를 줄이고 도구 관리 대신 결과에 집중할 수 있게 해줍니다.

Cygor의 웹 UI는 원시 스캔 데이터의 혼란을 하나의 시각적 명령 센터로 정리합니다. 끝없는 XML, JSON 또는 일반 텍스트를 뒤질 필요 없이 결과가 자동으로 파싱되고 보강되어 빠른 트리아지와 의사 결정을 위해 설계된 하나의 공간에 표시됩니다.

FastAPI와 Bootstrap 5로 구동되는 이 대시보드는 다음을 쉽게 할 수 있습니다:

  • 한눈에 큰 그림 파악 — 카운터와 요약 정보로 서비스 분포, 상태 코드 추세, OS 지문 확인
  • 즉시 세부 정보로 이동 — 상위 수준 지표에서 호스트별 세부 정보, 포트, 모듈 결과로 클릭 한 번에 전환
  • 노출 시각화 — Lockon이라는 Cygor 모듈이 활성 웹 서비스의 스크린샷을 캡처하고 출력을 대시보드에 직접 포함시켜 바로 컨텍스트를 제공
  • 트리아지 중 체계적으로 유지 — 검토 완료/미완료 결과 표시, 결과 필터링 및 정렬, 가장 가치 있는 대상에 집중

웹 UI는 단순한 표현을 위한 것이 아닙니다 — 효율성과 명확성을 위한 것입니다. 수집된 모든 데이터를 하나의 대화형 작업 공간으로 모아 파일을 파싱하거나 출력을 조정하는 데 소요되는 시간을 줄이고 테스터가 중요한 것, 즉 환경을 이해하고 행동하는 데 집중할 수 있게 합니다.

왜 Cygor라고 부르나요?

제가 만드는 많은 도구, 기술, 방법들은 Spawn Universe에서 영감을 받았습니다. Spawn 만화를 읽어본 적이 없어도 괜찮습니다. 이 도구의 이름으로 이 캐릭터를 선택한 이유에 대해 설명드리겠습니다.

이름 Cygor는 Spawn 세계관의 비극적인 안티히어로 Cy-Gor에서 유래했습니다. 한때 정부 요원이자 Al Simmons의 절친이었던 Michael Konieczny는 Simmons가 살해된 후 부패를 폭로하려 했습니다. 그러나 그는 체포되어 Dr. Frederick Willheim의 유인원 실험인 Project Sim에 강제 투입되었고, 고릴라의 몸과 Konieczny의 정신이 침습적 사이버네틱스를 통해 결합되었습니다. 그 결과물이 Cy-Gor, 즉 사이버네틱 고릴라(Cybernetic Gorilla)의 줄임말로 알려진 야수였습니다.

Cy-Gor는 감금에서 탈출한 후 혼란과 분노에 휩싸여 정부 데이터 센터를 찢어발기는 등 폭력적인 난동을 일으켰습니다. 여러 번 추적당하고 재포획되었지만, 결국 자신을 통제하려는 시스템에 맞서 싸웠습니다 — 추적 임플란트를 제거하고 기계와 야수, 인간 사이에서 갈팡질팡하며 자신의 길을 개척했습니다.

  • 참고: https://www.spawnworld.com/encyclopedia/cygor.htm

Cygor는 누가 사용해야 하나요?

  • 레드팀 & 침투 테스터 – 대규모 업무에서 발견 자동화, 열거 간소화, 컨텍스트 유지
  • 블루팀 & 시스템 관리자 – 알려지지 않은 자산 발견, 인벤토리 검증, 공격 표면을 확장하는 설정 오류 발견
  • 보안 연구자 – 스캔 데이터를 신속하게 파싱하고 분석하여 추세, 간과된 서비스, 패턴화된 이상 징후 식별
  • 학생 및 강사 – 실제 세계의 정찰 및 열거 기술을 구조화되고 반복 가능한 환경에서 학습

Cygor가 사용하는 도구:

  • Nmap – 안정적인 서비스 및 버전 탐지; XML 출력을 구조화된 호스트/서비스 데이터로 파싱
  • Masscan – 대규모 네트워크에서 빠른 발견을 위한 고속 포트 스캐너
  • Naabu – 간단하고 빠른 TCP 포트 스캐너로 Masscan/Nmap 워크플로우 보완
  • Playwright – Lockon이 웹 스크린샷을 캡처하는 데 사용하는 브라우저 자동화 엔진
  • 웹 콘텐츠 발견 – ffuf, feroxbuster, gobuster, dirsearch가 webenum 모듈에 의해 병렬로 조정됨(설치된 도구만 실행)
  • 서비스 열거 도구 – rpcclient/polenum (MSRPC), ldapsearch/ldapdomaindump (LDAP), snmpwalk/onesixtyone (SNMP), dig/dnsrecon (DNS), showmount (NFS)가 탐색 모듈을 지원; 각 모듈은 도구가 없으면 깔끔히 건너뜀
  • Python 라이브러리 – (requests, colorama, SQLModel 등) 파싱, 보강, 출력 형식 지정, 데이터베이스 처리를 위해 사용

Cygor 설치

Cygor를 설치하는 몇 가지 방법이 지원됩니다: pip, pipx, uv, docker.

pipx로 설치하기

일부 종속성(예: Kerberos/WinRM용 gssapi)은 C 확장을 빌드하므로 먼저 빌드 도구 체인과 Kerberos 헤더를 설치하세요:

root@kitploit:~
# Debian/Ubuntu/Kali:
sudo apt install -y build-essential python3-dev libkrb5-dev
root@kitploit:~
# 안정 버전:
pipx install cygor

# 소스에서 설치:
git clone https://github.com/tjnull/cygor
cd cygor
pipx install .

Docker로 Cygor 배포하기

Cygor의 Docker 설정에는 애플리케이션과 PostgreSQL 데이터베이스 서비스가 모두 포함됩니다. 시스템은 PostgreSQL을 사용할 수 없으면 자동으로 SQLite로 대체됩니다.

빠른 시작

프로덕션 (권장):

root@kitploit:~
# 옵션 1: 래퍼 스크립트 사용 (포트 충돌 자동 처리)
./docker-compose-up.sh up --build

# 옵션 2: 직접 docker compose 사용 (기본 포트 사용)
docker compose up --build

개발 (소스 코드 마운트):

root@kitploit:~
# 옵션 1: 래퍼 스크립트 사용 (포트 충돌 자동 처리)
./docker-compose-up.sh dev up --build

# 옵션 2: 직접 docker compose 사용 (기본 포트 사용)
docker compose -f docker-compose-dev.yaml up --build

Docker Compose 서비스

Docker Compose 설정에는 다음이 포함됩니다:

  • PostgreSQL 서비스: 자동으로 구성되는 데이터베이스 (사용 불가 시 SQLite로 대체)
  • Cygor 서비스: 웹 UI 및 애플리케이션
  • 자동 포트 감지: 포트 충돌을 확인하고 필요한 경우 대체 포트 사용
  • 영구 볼륨:
    • results/: 스캔 출력, credrecon 결과, 데이터베이스 파일
    • cygor-config/: 로컬 설정 볼륨 (자동 생성)

포트 설정

기본적으로:

  • 프로덕션: PostgreSQL이 호스트 포트 5432에 노출됨 (가능한 경우)
  • 개발: PostgreSQL이 호스트 포트 5434에 노출됨 (가능한 경우)
  • 내부: 컨테이너는 항상 내부적으로 포트 5432 사용 (Docker 네트워크)

포트가 이미 사용 중인 경우:

  1. 래퍼 스크립트 사용 (권장 - 사용 가능한 포트를 자동 감지):

    root@kitploit:~
    ./docker-compose-up.sh up --build
    
  2. 수동으로 포트 설정:

    root@kitploit:~
    export POSTGRES_HOST_PORT=5435
    docker compose up --build
    
  3. 포트 매핑 제거 (외부 PostgreSQL 접근이 필요 없는 경우): docker-compose.yaml에서 ports: 섹션을 주석 처리

수동 Docker 빌드

Docker 이미지를 수동으로 빌드하려면:

root@kitploit:~
docker build -t cygor .

단일 컨테이너 실행 (PostgreSQL 서비스 없이):

root@kitploit:~
docker run --rm -v ./results:/opt/cygor/results \
  -e CYGOR_RESULTS_DIR=/opt/cygor/results \
  cygor web --host 0.0.0.0 --port 8080 --load-dir /opt/cygor/results

데이터베이스 동작

  • Docker Compose 사용 시: PostgreSQL 서비스 사용 (자동 구성)
  • PostgreSQL 실패 시: 자동으로 SQLite로 대체
  • 독립형 컨테이너: 기본적으로 SQLite 사용 (CYGOR_DB_URL 설정 시 제외)

환경 변수

Docker 관련 주요 환경 변수:

데이터 및 작업 공간:

  • CYGOR_RESULTS_DIR: 결과 디렉터리 (기본값: /opt/cygor/results)
  • CYGOR_WORKSPACE: 작업 공간 디렉터리 (기본값: /opt/cygor/results)
  • CYGOR_RESULTS_PATH: 결과 볼륨의 호스트 경로 (기본값: ./results)
  • CYGOR_CONFIG_PATH: 인증 설정 볼륨의 호스트 경로 (기본값: ./cygor-config)

데이터베이스:

  • CYGOR_DB_URL: 데이터베이스 연결 문자열 (docker-compose에 의해 자동 설정)
  • CYGOR_DB_USER: PostgreSQL 데이터베이스 사용자 (기본값: cygor)
  • CYGOR_DB_PASSWORD: PostgreSQL 데이터베이스 비밀번호
  • POSTGRES_HOST_PORT: PostgreSQL 호스트 포트 매핑 (포트 충돌 해결용)

디버그 및 상세 출력:

  • CYGOR_DEBUG: 디버그 모드 활성화 (1로 설정하여 활성화)
  • CYGOR_VERBOSE: 상세 수준 (0=일반, 1=상세, 2=디버그)

문서

상세 가이드는 cygor/wiki/에 있습니다 — 설치, 11개의 내장 열거 모듈, 플러그인 개발, 작업 공간 관리 등. GitHub은 이 디렉터리를 탐색 가능한 문서 사이트로 렌더링합니다 (cygor/wiki/README.md에서 시작). 동일한 페이지는 cygor web start를 실행한 후 웹 UI의 /docs에서도 제공됩니다.

Cygor 실행

최상위 Cygor 명령을 사용하여 사용 가능한 도구에 접근합니다. 각 하위 명령에는 자체 도움말 화면(cygor <command> --help)이 있어 플래그와 작업을 문서화합니다.

root@kitploit:~
tjnull@kali:~$ cygor
Usage:
  cygor <command> [args]

Commands:
  banner      Cygor 툴 배너 (경고: 큽니다!)
  scan        호스트 및 서비스를 발견하는 자동화된 스캐너. (스캔을 위해 root/sudo 권한 필요).
  parse       NMAP 스캔 파일(nmap, gnmap, xml)을 분석하고 공통 서비스별로 분류된 호스트 목록 추출.
  enum        cygor 모듈 디렉터리에 있는 열거 모듈을 로드.
  workspace   작업 공간 관리 (init/set-default/show).
  web         Cygor 웹 UI 제어/실행 (start/stop/status) 또는 직접 실행.

Environment:
  CYGOR_WORKSPACE     이번 실행에만 기본 작업 공간을 재정의.
  CYGOR_RESULTS_DIR   설정된 경우 웹 및 모듈에서 사용. (기본 작업 공간에서 자동 설정.)

Cygor 스캐너

cygor에서 스캐너를 실행하려면 sudo (root) 권한이 필요합니다:

root@kitploit:~
    Masscan만으로 호스트 발견 실행:

    cygor scan -i eth0 -f scope.txt --discover masscan

    Masscan과 Naabu로 호스트 발견을 실행한 후, 병합된 결과에 대해 Nmap 실행:

    cygor scan -i eth0 -f scope.txt --discover masscan naabu --nmap-source merge

    발견만 수행 (Nmap 없음), 결과는 results/discovery/에 저장:

    cygor scan -i eth0 -f scope.txt --discover masscan naabu --discover-only

    저장된 발견 결과를 재사용하여 Nmap 상위 포트 스캔 실행:

    cygor scan --use-discovery results/discovery/merged-discovered.txt --scan-type top-ports

    발견된 호스트에 대해 사용자 지정 포트로 Nmap 실행:

    cygor scan --use-discovery results/discovery/masscan-discovered.txt --ports 80,443,8443

    전체 범위에 대해 10개의 병렬 프로세스로 Nmap 실행 (최대 100개):

    \cygor scan -i eth0 -f scope.txt --discover naabu --processes 10 --scan-type fullscan:

    IP 주소 또는 CDR 목록을 제공하여 Cygor로 호스트 발견 및 Nmap 스캔 실행:

    cygor scan -i eth0 --ips 10.10.10.1 10.10.10.5 10.10.20.0/24 --discover naabu --processes 10 --scan-type fullscan

    스캔에서 특정 서브넷 또는 호스트 제외:

    cygor scan -i eth0 -f scope.txt --exclusions exclusions.txt --discover masscan

Cygor 파서:

root@kitploit:~
    Nmap 결과 디렉터리를 파싱하고 호스트 목록 출력:

    cygor parse results/nmap

    단일 XML을 파싱하고 호스트 목록을 results/parsed-hostlists에 작성:

    cygor parse results/nmap/scan1.xml -o results

    .xml/.nmap/.gnmap 파일을 재귀적으로 파싱하고 결과 출력:

    cygor parse /path/to/scans --out-dir results

Cygor 열거 모듈

Cygor는 점점 늘어나는 프로토콜별 열거 모듈 세트를 제공합니다. 각 모듈은 검증된 도구를 래핑하고, 출력을 타입화된 행("parse-don't-dump")으로 파싱하며, 결과를 인벤토리(DB + 웹 UI)에 저장하여 검색 가능하고 호스트별로 상관 관계를 분석할 수 있게 합니다. 신호가 높은 관찰 결과는 다음 단계 엔진에 자동으로 전달되어, 웹 UI에서 우선 순위가 지정된 발견 결과와 즉시 실행 가능한 후속 명령을 표시합니다.

root@kitploit:~
    사용 가능한 모든 모듈 목록 보기:

    cygor enum --list

    http 호스트 목록에 대해 lockon 실행:

    cygor enum lockon web -f results/parsed-hostlists/http/http-hostlist.txt -o results/enum/lockon

    웹 콘텐츠 발견 실행 (다중 도구, 스크린샷 포함):

    cygor enum webenum -f results/parsed-hostlists/http-https/http-https-hostlist.txt --screenshot

    NFS 대상에 대해 nfsexplorer 실행 (내보내기만):

    cygor enum nfsexplorer -i results/parsed-hostlists/nfs/nfs-hostlist.txt --info

    smbexplorer 실행 및 파일 목록 표시:

    cygor enum smbexplorer -i results/parsed-hostlists/smb/smb-hostlist.txt --list-files

    MSRPC 열거 (널 세션) - 암호 정책 및 RID 순환 포함:

    cygor enum rpcexplorer -i results/parsed-hostlists/smb/smb-hostlist.txt --rid-cycle

    데이터베이스에 대해 인증되지 않은 접근 프로브 (모든 DB 서비스 호스트 목록 대상):

    cygor enum dbprobe -i results/parsed-hostlists/mysql/mysql-hostlist.txt

각 모듈의 전체 옵션 참조는 cygor enum <module> --help를 실행하세요.

Cygor 플러그인

Cygor는 확장 가능합니다 — Python 파일을 ~/.cygor/plugins/에 넣으면 내장 모듈처럼 cygor enum --list (및 웹 UI)에 나타납니다. 자신의 도구를 래핑하고, 팀 내부 스캐너를 배포하거나, 특정 업무를 위해 Cygor를 포크하지 않고 확장할 수 있습니다.

root@kitploit:~
    새 플러그인 스캐폴드 생성 (~/.cygor/plugins/my_scanner.py 작성):

    cygor plugin create "My Scanner"

    로컬 파일 또는 git URL에서 플러그인 설치:

    cygor plugin install ./my_scanner.py
    cygor plugin install https://github.com/example/cygor-myscanner

    검증, 목록, 업데이트, 제거:

    cygor plugin validate ./my_scanner.py
    cygor plugin list
    cygor plugin update --all
    cygor plugin remove my_scanner

    설치된 플러그인 실행 (내장 모듈과 동일):

    cygor enum my_scanner -t 10.10.10.5

세 가지 참조 플러그인이 docs/examples/modules/에 있습니다: 최소 예제, 외부 도구 래퍼, 완전한 주석 템플릿. 전체 플러그인 형식, 옵션/열/뷰, 종속성 처리, 버전 호환성, 선택적 플러그인 허용 목록에 대해서는 **플러그인 개발 가이드**를 참조하세요.

Cygor 웹 UI

데이터를 수집한 후, Cygor의 웹 UI에 로드하여 스캔 결과를 호스트, 서비스 및 기타 주요 발견 사항에 대한 명확한 시각화로 변환할 수 있습니다. Cygor는 cygor.db라는 파일을 생성하며, 여기에는 Cygor 웹 UI에 모델링하는 데 필요한 데이터가 포함됩니다.

웹 서버 시작

root@kitploit:~
# 기본 사용법 - 기본 호스트/포트에서 시작 (127.0.0.1:8000)
cygor web start

# 모든 인터페이스, 포트 8080에서 시작
cygor web start -H 0.0.0.0 -p 8080

# 사용자 지정 결과 디렉터리로 시작
cygor web start --load-dir /path/to/results

# 상세 출력으로 시작
cygor web start -vv

# 모든 옵션으로 시작
cygor web start -H 0.0.0.0 -p 8080 --load-dir ~/scan-results -vv

명령줄 옵션

전체 옵션 목록은 cygor web start --help를 실행하세요.

웹 서버 관리

root@kitploit:~
# 웹 서버가 실행 중인지 확인
cygor web status

# 실행 중인 웹 서버 중지
cygor web stop

데이터베이스 옵션

Cygor는 PostgreSQL이 사용 가능한 경우 자동으로 감지하여 사용하고, 그렇지 않으면 SQLite로 대체됩니다:

  • PostgreSQL (프로덕션 권장):

    • psql이 사용 가능하면 자동 감지
    • 필요한 경우 데이터베이스 및 사용자 생성
    • 연결 문자열: postgresql+psycopg_async://user:pass@host/db
  • SQLite (기본 대체):

    • 설정 불필요
    • 데이터베이스 파일: 결과 디렉터리의 cygor.db
    • 단일 사용자 배포에 적합

면책 조항:

Cygor는 보안 연구 및 교육용 프레임워크입니다. 침투 테스트 업무, 레드팀 운영, 교육 실습실, 개인 테스트 환경 등 명시적인 서면 승인을 받은 환경에서만 사용하도록 설계되었습니다.

이 소프트웨어는 소유하거나 통제하지 않는 시스템에 대한 무단 접근, 침입 또는 중단에 사용되어서는 안 됩니다. 그렇게 하는 경우 해당 관할권의 법률 및 규정을 위반할 수 있으며, 형사 기소 또는 민사 처벌을 초래할 수 있습니다.

Cygor를 다운로드, 실행 또는 수정함으로써 귀하는 다음에 동의하는 것으로 간주됩니다:

  • 사용 방법에 대한 전적인 책임은 귀하에게 있습니다.
  • 법적 및 윤리적 시나리오로만 사용을 제한할 것입니다.

Cygor의 작성자와 기여자는 이 소프트웨어의 오용, 손해 또는 사용으로 인해 발생하는 결과에 대해 어떠한 책임도 지지 않습니다.

특정 환경에서 Cygor를 사용할 권한이 있는지 확실하지 않은 경우 실행하지 마십시오.

도구 다운로드
모듈서비스기능
lockonHTTP/S, RDP, VNC, X11프로토콜 전반에 걸쳐 스크린샷을 캡처하여 빠른 시각적 트리아지 지원.
webenumHTTP/S여러 도구(ffuf, feroxbuster, gobuster, dirsearch)를 병렬로 사용한 콘텐츠 발견, 도구 간 중복 제거/상관 관계 분석, 옵션으로 스크린샷 제공.
smbexplorerSMB (445)공유, 권한, 접근 가능한 파일 열거; NTLM/Kerberos/pass-the-hash 지원.
nfsexplorerNFS (2049)내보내기, 버전, 파일 열거; UID/GID 스푸핑 및 no_root_squash 확인.
rpcexplorerMSRPC (445)널/인증 세션: 서버 정보, 도메인 SID, 사용자, 그룹, 전체 암호 정책, RID 순환.
ldapexplorerLDAP/AD (389/636)rootDSE, 익명 바인드/검색, 인증된 도메인 덤프.
snmpexplorerSNMP (161)v1/v2c 커뮤니티 무차별 대입, 장치 시스템 정보, MIB 스윕(사용자/프로세스/소프트웨어/포트/인터페이스).
dnsexplorerDNS (53)버전, 오픈 리졸버 감지, AXFR 영역 전송.
ftpexplorerFTP (21)배너, 익명 로그인, 디렉터리 목록, FEAT, 익명 쓰기 테스트.
smtpexplorerSMTP (25/587)배너, STARTTLS, AUTH 메커니즘, VRFY 사용자 열거, 오픈 릴레이 테스트.
dbprobe데이터베이스Redis/MySQL/PostgreSQL/MongoDB/Elasticsearch/CouchDB에서 인증 없이 접근 가능한지 확인하고 버전 탐색.