
HIKRAVEN - 전문 침투 테스트를 위한 고급 Hikvision 보안 평가 플랫폼. CVE-2021-36260(CRITICAL)을 포함한 12개 이상의 CVE를 탐지하고, 기본 자격 증명을 테스트하며, 네트워크 검색을 수행하고, 전문 보안 보고서를 생성합니다. 승인된 보안 테스트 전용입니다! 🛡️🔒
고급 Hikvision 보안 평가 플랫폼 - 전문가용 에디션
기능 • 빠른 시작 • 설치 • 사용법 • 문서 • 면책 조항
⚠️ 중요 법적 고지
[!] 이 도구는 공인된 보안 테스트 전용입니다 [!]
컴퓨터 시스템에 대한 무단 접근은 불법이며 비윤리적입니다.
이 도구를 사용함으로써 귀하는 다음 사항에 동의하게 됩니다:
· 소유하고 있거나 명시적인 서면 허가를 받은 시스템만 테스트할 것 · 모든 관련 법률 및 규정을 준수할 것 · 발견 사항을 책임감 있게 사용하고 취약점을 윤리적으로 보고할 것 · 귀하의 행동에 대한 모든 법적 책임을 수용할 것
📋 목차
· 개요 · 기능 · 설치 · 빠른 시작 · 사용 가이드 · 명령어 참조 · 보고 · 탐지된 취약점 · 아키텍처 · 구성 · 기여 · 면책 조항 · 라이선스
🔍 개요
HIKRAVEN은 Hikvision 장치의 취약점을 식별하고 분석하기 위해 특별히 설계된 전문가급 보안 평가 플랫폼입니다. 보안 연구원, 침투 테스터 및 IT 보안 전문가를 위해 제작되었습니다. 포괄적인 네트워크 탐지, 취약점 스캔 및 보고 기능을 제공합니다.
주요 기능
기능 설명 🔎 탐지 ARP 스니핑, 멀티캐스트 프로빙 및 포트 스캔을 통한 수동 및 능동 네트워크 탐지 🎯 핑거프린팅 모델, 펌웨어, 일련 번호 및 클라우드 상태를 포함한 상세 장치 식별 🛡️ 취약점 스캔 치명적인 명령 주입 취약점을 포함한 12개 이상의 알려진 CVE 탐지 🔑 자격 증명 테스트 40개 이상의 기본 사용자 이름/비밀번호 조합 자동 테스트 💥 익스플로잇 공인된 침투 테스트를 위한 안전하고 통제된 익스플로잇 테스트 📊 보고 JSON, HTML, CSV 및 Markdown 형식의 전문 보고서 🗄️ 데이터베이스 자격 증명 및 스캔 기록에 대한 암호화를 지원하는 영구 저장소
✨ 기능
🚀 탐지 및 정찰
· 수동 ARP 스니핑 - 능동 스캔 없이 Hikvision 장치 탐지 · 멀티캐스트 프로빙 - UDP 멀티캐스트(239.255.255.250:37020)를 통한 장치 탐지 · 서브넷 스캔 - 전체 서브넷에 대한 핑 스윕 및 포트 스캔 · MAC OUI 탐지 - MAC 주소 접두사로 Hikvision 장치 식별 · 인터페이스 관리 - 크로스 플랫폼 호환 다중 인터페이스 지원 · 역방향 DNS - 자동 호스트 이름 확인
🛡️ 취약점 평가
· 12개 이상의 CVE 시그니처 - 다음을 포함한 포괄적인 취약점 데이터베이스: · CVE-2021-36260 (명령 주입 - 치명적) · CVE-2017-7923 (인증 우회 - 높음) · CVE-2019-11376 (정보 공개 - 높음) · 그 외 다수... · 기본 자격 증명 테스트 - 40개 이상의 일반적인 사용자 이름/비밀번호 조합 · 웹 인터페이스 분석 - 웹 인터페이스에서 장치 정보 추출 · 클라우드 관리 탐지 - Hik-Connect 지원 장치 식별 · 위험 점수 - 자동 위협 수준 계산 (정보 → 치명적)
💣 익스플로잇 (공인된 사용 전용)
· CVE-2021-36260 - 안전 모드가 포함된 명령 주입 익스플로잇 · CVE-2017-7923 - 인증 우회 및 비밀번호 재설정 · 안전 모드 - 비파괴적 테스트 옵션 · 증거 수집 - 개념 증명 캡처
📊 전문 보고
형식 용도 기능 HTML 경영진 보고서 대화형, 스타일링, 장치 카드, 심각도 색상 JSON API 통합 기계 판독 가능, 구조화, 완전한 데이터 세트 CSV 스프레드시트 분석 Excel 호환, 피벗 테이블 준비 Markdown 문서화 읽기 쉬움, 버전 관리 친화적
🗄️ 데이터베이스 및 관리
· SQLite 저장소 - 경량, 휴대용 데이터베이스 · 암호화된 자격 증명 - 민감한 데이터를 위한 AES-256 암호화 · 스캔 기록 - 모든 스캔의 완전한 감사 추적 · 자동 백업 - 데이터베이스 순환 및 압축 · 장치 핑거프린팅 - 중복 방지를 위한 고유 식별자
📦 설치
사전 요구 사항
Python 3.8 이상
pip (Python 패키지 관리자)
빠른 설치
# 저장소 복제
git clone https://github.com/SYLHETYHACKVENGER/HIKRAVEN
cd HIKRAVEN
# 의존성 설치
pip install -r requirements.txt
# 설치 확인
python hikraven.py --version
의존성
requests>=2.31.0
scapy>=2.5.0
lxml>=4.9.0
cryptography>=41.0.0
colorama>=0.4.6
pyyaml>=6.0
tqdm>=4.66.0
packaging>=23.1
rich>=13.5.0
netifaces>=0.11.0
psutil>=5.9.5
플랫폼별 참고 사항
Linux/Unix:
# 패킷 캡처를 위해 루트 권한이 필요할 수 있음
sudo python hikraven.py --interface eth0
# 추가 의존성 설치
sudo apt-get install python3-scapy
Windows:
# 패킷 캡처를 위해 관리자 권한으로 실행
python hikraven.py --interface "Ethernet"
# 패킷 캡처를 위해 Npcap 설치
# 다운로드: https://npcap.com/
macOS:
# 패킷 캡처를 위해 sudo가 필요할 수 있음
sudo python hikraven.py --interface en0
🚀 빠른 시작
# 인터페이스 자동 감지 및 로컬 네트워크 스캔
python hikraven.py --auto-detect
# 특정 서브넷 스캔
python hikraven.py --subnet 192.168.1.0/24
# 보고가 포함된 완전한 취약점 스캔
python hikraven.py --interface eth0 --subnet 192.168.1.0/24 --vuln-scan --report html
# 속도 제한이 있는 저프로파일 스캔
python hikraven.py --interface eth0 --stealth --passive
# 안전한 익스플로잇 테스트
python hikraven.py --subnet 192.168.1.0/24 --vuln-scan --exploit
📖 사용 가이드
명령줄 옵션
옵션 약어 설명 --interface -i 네트워크 인터페이스 (예: eth0, wlan0) --address -a 인터페이스의 IP 주소 --auto-detect -D 네트워크 인터페이스 자동 감지 --list-interfaces -L 사용 가능한 네트워크 인터페이스 나열 --passive -p 수동 탐지만 수행 (ARP 스니핑) --active -A 능동 탐지 (핑 스캔, 포트 스캔) --subnet -s 스캔할 서브넷 (예: 192.168.1.0/24) --vuln-scan -v 취약점 스캔 수행 --exploit -e 익스플로잇 시도 (위험!) --report -r 보고서 형식 생성 --output -o 보고서 출력 디렉터리 --stealth 스텔스 모드 활성화 --threads -t 스레드 수 (기본값: 100) --timeout 네트워크 타임아웃(초) (기본값: 10) --config -c 구성 파일 경로 --verbose -V 상세 출력 --quiet -q 조용한 모드 --version 버전 표시
예시
python hikraven.py --list-interfaces
# 능동 스캔 없이 장치 탐지
python hikraven.py --interface wlan0 --passive --verbose
# 모든 기능을 갖춘 완전한 스캔
python hikraven.py --interface eth0 --subnet 10.0.0.0/24 --vuln-scan --report all
# 보고서를 사용자 지정 위치에 저장
python hikraven.py --subnet 192.168.1.0/24 --vuln-scan --output /home/user/security-reports
# 고성능 스캔
python hikraven.py --subnet 192.168.1.0/24 --threads 200 --timeout 5
# 보수적 스캔
python hikraven.py --subnet 192.168.1.0/24 --threads 20 --timeout 20 --stealth
📊 보고
보고서 생성
# 모든 보고서 형식 생성
python hikraven.py --subnet 192.168.1.0/24 --vuln-scan --report all
# 특정 형식 생성
python hikraven.py --subnet 192.168.1.0/24 --vuln-scan --report html
python hikraven.py --subnet 192.168.1.0/24 --vuln-scan --report json
보고서 내용
경영진 요약
· 탐지된 총 장치 수 · 취약한 장치 수 · 발견된 총 취약점 수 · 심각도 분포 · 위험 점수 개요
장치 인벤토리
· IP 및 MAC 주소 · 장치 모델 및 제조업체 · 펌웨어 및 소프트웨어 버전 · 일련 번호 · 열린 포트 및 서비스 · 클라우드 관리 상태 · 위협 수준 평가
취약점 세부 정보
· CVE 식별자 · CVSS 점수 · 심각도 등급 · 설명 · 영향을 받는 장치 · 개념 증명 · 수정 권장 사항
🛡️ 탐지된 취약점
CVE ID 심각도 CVSS 설명 범주 CVE-2021-36260 치명적 9.8 웹 인터페이스의 명령 주입 RCE CVE-2017-2824 치명적 9.8 원격 코드 실행 취약점 RCE CVE-2017-7923 높음 7.5 인증 우회 취약점 인증 우회 CVE-2019-11376 높음 7.8 정보 공개 취약점 정보 공개 CVE-2017-7925 높음 7.5 부적절한 인증을 통한 인증 우회 인증 우회 CVE-2021-36261 높음 7.8 정보 공개 취약점 정보 공개 CVE-2023-28807 높음 7.5 보안 구성 공개 정보 공개 CVE-2014-4880 높음 7.5 백도어 계정 취약점 백도어 CVE-2022-28179 높음 7.5 버퍼 오버플로 취약점 메모리 손상 CVE-2018-10321 중간 6.5 정보 공개 취약점 정보 공개 CVE-2020-36208 중간 6.5 명령 주입 취약점 RCE CVE-2022-28174 중간 6.1 정보 공개 취약점 정보 공개
테스트된 기본 자격 증명
이 도구는 다음을 포함한 40개 이상의 일반적인 자격 증명 조합을 자동으로 테스트합니다:
· admin:12345, admin:123456, admin:hikvision · admin:password, admin:admin, admin:hik12345 · root:12345, root:password, root:admin · user:12345, user:password, guest:guest · 그 외 다수...
🏗️ 아키텍처
┌─────────────────────────────────────────────────────────────────┐
│ HIKRAVEN Architecture │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Interface │ │ Discovery │ │Vulnerability│ │
│ │ Manager │───▶│ Engine │───▶│ Scanner │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ ARP │ │ Passive │ │ CVE │ │
│ │ Sniffing │ │ Discovery │ │ Detection │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │Exploitation │ │ Report │ │ Database │ │
│ │ Engine │───▶│ Generator │───▶│ Manager │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Plugin System │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
핵심 구성 요소
⚙️ 구성
구성 파일 (config.yaml)
version: 5.1.0
general:
name: HIKRAVEN
company: Security Research Team
interface:
auto_detect: true
preferred_interface: null
scan_timeout: 5
promiscuous: false
scan:
max_threads: 100
timeout: 10
rate_limit: 20
stealth_mode: false
max_retries: 3
discovery:
passive_timeout: 30
use_arp: true
use_multicast: true
use_port_scan: true
use_ping_scan: true
ports:
- 80
- 443
- 554
- 8000
- 37020
- 8443
- 37777
- 37778
vulnerability:
enabled: true
check_default_creds: true
timeout_per_check: 5
max_checks_per_device: 20
reporting:
formats:
- json
- html
- csv
output_dir: reports
compress: false
database:
path: hikraven.db
encrypt_credentials: true
max_size_mb: 100
logging:
level: INFO
file: hikraven.log
console_output: true
🔧 고급 사용법
플러그인 개발
plugins/ 디렉터리에 사용자 지정 플러그인 생성:
# plugins/example_plugin.py
class Plugin:
def pre_scan(self, scan_type, subnet):
"""Execute before scan starts"""
pass
def post_scan(self, results):
"""Execute after scan completes"""
pass
def on_device_discovered(self, device):
"""Called when a device is discovered"""
pass
API 통합
# Example of programmatic usage
import asyncio
from hikraven import HikRaven
async def custom_scan():
app = HikRaven()
app.initialize(interface='eth0')
results = await app.run_scan(
scan_type='active',
subnet='192.168.1.0/24',
vuln_scan=True
)
for device in results.devices:
print(f"{device.ip_address}: {device.get_vulnerability_count()} vulns")
app.generate_reports(['json', 'html'])
asyncio.run(custom_scan())
CI/CD 통합
# .github/workflows/security-scan.yml
name: Security Scan
on: [push]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run HIKRAVEN
run: |
python hikraven.py --subnet 192.168.1.0/24 --vuln-scan --report json
- name: Upload Reports
uses: actions/upload-artifact@v3
with:
name: security-reports
path: reports/
📈 성능
벤치마크 결과
구성 탐지 시간 스캔 시간 메모리 사용량 /24 서브넷, 100 스레드 45초 2분 30초 ~150MB /24 서브넷, 200 스레드 25초 1분 20초 ~250MB 수동 전용 30초 30초 ~50MB 스텔스 모드 5분 8분 ~100MB
최적화 팁
🤝 기여
기여 방법
개발 환경 설정
# 저장소 복제
git clone https://github.com/SYLHETYHACKVENGER/HIKRAVEN
cd HIKRAVEN
# 가상 환경 생성
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 개발 의존성 설치
pip install -r requirements-dev.txt
# 테스트 실행
pytest
# 린터 실행
flake8 hikraven.py
지침
· PEP 8 스타일 가이드 준수 · 포괄적인 docstring 작성 · 새 기능에 대한 단위 테스트 추가 · 문서 업데이트 · 성능 고려
📝 면책 조항
[!] 중요 법적 면책 조항 [!]
이 소프트웨어는 교육 및 연구 목적으로만 제공됩니다.
사용 약관
금지된 사용
· ❌ 컴퓨터 시스템에 대한 무단 접근 · ❌ 악의적인 해킹 또는 사이버 공격 · ❌ 데이터 도용 또는 무단 데이터 접근 · ❌ 서비스 방해 · ❌ 불법 또는 비윤리적인 활동
책임 있는 공개
이 도구를 사용하여 취약점을 발견한 경우:
📄 라이선스
HIKRAVEN - Advanced Hikvision Security Assessment Framework
Copyright (c) 2024
This software is licensed for EDUCATIONAL and RESEARCH use only.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software for educational and research purposes, subject to the following
conditions:
1. The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
2. Any use of the Software must be for educational or research purposes only.
3. Commercial use of the Software is strictly prohibited without prior
written permission from the authors.
4. The authors assume no responsibility for any use of the Software, legal
or otherwise.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
📞 연락처 및 지원
저자
· SYLHETYHACKVENGER (THE-ERROR808) · GitHub: @THE-ERROR808
문제 보고
· GitHub Issues: 이슈 생성 · 보안 문제: 책임감 있게 보고해 주세요
🙏 감사의 말
· 보안 연구 커뮤니티 · CVE 데이터베이스 기여자 · 오픈소스 라이브러리 개발자 · 침투 테스트 커뮤니티
📊 프로젝트 통계
보안 연구 커뮤니티를 위해 ❤️로 제작됨
⬆ 맨 위로