Horus is a network scanner designed to identify devices on a network and detect vulnerabilities. It was developed for the NOI Hackathon SFSCON Edition 2024. It’s perfect for users who prefer a graphical interface over command-line tools and want an easy way to check for vulnerabilities in their networked devices. With Horus, results from command-line tools like Nmap are presented in a user-friendly, clear, and easy-to-understand dashboard.
Horus is also incredibly easy to install and use, making it a great choice for novice and experienced users who want to quickly assess the security of their network.
Key features include device scanning and identifying, showing their IP, mac, name, services and vulnerabilities; "Find My Device," which helps users identify the device associated with a specific IP address, and a chatbot that can explain the services running on the network and any vulnerabilities that are detected. Charts and a written report are also generated to provide a summary of the scan results, making it easy for users to understand the security status of their network. This report may be downloaded from the website for future reference.
The name "Horus" was chosen for this network scanner because it is inspired by the ancient Egyptian god Horus, who was often depicted as a protector and guardian. Just as Horus watched over and safeguarded Egypt, this tool is designed to safeguard your network by detecting and addressing vulnerabilities, ensuring your devices are protected from potential threats.
- Scan the network for devices
- Check devices for vulnerabilities
- Display scan results in a web interface
- Can help you find devices on network
- Offer a basic chatbot to help you with vulnerabilities explanation
- Show the SSID of the connected Wi-Fi network
- Backend: Python, FastAPI
- Frontend: Vue.js
- Scripting: Nmap, Vulscan
- Set up backend server with FastAPI
- Set up frontend client with Vue.js
- Implement basic network scanning functionality
- Integrate Nmap and Vulscan for vulnerability checks
- Display scan results in web interface
- Show SSID of connected Wi-Fi network
- Create basic chatbot for vulnerability explanations
- Improve UI/UX of the web interface
- Implement real-time updates for scan results
-
Install dependencies:
pip install -r requirements.txt
-
Run the server:
uvicorn server.main:app --reload
-
Navigate to the client directory:
cd client
-
Install dependencies:
npm install
-
Run the development server:
npm run serve
There is a swagger interface at http://server.domain/docs
to test the endpoints made with FastAPI.
- Start Scan:
POST /start
- Get Scan Results:
GET /scan
- Get SSID:
GET /ssid
- Check if Device is Online:
GET /isonline/{ip}
- Start the backend server.
- Start the frontend development server.
- Open the web interface in your browser.
- Use the interface to start a network scan and view the results.
This project is licensed under the GNU-GPLv3 License - see the LICENSE file for details.