prowler: Distributed Network Vulnerability Scanner

prowler

Prowler

Prowler is a Network Vulnerability Scanner implemented on a Raspberry Pi Cluster, first developed during Singapore Infosec Community Hackathon – HackSmith v1.0.

prowler

Capabilities

  • Scan a network (a particular subnet or a list of IP addresses) for all IP addresses associated with active network devices
  • Determine the type of devices using fingerprinting
  • Determine if there are any open ports on the device
  • Associate the ports with common services
  • Test devices against a dictionary of factory default and common credentials
  • Notify users of security vulnerabilities through a dashboardDashboard tour

Hardware

  • Raspberry Pi Cluster HAT (with 4 * Pi Zero W)
  • Raspberry Pi 3
  • Networking device

Software Stack

  • Raspbian Stretch (Controller Pi)
  • Raspbian Stretch Lite (Worker Pi Zero)
  • Note: For ease of setup, use the images provided by Cluster Hat! Instructions
  • Python 3 (not tested on Python 2)
  • Python packages see requirements.txt
  • Ansible for managing the cluster as a whole (/playbooks)

Installation

  1. Clone the git repository: git clone https://github.com/tlkh/prowler.git
  2. Install dependencies by running sudo pip3 install -r requirements.txt on the controller Pi
  3. Run ansible-playbook playbooks/setup_node.yml to install the required packages on worker nodes.
  4. Clone the prowler and dispy repositories to the worker nodes using ansible-playbook playbooks/clone_repos.yml
  5. Run clusterhat on on the controller Pi to ensure that all Pi Zeros are powered up.
  6. Run python3 cluster.py on the controller Pi to start Prowler

To edit the range of IP addresses being scanned, edit the following lines in cluster.py:

test_range = []


for i in range(0, 1):

for j in range(100, 200):

test_range.append("172.22." + str(i) + "." + str(j))

 

Copyright (c) 2017 Timothy Liu

Source: https://github.com/tlkh/