***************************************************************************************
- 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)
***************************************************************************************
- 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)
***************************************************************************************
jojooo
ResponderEliminarque lindo curro , muy bueno ;D
c0ngr4ts
La codificación en Base64 (valga la redundancia) también suele ser muy útil cuando un Apache tiene el magic_quotes_gpc activado.
ResponderEliminarbuen post
ResponderEliminarJa.. -10
ResponderEliminarEn vez de Username has puesto Usersname. Muy curioso el post :)
ResponderEliminar@anonimo, fixed. Gracias!
ResponderEliminarIncreible!
ResponderEliminarVendeme 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
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.
ResponderEliminarAtte,