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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cyanide — Responder 포이즈닝과 Impacket 릴레이 및 secretsdump를 결합하여 자격 증명 탈취, 해시 릴레이, 측면 이동을 수행하는 자동화된 NTLM 릴레이 공격 도구 | Kitploit
도구/GitHubGitHub/horizon3ai/cyanide
ReconnaissancePassword AttacksExploitationLateral MovementInformation GatheringPost-ExploitationNetwork SecurityPenetration TestingRed Teaming
GitHubhorizon3ai/cyanide

cyanide

Responder 포이즈닝과 Impacket 릴레이 및 secretsdump를 결합하여 자격 증명 탈취, 해시 릴레이, 측면 이동을 수행하는 자동화된 NTLM 릴레이 공격 도구

16516일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

Cyanide란 무엇인가요?

이름에서 알 수 있듯이, 독입니다. Cyanide는 본질적으로 다양한 중독(poisoning) 기법(현재는 Responder만 사용됨)을 Impacket의 ntlmrelayx.py를 통한 캡처된 해시 릴레이와 연관 짓기 위한 트래커입니다. 시작 시 SMB, HTTP, DNS 서버 없이 Responder를 시작하고, 기본적으로 SMB 및 HTTP 서버로 Ntlmrelayx를 시작합니다. 출력은 다음 정보를 알려줍니다:

  1. 소스 중독(Source poisoning)
    • 포이즈너(Poisoner) (예: responder)
    • 중독 방법 (예: LLMNR, NBT-NS, MDNS)
    • 중독된 호스트
    • 호스트가 중독된 타임스탬프
    • 요청
    • 프로토콜 (예: SMB, MSSQL 등)
    • 캡처된 사용자 이름
    • 캡처된 해시
    • 캡처된 해시 유형 (예: cleartext, ntlmv2 등)
  2. 릴레이 대상
    • 대상 호스트
    • 사용된 사용자 이름
    • 사용된 해시
    • 결과 (캡처된 해시, secretsdump 출력)

ntlmrelayx 대상 파일은 필수입니다. 해시만 캡처하려면 smb://127.0.0.1을 입력하면 되고, 그렇지 않으면 평소처럼 대상 목록을 제공하세요 (예: smb://10.0.0.8\n mssql://10.0.0.9)

사용할 수 있는 몇 가지 방법이 있습니다.

방법 1 중독 + 릴레이:

권장되는 방법입니다. 이 방법은 SMB/HTTP를 통해 캡처된 해시를 사용하여 대상 파일에 지정된 대상으로 릴레이합니다. 릴레이에 성공하면 secretsdump가 실행되고 SAM이 (가급적이면) 덤프됩니다.

성공적인 로그인을 위해서는 대상 엔드포인트에서 smb signing이 비활성화되어 있어야 합니다.


방법 2 중독 - 릴레이

이 방법은 Responder를 통해 호스트를 계속 중독시키지만 릴레이하지는 않습니다. SMB/HTTP 캡처를 계속하려면 필수 ntlmrelayx 대상 파일에 smb://127.0.0.1 호스트를 지정해야 합니다.


사용법:

root@kitploit:~
python3 -m venv venv
. venv/bin/activate
git clone https://github.com/horizon3ai/cyanide.git
cd cyanide
pip install -r requirements.txt
sudo -i (must be ran under root account)

stdout으로 릴레이 출력:

  1. vim ntlmrelayx_targets.txt
  2. ://<ip_address> 형식으로 대상을 입력합니다.
    • smb://192.168.1.1
    • mssql://192.168.1.2

python cyanide.py -iface <eth0> --watch --stdout-only --responder -ntf ntlmrelayx_targets.txt

참고: --watch/-w를 사용하면 프로그램 실행 중에 대상 파일을 편집하고 대상을 추가/삭제할 수 있습니다. Impacket은 변경 사항을 자동으로 감지하고 업데이트합니다.

stdout으로 릴레이 없이 출력:

  1. vim ntlmrelayx_targets.txt
  2. smb://127.0.0.1 형식의 루프백 대상을 입력합니다.
  3. --stdout-only를 지정하면 cyanide는 캡처된 각 해시를 stdout으로 출력하고, 릴레이 이벤트 및 최종 메시지도 출력합니다.

python cyanide.py -iface <eth0> --stdout-only --responder -ntf ntlmrelayx_targets.txt --no-relay

데이터베이스를 활용한 릴레이:

Cyanide는 sqlite 데이터베이스를 사용하여 중독된 호스트(poisoner_cache.db), 발생한 릴레이(poisoner_relay.db) 정보를 저장하며, (--stdout-only를 지정하지 않은 경우) 포이즈너 소스, 릴레이 이벤트, secretsdump 데이터를 포함한 최종 메시지가 프로덕션 데이터베이스(poisoner_prod.db)에 저장됩니다. poisoner_prod.db는 30초마다 지정된 출력 파일로 덤프됩니다. 참고: 즉, 결과는 30초마다 덮어쓰여집니다.

  1. vim ntlmrelayx_targets.txt
  2. ://<ip_address> 형식으로 대상을 입력합니다.
    • smb://192.168.1.1
    • mssql://192.168.1.2

python cyanide.py -iface <eth0> --watch --responder -ntf ntlmrelayx_targets.txt

데이터베이스를 활용한 릴레이 없음:

  1. vim ntlmrelayx_targets.txt
  2. smb://127.0.0.1 형식의 루프백 대상을 입력합니다.

python cyanide.py -iface <eth0> --responder -ntf ntlmrelayx_targets.txt --no-relay


라이선스

horizon3_impacket 아래의 파일을 제외한 모든 코드는 GPLv3 라이선스를 유지합니다. horizon3_impacket 아래의 모든 코드는 Impacket의 원래 Apache 라이선스를 유지합니다. 자세한 내용은 licenses 디렉토리를 참조하세요.

도구 다운로드