XLM Macros

We will be using the REMnux distribution which is specifically made for reverse engineering.

Q1. Sample1: What is the document decryption password?

  • Using msoffcrypto-crack.py we can recover the password of encrypted MS Office documents.

$ msoffcrypto-crack.py sample1-fb5ed444ddc37d748639f624397cff2a.bin
Password found: VelvetSweatshop

Q2. Sample1: This document contains six hidden sheets. What are their names? Provide the value of the one starting with S.

  • Let's look at the file metadata using exiftool.

$ exiftool sample1-fb5ed444ddc37d748639f624397cff2a.bin 
ExifTool Version Number         : 12.42
File Name                       : sample1-fb5ed444ddc37d748639f624397cff2a.bin
Directory                       : .
File Size                       : 97 kB
File Modification Date/Time     : 2020:07:24 02:50:18-04:00
File Access Date/Time           : 2023:07:23 05:34:02-04:00
File Inode Change Date/Time     : 2023:07:23 05:31:51-04:00
File Permissions                : -rw-rw-rw-
File Type                       : XLS
File Type Extension             : xls
MIME Type                       : application/vnd.ms-excel
Comp Obj User Type Len          : 38
Comp Obj User Type              : Microsoft Office Excel 2003 Worksheet
Author                          : 
Last Modified By                : 
Software                        : Microsoft Excel
Create Date                     : 2020:04:01 11:48:22
Modify Date                     : 2020:04:02 12:21:34
Security                        : Password protected
Code Page                       : Windows Latin 1 (Western European)
App Version                     : 12.0000
Scale Crop                      : No
Links Up To Date                : No
Shared Doc                      : No
Hyperlinks Changed              : No
Title Of Parts                  : Sheet1, Sheet2, Sheet3, SOCWNEScLLxkLhtJp, OHqYbvYcqmWjJJjsF, Macro2, Macro3, Macro4, Macro5
Heading Pairs                   : Worksheets, 3, Excel 4.0 Macros, 6
  • In the Title Of Parts field we can see that there is only one starting with a S.

Q3. Sample1: What URL is the malware using to download the next stage? Only include the second-level and top-level domain. For example, xyz.com.

  • We can use olevba for this task.

Q4. Sample1: What malware family was this document attempting to drop?

  • Before we do anything, we need to find the MD5 hash of the file.

Q5. Sample2: This document has a very hidden sheet. What is the name of this sheet?

  • Let's use exiftool as before in order to find the sheets contained in the file.

  • Unfortunately, exiftool does not give us the hidden sheets.

  • We have to use olevba to find the hidden sheet.

Q6. Sample2: This document uses reg.exe. What registry key is it checking?

  • In the output of the previous command, we can find the registry key.

Q7. Sample2: From the use of reg.exe, what value of the assessed key indicates a sandbox environment?

  • Using the xmldeobfuscator tool, we can decode unclear XLM macros.

  • We can see the key specified as 1.

Q8. Sample2: This document performs several additional anti-analysis checks. What Excel 4 macro function does it use?

  • In the xmldeobfuscator output, we can see the check being performed using the GET.WORKSPACE function.

Q9. Sample2: This document checks for the name of the environment in which Excel is running. What value is it using to compare?

  • In the output we can see the OS mentioned in the GET.WORKSPACE command.

Q10. Sample2: What type of payload is downloaded?

  • The process is opening a rundll32.exe file.

Q11. Sample2: What URL does the malware download the payload from?

  • Again the answer can be found in the output of the xmldeobfuscator.

Q12. Sample2: What is the filename that the payload is saved as?

  • The answer lies in the previous snippet.

Q13. Sample2: How is the payload executed? For example, mshta.exe

  • We can find the answer in in the same snippet as Q10 as the payload is first opened and then executed.

Q14. Sample2: What was the malware family?

  • Use md5sum to obtain the file hash.

  • Let's look up this hash in VirusTotal.

  • The answer is the one listed by TrendMicro.

Last updated

Was this helpful?