domingo, diciembre 19, 2010

BBB64: Buscando Bujeros en Base64 (1 de 4)

***************************************************************************************
- BBB64: Buscando Bujeros en Base64 (1 de 4)
- BBB64: Buscando Bujeros en Base64 (2 de 4)
- BBB64: Buscando Bujeros en Base64 (3 de 4)
- BBB64: Buscando Bujeros en Base64 (4 de 4)
***************************************************************************************

Base 64 es un sistema de numeración posicional que usa 64 como base. Es la mayor potencia de dos que puede ser representada usando únicamente los caracteres imprimibles de ASCII. [Wikipedia]

Como tal, es un sistema de codificación de información y no de cifrado de la misma, es decir, es una forma distinta de representar la misma información, que no añade ninguna medida de seguridad extra. Es por eso, que me llamó mucho la atención cuando encontré que el diccionario de sinónimos de Word propone codificar como sinónimo de cifrado. Para ilustrar aquel rápido post desde un aeropuerto, se me ocurrió buscar algunos ejemplos que ilustraran ese hecho, algo rápido. Sin embargo, al hacer las pruebas, me encontré con la sorpresa de que se puede encontrar mucho más de lo que al principio supuse. Es por ello, que pospuse los ejemplos hasta tener realizadas más pruebas. Y estas van en este artículo

Jugando con Admin

La primera de las pruebas que hice fue buscar la codificación de admin, que en base64 es YWRtaW4= a ver que salía, y me hizo gracia encontrar cosas como estas:

Figura 1: Lista de usuarios en un sistema. Es un servidor de chats

Figura 2: Metadatos en la página de la UGT con el usuario admin como creador

Figura 3: Log de ficheros subidos por el usuario admin

Figura 4: "Extraño" valor en la cookie de una aplicación de la rfef

Por supuesto, de jugar con la palabra admin, a utilizar este truco para buscar credenciales, solo iba un paso, así que, a por ello.

Jugando con Username y Password

Tras ver la cantidad de información que aparecía codificada en Base64, decidí que era momento de buscar ficheros de log que guardasen datos de conexiones. Para ello basta con utilizar las palabras Username (VXNlcm5hbWU=) y Password (UGFzc3dvcmQ6) - ojo que Base64 es case-sensitive - en las búsquedas de ficheros de texto o lde tipo log, y esto es lo que apareció.

Figura 5: Usuario autenticado. Password en Base64

Figura 6: Usuario admin autenticado. Password en Base64

En algunos casos no es necesario ni decodificar los valores, basta con seguir leyendo el log.

Figura 7: Password decoficada

Al final, éste es el más sincero de todos los logs, ya que el que aparezca la password en los anteriores codificada en base64 y no en texto claro crea una falsa sensación de seguridad.

***************************************************************************************
- BBB64: Buscando Bujeros en Base64 (1 de 4)
- BBB64: Buscando Bujeros en Base64 (2 de 4)
- BBB64: Buscando Bujeros en Base64 (3 de 4)
- BBB64: Buscando Bujeros en Base64 (4 de 4)
***************************************************************************************

8 comentarios:

Darioxhcx dijo...

jojooo
que lindo curro , muy bueno ;D

c0ngr4ts

rafavargas.com dijo...

La codificación en Base64 (valga la redundancia) también suele ser muy útil cuando un Apache tiene el magic_quotes_gpc activado.

Noel B. A. dijo...

buen post

Anónimo dijo...

Ja.. -10

Anónimo dijo...

En vez de Username has puesto Usersname. Muy curioso el post :)

Maligno dijo...

@anonimo, fixed. Gracias!

sparrowise dijo...

Increible!
Vendeme tu imaginación y conocientos para llegar a estas cosas!
Cuando vi la palcula Hackers 2 (basada en Kevin Mitnick)vi como este se rompia la cabeza en averiguar como funcioaba "algo" para explotarlo.

Nunca pensé que nadie podría estudiar "algo" para explotarlo.

Eres un ejemplo: Hecha la ley, hecha la trampa

VonRey dijo...

Me guftan tus post, ahora que he estudiado sobre redes y seguridad, entiendo las trazas de wireshark y las implicaciones de base64, me guftan todavía más.
Atte,

Entradas populares