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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
InfraGuard — InfraGuard는 레드팀 인프라를 위협 귀속으로부터 보호하는 Command & Control 리다이렉션 프록시 및 관리자입니다. | Kitploit
도구/GitHubGitHub/whispergate/infraguard
Phishing ToolsPayload GenerationWeb Proxies & InterceptionIDS/IPS EvasionNetwork SecurityCommand and ControlThreat IntelligenceRed TeamingIncident ResponseAnti-BotDNS Analysis
163105일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
whispergate/infraguard

InfraGuard

InfraGuard는 레드팀 인프라를 위협 귀속으로부터 보호하는 Command & Control 리다이렉션 프록시 및 관리자입니다.

저장소 보기웹사이트

InfraGuard 로고

레드팀 인프라 추적기 및 C2 리디렉터 — RedWarden의 현대적인 대안입니다.

InfraGuard는 인터넷과 C2 팀서버 사이에 위치하여 모든 인바운드 요청을 malleable C2 프로필에 대해 검증하고, 일치하지 않는 모든 것을 차단합니다. 스캐너, 봇, 블루팀 탐사 프로브는 더코이 사이트로 리디렉션되고, 합법적인 비콘 트래픽은 팀서버로 전달됩니다.

Mythic 콜백 Xenon InfraGuard 대시보드

아키텍처

아키텍처 다이어그램

