Saltar al contenido

¿Qué es el Bug Shellshock?

5 junio, 2019

En este post te enseñaremos el procedimiento a realizar ejecutar una prueba de concepto de ataque en el ámbito de la informática fundamentado en la vulnerabilidad del Bash. La cual también conocida como Ataque Shellshock. Cuando hayas terminado de leer este post, habrás aprendido todo sobre el ataque Shellshock.

Desde hace unos años se ha notificado sobre varias vulnerabilidades que tienen relación con un Bug de Bash. A su vez, el intérprete que más se repite en los sistemas operativos Linux y MAC OS ha sido llamado ShellShock.

Por otro lado, ShellShock no es considerado como un virus informático, por lo tanto no puede ser eliminado por los sistemas de antivirus. Más bien la solución radica en que se corrija en la implantación del mismo software que lo sufre.

En este post, te recomendamos que lleves a cabo este proceso con fines educativos y en ambientes estrictamente controlados.

¿Qué es el Bash BUG Shellshock?

Es un problema que se fundamenta en la existencia de la posibilidad que posee Bash de almacenar en variables la definición de funciones de scripting. En pocas palabras, se basa en cómo son las funciones que puede cargar Bash. En este caso el BUG se presenta cuando en una variable seguida de la definición de la función se agrega un código extra que Bash seguirá parseando.

Dicho BUG representa una inmensa variedad de vulnerabilidades que por lo general son utilizadas por terceros para hacerse cargo de equipos de forma remota. Esto puede ser un dolor de cabeza para muchos usuarios que quieren mantener su información a salvo.

Ataque ShellShock al Cliente DHCP de GNU/Linux

En este tutorial aprenderás todo sobre el ataque Shellshock, te mostraremos el caso más sencillo de todos: “Ataque ShellShock al Cliente DHCP de GNU/Linux” en el cual ocurre lo siguiente

Sistemas Operativos protagonistas

Host Víctima:
GNU/Linux con Bash 4.3
cliente DHCP isc-dhclient-4.2.4
IP 192.168.1.88 (mediante DHCP)

Host Atacante:
Windows XP
Servidor DHCP “tftp32” by Ph. Jounin
IP: 192.168.1.100

Para esta prueba debemos suponer una LAN en la cual están conectados al mismo tiempo la víctima y el atacante. En este caso el atacante tratará de añadir en la configuración DHCP de la víctima un código corrupto en algún aspecto de opción DHCP.

Instrucciones para realizar el proceso

  • Primero, el atacante va a ejecutar el software de servicio DHCP
    • Luego ubica la interfaz de red que necesita utilizar y selecciona la opción “Settings”
    • Ahora, debe configurar las opciones para ejecutar únicamente el servicio DHCP
    • A continuación debe dirigirse a la parte de “DHCP” para realizar las respectivas configuraciones.
    • Cabe destacar que en el campo “Additional Option” se hizo énfasis en la opción 11. A su vez, en el campo de “Detalle de Opción” se ingresó la definición de Bash y el siguiente código corrupto:

() { ignored;}; echo ‘CODIGO INYECTADO’; /bin/cat /etc/passwd

Luego al seleccionar la opción “OK” está completado el servicio DHCP.

  • Ahora en la terminal del sistema de la víctima, el agresor debe ejecutar el siguiente comando para dejar expuesto el Syslog del sistema al momento de ejecutar la solicitud DHCP: # tail -f /var/log/syslog &
  • Seguidamente, en el caso que eth1 sea la respectiva interfaz de la red de la víctima, debes ejecutar el cliente DHCP: # dhclient eth1
  • Posteriormente, en el terminal de la víctima, debido al comando tail que se almacenó en background desplegando el Syslog del sistema se verá la ejecución del código ingresado. En este momento, se desplegará la cadena “Código ingresado” y posteriormente se listará el contenido del respectivo fichero de la víctima.
  • Por último, a consecuencia de haber ingresado el comando /bin/cat /etc/passwd que forma parte del string identificado como opción 114.

Cabe destacar que para realizar este tutorial hemos usado un software común y corriente sin alteraciones del sistema de la víctima. ¡Listo! Al terminar de leer este post habrás aprendido casi todo sobre el ataque Shellshock. Si te gustó, por favor compártelo y nos vemos pronto!