Skip to content
KitploitKITPLOIT
HerramientasBlog
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
Herramientas/GitHubGitHub/xdezen/cve-2025-8110
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónDesarrollo de PayloadsLabs y Práctica
GitHubxdezen/cve-2025-8110

CVE-2025-8110

Prueba de concepto en Python para CVE-2025-8110, que demuestra escritura arbitraria de archivos a RCE en Gogs mediante symlink y API, con uso educativo en laboratorio.

Ver Repositorio
1hace 1 mesAú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

Gogs Arbitrary File Write to RCE (CVE-2025-8110) - Exploit de Uso Educativo

Este repositorio contiene un script de prueba de concepto (PoC) en Python para demostrar y analizar la vulnerabilidad registrada como CVE-2025-8110 en el servicio de Git auto-alojado Gogs (versiones 0.13.3 y anteriores).


⚠️ Descargo de Responsabilidad (Disclaimer)

[!WARNING] ESTE SOFTWARE SE PROPORCIONA ÚNICAMENTE CON FINES EDUCATIVOS Y DE INVESTIGACIÓN DE SEGURIDAD. > El uso de este material contra objetivos sin el consentimiento previo y por escrito de sus propietarios es completamente ilegal. El autor de este repositorio no se hace responsable de ningún daño, perjuicio o mal uso derivado del uso de este código. Utilízalo siempre bajo tu propio riesgo y dentro de entornos controlados o simulaciones autorizadas (como laboratorios de CTF).


¿Qué es el CVE-2025-8110?

El CVE-2025-8110 es una vulnerabilidad crítica de Escritura de Archivos Arbitrarios provocada por una validación insuficiente al manejar enlaces simbólicos (symlinks) a través de la API PutContents de Gogs.

Mecanismo de Impacto

Un atacante autenticado puede:

  1. Crear un repositorio de Git local que contenga un enlace simbólico que apunta a un archivo sensible fuera de la carpeta del repositorio (por ejemplo, el propio archivo de configuración .git/config del servidor).
  2. Subir (push) este repositorio al servidor Gogs.
  3. Utilizar la API de Gogs para modificar el archivo del enlace simbólico. Dado que la API no verifica si el destino es un acceso directo, el sistema operativo subyacente sigue el enlace y sobreescribe archivos del sistema con los privilegios con los que se ejecuta Gogs.
  4. Si el servicio de Gogs corre como root, la escritura de archivos se puede escalar a Ejecución Remota de Código (RCE) inyectando el comando deseado dentro de la propiedad sshCommand del archivo de configuración de Git.

Explicación del Código (exploit.py)

El script automatiza todo el proceso de explotación utilizando credenciales válidas y un Token de API previamente generado de forma manual en la interfaz web de Gogs:

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          │
          └──────────────────────────────────────────────┘

Componentes Principales del Script:

  1. create_malicious_repo: Realiza una petición POST a la API de Gogs (/api/v1/user/repos) autenticándose con el token de acceso proporcionado para crear un nuevo repositorio con un nombre aleatorio generado de manera dinámica.
  2. upload_malicious_symlink:
    • Clona el repositorio recién creado en la carpeta temporal local /tmp/.
    • Crea un enlace simbólico localmente en la máquina atacante apuntando a .git/config (el archivo de configuración de Git del servidor).
    • Realiza un commit y envía los cambios de vuelta al servidor mediante un comando de sistema (git push).
  3. exploit: Define la carga útil (payload) utilizando un truco de inyección en la propiedad sshCommand de Git. Al actualizar el contenido a través de la API, Gogs es forzado a sobreescribir su propio .git/config en el servidor. Cuando se activa la última parte del proceso de Git, el sistema de Gogs ejecuta el comando de terminal (una shell reversa en Bash) devolviendo la conexión a tu escucha en Netcat.

Guía de Uso en Laboratorios (HTB - Silentium)

Requisitos Previos

Asegúrate de configurar los datos de identidad globales en Git antes de correr el script para evitar errores al realizar el commit automático:

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



### Uso: python3 exploit.py -u (http://127.0.0.1:8080) -lh <TU_IP_VPN> -lp 4446
Descargar herramienta