Prowler: A Powerful Distributed Network Vulnerability Scanner

Prowler: A Powerful Distributed Network Vulnerability Scanner

Prowler: A Powerful Distributed Network Vulnerability Scanner

About Prowler

Prowler is a powerful distributed network vulnerability scanner that can operate on a Raspberry Pi cluster. With this tool, researchers can easily perform security scans on target networks, collect device fingerprints, view open ports and common services, and conduct regular security vulnerability scans, among other tasks.

Features

The current version of Prowler supports the following network security functions:
1. Scan all IP addresses related to active network devices in a network (a specific subnet or list of IP addresses);
2. Use fingerprints to identify the type of target device;
3. Scan and determine any open ports on the target device;
4. Associate ports with common services;
5. Test devices using vendor default manual data and identify common credentials;
6. Alert users to discovered security vulnerabilities through a dashboard;

Hardware Requirements

1. Raspberry Pi cluster HAT (Pi Zero W * 4);
2. Raspberry Pi 3;
3. There must be devices connected to the target network;
Prowler: A Powerful Distributed Network Vulnerability Scanner
Prowler: A Powerful Distributed Network Vulnerability Scanner
Prowler: A Powerful Distributed Network Vulnerability Scanner

Software Stack

1. Raspbian Stretch;
2. Raspbian Stretch Lite;
3. Python 3;
4. Required Python dependencies (see requirements.txt);
5. Ansible (for managing the entire cluster);
Prowler: A Powerful Distributed Network Vulnerability Scanner

Python Dependencies

dispy
python-libnmap
paramiko
eel
rabbitmq

Tool Deployment

Since this tool is developed based on Python 3, we first need to install and configure the Python 3 environment on the controller Raspberry Pi.
First, researchers can use the following command to clone the project source code to their local machine (Raspberry Pi):
git clone https://github.com/tlkh/prowler.git

(Swipe right to see more)
Next, switch to the project directory and use the pip3 command along with the provided requirements.txt file to install the additional dependencies required for the tool on the controller Raspberry Pi:
cd prowler/sudo pip3 install -r requirements.txt

(Swipe right to see more)
Then run the following command to install the necessary code packages on all working nodes:
ansible-playbook playbooks/setup_node.yml
Use the following command to clone the Prowler and dispy codebases to all working nodes:
ansible-playbook playbooks/clone_repos.yml
On the controller Raspberry Pi, run the following command to ensure all Pi Zeros have successfully started:
clusterhat on
Finally, run the following command on the controller Raspberry Pi to start Prowler:
python3 cluster.py
If you want to modify the range of IP addresses to scan, you can directly modify the corresponding content in the cluster.py file:
test_range = []    for i in range(0, 1):         for j in range(100, 200):            test_range.append("172.22." + str(i) + "." + str(j))
(Swipe right to see more)

Tool Usage Examples

To execute SSH commands on multiple devices, please install pssh:
pssh -h pssh-hosts -l username -A -i "command"
(Swipe right to see more)
Create a cluster (in the compute.py file):
cluster = dispy.JobCluster(compute, nodes='pi0_ip', ip_addr='pi3_ip')
(Swipe right to see more)
Check network connectivity:
ansible all -m pingping p1.local -c 1 && ping p2.local -c 1 && ping p3.local -c 1 && ping p4.local -c 1
(Swipe right to see more)
Device temperature detection:
/opt/vc/bin/vcgencmd measure_temp && pssh -h workers -l pi -A -i "/opt/vc/bin/vcgencmd measure_temp" | grep temp
(Swipe right to see more)

Tool Running Screenshots

Dashboard:
Prowler: A Powerful Distributed Network Vulnerability Scanner
Scanning Monitor:
Prowler: A Powerful Distributed Network Vulnerability Scanner
RPI Monitor:
Prowler: A Powerful Distributed Network Vulnerability Scanner
Command Line Terminal:
Prowler: A Powerful Distributed Network Vulnerability Scanner
iPad Monitor:
Prowler: A Powerful Distributed Network Vulnerability Scanner

License Agreement

This project is developed and released under the MIT open source license agreement.

Project Address

Prowler: https://github.com/tlkh/prowler

FreeBuf fan group is recruiting!

Here, expand the boundaries of cybersecurity

Security construction materials from Party A;

Latest technical concepts from Party B;

Global latest cybersecurity news;

Various lottery events will be held irregularly in the group;

FreeBuf blind boxes, elephant dolls……

Scan the code to add the little bee WeChat and reply “join group” to apply for group chat

Prowler: A Powerful Distributed Network Vulnerability Scanner

Prowler: A Powerful Distributed Network Vulnerability Scanner
Prowler: A Powerful Distributed Network Vulnerability Scanner
https://github.com/tlkh/prowler-dashboard
https://clusterhat.com/setup-software
http://dispy.sourceforge.net/
https://github.com/tlkh/prowler-dashboard
https://www.rabbitmq.com/
https://clusterhat.com/
https://tlkh.github.io/prowler/

Prowler: A Powerful Distributed Network Vulnerability Scanner

Prowler: A Powerful Distributed Network Vulnerability ScannerProwler: A Powerful Distributed Network Vulnerability ScannerProwler: A Powerful Distributed Network Vulnerability Scanner

Prowler: A Powerful Distributed Network Vulnerability Scanner

Leave a Comment

Your email address will not be published. Required fields are marked *