기능

  • 멀티 도메인 프록시 — 여러 도메인을 동시에 프록시 처리, 각각 독립적인 C2 프로필, 업스트림 및 규칙 보유
  • C2 프로필 검증 — Cobalt Strike, Mythic, Brute Ratel C4, Sliver, Havoc, Nighthawk, PoshC2 프로필을 리디렉터 규칙으로 파싱 및 적용
  • 멀티 프로토콜 리스너 — HTTP/HTTPS, DNS, MQTT, WebSocket 리스너를 동시 실행, 공유 IP 인텔리전스 및 이벤트 추적
  • 점수 기반 필터 파이프라인 — 10개의 필터(JA3, IP, 봇, 헤더, DNS, 지리, 프로필, 재생, 열거, 샌드박스)가 각각 0.0~1.0 점수를 부여; 설정 가능한 임계값이 차단/허용 결정
  • JA3 TLS 지문 필터링 — Masscan, ZGrab2, Shodan, curl, Python requests, Nmap을 HTTP 데이터 교환 전 TLS 핸드셰이크 레이어에서 차단; 역방향 프록시 헤더(nginx ssl_fingerprint, HAProxy 네이티브 JA3) 또는 사용자 정의 asyncio 프로토콜을 통해 작동; 선택적 허용 목록 모드는 비콘 JA3을 강제
  • 샌드박스/헤드리스 브라우저 탐지 — HTTP 신호 전반에 걸친 점수 누적 모델: HeadlessChrome UA, Accept-Language 누락, Chrome에 sec-ch-ua 없음, Safe Links/msnbot 스캐너 UA, 비브라우저 Accept 순서; Microsoft Safe Links, Cuckoo, ANY.RUN, VirusTotal URL 스캐너 차단
  • 경로 열거 탐지 — 슬라이딩 윈도우 내 IP별 고유 URI 추적; dirbuster/ffuf/gobuster가 URI 공간을 매핑하기 전에 하드 블록; 설정 가능한 차단 및 의심 임계값
  • DNS 서브도메인 열거 탐지 — 클라이언트 IP당 NXDOMAIN 응답 추적; 임계값 위반 시 즉시 소스 IP를 차단 목록에 추가; DNS 리스너에서 Amass, subfinder, dnsrecon 차단
  • 안티봇/안티크롤링 — 40개 이상의 알려진 스캐너/봇 User-Agent 패턴, 헤더 이상 탐지
  • IP 인텔리전스 — 19개 보안 업체 범위(Shodan, Censys, Rapid7 등)에 대한 내장 CIDR 차단 목록, GeoIP 필터링, 역방향 DNS 키워드 매칭
  • 위협 인텔 피드 — 공개 소스(abuse.ch, Emerging Threats, Spamhaus DROP, Binary Defense)에서 차단 목록 자동 업데이트, 설정 가능한 갱신 간격 및 디스크 캐싱
  • 규칙 수집 — 기존 .htaccess 및 robots.txt 파일에서 IP 차단 목록 및 User-Agent 패턴 가져오기
  • 동적 IP 차단 — 허용된 범위 외부의 IP 차단; N개의 유효한 C2 요청 후 IP 자동 허용
  • 허용 목록 강화 — 허용된 CIDR은 GeoIP 데이터베이스를 통해 시작 시 ASN, 조직, 국가, 대륙 데이터로 자동 강화
  • 번 탐지 — 인증서 투명성 로그 모니터링(crt.sh 폴링), 도메인 평판 자체 모니터링(URLhaus, OpenPhish, Google Safe Browsing), 교차 도메인 분석가 탐지(단일 IP가 여러 운영자 도메인에 접근); 모든 번 경보는 기존 웹훅 플러그인을 통해 전송
  • 콘텐츠 전달 경로 — PwnDrop, Mythic 파일 저장소, 로컬 파일 시스템 또는 HTTP 프록시 백엔드를 통해 특정 경로에서 페이로드, 더코이 및 정적 파일 제공; 선택적 조건부 전달(대상에게는 실제 콘텐츠, 스캐너에게는 더코이)
  • Mythic 파일 스테이징 — mythic_file 백엔드가 Mythic의 /direct/download/{uuid}를 깨끗한 URL로 프록시; 고정 UUID(URL 별칭) 또는 프록시 모드(UUID를 경로에서 추출); 액세스 제어는 전적으로 InfraGuard의 필터 스택이 제공
  • 일회성 페이로드 토큰 — 비콘이 동적으로 허용될 때 토큰이 자동 발급; 원자적 단일 사용 SQLite 강제로 URL 재생을 분석가나 샌드박스가 방지; 설정 가능한 TTL 및 최대 사용 횟수
  • 경로별 속도 제한 — 콘텐츠 경로에 대한 슬라이딩 윈도우 IP별 다운로드 속도 제한; 제한 초과 시 설정된 스캐너 더코이 또는 429 제공
  • 전달 가드 — 콘텐츠 경로에 대한 환경 키잉: 비콘 IP(동적 허용 목록), UA 허용 목록(정규식), 필수 헤더 값(임플란트 특정 헤더), 금지 헤더(Via, X-Forwarded-For, CF-Worker) 필요; 실패한 검사는 원시 403 대신 도메인 드롭 액션 제공
  • 피싱 캠페인 토큰 — 이메일 링크에 포함된 캠페인별 토큰 뒤에 피싱 페이지 게이트; 정적 토큰 목록 또는 HMAC 서명된 자체 검증 토큰(설정 가능한 TTL); CT 로그나 위협 피드를 통해 URL을 발견한 분석가는 페이지를 로드할 수 없음
  • 재생 방지 — 콘텐츠 해시로 중복 요청 거부; 해시는 SQLite에 유지되어 재시작에도 보호 유지
  • 드롭 액션 — 리디렉션, TCP 리셋, 더코이 사이트로 프록시, 또는 타르핏(스캐너 시간 낭비를 위한 느린 드립 응답)
  • 웹 대시보드 — 로그인 페이지, 실시간 요청 피드, 도메인 통계, 상위 차단 IP, 인증된 WebSocket 이벤트 스트리밍, 인라인 차단/허용/차단 해제 액션이 포함된 실시간 SPA
  • Command Post — 여러 InfraGuard 노드의 통계, 요청 및 라이브 이벤트를 단일 보기로 병합하는 다중 인스턴스 집계 대시보드
  • 터미널 UI — Textual 기반 TUI, 로그인 화면, 실시간 API 폴링, 색상 코드 요청 로그
  • SIEM 통합 — Elasticsearch, Wazuh, Syslog(CEF/JSON)용 내장 플러그인, 배치 전달 지원
  • 웹훅 알림 — Discord(임베드), Slack(Block Kit), 일반 웹훅(Rocket.Chat, Mattermost, Teams)용 내장 플러그인; 번 탐지 알림은 동일한 플러그인 시스템을 통해 전송
  • 플러그인 시스템 — on_event 후크, 플러그인별 설정, 이벤트 필터링(only_blocked, min_score, 도메인 포함/제외)을 갖춘 이벤트 기반 아키텍처
  • 백엔드 설정 생성 — 운영자 맞춤 설정(TLS, IP 필터링, 헤더 검사, 별칭, 사용자 정의 헤더)이 포함된 Nginx, Caddy 또는 Apache 설정 생성
  • 엣지 프록시 — CDN 인프라를 통한 도메인 프론팅, 엣지 국가 차단, 호스트 재작성을 위한 경량 Cloudflare Worker 및 AWS Lambda
  • Docker 배포 — 선택적 Let's Encrypt, GeoIP 다운로더, PwnDrop 페이로드 서버가 포함된 Dockerfile + docker-compose
  • GeoIP 지원 — 세 가지 GeoLite2 데이터베이스(시티, ASN, 국가) 모두, Docker 자동 다운로드; 시작 시 허용된 CIDR 자동 강화
  • 자체 서명 TLS 폴백 — 설정된 경로가 없을 때 인증서 자동 생성
  • 환경 변수 지원 — .env 파일 자동 로드; 모든 설정 값 및 키에서 ${VAR} 구문 사용 가능
  • 설정 가능한 헬스 엔드포인트 — 핑거프린팅을 방지하기 위해 헬스 체크 경로 변경 가능
  • 구조적 로깅 — structlog를 통한 JSON 형식 구조적 로그
  • 추적 및 영속성 — 요청 로깅, 통계, 노드 레지스트리, 재생 해시, 페이로드 토큰을 위한 WAL 모드의 SQLite

