jbjam
11-09-2002, 08:38 PM
if the eq server sends the public key to the client ( i think this is how its done )
you can intercept it and replace it with a public key you know the corisponding private key to then after EQ has generated and sent the symetric key out to the server, you intercept that decrypt it ( since you know the private key )... and then re-encrypt with the public key the server sent you this is the classic man-in-the-middle attack on Public Private key encryption ( needless to say they've done some stuff to try and work around the problem, but basicly it can still be done ) however, its a lot of work and its editing the data stream, plus its very dangerous lets say there is a command in the eq data stream that says hey for the sake of fun send me your public key.... now if the interceptor didn't notice this, you'd send your invalid public key that you sent to the client and bamm you'd get nailed but public keys are sooo big you could prolly get away with a find and replace on the outgoing stream
------------- 2nd idea -----------------
Possibly attack the symetric key generation ( this may be the easiest way ) thats what they did to netscape ( attacked the symetric key generator ) to break netscapes SSL well the client generates the key then encrypts it with the public key and sends it off ... this generation is suspect if they do something stupid like use the generic C rand() function and seed the random number generator with the time, all you need to do is keep track of when EQ is started to figgure out the key irregardless it would take some disasembly work to figgure out how the key is generated ( this again in turn implies a lot of work )
you can intercept it and replace it with a public key you know the corisponding private key to then after EQ has generated and sent the symetric key out to the server, you intercept that decrypt it ( since you know the private key )... and then re-encrypt with the public key the server sent you this is the classic man-in-the-middle attack on Public Private key encryption ( needless to say they've done some stuff to try and work around the problem, but basicly it can still be done ) however, its a lot of work and its editing the data stream, plus its very dangerous lets say there is a command in the eq data stream that says hey for the sake of fun send me your public key.... now if the interceptor didn't notice this, you'd send your invalid public key that you sent to the client and bamm you'd get nailed but public keys are sooo big you could prolly get away with a find and replace on the outgoing stream
------------- 2nd idea -----------------
Possibly attack the symetric key generation ( this may be the easiest way ) thats what they did to netscape ( attacked the symetric key generator ) to break netscapes SSL well the client generates the key then encrypts it with the public key and sends it off ... this generation is suspect if they do something stupid like use the generic C rand() function and seed the random number generator with the time, all you need to do is keep track of when EQ is started to figgure out the key irregardless it would take some disasembly work to figgure out how the key is generated ( this again in turn implies a lot of work )