Archive for the ‘Test de Penetración’ Category

Solucionario propuesto por kagure zama al reto HackLab OWASP Hackademic, quien se convierte en el ganador del desafío OWASP Hackademic #CTF #Web. Asimismo se convierte en el ganador del libro Seguridad y Redes de @MatiasKatz.

Como siempre animar y recordar a los recién iniciados y expertos a participar de estos desafíos, pues no hay mejor manera de aprender que enseñando…

Solucionario:

Lo primero creación de máquina virtual para arrancar el live cd yo he utilizado virtual box para tal fin.  Abrimos Virtual box y damos click en Nueva, luego se abrirá un asistente que nos guiará durante el proceso de creación de la máquina.
Aquí asignaremos el nombre y el sistema operativo de la máquina en este caso es Linux y  aunque no se en cual está basado elijo Other Linux. Next

En memoria elijo la que él me sugiere ya que si el ISO pesa 46 megas no creo que el Linux que está corriendo sea muy exigente. Next

Aquí elegí no crear disco duro para la maquina ya que en la descripción del reto decía que era live cd y pues no era necesario. Crear

Nos dara una alerta acerca de que no estamos creándole un disco daremos Click en continuar

Lo siguiente será configurar el hardware y desde donde queremos que arranque la máquina virtual y asignarle que tipo de red queremos que tenga Nat, Red en Puente O red interna. Las siguientes capturan Son la configuración que yo he elegido. Pero cada uno puede varias algunas cosas de acuerdo a su conveniencia.

Así queda finalmente la configuración YA solo queda dar click en Iniciar en el menú de virtual box

Máquina virtual iniciando

Ya con la maquina corriendo solo queda identificar que ip le fue asignada a la maquina yo como estoy sobre el rango 192.168.0.1 elijo lo siguiente con el scanner que tengo a mano en este caso es el Advance Ip Scanner pero vale cualquiera. Aquí tenemos el resultado 4 host en el mismo segmento de red solo tres levantados el 101 es mi maquina el 102 la virtual en este caso nuestro objetivo y la otra es la puerta de enlace o router.

En el navegador ingreso la ip 192.168.0.102 y obtengo lo siguiente

Doy click de nuevo en la imagen y me lleva a la descripción de los desafíos

Desafío 002
Tu país necesita de tu ayuda para encontrar la contraseña de acceso a un sitio web enemigo que contiene información útil, si no es encontrada a tiempo, la paz de la región estará en riesgo.
Debes tener éxito en la búsqueda de la contraseña de este sitio web militar (Sitio Web Militar).
Buena suerte!
El pantallazo inicial del reto nos muestra una caja de texto donde debemos ingresar nuestra clave para poder pasar el reto habitualmente lo que se debe hacer es revisar el código fuente de este tipo de retos y ayudarnos de herramientas como firebug o en chrome con la herramienta consola de javascript. Ya que estas nos permite poner paradas o breakpoint en el código para evaluar, comparar y asi llevar al proceso que llaman debugear.

Luego miro el código fuente y veo el siguiente scritp que es el que contiene el algoritmo que codifica la contraseña.

Aquí sabiendo quien es el que genera la clave paso a debugearla con el firebug sobre la web oprimo f12 y aparece firebug doy click en script y luego en regargar voy hasta el final del código y allis pongo una parada o breakpoint en la línea 95 para comparar lo que yo ingre en la caja de texto con la respuesta verdadera,(Tener en cuenta para nunca dejar la seguridad del lado del cliente).

Aquí solo escribo una letra o frase lo que quiera en la caja de texto y doy enter y me aparece la respuesta al lado derecho en este caso es antievolutionary pruebo y siiiii! Esa es.

Desafío 003
Los ataques XSS permiten que un usuario malicioso inyecte su propio código en páginas Web Vulnerables. Según el TOP 10 de OWASP de Seguridad en Aplicaciones Web, los ataques de XSS clasifican como el segundo más peligroso de la lista.
Su objetivo es hacer un “Alert Box” con el mensaje “XSS” en la siguiente página Web:
Sitio Web,”XSS me”.

Ya con la descripción uno sabe qué hacer, en caso de no saber tiene un punto de partida para buscar algún artículo relacionado con ataques XSS. En este caso es realmente fácil porque es el clásico XSS <script>alert(“XSS”);</script> pongo este script en el la caja de texto de la página y me aparase el alert con el mensaje que me piden en el reto.

Doy click en aceptar y me redirige a un nuevo mensaje.

Desafio 004
Un Hacker nos informó que el siguiente sitio web tiene una vulnerabilidad del tipo XSS.
(Sitio Web XSS) Lamentablemente, perdió las anotaciones que había tomado de cómo podía explotar dicha vulnerabilidad.
Su objetivo es hacer que aparezca un cuadro de alerta con el mensaje “XSS”. Cabe señalar además, que este sitio tiene un mecanismo de protección frente a este tipo de ataques.
Ingresando al reto como es acostumbrado.

