sickn33/agentic-awesome-skills/hunt-sharepoint
Claude Code and agent skill by sickn33/agentic-awesome-skills
- community
Checking that the SKILL.md file is still in the repository.
Hunt Microsoft SharePoint Server (2013/2016/2019/Subscription Edition)
Install
npx vskill@latest install sickn33/agentic-awesome-skills/hunt-sharepointSKILL.md
⚠️ AUTHORIZED USE ONLYThis skill is for educational purposes or authorized security assessments only.You must have explicit, written permission from the system owner before using this tool.Misuse of this tool is illegal and strictly prohibited.
Mandatory confirmation gateBefore running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:1. Ask the user to state the exact target URL, IP, account, or resource.2. Ask the user to confirm written authorization and the permitted scope.3. Show the exact command(s) and explain their expected effect.4. Wait for explicit confirmation in the current conversation.Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
Crown Jewel Targets
SharePoint Server (on-prem) is one of the richest enterprise attack surfaces in 2025-2026 bug bounty / red-team work. Three forces converge:
- Unsupported editions need migration and exposure controls. Check Microsoft Lifecycle for the exact edition and current date; SharePoint 2013, 2016 and 2019 are outside extended support by October 2026. EoL does not imply every later SharePoint CVE applies to every edition.
- ToolShell requires vendor-based exposure assessment. Use the Microsoft CVE advisories, installed updates and farm configuration. Reachable ToolPane, FormDigest issuance, a blank
__VIEWSTATEENCRYPTEDfield or HTTP 200 do not prove deserialization RCE or bypassed authorization. - Legacy authentication endpoints need independent control testing. SOAP Mode=Forms indicates configuration, not an auth bypass. Use only owned test accounts and a pre-agreed low attempt limit; uniform failures do not prove unlimited guessing or absent account lockout/MFA.
Highest-value SharePoint targets:
- SP2013 farms still on the public internet — check actual affected code/patch exposure; do not assign critical severity from EoL alone.
- Dealer / partner / supplier portals built on SharePoint by enterprise integrators (German VW group, a enterprise system integrator, etc.) — high-impact business data, often nested inside corporate AD trees.
- SharePoint farms with anonymous Forms-auth zones — Authentication.asmx becomes anonymously brute-forceable.
- SharePoint inside corporate AD parent forests — NTLM Type-2 leak (see
hunt-ntlm-info) discloses the parent forest membership. - Telerik-integrated SharePoint installations — additional deserialization sinks on top of SP's own.
Asset types that pay most: internet-reachable SP Server (any version) > SP Online with custom solutions hooks > intranet SP only after VPN compromise.
Attack Surface Signals
Response-header fingerprints (correlate several; generic cookies, DAV and timing headers are not sufficient):
URL / path fingerprints:
Body signals (in HTML responses):
Tech-stack signals:
Server: Microsoft-IIS/10.0+ paths starting with/_layouts/15/→ SharePoint 2013/2016/2019/SE- AWS ELB / ALB in front of SharePoint → cross-node ViewState MAC issues possible (see hunt-aspnet)
WWW-Authenticate: NTLMon/_api/web/CurrentUser→ dual-auth (Forms + NTLM); usehunt-ntlm-infofor AD-topology disclosure*.test.<customer>.tld→ test/staging mirror of production SharePoint; data often mirrored from prod
Step-by-Step Hunting Methodology
- Fingerprint the SharePoint version. Build number leaks anonymously through several paths. Map the result to the CVE matrix immediately.
```bash # Method 1: _vti_inf.html (always anonymous, always present) curl -sS --max-time 15 "https://target.example/_vti_inf.html" # → FPVersion="15.00.0.000" (15.x = SP2013, 16.x = SP2016/2019/SE)
# Method 2: _api/contextinfo POST (anonymous on most farms) curl -sS --max-time 15 -X POST "https://target.example/_api/contextinfo" \ -H "Accept: application/json;odata=verbose" \
# → "15.0.5545.1000" (full build number)
# Method 3: /_layouts/15/start.aspx body curl -sS --max-time 15 "https://target.example/_layouts/15/start.aspx" \
```
Map to vendor evidence: request the owner's farm build and installed KB inventory, verify edition and patch prerequisites against Microsoft advisories, and record uncertainty. Header/LibraryVersion values alone may not identify installed security fixes.
- Anonymous-endpoint matrix probe. Walk every endpoint in the table below in one pass. Anything anonymous becomes part of the attack chain.
`` /_vti_inf.html → version disclosure /_layouts/15/start.aspx → version disclosure + session minting /_layouts/15/blank.htm → benign anchor for smuggling probes /_layouts/15/error.aspx → request-validator behaviour probe /_layouts/15/Authenticate.aspx?Source= → redirect-chain behaviour /_layouts/15/AccessDenied.aspx?Source= → redirect-chain behaviour /_layouts/15/SignOut.aspx → logout — anonymous OK /_layouts/15/closeConnection.aspx → anonymous OK /_layouts/15/scriptresx.ashx?culture=en-us&name=SP.Res → 35KB localised strings /_layouts/15/scriptresx.ashx?culture=en-us&name=core → 277KB localised strings /_layouts/15/ToolPane.aspx?DisplayMode=Edit → ToolShell precondition (THIS IS THE BIG ONE) /_layouts/15/Picker.aspx → SafeControl recon (see step 6) /_layouts/15/<CustomerName>/pages/login/customlogin.aspx → custom Forms login (replace <CustomerName> with target's customer name) /_vti_bin/Authentication.asmx → legacy SOAP login — anonymous brute-force (CRITICAL) /_vti_bin/Authentication.asmx?WSDL → WSDL — confirms Login + Mode ops /_vti_bin/SharedAccess.asmx → often anonymous /_vti_bin/spsdisco.aspx → SP service discovery /_api/contextinfo (POST) → anonymous FormDigest mint (HIGH) /_api/$metadata → 381KB API surface enumeration /_api/Search → search service descriptor /_api/web/CurrentUser → 401 anon BUT WWW-Authenticate: NTLM leaks AD info (see hunt-ntlm-info) ``
- Legacy SOAP login bypass via Authentication.asmx. Cross-reference
hunt-auth-bypassLegacy-Protocol Matrix. The standard probe:
```bash # First: confirm Mode = Forms (else this attack vector is N/A) curl -sS --max-time 15 -X POST "https://target.example/_vti_bin/Authentication.asmx" \ -H "Content-Type: text/xml; charset=utf-8" \ -H "SOAPAction: http://schemas.microsoft.com/sharepoint/soap/Mode" \ -d '<?xml version="1.0"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><Mode xmlns="http://schemas.microsoft.com/sharepoint/soap/" /></soap:Body></soap:Envelope>' # → <ModeResult>Forms</ModeResult> ← forms-auth configuration only # → <ModeResult>Windows</ModeResult> ← target uses Windows auth only; this vector N/A
# Then: confirm no rate limit / no lockout (synthetic non-existent users ONLY) # Send 10 bursts at "burst-test-synthetic-zzz" with distinct wrong passwords # Uniform responses within this bounded test do not prove unlimited guessing or absent controls. ```
Assessment: Report the actual limited test and controls observed; use a test account to distinguish account lockout from endpoint throttling when expressly authorized. Never infer account takeover or Critical severity solely from ten invalid-user attempts.
- ToolShell precondition chain probe (CVE-2025-53770 class). Three sub-requests:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hunt-sharepoint/SKILL.md
Popularity
- Repository stars
- 47,054
- Repository forks
- 6,853
- 7-day trend score
- 54
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sickn33/agentic-awesome-skills/hunt-sharepoint)