elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Octubre 2008, 08:26  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado (Moderadores: ANELKAOS, zhyzura)
| | |-+  Analisis de paquetes, para luego hacer un crackeador
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Analisis de paquetes, para luego hacer un crackeador  (Leído 981 veces)
SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Analisis de paquetes, para luego hacer un crackeador
« en: 21 Mayo 2007, 03:54 »

Hola, esto es algo que nunca habia hecho antes, y por lo mismo lo estoy haciendo.
El escenario es asi:
Hay un juego que se juega en linea, los servidores de este juego a veces tienen passwords, obviamente si la password es incorrecta, no entras.
Por esto pense que analizando con un sniffer, podria ver como envia la password, imitarlo en un programa hecho por mi. Este haria un ataque de fuerza bruta a la password.
La segunda parte no me trae problemas, es bien sencillo.

Entonces lo que se me hizo complicado fue monitorear esos paquetes. Inicie mi captura y me conecte al juego. Luego fui a mirar los paquetes y no encontre la password por ahi, osea que como me esperaba esta seguramente va encriptada (primer problema). Vi una gran cantidad de paquetes por lo que supuse que se haria dificil mi tarea.

Pero para probar hice un programa que se conecta al servidor, usando el protocolo Udp. Le envie un mensaje y el me dice:
Citar
????☺disconnect
Seria util me imagino poder decodificar esos ????? para saber que me esta diciendo.

Creo ir bien encaminado, pero quizas uds tienen mas experiencia en el tema.
Cual seria la mejor manera de analizar la conexion del cliente al servidor del juego?

Creo que seria buena idea tomar los paquetes y pegarlos tal como me los muestra el sniffer en Hexadecimal y enviarlos al servidor para asi imitar ser un cliente. Pero si eso resultara no resuelve mi problema ya que nose en que parte enviar la password :S.

Les dejo los primeros paquetes para que los vean:
Primero:(Enviado por mi)
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2c 99 d2 00 00 80 11  2d 19 c0 a8 01 66 c9 ee   .,...... -....f..
0020  e7 d8 0c 65 2f c0 00 18  93 8b ff ff ff ff 02 67   ...e/... .......g
0030  65 74 73 74 61 74 75 73  0a 00                     etstatus ..     

Segundo:
(Enviado por mi)
Citar
0000   00 13 10 88 a6 58 00 0c 41 61 4f db 08 00 45 00  .....X..AaO...E.
0010   00 2d 99 d7 00 00 80 11 2d 13 c0 a8 01 66 c9 ee  .-......-....f..
0020   e7 d8 2f ab 2f c0 00 19 bf fd ff ff ff ff 02 67  .././..........g
0030   65 74 63 68 61 6c 6c 65 6e 67 65                 etchallenge

Tercero:(El me responde)
Citar
0000  00 0c 41 61 4f db 00 13  10 88 a6 58 08 00 45 00   ..AaO... ...X..E.
0010  00 3d ac e4 00 00 76 11  23 f6 c9 ee e7 d8 c0 a8   .=....v. #.......
0020  01 66 2f c0 2f ab 00 29  c0 b0 ff ff ff ff 01 63   .f/./..) .......c
0030  68 61 6c 6c 65 6e 67 65  52 65 73 70 6f 6e 73 65   hallenge Response
0040  20 31 39 34 30 30 32 36  30 30 34                   1940026 004     