설치 가이드

설치 방법은 위키 페이지를 확인하세요.

CLI 참조

root@kitploit:~
infraguard --version                                버전 표시
infraguard --help                                   도움말 표시

infraguard run -c config.yaml                       역방향 프록시 시작
infraguard run -c config.yaml --port 8443           수신 포트 재정의
infraguard run -c config.yaml --host 0.0.0.0        바인드 주소 재정의

infraguard dashboard -c config.yaml                 웹 대시보드 시작
infraguard dashboard -c config.yaml --port 9090     대시보드 포트 재정의

infraguard tui                                      로그인 화면으로 TUI 실행
infraguard tui --url http://host:8080 --token TOK   대시보드에 자동 연결
infraguard tui -c config.yaml                       설정에서 URL/토큰 읽기

infraguard command-post -c command-post.yaml         다중 인스턴스 대시보드 시작
infraguard command-post --instance name:url:token    CLI로 인스턴스 추가(반복 가능)

infraguard profile parse <file>                     C2 프로필 파싱 및 표시
infraguard profile parse <file> --format json        JSON으로 출력
infraguard profile parse <file> --type brute_ratel   프로필 유형 강제 지정
infraguard profile convert <file> -o out.json        프로필을 JSON으로 변환

# 지원되는 --type 값: auto, cobalt_strike, mythic, brute_ratel, sliver, havoc, nighthawk, poshc2
# 자동 탐지: .profile = CS, .toml = Havoc, .yaml = PoshC2, .json = 키로 자동 탐지

infraguard ingest <files...>                         .htaccess/robots.txt 규칙 수집
infraguard ingest <files...> --format blocklist      IP 차단 목록으로 출력
infraguard ingest <files...> --format json           JSON으로 출력
infraguard ingest <files...> -o banned_ips.txt       차단 목록을 파일에 쓰기

infraguard generate nginx -c config.yaml             Nginx 설정 생성
infraguard generate caddy -c config.yaml             Caddyfile 생성
infraguard generate apache -c config.yaml            Apache VirtualHost 생성

