Parse NTLM challenge messages from HTTP, SMB, and MSSQL endpoints to extract server information for security testing.
NTLM Challenger is a Python security tool that sends NTLM negotiate messages to HTTP, SMB, or MSSQL endpoints and parses the challenge responses. It extracts valuable server information like domain names, computer names, OS versions, and NTLM negotiation flags, which is useful for reconnaissance during penetration testing or security assessments.
Security professionals, penetration testers, and red teamers who need to gather information from servers using NTLM authentication protocols.
It provides a simple, command-line interface to quickly probe NTLM-enabled services across multiple protocols, extracting detailed metadata that can reveal server configurations and potential attack surfaces without requiring extensive setup.
Parse NTLM challenge messages over HTTP and SMB
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports HTTP(S), SMB, and MSSQL endpoints in a single tool, as demonstrated by the examples probing autodiscover.hackin.club, SMB shares, and MSSQL servers.
Parses detailed OS versions with build numbers, domain/server names, and TargetInfo fields like timestamps, clearly shown in the structured output examples.
Organizes data into Target, Version, TargetInfo, and Negotiate Flags sections, making it easy to analyze NTLM challenge responses at a glance.
Requires only a URL argument and basic Python setup, with no complex configuration—just run `python3 ntlm_challenger.py <URL>` as per the README.
Relies on the impacket library for SMB and MSSQL connections, which is a heavy dependency that can be tricky to install and may introduce compatibility issues.
Exclusively handles NTLM negotiate-challenge exchanges; it cannot test other authentication protocols or perform actions beyond reconnaissance.
Designed for single-target probing; lacks built-in features for scanning multiple endpoints or automating large-scale reconnaissance tasks.
Outputs data in plain text without native support for JSON or machine-readable formats, limiting ease of integration into automated pipelines.