Cuarto:(Enviado por mi)
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 ad 99 d8 00 00 80 11  2c 92 c0 a8 01 66 c9 ee   ........ ,....f..
0020  e7 d8 2f ab 2f c0 00 99  d4 ae ff ff ff ff 02 63   .././... .......c
0030  6f 6e 6e 65 63 74 20 00  a4 44 74 30 8e 05 0c c7   onnect . .Dt0....
0040  26 c3 14 ec 8e f9 67 30  1a 4e c1 42 18 20 60 3a   &.....g0 .N.B. `:
0050  d8 be 98 c6 d1 71 08 ec  15 27 c3 45 0c 33 c1 b1   .....q.. .'.E.3..
0060  dc e4 b9 a5 87 8d 16 2d  62 92 b0 d5 e8 3f 6f 0a   .......- b....?o.
0070  9e ef 96 53 4b 2a 1e 02  96 e6 42 ff eb ad 35 e8   ...SK*.. ..B...5.
0080  54 38 6a 7d c8 7e 78 e4  79 bd 94 b0 9a 75 16 9c   T8j}.~x. y....u..
0090  d1 9d 6c 3e 93 5e cd dd  e2 ae 72 a7 71 5b 91 2d   ..l>.^.. ..r.q[.-
00a0  03 8b d0 71 e8 f8 e4 fc  3c cf 02 9e d0 bc 57 f0   ...q.... <.....W.
00b0  75 4e 83 2e 29 c6 ac 9b  f6 85 09                  uN..)... ...     
Quinto:(El me responde)
Citar
0000  00 0c 41 61 4f db 00 13  10 88 a6 58 08 00 45 00   ..AaO... ...X..E.
0010  00 30 ad ce 00 00 76 11  23 19 c9 ee e7 d8 c0 a8   .0....v. #.......
0020  01 66 2f c0 2f ab 00 1c  41 20 ff ff ff ff 01 63   .f/./... A .....c
0030  6f 6e 6e 65 63 74 52 65  73 70 6f 6e 73 65         onnectRe sponse 

Sexto:(Enviado por mi)
Código:
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 ab 99 d9 00 00 80 11  2c 93 c0 a8 01 66 c9 ee   ........ ,....f..
0020  e7 d8 2f ab 2f c0 00 97  de 39 01 00 00 00 ad 94   .././... .9......
0030  aa aa aa a1 5b 05 e6 c1  8e 50 18 82 f2 fb b6 53   ....[... .P.....S
0040  ba a9 56 ba 50 70 9d 13  89 a9 0e 29 90 57 a8 52   ..V.Pp.. ...).W.R
0050  17 1d 1d 96 2f 10 69 1c  13 f5 02 75 8c 97 5b b7   ..../.i. ...u..[.
0060  4c 25 65 f4 d3 cd 4c 46  25 b7 0a b8 78 cc 78 7d   L%e...LF %...x.x}
0070  e0 ae 02 53 54 c7 0c e3  78 69 e0 38 04 b3 bb bb   ...ST... xi.8....
0080  f7 62 7c 46 25 75 63 5f  53 ba a9 56 ba 50 70 9d   .b|F%uc_ S..V.Pp.
0090  13 89 a9 11 89 a9 76 f5  ec a0 ef 9d 12 ed 78 bd   ......v. ......x.
00a0  78 7c 85 9b 97 e2 92 18  af ee 50 67 0c 5f f6 73   x|...... ..Pg._.s
00b0  59 f6 ca d6 15 89 85 a5  96                        Y....... .       


La password correcta en este servidor era 123
Hay mas paquetes pero me imagino que la password debe estar en los primeros, si esque no es en el primero.

Ojala me puedan ayudar, ya que me parece interesante y me gustaria llevarlo a cabo.
« Última modificación: 21 Mayo 2007, 03:57 por SeniorX » En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
yeikos
Colaborador

Desconectado Desconectado

Mensajes: 1.363



Ver Perfil
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #1 en: 21 Mayo 2007, 16:46 »

Muy pocos datos, deberías de haber probado con diferentes contraseñas para luego comparar los paquetes y de ese modo observar las diferencias que hay para obtener la posición exacta de la contraseña codificada.
En línea
SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #2 en: 21 Mayo 2007, 21:44 »

Es verdad, debi haber hecho eso.
Ahora lo hice y posteo los paquetes y mi analisis.
Voy a postear de cada paquetes 2 muestras para ver las diferencias, cada intento con distinta password.
La password del intento 1 es 10
La password del intento 2 es 12345123451234512345123451234512345
Lo hice asi porque pense que la diferencia de tamaño me va a ayudar
Primer paquete:
Intento 1
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2c c0 6f 00 00 80 11  1b 11 c0 a8 01 66 c8 1b   .,.o.... .....f..
0020  d5 16 0f 2e 75 33 00 18  5f e4 ff ff ff ff 02 67   ....u3.. _......g
0030  65 74 73 74 61 74 75 73  0a 00                     etstatus ..   
 

Intento 2
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2c bf 12 00 00 80 11  1c 6e c0 a8 01 66 c8 1b   .,...... .n...f..
0020  d5 16 0f 18 75 33 00 18  5f fa ff ff ff ff 02 67   ....u3.. _......g
0030  65 74 73 74 61 74 75 73  0a 00                     etstatus ..     

En este paquete podemos ver que son muy parecidos pero no totalemente iguales. Solo difieren en que el intento 1 envia "1b 11" y el intento 2 "1c 6e" La diferencia es muy pequeña y creo que no es por la password, ya que las passwords con las que intente son grandes para poder diferenciarlas mejor en los paquetes

Aca el servidor me responde, aca no debe estar la password

Segundo paquete

Estos son completamente iguales, aca no esta el password

Intento1
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2d c0 73 00 00 80 11  1b 0c c0 a8 01 66 c8 1b   .-.s.... .....f..
0020  d5 16 2f ab 75 33 00 19  8f 1f ff ff ff ff 02 67   ../.u3.. .......g
0030  65 74 63 68 61 6c 6c 65  6e 67 65                  etchalle nge     

Intento 2
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2d bf 15 00 00 80 11  1c 6a c0 a8 01 66 c8 1b   .-...... .j...f..
0020  d5 16 2f ab 75 33 00 19  8f 1f ff ff ff ff 02 67   ../.u3.. .......g
0030  65 74 63 68 61 6c 6c 65  6e 67 65                  etchalle nge     

Nuevamente el servidor me responde, no debe estar el password aca nuevamente

Tercer paquete
Este es el que segun yo envia el password
Intento 1 (145bytes) Tamaño 153
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 ad c0 74 00 00 80 11  1a 8b c0 a8 01 66 c8 1b   ...t.... .....f..
0020  d5 16 2f ab 75 33 00 99  27 59 ff ff ff ff 02 63   ../.u3.. 'Y.....c
0030  6f 6e 6e 65 63 74 20 00  a1 44 74 30 8e 05 0c c7   onnect . .Dt0....
0040  26 c3 14 ec 8e f9 67 d0  1a 4e 29 d8 01 f3 c3 76   &.....g. .N)....v
0050  30 ed 85 71 a6 71 2c 1c  14 fb c0 89 71 e1 0d 06   0..q.q,. ....q...
0060  c7 92 a2 f5 f8 b9 7a 41  63 14 62 4b 4d 08 73 5c   ......zA c.bKM.s\
0070  ff 6d c0 24 f6 e8 4f c8  3f 9e 42 ae 75 b1 dc 5a   .m.$..O. ?.B.u..Z
0080  85 65 ff ea 21 ec c5 1c  7d 8c 60 9d 60 90 3d 7c   .e..!... }.`.`.=|
0090  e2 fc c3 f2 66 ad b2 73  81 2b ee ca 32 d5 9e d2   ....f..s .+..2...
00a0  7b f4 38 1a 97 8c ef 9e  cf 67 bc e0 28 cd 83 96   {.8..... .g..(...
00b0  6b 75 9e 62 c9 08 61 dd  c4 2b 11                  ku.b..a. .+.     

Intento 2 (166 bytes) Tamaño 174
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 c2 bf 16 00 00 80 11  1b d4 c0 a8 01 66 c8 1b   ........ .....f..
0020  d5 16 2f ab 75 33 00 ae  42 71 ff ff ff ff 02 63   ../.u3.. Bq.....c
0030  6f 6e 6e 65 63 74 20 00  c1 44 74 30 8e 05 0c c7   onnect . .Dt0....
0040  26 c3 14 ec 8e f9 67 b0  1a 16 c1 46 18 01 d3 c3   &.....g. ...F....
0050  71 b0 2f 9c 03 73 1a c7  c2 c1 b1 0f 9c 14 17 dd   q./..s.. ........
0060  41 e8 8a d6 9b 67 cd a9  ad 73 82 2d a5 20 ac 71   A....g.. .s.-. .q
0070  bd 3b 0e 13 df a2 0f 5a  31 9e 84 26 64 d6 fe 3c   .;.....Z 1..&d..<
0080  81 e5 40 f1 60 a8 16 f2  36 61 00 c3 a1 9c 03 e7   ..@.`... 6a......
0090  e7 6d 33 c4 64 85 0e 37  dc 55 60 de fc f5 20 d7   .m3.d..7 .U`... .
00a0  3b 38 a1 07 01 db 6f b0  1e d8 6b 9e dc 33 bf df   ;8....o. ..k..3..
00b0  dd 14 6f 0f d0 eb 77 14  ef 94 88 fd 44 05 2d fd   ..o...w. ....D.-.
00c0  6e 6f ed cb fc e6 1d 40  f2 5f d7 83 f9 bc ec 0c   no.....@ ._......

Conclusion:

Al ver la diferencia de tamaño, diria que en el tercer paquete enviado por mi va el password. En que parte especificamente? No tengo idea, solo me puedo aproximar a una posible ubicacion. Si supiera en que parte en especifico no sabria que mas hacer.
La password va encriptada al parecer ya que no la veo directamente, tampoco se en que codificacion va encriptada y nose como saberlo.

Nose si estoy en lo correcto, pero pienso que deberia tomar esos datos en hexadecimal y enviarlos para imitar ser un cliente original o no?. Quizas cambiado datos podria ver en que parte va especificamente la password, pero el nuevo problema es que la password va encriptada y nose en que codificacion. Se poco de codificacion y se que no es ni base64 ni md5. Mas que eso nose.

Ojalá alguien de uds me pueda ayudar en mi proyecto.
Si no saben pero saben en donde me podrian ayudar, tambien seria muy util para mi.

Muchas gracias.
En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
Crack_X
Anti-War
Colaborador

Desconectado Desconectado

Mensajes: 2.324


Peace & Love


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #3 en: 21 Mayo 2007, 22:03 »

Claramente se ve que no es base64 y dudaria mucho que lo hagan en base64. Probablemente no sea md5 por el simple hecho de que los paquetes cambiaron de tamano.

Algunas otras pruebas que hiciera:
1) Intentar loguearte con password "a" a X horas, luego a otra hora para ver si se diferencia y quizas otro dia para ver si influye en los datos.

2) Luego intentar con password "aa" para ver que tanto es la diferencia.

Tampoco se ve la info de que este enviando tu user almenos que no lo vea. Y me imagino que ya verificaste googleando si el protocolo del juego no es public o ya ha sido investigado anteriormente. Tambien los paquetes que te envien pueden son importantes, como el del challenge. Quizas a partir del challenge response se crea la contraseña.

Quizas con Ing. Inversa sea mas facil? Si sabes como seguir codigo  :-X
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #4 en: 21 Mayo 2007, 23:22 »

Cuando vi esa diferencia que mencione en el primer paquete, hay una diferencia y es muy pequeña, pense que podria ser la hora, buen consejo me has dado en hacer una prueba con las mismas passwords
Aca estan los resultados:

Primer paquete
Intento 1:
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2c 72 25 00 00 80 11  69 5b c0 a8 01 66 c8 1b   .,r%.... i[...f..
0020  d5 16 10 14 75 33 00 18  5e fe ff ff ff ff 02 67   ....u3.. ^......g
0030  65 74 73 74 61 74 75 73  0a 00                     etstatus ..     

Intento 2:
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2c 72 35 00 00 80 11  69 4b c0 a8 01 66 c8 1b   .,r5.... iK...f..
0020  d5 16 10 15 75 33 00 18  5e fd ff ff ff ff 02 67   ....u3.. ^......g
0030  65 74 73 74 61 74 75 73  0a 00                     etstatus ..     

En este paquete si hay diferencias, chicas, pero hay.
En el 1 dice 72 25 y en el 2 dice 72 35. Luego en el 1 dice 5b y en el 2 dice 4b.
El resto es identico.

Segundo paquete
Intento1
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2d 72 28 00 00 80 11  69 57 c0 a8 01 66 c8 1b   .-r(.... iW...f..
0020  d5 16 2f ab 75 33 00 19  8f 1f ff ff ff ff 02 67   ../.u3.. .......g
0030  65 74 63 68 61 6c 6c 65  6e 67 65                  etchalle nge     

Intento 2:
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 2d 72 3a 00 00 80 11  69 45 c0 a8 01 66 c8 1b   .-r:.... iE...f..
0020  d5 16 2f ab 75 33 00 19  8f 1f ff ff ff ff 02 67   ../.u3.. .......g
0030  65 74 63 68 61 6c 6c 65  6e 67 65                  etchalle nge     

Nuevamente hay diferencias.
En el intento 1 dice 72 28 y en el 2 dice 72 3a
En el intento 1 dice 69 57 y en el 2 dice 69 45
El resto es identico

Tercer paquete
Intento 1
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 ab 72 29 00 00 80 11  68 d8 c0 a8 01 66 c8 1b   ..r).... h....f..
0020  d5 16 2f ab 75 33 00 97  35 71 ff ff ff ff 02 63   ../.u3.. 5q.....c
0030  6f 6e 6e 65 63 74 20 00  a1 44 74 30 8e 05 0c c7   onnect . .Dt0....
0040  26 c3 14 ec 8e f9 67 d0  1a 46 c1 46 d8 01 2b 3e   &.....g. .F.F..+>
0050  4c 0b c7 1c ef 06 47 c5  21 b0 67 9c 0c 17 22 cc   L.....G. !.g...".
0060  24 f9 28 cf 2d dd a2 31  16 25 09 5b 4c 41 98 e3   $.(.-..1 .%.[LA..
0070  7a 56 1c 26 be 45 7f 71  fd f1 fc 64 42 66 cd ad   zV.&.E.q ...dBf..
0080  15 58 36 14 0f 42 2f a6  d8 63 04 60 38 54 7d e0   .X6..B/. .c.`8T}.
0090  fc cc 6c 66 97 59 21 b2  0d 77 45 96 49 29 21 f8   ..lf.Y!. .wE.I)!.
00a0  75 8d e2 26 ef f6 97 3d  5e 6e 94 ee 41 cd b1 07   u..&...= ^n..A...
00b0  1f 05 15 a2 24 36 7f 0a  02                        ....$6.. .   

