-->
Jan 19

Wordpress muestra diferentes errores en la página de login, dependiendo de si el usuario existe o no. Si el usuario no existe mostrará “ERROR: Invalid username”.

Esto permite a un posible atacante reducir el número de parámetros en un ataque con diccionario. Si el usuario averigua el nombre de usuario, podrá probar contraseñas para ese usuario, pudiendo llegar a dar con ella.
Así que me puse a investigar el código de Wordpress, para algo tenía que servir haber aprendido PHP para un proyecto universitario. Así di con las líneas a editar. El fichero a editar es:

wp-includes/pluggable.php Línea 298

El trozo de código es este.

$login = get_userdatabylogin($username);

if (!$login) {
   $error = __(‘<strong>ERROR</strong>: Invalid username.’);
   return false;
}

Después de comprobar los datos en la BD, si el login es incorrecto mostrará el mensaje que ya he comentado. Si editamos esta línea, podremos hacer que muestre el mismo mensaje que cuando el username es correcto, pero la contraseña no. El código quedará:

$login = get_userdatabylogin($username);

if (!$login) {
   $error = __(‘<strong>ERROR</strong>: Incorrect password.’);
   return false;
}

Esta es una de muchas medidas que podemos disponer, dificultará al hacker medio o script kiddie su trabajo.

escrito por Miguel

Jan 17

Seguramente hayáis borrado alguna vez algún archivo por equivocación en vuestro Linux y después soltado alguna maldición al daros cuenta. Es sabido que recuperar ficheros borrados en Linux es mucho más difícil que en Windows. Sin embargo, hoy explicaré cómo recuperar ficheros borrados fácilmente, primero sin usar la temida consola y luego con ella. Primero un poco de contexto para entender el asunto a fondo.

Aunque cuidado con que sacáis de las papeleras, ¡que podéis encontraros de todo!

alapapelera.png

¿En qué consiste la operación de borrado?
Bueno, pues mucha gente borra cosas en su ordenador sin entender muy bien qué hace el ordenador con esos datos. ¿A dónde van? Una explicación sencilla que se suele dar para explicar esto, es que un ordenador funciona como un libro que tiene un gran índice que se puede ir editando. El índice indica la página donde se guardaran los datos. Así el sistema operativo indexa y maneja los datos. Cuando quiere borrar algo, no arranca la página, ni la tacha, simplemente borra la entrada del índice. Así cuando toque utilizará esa página de nuevo reescribiendo encima.

Cierto es que este comportamiento depende de una capa lógica denominada filesystem o sistema de ficheros. Sí hombre, si usas Linux esto te tiene que sonar: ext3, reiserfs… En el ejemplo anterior, los sistemas de ficheros se podrían considerar unas reglas y estándares que indican qué información debe aparecer en el índice, como editar las páginas…

¿Por qué es más difícil recuperar ficheros en Linux que en Windows?
El sistema de ficheros de Windows, centrándonos en NTFS, está hecho para cubrir el error humano del usuario, no se sabe si por casualidad o como feature que diría Microsoft. El caso es que cuando se borra la entrada del índice, por así decirlo, se puede leer lo que había escrito antes si miramos fijamente. Mientras que en Linux esto no ocurre.

La explicación técnica para el que quiera leerla, es que por ejemplo ext3 rellena con ceros todos los punteros de bloques del i-nodo correspondiente al fichero. Característica que no tenía el sistema de ficheros del que evoluciona ext2. Por eso en ext2 resulta mucho más sencillo recuperar datos borrados, utilizando una herramienta llamada debugfs. Sin embargo, esta característica no está puesta por los desarrolladores con mala leche, sino para evitar problemas con el journal cuando el sistema se cuelgue o apague por cortes luz.

¿Podré recuperarlo todo?
Hombre, tampoco es que esto sea Renault ocasión, si la página ha sido reescrita, es decir, si los bloques donde estaba el fichero han sido reutilizados, recuperarlo queda fuera de técnicas software. Sin embargo, resulta sorprendente la cantidad de información que puede salvarse incluso después de un formateo (esta es otra historia que pronto os contaré).

GRESCUE
Estaba yo lamentando la calamidad de haber borrado un trozo de una práctica para la Universidad, cuando en Gnome files di con una
Seguir leyendo »

escrito por Miguel

Jan 11

Una navaja con la que no se nos resistirá ninguna conexión inalámbrica. Este es un tema muy serio, debemos saber que piratear una red inalámbrica es un delito. El hacking no consiste en saltarse la seguridad de un sistema, consiste en aprender y entender. Sobre qué es y qué no es un hacker hay páginas a patadas así que no me lío. Lo primero es que para poder piratear una red, necesitamos entender cómo funciona y de qué vulnerabilidades vamos a aprovecharnos. Aquí explicaré lo básico y ampliaré con bibliografía, este es un tema realmente profundo y complejo.

Antes de nada recomendaría la lectura de 2 clásicos, el primero me trae gratos recuerdos:

  • Manual hacking wireless para principiantes: Explica casi desde cero lo básico en referencia a la seguridad inalámbrica. Es un howto tremendo, de lo más leído de elhacker.net.
  • Taller de redes WiFi del gran Vic_THOR: Este manual antes accesible en el foro de la revista hackxcrack (RIP) y ahora sólo descargándonos el backup del foro de la red, contiene un tratado sobre la redes inalámbricas que va desde la capa física a niveles más altos.

PARCHEANDO PARA REINYECTAR
Lo primero que haré es parchear mi chipset inalámbrico ipw2200 para que pueda reinyectar y así no tener que estar días para poder romper la clave de una red.
En la página oficial de la suite aircrack podremos encontrar un listado de chipsets y manuales para parchearlos para reinyectar. En concreto yo me baso en la última versión disponible para el ipw2200. Aquí tienes el hilo del foro donde el creador publicó el parche para la ipw2200.

Si leemos un poquito los enlaces anteriores veremos que el parche está pensado para el kernel 2.6.20, el que viene con Ubuntu Feisty 7.04. Para parchear una Ubuntu Gutsy siempre que tenga el kernel por defecto, el 2.6.22, tendremos que editar el parche como se explica en este hilo propuesto en los comentarios por tarin.

Estos son los pasos que he ejecutado (Hay algunos que cambian respecto de la wiki de Aircrack):
Seguir leyendo »

escrito por Miguel