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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/keraattin/mongobleed-detector-cve-2025-14847
Vulnerability ScannersExploitationInformation GatheringNetwork SecurityPenetration TestingDatabase Security
GitHubkeraattin/mongobleed-detector-cve-2025-14847

Mongobleed-Detector-CVE-2025-14847

Mongobleed Detector CVE-2025-14847

저장소 보기
1118개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MongoBleed 스캐너

CVE-2025-14847 (MongoBleed)에 대한 전문 취약점 스캐너 - MongoDB 메모리 누수 취약점.

+================================================================+
|     MongoBleed Scanner v1.3.0                                  |
|     CVE-2025-14847 - MongoDB Memory Leak Vulnerability         |
+================================================================+

목차

  • 취약점 정보
  • 기능
  • 요구 사항
  • 사용법
  • 결과 이해
  • 작동 방식
  • 조치 방법
  • 법적 고지

취약점 정보

**CVE-2025-14847 (MongoBleed)**는 MongoDB의 zlib 압축 처리에서 발생하는 심각한 메모리 누수 취약점입니다.

기술 요약

압축된 메시지(zlib을 사용한 OP_COMPRESSED)를 처리할 때 MongoDB는 클라이언트가 제공한 uncompressedSize 필드를 기반으로 버퍼를 할당합니다. 악의적인 클라이언트는 실제 데이터보다 더 큰 크기를 지정하여 MongoDB가 이전 작업의 민감한 데이터가 포함된 초기화되지 않은 힙 메모리를 반환하도록 할 수 있습니다.

영향을 받는 버전

브랜치취약한 버전수정된 버전
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모든 버전단종 - 패치 없음

CVSS 점수

  • 점수: 8.7 (높음)
  • 벡터: 네트워크를 통한 악용 가능, 인증 불필요
  • 영향: 기밀성 침해 - 민감한 데이터 노출

기능

  • 다중 대상 스캔 (단일, 쉼표로 구분, 또는 파일 기반)
  • 자동 MongoDB 버전 감지
  • 인증 보호 인스턴스를 위한 와이어 프로토콜 폴백 (MongoDB 8.2 이상)
  • zlib 압축 상태 감지
  • 결과를 TXT, JSON 또는 CSV로 내보내기
  • 외부 종속성 없음 (Python 표준 라이브러리만 사용)

요구 사항

  • Python 3.7 이상
  • 대상 MongoDB 포트에 대한 네트워크 접근 (기본값: 27017)

추가 패키지가 필요하지 않습니다. 스캐너는 Python 표준 라이브러리만 사용합니다.


사용법

단일 대상

# 기본 포트 (27017)
python scanner.py -t 192.168.1.100

# 사용자 지정 포트
python scanner.py -t 192.168.1.100:27018

다중 대상

# 쉼표로 구분
python scanner.py -t 192.168.1.100,192.168.1.101:27018,db.example.com

파일에서 대상 가져오기

# targets.txt (한 줄에 하나, #은 주석)
# 192.168.1.100
# 192.168.1.101:27018
# mongodb.example.com

python scanner.py -f targets.txt

결과 내보내기

# 일반 텍스트
python scanner.py -t 192.168.1.100 -o report.txt

# JSON (상세)
python scanner.py -t 192.168.1.100 -o report.json

# CSV (스프레드시트)
python scanner.py -t 192.168.1.100 -o report.csv

옵션

옵션설명
-t, --targets쉼표로 구분된 대상 (호스트 또는 호스트:포트)
-f, --file대상이 포함된 파일 (한 줄에 하나)
-o, --output내보내기 파일 (.txt, .json, .csv)
-q, --quiet요약만 표시
-v, --version버전 표시
-h, --help도움말 표시

결과 이해

상태 표시기

기호상태설명
[!]취약취약점 확인됨, 즉시 조치 필요
[?!]취약 가능성 있음버전 추정됨, 수동 확인 필요
[+]안전패치된 버전
[~]완화됨취약한 버전이지만 zlib 비활성화
[?]알 수 없음상태를 확인할 수 없음
[-]연결 불가연결 실패

출력 예시

+================================================================+
|     MongoBleed Scanner v1.3.0                                  |
|     CVE-2025-14847 - MongoDB Memory Leak Vulnerability         |
+================================================================+
|  LEGAL: Authorized security testing only. Obtain permission    |
|         before scanning systems you do not own.                |
+================================================================+

[*] Loaded 4 target(s)

