Foro de elhacker.net

Programacin => Ingeniera Inversa => Mensaje iniciado por: bizco en 6 Abril 2009, 22:01 pm



Título: Una ayudita con programa cliente/servidor
Publicado por: bizco en 6 Abril 2009, 22:01 pm
Hola, necesito mas que una ayuda una idea pq ahora mismo estoy atascado. tengo un soft que manda datos a un servidor, tengo acceso tb al soft servidor y en los 2 he depurado ya y sacado en claro algunas cosas. el servidor le manda un dato al cliente y el cliente toda peticion que hace a este servidor lo hace ya identificando cada peticion con este dato, es decir si yo mando una peticion sin ese dato, el servidor me cierra la conexion.

hasta aqui todo sencillo, lo que se me complica un poco es que ese dato viaja cifrado tanto desde el cliente al servidor como del servidor al cliente. ventajas de poder depurar el servidor es que se que datos se le envian y se que datos se reciben, pero esto ya una vez procesados. yo estoy hookeando los sockets y necesito reconocer ese paquete para sacar ese dato antes de que lo reciba el cliente. la cosa es que esta cifrado con algun algoritmo conocido pero claro....... hay tantos. sabeis alguna aplicacion o la forma de reconocer este cifrado? es el ultimo paso y tendria la comunicacion completamente destripada.

PD: no es que solo se envie un paquete, se envian varios y segun cuales son descartados asi que no se realmente cual paquete estoy viendo, si es mio (genero paquetes externamente) o es de la propia aplicacion, por eso me interesa reconocerlo.

un saludo.


Título: Re: Una ayudita con programa cliente/servidor
Publicado por: bizco en 7 Abril 2009, 23:00 pm
Bueno aado algo mas de informacion, pongo 2 paquetes de los miles que he capturado ya. de estos paquetes he sacado en claro que llevan un numero de secuencia, es decir 0, 1, 2,3 numerando los envios.

Paquete 2: (index 1)

Código:
010000C0010000805A1801000100104164194001332F782211307A63782629733627756D2463207211023275

paquete 3: (index 2)

Código:
02000000020000805919010319011143

los envios logicamente son variables de tamao.

como ya digo a simple vista lo que puedo deducir del protocolo es que numera los paquetes.

otro paquete en formato "legible" seria este:

Código:
	  b   R	 ISR@
A{!i!@fPh 6S 翶F8):jW+YnޢL{Y+@P q=\j?M$ tQZZ
DȔE40ZTd;y4 @Coj]L:rS(=O%Y?(@I]L/_l^Dv2 A FDZR 󹑯$|b- 
3tx|4mP4
ZIBV`]e= zNl1 5
7+G
jS}t:=
 $It,HP wi#Ag@=^9Sz<`ʜz݃L8F>aRIbO XPaePFd O 6@ }I-C
[@ I P
ISI@T X@K4 4m@j= So|D&'$Zmr8
y2㇐'PODR]+P{Hh?u:DN]͜e5)yχjZ:t愕q>I0]Q@t9q& >˯䯖FCT) $0(PA:D\
girssIһ4 s`䟆%A,ch̅\/of݇$? n;Qio} >%,Z{.R OaG\xl54|
p_5Q8YTOA}FcO{4DmAJ _:RiYFD]4#
%;6F-̱
?S 9.;% t dt>%v:q^!/IQQ13L'E I[[cAxk67
= ebB2$Z(;AB UeU2>{l^C dK~-Kе

como dije en el anterior post el protocolo va cifrado, o mejor dicho es una compresion al vuelo de los datos, posiblemente sea bzip2.

alguno conoce una aplicacion que permita descomprimir bzip2 pero de un buffer?.

si alguno ve algo coincidente en los paquetes o algo que yo no vea o reconoce un posible algoritmo o ves tu a saber me podria dejar alguna pista en este post.


por otra parte ahora vengo modificando las cosas para buscar un patron de algo. pues bien este valor:

Código:
0E 00 00 00 0C 00 00 00 55 19 01 0F 15 01 19 4F

esto descomprimido/descifrado es exactamente esto "senTres", siendo la T el valor 0x19 de la cadena anterior, esto lo se seguro porque yo aado ese caracter. si fuese una cadena con la misma longitud y caracteres raros se podria aplicar algo de fuerza bruta y sabiendo las letras q tienen q salir seria cuestion de tiempo sacarlo, pero siendo una compresion que medidas me diriais que tome?


Título: Re: Una ayudita con programa cliente/servidor
Publicado por: KJD en 8 Abril 2009, 00:50 am
Pues dos cosas, si es una aplicacion cliente servidor (un solo cliente) podrias o bien modificar el servidor para que acepte cualqueir cliente, o bien, ir al foro de hacking que creo que tendran ams info sobre protocolos y paquetes de datos.