Hack It! Nivel 8: reverse engineering en Windows

Descargamos el archivo .zip del nivel 8 y descomprimimos. Veremos dos ficheros : login.exe y login.lic

Ejecutamos login.exe y nos saludará la siguiente ventana:

O sea, «¡No! pero gracias por concursar…»

Empecemos con la artillería: abrimos el ejecutable en OllyDBG, y obtenemos otro mensaje de alerta no muy bonito:

«Entry Point Alert. Module login has entrypoint outside the code (as specified in the PE header). Maybe this file is self-extracting or self-modifying. Please keep it in mind when setting breakpoints!»

Probablemente el .exe esté comprimido. Lo más habitual es con UPX (de hecho este compresor de ejecutables ya ha aparecido en otras pruebas del HackIt! …) Sin embargo, tras probar con UPX veremos que no es el caso. ¿Qué hacer? Lo que deberíamos de haber hecho desde un principio, echarle un vistazo al binario con un editor de textos (como UltraEdit), a ver si vemos algún string interesante.

Y aquí os dejo que penséis un poco cómo seguir 😉

Hack It! Nivel 7: solución

Como ya comentamos, no tenía demasiado misterio. Descargar la captura de tramas de una conexión wifi con cifrado WEP contenida en el fichero tampered.cap y pasarle un crackeador por ataque de diccionario (en español). El diccionario utilizado es lemario-espanol-2002-10-25 encontrado en http://lemarios.olea.org/

La orden de crackeo también es sencilla:

$ aircrack-ng -w lemario-espanol-2002-10-25.txt tampered.cap

En unos pocos minutos aparecerá la clave para pasar al siguiente nivel: proclive .

El nivel 8 sí que nos costó un poco… tal vez porque había que practicar ingeniería inversa sobre un binario .exe , y estamos un poco oxidados en OllyDBG 😉

Concurso de extensiones para Firefox 3

La noticia es del pasado 20 de Marzo (hace ya algo más de 15 días), pero se pasó y creo que es interesante. Mozilla Lab ha anunciado el concurso «Extend Firefox 3«, donde se reta a los programadores a desarrollar una extensión para la versión 3 del navegador, a ser posible, haciendo uso de las novedades que esta versión aporta. Podéis ver las reglas del concurso en la página anterior, pero por resumir: hay dos categorías, mejor extensión original, y mejor extensión actualizada (para premiar a los desarrolladores de nuevas extensiones y a aquellos que se preocupen de actualizar extensiones ya existentes). Los premios son jugosos en ambas categorías:

viaja al Mozilla Developer Day 2008 (de la región que el campeón quiera) (valor aprox. en dólares: $1,750), un Apple MacBook Air computer ($3,000), VMware Fusion (ARV: $200), ActiveState Komodo IDE 4 con T-Shirt y taza ($350), y una bolsa para el portátil con logos, pegatinas, camisetas y libros de Firefox ($300). Total, unos $5,600 en premios para los 3 primeros clasificados.

Los siguientes 6 clasificados recibirán: ActiveState Komodo IDE 4 con camiseta y taza ( $350), y la bolsa Firefox para el portátil ($300), haciendo un premio total de unos $650.

Fechas: el concurso comenzó el 17 de Marzo de 2008 y finalizará el 4 de Julio de 2008. ¡Ánimo a todos los participantes!

Reto para «Código & Colegas»

Un grupo de alumnos ha organizado para esta tarde en la FISS (Facultad de Informática de San Sebastián), un pequeño meeting bajo el nombre «Código & Colegas», para compartir código, ideas y conocer a más gente interesada en programación. La verdad es que le podían haber dado más bombo a la iniciativa y ser más concretos en los objetivos, pero , ¡hey! están empezando y por tanto, más que criticar, mejor aplaudir y colaborar 🙂 Ahí va mi granito de arena: un reto de programación, cortito y entendible, de los que provocan necesidad de una buena dosis de cafeína para resolverlo:

Sean los Strings números y dígitos. Cada una de esas cadenas contiene únicamente dígitos entre 1 y 9, inclusive. Para cada ocurrencia de un dígito en el String dígitos , debes eliminar una única ocurrencia de ese dígito en números. Objetivo: terminar - tras haber eliminado los dígitos necesarios - con una cadena que represente el número más alto posible. Devolver este número como String

Ejemplo 1:
números: «12345»
dígitos: «513»
Devuelve: «24»
Si eliminamos los dígitos ‘5’, ‘3’, ‘1’ obtenemos el número 24.

Ejemplo 2:
números: «654321123456»
dígitos: «612534»
Devuelve: «654321»
(Eliminando de la segunda mitad de números )

Ejemplo 3:
números: «2654982765982365»
dígitos: «2345978»
devuelve: «698265265»

NOTA: el ejercicio está sacado de una de las competiciones de TopCoder. Que saber de dónde viene no provoque la pérdida de interés por intentar resolverlo por vuestra cuenta 😉

Asociar extensiones con aplicaciones en GNOME

Me ha llevado más de 2 minutos encontrar la opción, por lo que considero que no es evidente y que hay que documentarla. El problema: en una carpeta con ficheros .doc, al hacer doble click sobre ellos se abre una ventana en la que se me indica que las mejores aplicaciones para abrirlo son AbiWord y KWord (ninguna de las dos está instalada en mi PC). OpenOffice no sale como alternativa (tengo instalado OpenOffice 2.4, desde paquetes .deb). ¿Cómo hacer que la extensión .doc esté asociada con OpenOffice.org Writer? Abrir Nautilus / Situarse en la carpeta donde está el .doc / botón derecho sobre el .doc / Ficha Abrir con. Elegir OpenOffice Writer o teclear la ruta hacia esa aplicación. ¡Listo!