Commit Graph

318 Commits

Author SHA1 Message Date
Matt Graeber b507290d78 Added Invoke-Portscan to README 2013-07-06 13:38:35 -04:00
Matt Graeber 49b9523c10 Merge branch 'Portscan' of https://github.com/webstersprodigy/PowerSploit into webstersprodigy-Portscan
Conflicts:
	Recon/Recon.psd1
2013-07-06 13:34:12 -04:00
Matt Graeber 298561f26b Forgot to add CodeIntegrityInformation to help 2013-07-04 14:59:24 -04:00
Matt Graeber 2a45cfbd1e Get-NtSystemInformation can now query UMCI info
Get-NtSystemInformation now returns SystemCodeIntegrityInformation -
i.e. user-mode code integrity settings. This required reverse
engineering a dll that is only present on Windows 8 ARM devices.
2013-07-04 13:01:47 -04:00
Matt Graeber 9de59e9e3f Merge pull request #9 from obscuresec/master
Bug fix for error handling
2013-07-04 05:50:31 -07:00
Chris Campbell 2f28a29074 Update Get-TimedScreenshot.ps1
Fix error handling and various style problems
2013-07-03 22:15:05 -04:00
Chris Campbell 321e53ee23 Fix improper use of $Error[0] 2013-07-03 21:42:34 -04:00
Matt Graeber 29329e1707 Merge pull request #8 from obscuresec/master
Add checks to terminate script if not running in proper environment.
2013-07-03 17:44:35 -07:00
Chris Campbell eb85e1ce9d Terminating Errors Added
Added checks to ensure that the script is being ran on a domain-joined machine and with a domain account.
2013-07-03 20:31:53 -04:00
Matt Graeber 371c65c9a7 Updated Get-GPPPassword 2013-07-03 05:46:44 -04:00
Matt Graeber 717950d00c Added Get-Keystrokes
Get-Keystrokes is a PowerShell keylogger
2013-06-30 11:15:02 -04:00
Rich Lundeen 98510d8097 IPv6 support in hosts param 2013-06-25 22:07:36 -07:00
Rich Lundeen 05ab35a3af fixing EOL spaces (again, sorry) 2013-06-18 15:15:40 -07:00
Rich Lundeen 60a6044d36 fixing EOL spaces 2013-06-18 15:10:54 -07:00
Rich Lundeen 223527d4cd Addressed mattifestation feedback
See https://github.com/mattifestation/PowerSploit/pull/6#issuecomment-19289063

1) I like this feedback a lot and took it.

2) I tried going thread only but it got messed up with very large scans. Eventually,
I didn't think it was worth the amount of effort to make it reliable with only threads

3) Tried to do this

4) Did this

5) I like the idea in general and I took this one place (top-ports), but not for the two
examples you gave. The reasoning is, I want people to be able to specify various options
and arrays aren't that flexible. For example, I want people to specify a port list like
"80,90,8080-8090". Similar with CIDR, since that's one option, but they could also be
specifying hostnames e.g. "google.com,192.168.1.1/24,10.0.0.1"
2013-06-18 13:17:06 -07:00
Rich Lundeen af49f5cfaf small style update 2013-06-11 10:48:12 -07:00
Rich Lundeen 3ec7b95f8d Powershell 2.0 fixes - should work now 2013-06-11 10:22:37 -07:00
Rich Lundeen 03e0a0b489 fixing powershell 2.0 compat 2013-06-10 16:09:07 -07:00
Rich Lundeen 9a5b1ae75a removed a few comments 2013-06-09 21:18:38 -07:00
Rich Lundeen ebe7f0981a added invoke-portscan module 2013-06-09 21:08:44 -07:00
Matt Graeber 94751bc156 New-Object proxy function compatibility fix
I was calling the [Guid]::TryParse method that was only present in .NET
4 so this wasn't working in PowerShell v2.
2013-06-08 09:47:16 -04:00
Matt Graeber 12d1ebaac2 Forgot to add -Property param to CLSID option 2013-06-05 22:13:26 -04:00
Matt Graeber e210c89f39 Added New-Object proxy function
You can provide a CLSID (i.e. a Guid) to New-Object via the -ComObject
parameter in addition to a ProgId.
2013-06-05 22:03:27 -04:00
Matt Graeber 02c982dd18 Type names added to Get-NtSystemInformation
When displaying handle information, you can now filter by and display
object type names: Get-NtSystemInformation
2013-06-01 09:55:04 -04:00
Matt Graeber dfec277813 Added Invoke-ReflectivePEInjection
Another awesome addition from Joe Bialek. Invoke-ReflectivePEInjection
is a vast improvement over Invoke-ReflectiveDllInjection. It adds the
following features:

* Now supports loading exe files in memory
* Supports reflective dll injection into a remote process
* Additional sample Visual Studio solutions
2013-05-31 19:35:26 -04:00
Matt Graeber 6e5338c8a3 Fixed architecture detection bug in Get-PEB
I was checking processor architecture when I should have been checking
OS architecture.
2013-05-31 18:56:57 -04:00
Matt Graeber 9b4b3dcc73 Silly me. Just discovered the SetOffset method.
Thanks @JosephBialek!
2013-05-29 18:32:24 -04:00
Matt Graeber 7d5e884c3f ProcessParameters now displays properly 2013-05-25 08:58:24 -04:00
Matt Graeber 91bd44f0f0 Get-PEB now parses _RTL_USER_PROCESS_PARAMETERS 2013-05-24 21:16:43 -04:00
Matt Graeber 218f0cb24b "Best practice" improvements to Out-Minidump 2013-05-18 09:46:00 -04:00
Matt Graeber 3d27e6b7de _SYSTEM_HANDLE_INFORMATION prints as a table now 2013-05-16 20:40:21 -04:00
Matt Graeber c98734a764 Added _SYSTEM_LOCK_INFORMATION struct
Yet another method of leaking kernel pointers.
2013-05-16 20:21:04 -04:00
Matt Graeber af04f7e528 Added Out-Minidump
Out-Minidump writes a process dump file with all process memory to disk.
This is similar to running procdump.exe with the '-ma' switch.
2013-05-15 20:54:16 -04:00
Matt Graeber c17f16bf0e Cleaned up Get-NtSystemInformation
* Removed the unnecessary NTSTATUS entries
* Used splatting instead of backticks
* Fixed a n00b memory management error as well.
2013-05-13 21:18:48 -04:00
Matt Graeber a1cb7db1d0 Added an idiot filter to Watch-BlueScreen 2013-05-13 20:26:05 -04:00
Matt Graeber 2a17b8fb56 Added Watch-BlueScreen
Causes a blue-screen (bugcheck) to occur.
2013-05-13 20:01:59 -04:00
Matt Graeber f32a572fb9 Object access mask now displays properly 2013-05-12 15:28:44 -04:00
Matt Graeber a1a842a218 Removed duplicate type definition 2013-05-12 13:22:30 -04:00
Matt Graeber 781e48c570 Removed some extraneous comments 2013-05-12 12:41:32 -04:00
Matt Graeber ea0dc9a2b8 Added Get-NtSystemInformation
Get-NtSystemInformation is a wrapper function for
NtQuerySystemInformation. It is a swiss-army knife tool for obtaining
internal OS information. It can currently be used to query the
following: global flags, handles, objects, kernel pool allocations, and
loaded kernel modules
2013-05-12 10:27:15 -04:00
Matt Graeber 9c95f0bfda Removing Get-KernelModuleInfo
Making way for Get-NtSystemInformation. Loaded kernel module information
can be viewed with `Get-NtSystemInformation -ModuleInformation`
2013-05-12 10:18:49 -04:00
Matt Graeber 9d7ee39166 Removed test code in Invoke-ShellcodeMSIL
There was some test code at the end of Invoke-ShellcodeMSIL that would
cause the function to execute when the script was dotsourced.
2013-05-12 10:17:00 -04:00
Matt Graeber 3d75f54835 Added ConvertTo-String
ConvertTo-String converts the bytes of a file to a string that has a
1-to-1 mapping back to the file's original bytes. ConvertTo-String is
useful for performing binary regular expressions.
2013-05-10 16:24:19 -04:00
Matt Graeber 87d01743d9 Merge pull request #3 from garignack/master
Merged Find-AVSignature performance improvements from garignack. Thanks, garignack!
2013-05-06 03:26:31 -07:00
garignack 6d9d805f1e Code cleanup based upon discussion comments
Added comment-based help parameter, added additional parameter
validation, piped ReadStream.seek command to out-null to prevent output
to stdout.
2013-05-02 23:21:25 -04:00
garignack acc46c71f7 Find-AVSignature Performance Improvements
Updated code to use [System.IO.FileStream] class with a buffer (64kb
default) to greatly increase performance, especially when handling large
files.

Updated $EndBytes validation logic to change it to a valid value rather
than throw an error.
2013-05-02 01:29:19 -04:00
Matt Graeber 9d286e511f Added ARM support to Get-PEHeader
Also fixed various pointer width bugs
2013-04-28 22:17:14 -04:00
Matt Graeber 2224f4dca9 Adding reflective DLL loading capability
Adding Invoke-ReflectiveDllInjection. PowerSploit now has reflective DLL
loading capabilities!!! Thanks to Joe Bialek @JosephBialek for writing
this awesome code!
2013-04-06 07:04:16 -04:00
Matt Graeber 014a7bb421 Adding Invoke-ShellcodeMSIL
Invoke-ShellcodeMSIL executes shellcode without making any Win32
function calls.
2013-04-05 14:06:58 -04:00
Matt Graeber 1e79c0f793 Fixed x86 bug in Get-MethodAddress
Get-MethodAddress was not working correctly in 32-bit PowerShell because
it was returning a [UInt64] value when it should have been a [UInt32].
This fix will detect if PowerShell is running as 32 or 64-bit and define
its return type accordingly.
2013-04-05 11:04:48 -04:00