aboutsummaryrefslogtreecommitdiff
path: root/Inveigh.ps1
AgeCommit message (Collapse)AuthorFilesLines
2021-11-30bug fixesKevin Robertson1-474/+500
2019-07-23latest dev buildKevin Robertson1-384/+372
cleanup
2019-05-05bug fixesKevin Robertson1-13/+14
2019-03-10Added features and tweaksKevin Robertson1-141/+504
Added DNS spoofer. Added GQBL NS bypass for wpad to ADIDNS attacks. HTTP listener improvements.
2019-02-26Merge branch 'dev' of https://github.com/Kevin-Robertson/Inveigh into devKevin Robertson1-1/+1
2019-02-26Kerberos TGT capture added to HTTPKevin Robertson1-310/+386
Both SMB sniffer and the HTTP/HTTPS/Proxy listener can now capture Kerberos TGTs in kirbi format.
2019-02-26Update Inveigh.ps1Kevin Robertson1-3/+3
2019-02-25Added SMB Kerberos TGT capture and kirbi outputKevin Robertson1-40/+607
Added SMB Kerberos TGT capture through packet sniffing and kirbi output. To use, credentials are required for an account with unconstrained delegation. This is still in the early stages. I'm not using an ASN.1 library so there is probably lots that can throw off the parsing.
2019-02-14Pcap output, more SMB info, bug fixesKevin Robertson1-133/+320
Added pcap output to either a file or in memory ArrayList. Added more output for SMB authentication activity. Fixed some Inveigh-Relay bugs.
2019-01-30Kerberos detection and bug fixesKevin Robertson1-13/+20
Added indicator for when SMB auth negotiates to Kerberos. Bug fixes.
2018-09-25Dev branch syncKevin Robertson1-163/+452
2018-09-16Final 1.4 Dev VersionKevin Robertson1-597/+810
Added ConvertTo-Inveigh (powershell 3+) for importing BloodHound JSON files for Inveigh Relay. Lots of updates and bug fixes.
2018-07-10Inveigh 1.4 dev updateKevin Robertson1-462/+1413
Invoke-Inveigh - Added ADIDNS spoofing combo and wildcard attacks. Removed dynamic updates combo attack. Invoke-InveighRelay - Latest revision of the new multi-host targeting system. I haven't yet had a chance to create a tool for importing CSV files from bloodhound. I was able to match up the data formatting though.
2018-05-01Inveigh-Relay new attack and targeting systemKevin Robertson1-3/+13
Inveigh-Relay 1. Added a new attack mode 'Enumerate'. This attack mode will leverage relayed connections to perform system enumeration. Right now I have local users, local admins, shares, and netsessions. 2. Attacks can now be combined. Session, Enumerate, and Execute can all be enabled at the same time. They will be chained together. 3. New multi-target system to replace the new multi-target system from the last dev update:) Inveigh-Relay will leverage the data gathered through enumeration to make relay target selections. Here's a simplistic example: a. Inveigh-Relay receives and incoming connection from 192.168.1.1 and relays the connection to 192.168.1.2. b. During the NTLM relay, the module records the user (test1) that is relayed from 192.168.1.1. c. The relayed connection is used to enumerate details on 192.168.1.2. The local admin group is found to include the user test2. d. test1 is found to not be privileged on 192.168.1.2. e. Inveigh-Relay receives an incoming connection from 192.168.1.3 and relays the connection to 192.168.1.4. f. During the NTLM relay, the module records the user (test2) that is relayed from 192.168.1.3. g. The relayed connection is used to enumerate details on 192.168.1.4. h. test2 is found to not be privileged on 192.168.1.4. i. Inveigh-Relay receives another connection from 192.168.1.3. j. Since test2 was previously observed on 192.168.1.3 and 192.168.1.2 has test2 in its local admin group, 192.168.1.2 is selected as a relay target. k. test2 is found to be privileged on 192.168.1.2. l. Depending on the attack selection, either a privileged session is established, a command is executed, or both. This is still in a very early stage and not production ready. I need to add a lot more logic to do things like prioritizing systems hosting shares with the session attack, etc. I also need to sort out gathering and importing the enumeration data used for targeting if you already have domain access. This will also open up making matches based on domain group membership. Bloodhound data should also work for targeting. I just need to work out how to match username formats, etc. Most of the enumeration data is stored in $inveigh.enumeration_list. 4. Target parameter will now accept CIDR and IP ranges. Invalid targets (as long as it's not a huge amount) are filtered out as part of the targeting process. 5. I took out SMB1 support. It only worked for command execution and removing it greatly simplifies things. The old version will still work if SMB1 is required. I should be back to regular updates leading up to the release of 1.4. The enumeration code took some time.
2018-02-20Inveigh 1.4 dev bug fixesKevin Robertson1-179/+174
Fixed a lot of bugs with the new Inveigh Relay session attack mode. Tweaked the SMB2 credits in Inveigh-Relay, Invoke-SMBExec, and Invoke-SMBClient to hopefully keep the sessions from erroring out after lots of repeated use. Switched to an SMB2 Echo to keep the sessions active. Fixed some output issues. Multitarget still isn't working correctly.
2018-02-19Inveigh 1.4 devKevin Robertson1-0/+4659
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.
2015-10-11Removed ps1 from main directoryKevin Robertson1-2251/+0
2015-10-11Revert "Moved SMB relay code to a dedicated script, also added psm1 and psd1 ↵Kevin Robertson1-236/+888
files." This reverts commit 8ab002602f672dddb91e27ff6bb7d5050771c688.
2015-10-11Moved SMB relay code to a dedicated script, also added psm1 and psd1 files.Kevin Robertson1-888/+236
The SMB relay code is now in Inveigh-Relay.ps1. The script can be used either through Invoke-Inveigh or as a standalone function.
2015-10-07Additional updates as part of module conversionKevin Robertson1-247/+465
Changed the real time console update loop location to get rid of the remaining writelines and work better with Empire. Removed Hide-Inveigh since it was no longer needed. Added the 'Tool' parameter to easily set the proper options when running through other tools. Right now, Metasploit Interactive PowerShell sessions and PowerShell Empire are selectable. Also, added additional parameters and code so that Inveigh runs better with those tools.
2015-10-06Switched to module formatKevin Robertson1-1/+1
Inveigh should now be executed as a module rather than a standalone script. There are multiple cmdlets for interacting with Inveigh. Also fixed a file encoding issue that was causing problems with IEX.
2015-10-06Updated to reflect new module formatKevin Robertson1-0/+0
2015-09-27Throttled console loopKevin Robertson1-0/+0
Added a sleep to the main console loop to keep CPU from spiking.
2015-09-27Improved SMB capture functions and added challenge parameterKevin Robertson1-0/+0
Modified the SMB capture functions to remove the need to handle SMB versions differently. To help avoid IDS/IPS, I also added a -challenge parameter for setting a custom HTTP/HTTPS NTLM challenge. If this parameter is left blank, a random challenge will be generated for each HTTP/HTTPS request. To use the traditional 1122334455667788 challenge, simply use -challenge 1122334455667788. Finally, the console prompt can be enabled/disabled with the -consoleprompt parameter.
2015-09-26Added additional SMB relay parameter validationKevin Robertson1-0/+0
Added validation to ensure that a relay target and command are specified if SMB relay is enabled.
2015-09-26Comment type fixKevin Robertson1-0/+0
2015-09-22Updated the SMB relay add user exampleKevin Robertson1-0/+0
The old generic add user example would not work on a system with complex password requirements. Added an actual username and password to avoid confusion.
2015-09-20Added SMB relay limiters and new parameterKevin Robertson1-0/+0
Added some additional SMB relay limiters to lessen the amount to unnecessary relay attempts. Inveigh will not attempt to relay from the relay target back to itself. Inveigh will also not attempt to relay with a username that has already failed against a target due to either not authenticating or not being a local admin. There is also now a parameter for specifying usernames to relay. If this parameter is used, usernames not on the list will not be relayed.
2015-09-20Added SMB relay limiters and new parameterKevin Robertson1-0/+0
Added some additional SMB relay limiters to lessen the amount to unnecessary relay attempts. Inveigh will not attempt to relay from the relay target back to itself. Inveigh will also not attempt to relay with a username that has already failed against a target due to either not authenticating or not being a local admin. There is also now a parameter for specifying usernames to relay. If this parameter is used, usernames not on the list will not be relayed.
2015-09-13SMB relay added, runspace changesKevin Robertson1-0/+0
This version contains the first pass at SMB relay. It will currently relay HTTP/HTTPS NTLMv2 to SMB. It will perform a psexec style, command only (no file upload) execution. It will attempt to delete the temp service after the service is started. Launching shells directly through the command may delay or prevent the service deletion. In the event that manual deletion is needed, the display name of the added service is IVSRV plus some random characters. The error/status checking needs a lot of work. The current messages cannot be completely trusted. The spoofer/sniffer loop has been placed in a runspace to permit interaction with the console while Inveigh is running. Pressing enter will now bring up a prompt. In addition to ctrl+c, Inveigh can be exited using the quit command. Avoid using ctrl+c while the prompt is open since it will bypass the shutdown function.
2015-08-05Added parameter for controlling output directory. Added first version of ↵Kevin Robertson1-0/+0
loader script for easier execution as a payload. Added '-OutputDir' parameter for controlling the output directory. Added 'Inveigh-Loader.ps1' script which has additional options for running Inveigh as an unattended payload. Performed some cleanup. Updated screenshot in readme.
2015-08-05Fixed SMB capture bug, added parameter for specifying separate listening and ↵Kevin Robertson1-0/+0
LLMNR/NBNS spoofing IPs. Fixed a bug that prevented SMB server challenges from being captured when NBNS spoofing was disabled. The listening IP can now be set with the '-IP' parameter and the LLMNR/NBNS spoofing IP can be set with '-SpooferIP'. Both parameters are optional. If not set, the listening IP will be used for '-SpooferIP'. Replaced the one write-host with a write-warning. Removed the '-help' parameter.
2015-08-01Added ability to enabled/disable spoofing specific NBNS typesKevin Robertson1-0/+0
Added ability to enabled/disable spoofing specific NBNS types with the -NBNSTypes parameter. Cleaned up parameter validation code.
2015-07-14Added output control optionKevin Robertson1-0/+0
Added '-Output' option to enable/disable most console output and all file output. 0 = Console Enabled/File Enabled, 1 = Console Enabled/File Disabled, 2 = Console Disabled/File Enabled. 0 is default.
2015-07-12Added HTTPS listenerKevin Robertson1-0/+0
HTTPS captures can now be enabled. The default setting is disabled. Note that if HTTPS is enabled, the cert file needs to be in the same directory as the script. The cert will be installed in the local machine certificate store and bound to port 443. The script should remove the cert from the store and delete the binding on exit. If needed, see HTTPS parameter comments in the script or execute "Get-help .\Inveigh.ps1 -parameter https" for manual cert cleanup instructions.
2015-07-11Added ForceWPADAuth option and switched NBNS spoofing to disabled by defaultKevin Robertson1-0/+0
ForceWPADAuth matches Responder option to enable/disable authentication for wpad.dat GET requests. Disabling can prevent browser login prompts. The option is currently enabled by default.
2015-06-10Comment updateKevin Robertson1-0/+0
2015-05-12Typo fixesKevin Robertson1-0/+0
2015-05-12Added additional parameter validationKevin Robertson1-0/+0
2015-05-12Added additional parameter validationKevin Robertson1-0/+0
2015-05-11Added exampleKevin Robertson1-0/+0
2015-05-09Added option to suppress repeat LLMNR/NBNS spoofed responses.Kevin Robertson1-0/+0
Added '-repeat y/n' option that can suppress repeat LLMNR/NBNS spoofs by IP address. Once a user challenge/response has been captured from an IP address, no additional LLMNR/NBNS spoofed responses will be sent to that IP.
2015-05-08Added Get-Help supportKevin Robertson1-0/+0
2015-05-07Added local IP autoconfigKevin Robertson1-0/+0
Script can now find a local IP to listen on. This will help when using the script as a payload.
2015-05-06Added passive LLMNR/NBNS monitoringKevin Robertson1-0/+0
Disabling LLMNR/NBNS now just disables sending spoofed responses. Requests are now displayed and logged.
2015-05-05Windows XP victim support, NBNS and output fixesKevin Robertson1-0/+0
Added support for attacking Windows XP clients. Fixed malformed NBNS response packet and incorrect HTTP NTLMv2 output file.
2015-04-19Comments updateKevin Robertson1-0/+0
2015-04-19Comments updateKevin Robertson1-0/+0
2015-04-19Comments updateKevin Robertson1-0/+0
2015-04-19Comments updateKevin Robertson1-0/+0