Monday 28 January 2008

Parche de bootsplash 3.1.6 para la última versión estable del kernel linux 2.6.24.x

Hola,

Este es un parche de bootsplash 3.1.6 para la nueva versión del kernel Linux 2.6.24.1.

Bootsplash es el soporte para el arranque gráfico del kernel de linux usando el framebuffer, hasta hace poco era el único que existí­a y reemplaza a la opción Bootup Logo (el pinguinito que sale en la parte superior por cada CPU). Aunque no está incluido en la rama oficial del kernel Linux sí lo inclyen varias de las más importantes distribuciones.

Han aparecido otros proyectos como Usplash o Splasy (user-space) que lo reemplazan debido a que no necesitan parchear y recompilar el kernel y su configuración es más sencilla.

El último parche oficial de bootsplash es para la versión 2.6.21 del kernel linux, yo a título personal seguí­a usandolo en versiones posteriores como la 2.6.23, aquí­ os dejo este parche para la versión 2.6.24.1 para quien quiera seguir usandolo en la última versión del kenel y para los nostálgicos.

Descargamos el parche en /usr/src y una vez descomprimido parchearlo es así de fácil:
penelope:/usr/src/linux# patch -p1 < ../bootsplash-3.1.6-2.6.24.diff
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/char/vt.c
patching file drivers/video/bootsplash/bootsplash.c
patching file drivers/video/bootsplash/bootsplash.h
patching file drivers/video/bootsplash/decode-jpg.c
patching file drivers/video/bootsplash/decode-jpg.h
patching file drivers/video/bootsplash/Kconfig
patching file drivers/video/bootsplash/Makefile
patching file drivers/video/bootsplash/render.c
patching file drivers/video/console/bitblit.c
patching file drivers/video/console/fbcon.c
patching file drivers/video/console/fbcon.h
patching file drivers/video/Kconfig
patching file drivers/video/Makefile
patching file drivers/video/vesafb.c
patching file include/linux/console_struct.h
patching file include/linux/fb.h
penelope:/usr/src/linux#

Solo queda compilar e instalar el núcleo, además del arranque gráfico luego os deja unas tty's como esta:

screenshot bootsplash

Puedes hacer click sobre la imagen para ampliarla.

Y vosotros usais arranque gráfico? bootsplash? Usplash? Splasy? o sois de los que preferis la clásica pantalla negra con letras blancas?

Saludos

Enlaces

Lo envié también a la lista en sourceforge.net y podeis revisarlo online aqui

Descarga parche bootsplash 3.1.6 para linux kernel 2.6.24

ACTUALIZACIÓN: Funciona tanto en 2.6.24 como en 2.6.24.1 y 2.6.24.2

Tuesday 22 January 2008

Parche para el módulo http de THC-Hydra: error manejando los códigos de respuesta HTTP

THC-Hydra es una conocidísima herramienta de pentest, la cual ocupa el puesto 15 en el ranking 'top 100 de herramientas de seguridad de red' de insecure.org, y es parte de nessus (la herramienta de análisis de vulnerabilidades de mayor renombre del mundo UNIX).
Permite realizar ataques de diccionario por red soportando más de 30 protocolos, con el fin de comprobar la seguridad de nuestros servicios.

Como comentan en su página:

"Number one of the biggest security holes are passwords, as every password security study shows. Hydra is a parallized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that, it is flexible and very fast."

El número uno de los grandes agujeros de seguridad son las contraseñas, como muestra cada estudio de seguridad de contraseñas. Hydra es un crackeador de login paralelizado que soporta numerosos protocolos de ataque. Añadir nuevos modulos es sencillo, ademas que, es flexible y muy rápido.

"This tool is a proof of concept code, to give researchers and security consultants the possiblity to show how easy it would be to gain unauthorized access from remote to a system."

Esta herramienta es un código de prueba de concepto, para dar a los investigadores y consultores de seguridad la posibilidad de mostrar lo fácil que sería obtener acceso no autorizado a un sistema remoto

Hace unos días estuve probando el módulo hydra-http, uno de los módulos de THC-Hydra en su última versión (la 5.4) referente al protocolo http, y me dí cuenta que no funcionaba como yo esperaba en determinadas situaciones.

En concreto, da falsos positivos debido a que no parsea correctamente los códigos de estado del protocolo http devueltos por el servidor al realizar las consultas para saber si un usuario es válido en el servidor http o no. Es decir, hay casos en los cuales el usuario es valido pero THC-Hydra no nos informa de ello.

Pongamos un escenario en el cual sabemos que existe un directorio protegido con autenticación, por ejemplo /protected/ en el cúal no existe index.html ni ninguna página por defecto (los usuarios legítimos acceden mediante la uri /protected/path_desconocido), nosotros pasaríamos al thc-hydra como parámetros la dirección del servidor, el usuario y el password (o las listas de estos), así como el path que queremos comprobar (en nuestro caso /protected/).

La herramienta se pondrá en funcionamiento, y realizará una petición a /protected/, si el usuario NO es válido el código de estado que devuelve el servidor será 401 (Authentication Requiered), sin embargo si el usuario es correcto, al no existir un index.html ni similares el código de retorno será 403 (Forbidden), pero debido a un fallo en el manejo de los código de estado http devuetos no nos informará que el usuario es correcto. El mismo error sucede con códigos como 404 (Not found), ya que hydra-http busca el código de respuesta http 200 (Correcto) o 301 (Redirect).

He escrito un parche que corrige este bug, aqui lo teneis:
--- hydra-http_orig.c 2007-12-31 14:51:42.000000000 +0100
+++ hydra-http.c 2007-12-31 15:50:29.000000000 +0100
@@ -53,7 +53,7 @@
*/

ptr = ((char *) index(buf, ' ')) + 1;
- if (ptr != NULL && (*ptr == '2' || strncmp(ptr, "301", 3) == 0)) {
+ if (ptr != NULL && (*ptr == '2' || *ptr== '3' || strncmp(ptr, "403", 3) == 0 || strncmp(ptr, "404", 3) == 0)) {
hydra_report_found_host(port, ip, "www", fp);
hydra_completed_pair_found();
} else {

para aplicarlo simplemente entrar en el directorio de THC-Hydra 5.4 y patch -p0 < hydra-http.patch
seguidamente compilar de nuevo.


Un ejemplo práctico:

Supongamos que sabemos que existe un recurso protegido llamado /protected/ (pero no tiene un fichero por defecto):

Petición sin usuario:
user@host:~$ wget http://server/protected/ 2>&1 |grep HTTP
Petición HTTP enviada, esperando respuesta... 401 Authorization Required

Petición con un usuario válido:
user@host:~$ wget --http-user=user --http-password=password http://server/protected/ 2>&1 |grep HTTP
Petición HTTP enviada, esperando respuesta... 403 Forbidden

entonces correriamos el hydra, (para simplificar el ejemplo usare solo un usuario/password):
user@host:~/hydra-5.4-src$ ./hydra server http-head -l user -p password -m /protected/
Hydra v5.4 (c) 2006 by van Hauser / THC - use allowed only for legal purposes.
Hydra (http://www.thc.org) starting at 2007-12-31 16:00:09
[DATA] 1 tasks, 1 servers, 1 login tries (l:1/p:1), ~1 tries per task
[DATA] attacking service http-head on port 80
[STATUS] attack finished for server (waiting for childs to finish)
Hydra (http://www.thc.org) finished at 2007-12-31 16:00:10

No encuentra que el usuario sea válido, aunque si lo es!

Sin embargo, aplicamos el parche
user@host:~/hydra-5.4-src$ patch -p0<hydra-http.patch
patching file hydra-http.c

/* recompilamos */
user@host:~hydra-5.4-src$ make clean && ./configure && make

ejecutamos de nuevo con los mismos parámetros:
user@host~/hydra-5.4-src$ ./hydra server http-head -l user -p password -m /protected/
Hydra v5.4 (c) 2006 by van Hauser / THC - use allowed only for legal purposes.
Hydra (http://www.thc.org) starting at 2007-12-31 16:01:08
[DATA] 1 tasks, 1 servers, 1 login tries (l:1/p:1), ~1 tries per task
[DATA] attacking service http-head on port 80
[STATUS] attack finished for server (waiting for childs to finish)
[80][www] host: server login: user password: password
Hydra (http://www.thc.org ) finished at 2007-12-31 16:01:09

bingo! ahora sí lo encontro!, simplemente era un problema manejando los códigos del protocolo HTTP (buscaba el código 200 o 301). Pero en este caso el código devuelto es 403 (forbidden) y también indica que el usuario es válido (al igual que si hubiera sido 404 (not found).

ACTUALIZACIÓN: Link en inglés: Patch for the THC-Hydra 5.4 error handling http response codes.

Saludos

Thursday 10 January 2008

Repaso de la privacidad en la actualidad

Hola,

Una de las cosas que no queria dejar de comentar aunque fue noticia hace ya días, es el caso de sospecha que recae sobre Adobe en cuanto a espiar o engañar a sus usuarios, en concreto los usuarios de la suite CS3 (PhotoShop, Illustrator, etc) cuando lanzaban alguna de sus aplicaciones se ha comprobado que ésta accedía a una dirección muy cuirosa: 192.168.112.2O7 (dot) net, nótese el 2O7, es una O (letra) y no un 0 (número), además de la coletilla (dot) net.

El dominio 2o7 (dot) net pertenece a una empresa llamada Omniture que se dedica al análisis de estadísticas web. Además de la violación de privacidad que esto conlleva, tiene el factor adicional de la dirección engañosa, sin otra explicación que intentar confundir a un usuario poco experimentado (que podría confundirlo con una diercción IP local del tipo 192.168.X.X).

Esto sucede en el entorno actual donde la privacidad en los buscadores es un tema candente, en concreto el buscador que está en el punto de mira por parte de la Union Europea es Google, ya no sólo por la
privacidad en las búsquedas
y el almacenamiento de los datos sino también por la compra de DoubleClick, todo esto sumado a que hace poco kriptopolis publicó esta noticia

En este marco, donde las cosas cada vez están más negras, el buscador Ask.com anuncia que está muy comprometido con la privacidad del usuario y presenta el servicio AskEraser el cual ofrece al usuario que los datos relativos a las búsquedas (terminos buscados, dirección IP, etc) sean borrados de los servidores de Ask en cuestión de horas. Por fín parece que empiezan a tomar la privacidad en serio.

Sin olvidarnos en que los servicios de geolocalización van proliferando, en concreto Google dispone de My Location el cúal se integra con Google Maps para móviles, y permite conocer nuestra posición exacta vía GPS si disponemos de él, y lo más llamativo funciona de igual manera aún sin disponer de GPS, aunque menos preciso, esto se consigue mediante la localización de las antenas que repiten la señal de los móviles. Podeis leer más información sobre esto aqui y ver el post del blog oficial de Google donde hay un video explicativo.

Por último, publicaron un informe de privacidad de los gobiernos en el 2007, aqui podeis ver un mapa donde se encuentran coloreados los paises atendiendo a su índice de privacidad:

Privacidad

Aquí teneis la leyenda:

Leyenda privacidad

Como se puede ver abunda el negro, rosa y rojo frente al azul y verde que son gobiernos que respetan más los derechos y la privacidad e los ciudadanos. Esperemos que para 2008 mejore la situación actual.

Podeis acceder al informe al completo en esta url

Saludos

Wednesday 2 January 2008

Resumen de seguridad informática de 2007

En Hispasec han realizado un interesante resumen de seguridad referente al pasado año 2007 en el que destacan las noticias que han considerado más relevantes de cada mes, tomando como fuente el boletín diario que publican.

Consta de 3 partes cada una sobre un cuatrimestre del año, aqui os dejo los enlaces para su consulta:

Resumen de seguridad de 2007 (I)
Resumen de seguridad de 2007 (II)
Resumen de seguridad de 2007 (III)

Tuesday 1 January 2008

Empezando el 2008 y 25 aniversario de TCP/IP

Hola,

Hoy día 1 comenzamos el 2008 y precisamente se cumple el 25 aniversario de la adopción generalizada del protocolo TCP/IP, la familia de protocolos de red en la que se basa Internet.

El 1 de enero de 1983 los 400 ordenadores de la red ARPANET (creada por encargo del Deparamento de Defensa de los EEUU a finales de los 60 y que sería el germen de Internet) pasaron de usar el protocolo NCP a usar TCP/IP .

Como nota cuirosa, la imagen del día del buscador Google, en la que se puede apreciar que su logotipo ensalza el número 2008 unido por un cable de red (se puede apreciar de la misma manera el conector RJ45).

Además de que en el confeti, en la parte inferior se puede leer: SYN SYN/ACK ACK, flags utilizadas en el Protocolo de Control de Transmisión (TCP) para iniciar una comunicación valida.

Google New Year 2008

Saludos