
MAD-CAT (Meow Attack Data Corruption Automation Tool) は、複数のデータベースシステムに対するデータ破損攻撃をシミュレートするために設計された総合的なセキュリティツールです。このツールは、単一ターゲット攻撃とバルクCSVベースの攻撃キャンペーンの両方をサポートし、認証ありおよび認証なしの攻撃シナリオにも対応しています。
MAD-CAT(Meow攻撃データ破壊自動化ツール)は、複数のデータベースシステムに対するデータ破壊攻撃をシミュレートするために設計された包括的なセキュリティツールです。このツールは、シングルターゲット攻撃とCSVベースのバルク攻撃キャンペーンの両方をサポートし、認証ありおよび認証なしの攻撃シナリオに対応しています。
現在、このツールは以下のデータベースサービスをサポートしています:
# リポジトリのクローン
git clone https://github.com/karlvbiron/MAD-CAT.git
# ツールディレクトリに移動
cd MAD-CAT
# 仮想環境のセットアップ
python3 -m venv venv
source venv/bin/activate
# 依存関係のインストール
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ファイルは、各行に1つのターゲットを含み、次の形式である必要があります:
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
| サービス |
|---|
サポートされているすべてのデータベースからデータを取得して表示するユーティリティスクリプト:
# すべてのデータベースから取得し、整合性を確認
python fetch_data.py all
# 特定のデータベースから取得
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 |