
MAD-CAT (Meow Attack Data Corruption Automation Tool)은 여러 데이터베이스 시스템에 대해 데이터 손상 공격을 시뮬레이션하도록 설계된 포괄적인 보안 도구입니다. 이 도구는 단일 대상 공격과 CSV 기반 벌크 공격 캠페인을 모두 지원하며, 자격 증명이 있는 시나리오와 없는 시나리오 모두를 지원합니다.
MAD-CAT(Meow Attack Data Corruption Automation Tool)은 여러 데이터베이스 시스템에 대한 데이터 손상 공격을 시뮬레이션하도록 설계된 포괄적인 보안 도구입니다. 이 도구는 단일 대상 공격과 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 파일은 각 줄에 하나의 대상에 대해 다음 형식으로 작성되어야 합니다:
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 |