SCAN RESULTS:
----------------------------------------------------------------------
  [!] 192.168.1.100:27017       VULNERABLE  v8.0.16  zlib:ON  -> Update to 8.0.17
  [?!] 192.168.1.101:27018      POSSIBLY VULNERABLE  v~8.2.x  zlib:ON  -> Check version, update to 8.2.3
  [+] 192.168.1.102:27017       SAFE        v8.0.17  zlib:ON
  [~] 192.168.1.103:27017       MITIGATED   v8.0.16  zlib:OFF  (zlib disabled)

======================================================================
  SCAN SUMMARY
======================================================================
  Total targets scanned:  4
  Reachable:              4
  Unreachable:            0
----------------------------------------------------------------------
  [!]  VULNERABLE:        1
  [?!] POSSIBLY VULN:     1  (version estimated, needs verification)
  [+]  SAFE (patched):    1
  [~]  MITIGATED:         1  (vulnerable version but zlib disabled)
  [?]  UNKNOWN:           0
======================================================================

  VULNERABLE TARGETS REQUIRING IMMEDIATE ACTION:
----------------------------------------------------------------------
    192.168.1.100:27017  v8.0.16  zlib:ON  -> Upgrade to 8.0.17

버전 표시

  • v8.0.16 — 정확한 버전 감지됨
  • v~8.2.x — 와이어 프로토콜로부터 추정 (~는 추정임을 나타냄)

MongoDB 8.2 이상에서 버전 명령어에 인증이 필요한 경우 추정이 발생합니다. 스캐너는 와이어 프로토콜 버전 매핑으로 대체합니다.


작동 방식

탐지 프로세스

1. TCP Connection
   └── Connect to MongoDB port

2. Version Detection
   ├── Send 'hello' command (get wire version, no auth required)
   └── Send 'buildInfo' command (get exact version, may need auth)

3. Compression Check
   └── Send zlib-compressed message, check if server accepts

4. Assessment
   └── Compare version + zlib status against vulnerability database

와이어 프로토콜 버전 매핑

정확한 버전을 사용할 수 없는 경우(인증 필요), 스캐너는 maxWireVersion에서 추정합니다.

와이어 버전MongoDB 브랜치
258.0.x
278.2.x
217.0.x
176.0.x
135.0.x

취약점 로직

VULNERABLE = (version in vulnerable range) AND (zlib enabled)
MITIGATED  = (version in vulnerable range) AND (zlib disabled)
SAFE       = (version >= fixed version)

조치 방법

옵션 1: MongoDB 업데이트 (권장)

현재 버전업데이트 대상
8.2.0 - 8.2.28.2.3+
8.0.0 - 8.0.168.0.17+
7.0.0 - 7.0.277.0.28+
6.0.0 - 6.0.266.0.27+
5.0.0 - 5.0.315.0.32+
4.4.0 - 4.4.294.4.30+

옵션 2: zlib 압축 비활성화 (임시)

# mongod.conf
net:
  compression:
    compressors: snappy,zstd  # Remove 'zlib'

또는 명령줄:

mongod --networkMessageCompressors snappy,zstd

추가 권장 사항

  • MongoDB 포트 접근을 신뢰할 수 있는 네트워크로 제한
  • 인증 활성화
  • TLS/SSL 활성화
  • 의심스러운 연결 패턴 모니터링

법적 고지

THIS TOOL IS PROVIDED FOR AUTHORIZED SECURITY TESTING ONLY.

You must obtain proper authorization before scanning any systems
you do not own or have explicit written permission to test.

Unauthorized access to computer systems is illegal.

The authors assume no liability for misuse of this tool.

종료 코드

코드의미
0모든 대상이 안전하거나 완화됨
1연결 오류 발생
2취약한 대상 발견됨

스크립트에 유용:

python scanner.py -t mongodb.example.com
if [ $? -eq 2 ]; then
    echo "ALERT: Vulnerable MongoDB detected!"
fi

참고 자료

  • MongoDB Wire Protocol
  • MongoDB Release Notes

변경 로그

v1.3.0

  • MongoDB 8.2+ (인증 보호)를 위한 와이어 프로토콜 폴백
  • 추정 버전에 대한 "취약 가능성 있음" 상태
  • 탐지 정확도 향상

v1.2.0

  • 다중 방식 버전 감지
  • 더 나은 BSON 파싱

v1.1.0

  • 출력에 zlib 상태 포함
  • 전문가용 고지
  • 8.2.x 지원

v1.0.0

  • 최초 출시

권한이 부여된 보안 테스트 및 연구 목적으로만 사용하세요.

도구 다운로드