martes, 18 de noviembre de 2008

Nuestros queridos amigos los routers. La salvación

En anteriores entregas andaba yo quejandome, que si los routers, que si el fscan...pelándome con la versión 0.6, suplicando que alguien me diera la versión 1.0, intentando entender el código...un infierno.

El señor escucho mis ruegos nocturnos y un día después de aquello la web de los hermanos Tarasco¿? volvió a la luz. Con la versión 1.0 beta 5 del fscan.

Grandes cambios, facilidad para usar la libreria HTTP FScan Core en nuestros programas, mas esquemas, mas passwords, mas de todo.

Una maravilla !!

Gracias señor...señor Tarasco.

miércoles, 12 de noviembre de 2008

Nuestros queridos amigos los routers. Reloaded

...En anteriores episodios...
Nuestros queridos amigos los routers.

Muy poco a poco he ido ojeando el código del fscan. Es horrible ver códigos que no los has hecho tú de cero, que no sabes el por qué se hacen las cosas y además tan complicados :S

Al final me tope con lo que empecé buscando, el porqué del fallo que me dió. Resulta que sucede que falla con combinaciones "user" + ":" + "pass" mas largas de 27 carácteres:

void *Escanea(void *thread){
   ...
   char password[28]
   ...

Pues fale, aumento el tamaño del buffer y a correr. Ahora el programa pilla el super password de mi router, lo malo es
que le quité el soporte para openSSL y la salida no sale bien ordenada, estaba pensado para 27 carácteres ...Que kaos xDD

El código está muy bien, me gustaría rescribirlo para comprenderlo y poderlo adaptarlo facilmente a otros programas. Quizás algún día me de por automatizar la búsqueda y el redireccionamiento de puertos de estos cacharros...

Pero antes de ponerse a hacer un trabajo tan duro, porque no usar la versión 1.0 de este programa.
¿Que !!? ¿Pero existe la versión 1.0 y nosotros haciendo el tonto con la 0.6?
Pues si y no. Existe la 1.0, juro que un día la use y todo, pero ahora no encuentro la herramienta por ningún lado y en su página no puede descargarse :(  Es mas, la caché de google me dá la razón:

2008, March: Fscan HTTP Proxy developed. Improved Fscan core API
2008, February: Fscan v1.0 project and Fscan HTTP Core API published

¿Donde está tarasco? ¿Ya le abdujo una mujer? Vuelve !!!

Lo que si está todavía en su página es el "Fscan HTTP Core API":
http://www.tarasco.org/Web/fscan/index.html

Fscan core
This library is our HTTP/1.1 implementation for developing HTTP security software under win32/linux. Supports multithreading, SSL and native digest/NTLM/basic authentication.

Esto ya es otra cosa, otra cosa que da mucho mas miedo que la anterior :S

Ahora tendré que meditar que hacer: seguir con la 0.6, programarme la mía que funcionará peor pero comprenderé o seguir buscando la 1.0.

¿Y todo esto para que? Pues para el final usar varios routers para hacer saltos de uno a otro y al final acceder a una ip de forma "anónima".

martes, 11 de noviembre de 2008

Como casi soluciono el reto 6 de S21Sec

Estaba un día revisando blogs y tal cuando me tope que justo acababan de publicar el reto 6 en el blog de S21sec.

Para empezar en el texto del reto no estaba el reto...ya estamos. Lo primero fue ver el código fuente, "seguro que hay alguna pista" y efectivamente, allí hay una frase muy rara:

<!-- Hola, sí, el reto está aquí: Venga, 3,1,2, a ello!!!!: +>>+++++++++++++++++++++++++++++++++[+++< .....

Eso me sonaba a un lenguaje de programación que había visto en alguna parte, buscando por "lenguajes de programación raros" encontré que se llamaba brainfuck y en la wikipedia había un enlace a un compilador/debugger, perfecto.

Seguro que es compilar y listo....NO. Eso no funcionaba, se quedaba pillado :( Así que toco entender un poco brainfuck y ver como había muchísimos bucles sin sentido, cabrones ¿y ahora que?  Ganas de matar en aumento.

Un descanso, una ducha y recuerdo eso de "venga 3, 1, 2 a ello", eso era muy raro. ¿Se conmutarán cada 3 instrucciones?

Eran 18.087 instrucciones, umm justo divisible por 3. Así que fui al final y miré las últimas 3. .]< habrá que ordenarlas de modo que hagan algo con sentido, y lo mas lógico es que el programa acabe imprimiendo una letra con el ., así que lo normal es que acabara así: <].

Realice esa conmutación sobre todos los grupos de 3 instrucciones. Ejecute el programa y devolvió una horrenda salida:

Huk pawf, qv tq ohjgpdmmg sd xaiax rwd bmzga. Dsjs wntm hwjuwma rokw vwwee rwkusmgmflw wd nisiawflz fuqzwjg, yex emw qs yiedgfwk ga ocfljsnezws vw vzsowxjsvj. hmqzwlwoebshmfljpgblgtsmrmpsjjsrwidmflgnvqwflamioesuhmfooocetsjmapskusjbaepsjjsmefckwakbuucftsbjggwgftseorokwljzsbiflgrdp Niwfs kpedhw

Ganas de matar ++
Lo ojee un poco traté de aplicar cesar y nada. Además esas líneas intermedias sin espacios entre los caracteres daban bastante miedo.

Tras estar a punto de mandarlo a tomar vientos, me fijo en que seguro que lo último que dice es "Buena suerte"´. Y que si así fuera coincide que el 3 y el 11 carácter que corresponden a la letra w serian la e de Buena suerte. Umm además a una distancia de 8 caracteres, ¿será la clave de longitud 8?

Tras sacar los desplazamientos y pasarlo a caracteres se me queda la clave FAOMIIII y el texto se descifra, bieeeeen.

Muy bien, ya te aproximas al final del juego. Para esta tercera fase debes des- cargarte el siguiente fichero, del que ya dispones la contrasenia de descifrado. hachetetepepuntopuntobarrabarrawwwpuntosveintiunosecpuntocombarradescargasbarra- retoseisguionbajoguionbajofasetrespuntozip Buena suerte.

A descargar el fichero zip, voy a descomprimirle, pongo la clave de descifrado de antes y ZAS password incorrecto. Ganas de matar aumentando mas y mas.

Tras repostar un rato y pensarlo mas detalladamente recordé que vigenere lo había aplicado al revés. Ya que en la aplicación web que use puse el texto cifrado como plano y la clave FAOMIIII, pero debería haberlo hecho al revés!! Y efectivamente la clave real era VAMOSSSS. Fichero descomprimido.

Pero el juego sigue mas y mas, no se cansan!! Abro el fichero y la cabecera dice que es un GIF, pero no lo reconoce ningún programa. Leo un poco el RFC y veo que la longitud es absurda, 10 de alto por ~10000 de ancho. Cree un gif de ese tamaño para comparar la estructura y nada tenia sentido, el gif mío ocupaba muchísimo menos. Hay un hola y adios desconcertantes. Mikel da unas pistas de lo mas extrañas de vivaldi, mozart, bach. Nada tiene sentido.

Las ganas de matar llegan a su limite y abandono hasta nueva idea feliz que nunca llegó.

 

Hace unos días han publicado la solución en ella, Dani Kachakill y Dreyer & Uri han puesto el solucionarío del reto completo siguiendo unos procedimientos muy correctos y bien explicados.

Lo que me falto fue identificar que ese último fichero no era un GIF sino un archivo WAV :S Nunca lo habría logrado.

Muerte a los retos.