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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-2945_PgAdmin_PoC — pgAdmin 개념 증명 | Kitploit
도구/GitHubGitHub/abrewer251/cve-2025-2945_pgadmin_poc
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubabrewer251/cve-2025-2945_pgadmin_poc

CVE-2025-2945_PgAdmin_PoC

pgAdmin 개념 증명

저장소 보기
3121년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-2945_PoC

pgAdmin 개념 증명

pgAdmin Query Tool RCE (CVE-2025-2945) – Python 개념 증명

⚠️ 면책 조항
이 저장소는 pgAdmin 4 9.2 이전 버전에 존재하는 심각한 원격 코드 실행 취약점인 CVE-2025-2945에 대한 개념 증명 익스플로잇을 포함하고 있습니다. 이 코드는 오직 본인이 소유하거나 테스트를 위한 명시적 허가를 받은 환경에서만 사용하십시오. 저자는 이 소프트웨어로 인한 오용이나 손해에 대해 책임을 지지 않습니다.


목차

  1. 개요
  2. 취약점 세부 정보 (CVE-2025-2945)
  3. 사전 요구 사항
  4. 설정 및 설치
  5. 사용법
  6. 익스플로잇 작업 흐름
  7. 탐지 및 완화
  8. 라이선스

개요

이 저장소는 CVE-2025-2945에 대한 Metasploit 모듈의 기능을 재현하는 독립 실행형 Python 스크립트 pgadmin_rce.py를 제공합니다. 취약한 pgAdmin 4 인스턴스(버전 8.10~9.1)를 대상으로 실행하면 다음을 수행합니다.

  1. 유효한 자격 증명을 사용하여 pgAdmin 4에 인증합니다.
  2. Query Tool(SQL 편집기) 세션을 초기화합니다.
  3. 유효한 서버-연결 ID(서버 그룹 및 서버 ID)를 검색합니다.
  4. query_commited 매개변수를 통해 악성 페이로드를 전송하여 서버에서 eval()을 트리거합니다.
  5. HTTP 500 응답을 관찰합니다(페이로드가 백엔드에서 실행되었음을 나타냄).

취약한 엔드포인트는 사용자 입력을 검증하지 않은 채 Python의 내장 eval()에 의존하므로, 인증된 사용자는 pgAdmin이 호스트 머신에서 임의의 Python 코드를 실행하도록 강제할 수 있으며, 이로 인해 완전한 RCE가 발생합니다.


취약점 세부 정보 (CVE-2025-2945)

  • 영향받는 소프트웨어:
    • pgAdmin 4 버전 8.10 ~ 9.1 (포함)
  • 수정 버전:
    • pgAdmin 4 버전 9.2 (2025년 4월 4일 출시)
  • CVSS v3.1 점수: 9.9 (치명적)
  • 영향:
    • 인증된 공격자는 특수하게 조작된 query_commited (또는 Cloud Deployment 모듈의 high_availability) 매개변수를 서버의 eval() 호출에 전달하여 pgAdmin 서비스 계정으로 임의 코드 실행을 초래할 수 있습니다.
  • 참조:
    • Mitre CVE-2025-2945
    • NVD 항목 (CVSS 9.9)
    • Tenable 분석
    • Rapid7 Metasploit 모듈

사전 요구 사항

  1. Python 3.7+

  2. Python 패키지(pip로 설치):

    • requests
    • faker
    root@kitploit:~
    pip install requests faker
    

사용법

익스플로잇을 실행하려면 필수 인자와 함께 스크립트를 실행하면 됩니다.

root@kitploit:~
python3 pgadmin_rce.py -t http://192.168.1.100 -u admin -p password --server-id 1 --group-id 1

명령줄 인자

예제

root@kitploit:~
python3 pgadmin_rce.py -t http://localhost:5050 -u [email protected] -p YourPassword --server-id 1 --group-id 1

예상 출력

익스플로잇이 성공하면 다음과 유사한 출력이 표시됩니다.

root@kitploit:~
[+] Target: http://localhost:5050
[+] Authenticating...
[+] Obtained CSRF token: abc123def456
[+] Login successful
[+] Query Tool initialized successfully
[+] Discovered server-id: 1, group-id: 1
[+] Sending malicious payload...
[!] Received HTTP 500 - possible successful execution!
[+] Done.

익스플로잇 작업 흐름

  1. 인증: 스크립트는 제공된 자격 증명을 사용하여 pgAdmin 4에 먼저 로그인하고 유효한 세션과 CSRF 토큰을 획득합니다.
  2. Query Tool 초기화: 인증된 사용자가 Query Tool을 로드하면 세션이 생성됩니다. 스크립트는 해당 세션을 재사용합니다.
  3. 서버 및 그룹 ID 검색: 이 도구는 유효한 서버 그룹 / 서버 ID 쌍을 식별하여 잘못된 ID로 인해 공격이 실패하지 않도록 합니다.
  4. 페이로드 전송: 조작된 query_commited 매개변수가 서버로 전송됩니다.
  5. 평가 트리거: 서버는 매개변수를 eval()에 전달하며, 페이로드가 실행되면 500 오류를 반환하여 RCE를 확인합니다.

탐지 및 완화

탐지

  • 버전 확인: pgAdmin 4 버전이 8.10 ~ 9.1(포함) 사이인지 확인합니다.
  • 네트워크 모니터링: 비정상적인 query_commited 매개변수, 특히 Python 표현식, 산술 연산자 또는 base64로 인코딩된 데이터를 포함하는 HTTP 요청을 검사합니다.
  • 엔드포인트 로깅: Query Tool에서 조작된 페이로드를 사용한 반복적인 시도가 있는지 로그를 모니터링합니다.

완화

  • 업그레이드: pgAdmin 4 9.2 이상으로 업그레이드합니다.
  • 액세스 제한: pgAdmin 웹 인터페이스에 대한 액세스를 신뢰할 수 있는 네트워크로 제한합니다.
  • 최소 권한: pgAdmin에서 사용하는 데이터베이스 사용자에게 필요한 최소 권한만 부여되었는지 확인합니다.
  • WAF 규칙: 의심스러운 query_commited 값을 가진 요청을 차단하는 웹 애플리케이션 방화벽 규칙을 배포합니다.

라이선스

이 프로젝트는 MIT 라이선스 및 참조에 따라 라이선스가 부여됩니다:

도구 다운로드
인자설명필수 여부
-t, --targetpgAdmin 인스턴스의 기본 URL예
-u, --username인증용 사용자 이름예
-p, --password인증용 비밀번호예
--server-id엔드포인트 검색을 통해 얻은 서버 ID예
--group-id엔드포인트 검색을 통해 얻은 그룹 ID예
--timeoutHTTP 요청 시간 제한(초)아니요
--proxyHTTP 프록시 URL (예: http://127.0.0.1:8080)아니요
--debug상세 디버그 로깅 활성화아니요