sábado, 27 de junio de 2009

Reto: Santa Claus is Hacking to Town

Hace unos días llegó a mis manos a través del trabajo un reto hacking de Ed Skoudis llamado "Santa Claus is Hacking to Town" (Santa Claus está Hackeando la ciudad), que para los que tengan problemas con el inglés y no quieran recrearse leyendo la historia completa ( menuda imaginación, Ed :) ), basicamente el reto comienza en que te encuentras en una celda con tu portatil y unas pocas herramientas de hacking, y según cuenta la historia tienes algunas herramientas disponibles y algunas pistas, que por no reescribir todo lo que pone el resto vamos a ir un poco al grano:

Herramientas:
  • Portatil con una máquina virtual Windows y otra Linux.
  • Metasploit Framework: Actualizada a la última versión y con sus últimos exploits y plugins.
  • NetCat compilado para Linux.
  • NMap.
  • PSExec de Sysinternals.
Mapa de la red:




Objetivo:
  • Ejecutar en la máquina Door1 el binario dooropen.exe sobre el que sólo tiene privilegios el usuario jailmaster, para que la puerta de la celda donde estamos atrapados se abra.

Pistas/Reglas:
  • El punto de acceso permite la conexión sin cifrado ni autentiación, pero no da acceso a Internet.
  • Desde la red con NMap se descubren dos equipos: jaimpasterlaptop y web1.
  • Jailmasterlaptop: Máquina Windows sin parchear que tiene una vulnerabilidad que podemos explotar con Metasploit para ganar privilegios de SYSTEM.
  • Web1: Máquina Linux con IPTables activado que nos permite que extablezcamos conexiones únicamente contra su puerto 80, estando el resto filtrados. Las conexiones salientes están todas permitidas. La aplicación web tiene en algún sitio una vulnerabilidad de inyección de comandos que nos permite ejecutar comandos como el usuario Apache, pero está completamente parcheada y no presenta vulnerabilidades que nos vayan a permitir escalar privilegios.
  • Firewall: Sólo permite conexiones entre Door1 y Web1 (todos los puertos).
  • Door1: Máquina Windows completamente parcheada y aislada del resto.
  • La clave del usuario Jailmaster es superior a 50 caracteres.
  • El usuario Jailmaster es usado en todos los equipos de la carcel con la misma contraseña.
  • Tenemos una especie de comodín, podemos descargar una herramienta de Internet, que sea publicamente accesible y gratuita, y que ocupe menos de 1MB completa.
El reto tiene varias posibles soluciones, pero si nos ceñimos estrictamente a las herramientas que tenemos y a las restricciones las posibilidades se reducen un poco.

Os dejo unos días para pensarlo un poco, aunque lo mejor es montarse un par de máquinas virtuales y probarlo, aunque sea a trozos, ya sabeis, siempre es mejor probar las cosas que pensarlas "en teoría". Como se suele decir: "En teoría, no hay diferencia entre teoría y práctica. Pero en la práctica, sí que la hay.", así que yo lo he probado todo :P

Dentro de unos días iré poniendo mi solución tal y como la pensé, incluyendo las lineas de razonamiento que seguí y aquellas en las que acabé intentando otra cosa, que es algo de lo que siempre se aprende. También pondré otras soluciones que hay publicadas sobre este mismo reto, aparte de la mia, y comentaré que me parece y que mejoras aporta sobre la mia, o en que puntos pienso que la mia es mejor que las otras.

Creo que no me he dejado nada, si alguien detecta alguna información que falta en el documento original que me lo diga y lo añadiré.

A divertirse!!

Step1: Obtenienido acceso a nivel de red
Step2: Explotando JailMasterLaptop
Step3: Obteniendo credenciales de JailMaster y Explotando Door1

No hay comentarios :