Something Awesome Project Sum-Up
After 7 weeks from the start of this term, Iâve finished what I proposed on my something awesome! Here is a sum-up for what Iâve done:
1. Gain knowledge on setting up a safe environment: learned that using vm is only a bare minimum, and depending on the malwares, internet connection might be necessary and thus a vm network might be handy. Some malwares will behave differently under a vm or without internet connection.
2. Learned the basics of x86 architecture, the common instructions, and the convention for registers (EAX for return value, EIP for instruction pointer, ESP for stack pointer, etc). Also have seen an example of how a simple c program will be translated into assembly:
3. Learned the basic of reverse engineering by using Ghidra to crack wannaCry and found out how to substitute obfuscated command with windows api. Learned that connecting to the internet is usually an area of interest in a malware because it is usually how a malware spreads/proceeds or it might even be the deadswitch of a malware.
4. Learned the infections methods and mechanisms of the 3 most popular malware WannaCry, Kovter, and Emotet. WannaCry was particularly deadly because it combined a social engineering technique with a relatively less patched bug in the windows system. As soon as a victim opens a malicious document containing wannaCry, other machines connected to the victim will be infected as long as they have not been patched up with the latest update. The vulnerability is called Server Message Block (SMB) protocol on windows, and the exploiting code is called EternalBlue. Both Kovter and Emotet rely on obscurity to hide its macro code on malicious documents; Kovter builds a long chain of obscure code execution, using the previously downloaded code to download more code from the internet; Emotet is hard to be detected as malicious as it is able to change its path to put the executable and the process names randomly every time.
(In the picture: strange url is the killswitch of wannaCry!)
5. Created a simple macro malware with simple obfuscation against anti-virus detection using Social-Engineer Toolkit to generate the payload and tried setting up a apache server and metaspoit to tap into the spawned shell on the victimâs laptop.
(Picture below: ms word warning-- social engineering is needed to convince user to enable macro)
(Picture below: snippet of unobfuscated VBA code to download from the internet more code to run)
(Picture below: obfuscated actual code in the malicious word document to download more codes from the internet to run)
(Picture below: the malicious payload which the VBA in the macro document tries to download)
Looking back, Iâve actually done a lot for this something awesome! A major take away for me to apply in every day life is it is quite easy to create a malware against anti-virus detection, and our machineâs security also relies on the the userâs careful operation.