====== Vulnerabilidad shellshock ====== ===== OPCION 1 ===== Ahora que vemos que estamos ante un fichero -sh y se trata de una bash, ya que vemos también que la ruta es cgi-bin, podemos intentar explotar la vulnerabilidad shellshock, para colarnos en esa bash y lanzar comandos remotos; para hacer la comprobación lo haremos de esta manera: {{pasted_image_20221217112739.png|}} Y nos dice que esta bash de la máquina víctima es vulnerable: {{pasted_image_20221217112746.png|}} Ahora vamos a explotar la vulnerabilidad, ya que existen peticiones especialmente hechas para colar comandos en esta bash vulnerable; y por internet podemos encontrar información: {{pasted_image_20221217112754.png|}} Y ahora si lanzamos es comando pero pasándole la IP y el cgi-bin/user.sh, podremos lanzar un comando, por ejemplo un whoami: {{pasted_image_20221217112803.png|}} Pues ahora sabiendo esto, vamos a lanzar la remote shell, para ello nos ponemos por escucha con netcat: {{pasted_image_20221217112811.png|}} Lanzamos la shell interactiva: {{pasted_image_20221217112819.png|}} Y nos llega la conexión: {{pasted_image_20221217112826.png|}} Y por aquí la flag: {{pasted_image_20221217112834.png|}} ===== OPCION 2 ===== Para detectar si un target es vulnerable a shellshock, podemos usar este script de nmap pasándole el fichero con extensión .cgi que podremos encontrar dentro de la web: nmap --script http-shellshock --script-args “http-shellshock.uri=/gettime.cgi” 192.242.220.3 {{pasted_image_20230731100233.png|}} Además de ver que hay un archivo con extensión .cgi: {{pasted_image_20230731100457.png|}} Si buscamos por internet, vemos un comando para explotar esto mismo y tener ejecución remota de comandos: curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'" \ http://localhost:8080/cgi-bin/vulnerable Por tanto ejecutamos esto mismo contra la máquina víctima interceptando primero la petición con burp suite: {{pasted_image_20230731100932.png|}} Y a continuación lanzamos el payload: {{pasted_image_20230731101110.png|}}