Páginas: [1]
|
 |
|
Autor
|
Tema: Analisis de paquetes, para luego hacer un crackeador (Leído 981 veces)
|
SeniorX
Desconectado
Mensajes: 1.327
Programador Novato
|
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: ????☺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) 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) 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)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) 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)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) 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 123Hay 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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
yeikos
Colaborador
Desconectado
Mensajes: 1.363
|
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
Mensajes: 1.327
Programador Novato
|
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 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 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 paqueteEstos son completamente iguales, aca no esta el password Intento1 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 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 paqueteEste es el que segun yo envia el password Intento 1 (145bytes) Tamaño 153 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 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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
Crack_X
Anti-War
Colaborador
Desconectado
Mensajes: 2.324
Peace & Love
|
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 
|
|
|
|
|
En línea
|
|
|
|
SeniorX
Desconectado
Mensajes: 1.327
Programador Novato
|
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: 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: 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 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: 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 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 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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
Crack_X
Anti-War
Colaborador
Desconectado
Mensajes: 2.324
Peace & Love
|
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
|
|
|
|
Hendrix
Colaborador
Desconectado
Mensajes: 2.024
The Lord of his Middle Earth
|
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
Mensajes: 1.327
Programador Novato
|
Buena idea de imitar ser el servidor. Hice el programa, y la salida que me dio fue: 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: 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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
SeniorX
Desconectado
Mensajes: 1.327
Programador Novato
|
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: ☻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: nc -vvu Direccion puerto ☻getchallenge Y me devolvio un desagradable: ☺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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
MazarD
Colaborador
Desconectado
Mensajes: 471
www.MazarD.info
|
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. 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
Mensajes: 1.327
Programador Novato
|
jajajajajaa no se pueden imaginar lo feliz que estoy jojojoo  . 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: 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!! 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: 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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
MazarD
Colaborador
Desconectado
Mensajes: 471
www.MazarD.info
|
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
Mensajes: 1.327
Programador Novato
|
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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
SeniorX
Desconectado
Mensajes: 1.327
Programador Novato
|
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. 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: 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
|
try { live(); } catch (ShitHappensException ex) { MessageBox.Show(ex.Solution) } Precaución: La programacion puede producir adiccion
|
|
|
|
Páginas: [1]
|
|
|
|