Skip to content
Skillpedia
Misc48k · #3277

hunt-ntlm-info

Gives your AI agent ready-made instructions for a specific task, so it does it better and faster.

What it does

This tool searches for Windows system information (like domain and computer names) that might be accidentally exposed on the internet by servers running Microsoft software like IIS, SharePoint, or Exchange. This information can help attackers plan further attacks.

When to use it

  • ✓When checking the security of public Microsoft web servers.
  • ✓To understand what information a server might leak about the internal network.
  • ✓During authorized security testing of corporate applications.

Example of what to ask your AI

“Hunt for NTLM/Negotiate information disclosure on www.example.com”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-ntlm-info/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-ntlm-info/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool sends specific requests to web servers and analyzes the responses. It looks for authentication headers indicating the server uses NTLM or Negotiate, and attempts to extract details like domain and computer names.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill hunt-ntlm-info

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-ntlm-info/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

⚠️ AUTHORIZED USE ONLY This 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 gate Before 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

NTLM info disclosure is a Medium-severity finding when chained to context — the leak itself is intentional protocol behavior (RFC-compliant NTLMSSP challenge), but on internet-exposed enterprise infrastructure it provides exact reconnaissance for the next stage of an attack. Highest-value targets:

  • Internet-reachable IIS / SharePoint / Exchange / OWA with dual-auth (Forms + NTLM, or NTLM + Kerberos)
  • Citrix NetScaler / VMware Horizon View internet-facing gateways with NTLM-backed AD auth
  • Lync / Skype for Business / Teams On-Prem edge servers
  • WSUS / Windows Update Services with NTLM-protected admin paths
  • CIFS-style fileshare proxies (HCL Sametime, IBM Notes Domino) that proxy NTLM
  • Legacy SharePoint farms that left NTLM enabled on the public-zone IIS binding

What makes this pay:

  • Internal AD domain disclosure (parent-forest mapping, e.g. customer.parent-corp.example → tenant inside corporate-AD tree)
  • Default-Windows-hostname disclosure (WIN-XXXXXXXXXXX pattern signals rushed provisioning → likely default service-account passwords)
  • Timestamp leak (used in NTLMv2 hash cracking acceleration)
  • Direct attack-map enrichment for credential spraying combined with hunt-auth-bypass Legacy-Protocol Matrix

Attack Surface Signals

Response headers signaling NTLM availability:

WWW-Authenticate: NTLM
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM, Negotiate
WWW-Authenticate: Negotiate, NTLM

URL patterns where NTLM is commonly exposed:

/_api/web/CurrentUser                  (SharePoint REST)
/_vti_bin/*.asmx                       (SharePoint legacy SOAP)
/EWS/Exchange.asmx                     (Exchange Web Services)
/Autodiscover/Autodiscover.xml         (Exchange autodiscover)
/owa/                                  (Outlook Web App)
/Microsoft-Server-ActiveSync           (ActiveSync)
/PowerShell                            (Exchange Mgmt Shell over HTTPS)
/api/v3/                               (TeamCity, Atlassian)
/wsus/                                 (Windows Server Update Services)
/manager/html                          (some Tomcat behind IIS)
/iisstart.htm                          (default IIS, sometimes reveals NTLM upstream)

Tech-stack signals:

  • IIS on the public internet (almost always NTLM-capable, even if Forms is the front)
  • SharePoint Web Front End (almost always dual-auth Forms + NTLM)
  • Exchange edge transport
  • Server header Microsoft-HTTPAPI/2.0, Microsoft-IIS/*, IIS/*

Step-by-Step Hunting Methodology

  1. Probe every anonymous endpoint for WWW-Authenticate: NTLM. Send a vanilla GET and inspect response headers. If NTLM is offered, proceed.

  2. Send a valid NTLMSSP Type-1 message anonymously. The Type-1 base64 below requests NetBIOS-domain and Workstation info from the server:

    Authorization: NTLM TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==
    

    This is the standard test Type-1 with negotiate flags NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_OEM | NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_NEGOTIATE_ALWAYS_SIGN | NTLMSSP_NEGOTIATE_KEY_EXCH | NTLMSSP_NEGOTIATE_56 | NTLMSSP_NEGOTIATE_128 | NTLMSSP_NEGOTIATE_TARGET_INFO. The OS Version field (06 01 B1 1D 00 00 00 0F) is Windows 7 build 7601 — accepted by virtually every NTLM responder.

  3. Use a keep-alive raw socket, not Python requests / curl one-shot. Most HTTP libraries close the connection between the Type-1 send and Type-2 reception. Use one of:

    • Burp Repeater with Connection: keep-alive set explicitly

…

FAQ

What are NTLM/Negotiate?

These are authentication protocols used by Windows to verify the identity of users and computers on a network.

Why is exposing this information a problem?

This information, when exposed on the internet, can give an attacker valuable clues about the internal network structure, facilitating future attacks.

Do I need permission to use this tool?

Yes, it is crucial to have explicit, written permission from the system owner before using this tool, as it can be used to gather information for attacks.

Details

Original description by the author

Hunt NTLM/Negotiate information disclosure on internet-reachable IIS/SharePoint/Exchange.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3277
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills