mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-mysql.md'] to fr
This commit is contained in:
parent
acf633b12a
commit
690d6e4db1
@ -1,15 +1,10 @@
|
|||||||
# 3306 - Pentesting Mysql
|
# 3306 - Pentesting Mysql
|
||||||
|
|
||||||
{{#include /banners/hacktricks-training.md}}
|
|
||||||
|
|
||||||
## Références
|
|
||||||
- [Pre-auth SQLi to RCE in Fortinet FortiWeb (watchTowr Labs)](https://labs.watchtowr.com/pre-auth-sql-injection-to-rce-fortinet-fortiweb-fabric-connector-cve-2025-25257/)
|
|
||||||
|
|
||||||
{{#include ../banners/hacktricks-training.md}}
|
{{#include ../banners/hacktricks-training.md}}
|
||||||
|
|
||||||
## **Informations de base**
|
## **Informations de base**
|
||||||
|
|
||||||
**MySQL** peut être décrit comme un **Système de Gestion de Base de Données Relationnelle (SGBDR)** open source qui est disponible gratuitement. Il fonctionne sur le **Langage de Requête Structuré (SQL)**, permettant la gestion et la manipulation des bases de données.
|
**MySQL** peut être décrit comme un système de gestion de base de données relationnelle (RDBMS) open source qui est disponible gratuitement. Il fonctionne sur le **Structured Query Language (SQL)**, permettant la gestion et la manipulation des bases de données.
|
||||||
|
|
||||||
**Port par défaut :** 3306
|
**Port par défaut :** 3306
|
||||||
```
|
```
|
||||||
@ -41,7 +36,7 @@ msf> use exploit/windows/mysql/mysql_start_up #Execute commands Windows, Creds
|
|||||||
```
|
```
|
||||||
### [**Brute force**](../generic-hacking/brute-force.md#mysql)
|
### [**Brute force**](../generic-hacking/brute-force.md#mysql)
|
||||||
|
|
||||||
### Écrire des données binaires quelconques
|
### Écrire des données binaires
|
||||||
```bash
|
```bash
|
||||||
CONVERT(unhex("6f6e2e786d6c55540900037748b75c7249b75"), BINARY)
|
CONVERT(unhex("6f6e2e786d6c55540900037748b75c7249b75"), BINARY)
|
||||||
CONVERT(from_base64("aG9sYWFhCg=="), BINARY)
|
CONVERT(from_base64("aG9sYWFhCg=="), BINARY)
|
||||||
@ -114,13 +109,13 @@ Vous pouvez voir dans la documentation la signification de chaque privilège : [
|
|||||||
../pentesting-web/sql-injection/mysql-injection/mysql-ssrf.md
|
../pentesting-web/sql-injection/mysql-injection/mysql-ssrf.md
|
||||||
{{#endref}}
|
{{#endref}}
|
||||||
|
|
||||||
#### INTO OUTFILE → RCE `.pth` Python (hooks de configuration spécifiques au site)
|
#### INTO OUTFILE → Exécution de code à distance `.pth` Python (hooks de configuration spécifiques au site)
|
||||||
|
|
||||||
En abusant du classique `INTO OUTFILE`, il est possible d'obtenir une *exécution de code arbitraire* sur des cibles qui exécutent ensuite des scripts **Python**.
|
En abusant du classique `INTO OUTFILE`, il est possible d'obtenir une *exécution de code arbitraire* sur des cibles qui exécutent ensuite des scripts **Python**.
|
||||||
|
|
||||||
1. Utilisez `INTO OUTFILE` pour déposer un fichier **`.pth`** personnalisé dans n'importe quel répertoire chargé automatiquement par `site.py` (par exemple `.../lib/python3.10/site-packages/`).
|
1. Utilisez `INTO OUTFILE` pour déposer un fichier **`.pth`** personnalisé dans n'importe quel répertoire chargé automatiquement par `site.py` (par exemple `.../lib/python3.10/site-packages/`).
|
||||||
2. Le fichier `.pth` peut contenir une *ligne unique* commençant par `import ` suivie de code Python arbitraire qui sera exécuté chaque fois que l'interpréteur démarre.
|
2. Le fichier `.pth` peut contenir une *ligne unique* commençant par `import ` suivie de code Python arbitraire qui sera exécuté chaque fois que l'interpréteur démarre.
|
||||||
3. Lorsque l'interpréteur est exécuté implicitement par un script CGI (par exemple `/cgi-bin/ml-draw.py` avec shebang `#!/bin/python`), la charge utile est exécutée avec les mêmes privilèges que le processus du serveur web (FortiWeb l'a exécuté en tant que **root** → RCE complète avant authentification).
|
3. Lorsque l'interpréteur est exécuté implicitement par un script CGI (par exemple `/cgi-bin/ml-draw.py` avec shebang `#!/bin/python`), la charge utile est exécutée avec les mêmes privilèges que le processus du serveur web (FortiWeb l'a exécuté en tant que **root** → exécution de code à distance complète avant authentification).
|
||||||
|
|
||||||
Exemple de charge utile `.pth` (ligne unique, aucun espace ne peut être inclus dans la charge utile SQL finale, donc hex/`UNHEX()` ou concaténation de chaînes peut être nécessaire) :
|
Exemple de charge utile `.pth` (ligne unique, aucun espace ne peut être inclus dans la charge utile SQL finale, donc hex/`UNHEX()` ou concaténation de chaînes peut être nécessaire) :
|
||||||
```python
|
```python
|
||||||
@ -191,7 +186,7 @@ Dans la configuration des services MySQL, divers paramètres sont utilisés pour
|
|||||||
- **`admin_address`** spécifie l'adresse IP qui écoute les connexions TCP/IP sur l'interface réseau administrative.
|
- **`admin_address`** spécifie l'adresse IP qui écoute les connexions TCP/IP sur l'interface réseau administrative.
|
||||||
- La variable **`debug`** indique les configurations de débogage actuelles, y compris des informations sensibles dans les journaux.
|
- La variable **`debug`** indique les configurations de débogage actuelles, y compris des informations sensibles dans les journaux.
|
||||||
- **`sql_warnings`** gère si des chaînes d'information sont générées pour les instructions INSERT à une seule ligne lorsque des avertissements apparaissent, contenant des données sensibles dans les journaux.
|
- **`sql_warnings`** gère si des chaînes d'information sont générées pour les instructions INSERT à une seule ligne lorsque des avertissements apparaissent, contenant des données sensibles dans les journaux.
|
||||||
- Avec **`secure_file_priv`**, la portée des opérations d'importation et d'exportation de données est contrainte pour améliorer la sécurité.
|
- Avec **`secure_file_priv`**, la portée des opérations d'importation et d'exportation de données est limitée pour améliorer la sécurité.
|
||||||
|
|
||||||
### Escalade de privilèges
|
### Escalade de privilèges
|
||||||
```bash
|
```bash
|
||||||
@ -258,7 +253,7 @@ SELECT sys_exec("net localgroup Administrators npn /add");
|
|||||||
```
|
```
|
||||||
### Extraction des identifiants MySQL à partir de fichiers
|
### Extraction des identifiants MySQL à partir de fichiers
|
||||||
|
|
||||||
À l'intérieur de _/etc/mysql/debian.cnf_, vous pouvez trouver le **mot de passe en texte clair** de l'utilisateur **debian-sys-maint**.
|
À l'intérieur de _/etc/mysql/debian.cnf_, vous pouvez trouver le **mot de passe en clair** de l'utilisateur **debian-sys-maint**.
|
||||||
```bash
|
```bash
|
||||||
cat /etc/mysql/debian.cnf
|
cat /etc/mysql/debian.cnf
|
||||||
```
|
```
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user