Intento 2
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 ad 72 3b 00 00 80 11  68 c4 c0 a8 01 66 c8 1b   ..r;.... h....f..
0020  d5 16 2f ab 75 33 00 99  98 51 ff ff ff ff 02 63   ../.u3.. .Q.....c
0030  6f 6e 6e 65 63 74 20 00  a1 44 74 30 8e 05 0c c7   onnect . .Dt0....
0040  26 c3 14 ec 8e f9 67 d0  1a 46 c1 44 38 01 c7 c3   &.....g. .F.D8...
0050  7e b0 2d cc 7b 60 29 58  99 38 06 0e 8a bd e1 c4   ~.-.{`)X .8......
0060  b8 b0 18 81 21 34 ad d4  ff 56 cd f9 c3 e4 c7 76   ....!4.. .V.....v
0070  47 23 ec 70 3d 2b 1c 13  d7 a0 1f a1 28 3c 81 74   G#.p=+.. ....(<.t
0080  a8 2c 7d b9 18 cb 41 f8  02 5e 36 e4 76 02 19 9d   .,}...A. .^6.v...
0090  cc 8f f3 75 a3 1a b0 32  63 10 23 ee 4a 22 9d 52   ...u...2 c.#.J".R
00a0  02 b0 0b 1b 87 8d f7 5d  e0 33 de f5 28 dd 07 b4   .......] .3..(...
00b0  03 0b 3e 67 cc 09 67 3d  e4 6d 1c                  ..>g..g= .m.     
Este tambien tiene diferencias, pero acá hay muchas mas, de hecho la ultima parte del paquete es muy distinta :S.

Uff... la cosa se me complico bastante porque use la misma password y el paquete es bastante distinto.
Que podria ser??

Una pregunta concreta: Supongamos que hubiera sido facil ver la password en los paquetes y esta en el tercer paquete por poner un ejemplo.
En ese caso que tendria que hacer.
Osea si logro saber donde esta la password, cual seria el siguiente paso para imitar ser un jugador? Tomo estos paquete en hexadecimal y los envio?? Cambiando obviamente la password por la que quiero probar, la cual sera dada por mi algoritmo de fuerza bruta.

Ayudenme a saber donde va la password porfavor. Quiero hacer este proyecto de verdad, ha sido interesante a pesar de las dificultades que he tenido.

Muchas gracias
En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
Crack_X
Anti-War
Colaborador

Desconectado Desconectado

Mensajes: 2.324


Peace & Love


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #5 en: 21 Mayo 2007, 23:30 »

Aqui otra idea que utilizaba para ver el protocolo de irc (aunque es publico). Crea un programa que escuche en el puerto que se conecta el juego y luego haz que el juego se conecte a ti (127.0.0.1) y mira a ver que te envia e intenta de reproducir lo que el server deberia enviarle. Esto seria un poco mas complicado pero asi podrias ver que envia el juego en puro texto. Hasta ahora no se me ocurre que mas.

PD: Mejor aun intenta crear un Man-In-The-Middle, que todo lo se reciba y se envie lo filtre tu programa y asi puedes ver que envia que sea ASCII.
« Última modificación: 21 Mayo 2007, 23:32 por Crack_X » En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
Hendrix
Colaborador

Desconectado Desconectado

Mensajes: 2.024


The Lord of his Middle Earth


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #6 en: 21 Mayo 2007, 23:43 »

Para que un MITM??? si esta sniffando es suficiente.... :-\ :-\

Como se dijo antes, prueba haciendo Ing. Inversa, ve siguiendo la transformacion, mira que apis utiliza, por ejemplo, mira si se usan API's de tiempo, como GetTickCount o alguna otra.

Tambien se tiene que tener en cuenta que el metodo de encriptacion puede generar claves que aunque se le pase el mismo aprametro genere claves encriptadas diferentes, yo mismo hice un algoritmo que hacia eso, no es nada dificil implementar un algoritmo de estas caracteristicas.

Un Saludo.  ;)

En línea

Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer

SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #7 en: 22 Mayo 2007, 00:30 »

Buena idea de imitar ser el servidor.
Hice el programa, y la salida que me dio fue:
Citar
Mensaje recibido de 127.0.0.1:12203
????☻getinfo xxx
????☻getinfo xxx

Dam =(...
Al parecer el getinfo es un metodo en el cual el servidor deberia enviar sus datos, osea, en que mapa esta, etc. De hecho he visto ese paquete y es este:
Citar
0000  00 0c 41 61 4f db 00 13  10 88 a6 58 08 00 45 00   ..AaO... ...X..E.
0010  03 7d 00 00 40 00 36 11  e2 2f c8 1b d5 16 c0 a8   .}..@.6. ./......
0020  01 66 75 33 0f 18 03 69  91 f3 ff ff ff ff 01 73   .fu3...i .......s
0030  74 61 74 75 73 52 65 73  70 6f 6e 73 65 0a 5c 63   tatusRes ponse.\c
0040  68 65 61 74 73 5c 30 5c  73 76 5f 68 6f 73 74 6e   heats\0\ sv_hostn
0050  61 6d 65 5c 5b 20 4e 6f  64 2e 63 4c 20 5d 20 43   ame\[ No d.cL ] C
0060  68 69 6c 65 6e 6f 5c 64  65 61 74 68 6d 61 74 63   hileno\d eathmatc
0070  68 5c 31 5c 76 65 72 73  69 6f 6e 5c 4d 65 64 61   h\1\vers ion\Meda
0080  6c 20 6f 66 20 48 6f 6e  6f 72 20 41 6c 6c 69 65   l of Hon or Allie
0090  64 20 41 73 73 61 75 6c  74 20 31 2e 31 31 20 6c   d Assaul t 1.11 l
00a0  69 6e 75 78 2d 69 33 38  36 20 4a 75 6c 20 32 33   inux-i38 6 Jul 23
00b0  20 32 30 30 32 5c 75 73  65 72 6e 61 6d 65 5c 4e    2002\us ername\N
00c0  6f 6e 65 5c 73 6b 69 6c  6c 5c 30 5c 64 6d 66 6c   one\skil l\0\dmfl
00d0  61 67 73 5c 30 5c 66 72  61 67 6c 69 6d 69 74 5c   ags\0\fr aglimit\
00e0  30 5c 74 69 6d 65 6c 69  6d 69 74 5c 31 35 5c 70   0\timeli mit\15\p
00f0  72 6f 74 6f 63 6f 6c 5c  38 5c 6d 61 70 6e 61 6d   rotocol\ 8\mapnam
0100  65 5c 64 6d 2f 6d 6f 68  64 6d 36 5c 73 76 5f 70   e\dm/moh dm6\sv_p
0110  72 69 76 61 74 65 43 6c  69 65 6e 74 73 5c 30 5c   rivateCl ients\0\
0120  73 76 5f 6d 61 78 63 6c  69 65 6e 74 73 5c 31 38   sv_maxcl ients\18
0130  5c 73 76 5f 6d 61 78 52  61 74 65 5c 31 36 30 30   \sv_maxR ate\1600
0140  30 5c 73 76 5f 6d 69 6e  50 69 6e 67 5c 30 5c 73   0\sv_min Ping\0\s
0150  76 5f 6d 61 78 50 69 6e  67 5c 32 35 30 5c 73 76   v_maxPin g\250\sv
0160  5f 66 6c 6f 6f 64 50 72  6f 74 65 63 74 5c 31 5c   _floodPr otect\1\
0170  67 5f 67 61 6d 65 74 79  70 65 5c 32 5c 67 5f 67   g_gamety pe\2\g_g
0180  61 6d 65 74 79 70 65 73  74 72 69 6e 67 5c 54 65   ametypes tring\Te
0190  61 6d 2d 4d 61 74 63 68  5c 73 76 5f 66 70 73 5c   am-Match \sv_fps\
01a0  32 30 5c 73 76 5f 61 6c  6c 6f 77 44 6f 77 6e 6c   20\sv_al lowDownl
01b0  6f 61 64 5c 30 5c 2e 41  64 6d 69 6e 5c 4e 6f 64   oad\0\.A dmin\Nod
01c0  20 4e 65 74 77 6f 72 6b  73 5c 2e 4d 53 4e 5c 61    Network s\.MSN\a
01d0  64 6d 69 6e 40 6e 6f 64  2e 63 6c 5c 55 62 69 63   dmin@nod .cl\Ubic
01e0  61 63 69 6f 6e 5c 53 61  6e 74 69 61 67 6f 2c 20   acion\Sa ntiago,
01f0  43 68 69 6c 65 2e 5c 2e  55 52 4c 5c 77 77 77 2e   Chile.\. URL\www.
0200  6e 6f 64 2e 63 6c 5c 43  6f 6e 65 78 69 6f 6e 5c   nod.cl\C onexion\
0210  31 30 30 4d 42 5c 72 6f  75 6e 64 6c 69 6d 69 74   100MB\ro undlimit
0220  5c 33 5c 67 5f 61 6c 6c  6f 77 6a 6f 69 6e 74 69   \3\g_all owjointi
0230  6d 65 5c 35 5c 6e 6f 6d  6f 6e 73 74 65 72 73 5c   me\5\nom onsters\
0240  30 5c 73 76 5f 66 72 69  63 74 69 6f 6e 5c 34 5c   0\sv_fri ction\4\
0250  73 76 5f 73 74 6f 70 73  70 65 65 64 5c 31 30 30   sv_stops peed\100
0260  5c 73 76 5f 77 61 74 65  72 66 72 69 63 74 69 6f   \sv_wate rfrictio
0270  6e 5c 31 5c 73 76 5f 77  61 74 65 72 73 70 65 65   n\1\sv_w aterspee
0280  64 5c 34 30 30 5c 73 76  5f 63 69 6e 65 6d 61 74   d\400\sv _cinemat
0290  69 63 5c 30 5c 67 5f 66  6f 72 63 65 72 65 61 64   ic\0\g_f orceread
02a0  79 5c 31 5c 67 5f 66 6f  72 63 65 72 65 73 70 61   y\1\g_fo rcerespa
02b0  77 6e 5c 30 5c 67 5f 6d  61 78 69 6e 74 65 72 6d   wn\0\g_m axinterm
02c0  69 73 73 69 6f 6e 5c 31  35 5c 67 5f 6f 62 6a 5f   ission\1 5\g_obj_
02d0  61 6c 6c 69 65 64 74 65  78 74 31 5c 53 74 61 6c   alliedte xt1\Stal
02e0  69 6e 67 72 61 64 5c 67  5f 73 63 6f 72 65 62 6f   ingrad\g _scorebo
02f0  61 72 64 70 69 63 5c 6d  6f 68 64 6d 36 5c 73 76   ardpic\m ohdm6\sv
0300  5f 64 6d 77 70 72 6f 74  65 63 74 65 64 5c 31 5c   _dmwprot ected\1\
0310  73 76 5f 64 6d 77 6b 65  79 5c 32 31 32 33 35 2d   sv_dmwke y\21235-
0320  36 33 41 2d 45 34 43 43  41 5c 73 76 5f 64 6d 77   63A-E4CC A\sv_dmw
0330  73 74 61 74 75 73 5c 4f  4b 0a 35 20 22 4c 72 73   status\O K.5 "Lrs
0340  74 6e 2e 2d 20 73 63 79  74 68 65 22 0a 33 39 20   tn.- scy the".39
0350  22 4c 72 73 74 6e 2e 2d  20 67 61 6d 65 6f 76 65   "Lrstn.-  gameove
0360  72 22 0a 34 38 20 22 64  65 66 65 61 37 63 5a 22   r".48 "d efea7cZ"
0370  0a 32 30 20 22 5b 4c 6f  44 5d 20 63 72 79 20 6d   .20 "[Lo D] cry m
0380  65 20 61 20 72 69 76 65  72 22 0a                  e a rive r".     
Ese es un ejemplo de ese paquete.
Y bueno... eso fue.
Al parecer no envia la password ni el nickname del jugador.

Preferiria evitar la ingeneria inversa, ya que se bastante poco, he jugado con crackmes y algo se, pero para seguir la transformacion... no creo. Por lo tanto me gustaria ver otra manera a menos de que alguien que sepa lo necesario en ing. inversa y le interese el proyecto, bienvenido sea.

De todas maneras si existe algun tutorial que me puedan recomendar el cual me enseñe lo que deberia saber para este proyecto tb seria muy util.

Que raro tanta seguridad para un juego, yo me esperaba algo un poco mas facil, pero bueno, asi se aprende no??...

Puedo convertir mi pc en un servidor del juego, ya que este lo trae incluido, quizas con eso pueda hacer algo.

Muchas gracias a los que han respondido, se nota que saben del tema y agradezco la amabilidad en ayudar.
En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #8 en: 22 Mayo 2007, 02:33 »

He hecho nuevas pruebas.
Use a nuestro amigo netcat
nc -Lup PuertoDelJuego

Me conecte a 127.0.0.1 desde el juego y fui a ver a netcat, este me decia:
Citar
☻getchallenge    ☻getchallenge    ☻getchallenge    ☻getchallenge    ☻getchal
lenge
Esa cara seguramente es parte del protocolo.
Cada getchallenge debe ser 1 por cada intento de conexión.

Entonces me conecte a un servidor usando netcat e intente mandarle el comando:
Citar
nc -vvu Direccion puerto
☻getchallenge
Y me devolvio un desagradable:
Citar
☺disconnect
Pero no me desconecta, me deja a la escucha ya que si le doy enter de nuevo me vuelve a decir disconnect :S.

Ojala les sirva para darme ideas, yo estoy en lo mismo.

Muchisimas gracias.
« Última modificación: 22 Mayo 2007, 23:50 por SeniorX » En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
MazarD
Colaborador

Desconectado Desconectado

Mensajes: 471


www.MazarD.info


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #9 en: 23 Mayo 2007, 00:53 »

Citar
Nuevamente hay diferencias.
En el intento 1 dice 72 28 y en el 2 dice 72 3a
En el intento 1 dice 69 57 y en el 2 dice 69 45
Seguro que estás en el cuerpo del paquete y no en la cabecera udp? es raro que haya diferencias.

Citar
Pero no me desconecta, me deja a la escucha ya que si le doy enter de nuevo me vuelve a decir disconnect :S.
Puede que te esté mandando caracteres no imprimibles y al tratar de mandarlo tu no haces lo mismo.

Intenta actuar como servidor con el netcat pasandole:
nc -vv -lup puerto > dump
Para que te guarde los datos en el archivo dump

Luego al conectar tu haces un
nc -vv -u ip puerto < dump
así le mandarás exactamente lo mismo

Y intenta ir siguiendo los pasos a ver hasta donde te deja llegar.

Aunque no consigas desencriptar la contraseña puedes hacerle el bruteforce igual y a la hora de ir a jugar modificas el paquete metiendole la contraseña encriptada, con iptools o así.

Saludos.
En línea

SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #10 en: 23 Mayo 2007, 03:46 »

jajajajajaa no se pueden imaginar lo feliz que estoy jojojoo ;D ;D ;D.
Muchisimas gracias
En el archivo dump aparece:
ÿÿÿÿgetchallenge, ojalá alguien me pueda explicar porque segun netcat era una cara feliz al imprimirlo, me imagino que es porque transfomra los caracteres a ASCII

Porfavor miren que hermosura:
Citar
C:\Documents and Settings\Yo>nc -vv -u laip elpuerto< dump
xxxx-s-g01.internet-isp.xxxx.xx[ip] puerto(?) open
    ☺challengeResponse 488359088

Jojojo que hermosura

Y luego en los paquetes vi que el siguiente comando se llama getstatus, le antepongo los caracteres extraños y lo guardo en mi archivo dump y le doy el comando
Y miren que lindo!!
Citar
C:\Documents and Settings\PietroG>nc -vv -u Ip Puerto< dump
xxx-s-g01.internet-ispxxx.xx [Ip] Puerto(?) open
    ☺statusResponse
\cheats\0\sv_hostname\[ ProveedorSensurado] P·blico #2 - OBJ\deathmatch\1\version\NombreJuegoSensurado\username\None\skill\0\dmflags\0
\fraglimit\0\timelimit\15\protocol\8\mapname\obj/renan\sv_privateClients\4\sv_ma
xclients\20\sv_maxRate\16000\sv_minPing\0\sv_maxPing\250\sv_floodProtect\1\sv_ma
plist\obj/obj_team1 obj/obj_team2 obj/obj_team4 obj/renan obj/stlo\g_gametype\4\
g_gametypestring\Objective-Match\sv_fps\20\sv_allowDownload\0\.Admin\Staff MoH &
 ProveedorSensurado\.Encargado\Cops OBJ\.MSN\mailAdminSensurado\roundlimit\2\g_allowjointime\5\nom
onsters\0\sv_friction\4\sv_stopspeed\100\sv_waterfriction\1\sv_waterspeed\400\sv
_cinematic\0\g_forceready\1\g_forcerespawn\0\g_maxintermission\15\g_obj_alliedte
xt1\Defend the bridge\g_obj_axistext1\Place an explosive\g_obj_axistext2\under t
he bridge\g_obj_axistext3\to destroy it\g_scoreboardpic\renan
33 "TuTin.ex2"
25 "<input type= buttom  name= chup"
46 "Trim"
999 "rLz.! | YoKoChiMa"
26 "ZeuZ"
27 "legion"
24 "To BoDy ScreaMo B/c"
31 "-BsW-darkmatt"
40 "[=A.K=] * KRAMER"
43 "Hitcher"
48 "anguila"
999 "oSiTo_CHaMuYeRo"
43 "Sgt.Peppers"
27 "Evoluti0n ' Umbrella"
42 "maeN!"

Me envia el mapa que esta usando, la informacion de la rotacion de mapas y el nombre de los jugadores en ese momento.

Y bueno, estoy a 1 paso de la conexion!
Veo en los paquetes que el ultimo comando es connect.
Hago lo mismo que hice con getstatus y le doy enter al amigo netcat y miren, aca no es tan hermoso como antes :p:
Citar
C:\Documents and Settings\Yo>nc -vv -u Ip Puerto< dump
xxxxx-s-g01.internet-ispxxxx.xx [Ip] Puerto(?) open
    ☺print
Server is version 1.11. Please get the latest patch.

Dam... Se me complico la cosa ¬¬...
La version del servidor es 1.11, y bueno.... uds entenderan que no estoy usando la manera tradicional para entrar, asique me tenia que dar un error.
De todas maneras tiene que haber algo que le diga que si tengo la version 1.11, ahi quizas es mas compliejo... o quizas no, quizas es tan solo una variable que hay que enviar como Path = 1.11 bla bla o algo asi.
Nose, que opinan uds? Yo voy a seguir haciendo intentos para decirle que mi version si es 1.11.

Muchisimas gracias, no se imaginan lo feliz que estoy.
En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
MazarD
Colaborador

Desconectado Desconectado

Mensajes: 471


www.MazarD.info


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #11 en: 23 Mayo 2007, 12:07 »

Eso de la versión del server tiene toda la pinta de ser error de protocolo, No estarás cerrando netcat entre el challengeresponse y el connect? entonces solo te pilla el ultimo y te dará error.

Si lo estás haciendo bien puede que después del connect se envien los paquetes a otro puerto, aunque lo normal sería que se especificara el puerto en el connect o en el challengeresponse.
En línea

SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #12 en: 24 Mayo 2007, 22:14 »

Nop men, creo estar haciendolo bien.
No cierro el netcat, pero no me deja escribir asique abro otro netcat y le envio el otro comando. Quizas estoy haciendolo mal, asique ahora me pongo a hacer un programa para mandar los comandos de manera mas comoda.
De todas maneras lo que pasa con este juego es que la version 1.0 quedo obsoleta y los servidores hoy son todos 1.1, asique el error es posible.
El problema sigue siendo que nose como decirle que soy supuestamente una version 1.1.
Posteo mas tarde los resultados de mi programa.

Hey men muchas gracias por la ayuda.
En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
SeniorX

Desconectado Desconectado

Mensajes: 1.327


Programador Novato


Ver Perfil WWW
Re: Analisis de paquetes, para luego hacer un crackeador
« Respuesta #13 en: 25 Mayo 2007, 00:19 »

Bueno, hice mi programa y no me funciono jaja, que dificil se me hacen las cosas.
Enviando el tercero, porque es el tercer paquete
El primero es el getchallenge, el segundo es getstatus y el ultimo es connect:
Pego la salida de mi programa, la parte donde da error.
Citar
Enviando el tercero
Dijo: ????☺print
Server is version 1.11. Please get the latest patch.
:-( :-(

No se envian mas paquetes, debe faltar

Tiene que haber una solucion...

Porfavor ayuda.

Estoy intentando imitar este paquete:
Citar
0000  00 13 10 88 a6 58 00 0c  41 61 4f db 08 00 45 00   .....X.. AaO...E.
0010  00 a4 df 67 00 00 80 11  fb a1 c0 a8 01 66 c8 1b   ...g.... .....f..
0020  d5 15 2f ab 75 9e 00 90  2e 54 ff ff ff ff 02 63   ../.u... .T.....c
0030  6f 6e 6e 65 63 74 20 00  96 44 74 30 8e 05 0c c7   onnect . .Dt0....
0040  26 c3 14 ec 8e f9 67 30  1a 4e c1 40 d8 01 13 3e   &.....g0 .N.@...>
0050  ac 7f 5d 38 52 38 3a 0e  81 bd e2 64 b8 88 61 ab   ..]8R8:. ...d..a.
0060  53 09 16 79 6e e9 19 29  e1 71 e4 63 ab 29 a8 d5   S..yn..) .q.c.)..
0070  bb 24 2a 71 98 f8 16 fd  05 fc e3 09 60 82 27 ad   .$*q.... ....`.'.
0080  e4 32 2c 07 b2 b7 94 47  63 c1 b1 10 aa 1b e0 fc   .2,....G c.......
0090  d6 1e e6 e1 d8 7f ce dc  69 e0 a4 08 ee 03 8d ed   ........ i.......
00a0  a0 6b ba 1f 17 b8 1f cd  6d e1 11 2b 9d a2 2b 3f   .k...... m..+..+?
00b0  e4 80                                              ..               

Lo unico entendible a simple vista es que envia connect, y efectivamente el comando existe, pero hay algo q tengo que hacer para que me reconozca como version 1.1 del juego.
« Última modificación: 25 Mayo 2007, 00:22 por SeniorX » En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC