Share
# Exploit Title: Microsoft Office Code Execution/Protection Bypass  
# Exploit Author: Social Engineering Neo - @EngineeringNeo  
# Software Link:  
https://products.office.com/en-nz/compare-all-microsoft-office-products  
# Version: Office365/ProPlus - (build 16.0.11901.20204)  
# Tested on: Windows - (build 18362.295)  
  
Microsoft Office365/ProPlus Auto Macro Code Execution/Protection  
Bypass by Social Engineering Neo.  
Check out our in-depth report @  
https://github.com/SocialEngineeringNeo/Exploits/blob/master/Our%20Exploits/Microsoft/Office/MacroAutoExec_Report.txt  
  
Affected Platforms: -  
Microsoft Windows ≤10  
Office365 & ProPlus Products ≤2019  
  
  
Tested On: -  
Windows 10 (build 17763.253 & 18362.295)  
Office365/ProPlus (build 16.0.11727.20222, 16.0.11901.20170 & 16.0.11901.20204)  
Most up to-date version of Microsoft Windows & Office365/ProPlus  
Products are affected.  
  
  
Class: -  
Inappropriate Configuration. (CWE-16)  
Remote Code Execution.  
  
  
Summary: -  
Multiple Microsoft Office Products Suffer from Inappropriate Default  
Configuration, Allowing Auto-Execution of Macro Code Inside  
Macro-Enabled Office Documents.  
  
  
Short Description: -  
Macro-enabled Office documents can bypass protections when located in  
specific directories/locations on the host machine.  
  
  
Long Description: -  
Standard users can download macro-enabled Access, Excel, PowerPoint,  
Word documents and bypass built-in protections allowing potentially  
malicious code to run on the affected system without any user consent.  
For example, the standard user downloads a macro-enabled Word document  
from the internet. The user has the latest Windows & Office365/ProPlus  
patches installed.  
Let’s assume the document is downloaded & opened in '~\Downloads\', MS  
Word will prevent the script(s) from running and prompt the user for  
consent to execute the script. (this is good)  
Now, let’s assume that same document is opened in one of the default  
"Trusted Locations" '~\AppData\Roaming\Microsoft\Word\STARTUP\', MS  
Word will allow the script to run automatically without user consent.  
(this is bad)  
  
  
Proof of Concept: -  
Tested on Latest Versions of Access, Excel, InfoPath, OneNote,  
Outlook, PowerPoint, Project, Publisher, Visio, Word.  
  
Does (by-default) affect Access, Excel, PowerPoint, Word.  
Does not (by-default) affect InfoPath, Visio.  
Does not affect OneNote, Outlook, Project, Publisher.  
  
ATTACKER: -  
Step 1.) - Inject malicious VBA macro code & payload into Word  
document. *preferably AV evasive*  
Step 2.) - Send malicious macro-enabled document to victim through internet.  
Step 3.) - Setup bind/reverse connection.  
*Optional*  
Step 1.1) - Create shortcut to intended document location (one of the  
default trusted locations). Include link file with original document.  
Step 1.2) - Be creative. Think of some path traversal  
vulnerabilities;) *who updates zip software anyways*  
  
VICTIM: -  
Step 1.) - Download document sent by ATTACKER.  
Step 2.) - Open Document in trusted directory/location.  
*If Optional Was Done*  
Step 1.1) - Unzip/extract document.  
Step 1.2) - Open document shortcut.  
  
[CODE EXECUTION SUCCESSFUL]  
  
Am I at risk??? Sure...  
Step 1.) - Open Microsoft Office Product.  
Step 1.1) - Create a new blank document.  
  
Step 2.) - Navigate to File, Options.  
Step 2.1) - Once in the "Word Options" window. Navigate to 'Trust  
Center', 'Trust Center Settings'  
  
Step 3.) - Once in the "Trust Center" window. Navigate to 'Trusted Locations'  
  
You will now see locations on the device which can execute macro  
commands without additional user interaction. (auto-exec)  
  
VIDEO: - https://youtu.be/jNBl6yiYwmo **updated**  
: - https://youtu.be/j75GUD9oUK4 **original**  
  
  
Expected Result: -  
It shouldn't be possible to automatically execute macro code on the  
host machine without user consent or additional configuration.  
(Clean Install)  
  
  
Observed Result: -  
Office document auto-executes macro code upon loading document without  
any user consent, in our case leading to remote code execution.  
(User Level Access)  
  
  
Our Recommendation:  
Disable 'Trusted Locations'. This is due to users often not using the  
default trusted locations, potentially leaving average users  
vulnerable to such attacks when there is no need.