1
mirror of https://github.com/rapid7/metasploit-payloads synced 2025-08-16 10:50:20 +02:00
Commit Graph

337 Commits

Author SHA1 Message Date
OJ
4eb8accc11 Add size (bytes) of the files on the clipboard 2013-10-16 22:53:45 +10:00
OJ
0eb2063c91 Add support for CF_HDROP to clipboard handling
Lists of files can now be downloaded from the clipboard. Downloading of
the files themselves is something that should be done by MSF as that's
already built in.
2013-10-16 17:43:14 +10:00
OJ
123010c76b Add clipboard text get/set functionality
This commit adds the beginnings of clipboard munging support. Getting and
setting of text-based data is supported. Over time, more formats will be
supported.
2013-10-15 23:55:46 +10:00
OJ
a61bbc5a7d Add child window enumeration and flag
Enumeration of child windows is now possible if the appropriate TLV is
included in the request message.

Inclusion of "unknown" windows is also possible now, again if the
appropriate TLV is included.
2013-10-15 17:52:51 +10:00
OJ
984880d8b2 Add service_query to ext_server_extapi
Once the user has queried the list of services they can now use the
`service_query` function to get more detail about a specific service.
2013-10-11 01:01:47 +10:00
OJ
f720ca7bdb Add service_enum to the ext_server_extapi extension
This commit adds the ability to enumerate services on the target machine,
showing the PID, the service name, the display name and an indication of
the service's ability to interact with the desktop.

Some other small code tidies were done too.
2013-10-10 21:20:23 +10:00
OJ
2902bf3406 Free up user32 when we're done with it 2013-10-10 18:31:22 +10:00
OJ
52e13ad2d3 New extended API extension with window enum
Decided to kick off a new extended API extension with mubix and
kernelsmith to include some more advanced enumeration stuff. The goal of
this extension is to take stuff that wouldn't be part of the std api but
is rather useful for enumeration of a target once meterpreter has been
established.

This commit kicks things off with enumeration of top level windows on the
current desktop.
2013-10-09 22:16:47 +10:00
OJ
a10ee71e1c Remove boiler extension and create 'bare' extension
The boiler extension wasn't used and was old so it was removed. I've added
a new "bare" extension which is, as it says, just bare and doesn't do
anything. This can be used to create new extension projets just by copying
and pasting, then editing a couple of small things.

This will be added to the documentation.
2013-10-09 15:08:09 +10:00
50b7557290 Land , Railgun error messages
See  and 
2013-10-01 16:39:01 -05:00
07a45634bb Land , @OJ's fix for PIP_ADAPTER_PREFIX Length check 2013-09-26 17:46:32 -05:00
OJ
60b4a5778d Better fix for the XP SP0 problem
Thanks to @jvazquez-r7 doing some investigation we have a better solution
to this crash. This commit implements this fix and removes the need to
check the status of the memory that's being read.
2013-09-27 08:32:31 +10:00
OJ
895a580cb5 Last code tidy for the kitrap0d fix
Tidies up the API to be more intuitive, including conversion of the
first parameter to a char pointer (removing MAX_PATH) and renaming
the second parameter to be more indicative of what it means.

Thanks to @jvazquez-r7 for the great discussion!
2013-09-26 11:35:05 +10:00
OJ
54cf92ff6d Updated fix to work properly with _snprintf_s
* Modified first and second parameters to use `dwOutputLength` which
  is given to the function as an indicator of buffer size in bytes
  anyway.
* Check the return value of the function call to see if the result
  was a truncation, and if so, break from the current loop.

Realistically, truncation will not happen because the default windows
installation location folder name is very short.

Thanks @jvazquez-r7 for prodding me to validate this.
2013-09-26 09:07:15 +10:00
OJ
05388502cc Fix issue with kitrap0d crashing meterpreter
Calling getsystem or getsystem -t 4 was resulting in crashes due to
an incorrect usage of sizes in a call to _sprintf_s in the kitrap0d
code. This might have come about as a result of a move to the new
compiler which is C++11.

This code forces the size check to be correct and results in the
exploit functioning correctly on all platforms.
2013-09-24 20:00:26 +10:00
1ed1fa6e94 Fix indent and nitpick 2013-09-19 20:22:45 +01:00
2182a891b6 Correct indent 2013-09-17 19:24:39 +01:00
4090e197aa Merge branch 'master' of github.com:rapid7/meterpreter into ip_resolv 2013-09-17 19:19:51 +01:00
4f1c2fe1ed Dont build in nix 2013-09-17 19:18:44 +01:00
OJ
8070ff7771 Possible fix for XP SP0 System process exploit crash
Exploitation of the System process on Windows XP SP0 resulted in crashes
when metepreter was enumerating network interfaces. It appears that the
System process isn't able to read from the address that contains prefixes
(stored in pPrefix in interfaces.c). In other cases, such as exploitation
of svchost.exe or via an msfpayload-generated exe, there was no such
crash. This is not an issue on later versions of Windows.

This crash happens in the current "production" version of Meterpreter that
was deployed with MSF v4.7.

The MS08-067 exploit targets the System process, and hence crashes.
The MS03-26 exploit targets svchost, and hence does not crash.

