aboutsummaryrefslogtreecommitdiff
path: root/Scripts/Inveigh-Relay.ps1
AgeCommit message (Collapse)AuthorFilesLines
2018-02-19Inveigh 1.4 devKevin Robertson1-4516/+0
This is an early version of Inveigh 1.4. There is probably alot that is broken. Inveigh: 1. Invoke-DNSUpdate integration - Inveigh will attempt to inject DNS records if the same LLMNR/NBNS request is observed from multiple systems. The goal is to find requests that could be valid in other subnets and leverage them through DNS. This version requires that Inveigh is running with a domain auth user context. 2. Reworked output system and formating. 3. hmm...I forget. Inveigh Relay: 1. New attack with Invoke-TheHash integration - In addition to that standard psexec style attack, Inveigh Relay now has the ability to create and maintain authenticated priv and unpriv SMB2 sessions. These sessions can be used by Invoke-SMBClient (attack file shares) and Invoke-SMBExec. Invoke-InveighRelay -Attack session -Target 10.10.10.10 wait for relay Get-Inveigh -session Invoke-SMBClient -Session 0 -Source \\10.10.10.10\share 2. Multitarget - Inveigh Relay will now accept an array of targets. As relay attempts come in, Inveigh Relay will attempt to select the best target (still needs work). 3. SMB signing check for targets on startup. 4. Reworked output system and formating. I'm temporarily housing newer versions of Invoke-DNSUpdate, Invoke-SMBClient, and Invoke-SMBExec here. They need to be imported into the same powershell session for integration to work. There is also probably a lot broken with these.
2017-09-25ResponderGuard defenseKevin Robertson1-179/+309
Inveigh will now ignore NBNS/LLMNR requests sent directly to the host IP address rather than the broadcast/multicast address.
2017-04-03bug fixesKevin Robertson1-4/+5
2017-04-02mDNS spoofer, log control, bug fixesKevin Robertson1-321/+709
Added mDNS spoofer. Simplified some HTTP listener code. Added LogOutput and ConsoleQueueLimit parameters to control in-memory log entry storage. Fixed some bugs.
2017-03-27bug fixes and partial readme updateKevin Robertson1-9/+9
2017-03-26POST request capture, ConsoleOutput levels, bug fixesKevin Robertson1-254/+374
Added additional ConsoleOutput levels. Inveigh.ps1 - Added ability to capture POST requests for use when serving up forms. Added limited ability automatically serve content to browsers during proxy auth attacks.
2017-03-21Added Firefox blocking for proxy authKevin Robertson1-11/+45
Added ProxyIgnore parameter for controlling browser user agents string that get blocked from the proxy auth process. Firefox is listed by default since it doesn't play nice with the proxy failover.
2017-03-21Merged Inveigh and Inveigh-Unprivileged, added proxy authKevin Robertson1-145/+266
I decided to do more for 1.3. I still need to do a lot of testing for these versions and make a few tweaks. Inveigh.ps1 - I merged Inveigh and Inveigh-Unprivileged together without losing any funtionality. By default, Inveigh will detect privilege and the run what's appropriate. Basically, an elevated privileged shell = old Inveigh, non-elevated = old Inveigh-Unprivileged. You can also set the mode manually through ElevatedPrivilege. I also added proxy authentication (thanks to Laurent Gaffie and Mubix for the idea from Responder) to grab challenge/response hashes or basic cleartext. Added support for serving HTA code through HTTPResponse or stored files. Inveigh-Relay.ps1 - Added proxy authentication relay. Enabled NTLMv1 relay. Added auto-exit (RelayAutoExit) after success. Inveigh-Unprivileged.ps1 - gone
2017-03-07Added support for longer commands with Inveigh-RelayKevin Robertson1-149/+338
Inveigh-Relay now support longer commands such as the Empire 2.0 launchers. The current features in dev will likely be tested and released as Inveigh 1.3.
2017-02-22Bug fixesKevin Robertson1-5/+31
2017-02-06Fixed a bug that was causing auth failures during SMB relayKevin Robertson1-3/+3
2017-01-16Early 1.3 versionsKevin Robertson1-795/+2190
Invoke-InveighRelay refactor - added SMB2 support and switched to an HTTP listener that does not require admin access. Admin access is still required if installing a cert for HTTPS. Note that the system running Invoke-InveighRelay can be targeted for privesc.
2016-09-11Another 1.2 update and new readmeKevin Robertson1-457/+329
2016-09-09Web server and learning fixesKevin Robertson1-1/+1
Fixed some issues with the Inveigh-Unprivileged web server. Modified the Inveigh learning code so that it can handle multiple requests received in quick succession.
2016-09-081.2 PrepKevin Robertson1-211/+343
Added a learning mode (SpooferLearning parameter) to Invoke-Inveigh that will attempt to avoid spoofing requests for valid hostnames. If enabled, Inveigh will send out LLMNR/NBNS requests for hostnames received through incoming LLMNR/NBNS requests. If Inveigh receives a response for a sent requests, it will add the hostname to a blacklist. Refined the Invoke-InveighPrivileged web server. Performed some general cleanup on all functions.
2016-08-281.2 prepKevin Robertson1-125/+136
Removed the ability to launch Inveigh-Relay directly from Inveigh. Added @joncave's parsing functions to Inveigh-Relay and Inveigh-Unprivileged. Added some some code to help keep track or the SMB capture sequence. This will hopefully prevent SMB challenge/response mismatches due to the firewall interference issue reported by @Meatballs1. http://stackoverflow.com/questions/4840902/unable-to-read-incoming-responses-using-raw-sockets/5127784#5127784
2016-08-02Windows Firewall check and readme updateKevin Robertson1-1/+14
Added a warning for when the Windows Firewall is enabled. Added a note about the June patches likely breaking features of Invoke-InveighBruteForce.
2016-05-10Code cleanup and new parametersKevin Robertson1-594/+784
Contains a few rounds of code cleanup and the following changes: Parameters Added to Invoke-Inveigh: ConsoleUnique - Enable/Disable displaying challenge/response hashes for only unique IP, domain/hostname, and username combinations when real time console output is enabled. FileUnique - Enable/Disable outputting challenge/response hashes for only unique IP, domain/hostname, and username combinations when real time file output is enabled. ConsoleStatus - Set interval in minutes for displaying all unique captured hashes and credentials. This is useful for displaying full capture lists when running through a shell that does not have access to the support functions. WPADEmptyFile - Enable/Disable serving a proxyless, all direct, wpad.dat file for wpad.dat requests. Enabling this setting can reduce the amount of redundant wpad.dat requests. This parameter is ignored when using WPADIP, WPADPort, or WPADResponse. Fixed: Corrected an issue that was preventing the MachineAccounts parameter from being fully enabled in all three scripts. Removed Support Functions: Get-InveighStat Get-InveighNTLM
2016-03-30Comment/notes update, minor cleanupKevin Robertson1-23/+23
Updated some comments and notes. Replaced ForEach alias with ForEach-Object.
2016-03-15New Script - Inveigh-BruteForce1.1Kevin Robertson1-95/+254
New Script - Inveigh-BruteForce - Remote (Hot Potato method)/unprivileged NBNS brute force spoofer. Inveigh-BruteForce Features: Targeted IPv4 NBNS brute force spoofer with granular control NTLMv1/NTLMv2 challenge/response capture over HTTP Granular control of console and file output Run time control Inveigh New Parameters: HTTPSCertAppID - Specify a valid application GUID for use with the ceriticate. LLMNRTTL - Specify a custom LLMNR TTL in seconds for the response packet. NBNSTTL - Specify a custom NBNS TTL in seconds for the response packet. WPADDirectHosts - Comma separated list of hosts to list as direct in the wpad.dat file. Listed hosts will not be routed through the defined proxy. Inveigh-Relay New Parameters: HTTPSCertAppID - Specify a valid application GUID for use with the ceriticate. RunTime - Set the run time duration in minutes. Bug Fix: Fixed an SMB relay issue that was causing a hang before sending the NTLMv2 response. Thanks to @mubix for reporting the bug and providing a packet capture.
2016-01-12Spoofer, HTTP/HTTPS, and WPAD additions/changes1.0.0Kevin Robertson1-51/+57
LLMNR/NBNS spoofer: SpooferIPsReply/SpooferIPsIgnore - These parameters provide granular control over what systems to respond to when spoofing. SpooferHostsReply/SpooferHostsIgnore - These parameters provide granular control over what requested hostnames to respond to when spoofing. Note that SpooferHostsAccept replaces SpoofList. SpooferRepeat - This parameter replaces Repeat in order to sync the parameter name with the prefix used for other spoofer parameters. HTTP/HTTPS Listener: HTTPAuth - This parameter provides the ability to set the HTTP/HTTPS non-WPAD auth to NTLM, Basic, or Anonymous. Basic authentication can be used to capture cleartext credentials (thanks @xorrior!). HTTPBasicRealm - Set a realm name if Basic auth is enabled. HTTPDir/HTTPDefaultFile/HTTPDefaultEXE/HTTPResponse - These parameters provide control over the content served by the listener. HTTPSCertThumbprint - This parameter provides the ability to more easily set the thumbprint for custom certs. HTTP/HTTPS requests are now reported and/or logged. WPAD: WPADIP/WPADPort - These parameters provide the ability to configure a proxy server on victim systems through WPAD. WPADResponse - These parameters provide the ability to configure a custom wpad.dat response rather than the basic one used by WPADIP and WPADPort. WPADAuth - This parameter provides the ability to set the HTTP/HTTPS WPAD auth to NTLM, Basic, or Anonymous. Basic authentication can be used to capture cleartext credentials (thanks @xorrior!). Note that this parameter replaces ForceWPADAuth. Miscellaneous: Get-InveighCleartext - Gets all captured cleartext credentials. Inspect - This switch parameter serves as an easier way to inspect LLMNR/NBNS traffic. If -Inspect is added to the command line, LLMNR, NBNS, HTTP, HTTPS, and SMB are disabled.
2015-12-09Added ability to display only one captured challenge/response for each ↵Kevin Robertson1-2/+68
unique account Added the 'unique' parameter to Get-InveighNTLMv1 and Get-InveighNTLMv2. If 'unique' is enabled, only the first captured challenge/response for each unique account will be displayed.
2015-11-15SMB relay fixKevin Robertson1-8/+16
I found that I had some hard coded packet data that needed to be dynamic. This was causing authentication failures on domain systems that didn't match the specs (domain name length, etc) of my test domain. Sorry!
2015-10-14Updated error handling and outputKevin Robertson1-87/+79
Added additional error handling for the command execution process. The console and file output will now report the name of the temp service created on the relay target. Removed an unnecessary packet and modified some of the bytes within the remaining packets.
2015-10-11Moved SMB relay code to a dedicated script, also added a Scripts directory ↵Kevin Robertson1-0/+1663
and psm1 and psd1 files The SMB relay code is now in Inveigh-Relay.ps1. The script can be used either through Invoke-Inveigh or as a standalone function.