24 ene 2013

Freesshd Authentication Bypass: Pivote + Zero Day = Owned! (Parte I)

Hace un mes que se conoce, pero debe ser que el no denominarse Java o Adobe Reader hacen que sus desarrolladores vivan en un mundo más tranquilo. El 0 day que se presentan en estas líneas corresponde con la aplicación Freesshd. Muchos diréis, ¿qué cosa es esa?, bien, sencillamente es un servidor SSH para equipos Windows. Este servidor, el cual podemos encontrar en algunas empresas del panorama nacional, permite gestionar sesiones de shell y subida de archivos mediante FTP de manera “segura”. Es seguro hasta que sale un 0-day y te deja el entorno empantanado, teniendo que aplicar rápidamente la medida DID o DIDi, ejercicio militar del modelo defensa en profundidad. También puede conocerse como ¡sálvese quien pueda!

El escenario presentado en esta ocasión no es más que el reflejo de una posible situación tan real como la vida misma. No pretendemos enseñaros a que este escenario tiene que ser exactamente así para que todo funcione, debéis dejaros llevar por la imaginación y por las pruebas. Como un señor (quizá ya por edad) me dijo una vez, el hacking o ethical hacking es 95% frustrante y negativo hasta que llegas a ese 5% del tiempo en el que llegas al éxito, y empieza lo divertido.

Escenario

El escenario que se tratará en esta serie de artículos es el siguiente:

  • Máquina XP SP3 vulnerable al famoso MS08_067_netapi. Sí, muchos de vosotros diréis: “¡buah el típico artículo!”, a lo que yo os contesto: “¡seguir leyendo!” :D
  • BackTrack, o si queréis un Metasploit en cualquier plataforma.
  • Máquina Windows 7 (también podrías probar con Windows 8 uhhh).

La configuración de las redes es la siguiente:

  • XP SP3 con 2 tarjetas de red. La primera configurada en la red 11.0.0.0/24, con dirección IP 11.0.0.1 y la segunda configurada en la red 192.168.0.0/24 con direccionamiento 192.168.0.60.

  • El atacante se encuentra en el segmento 192.168.0.0/24, con direccionamiento 192.168.0.59 o cualquiera, esto es independiente.

  • Windows 7, se encuentra en la red 11.0.0.0/24, con direccionamiento 11.0.0.2.

¿Veis por dónde vamos? El atacante no tiene conectividad con el Windows 7, ¿qué tendrá ese Windows 7 para no poder llegar a él? Ya vimos en su día que el pivoting no es sólo baloncesto, así que utilizaremos a éste para llegar a ese Windows 7 :D ¿Y después? ¿Simplemente un poco de pass the hash? Eso está muy visto, es hora de descubrir servicios y verificar que podemos darle caña a un 0day.

=============================================================Freesshd Authentication Bypass: Pivote + Zero Day = Owned! (Parte I)Freesshd Authentication Bypass: Pivote + Zero Day = Owned! (Parte II)Freesshd Authentication Bypass: Pivote + Zero Day = Owned! (Parte III)=============================================================

5 comentarios:

  1. El modulo en Metasploit solo se aprovecha de las contraseñas por default que se integran al instalar ese "famosillo" programa.Saludos.

    ResponderEliminar
  2. Incorrect my friend :)En realidad la variable (o parámetro) del módulo de Metasploit para dicha vulnerabilidad, la denominada USERNAMES, puede ser configurada con el nombre de usuario que conozcamos, siempre y cuando ese usuario disponga de acceso mediante esta aplicación. Por eso, hay que cambiar del ingles al español y buscar por ejemplo Administrador y no Administrator... Si sabemos que hay usuarios (por ejemplo pepito que entra por ssh), podemos indicar en USERNAMES a pepito.Espero que haya quedado clara la explicación, de todos modos te has adelantado a la cadena :PSaludos!

    ResponderEliminar
  3. Mayormente los usuarios que ejecutan este software siempre manejan el usuario "root", por ello el modulo que se integra en MSF se aprovecha de la misma utilizando el usuario y contraseña que se integran por default.Si la victima (por llamarlo así) no cuenta con las credenciales por default, el exploit fallara.Saludos.

    ResponderEliminar
  4. si los usuarios utilizan el usuario root por ssh, es un error de configuración grave... ese admin no lo está haciendo bien. La variable USERNAME del módulo dispone de root admin y administrator, si lo cambiamos por otro, funciona igual, siempre que sean usuarios configurados en el servicio para que puedan acceder, y sus credenciales pueden ser hashes NT de Windows, sha1 o public key...Saludos! :D

    ResponderEliminar
  5. [...] el artículo anterior vamos a comenzar con la práctica y el ejercicio o episodio, como le gusta a @nicomda llamar a [...]

    ResponderEliminar