Reverse Engineer Algorithm -- 2

Job ID: 35152494

Budget: $250 – $750 USD

You are working at a company called ‘OurCompany’. Your supervisor has come to you because he heard you took a class on Reverse Engineering. Apparently, they found some anomalous outbound traffic on the network late at night. They ran wireshark to capture the traffic and found TCP connections that contained binary blobs being sent to an IP address in an eastern European country. When they examined the machine where the traffic was coming from, they found a binary running. They have provided you with:

A copy of the binary
The payloads of a few of the binary blobs they saw
By payload, I mean the contents of the socket connection with all the TCP/IP information stripped


“TheBoss” wants to know what is going on. What was this program doing? What information is in these binary blobs that appear to be random data with no patterns/signatures.

You have been provided with the files ‘binary’, ‘bin1’, ‘bin2’, and ‘bin3’. The ‘binary’ file is the executable. The other bin files were pulled from wireshark and are the payloads of the communication that was viewed.



Please answer the following questions/perform the following tasks:
1)provide what shared objects this binary imports (ie what external libraries are used?)
2)Examine the binary and determine how the binary blobs are being sent – what internet address are they being sent to?
3)How are the binary blobs being created?
What format, if any, are they in?
What is the algorithm being used to create them?
What are the inputs are used in the identified algorithm?
4)Write a C program that can decode these binary blobs
Provide your C code with instructions on how to compile/use it – make sure it works on the class VMs
Provide the information that you have decoded from the binary blobs – What is it?
5)How does the program gather the data to put into the binary blobs? What mechanism is used? Are there any signatures you can look for to detect this on other hosts on your network?

I will provide the username and password to access the VM on where to find the files. You can access them using login using terminal and must've Ghidra to reverse engineer it.

Please provide screenshots and explanations when needed and the C program must be compilable.

Any questions please feel free to ask.
Related categories: C Programming Reverse Engineering