infraguard init -o config.yaml                       시작 설정 생성
infraguard validate -c config.yaml                   설정 파일 검증

생성기 옵션

generate 명령은 운영자 맞춤 설정을 위한 추가 플래그를 허용합니다:

Command Post (다중 인스턴스 대시보드)

여러 InfraGuard 인스턴스를 서로 다른 VPS나 클라우드 제공업체에서 실행할 때, Command Post는 모든 노드의 통계, 요청 및 라이브 이벤트를 단일 대시보드로 집계합니다.

root@kitploit:~
┌─────────────────────────────┐
│    Command Post 대시보드    │
│    http://localhost:9090    │
└──────────┬──────────────────┘
           │ 병렬 가져오기
     ┌─────┼──────┬──────────┐
     ▼     ▼      ▼          ▼
   IG-1   IG-2   IG-3   ... IG-N

InfraGuard Command Post

빠른 시작

root@kitploit:~
# 설정 파일을 통해
infraguard command-post -c config/command-post.yaml

# CLI 인수를 통해
infraguard command-post \
  --instance "prod:https://ig1.example.com:8080:TOKEN1" \
  --instance "staging:https://ig2.example.com:8080:TOKEN2" \
  --port 9090

# Docker를 통해
docker compose --profile command-post up -d command-post

설정

config/command-post.yaml 생성:

root@kitploit:~
instances:
  - name: "prod-cs"
    url: "https://ig1.example.com:8080"
    token: "${IG_PROD_TOKEN}"
  - name: "prod-mythic"
    url: "https://ig2.example.com:8080"
    token: "${IG_MYTHIC_TOKEN}"
  - name: "staging"
    url: "https://ig3.example.com:8080"
    token: "${IG_STAGING_TOKEN}"

port: 9090
# auth_token: "${COMMAND_POST_TOKEN}"

표시 내용

  • 병합된 통계 — 모든 인스턴스의 총 요청, 허용, 차단 합계
  • 인스턴스 상태 표시줄 — 각 연결된 노드의 녹색/빨간색 상태
  • 인터리브 요청 로그 — 모든 인스턴스의 요청을 타임스탬프별로 정렬, 각각 인스턴스 이름 태그
  • 병합된 상위 차단 IP — 모든 인스턴스 집계
  • 도메인별 통계 — 모든 인스턴스의 도메인, 재계산된 차단율
  • 라이브 이벤트 피드 — 모든 노드의 멀티플렉스 WebSocket 이벤트
  • 차단/허용 목록 액션 — 모든 인스턴스 또는 특정 인스턴스로 전파

API 엔드포인트

Docker 배포

빠른 시작

root@kitploit:~
cp .env.example .env
# .env 파일에서 도메인, 팀서버, 토큰 편집
docker compose up -d

이 명령은 두 개의 서비스를 시작합니다:

  • proxy — 443 및 80 포트의 리디렉터
  • dashboard — 8080 포트의 웹 UI

Let's Encrypt 사용

root@kitploit:~
# .env에 설정:
#   INFRAGUARD_LETSENCRYPT=true
#   INFRAGUARD_DOMAIN=cdn.example.com
#   [email protected]

# 초기 인증서 발급
docker compose --profile letsencrypt up certbot

# 프록시 시작 (LE 인증서 사용)
docker compose up -d proxy dashboard

# 자동 갱신 시작 (12시간마다 확인)
docker compose --profile letsencrypt up -d certbot-renew

Let's Encrypt 요구 사항:

  • 80번 포트가 인터넷에서 접근 가능해야 함
  • INFRAGUARD_DOMAIN이 이 호스트의 공용 IP로 확인되어야 함
  • INFRAGUARD_DOMAIN_EMAIL은 유효한 이메일 주소여야 함

GeoIP 데이터베이스 사용

root@kitploit:~
# 세 개의 GeoLite2 데이터베이스 모두 다운로드 (City, ASN, Country)
docker compose --profile geoip up geoip-update

