
A Fullstack Academy Cybersecurity project examining the full cycle of the Follina (CVE-2022-30190) vulnerability, from exploit to detection and defense.
A Fullstack Academy Cybersecurity project examining the full cycle of the Follina (CVE-2022-30190) vulnerability, from exploit to detection and defense.
Team:
This set of tools assumes that you have a web host or can spin up a simple webserver using Python to host the generated or example payload files.
The files in the Example Payloads folder contain actual malicious code. These were used with VMs on a local network and should not pose a problem on a secure network where you trust all machines, but please take care when using or modifying these files. Additionally, the document and payload generators obviously create malicious files of their own. Please use these tools only on VMs or other disposable environments! Don't use any tools here you don't understand.
To create the Microsoft Word document with the Follina exploit, run docgen_v3.py, using the following options
To create a payload html file, use generate_payload.py with either the poc subcommand to generate a proof of concept payload that opens the Windows Calculator or the custom subcommand to generate a payload with your own script.
Examples:
python generate_payload.py poc -o test.html will generate the calculator payload in test.htmlpython generate_payload.py custom -o test.html -p "search-ms:query=procmon.exe&crumb=location:%5C%5Clive.sysinternals.com%5Ctools&displayname=IMPORTANT%20UPDATE" will generate test.html as a custom payload with the SearchNightmare exploitExample payloads can be found in the "Example Payloads" folder.
Follina detection requires Sysmon to be installed to log events. Our detection methods here rely on finding instances where Microsoft Word calls MSDT.exe, but the scripts can be modified to search for other artifacts such as the arguments used by Follina in its Powershell command. The following tools are available:
All example docx and rtf files html files are pointed at payloads hosted at IP address 10.0.2.15. Additionally, if you want to use the reverse shell exploit, set up a listener on port 9999.