Aquí tuve que leer un buen rato y sobre todo probar, probar y probar adjunto el link que leí y donde encontré la respuesta jejeje http://thehackerway.com/2011/05/23/explotandovulnerabilidades-xss-en-aplicaciones-web/ la solución que me sirvió fue la 14 del artículo lógicamente adaptada a mi necesidad o más bien a la del reto aquí pidenel alert debe decir XSS quedando el script <script>alert(String.fromCharCode(88,83,83))</script> también me sirvió este link http://ascii.cl/es/ para sacar el código ASCII de XSS.

Desafío 005
Es necesario que acceda al contenido del siguiente Sitio Web. Para lograrlo, usted debe comprar el navegador web “H4x0rBr0ws3r”. Ya que éste es demasiado costoso, usted tendrá que “engañar;” al sistema de alguna manera, para que éste le permita visualizar el contenido del sitio.
Para este reto he instalado la extensión o complemento llamado Tamper Data en Firefox pero para casos prácticos se puede hacer con netcat, User Agent Switcher o algún proxy como burp proxy.

Aquí nos están dando el user agent H4x0rBr0ws3r necesario para que nos muestre lo que queremos y pasar la prueba. Abro el tamper data y doy click en comenzar modificación

Luego en oprimo f5 para recargar la web y obtengo lo siguiente hay solo doy click en Modificar para cambiar el user agent

Luego cambio el user agent por defecto en este caso es el de Mozilla Firefox , quedando como muestra la imagen y generándome la recompensa .

Desafío 006
En esta misión usted debe probar sus habilidades de Caballero. los Caballeros no han desaparecido.
Aún existen, ocultando sus secretos. Su misión es infiltrarse en el siguiente Sitio Web. Obviamente hay un pequeño problema. No sabemos la contraseña. Podrías encontrarla?
Buena suerte!

Como de costumbre ingreso al reto y me encuentro con el siguiente mensaje y una caja  de texto a la espera que introduzca la respuesta, creí que iba a tener un poco de suerte pero no me da el siguiente mensaje donde me confirma que mi código no es correcto.

Decido ver el código fuente de la web que en Firefox CTRL + U y veo un caos completo

LA clave aquí está en <script language=”JavaScript”> document.write(unescape hago una búsqueda en google acerca de esto y entro en la siguiente web que tiene una muy interesante herramienta que nos devolverá el código html en claro.

Ya con el código html y java script en claro busco el script que valida el CODE y me encuentro con lo siguiente.(No pongo todo el código ya que es bastante alarga mucho el texto sin ser necesario)

A grandes rasgos este codigo es que validad lo que uno ingresa en la caja de texto del reto aqui vemos que si se ingresa la palabra easyyyyyyy! Habremos pasado el reto de lo contrario dara el mensaje Wrong Code…!! Habiendo pasado el reto. No sin antes haberme sorprendido por que no aparecia nada asi que seleccione todo y apareció el mensaje ufff.

Desafío 007
Tengo un buen amigo que estudia en la Universidad ACME, en la facultad de Informática y Telecomunicaciones. Por desgracia, sus notas no son tan buenas. Se lo que estas pensando “Gran noticia”… Hummm, tal vez no. Lo que si es una gran noticia, es la siguiente: El administrador de la red le solicitó 3000USD por cambiarle las malas calificaciones.
Esto obviamente es un caso de abuso de autoridad administrativa y fraude. Por lo tanto…  Es un una buena oportunidad para desenmascararlo y exponerlo de manera pública… Tengo que ingresar al sitio Web como administrador y cargar un archivo index.html en el directorio raíz, para presentar toda la evidencia de los fraudes cometidos en la Universidad.
Sólo necesito que consigas la contraseña de administración del sitio Web.
Buena suerte! >> Universidad ACME – Facultad de Informática.
Ingreso a la dirección del reto y me encuentro con lo siguiente, como ya estoy cogiendo hace unos retos atrás la buena costumbre de ver el código fuente.

YA estudiando el código fuente veo cosas interesantes como spoudastes/Banner01.bmp entro pero me da un error que no se encuentra ni la careta ni los archivos. Sigo viendo y me encuentro con algo muy interesante http://192.168.0.102/Hackademic/ch007/index_files/logo.png

Quito logo.png y me con el famoso y archiconocido Index Off (Es parte de la mala configuración de un servidor web en que se permite listar los archivos almacenas en ese direcotrio) de abro el archivo lastlogin.txt con el siguiente contenido:
Last Login user:
Irene Pretty : Irene
at 14/3/2000 10:59:00am

Ya con esa información regreso e ingreso Irene en la caja de texto dado como resultado la siguiente captura.

Aquí estuve un ratoooooooooooooooooo!!! Estancando hasta que se me ocurrio ver con la extensión firebug de Firefox y viendo las opciones había una que decía Cookies y el valor de userlevel era user asi que di click derecho editar y lo cambie por admin acepte y felicitaciones.

Desafío 008
Después de varios intentos, usted a logrado subir una webshell (Locus7Shell) en trytohack.gr
El problema es que con el fin de poder ejecutar comandos en el servidor, usted debe tener permisos de administrador (root). Su objetivo es elevar privilegios en el sistema.

Como siempre en este tipo de retos lo importante es leer todo lo que nos muestre para intentar comprender y a mi parecer este es uno de los más fáciles. Siguiendo mi propio consejo lo que hice fue escribir help y me mostro los comando permitidos siguiendo el orden el primero que ejecute fue ls que en el sistema operativo Linux se utiliza para listar los archivos y directorios, al utilizarlo me listo dos archivos index.php y b64.txt lo único que hice fue pegar b64.txt en la url quedando así:
http://192.168.0.102/Hackademic/ch008/b64.txt y dándome como resultado.

LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClVzZXJuYW1lOiByb290IA0KUGFzc3dvcmQ6IGcwdHIwMHQNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t

El mismo archivo da la pista de en qué esta codificado en este caso en base 64 una rápida búsqueda en google y entre en esta web obteniendo en texto claro el usuario y el password para elevar privilegios como pedían en el reto. Luego utilize el comando su me logué con el user root password g0tr00t y obtuve mi recompensa.

Desafío 010
Le gustaría convertirse en un Hacker?. Le gustaría convertirse en un miembro activo del grupo de Hackers más reconocido del mundo? El n1nJ4.n4x0rZ.CreW!
Antes de poder unirse debes demostrar que eres capaz de pasar la prueba que se encuentra en: http://n1nj4h4x0rzcr3w.com
Si tienes éxito en completar el reto, obtendrás un serial que debes usar para obtener la contraseña que le permitirá formar parte del grupo.
Su objetivo es eludir los mecanismos de autenticación, buscar el serial que se suministra con el nombre de usuario y contraseña del equipo de administración del sitio Web. Vamos a ello como siempre la captura inicial del reto .

Aquí mi aliada fue la extensión Tamper Data que ya había utilizado en el desafío 5 para hacer el spoofing (Falsear) el user agent del navegador aquí estuve un buen tiempo atascado de hecho dos días viendo el código fuente tratando de ver qué pasaba cada vez que enviaba caracteres diferentes ya que el password que me pedían no lo tenía hasta que en una de esas vi algo muy curioso cada ves que enviaba una frase o carácter aparecía una variable llamada LetMeIn con el valor False y como siempre lo básico lo lleva a uno a grandes cosas recordé el clásico enable = activado disable = desactivado 1 0 y vino a mi cambiar False por True y reenviar la petición me apareció un alert con una cadena rara pero que ya había visto en el desafío 006 y que era un UNESCAPE.

Solo copie la cadena de caracteres extraña pero ya identificada la pegue en el mismo decoder online que encontré para el desafio 006 y obtuve un serial.

Después de dar click en aceptar me redirigió a la siguiente web donde en título del mail era acerca de un seria así que solo introduje el serial puse mi Nick y le di send y aunque me enviaba un mensaje diciendo que el password estaba mal también me aparecía un mensaje de felicitación diciéndome que lo había logrado y que documentara el proceso.

Para finalizar decir que estuvo entretenido y aunque no pude hacer ni el desafío 001 ni el 009 en este solo pude averiguar que tenía un adminpanel.php por medio de nikto luego quise hacerle fuzzer de archivos por fuerza bruta con oswap dirbuster pero tardaba una eternidad así que lo deje así por el momento. Decir que el que quiera se lance al mundo genial de la seguridad informática y demás ramas, sin temor a saber o no, ya que todo con tiempo, dedicación, curiosidad y estudio se logra.

Solucionario propuesto por Andrés Bedoya (a.k.a @killr00t) al reto Security Challenge #CTF #Web + Premio: Libro Ethical Hacking 2.0, quien como siempre nos tiene acostumbrados ver en sus escritos un excelente nivel técnico y que ahora combina con un  magnífico video.

Como siempre animar y recordar a los recién iniciados y expertos a participar de estos desafíos, pues no hay mejor manera de aprender que enseñando…

Video solucionario al reto Security Challenge #CTF #Web por @killr00t

video

Documento Online

Solucionario propuesto por Fernando Quintero (a.k.a @nonrootal reto Security Challenge #CTF #Web + Premio: Libro Ethical Hacking 2.0.

Como siempre animar y recordar a los recién iniciados y expertos a participar de estos desafíos, pues no hay mejor manera de aprender que enseñando…

Felicitaciones a nonroot quien se convierte en el ganador del libro Ethical Hacking 2.0 de Héctor Jara y Federico Pacheco. Gracias además por compartir ese magnífico solucionario.

Aunque los solucionarios recibidos (que pronto estaré publicando también) no incluyeron el desarrollo de un exploit destaco el solucionario de nonroot debido a que evidencia muchos posibles puntos de intrusión, completamente aplicables no solo a este reto, sino a proyectos reales. Me gustó también los diferentes cuestionamientos que deja al final. Esto gracias a las experiencia recogida durante años en la profesión, sumado a los conocimientos y prácticas en el propio desarrollo de CTF’s. Para quienes no tenían conocimiento les comparto la lista dedicada exclusivamente al aprendizaje mediante el desarrollo conjunto de CTF’s. En este caso CTF Colombia.

Ahora que el solucionario ha sido liberado, dejo las correspondientes referencias del autor que desarrollo esté excelente Web CTF.

Anestis Bechtsoudis - Web oficial del CTF

Al final del solucionario dejo un exploit desarrollado por mr.pr0n que automatiza el proceso. Obviamente realizado una vez analizó en detalle la aplicación e identificó las fallas presentes en la misma.

///////////

Solución por nonroot:

La solución se va escribiendo en el mismo orden en que se van encontrando las cosas, puede parecer que la ruta era obvia y me desvío en otros asuntos, pero así funcionaba la mente en ese momento. La solución del reto me tomó 3 horas aproximadamente porque estuve pensando en posibles rutas que no me llevaron a ningún lado.

A. Lo primero como siempre es descargar la maquina del juego, chequear su integridad y buscar pistas en la descripción del reto que se publicó en el sitio web.

Link: http ://www.sec-track.com/security-challenge-ctf-web-premio-libro-ethical-hacking-2-0

SecTracker> md5sum Web_Sec_Challenge_Img.rar 328ddbf34e00d662ea4c89672dac29d3 Web_Sec_Challenge_Img.rar (OK)

SecTracker>

Pistas:

  • Una maquina linux (boot)
  • Servicio web corriendo en el puerto 8880 posiblemente (imagen del post introductorio)
  • Uso de MySQL (boot de la maquina)
  • Nombre de la maquina drunkadm (boot)

B. Hay que encontrar la maquina corriendo en la red local, un barrido de ping NO muestra maquinas activas en la red, es posible que la VM este filtrando.

SecTracker> fping -g 192.168.0.0/24
192.168.0.25 is alive
ICMP Port Unreachable from 192.168.0.152 for ICMP Echo sent to 192.168.0.152
192.168.0.159 is alive
192.168.0.160 is alive
ICMP Port Unreachable from 192.168.0.152 for ICMP Echo sent to 192.168.0.152
192.168.0.1 is unreachable 192.168.0.2 is unreachable

Si se observan los 3 tipos de respuesta con la utilidad fping, se pueden tener las maquinas que posibles.

“Is alive” la maquina esta activa y acepta los pings. “is unreachable” la maquina no esta disponible “ICMP port Unreachable” la maquina esta en otro estado (filtrada?), esta es nuestra candidata.

En mi caso la maquina mas sospechosa es 192.168.0.152. Veamos si tiene el puerto web (8880) abierto:

SecTracker> nmap -sS 192.168.0.152 -p 8880
Starting Nmap 5.61TEST4 ( http ://nmap.org ) at 2013-01-22 13:15 EST
Nmap scan report for 192.168.0.152
Host is up (0.00067s latency).
PORT STATE SERVICE 8880/tcp open cddbp-alt
MAC Address: 00:0C:29:26:4B:A8 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 11.36 seconds
SecTracker>

C. Entramos al sitio web y leemos el código fuente en busca de scripts php.

Observamos varios scripts php desde el source: info.php, index.php, upload.php, myphp.php

1

Empezamos a evaluarlos de forma básica:

  • index.php carga el sitio normal

2

 

El sitio permite subir imágenes que son desplegadas inmediatamente, las imágenes son almacenadas en el directorio /images/ sobre la raíz del sistema, mas adelante volvemos a esto.

  • upload.php requiere el envío de parámetros por POST

3

http :// 192.168.0.152:8880/myphp.php?id=101

Obtenemos información del sistema, al corrérle SQLMap contra este script nos dice que id no es una variable inyectable.

21:25:18] [WARNING] GET parameter ‘id’ is not injectable

4

Al cambiar valores del id, obtenemos diferentes respuestas, busquemos algunas mas:

SecTracker>for i in {1..10000}; do wget http ://192.168.0.152:8880/myphp.php?id=$i ; done

5

Obtenemos un resultado así:

SecTracker>ls -l

-rw-r–r–     1  root     staff     70 Jan 2 1 2 1:51 myphp.php?id= 1671
-rw-r–r–     1  root     staff     70 Jan 2 1 2 1:51 myphp.php?id= 1672
-rw-r–r–     1  root     staff     70 Jan 2 1 2 1:51 myphp.php?id= 1673
-rw-r–r–     1  root     staff     70 Jan 2 1 2 1:51 myphp.php?id= 1674
-rw-r–r–     1  root     staff     70 Jan 2 1 2 1:51 myphp.php?id= 1675
-rw-r–r–     1  root     staff     70 Jan 2 1 2 1:51 myphp.php?id= 1676

SecTracker>

Las respuestas con 70 bytes son las del mensaje de error, busquemos respuestas diferentes:

SecTracker>ls -la | grep -v “70 Jan”
total 10976
drwxr-xr-x 1346 root staff 45764 Jan 2 1 2 1:47 .
-rw-r–r–     1  root      staff 4598 Jan 2 1 2 1:47 myphp.php?id= 101
-rw-r–r–     1  root      staff 1326 Jan 2 1 2 1:47 myphp.php?id= 102
-rw-r–r–     1  root      staff 11012 Jan 2 1 2 1:47 myphp.php?id= 104
-rw-r–r–     1  root      staff 49949 Jan 2 1 2 1:47 myphp.php?id= 108
-rw-r–r–     1  root      staff 2031 Jan 2 1 2 1:47 myphp.php?id= 116
-rw-r–r–     1  root      staff 3475 Jan 2 1 2 1:47 myphp.php?id= 132
-rw-r–r–     1  root      staff 1867 Jan 2 1 2 1:47 myphp.php?id= 164
-rw-r–r–     1  root      staff 57314 Jan 2 1 2 1:47 myphp.php?id=99
SecTracker>

Según esto, los id 101, 102, 104, 108, 116, 132, 164 y 99 darán mensajes diferentes.

6

7

Con el id=132 logro identificar que la aplicación esta configurando cookies que pueden ser usadas para validar durante el proceso de upload de las imágenes …
Después de las pruebas me di cuenta que no funcionaba en ninguna validación, FAIL :)

8

D. Algo que intento en este punto es tratar de configurar una cookie “trypios” con diferentes valores. Ninguno de los valores configurados funcionó. FAIL :)

E. Lo que intento a continuación es validar la integridad de las imágenes que subo al sistema, para eso subo una imagen y luego la descargo para verificarla.

SecTracker>md5sum webchall*.png
9937c44d2c0f6a2f11240d8e2b 1069a0 webchall.png (Imagen que subo al sistema)
9937c44d2c0f6a2f11240d8e2b 1069a0 webchall2.png (Imagen que descargo del sistema)
SecTracker>

Con esto compruebo que el sistema conserva la integridad de las imágenes que se suben, pero lo que me llama la atención es el nombre de la imagen cuando sube al sistema, tiene cara de MD5 :P

Lo primero que intento es generar el hash MD5 de las imágenes que subo al sistema para compararlas con sus respectivos nombres cuando se almacenan, pero los valores no corresponden, entonces empiezo un proceso manual para intentar identificar un patrón.

a.jpg 394659692a460258b45a99f1424ea357.jpg
a.png 32d3ca5e23f4ccf1e4c8660c40e75f33.png
a.gif a7200b4bac77e8804f9e48304a92b6d9.gif
a.jpeg 14a53cac5a312f3d1ad4980fec051d42.jpeg
b .jpg efaf98db2eac3a61946ca0282ae6ddd4.jpg

Los nombres que aparecen en el sistema corresponden a los valores MD5 de los nombres de las imágenes que se suben :

SecTracker>echo -n “a.jpg” | md5sum
394659692a460258b45a99f1424ea357 –
SecTracker>echo -n “a.png” | md5sum
32d3ca5e23f4ccf1e4c8660c40e75f33 –
SecTracker>echo -n “a.gif” | md5sum
a7200b4bac77e8804f9e48304a92b6d9 –
SecTracker>

F. Descargo un shell en php con la intención de hacerlo pasar por una imagen.

El shell lo pueden descargar desde aquí:
http://xploitaday.komodin.org/tools/php-encoder/

9

 

G. Como paso siguiente intento subir un shell en php al sistema, pero obtengo un error relacionado con la extensión que uso en el nombre del archivo.

10

H. Intento camuflar la extensión del shell usando una doble extensión y genero el MD5 en caso de que suba al sistema.

SecTracker>cp shell.php shell.jpg.php
SecTracker>echo -n “shell.jpg.php” | md5sum
809d9ef057f63c676e 1d78dbb7a43826 –
SecTracker>

I. Subo el archivo shell.jpg.php al sistema y no se visualiza ninguna imagen, pero tampoco se genera un error, entonces intento cargar el archivo .php en el directorio /images/.

11

Con esto tenemos el shell web dentro del sistema.

12

J. Una vez dentro del sistema empiezo a buscar información como por ejemplo identificar la versión del kernel, verificar si el sistema tiene netcat, gcc, etc.

13

También busco los usuarios en /home y me encuentro con un usuario bob, como es el único usuario pareciera que tiene algo que ver con el reto.

14

 

Los scripts que están en el home del usuario bob requieren de una palabra secreta, cualquier palabra se puede usar pero no producen resultados coherentes (texto plano legible).

15

K. Sigo explorando buscando las posibilidades de comunicación del usuario bob, por eso intento encontrar archivos que tengan la palabra bob y termino entrar al inbox de correo del usuario en /var/mail/, sin embargo no tengo los permisos para poder leer los archivos, pero sospecho que el usuario puede tener mensajes que ayudan a resolver el tema. FAIL :)

16

17

L. Al no encontrar mucha información por este lado intento abrir puertos en la maquina para conectarme desde la consola (netcat).

18

Los puertos siguen apareciendo filtrados, lo intento con varios puertos pero obtengo el mismo resultado, por lo que pienso que el sistema debe tener el ip tables habilitado. Buscamos las reglas que deben cargar al inicio del sistema. En /etc/init.d/ encontramos que el archivo firewall.sh tiene permisos modificados y no puedo leerlos, pero eso me da indicios que seguramente si hay un firewall filtrando la salida y entrada de paquetes en puertos diferentes al 22/TCP y al 8880/TCP. FAIL :)

19

M. Ya un poco perdido con el asunto empiezo a probar exploits locales (exploits*.c) contra el kernel, exploits contra phpinfo(), contra apache, contra todo lo que se aparezca y nada, no logro escalar privilegios en el sistema, entonces pienso que quizá no sea necesario ya que el reto se trata de una aplicación web. FAIL :)

20

 

21

 

N. Vuelvo a la raíz del servidor web a leer detalladamente los archivos que se encuentran allí y veo un archivo que no había visto antes, el archivo /var/www/.proof .

22

En este archivo se menciona un código secreto, así que supongo que es el código del usuario bob.

O. Pruebo el código en el sistema y NO obtengo resultados correctos.

23

24

¿Será que el código está en base64?

SecTracker>echo -n “TGglMUxecj JDSDclN 1Ej ” | base64 -d
Lh%1L^r2CH7%7Q#
SecTracker>

WIN :)

25

 

26

P. El lugar donde se van a encontrar Alice y Bob es Akti Tompazi 4 , como se puede ver en la siguiente imagen de googlemaps donde se usaron las coordenadas encontradas.

27

Con esto se termina el reto, pero aún quedan cosas pendientes por investigar:

TODO: COSAS POR HACER

1. Escalar privilegios en el sistema (#).
2. Encontrar las claves de los usuarios root y bob.
3. Examinar si el servicio MySQL (127.0.0.1) tiene información.
4. Examinar si el servicio EXIM (127.0.0.1) tiene información o es vulnerable.
5. Buscar otra forma de explotar el sistema web (vulnerabilidad diferente).
6. Verificar si las librerías de AES usadas para cifrar el mensaj e de bob tienen algún bug introducido que permita romper el cifrado de forma diferente.
7. Identificar el motivo por el cual el archivo .php que se sube en el directorio /images/ del sistema se elimina cada cierto tiempo.

Si tienen alguna duda sobre el solucionario pueden escribir a: fernando.a.quintero (at) gmail (dot) com o contactarme por twitter en: @nonroot

Gracias por el reto!

/////////////////////

Exploit from mr.pr0n

PDF Online:


 

Hace algún tiempo publiqué en la Wiki de Sec-Track una pequeña recopilación de ejemplos de reportes de Test de Penetración. Una de las más importantes razones que a la publicación respecta es que considero fundamental evaluar las diferentes maneras en que las personas realizan una misma actividad y por supuesto nuestro intento de recoger los mejores procedimientos y resultados de las mismas.

Luego publiqué una herramienta muy interesante y que utilizo constantemente para la gestión y análisis de información recolectada y por supuesto presentación de la misma. En esta caso: MagicTree, Gestión de Reportes de PenTesting. Es por ello que cito mi apreciación personal sobre el desarrollo de esta fundamental etapa: Desarrollo y Generación de Reportes

El desarrollo de reportes en procesos de Test de Penetración es quizás una de las fases más importantes (casi al mismo nivel que la fase de recolección de información/Information Gathering). Pues es la mejor manera de transmitir todas las actividades realizadas y toda nuestra experticia técnica y metodológica a nuestros clientes.

A diferencia de algunos PenTesters que conozco. La generación y desarrollo de reportes me gusta y disfruto ejecutándola, ya que me permite interactuar directamente con la entidad, haciéndole ver de mejor manera eso que llaman retorno de la inversión.

Así como de importante, tiene de compleja… Pues entre las fases de la metodología de desarrollo de reportes, está la de unificar y analizar en gran detalle cada una de las salidas de diferentes herramientas. Claro, algunas traen sus propios sistemas de generación de reportes, pero pocas veces sabemos como interpretar los mismos… O peor aun (y en casos que he visto) los “ethical hackers certificados y sus super empresas” se limitan a copiar y pegar las salidas de herramientas tipo Nessus y ya está (una pena que luego hablaremos)

Otro aspecto fundamental en el desarrollo y presentación de reportes está por supuesto enfocar estos resultados a todo nuestro público objetivo. Dividiendo el mismo entre dos grandes grupos; Alta Gerencia (ie. CEO, CIO, CISO) y Equipos Técnicos de TI (ie. DBA, SysAdmin, WebMaster, Developers, etc).

El objetivo por lo tanto de esta publicación es compartir el excelente Webinar realizado por el equipo de thehackeracademy y que lleva como título: Reporting: The Difference Between Good and Great Penetration Testers.

Un video más que recomendado, tanto para quienes inician, como para quienes se dedican a la materia de manera profesional en la prestación de servicios de Test de Penetración.

Reporting: The Difference Between Good and Great Penetration Testers por  thehackeracademy

Security Web Hacking Challenge es un corto pero entretenido reto de seguridad en aplicaciones Web, que nos desafía a vulnerar un sistema hecho a la medida para el almacenamiento de imágenes.

El objetivo del reto es analizar en detalle el sistema de hosting de imágenes, enumerar características y funcionalidades del mismo y por supuesto identificar vulnerabilidades que nos permitan leer archivos ocultos en el sistema. No quiere decir esto, que la vulnerabilidad se trate de un LFI o Source Disclosure (aunque pueden existir) sino que una vez logremos identificar la vulnerabilidad (que pueden ser varias) y explotarla debemos escalar privilegios (o simplemente interactuar con los existentes) para leer información confidencial almacenada en el servidor objetivo.

La información precisa a identificar es un mensaje oculto entre dos personas. Precisamente la información sobre una cita entre ambas.

Para configurar el entorno del reto solo basta con descargar el archivo comprimido con la imagen VMWare del sistema. Descomprimir y ejecutar mediante VMWare Player, WorkStation, Fusion, etc… El servidor ya viene configurado para trabajar bajo DHCP, por lo tanto nos asignará de manera automática la IP objetivo. Uno de los primeros retos será identificar el mismo mediante un barrido PING. Asimismo debemos identificar el puerto de la aplicación Web destinada al almacenamiento de imágenes. Desde allí solo queda cumplir con los objetivos del reto.

Gracias a la Corporación El HackLab premiaré al mejor solucionario con el libro Ethical Hacking 2.0 El premio SOLO aplica para Colombia, pero igual bienvenidos todos los participantes de otros países. El solucionario ganador será el mejor elaborado de los recibidos. Esto puede implicar aspectos como la solución más creativa, diferentes vulnerabilidades en el mismo sistema, desarrollo de un exploit para la automatización de la explotación, etc…

El reto comienza desde  17-01-2013 hasta 25-01-2013.

El reto realmente no es complejo… Lo clasifico en un nivel básico-medio. Por lo tanto son bienvenidas todas las personas que recién están comenzando y las que llevan ya su tiempo :)

Pueden enviarme los solucionarios a 4v4t4r (AT) gmail (DOT) com

Descargar Security Challenge CTF Web (md5: 328ddbf34e00d662ea4c89672dac29d3)

Nota importante: El reto fue publicado hace varios meses por su autor original. Aun no publico la información relacionada para que traten de realizar el mismo sin información adicional o solucionarios.

Mucho éxito y have fun!!!

Solucionario propuesto por @killr00t al reto SAURON nivel Hard@killr00t cumplió con el objetivo del desafío: Realizar un solucionario diferente a los publicados en internet (aunque en este solo había público uno para el nivel fácil), hacerse root del server y mostrarlo de manera didáctica.

Como siempre animar y recordar a los recién iniciados y expertos a participar de estos desafíos, pues no hay mejor manera de aprender que enseñando…

Felicitaciones a @killr00t quién se convierte en el ganador de una tarjeta Amazon gift por un valor de $30 usd. Además que fue el único que envió solucionario de los 33 que descargaron el entorno…  Se concluyen varias cosas… Entre ellas que el entorno no estaba fácil, y que muchos acostumbran a realizar los solucionarios basados en los ya publicados (no está mal del todo) Pero el ideal es intentarlo por si mismo… Como vimos que hizo Killr00t ;)

Mucho ánimo, pues en unos días presento otro reto igualmente premiado gracias a la corporación ElHackLab.

Descargar solucionario (pdf) >>

Ver en línea:

n00bpentesting es un proyecto web de Aaron Woody (Revisor y colaborador del libro: Advanced Penetration Testing for Highly-Secured Environments: The Ultimate Security Guide) que busca acercar a las personas recién iniciadas e interesadas en el campo de los Test de Penetración, por medio de material de capacitación diseñado específicamente para ellos… Es decir, detallado, didáctico e instructivo…

En el blog se han difundido ya una serie de presentaciones (guías de laboratorios), herramientas y recursos relacionados de completo interés para quienes recién comienzan…

Dejo a continuación un resumen de lo publicado:

Guías Introductorias: Fundamentos de Test de Penetración.

Guía de Instalación y Configuración del Laboratorio de Prácticas.

Recolección Inteligente de Información

Análisis de Vulnerabilidades

Explotación de Vulnerabilidades

Post Explotación

Para más información y otros recursos exploren directamente el sitio web n00bPenTesting.com.

También pueden seguir las actualizaciones de Aaron Woody desde su cuenta en Twitter.

Estas son las slides actualizadas y empleadas en varias sesiones de ElHackLab presencial correspondiente al desarrollo del CTF6 LAMP Security. El objetivo de publicarlas, es dar a conocer un poco más el proyecto y compartir parte del material que se desarrolla en conjunto en cada una de las reuniones.

