1

Suppose that there is a client-server application using UDP and you have full control over client. The task is to automate few known actions on the client and make them very fast.(Possibly bypass client application completely).So my question is:

Is it possible to replay UDP packets to the server and imitate each action that I previously recorded from the client application? If so what are the challenges of this approach?

The following is data in the packets for "update" action sent twice about 5 seconds from each other.

4d2210046f1c31120a000000ac1903d3030008001c0028006e62686e6d396c6879463677665771713458474a344d79597a77453d000000002003d803000200000121000000006f1c000000000000370000000000000000000000000000000000000000000000000000000000000000000000000032001700000000000000000000000000000000000000000000000000356655584a6f4843394276385063303551796764642f516d684a79577141653963643749502b48465232494e44454c6b436a39313574353669736a792b6242746a3674583859474b684a2b3346566344662f314a4665594c4a387631325a2f2b654d6949746e7733703371526a32417576397a6b4c56636c4b3051696c6f7a483831516c4655734f617039465768583272317a69395338377649344a38373461534a4755545651674b3330446d59437243495137496b4b326864397172326d51693153612f437471725a4b387652767851586c38435275544170316e78454a4f4b2b5649426157417074744947743141584d62344967697155397152536261314c654b5938626c576c6a2f546b336573464c546535662f4d3944794a683035413635414c586a354d6a6a6a684f795033566a3049365830774951636670494853614259754844324745446279306271573471536b625763477034326a586f6d2f485a3342523431756f7945783730514841797a53444c7132364e412f7254696953636d59476c6a4e43676f524441674e4e584e49514e49645155644a6b5863432f755070644444776274785451547353384c7178484f644b7a464a6d416b7154304230312f6a2b64334573453246437347786754384378343256555645584c3652314b2b6c304e39347243544831392f445961473333767930496d724d3948506b507a4544593651484e31624c4e50534734794c7a3553514a6c33764c4f69724c35542b4a65745572423736494b6573424961422b6d7a666d59466630476c77485431717a3257335a493644674c4e4962634a366a72336372712f50512b59626b7546516469472b5858426b556e6a5136696766546963786654576142694a6e526c744a6454496d5356436f4f566c51666f696357476a4869646554636f6173494173417846434a496d666648496b6c4532786c433061684d375456433462697665526143416a596e3846677737714e3452652f6753776a726e2b63735a59304b78337452343537384c74716f37514b54696b6133434438437364566161363062336a4c63392b474d785931593741444e49776242657778666c6f55682f465145525a6a376f4456324f555851486f6d364c7076627a5053304731314d52346a4a33306d69695a4435683346714d343342466c666d61566a2f4a4f657a67702b6d4a344c4b6a6959456c6a46654134783854786b6c625875697764546a755336

4d2210046f1c46220a000000ac1903d3030008001c002800756575374a4337695051652f45325a6c6a58574364755a725151493d000000002003d803000200000121000000006f1c000000000000380000000000000000000000000000000000000000000000000000000000000000000000000032001700000000000000000000000000000000000000000000000000356655584a6f4843394276385063303551796764642f516d684a79577141653963643749502b48465232494e44454c6b436a39313574353669736a792b6242746a3674583859474b684a2b3346566344662f314a4665594c4a387631325a2f2b654d6949746e7733703371526a32417576397a6b4c56636c4b3051696c6f7a483831516c4655734f617039465768583272317a69395338377649344a38373461534a4755545651674b3330446d59437243495137496b4b326864397172326d51693153612f437471725a4b387652767851586c38435275544170316e78454a4f4b2b5649426157417074744947743141584d62344967697155397152536261314c654b5938626c576c6a2f546b336573464c546535662f4d3944794a683035413635414c586a354d6a6a6a684f795033566a3049365830774951636670494853614259754844324745446279306271573471536b625763477034326a586f6d2f485a3342523431756f7945783730514841797a53444c7132364e412f7254696953636d59476c6a4e43676f524441674e4e584e49514e49645155644a6b5863432f755070644444776274785451547353384c7178484f644b7a464a6d416b7154304230312f6a2b64334573453246437347786754384378343256555645584c3652314b2b6c304e39347243544831392f445961473333767930496d724d3948506b507a4544593651484e31624c4e50534734794c7a3553514a6c33764c4f69724c35542b4a65745572423736494b6573424961422b6d7a666d59466630476c77485431717a3257335a493644674c4e4962634a366a72336372712f50512b59626b7546516469472b5858426b556e6a5136696766546963786654576142694a6e526c744a6454496d5356436f4f566c51666f696357476a4869646554636f6173494173417846434a496d666648496b6c4532786c433061684d375456433462697665526143416a596e3846677737714e3452652f6753776a726e2b63735a59304b78337452343537384c74716f37514b54696b6133434438437364566161363062336a4c63392b474d785931593741444e49776242657778666c6f55682f465145525a6a376f4456324f555851486f6d364c7076627a5053304731314d52346a4a33306d69695a4435683346714d343342466c666d61566a2f4a4f657a67702b6d4a344c4b6a6959456c6a46654134783854786b6c625875697764546a755336
  • @Jedi Thanks for the comment :). In the client application I entered exactly the same data for first and second request, so I don't really know what the change represents, possibly a timestamp, date or something along those lines. – dev034 Aug 19 '16 at 9:20
  • Yeah. Wireshark. Do you think there is a way to "reassamble" the data into usable format? Or I should try completely different approach? – dev034 Aug 19 '16 at 9:28
  • 1
    Converting the hex back reveals some Base64 binary. I would assume it's the output of GPG encryption. People wo can implement this probably added measures to defeat replay as well. – billc.cn Aug 19 '16 at 10:15
  • @bill.cn Thanks for insight. Client is windows application written in C#. Is there any other approach you can recommend me to use? Other than automated clicking of ui. Thank you. – dev034 Aug 19 '16 at 10:29
1

Is it possible to replay UDP packets to the server

Replaying UDP packets is possible

and imitate each action that I previously recorded from the client application?

This fully depends on the application protocol spoken. If it contains a working replay protection then a simple replay will not cause the original action.

you have full control over client.

Whatever "full control" exactly is. But if you have the source code or if you are able to debug the application you might find out if their is a replay protection and maybe also how the protocol works. And maybe it is even a publicly known protocol which is spoken and you can implement your own client.

| improve this answer | |
  • Very good points, yeah I do not have source code and therefore I do not know the protocol spoken. Is there any way to debug the application and find it out? Thanks – dev034 Aug 19 '16 at 11:10
  • @dev034: it depends on the application and your knowledge if you are able to debug it. The better your knowledge the more likely is that you are able to debug it. But there is no program which you will simply run and which gives you the protocol description back for arbitrary protocols and applications. – Steffen Ullrich Aug 19 '16 at 12:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.