Skip to content

Apatoma/botnet-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

🤖 Botnet Simulator

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.

✨ Features

  • 🌐 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.

🛠️ Technology Stack

Backend:

  • 🐍 Python
  • 🔥 Flask (for handling API requests)
  • 🗄️ SQLite (for data storage)

Frontend:

  • ⚛️ React.js
  • 🎨 CSS (for styling)

🚀 Getting Started

Follow these steps to set up the project locally.

Prerequisites

  • Python 3.8+
  • Node.js 14+
  • npm (or yarn)

Setup Instructions

  1. Backend Setup:

    cd backend/
    pip install -r requirements.txt
    python run.py

    The server will start on http://localhost:5000.

  2. Frontend Setup:

    cd frontend/
    npm install
    npm start

    The frontend will be accessible at http://localhost:3000.

Connecting Frontend and Backend

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.

Initializing the Database

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.

📡 API Endpoints

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.

🛤️ Future Enhancements

  • 📊 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.

🧑‍💻 Contributing

Contributions are welcome! Please fork the repository, make your changes, and submit a pull request.

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.


Made with ❤️ by Alejandro

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors