
MAD-CAT (Meow Attack Data Corruption Automation Tool) est un outil de sécurité complet conçu pour simuler des attaques de corruption de données contre plusieurs systèmes de bases de données. L'outil prend en charge à la fois les attaques sur cible unique et les campagnes d'attaque en masse basées sur des fichiers CSV, avec le support de scénarios d'attaque avec et sans identifiants.
MAD-CAT (Meow Attack Data Corruption Automation Tool) est un outil de sécurité complet conçu pour simuler des attaques de corruption de données contre plusieurs systèmes de bases de données. L'outil prend en charge à la fois les attaques sur cible unique et les campagnes d'attaque groupées basées sur des fichiers CSV, avec une prise en charge des scénarios d'attaque avec et sans identification.
L'outil prend actuellement en charge les services de bases de données suivants :
# Clone the repository
git clone https://github.com/karlvbiron/MAD-CAT.git
# Navigate to the tool directory
cd MAD-CAT
# Set up the virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
python mad_cat.py -l
python mad_cat.py -t 192.168.1.11 -s mongodb -u root -pw example
python mad_cat.py -t 192.168.1.12 -s elasticsearch
python mad_cat.py -t 192.168.1.13 -s cassandra
python mad_cat.py -t 192.168.1.14 -s redis
python mad_cat.py -t 192.168.1.15 -s couchdb -u admin -pw password
python mad_cat.py -t 192.168.1.16 -s hadoop
Attaquez plusieurs cibles à l'aide d'un fichier CSV :
python mad_cat.py -c list.csv
Le fichier CSV doit contenir une cible par ligne avec le format suivant :
192.168.1.11,mongodb,27017,"root","example"
192.168.1.12,elasticsearch,9200,"",""
192.168.1.13,cassandra,9042,"",""
192.168.1.14,redis,6379,"",""
192.168.1.15,couchdb,5984,"admin","password"
192.168.1.16,hadoop,9870,"",""
Format : ip,service,port,username,password
"") pour les attaques sans identificationMAD-CAT/
├── __init__.py
├── core/
│ ├── __init__.py
│ ├── base_attacker.py # Abstract base class for all attackers
│ └── attack_factory.py # Factory pattern for attacker creation
├── attackers/
│ ├── __init__.py # Attacker registration
│ ├── mongodb.py # MongoDB attacker implementation
│ ├── elasticsearch.py # Elasticsearch attacker implementation
│ ├── cassandra.py # Cassandra attacker implementation
│ ├── redis.py # Redis attacker implementation
│ ├── couchdb.py # CouchDB attacker implementation
│ └── hadoop.py # Hadoop HDFS attacker implementation
├── utils/
│ ├── __init__.py
│ └── logging.py # Logging configuration
├── dockerized-database-infrastructure/
│ ├── docker-compose.yml # Docker Compose configuration
│ └── init-scripts/
│ ├── mongodb/
│ │ └── mongodb-init.js
│ ├── elasticsearch/
│ │ ├── es-custom-entrypoint.sh
│ │ └── es-bulk_data.json
│ ├── cassandra/
│ │ ├── cassandra-entrypoint.sh
│ │ └── cassandra-init.cql
│ ├── couchdb/
│ │ ├── couchdb-entrypoint.sh
│ │ └── couchdb-init.sh
│ ├── hadoop/
│ │ ├── hadoop-entrypoint.sh
│ │ └── hadoop-init.sh
│ └── redis/
│ ├── redis-entrypoint.sh
│ └── redis-init.sh
├── mad_cat.py # Main entry point
├── fetch_data.py # Utility to fetch and verify database data
├── list.csv # Example CSV file for bulk attacks
├── requirements.txt # Python dependencies
└── README.md # This file
logs/MAD-CAT simule une attaque de corruption de données en :
Target → Connect → List Databases → For Each Database:
├─ List Collections
└─ For Each Collection:
├─ Fetch All Records
├─ Replace Values with {random}-MEOW
└─ Update Records
| Service |
|---|
Un script utilitaire pour récupérer et afficher les données de toutes les bases de données prises en charge :
# Fetch from all databases and verify consistency
python fetch_data.py all
# Fetch from specific database
python fetch_data.py mongo
python fetch_data.py elasticsearch
python fetch_data.py cassandra
python fetch_data.py redis
python fetch_data.py couchdb
python fetch_data.py hadoop
Cet outil est fourni UNIQUEMENT À DES FINS ÉDUCATIVES. Il est conçu pour démontrer un type de cyberattaque dans un environnement contrôlé afin d'améliorer la sensibilisation à la sécurité et les mesures défensives. Utiliser cet outil contre des systèmes sans autorisation appropriée est illégal et contraire à l'éthique. Les auteurs et contributeurs ne sont pas responsables de tout usage abusif de ce logiciel.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Créé par Karl Biron
| Argument | Description |
|---|
-l, --list | Liste les services de bases de données pris en charge |
-c, --csv | Fichier CSV contenant la liste des cibles (format : ip,service,port,username,password) |
-t, --target | Adresse IP de l'hôte cible (pour le mode cible unique) |
-s, --service | Service de base de données à attaquer (par ex., mongodb, elasticsearch, cassandra, redis, couchdb, hadoop) |
-p, --port | Numéro de port (si non par défaut) |
-u, --username | Nom d'utilisateur pour l'authentification |
-pw, --password | Mot de passe pour l'authentification |
-v, --verbose | Activer le mode verbeux |
| Port par défaut |
|---|
| MongoDB | 27017 |
| Elasticsearch | 9200 |
| Cassandra | 9042 |
| Redis | 6379 |
| CouchDB | 5984 |
| Hadoop HDFS | 9870 |