
MAD-CAT (Meow Attack Data Corruption Automation Tool) — это комплексный инструмент безопасности, предназначенный для симуляции атак с повреждением данных на различные системы баз данных. Инструмент поддерживает как атаки на одиночные цели, так и массовые атаки на основе CSV-файлов, а также сценарии атак с использованием учётных данных и без них.
MAD-CAT (Meow Attack Data Corruption Automation Tool) — это комплексный инструмент безопасности, предназначенный для симуляции атак повреждения данных на различные системы баз данных. Инструмент поддерживает как атаки на одиночные цели, так и массовые атакующие кампании на основе CSV-файлов, с поддержкой как авторизованных, так и неавторизованных сценариев атак.
В настоящее время инструмент поддерживает следующие службы баз данных:
# 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
Атака на несколько целей с помощью CSV-файла:
python mad_cat.py -c list.csv
CSV-файл должен содержать одну цель на строку в следующем формате:
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,"",""
Формат: 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 симулирует атаку повреждения данных следующим образом:
Target → Connect → List Databases → For Each Database:
├─ List Collections
└─ For Each Collection:
├─ Fetch All Records
├─ Replace Values with {random}-MEOW
└─ Update Records
| Служба |
|---|
Вспомогательный скрипт для получения и отображения данных из всех поддерживаемых баз данных:
# 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
Этот инструмент предоставляется ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ. Он предназначен для демонстрации типа кибератаки в контролируемой среде, чтобы помочь повысить осведомлённость о безопасности и улучшить защитные меры. Использование этого инструмента против систем без надлежащего разрешения является незаконным и неэтичным. Авторы и участники не несут ответственности за любое неправомерное использование данного программного обеспечения.
Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
Создано Karl Biron
| Аргумент | Описание |
|---|
-l, --list | Вывод списка поддерживаемых служб баз данных |
-c, --csv | CSV-файл со списком целей (формат: ip,service,port,username,password) |
-t, --target | IP-адрес целевого хоста (для режима одиночной цели) |
-s, --service | Служба базы данных для атаки (например, mongodb, elasticsearch, cassandra, redis, couchdb, hadoop) |
-p, --port | Номер порта (если не используется порт по умолчанию) |
-u, --username | Имя пользователя для аутентификации |
-pw, --password | Пароль для аутентификации |
-v, --verbose | Включить подробный вывод |
| Порт по умолчанию |
|---|
| MongoDB | 27017 |
| Elasticsearch | 9200 |
| Cassandra | 9042 |
| Redis | 6379 |
| CouchDB | 5984 |
| Hadoop HDFS | 9870 |