Esta herramienta denominada commix es una de las referencias cuando podemos hablar de injecciones de comandos, es bastante famosa y se ha utilizado en charlas de conferencias dedicadas al hacking, no viene por defecto en kali por lo que tendremos que instalarla de la siguiente forma:
Ahora vamos a probar la herramienta con la siguiente pagina web que se encuentra en la maquina que instalamos en VMWare que esta en el puerto 1335.
URL = http://192.168.5.211:1335/
Podremos entrar con las credenciales de:
User: admin
Pass: password
Nos vamos al apartado de Command Injection y dentro del mismo tendremos un campo el cual es vulnerable a Command Injection, por lo que podremos probar la herramienta en esta zona.
Pillamos la URL de la pagina en el apartado en el que estamos, que en mi caso es este:
Pero vamos a ver ahora que cuando metemos eso directamente nos va a redirigir al login ya que se requiere una autenticacion en la pagina y la herramienta nos va a dar esa opcion de elegir, si le damos a que nos continue la redireccion veremos que escaneara el login y no nos dara nada, pero ahora veremos como autenticarnos de esta forma para que no nos falle.
Si queremos que vaya unos niveles mas altos de fuzzeo podremos especificarselo con el --level y en este caso le pondremos el 3 para que en vez de lo haga en la URL tambien lo haga con las peticiones de HTTP donde esta la informacion del User-agent, etc... Para ver si nos puede encontrar algo en el apartado de login.
Si nosotros paramos esta peticion con un proxy como puede ser BurpSuite vemos que en el User-agent: nos esta metiendo payloads los cuales es para ver si se puede ejeuctar comandos en el sistema victima.
Pero en este caso no encontramos ningun campo injectable.
Lo que podemos hacer para que nos detecte la aplicacion que estamos autenticados con la herramienta commix como antes hemos intentado hacer en la URL de la seccion de Command Injection podremos hacerlo de la siguiente forma:
Tendremos que abrir BurpSuite y en la seccion de Proxy darle a Open Browser, metemos la direccion de la pagina y nos logearemos, nos iremoa a la seccion de Command Injection y pondremos a BurpSuite a escucha cualquier peticion, recragamos la pagina y como podremos ver en la peticion capturada esta la Cookie de sesion que es la que podremos utilizar para que se nos autentique y asi no nos redireccione al login.
Ahora esto no nos va a dar error y nos va a direccionar a la pagina correcta, pero no va a encontrar nada ya que va a escanear la peticion de HTTP, pero el campo que queremos que escane esta en el Body, por lo que tendremos que hacer lo siguiente:
Capturaremos la peticion con BurpSuite para ver como es el campo que se esta poniendo en el Body enviando la peticion de la seccion de Command Injection poniendo una IP cualquiera y cuando capturemos la peticion veremos que el campo es el siguiente:
Y por lo que vemos lo que esta haciendo es dejar la IP y concatenarlo con otro comando que casualmente se esta ejecutando en la maquina victima del servidor, por lo que luego nos pregunta si queremos tener una falsa terminal para poder ejecutar comandos, esto significa que lo que va hacer es que el comando que nosotros le enviemos el se va a encargar de volver a enviar la peticion con nuestro comando y la respuesta lo va a coger y pasarnoslo a notros de esta forma:
192.168.5.200;cat /etc/passwd;
Eso es lo que realmente estaria ejecutando cuando nosotros le enviamos ese comando, y como vemos estamos viendo el archivo passwd de forma correcta.