
MAD-CAT (Meow Attack Data Corruption Automation Tool) ist ein umfassendes Sicherheitstool zur Simulation von Datenkorruptionsangriffen auf mehrere Datenbanksysteme. Das Tool unterstützt sowohl Einzelziel-Angriffe als auch CSV-basierte Massenangriffskampagnen und bietet Unterstützung für Angriffsszenarien mit und ohne Anmeldedaten.
MAD-CAT (Meow Attack Data Corruption Automation Tool) ist ein umfassendes Sicherheitstool, das entwickelt wurde, um Datenkorruptionsangriffe gegen mehrere Datenbanksysteme zu simulieren. Das Tool unterstützt sowohl Einzelziel-Angriffe als auch Massenangriffskampagnen auf CSV-Basis sowie Angriffsszenarien mit und ohne Anmeldedaten.
Das Tool unterstützt derzeit die folgenden Datenbankdienste:
# 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
| Argument | Beschreibung |
|---|---|
-l, --list | Unterstützte Datenbankdienste auflisten |
-c, --csv | CSV-Datei mit der Zielliste (Format: ip,service,port,username,password) |
-t, --target | IP-Adresse des Zielhosts (für den Einzelzielmodus) |
-s, --service | Datenbankdienst, der angegriffen werden soll (z. B. mongodb, elasticsearch, cassandra, redis, couchdb, hadoop) |
-p, --port | Portnummer (falls nicht Standard) |
-u, --username | Benutzername für die Authentifizierung |
-pw, --password | Passwort für die Authentifizierung |
-v, --verbose | Ausführliche Ausgabe aktivieren |
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
Greifen Sie mehrere Ziele mithilfe einer CSV-Datei an:
python mad_cat.py -c list.csv
Die CSV-Datei sollte ein Ziel pro Zeile im folgenden Format enthalten:
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
\"\").MAD-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 simuliert einen Datenkorruptionsangriff, indem es:
Target → Connect → List Databases → For Each Database:
├─ List Collections
└─ For Each Collection:
├─ Fetch All Records
├─ Replace Values with {random}-MEOW
└─ Update Records
| Dienst | Standardport |
|---|---|
| MongoDB | 27017 |
| Elasticsearch | 9200 |
| Cassandra | 9042 |
| Redis | 6379 |
| CouchDB | 5984 |
| Hadoop HDFS | 9870 |
Ein Hilfsskript zum Abrufen und Anzeigen von Daten aus allen unterstützten Datenbanken:
# 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
Dieses Tool wird NUR ZU BILDUNGSZWECKEN bereitgestellt. Es wurde entwickelt, um eine Art von Cyberangriff in einer kontrollierten Umgebung zu demonstrieren, um das Sicherheitsbewusstsein und die Abwehrmaßnahmen zu verbessern. Die Verwendung dieses Tools gegen Systeme ohne entsprechende Genehmigung ist illegal und unethisch. Die Autoren und Mitwirkenden sind nicht für einen Missbrauch dieser Software verantwortlich.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.
Erstellt von Karl Biron