elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 05:46  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits
| | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | |-+  Intentando predecir sesiones.... ayuda!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Intentando predecir sesiones.... ayuda!!  (Leído 4,674 veces)
waizen

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Intentando predecir sesiones.... ayuda!!
« en: 21 Junio 2009, 14:49 »

La idea es que partiendo de una sesión de un usuario sin permisos consigamos acceder a la cuenta de otro usuario.

La cookie se llama "sid", tiene este estilo:

x:0c836edf5dc44b7bde1b42503aa3ad50:1245585214

Vista así me di cuenta de que tenia este formato:

[user id]:[md5 hash]:[time]



[user id] es el nuero de usuario, este valor lo puedo averiguar

[time] es la fecha de cuando se abrió la sesión, lo averiguaríamos a fuerza bruta ya que sabríamos a que hora se conecta el usuario con un margen de error de unos 10 minutos si estamos atentos

[md5 hash] es el valor que mas problemas me da, por ello he abierto varias sesiones para mirar haber si encontraba algún patrón claro:


Código:
xxxx:ab2ae9cc1b3f618251ac44996e032fd7:1245585204

como veréis nunca se repite, por lo que pensé que utilizaría alguna función como mt_rand o microtime para que sea "aleatorio"

así que probé haber si unicamente utilizaba la función microtime:
  
Código:
<?php
for ($i = 1; $i <= 999999; $i++)
{

$var = md5((0.000001*$i).'00 1245585180');

if($var == 'ba37aae00d337e0da86f379be6ef9e9c') echo 'aaaaaaaaaaaa';


}

?>

no conseguí nada..........
haber si alguien me ayuda a crackear algun hash md5 de esos :DDDDD
« Última modificación: 14 Julio 2009, 18:44 por waizen » En línea
Saberuneko


Desconectado Desconectado

Mensajes: 1.221


The Furry Geek


Ver Perfil WWW
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #1 en: 22 Junio 2009, 12:44 »

http://www.md5decrypter.com/

Espero que te sirva... ;)
En línea
Azielito
no es
CoAdmin
***
Desconectado Desconectado

Mensajes: 9.114


>.<


Ver Perfil WWW
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #2 en: 22 Junio 2009, 18:20 »

Código:
[quote author=md5decrypter.com]Md5 Hash: f15f539ea45048d37778670ab22100ea
A decryption for this hash wasn't found in our database

=\

Prueba aca
http://milw0rm.com/cracker/insert.php
En línea

WHK
吴阿卡
Moderador
***
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #3 en: 25 Junio 2009, 11:09 »

No se si yo no entendí bién o los demás no entendieron  :P

Tu quieres algo como esto:
https://foro.elhacker.net/nivel_web/reset_admin_password_117_smf_teoria-t241014.0.html

Lo que tienes es el id del usuario que en este caso puedes saber y un tercer valor que es el tiempo del login que puede ser crackeado pero tienes un hash en medio que no puedes descifrar y lo mas probable es que sea la combinación del user mas el pass como por ejemplo md5(user:pass).
Si quieres intentar crackear el hash o sea intentar obtener un hash válido y no tener uno ya en mano como los demás pensaban debes saber exactamente cual es el tercer valor porque te explico...

2:xxxxxxx:5

Supongamos que tengo el user con id "2", el hash es "xxxxxxx" y el tiempo es "5", entonces para poder crackear el login necesito esto:
2:$hash:5
Donde $hash sería cada posibilidad tratando de atinarle a fuerza bruta pero que pasa si el time no es 5 y es 100? y si el time está entre 1111111111 y 199999999 ? ya tendrías 999999999 posibilidades de intentar crackear un solo hash, y como debes crackear por fuerza bruta entonces vas a tener que procesar una cantidad de pruebas igual al número de palabras en tu diccionario multiplicado por 999999999 xDDDDDD mientra mas grande sea el diccionario mas te demoras y mientra mas corto sea menos posibilidades tienes de encontrar la contraseña.

Si te entendí mal y ya tienes un hash en tu poder no necesitas crackearlo, solamente inyecta la cookie a tu navegador y ya, refrescas y ya estás dentro como ese usuario. javascript:document.cookie="id:hash:tiempo";
« Última modificación: 25 Junio 2009, 11:11 por WHK » En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
waizen

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #4 en: 29 Junio 2009, 10:41 »

si es eso WHK  la cosa es que el hash del medio parece aleatorio con el mismo tiempo:

