Reminiscent

Description

Suspicious traffic was detected from a recruiter's virtual PC. A memory dump of the offending VM was captured before it was removed from the network for imaging and analysis. Our recruiter mentioned he received an email from someone regarding their resume. A copy of the email was recovered and is provided for reference. Find and decode the source of the malware to find the flag.

Solution

└─$ unzip -P hackthebox Reminiscent.zip
Archive:  Reminiscent.zip
   creating: reminiscent/
  inflating: reminiscent/flounder-pc-memdump.elf
  inflating: reminiscent/imageinfo.txt
  inflating: reminiscent/Resume.eml

└─$ /bin/ls -lAh ./reminiscent
total 544M
-rwxrwx--- 1 root vboxsf 544M Oct  4  2017 flounder-pc-memdump.elf
-rwxrwx--- 1 root vboxsf  861 Oct  4  2017 imageinfo.txt
-rwxrwx--- 1 root vboxsf 1.6K Sep 26 07:58 Resume.eml

We are provided with imageinfo.txt which described the memory dump profile:

└─$ cat imageinfo.txt
          Suggested Profile(s) : Win7SP1x64, Win7SP0x64, Win2008R2SP0x64, Win2008R2SP1x64_23418, Win2008R2SP1x64, Win7SP1x64_23418
                     AS Layer1 : WindowsAMD64PagedMemory (Kernel AS)
                     AS Layer2 : VirtualBoxCoreDumpElf64 (Unnamed AS)
                     AS Layer3 : FileAddressSpace (/home/infosec/dumps/mem_dumps/01/flounder-pc-memdump.elf)
                      PAE type : No PAE
                           DTB : 0x187000L
                          KDBG : 0xf800027fe0a0L
          Number of Processors : 2
     Image Type (Service Pack) : 1
                KPCR for CPU 0 : 0xfffff800027ffd00L
                KPCR for CPU 1 : 0xfffff880009eb000L
             KUSER_SHARED_DATA : 0xfffff78000000000L
           Image date and time : 2017-10-04 18:07:30 UTC+0000
     Image local date and time : 2017-10-04 11:07:30 -0700

Resume.eml:

Only lnk files were found with FileScan..

Next I tried Malfind for ~easy win

Should have checked the processes first

Decode base64 blobs with Cyberchef (From Base64 (> Decode Text: UTF-16LE))

Smaller powershell script seems to be the initial foothold, it searches for lnk file in current directory, if it can't find it it changes directory to where it is, in this case Temp. Then it reads data from 3230-9676 which contains Base64 encoded payload, it's decoded and evaluated.

I was decoding the script manually, when I got tired I just threw it to ChatGPT and MF did a fine job D:

Decoding Base64 blob was enough to reveal flag, but script looked interesting.

circle-check

Last updated