Netscan is a network scanner made for large-scope pentesting. It lets you scan and do your recon phase on more that 20+ protocols very quickly. All results are store in an elasticsearch database and browsable with the Kibana power. Scan, Filter, Exploit !
Display the global help menu
Display a specific module help menu
Run a ping scan to discover devices in the network
Run a port scan to get all opened ports with the nmap options
Display the result in a way-to-cool interface!
Run the following command and enjoy immediately..
~/netscan$> ./configure_docker.sh
The previous command will build and/or start all the framework docker containers used by netscan. It will create and configure :
When everything is up and running, you can use the netscan
command and enjoy.
$> pip3 install -r requirements.txt
$> cp config.cfg.sample config.cfg
Elasticsearch
and Kibana
on your systema.Note:
The docker version is already configured with default settings. You're good to go.
On your system or in the docker container,
Edit the config.cfg
file to set the name of your current pentest session under the [Global]
section.
Enable elasticsearch if you want to send all your scan outputs to the database under the [Elasticsearch]
section.
Configure the Kibana dashboards
Via GUI
The kibana dashboards are located at kibana/kibana_dashboards.ndjson.
kibana_dashboards.ndjson
file provided in this repoVia CLI
$> curl -X POST 'http://127.0.0.1:5601/api/saved_objects/_import?createNewCopies=true' -H "kbn-xsrf: true" --form "file=@$(pwd)/kibana/kibana_dashboards.ndjson"
The dashboards should now be available within Kibana
Problem: Elasticsearch has not enough memory-mapped areas to run smoothly.
Solution : Run the following command on you system
sudo sysctl -w vm.max_map_count=262144
Doc: https://www.elastic.co/guide/en/elasticsearch/reference/current/_maximum_map_count_check.html
Problem: Elastic needs at least 10% free space of your hard disk (whatever the disk size). Solution : You can disable the disk size threshold by running the following commands on you system
$> curl -X PUT -H "Content-Type: application/json" http://localhost:9200/_cluster/settings -d '{ "transient": { "cluster.routing.allocation.disk.threshold_enabled": false } }'