Welcome to the Botnet Simulator! This web application allows users to simulate the creation, expansion, and mitigation of a botnet. The platform provides a visual representation of how botnets operate, demonstrating their propagation across a network, attacks like DDoS, and mitigation strategies. It’s a valuable tool for ethical hackers, security researchers, and educators to explore botnet behavior in a controlled environment.
- 🌐 Botnet Visualization: Displays a dynamic map of bots within the network, showing their status and activity.
- 🚀 Attack Simulation: Launch simulated attacks (e.g., DDoS, Spam) from compromised bots against specified targets.
- 🛡️ Mitigation Controls: Implements strategies to mitigate or neutralize active bots in the network.
- 🖥️ Interactive Frontend: Provides a user-friendly interface for monitoring the botnet and executing controls.
- 🔗 Backend API: Powers the simulation logic and handles requests from the frontend.
Backend:
- 🐍 Python
- 🔥 Flask (for handling API requests)
- 🗄️ SQLite (for data storage)
Frontend:
- ⚛️ React.js
- 🎨 CSS (for styling)
Follow these steps to set up the project locally.
- Python 3.8+
- Node.js 14+
- npm (or yarn)
-
Backend Setup:
cd backend/ pip install -r requirements.txt python run.pyThe server will start on http://localhost:5000.
-
Frontend Setup:
cd frontend/ npm install npm startThe frontend will be accessible at http://localhost:3000.
Ensure that both the backend (Flask) and frontend (React) servers are running. The React frontend will make API calls to the Flask backend at http://localhost:5000. If necessary, configure a proxy in the React app's package.json to route requests correctly.
The database will be automatically created when the backend server starts. It will store information about bots, attacks, and their statuses. Interact with the API endpoints to create bots, start attacks, and apply mitigation strategies.
Bots:
GET /bots: Retrieve the list of all bots in the network.POST /create_bot: Create a new bot in the network.POST /mitigate_bot: Mitigate a specific bot by ID.
Attacks:
POST /start_attack: Start an attack from a specific bot against a target.
- 📊 Real-time Traffic Analysis: Visualize the traffic generated by bots in real-time.
- 💥 Advanced Attack Types: Implement additional types of attacks, such as ransomware or phishing simulations.
- 🤖 Machine Learning for Mitigation: Introduce machine learning algorithms to automatically detect and mitigate bot activity.
- 📈 Detailed Post-Attack Reports: Generate comprehensive reports after each simulated attack, including visual graphs and statistics.
Contributions are welcome! Please fork the repository, make your changes, and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
Made with ❤️ by Alejandro