module

LibreOffice Macro Code Execution

Disclosed
2018-10-18
Created
2019-04-22

Description

LibreOffice comes bundled with sample macros written in Python and
allows the ability to bind program events to them. A macro can be tied
to a program event by including the script that contains the macro and
the function name to be executed. Additionally, a directory traversal
vulnerability exists in the component that references the Python script
to be executed. This allows a program event to execute functions from Python
scripts relative to the path of the samples macros folder. The pydoc.py script
included with LibreOffice contains the tempfilepager function that passes
arguments to os.system, allowing RCE.

This module generates an ODT file with a mouse over event that
when triggered, will execute arbitrary code.

Authors

Alex Inführ
Shelby Pace

Platform

Linux,Windows

Architectures

x86, x64

Module Options

To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:


msf > use exploit/multi/fileformat/libreoffice_macro_exec
msf exploit(libreoffice_macro_exec) > show targets
...targets...
msf exploit(libreoffice_macro_exec) > set TARGET < target-id >
msf exploit(libreoffice_macro_exec) > show options
...show and set options...
msf exploit(libreoffice_macro_exec) > exploit

Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.