Citar
64706589:6315c517bafd53063cc6e31ff3f687d1:1245585205
64706589:5dbe586aef5b2c04afdc15c1d1bd3542:1245585205
64706589:68cd0732a49a126c272c9def70f598a6:1245585205
64706589:e469497c662017910ae4e218dbb0bd80:1245585205
64706589:21cd3021a805b3bb36e0a4050daac5cc:1245585205

por lo que supongo que usará algo como microtime()+time()+userid para sacar el hash algo así:

md5(time().microtime().$uid); o sino
md5(time().mt_rand().$uid); o parecidos

ahora estoy intentando haber si saco algo a fuerza bruta pero esta medio difícil  :P




lo de las posibilidades lo tengo controlado :D porque acertaré a que hora se conecta con un margen de error de 30 segundos o algo así, asi que posibilidades habrá bastantes pero con suerte se podría conseguir :D
« Última modificación: 29 Junio 2009, 10:48 por waizen » En línea
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #5 en: 14 Julio 2009, 17:48 »

Citar
64706589:6315c517bafd53063cc6e31ff3f687d1:1245585205

Esa cookie si no me equivoco es de tuenti...

Siendo el primer parámetro el número identificador del usuario, el segundo parámetro es el identificador de sesión (sid), no es ningún hash, y el último parámetro no tiene importancia, es para saber si el usuario sigue activo en la página Web o no.

El sid es una cadena alfanumerica pseudo-aleatoria de 32 caracteres...

Utiliza los siguientes caracteres como base:

Código:
abcdefghijklmnopqrstuvwxyz0123456789

Puesto que su longitud es fija y el número de caracteres totales es de 36, el número de posibilidades es 36^32, o lo que es lo mismo... 6,3340286662973277706162286946812e+49.

El sid, como bien he dicho es psudo aleatorio, ¿qué quiero decir con pseudo? pues que prácticamente es aleatorio, pero teoricamente no, ya que para generar una serie de números aleatorios, es necesario pasarle al susodicho algoritmo un número, llamemosle X, para que a partir de ese número, pueda generar los demás números pseudo-aleatorios.

¿Y de dónde sacamos X? He ahí el dilema, funciones como time y microtime, son predecibles, ya que el tiempo es lineal, y yo se que hora será dentro de 30 minutos, por lo tanto, ya deja de ser aleatorio. Por lo tanto, para que el algoritmo fuera perfecto, X debería ser aleatorio, así que seguimos en las mismas.

Actualmente los sid generados son pseudoaleatorios y X puede ser los bytes de memoria utilizados por un programa, el tiempo que tardo en ejecutarse una serie de operaciones, etc... Vamos, que por muy pseudoaleatorios que sean esos números, va a ser muy dificil dar con ellos.

Existen nuevos métodos para la generación de números aleatorios, como puede ser la velocidad y la dirección del viento. Pero esos métodos ya son llevados al extremo y tan solo son usados por físicos en sus experimentos.

¿A dónde quiero llegar con esto? A ninguna parte, ya que computacionalmente es imposible optar por la fuerza bruta, pero a veces es necesario entender lo que expliqué para comprender otras cosas.




« Última modificación: 14 Julio 2009, 22:28 por yeikos » En línea
waizen

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #6 en: 14 Julio 2009, 18:52 »

Citar
64706589:6315c517bafd53063cc6e31ff3f687d1:1245585205

Esa cookie si no me equivoco es de tuenti...

Siendo el primer parámetro el número identificador del usuario, el segundo parámetro es el identificador de sesión (sid), no es ningún hash, y el último parámetro no tiene importancia, es para saber si el usuario sigue activo en la página Web o no.

El sid es una cadena alfanumerica pseudo-aleatoria de 32 caracteres...

Utiliza los siguientes caracteres como base:

Código:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

Puesto que su longitud es fija y el número de caracteres totales es de 62, el número de posibilidades es 62^32, o lo que es lo mismo... 2,2726578844967513453552415636275e+57.

El sid, como bien he dicho es psudo aleatorio, ¿qué quiero decir con pseudo? pues que prácticamente es aleatorio, pero teoricamente no, ya que para generar una serie de números aleatorios, es necesario pasarle al susodicho algoritmo un número, llamemosle X, para que a partir de ese número, pueda generar los demás números pseudo-aleatorios.

