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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
scada-scanner — 고성능 비동기 SCADA/ICS 스캐너 | Kitploit
도구/GitHubGitHub/geeknik/scada-scanner
ReconnaissanceVulnerability ScannersNetwork MappingPort ScanningVulnerability AnalysisSCADA/ICS SecurityInformation GatheringNetwork SecurityPenetration Testing
GitHubgeeknik/scada-scanner

scada-scanner

고성능 비동기 SCADA/ICS 스캐너

1638개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기웹사이트

SCADA 스캐너 및 핑거프린터

개요

네트워크 전반의 산업 제어 시스템을 식별하고 핑거프린팅하기 위한 고성능 비동기 SCADA/ICS 스캐너입니다. 취약점을 탐지하고 공급업체/제품을 식별하며 종합적인 위험 보고서를 생성합니다.

경고: 승인된 보안 평가에만 사용하세요. 무단 스캐닝은 법률 및 규정을 위반할 수 있습니다.

기능

핵심 기능

  • CIDR 범위 또는 개별 대상에 대한 고속 비동기 스캐닝
  • 주요 산업용 프로토콜 탐지 (Modbus, S7, DNP3, BACnet, EtherNet/IP 등)
  • 공급업체, 제품, 버전 식별을 포함한 장치 핑거프린팅
  • 실제 CVE 및 익스플로잇과의 취약점 연관 분석
  • 위험 점수 산정 및 평가

기술적 특징

  • 구성 가능한 동시성을 갖춘 멀티스레드 아키텍처
  • 전역 요청 상한을 준수하는 토큰 버킷 속도 제한
  • 속도 제한 및 호스트별 연결 제어
  • 프로토콜별 프로브를 통한 동작 기반 핑거프린팅
  • 탐지에 대한 증거 추적이 포함된 포트 인지 프로토콜 휴리스틱
  • 상세 로깅 및 종합적인 JSON/CSV 보고서

지원 프로토콜

  • Modbus TCP
  • Siemens S7
  • DNP3
  • BACnet
  • EtherNet/IP
  • IEC 60870-5-104
  • OPC UA
  • CODESYS
  • 기타 다수

설치

사전 요구 사항

  • Python 3.7+
  • Linux/macOS/Windows

설정

root@kitploit:~
# Clone the repository
git clone https://github.com/geeknik/scada-scanner.git
cd scada-scanner

# Install dependencies
pip install -r requirements.txt

사용법

기본 사용법

root@kitploit:~
# Single target scan
python scada_scanner.py -t 192.168.1.100 -o results.json

# CIDR range scan
python scada_scanner.py -c 192.168.1.0/24 -o results.json

# Multiple CIDR ranges from file
python scada_scanner.py -f networks.txt -o results.json

# Export CSV instead of JSON
python scada_scanner.py -t 192.168.1.100 --format csv -o results.csv

# Respect an exclude list
python scada_scanner.py -c 10.0.0.0/24 --exclude exclude.txt

# Highlight unexpected protocol/port combos (logged and in findings)
python scada_scanner.py -t 203.0.113.10 -o results.json

# Enable live vuln enrichment via ProjectDiscovery vulnx (requires vulnx + PDCP API key)
vulnx auth
python scada_scanner.py -t 192.168.1.100 --vulnx --vulnx-limit 3

명령줄 옵션

root@kitploit:~
Required arguments (one of):
  -t, --target            Single target IP address
  -c, --cidr              CIDR range to scan (e.g., 192.168.1.0/24)
  -f, --cidr-file         File containing CIDR ranges (one per line)

Optional arguments:
  -o, --output            Output file (default: scan_results.json)
  -r, --rate              Max requests per second (default: 10.0)
  --timeout               Connection timeout in seconds (default: 5)
  --max-concurrent        Maximum concurrent connections (default: 50)
  --safe-mode             Enable safe mode (non-intrusive scans only)
  --exclude               File containing IPs to exclude from scan
  -v, --verbosity         Verbosity level: 0=quiet, 1=normal, 2=debug
  --format                Output format: json or csv (default: json)

안전 모드와 표준 모드

안전 모드

  • 비침습적 프로브만 사용
  • 대상 시스템에 미치는 영향 최소화
  • 프로덕션 환경에 권장
  • --safe-mode 플래그로 활성화