# 그런 다음 평소처럼 시작 - 데이터베이스는 /app/geoip/에 마운트됨
docker compose up -d proxy dashboard

PwnDrop 사용 (페이로드 전달)

root@kitploit:~
# 프록시와 함께 PwnDrop 시작
docker compose --profile pwndrop up -d pwndrop

# PwnDrop 관리 UI 접속: https://localhost:8443
# InfraGuard가 내부적으로 http://pwndrop:80에 접근

그런 다음 설정에서 콘텐츠 경로를 구성하여 페이로드 경로를 PwnDrop으로 프록시 처리:

root@kitploit:~
domains:
  cdn.example.com:
    content_routes:
      - path: "/downloads/*"
        backend:
          type: "pwndrop"
          target: "http://pwndrop:80"
          auth_token: "${PWNDROP_TOKEN}"

스케일링

root@kitploit:~
# 여러 리디렉터 노드 실행
docker compose up -d --scale proxy-node=3

docker-compose.yml에서 proxy-node 서비스를 주석 해제하여 활성화합니다.

볼륨

아키텍처

root@kitploit:~
infraguard/
    __init__.py              패키지 init
    __main__.py              python -m infraguard 진입점
    main.py                  Click CLI
    config/                  YAML 설정 로딩, .env 지원, Pydantic 검증
    core/                    ASGI 프록시 엔진 (app, proxy, router, TLS, drop actions, content delivery)
    profiles/                C2 프로필 파서 (Cobalt Strike, Mythic, Brute Ratel, Sliver, Havoc, Nighthawk, PoshC2)
    pipeline/                요청 검증 필터 (JA3, IP, bot, header, DNS, geo, profile, replay, enumeration, sandbox)
    intel/                   IP 인텔리전스 (blocklists, GeoIP, rDNS, feeds, rule ingestion)
    tracking/                SQLite 영속성 (request logging, stats, node registry)
    plugins/                 플러그인 시스템 (protocol, loader, builtins)
    ui/
        api/                 REST API + WebSocket (Starlette)
        web/                 SPA 대시보드 (HTML/JS/CSS)
        tui/                 터미널 UI (Textual) with login screen
        command_post/        다중 인스턴스 집계 대시보드
    listeners/               프로토콜 리스너 (HTTP, DNS, MQTT, WebSocket)
    backends/                설정 생성기 (Nginx, Caddy, Apache)
    models/                  공유 타입 및 이벤트 모델

RedWarden과의 비교

기여

  • Mgeeky - 원래 아이디어 (RedWarden)
  • curi0usJack - .htaccess 규칙
  • 프로필
    • threatexpress - jquery-c2.3.14.profile
    • InfinityCurve - Havoc 프로필
  • C2 프레임워크
    • Cobalt Strike - Malleable C2 프로필 지원
    • Mythic - HTTPX 프로필 지원 + 파일 스테이징
    • Brute Ratel C4 - 서버 설정 프로필 지원
    • Sliver - HTTP C2 프로필 지원
    • Havoc - TOML 프로필 지원
    • Nighthawk - JSON 리스너 설정 지원
    • PoshC2 - YAML 설정 지원

프로젝트에 기여하려면 버전 이름으로 새 브랜치를 생성하고 풀 리퀘스트에 동일한 버전 이름을 지정하세요. 예: branch=v1.2.3 | [v1.2.3] Added blah item.

라이선스

BSD 2-Clause License. 자세한 내용은 LICENSE를 참조하세요.

Copyright (c) 2026, Whispergate

