Inspiration

The inspiration was from TDS challenge as I had never touched networks before but it sounded like an interesting challenge and was a good project to further explore with my interest in cyber security.

What it does

It mainly utilizes Nmap, scanning a submitted network and detecting any vulnerabilities and other information about the scanned ports

How we built it

Utilized python scripting to run the commands in the command line, then by collecting its information in an xml, we can create an html doc based off of that xml file to display the report run. After this we just need to pass values through to the flask frontend, and create a table based off of saved files in a directory.

Challenges we ran into

TIME, NMAP is REALLY slow when running over a wide range of addresses, especially as it is doing an in-depth vulnerability analysis on that network. Scanning 256 networks and all ports will take ~ 20ish minutes and unfortunately didn't have time to try and explore using multiprocessing, or distributing the task to make it more efficient.

other challenges include a limited amount of time, working solo means you have to sacrifice a lot of wanted features in order to have a semi - completed project.

Accomplishments that we're proud of

Linking the frontend to backend, and letting the user easily read the nmap scan via an html document that is displaying all critical information in a usable manner.

The actual information displayed within the Nmap scan is really cool and despite only using standard NSE scripts from Vulscan it shows quite a lot.

What we learned

Networking- LOTS of stuff Flask Nmap subprocess(linux) additional js stuff

What's next for Network Vulnerability Detector

Adding additional information to the front end, making it more user friendly. This includes adding a legend for the Vulnerability level which unfortunately did not have time to complete, etc. Display needs overhaul, but it displays all necessary information which is nice.

Maybe deploying it on a cheap Linode server etc. Would need to add additional security features for this, currently running user input as a CLA with Nmap without filtering which has relative risk.

Managing to increase efficiency for the different scans is pretty important, maybe trying to subprocess different jobs. Unfortunately did not have the time for this so it is not the fastest run in the world. Scanning 256 networks and all ports will take ~ 20ish minutes, speeding this up is high priority.

Share this project:

Updates