Kali Linux

HikPwn : Simple Scanner For Hikvision Devices With Basic Vulnerability Scanning

HikPwn: Comprehensive Guide to Scanning Hikvision Devices for Vulnerabilities

If you’re searching for an efficient way to discover and test Hikvision network devices for vulnerabilities, HikPwn is a standout tool for both security researchers and network administrators. This guide provides a detailed walkthrough of HikPwn > its core features, installation, setup, and utilization.


What is HikPwn?

HikPwn is a Python-based scanner specifically designed for Hikvision devices, offering both passive and active network enumeration. Written in Python 3.8, it provides basic vulnerability scanning capabilities, notably for the widely-known ICSA-17-124-01 vulnerability, which may grant admin-level access if exploited successfully. HikPwn is an open-source project intended for educational and security testing purposes only.


Key Features of HikPwn

  • Passive Discovery: Detects Hikvision devices by monitoring network traffic unobtrusively.
  • Active Enumeration: Uses UDP UPNP probing to actively locate and enumerate device details.
  • Vulnerability Detection: Identifies and can exploit ICSA-17-124-01 (admin access) with options for post-exploitation, like password changes.
  • Data Logging: Automatically saves all enumerated information to a log file for easy review.
  • Efficient and Lightweight: Tested on Python 3.8 under Linux 4.19 x86_64.

Note: Upcoming features include support for direct target scanning and detection of CVE-2021-36260.


Complete Installation & Setup Instructions

1. Prerequisites

  • Python 3.8 (recommended environment)
  • Linux system (tested on Linux 4.19 x86_64)
  • Git and pip installed

2. Clone the GitHub Repository

git clone https://github.com/4n4nk3/HikPwn.git
cd HikPwn

3. Install Dependencies

Install all required Python packages using pip:

pip install -r requirements.txt

If you encounter permissions issues, run the command with sudo.


Using HikPwn: Step-By-Step

HikPwn offers both passive and active scanning with simple command-line options:

General Usage

 python3 hikpwn.py --interface <INTERFACE> --address <IP_ADDRESS> [--active] [--ICSA_17_124_01]

Optional Arguments Breakdown

ArgumentDescription
--interface INTERFACENetwork interface to use (e.g., eth0)
--address ADDRESSIP address of selected interface
--activeEnable active device discovery
--ICSA_17_124_01Enable ICSA-17-124-01 vulnerability detection
-h, --helpShow help message and exit

Typical Workflow Example

  1. Start Passive & Active Discovery python3 hikpwn.py --interface eth0 --address 192.168.1.10 --active
  2. Scan for Vulnerabilities (ICSA-17-124-01) python3 hikpwn.py --interface eth0 --address 192.168.1.10 --ICSA_17_124_01

Results are automatically saved to ./log.txt for later review.


Sample Output Preview

Using eth0 as network interface and 192.168.1.10 as its IP address...
[*] Started 30 seconds of both passive and active discovery...
================================================================================
[*] Total detected devices: 1
192.168.1.20
================================================================================
[*] Active discovery's results:
DEVICE #1:
----------------------------------------------
Serial Number: xxxxxxxxxxxxxxxxxxxxx
Description: DS-2DE4220IW-D
MAC: XX:XX:XX:XX:XX:XX
IP: 192.168.1.20
DHCP in use: false
Software Version: V5.4.3 build 160810
DSP Version: V7.3 build 160801
Boot Time: 2019-03-01 00:05:33
Activation Status: true
Password Reset Ability: true
================================================================================
[*] Passive discovery's results:
DEVICE #1: Detected device with IP address 192.168.1.20 and MAC address XX:XX:XX:XX:XX:XX.
================================================================================
[*] Starting scan for ICSA-17-124-01...
192.168.1.20 is vulnerable to ICSA_17_124_01. Recovered user list:
user_id: 1, user_name: admin, priority: high, user_level: Administrator
Do you want to exploit the vulnerability and try to change admin's password? (y/n)
>>> y
Enter a password composed of numbers and letters (8-12 characters):
>>>
Password change successful.

Important Security Disclaimer

HikPwn is for educational and authorized security testing only. Do not use this tool for unauthorized scanning or exploitation of networks and devices. Misuse may be illegal and unethical.

R K

Recent Posts

How AI Puts Data Security at Risk

Artificial Intelligence (AI) is changing how industries operate, automating processes, and driving new innovations. However,…

21 hours ago

The Evolution of Cloud Technology: Where We Started and Where We’re Headed

Image credit:pexels.com If you think back to the early days of personal computing, you probably…

5 days ago

The Evolution of Online Finance Tools In a Tech-Driven World

In an era defined by technological innovation, the way people handle and understand money has…

5 days ago

A Complete Guide to Lenso.ai and Its Reverse Image Search Capabilities

The online world becomes more visually driven with every passing year. Images spread across websites,…

6 days ago

How Web Application Firewalls (WAFs) Work

General Working of a Web Application Firewall (WAF) A Web Application Firewall (WAF) acts as…

1 month ago

How to Send POST Requests Using curl in Linux

How to Send POST Requests Using curl in Linux If you work with APIs, servers,…

1 month ago