Sulley Fuzzing Framework

Hace unos años que apareció pero la verdad es que lo descubrí hace poco, gracias a mi amigo Roi (http://elotrolad0.blogspot.com/) que siempre anda como loco probando herramientas :) .

Sulley es un framework para fuzzear aplicaciones. Lo bueno es que es muy potente y te permite crear tus scripts en pocas líneas y con total independencia de la herramienta de fuzzeo. Además, si tenías algún reparo en aprender python, con esto ya es algo totalmente obligatorio. Al final, me rindo ante la evidencia de que para estas cosas, entre python y perl no hay color.

Lo ‘malo’ (entre comillas) es que el framework, de por sí, no integra las librerías básicas (FTP, HTTP, etc) y debes crearte tus propias librerias para fuzzear, además de que tienes que tirarte unas cuantas horas para aprender a usarlo ya que hay documentación de cómo crear las librerías pero no mucha sobre el uso con la máquina virtual, captura de paquetes, etc.

Aún así, es una buena opción el que venga ‘pelao’ ya que no usas librerías de otros y queda todo mucho más personalizado. Esto hace que no tenga límites, ya que puedes crear scripts para todos los posibles protocolos (aunque no exista un RFC).

Ahora mismo estoy probando FTP Servers vulnerables (que aparecen en inj3ct0r o en exploit-db) y los resultados son increibles. Sulley no sólo encuentra las fallos de los advisories sino que saca alguno más. Gracias a la herramienta vmcontrol puedes irte a sobar tranquilamente y a la mañana siguiente ver la pantalla con alguna que otra sorpresa.

Dejo un vídeo muy instructivo sobre el uso de esta herramienta:

Descarga: http://www.fuzzing.org/wp-content/Sulley%20Fuzzing%20Framework.exe

Manual: http://www.fuzzing.org/wp-content/SulleyManual.pdf

Todas las funciones: http://www.fuzzing.org/wp-content/SulleyEpyDoc/

Saludos

Etiquetas: , ,

TPlus 5.0 disponible

Bueno, al fin está lista la versión 5.0 de TPlus. Espero que no le saqueis muchos fallos :P

Los cambios que hay, a parte de pegarle un repaso de arriba a abajo, son:

  • Nuevo diseño agrupando por pestañas las diferentes funciones, para optimizar el espacio.
  • Cambiar ‘mis fotos’ a una pestaña.
  • Cambiar ‘mensajes’ a una pestaña.
  • Cambiar ‘estados’ a una pestaña.
  • Solucionar problemas al incrementar visitas.
  • Solucionar problemas en envío y recepción de mensajes. También añadir la imagen del usuario.
  • Solucionar problemas en el cambio de estados.
  • Añadir boton ‘responder mensajes’ en ‘mis mensajes’.
  • Añadir boton ‘cambiar ahora el estado’.
  • Revisar consulta de mensajes, que fallaba.
  • Revisar los textos de todos los idiomas.
  • Mejor optimización para una resolución de 1024×768.
  • Cambiar configuración del proxy para que sólo se abra al pinchar en el navegador, y evitar así el error del puerto 8008.
  • Solucionar problemas en el navegador:
    • Arreglar cambio de colores.
    • Solucionar problema al cargar algunas páginas.
    • Acelerar la navegación.
  • Bajar contador de visitas a 10 minutos (antes 12).

Espero que os guste!

Etiquetas: , , ,

Solucionario reto hacking enise

Como han quitado el reto no me acuerdo muy bien de algunas pruebas pero algunas soluciones serían:

Nivel 1-A

Había que saltarse la siguiente expresión regular: ^\-(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{6,}

Una posible solución es: -o=o o=oo o=oO66

Para resolverlo yo cogí y lo dividí en 3 apartados (en una copia en local) y fui saltando uno a uno los filtros:

(?=.*d) -> se pasa con o=0

(?=.*[a-z]) -> se pasa con o=00

(?=.*[A-Z]).{6,} -> se pasa con o=oO66

Esta es una posible solución, pero hay muchísimas.

Nivel 1-B

Editando el fuente de la página vemos al final un comentario con un texto en base64: cDNwMXQwXzA=

Que en texto plano es: p3p1t0_0

Una web para convertir de base64 a ASCII es: http://home2.paulschou.net/tools/xlate/ aunque hay millones

Nivel 1-C

Yo la pasé con la siguiente inyección:

user: enise
pass: ‘ or ‘a’='a

Nivel 2-A

Nos descargamos el ejecutable y con el PeID vemos que está empaquetado con UPX. Con el OllyDbg quitamos la protección de UPX usando el método de pushad / popad o cualquier otro método, ya que es una protección muy frágil y se puede saltar de muchas formas.

Una vez llegamos al OEP, buscamos en memoria la palabra INCORRECT y al lado está nuestra contraseña: Este3sTuP4$$!

Nivel 2-B

Este no lo pasé pero parece que habían dos carpetas ocultas: bin y log

Nivel 2-C

Yo la pasé con la siguiente inyección:

pass: ‘ or ‘a’='a’#

Nivel 3-A

Yo la pasé con la siguiente inyección:

user: ‘ or 1=1 or ‘a’='a
pass: xx

Nivel 3-B

Aquí había que programar. Si probamos todas las combinaciones por fuerza bruta no terminamos nunca así que acotamos aplicando ingeniería inversa, es decir:

^ es un XOR

<<< 8 desplaza 8 bits a la derecha y rellena con ceros a la izquierda

<<< 4 desplaza 4 bits a la derecha y rellena con ceros a la izquierda

Por tanto,

- nuestro valor final debe ser 436 (en hex = 1B4 y en binario = 110110100).

- al meter 4 bits (1 byte) a la derecha, como desconocemos el valor, tendríamos 16 combinaciones, de 0000 a 1111 en binario. Por tanto el resultado oscila entre 6976 y 6991.

- luego multiplicamos por 3 (siempre lo inverso que el javascript original) y por tant0 las combinaciones se disparan, ya que tenemos que multiplicar cada combinación anterior por 3.

- es decir, iria desde 6976*3 (20928) a 6991*3 (20973).

- después, al meter 8 bits (2 bytes) añadimos de 00 a FF, es decir, 256 combinaciones más.

- valor mínimo: 20928 = 51C0 (en hex) … por tanto 51C000 = 5357568 XOR 77886655 = 83211455.

- valor máximo: 20973 = 51ED (en hex) … por anto, 51EDFF = 5369343 XOR 77886655 = 83204416.

- el valor final está entre 83204416 y 83211455 = 7039 combinaciones posibles.

- dentro de estos valores probamos la contraseña si el resultado es 0.

El script  (en perl) que use es este:

#!/usr/bin/perl
use LWP::UserAgent;

my $p = 83204416;
my $res = 0;

while(1) {
 $res = $p ^ 77886655;
 $res = $res >> 8;
 $res = $res / 3;
 $res = $res >> 4;
 $res = $res ^ 436;
 enviar($p) if ($res eq 0);
 $p++;
}
sub enviar {
 my $dato = shift;
 my $cookie = "PHPSESSID=AQUI_MI_COOKIE";
 my $uri = "http://wargame.inteco.es/level3b.php";
 my $ua = LWP::UserAgent->new();

$ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1");
 @header = ('User-Agent' => $useragent, 'Cookie' => $cookie,  'Connection' => 'keep-alive', 'Keep-Alive' => '300', Content =>  [ password => $dato ]);
 my $response = $ua->post($uri, @header);
}

Nivel 3-C

Este era un fichero Flash. Editando el fuente de la web vemos el fichero SWF. Lo descargamos y con una versión de pruebas de Shothink SWF lo abrimos y echamos un ojo al fuente.

Hay un user/pass para despistar pero al final tenemos un hash con nuestra clave. No pa recuerdo ahora mismo pero era algo así como palillos o alguna palabreja similar.

Etiquetas: , , ,

Reto de hacking Enise

Sólo ha durado 2 días y ha sido algo chapucero (dado que el primer día fallaban 4 de las 9 pruebas y, esto hizo que perdiéramos mucho tiempo tratando de inyectar en páginas que no funcionaban … y al tratarse de un blind, ni te enterabas) pero, al final gané en la Modalidad A. Lo malo es que no puedo optar al premio ya que se me pasó la época universitaria jejeje.

Estimado señor,

Nos ponemos en contacto con usted como potencial ganador del concurso
Wargame celebrado en ENISE. Para poder nombrarle como ganador del evento
necesitamos que nos envíe a la mayor brevedad su nombre completo y
teléfono móvil, además de la acreditación de la matrícula en el último año
de carrera o FP de grado superior. En el momento en el que lo recibamos,
nos pondremos en contacto con usted.

Un saludo,

He de decir que si no llegan a fallar los 4 retos, el justo ganador habría sido RoMaN (el cual tampoco habría tenido premio, jejeje. Y bueno, aunque corto, ha sido divertido.

Muchas gracias a los organizadores por este reto (y la próxima vez, a ver si probamos los retos antes xDDD). Enhorabuena al ganador (el que sí que cumple los requisitos)

Etiquetas: ,

Solucionario al reto RootedCON’2010

Ya que Roman ha publicado en su web (http://www.rs-labs.com) los solucionarios al reto RootedCON’2010, he subido a mi web las soluciones que le mandé yo. Las podeis ver aquí: http://pepelux.org/download.php?f=papers/rootedctf_pepelux_es.pdf

Entre más de 1.000 participantes lo hemos terminado 18. La verdad es que ha sido duro, pues fueron 7 retos, 3 de los cuales tenían su miga. Tras 4 días pegado al ordenador, ha sido una experiencia muy buena ya que lo he pasado genial, además de aprender muchas cosas que he tenido que ir estudiando/repasando sobre la marcha.

He intentado escribir el solucionario lo más detallado posible para que se pueda seguir sin problemas, anotanto tanto las soluciones como los ‘malos caminos’ que seguí y los tropezones que me di por el camino.

Agradecer a Roman, a Dreyer y a todos los colaboradores y patrocinadores el excelente trabajo, que no ha defraudado en absoluto. Cada una de las pruebas ha sido un verdadero reto y ninguna de ellas ha defraudado. Además, se han pegado una currada impresionante y el resultado ha sido excelente. Espero que se animen y el año que viene hagan más retos.

A diferencia de otros retos, los datos eran reales, es decir, no se trataba de una simulación de una base de datos sino que había que hackear la base de datos en sí, accediendo al information_schema y teniendo que aplicar conocimientos bastante altos de MySQL, unidos a la perspicacia de cada uno.

Espero que os guste el solucionario. Un saludo

Etiquetas: , , ,

TPlus 4.12 disponible

Con esta versión ya deberíais ver todos a vuestros amigos. El problema que mostraba la 4.11 era que cuando se intentaba cargar un amigo con una imagen principal en el nuevo formato (al parecer no se ha vuelto al antiguo formato en todas las imágenes) daba un error y no seguía cargando la lista de amigos.

Las consecuencias eran:

  • Si tu primer amigo de la lista tiene el nuevo formato de imagen, ya no seguia cargando más amigos (y por eso no aparecía ninguno)
  • Si a mitad de cargar encontraba a alguien con el formato nuevo, dejaba de cargar (y por eso os salía incompleta la lista de amigos)

Ahora deberíais verlos todos pero, los que mantienen en nuevo formato de imagen, se verá su foto en pequeño, es decir, sandrán mezclados con fotos grandes y pequeñas.

Etiquetas: , , ,

TPlus 4.11 disponible

Al fin he sacado un rato para revisar los nuevos cambios de Tuenti.

Esta vez han sido muchos ya que han modificado muchas cosas:

- El userid ya no se encuentra en la cookie (ahora hay cosas nuevas)
- Las URLs han cambiado y ahora van los parámetros de distinta forma

En definitiva, he tenido que revisarlo todo, y como había prosa, no he podido mirar los mensajes, que seguramente no funcionen, pero al menos se pueden ver ya los amigos (y en grande :) )

Etiquetas: , , ,

Tuenti: nueva forma de codificar las URLs

Como demuestran los cientos de mails que me llegan, TPlus no va, de nuevo. Esta vez el causante es un cambio interno en el funcionamiento de Tuenti. Parece que han tocado algo de las cookies además de codificar las URLs de forma diferente.

He estado mirándolo por encima y tiene un poco de tela, por lo que me llevará tiempo …. algo de lo que no dispongo últimamente, así que no puedo decir cuando estará la nueva versión, sólo que intentaré arreglarlo en cuando tenga un hueco grande (esto requiere algunas horas de concentración :) )

Por favor, no escribais más diciendo que no va, que ya lo se!!! Cuando abrais TPlus y os diga que hay una nueva versión, es que ya estará solucionado. O también podeis seguir el blog, pues añadiré una nueva entrada cuando esté.

Saludos

Etiquetas: , , ,

Web challenges from RootedCON’2010 CTF

Si eres un apasionado de los retos de hacking, esta tarde a las 20:00 hora española dará comienzo un nuevo reto creado por RoManSoFt y Dreyer que, conociendo a estos dos personajes, la verdad es que proteme ser muy interesante … y también difícil.

Más info del concuro aquí: http://www.rs-labs.com/noticias/#38

Date prisa que sólo quedan unas horas para que de comienzo :)

Etiquetas: , , ,

TPlus 4.10 disponible

En realidad es la 4.8 (hice un rollback) ya que según habeis comentado varios (y he podido comprobar), vuelven a estar operativos los links antiguos.

Así que (de momento) con esta versión se verán las fotos en grande … hasta el próximo cambio de Tuenti

PD: las visitas no se pueden aumentar más … diossssss no me lo digais más!!!!!! … mandar sugerencias a Tuenti para que baje el intervalo de bloqueo de 12 minutos. Yo no puedo hacer nada!!!

Etiquetas: , , ,