Inspiration

Lack of security awareness in networks and user-friendly alternatives.

What it does

It scans the network where your device is connected to and enumerates the connected devices in a beautiful user interface where you can see the brand of the device connected, ipAddress and mac address, after that you can choose a device and scan it more in depth in which it will enumerate you every port it has open along with useful information like services running, transport protocol used, port number and the state of the port. It also shows some basic information of the network like, subnet mask, default gateway ip and mac address of the router.

How we built it

We created our own local private network to test our software and not cause any problems on the public HackMty network. We built multiple APIs based of flask (python framework), this APIs had multiple uses that vary from using Nmap to scan all of the active devices on the network leveraging IMCP echo request and the ARP protocol, we also convert xml responses to dictionaries into json packages. We also used another function to scan every port of the connected device you chose to, along of using the ARP protocol we also sent TCP packets with the SYN on to the ports of the chosen device, if it responded with a SYN/ACK flag it meant that the port had a service running, and we showed which ports had services running and in which states.

Challenges we ran into

We ran into a lot off challenges parsing XML answers from a tool we used into JSON was one of the biggest challenges as well to decide how to make system calls from python without causing overload and making the server crash, we also had to use specific designs to prevent the scans from amking too much noise, for example we disabled reverse DNS queries and ping scan in the individual scan so the scan would make much less noise, etc, another one of them was learning to code with python and React, no one on the team was familiarize with those frameworks/languages. We also ran into various problems with the Tec local network because it had some restrictions that was preventing us of creating our normal private network.

Accomplishments that we're proud of

EVERYTHING, learning/using python, managing to pull a good-looking react-front client, using our networking knowledge in order to make it work and dividing our workload and time strategically was key to finish the project.

What we learned

We learned a lot of technologies and how they can connect with each other and specifically we also reinforced our teamworking abilities because everyone on the team had different profiles and backgrounds specialized in different components that made the project as amazing as it is right now.

What's next for scana.py

  • Identify vulnerabilities in your network.
  • Remove devices from your network.
Share this project:

Updates