HTTP to SMB Relay Server#21620
Open
jheysel-r7 wants to merge 2 commits into
Open
Conversation
Added scenarios section
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new auxiliary relay server module that accepts incoming NTLM HTTP auth and relays it to SMB targets to establish SMB sessions, by wiring the existing HTTP relay server to the existing SMB NTLM relay client.
Changes:
- Add
auxiliary/server/relay/http_to_smbmodule to create SMB sessions via HTTP→SMB NTLM relay. - Extend the HTTP relay NTLM server client to support
:smbrelay targets (in addition to LDAP). - Add documentation for setup/usage and example scenarios.
Impact Analysis:
- Blast radius: medium — affects any modules using
Msf::Exploit::Remote::HttpServer::Relay/HttpServer::Relay::NTLM::ServerClient, plus newauxiliary/server/relay/http_to_smbusers. - Data and contract effects: low — no schema changes; does add a new supported relay protocol path (
:smb) and changes log output formatting. - Rollback and test focus: rollback is straightforward (revert new module + SMB branch); focus testing on successful relay flow (Type1/Type2/Type3) and session creation, plus failure paths and multi-target redirect behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| modules/auxiliary/server/relay/http_to_smb.rb | New HTTP→SMB relay auxiliary module that creates SMB sessions on successful relay. |
| lib/msf/core/exploit/remote/http_server/relay/ntlm/server_client.rb | Adds SMB relay client creation and generalizes protocol-specific success/failure messages. |
| documentation/modules/auxiliary/server/relay/http_to_smb.md | New usage documentation and scenarios for the HTTP→SMB relay module. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This adds an HTTP to SMB Relay server module. This allows users to relay an incoming NTLM HTTP authentication request to multiple SMB servers in order to establish SMB session on the target hosts to be used by the framework.
It simply wires up the existing HTTP relay server (
Msf::Exploit::Remote::HttpServer::Relay) with existing NTLM relay SMB client (Msf::Exploit::Remote::Relay::NTLM::Target::SMB::Client).Breaking Changes
None
Reviewer Notes
NTLMv1 is permanently disabled on Windows 11 so be sure to send the auth request from Windows 10 / a client that supports NTLMv1 or message me for details on my shared lab environment.
Test Evidence
Environment
AI Usage Disclosure
kiro-cli
Pre-Submission Checklist
documentation/modules(new modules only)lib/changes)