도구 다운로드
플래그설명
--listen-port PORT수신 포트 재정의 (기본값: 설정 파일)
--ssl-cert PATHSSL 인증서 경로 재정의
--ssl-key PATHSSL 키 경로 재정의
--redirect-url URL차단된 요청에 대한 리디렉션 URL 재정의
--default-action redirect|404일치하지 않는 요청에 대한 기본 동작
--no-ip-filterIP 허용/거부 블록 생략
--no-header-check헤더 검증 규칙 생략
--alias DOMAIN:ALIAS서버 이름 별칭 추가 (반복 가능)
--header NAME:VALUE사용자 정의 응답 헤더 추가 (반복 가능)
엔드포인트메서드설명
/api/instancesGET상태와 함께 모든 인스턴스 목록
/api/statsGET모든 인스턴스의 병합된 통계
/api/requestsGET모든 인스턴스의 인터리브 요청 로그
/api/intel/whitelistPOST모든 인스턴스에 IP 허용 목록 추가
/api/intel/blocklistPOST모든 인스턴스에 IP 차단 목록 추가
/api/intel/blocklistDELETE모든 인스턴스에서 IP 차단 해제
/ws/eventsWS모든 인스턴스의 멀티플렉스 라이브 이벤트
볼륨목적
./config설정 파일 (읽기 전용 마운트)
./examplesC2 프로필 (읽기 전용 마운트)
./rules수집된 차단 목록 및 규칙 소스 파일 (읽기 전용 마운트)
./dataSQLite 데이터베이스 (영구 저장)
certsTLS 인증서 (프록시와 certbot 간 공유)
geoipGeoLite2 데이터베이스 (geoip-update 서비스가 채움)
pwndrop-dataPwnDrop 업로드 파일 및 데이터베이스
기능RedWardenInfraGuard
아키텍처단일 ~99KB 파일모듈식 패키지
프로필 파싱정규식 상태 머신전체 블록/변환 지원이 포함된 구조적 파서
C2 지원Cobalt Strike만 지원Cobalt Strike, Mythic, Brute Ratel C4, Sliver, Havoc, Nighthawk, PoshC2
프로토콜HTTP만HTTP, DNS, MQTT, WebSocket
필터 모델이진 통과/실패점수 기반 (0.0-1.0 임계값), 10개 필터 체인
TLS 핑거프린팅없음JA3 차단 (Masscan, ZGrab2, Shodan, curl, Python requests, Nmap)
샌드박스 탐지없음헤드리스 브라우저 / Safe Links / 샌드박스 UA 및 헤더 점수화
열거 탐지없음경로 열거 + DNS NXDOMAIN 추적 및 자동 차단
번 탐지없음CT 로그 모니터링, 도메인 평판 (URLhaus/OpenPhish/GSB), 교차 도메인 분석가 탐지
페이로드 전달없음PwnDrop, Mythic 파일 저장소, 파일 시스템, 조건부 전달이 포함된 HTTP 프록시
페이로드 보호없음일회성 토큰, 경로별 속도 제한, 전달 가드 (환경 키잉)
피싱 보호없음캠페인 토큰 검증 (정적 목록 또는 HMAC 서명)
운영자 UI없음웹 대시보드 + 터미널 UI + 다중 인스턴스 Command Post
설정 생성없음Nginx, Caddy, Apache (전체 맞춤 설정 지원)
규칙 수집없음.htaccess + robots.txt 파서
위협 인텔 피드없음5개 공개 소스에서 자동 업데이트
플러그인 시스템기본 4-메서드 인터페이스이벤트 기반 (on_event 후크 + 플러그인별 설정)
SIEM 통합없음Elasticsearch, Wazuh, Syslog (CEF/JSON)
웹훅 알림없음Discord, Slack, 일반 웹훅 (번 알림이 동일한 플러그인을 통해 전달)
허용 목록 인텔리전스없음시작 시 CIDR을 ASN/조직/국가로 자동 강화
안티 리플레이SQLite 해시인메모리 L1 캐시가 포함된 영구 SQLite, 재시작에도 유지
드롭 액션redirect, reset, proxyredirect, reset, proxy, tarpit
TLS 관리수동만자체 서명 자동 + Let's Encrypt 통합
엣지 배포없음도메인 프론팅이 포함된 Cloudflare Worker + AWS Lambda 엣지 프록시
배포수동헬스 체크가 포함된 Docker Compose
로깅사용자 정의 색상 출력구조적 JSON (structlog)
비동기Tornado 콜백네이티브 async/await (ASGI + uvicorn)