Checking the protection of the memory in each of those cases showed that
the MEM_COMMIT was set when not the System process, and was MEM_RESERVED
when it was. Sample runs can be seen here: http://pastebin.com/2WHqJ90A

This commit is an attempt to avoid this crash down the track, and it just
does a simple check to see if querying the area of memory for the current
process shows a state of MEM_COMMIT. If so, it carries on as per normal,
if not it uses the other legacy code path to traverse the network
interfaces.

With this "fix" in place I have not seen a crash at all on Windows XP,
Windows 7, Windows 8 and Windows 2012.
2013-09-16 23:14:10 +10:00
OJ
99771d367e Removal of more warnings in compilation 2013-09-15 00:06:49 +10:00
OJ
73c3a2cfcd Support Rapid7 internal builds, fix sniffer ext
* r7_debug and r7_release configurations added.
* Make now detects if the appropriate libraries are on disk and will build
  whatever it can. If PSSDK is present in the appropriate location then it
  will attempt to build ext_server_sniffer.
* ext_server_sniffer is now buildable with VS 2012 with all the settings
  correct.
* ext_server_sniffer was failing to load once built. The cause of this was
  that the hMetSrv handle wasn't being set to a valid value prior to the
  command_register calls happening, it was being set too late. I'm not
  sure why this results in a crash, but moving this one call to a location
  prior to the command_register calls does resolve that problem.
2013-09-15 00:00:20 +10:00
OJ
f0e7e0ec3c Add error message support to the railgun code
This code was lost in the transition when the meterpreter source was
removed from the metasploit-framework source. I'm pulling this in by
request of @dmaloney-r7 who originally requested this code be inculded
as part of https://github.com/rapid7/metasploit-framework/pull/740

I added an extra bit of code to free up memory that is allocated by the
call to FormatMessage and forced the ASCII-version (FormatMessageA) of
the call.
2013-09-13 06:15:48 +10:00
OJ
7c5e7e930c Fix typo in ReflectiveLoader comment 2013-09-12 07:25:18 +10:00
OJ
03706b842f Reflective DLL Injection update, bugfix and tidy
* Pulled source from Stephen Fewer which contains a few updates including
  support for Windows RT.
* Added Stephen Fewer's fix which includes a correct pointer size for the
  reflective DLL loader function.
* Added ENABLE_STOPAGING to allow toggling of VirtualLock() call (defined
  by default).
* Added ENABLE_OUTPUTDEBUG to allow toggling of calls to pOutputDebug
  (undefined by default).
* Remove more warnings in some areas of the code.
2013-09-10 17:36:49 +10:00
OJ
23c9f86241 Rebuild jpeg lib, bit of cleanup 2013-09-03 20:09:52 +10:00
OJ
35bef0be11 Post-build event changes
* Copy output to different locations for different builds
2013-09-03 17:22:18 +10:00
OJ
87031e0d00 Work towards a clean build
* Various code fixes to keep the compiler warnings down.
* Adjustments to project files.
2013-09-03 16:49:09 +10:00
OJ
8ae670cfaf Fix C++11 make_pair errors and U_CHAR problem
* make_pair() changed in C++11 so this change fixes the code so that the
  compiler doesn't complain any more.
* Compiler was also complaining about redefinition of U_CHAR. Undefining
  before redefining resolves the issue.
2013-09-02 12:07:50 +10:00
b5762507be fix spelling error via @Meatballs1 2013-07-24 17:30:29 -04:00
b749014367 enable proxy authentification 2013-07-15 15:47:58 +01:00
cb3933c380 New meterpreter payload reverse_https_proxy 2013-07-12 16:46:58 -04:00
071ff00a38 IPv6 resolution and remove nix 2013-06-20 22:29:49 +01:00
d5b8577d6a Fix warning 2013-04-27 12:52:38 +01:00
73a386f49c CSV escape quotes 2013-04-27 12:43:53 +01:00
f06807c4d5 Fix x64 2013-04-22 10:42:50 +01:00
da4c1fc650 Refactor to support custom commands 2013-04-22 10:06:35 +01:00
19b1d95df8 Modify ssp output 2013-04-21 10:33:16 +01:00
997cbe64ce tidy and add notes 2013-04-21 00:28:39 +01:00
57f9217ccb More licence fixes 2013-04-21 00:21:10 +01:00
6c47be2163 Correct wcout 2013-04-21 00:08:38 +01:00
37101896e9 Update licencing 2013-04-20 23:20:52 +01:00
ff8dbb3226 Refactoring 2013-04-20 18:12:37 +01:00
f061ceba31 Add all methods 2013-04-20 17:28:00 +01:00
c36f4c1c89 Add msv 2013-04-20 16:32:31 +01:00
0fd0f2b878 Prevents crashing on reattempts 2013-04-20 15:06:18 +01:00
36b0aeeeaa Tidy output 2013-04-20 12:21:48 +01:00
d0822e5f19 Working comms 2013-04-20 11:14:37 +01:00
fd7b6eadbb Normalized output 2013-04-20 10:31:13 +01:00
09f2085e97 Working output to file 2013-04-20 01:26:57 +01:00