
Task 1: Information gather
Task 1-1: Download the image file
First and foremost, download the image file before proceeding the challenge. The file size is about 438,371 KB. Most sure the unzipped image file match the given MD5 hash.
Task 1-2: Identify the OS
After that, launch your volatility help menu with the following command.$ volatility -h

To perform the first scan on the memory image, we are going to use the following command.
$ volatility -f victim.raw imageinfo

Answer: windows
Task 1-3: Looking for ‘SearchIndexer’ PID
You can either use ‘pslist’ or ‘psscan’ to complete this task. The difference is pslist only lists out the running process while psscan scan and list out all the running and terminated process.$ volatility -f victim.raw --profile=Win7SP1x64 pslist

$ volatility -f victim.raw --profile=Win7SP1x64 psscan

Task 1-4: Last accessed directory
‘Shellbags’ plugin command can be used to gather all the information about a viewed directory such as size, position, and icon. Using this command, we are able to track down the folder accessed by the user. Hence, it reduced the search time.
Answer: deleted_files
Task 2: Search for malicious processes
I am going to dig a little deeper on the memory image. This time we are going to look for the malicious processes running on the victim’s machine.Task 2-1: Suspicious ports
By looking at the volatility help menu, you are supposedly able to scan the open port using ‘connections’ and ‘connscan’. However, both plugin commands only restricted to Windows XP and Windows server 2003. Luckily I found another way to scan the open ports using ‘netscan’ after reading this article. Let ‘s scan the open port using the following command$ volatility -f victim.raw --profile=Win7SP1x64 netscan

PID | Open port | Comment |
4 | TCP:5357, TCP:445, UDP:138, UDP:137,TCP:2869 | System open port |
416 | TCP:49152 | |
504 | TCP:49156 | |
512 | TCP:49155 | |
752 | TCP:135 | Samba |
688 | Vbox | |
852 | TCP:49153 | |
920 | TCP:49154 | |
1004 | UDP:5355 | |
1368 | UDP:59471, UDP:59471, UDP:3702, UDP:1900, UDP:61556, UDP:61555 | Suspicious |
2464 | UDP:5005, UDP:5004, TCP:554 | Suspicious |

Answer: UDP:5005 (there are multiple answers for this task but the hint was saying the first one)
Task 2-2: Another suspicious process
We have identified PID 1368 and PID 2464 are malicious processes. There are other malicious processes still hiding inside the memory file which is yet to be discovered by us. How about revisiting the psscan?
$ volatility -f victim.raw --profile=Win7SP1x64 cmdline

$ volatility -f victim.raw -p 1860 --profile=Win7SP1x64 procdump <Directory to save the file>

$ volatility -f victim.raw --profile=Win7SP1x64 malfind

Answer: 1860;1820;2464
Task 3: Indicators of compromise (IOC)
IOC are pieces of forensic data found inside the system entries log and files. This data is then used to identify malicious activity. Since we have identified all the malicious process on the previous task, we can dump the memory of to process to identify the malicious activity. We can dump the memory using the following command$ volatility -f victim.raw -p <malicious PID> --profile=Win7SP1x64 memdump <Directory to save the file>
Out of 4 malicious dump files, we are only interested in 1820.dmp.
This is because of the dump file answering all the questions in the
following tasks.Task 3-1: The first URL
With the given hint, you can easily obtain the answer using grep wildcard.$ strings 1820.dmp | grep '\<www\.go....\.ru\>'

Task 3-2: The second URL
Similarly to the previous task.$ strings 1820.dmp | grep '\<www\.i....\.com\>'

Task 3-3: The third URL
Similarly to the task 3-1.$ strings 1820.dmp | grep '\<www\.ic......\.com\>'

Task 3-4: The first IP address
I guess you know the way.$ strings 1820.dmp | grep '\<202\....\.233\....\>'

Task 3-5: The second IP address
I don’t have to repeat it again.$ strings 1820.dmp | grep '\<...\.200\...\.164\>'

Task 3-6: The third IP address
You know what to do.$ strings 1820.dmp | grep '\<209\.190\....\....\>'

Task 3-7: The unique environment variable
To check with the environment variable from the memory image, you can use envars plugin command on PID 2464.$ volatility -f victim.raw -p 2464 --profile=Win7SP1x64 envars

Answer: OANOCACHE
0 comments:
Post a Comment