표준 모드

  • 보다 공격적인 프로빙 기술 사용
  • IDS/IPS 경보를 트리거할 수 있음
  • 민감한 시스템에 영향을 줄 수 있음
  • 프로덕션 환경에서 주의해서 사용

보고서 예시

root@kitploit:~
{
  "scan_summary": {
    "timestamp": "2025-02-27T14:02:33.456789",
    "total_hosts_scanned": 256,
    "hosts_with_scada": 12,
    "total_vulnerabilities": 37,
    "high_risk_hosts": 5
  },
  "hosts": [
    {
      "ip": "192.168.1.100",
      "ports": [
        {
          "port": 502,
          "protocol": "MODBUS",
          "fingerprint": {
            "vendor": "Schneider",
            "product": "M340",
            "version": "2.6.0",
            "risk_score": 0.75,
            "evidence": [
              "response:00010000000101",
              "port_hint:502"
            ],
            "findings": [
              "Detected MODBUS protocol (confidence: 0.55)",
              "Identified vendor: SCHNEIDER, product: M340",
              "Overall risk assessment: High (score: 0.75)"
            ],
            "unexpected_port": false
          }
        }
      ],
      "vulnerabilities": [
        {
          "cve_id": "CVE-2025-55221",
          "description": "Socomec DIRIS Digiware M-70 DoS via crafted Modbus TCP/RTU over TCP packets",
          "severity": "high",
          "source": "local_db"
        }
      ]
    }
  ]
}

윤리적 고려 사항

법적 준수

이 도구는 승인된 보안 평가만을 위한 것입니다. 무단 스캐닝은 다음을 위반할 수 있습니다:

  • 컴퓨터 사기 및 남용법 (미국)
  • 컴퓨터 남용법 (영국)
  • 다른 관할권의 유사 법률

모범 사례

  • 스캔 전에 항상 서면 허가를 받을 것
  • 가능하면 안전 모드를 사용할 것
  • 가능하면 유지보수 시간대에 스캔할 것
  • DoS 상황을 피하기 위해 속도 제한을 준수할 것
  • 산업 시스템의 취약성을 고려할 것

취약점 인텔리전스

스캐너는 핵심 프로토콜에 대한 소규모 내장 취약점 데이터베이스(VULNERABILITY_DATABASE)와 함께 제공됩니다. 더 최신 정보를 원하면 선택적 ProjectDiscovery vulnx 통합을 활성화할 수 있습니다:

  1. vulnx를 설치하고 PDCP API 키(vulnx auth)를 구성합니다.
  2. --vulnx 옵션으로 실행합니다(선택적으로 --vulnx-limit 및 --vulnx-timeout 조정).
  3. vulnx의 취약점은 로컬 결과와 병합되며 source: "vulnx"로 표시됩니다.

vulnx가 없거나 연결할 수 없으면 스캐너는 자동으로 로컬 데이터베이스로 대체됩니다. 로컬 데이터베이스 항목은 핵심 프로토콜에 대한 vulnx 검색 결과(이 저장소 스냅샷에 포함)에서 주기적으로 새로 고쳐지며 source: "local_db"로 태그가 지정됩니다.

테스트

단위 테스트 스위트를 실행합니다:

root@kitploit:~
pytest

개발자 문서

새 프로토콜 추가

스캐너는 모듈식으로 설계되어 새 프로토콜 지원을 쉽게 추가할 수 있습니다:

  1. 프로토콜 세부 정보를 SCADA_PORTS 목록에 추가
  2. 서명 패턴을 PROTOCOL_SIGNATURES 사전에 추가
  3. 프로토콜별 프로브 및 분석기 함수 생성
  4. VULNERABILITY_DATABASE에 취약점 정보 추가

기여

기여를 환영합니다! 다음 단계를 따르세요:

  1. 저장소를 포크합니다
  2. 기능 브랜치를 생성합니다 (git checkout -b feature/amazing-feature)
  3. 변경 사항을 커밋합니다 (git commit -m 'Add amazing feature')
  4. 브랜치에 푸시합니다 (git push origin feature/amazing-feature)
  5. Pull Request를 엽니다

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.

면책 조항

본 소프트웨어는 "있는 그대로" 제공되며, 명시적이든 묵시적이든 어떠한 종류의 보증도 없습니다. 작성자는 본 소프트웨어 사용으로 인해 발생하는 모든 손해 또는 손실에 대한 책임을 부인합니다.

도구 다운로드