Aunque bien es cierto la presentación no detalla textualmente cada una de las fases (pues están desarrolladas para servir simplemente de guía en el laboratorio) si permiten seguirlo fácilmente con la simple interpretación (más de 100 slides)… Sobra decir que cualquier duda pueden hacérmela llegar por este medio, así como otros métodos de solucion…

Intenté cubrir cada uno de los posibles puntos de intrusión… Y sin embargo estoy seguro que habrán mucho más… Pues precisamente, el entorno está desarrollado para ofrecer diferentes opciones para cumplir con los objetivos.

Espero sea de utilidad el material y puedan utilizarlo como guía para otros entornos…

Solucionario del LAMPSecurity: CTF 6 Challenge por [Q]3rV[0]

Posted by 4v4t4r On julio - 16 - 2012

Nuestro amigo [Q]3rV[0] del Blog UnderTerminal nos comparte también su propuesta de solucionario para el pasado reto LAMP Security CTF 6.

Aunque no alcanzó completar todos los objetivos del desafío (hacerse root del sistema, y explicar de manera más didáctica el paso a paso de lo realizado) si tiene su merito por lo elaborado en el documento (muy buena la técnica de generar el UpLoad File desde MySQL – INTO OUTFILE, cuando se tiene permisos) y por supuesto lo más importante: compartir conocimiento.

Felicitaciones y muchas gracias a [Q]3rV[0]… Espero sigas participando en los demás desafíos ;) Y vayas mejorando y poniendo en práctica otras técnicas…

Dejo a continuación el solucionario y claro está, la invitación a que visiten su blog. (UnderTerminal)

Herramienta: MagicTree, Gestión de Reportes de PenTesting

Posted by 4v4t4r On julio - 9 - 2012

El desarrollo de reportes en procesos de Test de Penetración es quizás una de las fases más importantes (casi al mismo nivel que la fase de recolección de información – Information Gathering). Pues es la mejor manera de transmitir todas las actividades realizadas y toda nuestra experticia técnica y metodológica a nuestros clientes.
A diferencia de algunos PenTesters que conozco. La generación y desarrollo de reportes me gusta y disfruto ejecutándola, ya que me permite interactuar directamente con la entidad, haciéndole ver de mejor manera eso que llaman retorno de la inversión.

Así como de importante, tiene de compleja… Pues entre las fases de la metodología de desarrollo de reportes, está la de unificar y analizar en gran detalle cada una de las salidas de diferentes herramientas. Claro, algunas traen sus propios sistemas de generación de reportes, pero pocas veces sabemos como interpretar los mismos… O peor aun (y en casos que he visto) los “ethical hackers certificados y sus super empresas” se limitan a copiar y pegar las salidas de herramientas tipo Nessus y ya está (una pena que luego hablaremos).

Frente a esta problemática, @Gremwell desarrollo una aplicación llamada MagicTree, enfocada al análisis y gestión ordenada de reportes. Todo esto desde una agradable interfaz, que además es multiplataforma (Java) y que permite hacerlo mediante la gestión de nodos en estructura de árbol (de allí su particular nombre).

Dentro de sus fortalezas se encuentra el amplio repertorio de herramientas soportadas (Nmap, Nikto, BurpSuite, Nessus, OpenVas, Qualys e Imperva Scuba -entre otras basadas en salidas XML), y sobre todo su alta capacidad y eficacia para analizar los datos generados por las mismas… Todo esto sumado a la posibilidad de generar de manera automática reportes basados en plantillas por defecto, totalmente personalizables además.

Para explicarme de mejor manera veamos algunos ejemplos de uso de esta poderosa herramienta.

Escenario: PenTest Interno
Fase: Enumeración
Herramienta: Nmap (Zenmap)

Salida estándar de Zenmap (visor + xml)

Ejecución de MagicTree

Análisis del archivo XML (nmap) desde MagicTree (OpenFile…)

Generación automática de reportes desde MagicTree (Reporte: Puertos abiertos + Resumen hallazgos)

Escenario: PenTest Externo – Web Assessment
Fase: Enumeración, Identificación y Análisis de Vulnerabilidades
Herramienta: Nikto

Análisis de datos Nikto

Generación automática de reportes desde MagicTree (Reporte: Puertos abiertos + Resumen hallazgos)

Escenario: PenTest Interno
Fase: Identificación y Análisis de Vulnerabilidades
Herramienta: Nessus

Análisis de datos Nessus

Generación automática de reportes desde MagicTree (Reporte: Puertos abiertos + Resumen hallazgos)

Escenario: PenTest Externo – Web Asessment
Fase: Identificación, Análisis y Explotación de Vulnerabilidades (SQLi)
Herramienta: BurpSuite

Análisis de datos Burp Suite

Generación automática de reportes desde MagicTree (Reporte: Puertos abiertos + Resumen hallazgos)

Completamente útil para nuestras actividades del día a día… Sobra aclarar que estas salidas NO son las finales a entregar… Debemos personalizar en detalle los formatos y tener muy en cuenta que los mismos están orientados a complementar el reporte técnico del proyecto…

Más información y descarga de MagicTree >>