winExploitSuggester — Windows Exploit Suggester
windows-exploit-suggester.py (often called winExploitSuggester) compares systeminfo output from a Windows host against Microsoft’s security bulletin database and lists missing patches with known public exploits [E] or Metasploit modules [M].
Ctrl+F:
winExploitSuggester·windows-exploit-suggester·systeminfo·--local·--update·hotfixes
When: Low Windows shell, WinPEAS done, looking for kernel / missing-patch privesc. Run on Kali only — never on the target.
Repo: GDSSecurity/Windows-Exploit-Suggester · fork: Windows-Exploit-Suggester-v2
Linux equivalent → linux-exploit-suggester
Alternatives: Privesc Tools (WinPEAS) · Windows PrivEsc (manual) · searchsploit
Install (Kali)
git clone https://github.com/GDSSecurity/Windows-Exploit-Suggester.git
cd Windows-Exploit-Suggester
pip3 install xlrd --upgrade --break-system-packages # Excel DB parser
# Download / refresh MS bulletin database (run periodically)
python3 windows-exploit-suggester.py --update
# Creates e.g. 2024-06-07-mssb.xlsFull install index → Installation - Kali Setup > 📌 Privilege escalation
📌 1) Target — collect systeminfo
systeminfo > C:\Temp\systeminfo.txtIf hotfix list shows File 1 or is empty, also run:
wmic qfe list full > C:\Temp\hotfixes.txtTransfer to Kali → File Transfer
📌 2) Run analysis on Kali
python3 windows-exploit-suggester.py --database 2024-06-07-mssb.xls --systeminfo systeminfo.txt
# Privesc only (filter remote noise)
python3 windows-exploit-suggester.py --database 2024-06-07-mssb.xls --systeminfo systeminfo.txt --local
# If systeminfo hotfixes broken — add wmic output
python3 windows-exploit-suggester.py --database 2024-06-07-mssb.xls --systeminfo systeminfo.txt --hotfixes hotfixes.txtOutput markers:
| Marker | Meaning |
|---|---|
[E] | ExploitDB / public PoC |
[M] | Metasploit module |
[*] | Missing bulletin (no known public exploit listed) |
Cross-check hits with searchsploit and MetaSploit before running exploits.
CLI flags
| Flag | Purpose |
|---|---|
--update | Download latest MS bulletin .xls database |
--database FILE | Path to DATE-mssb.xls |
--systeminfo FILE | Target systeminfo output |
--hotfixes FILE | wmic qfe output if hotfixes missing in systeminfo |
--local | Filter to local privesc only (skip remote/IIS noise) |
📌 3) Workflow
Low-priv Windows shell
↓
WinPEAS / manual enum ([[Windows PrivEsc]] · [[Every Box - Manual Workflow]])
↓
systeminfo > systeminfo.txt → transfer to Kali
↓
windows-exploit-suggester.py --database DATE-mssb.xls --systeminfo systeminfo.txt --local
↓
searchsploit / MSF module → test in lab
Also in Privesc Tools > 📌 2b) winExploitSuggester · Windows PrivEsc > 📌 0) Automated Enumeration Tools
📌 Quick Cheat Sheet
# Target
systeminfo > systeminfo.txt
wmic qfe list full > hotfixes.txt # if needed
# Kali
python3 windows-exploit-suggester.py --update
python3 windows-exploit-suggester.py --database DATE-mssb.xls --systeminfo systeminfo.txt --localNotes
- False positives are common — verify OS version/build and exploit requirements manually.
- Database must be updated periodically (
--update) — old.xlsmisses recent bulletins. - OSCP boxes are often fully patched — treat output as hints, not a hit list. Pair with Potato Attacks, service abuse, and Windows PrivEsc checklist.
📌 Alias check (Linux/bash)
alias
alias | grep -iE 'sudo|root|pass|su |chmod'Shell aliases may expose sudo shortcuts, paths to SUID binaries, or commands run as root — run on every Linux privesc pass.
→ Linux > 📌 1) Basic Manual Enumeration