Revista Linux+ 5/2009 (Número 54)

El tema central de este número es «Soluciones para empresas»
En el DVD adjunto encontraréis: # Debian 5.0 LENNY

La nueva versión de Debian que soporta un total de doce arquitecturas de procesador e incluye los entornos de escritorio KDE, GNOME, Xfce y LXDE entre otros (Versiones 32 y 64 bits)

También podréis leer los siguientes artículos:

# Máquinas virtuales: Solución ideal para la PYME
# ¿Crisis en la empresa? Ahorra el dinero con software libre
# Programación en Gambas: Crea tu propio juego
# Google Search Appliance: Ahorra el tiempo y energía en la empresa
# Emulación de entornos empresariales IT
# Hacking para linuxeros: Cracking Wi-Fi
# Más allá del Conocimiento Libre: Liberando y compartiendo ideas
# Entrevista a Jordi Bufi, co-fundador de Neurotic
# Entrevista a Aurora Garal, co-fundadora y CEO de Worthidea

Dar formato al código de un programa en VIM

Receta rápida para darle formato al código en VIM (el lenguaje: cualquiera de los soportados por VIM, o sea, legión):

Ejemplo en PHP; indicamos el tipo de archivo:
:set filetype=php

Marcamos todo el texto y le damos formato, pulsando ESCgg=G

ESC –> Modo comando
gg –> saltar a la primera línea
= –> formatear el código
G –> hasta la última línea

Hitzaldia: Jabetza intelektuala eta teknologia berriak

Conferencia en euskera, bajo el título «Propiedad intelectual y nuevas tecnologías». Allí estaré (Donostia, centro Korta, sala VC3): OpenCourseWare ekintzaren barruan, EHUk honako hitzaldia antolatu du biharkorako.

Maiatzak 15, goizeko 10etan

Marko Txopitea software askearen munduari lotutako aholkulari-informatikoa
da eta baita Indymedia Euskal Herria, Sindominio, Hackmeeting, Librezale,
Zabaldu, Ezebez, CompartirEsBueno, Politika 2.0 eta beste talde batzuetan
parte hartzen duen hacktibista. Hamabostero GARA egunkarian teknologia
berriei, Interneti, sare sozialei, jabetza intelektualari eta abarrei
buruzko artikuluak argitaratzen ditu. Bere blog pertsonala: http://www.ikusimakusi.net

Hackit!: nivel 3

Warning! Este post muestra paso a paso cómo superar la prueba 4 (nivel 3) del HackIt! de la Gipuzkoa Encounter 2009. Si no quieres verlo, deja de leer… ¿Todavía estás aquí? Entonces ¿quieres leer la solución? Vale, tú mismo. Allá vamos:

0) Descargar el ejecutable para Windows a crackear. Si estás en Linux, aprovecha para pasarle el comando strings y ver si encuentras algo interesante – no hay gran cosa-. Ya puestos ábrelo en vi (sí! abrimos el binario en vi) . Aquí sí que vemos algunas cadenas interesantes. Entre ellas UPX!

1) UPX es un empaquetador de ejecutables (tanto para Win como para Linux). Descargamos UPX. Desempaquetamos el ejecutable (se puede hacer en Linux con Wine si se desea)

/tmp/upx303w$ wine upx.exe -d ../crackit.exe
Ultimate Packer for eXecutables
Copyright (C) 1996 – 2008
UPX 3.03w Markus Oberhumer, Laszlo Molnar & John Reiser Apr 27th 2008
File size Ratio Format Name
——————– —— ———– ———–
28672 <- 8704 30.36% win32/pe crackit.exe
Unpacked 1 file.

2) La idea ahora es abrir el ejecutable con algún debugger para Win. Por ejemplo, OllyDBG. Lo he probado con Wine y no ha ido muy fino así que abrámoslo en el sistema del maligno 😉

Abrimos el fichero desempaquetado crackit.exe en OllyDBG.

Ponemos un punto de ruptura en la primera línea ejecutable del .exe (en la 00401811). Para ello, basta con hacer doble click sobre la línea en cuestión (el número de línea se pondrá rojo, igual que en la imagen). Ahora, dado que la primera línea es un «call 004023E4» lo inspeccionamos con «step into», es decir, pulsamos F7 para ver el código al que ese call está llamando. Ahora, empezamos a navegar por el código usando F8 (o sea, step over, es decir, ejecución línea por línea, sin meternos en los call)

Seguimos así hasta la línea 00401665 «call 00401005». Realmente la idea es que pulsamos F8 hasta ver cuándo se abre una ventana MS-DOS que nos está pidiendo login y password. En ese momento apuntamos la línea que provocó esa llamada y nos damos cuenta de que es la 00401665. Ahora reiniciamos la sesión de debug y pulsamos F7/F8  hasta pararnos en 00401665. Pulsamos F7 (step into) para ver «las tripas» de ese método.

Ahí hay un «jmp 00401010». Pulsamos F7. Y seguimos con F8, línea a línea. En la 00401050 vemos que se prepara el string que nos indicará por pantalla «En esta prueba es importante saber quién eres…». F8 y veremos que se hace una llamada a printf. Seguimos con F8. En la línea 004010A2 vemos que se hace una llamada a fgets (se solicita por teclado un string al usuario). Tecleamos «euskal» y pulsamos intro para seguir depurando. F8 hasta que nos pida el password. Tecleamos cualquier cosa (12345678, por ejemplo).

Ahora se supone que en algún momento deberá de compararse lo que hemos tecleado nosotros (12345678) con la clave correcta que se supone que deberíamos de teclear. Así que vamos pulsando F8 hasta que veamos el «strcmp» pasar por delante nuestro y justo antes, el string con el que comparar  🙂

(pulsa sobre la imagen para ver la contraseña en la línea 004011B3). Suerte con el nivel 4 😉

¿Qué pasa cuando Google falla masivamente?

¿Qué ocurre? que no funciona el buscador Google, obviamente. Pero es que tampoco Gmail. Ni Google Reader. No funciona GoogleSyndication.com… ni google-analytics.com, ni googleads.g.doubleclick.com, ni Google Adsense, ni ajax.googleapis.com. Eso es lo que pasa, entre otras cosas cuando Google deja de funcionar. Es decir, que medio Internet (yo diría que más de medio) deja de funcionar. ¿Por qué? Porque algunos navegadores (Firefox entre ellos), cuando no encuentra el banner de Google Adsense correspondiente, deja de mostrar el resto de la página. Se queda en modo «guru meditation», cargando y cargando sin mostrar nada más que lo que ya cargó al llegar a ese banner fatídico. ¿Y cuál es el porcentaje de webs que hacen uso de Google Adsense? MUY alto. Y si no, harán uso de ajax.googleapis.com, o de cualquier otro servicio de Google. No somos conscientes de lo que esta empresa ha conseguido acaparar. Y lo peor es que somos fieles usuarios y la tenemos en un pedestal (¡yo el primero, no podría sobrevivir en Internet sin los servicios de Google!). Cada vez que muestra algún servicio nuevo nos metemos de cabeza. Y a gusto, sin ningún remordimiento. Miedo me da.

Nota técnica: para poder al menos navegar medio decentemente, se pueden meter los dominios de Google apuntando a localhost en /etc/hosts. Aunque sea de forma temporal, hasta que el cataclismo que haya ocurrido en los servidores de tío Google se consiga solucionar.