¿Y de dónde sacamos X? He ahí el dilema, funciones como time y microtime, son predecibles, ya que el tiempo es lineal, y yo se que hora será dentro de 30 minutos, por lo tanto, ya deja de ser aleatorio. Por lo tanto, para que el algoritmo fuera perfecto, X debería ser aleatorio, así que seguimos en las mismas.

Actualmente los sid generados son pseudoaleatorios y X puede ser los bytes de memoria utilizados por un programa, el tiempo que tardo en ejecutarse una serie de operaciones, etc... Vamos, que por muy pseudoaleatorios que sean esos números, va a ser muy dificil dar con ellos.

Existen nuevos métodos para la generación de números aleatorios, como puede ser la velocidad y la dirección del viento. Pero esos métodos ya son llevados al extremo y tan solo son usados por físicos en sus experimentos.

¿A dónde quiero llegar con esto? A ninguna parte, ya que computacionalmente es imposible optar por la fuerza bruta, pero a veces es necesario entender lo que expliqué para comprender otras cosas.






gracias por contestar  ;D

respecto a las posibilidades de acertar elhash serian con estos caracteres: abcdefghijklmnopqrstuvwxyz0123456789 ya que no usa mayúsculas la sid. Así que las posibilidades se quedarían en:
36^32 = 6,3340286662973277706162286946812e+49


demasiadas  :rolleyes: :rolleyes: :rolleyes:

se podría bajar bastante ese numero de probabilidades de acertar pero no lo suficiente así que dejo el caso xD
En línea
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #7 en: 14 Julio 2009, 22:31 »

Así es, se me pasó ese detalle, de todas maneras, la cantidad de posibilidades sigue siendo descomunal xd.

(*) Modifiqué mi primer mensaje para evitar confusiones.

PD: No cites los últimos mensajes o mensajes enteros pls, gracias :)
En línea
sirdarckcat
Troll Buena Onda y
Moderador
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #8 en: 15 Julio 2009, 15:01 »

si es un sid no pueden hacer simplemente session fixation? logueas al usuario con tu sesion, y lo mandas a la pagina de inicio de sesion otra ves (o le haces logout si eso no destruye la sesion).
En línea

yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #9 en: 15 Julio 2009, 15:56 »

nah, en tuenti siempre se genera un sid nuevo en cada identificacón
En línea
sirdarckcat
Troll Buena Onda y
Moderador
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #10 en: 15 Julio 2009, 16:45 »

puedes iniciar sesion si ya estas logueado?
En línea

yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #11 en: 16 Julio 2009, 02:57 »

no, en vez de iniciar una nueva sesión, utiliza ya que la se abrió.

De todas maneras el problema es que no se puede alterar el valor de SID via GET/POST para así poder predefinirlo nosotros.
En línea
sirdarckcat
Troll Buena Onda y
Moderador
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #12 en: 16 Julio 2009, 09:43 »

Citar
no, en vez de iniciar una nueva sesión, utiliza ya que la se abrió.

De todas maneras el problema es que no se puede alterar el valor de SID via GET/POST para así poder predefinirlo nosotros.
Si puedes averiguar el sesid de una sesion "actual" tuya, puede que se pueda

1 cierra la sesion al usuario (destruye su sesion)
2 inicia la sesion al usuario con tu cuenta (si se protege con CSRF no vas a poder =/)
2.5 obten el id de esa sesion (en google y live.com se puede xD tendras que investigar en la web de tu victima)
3 obliga al usuario a iniciar sesion (sin destruir la sesion existente)
4 reusa la sesion del punto #2 y estas con su sesion

Saludos!!
En línea

yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #13 en: 17 Julio 2009, 04:08 »

Citar
2 inicia la sesion al usuario con tu cuenta

Ahí está el problema, no se exactamente como lo harias tu, pero por lo que he comprobado no es posible.

PD: Tuenti era y sigue siendo propenso a ataques XSS :-\.
En línea
sirdarckcat
Troll Buena Onda y
Moderador
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Intentando predecir sesiones.... ayuda!!
« Respuesta #14 en: 17 Julio 2009, 06:26 »

<form method=post action=tuenti.com/login><input name=user value=yeikos><input name=pass value=secreto><script>document.forms[0].submit()</script>
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Empresa de TI ayudará a la CIA a predecir el futuro
Noticias
wolfbcn 2 826 Último mensaje 20 Marzo 2011, 07:40
por Nakp
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines