1
mirror of https://github.com/rapid7/metasploit-payloads synced 2024-12-02 20:36:40 +01:00
Commit Graph

739 Commits

Author SHA1 Message Date
OJ
aaa384b51d Remove compiler warning, set warnings as errors 2015-03-13 20:47:30 +10:00
OJ
b6ec617fd7 Add support for IPv6
Add more work to the URI scheme handling, add functionality that works with IPv6. Tested on XP SP3, Windows 7.
2015-03-13 20:10:30 +10:00
OJ
6ffa34aedc Add support for stageless payloads
metsrv now makes use of the METERRPETER_URL for stageless payloads. This value is checked when Meterpreter starts to determine what should be done with communications. If the URL indicates that the payload is stageless, it then establishes communications appropriately, depending on the configuration.
2015-03-12 10:47:19 +10:00
OJ
0393927159 Add extension names, enuemrators, etc
This commit contains a bunch of code tidying (formatting, spaces, naming, etc) as well as new exports for each of the modules so that the extension can be identified. The plan is for the loader to know which modules are loaded so that when stageless meterpreter fires up MSF can query the existing extensions and load the appropriate functionality on the client side.
2015-03-09 21:28:27 +10:00
OJ
9c7f320301 Code formatting and tidying up
This is in preparation for diving into how to make Meterpreter work
nicely as a fully stageless entity.
2015-03-09 10:26:44 +10:00
OJ
aab29f8605 Land #129 : real_printf rework 2015-02-26 07:21:57 +10:00
Brent Cook
a4f81a51b5 make real_dprintf available even if DEBUGTRACE is not set
By making this a static _inline, it is not necessary to guard it, since
an inline is only instantiated if it is used. This also allows adding
one-off debug message for use during debugging sessions, without turning
on DEBUGTRACE all over the place.

Convert a few of the extensions to also do this as well, making them perhaps
slightly smaller.

I am curious why Windows builds define debug this way, vs posix that
just includes it in common.c. Could I just do that instead, assuming
there's no historical reason.

Finally, correct the docs in the posix version of real_dprintf.
2015-02-25 13:03:18 -06:00
Brent Cook
d4f1af0900 remove duplicate openssl headers
prepping for an upgrade later, this just cleans up some unused headers
2015-02-25 12:18:45 -06:00
Brent Cook
38c9460ba4 enumerate all processes even if we cannot read the executable type 2015-02-12 10:54:44 -06:00
William Vu
eb3b163951 Add arch to Linux ps
Uses /proc/<PID>/exe and e_ident[EI_CLASS].
2015-02-12 08:15:58 -06:00
Rich Whitcroft
c9cb640612 add path to new scheduler.c location 2015-02-06 13:44:07 -05:00
Rich Whitcroft
8435383cc3 updated VS2013 configs 2015-02-06 13:33:36 -05:00
Rich Whitcroft
d7e54b2dad merge windows and posix scheduler.c into one source file 2015-02-06 10:02:05 -08:00
OJ
5e0fbedd30 Make state destruction set pointers to NULL 2015-01-31 08:23:54 +10:00
OJ
c9d9e5978c Fix issue with double-start of clipboard
If a user attempts to start the clipboard monitor when it is already started then the code path that is taken results in the current clipboard monitor state pointers being lost. The net effect of this is that the existing monitor thread will never be shut down. Not a good thing!

This code fixes that case so that the monitor doesn't create a new monitor thread and doesn't reset important pointers to NULL.

This change also results in a "success" status being returned to the caller. This means it looks like the clipboard monitor has been started even if it was already running. I think this is acceptable and is better than an obscure error.
2015-01-31 07:00:06 +10:00
Brent Cook
6299e2de5b handle zero-byte reads and writes gracefully
Otherwise, doing an empty file open, like:

  ::File.open(local_file_name, "")

or write_file("meterpreter-test", "") in test/modules/post/test/file.rb
fails

Before:
```
$ touch hello
$ ./msfconsole -q
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.56.1
lhost => 192.168.56.1
msf exploit(handler) > run

[*] Started reverse handler on 192.168.56.1:4444
[*] Starting the payload handler...
[*] Sending stage (787456 bytes) to 192.168.56.1
[*] Meterpreter session 1 opened (192.168.56.1:4444 ->
192.168.56.1:55621) at 2015-01-27 11:23:09 -0600

meterpreter > upload hello
[-] Error running command upload: Errno::ENOENT No such file or
directory @ rb_file_s_stat - hello
meterpreter > upload hello
[*] uploading  : hello -> hello
[-] core_channel_write: Operation failed: The parameter is incorrect.
```

After:
```
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.56.1
lhost => 192.168.56.1
msf exploit(handler) > run

[*] Started reverse handler on 192.168.56.1:4444
[*] Starting the payload handler...
[*] Sending stage (770048 bytes) to 192.168.56.10
[*] Meterpreter session 1 opened (192.168.56.1:4444 ->
192.168.56.10:49833) at 2015-01-27 11:26:03 -0600

meterpreter > upload hello
[*] uploading  : hello -> hello
[*] uploaded   : hello -> hello
```
2015-01-27 11:24:21 -06:00
Brent Cook
99cf4da2d4 be more clever about cleanup by not making a mess 2015-01-13 17:24:05 -06:00
Brent Cook
33def7654a do a little dance around older compilers 2015-01-13 17:21:43 -06:00
Brent Cook
0d59fc7447 support building on newer Linux systems and Makefile cleanups
- try to share some bits between different makefiles, make modifying
   global compiler flags not such a huge pain.
 - directly specify we should be using the gold rather than bpf linker
 - make compiler output largely quiet except where we care - allow
   warnings to actually be visible
 - don't delete downloaded tarballs with --really-clean
 - add missing dependencies between libraries
   (--no-add-needed/--no-copy-dt-needed-entries causes lots of trouble)
 - update readme to show what to install to build

I made minimal changes to the loader makefile - it breaks easily.
 -Os prevents if from being able to load libc, for instance
2015-01-13 16:33:56 -06:00
Tod Beardsley
74cb136099 Land #107, add direct access reg methods 2015-01-07 14:56:12 -06:00
Tod Beardsley
43ce54e6af Undo the 755 mode change 2015-01-07 14:32:57 -06:00
Brent Cook
b7f149c17d fix the check path for PSSDK
Sometimes, @ECHO ON is just what you need :)

This allows building PSSDK as part of the rapid7/meterpreter_bins#11 issue.
2015-01-05 14:54:57 -06:00
jvazquez-r7
775d94cb65 Do minor cleanup 2015-01-02 19:09:43 -06:00
jvazquez-r7
cdae73a282 Fix accept call 2015-01-02 19:06:19 -06:00
jvazquez-r7
a87ef6fcd7 nonblock 2015-01-02 18:48:14 -06:00
jvazquez-r7
58238efcbb Looks like fixed :-) 2015-01-02 18:21:46 -06:00
jvazquez-r7
10ed187016 Add semicolon 2015-01-02 16:27:08 -06:00
jvazquez-r7
63e993c735 Create new code memory 2015-01-02 12:48:00 -06:00
jvazquez-r7
79692d5986 Fix stub sizes 2015-01-02 09:47:43 -06:00
jvazquez-r7
86fc7889ed Fix strncpy check 2015-01-02 09:42:44 -06:00
jvazquez-r7
22975bd716 Require getsid only on windows 2015-01-01 19:04:10 -06:00
jvazquez-r7
cd65086096 Ignore CLion files 2015-01-01 19:02:57 -06:00
Brent Cook
9f91b5a921 Land #93, @jvazquez-r7's linux meterpreter process migration
Tested on Ubuntu 14.04 with 32-bit processes, with and without ptrace
protections enabled.
2014-12-30 17:27:15 -06:00
Brent Cook
a9cab9f8c6 fix whitespace consistency 2014-12-30 17:26:05 -06:00
Tod Beardsley
d17da93c2d Land #106, invert FS function check 2014-12-23 14:16:20 -06:00
Brent Cook
0f2dcf50d0 add direct access registry methods
This adds registry access methods that do an atomic open/<action>/close on
registry keys. They improve efficiency and safety, since we're not passing
HKEY's back and forth to enumerate or read registry keys. This fits the common
use pattern in MSF better anyway.
2014-12-16 15:31:11 -06:00
Brent Cook
405d55f8c9 invert error check for POSIX filesytem functions
Fixes #104
2014-12-16 15:11:27 -06:00
Brent Cook
db4ad41512 allow build_tmp to be a symlink
Remove assumption of relative paths to allow build_tmp to be a symlink.
This fixes builds when the working directory is a vmware share.
2014-12-16 12:01:01 -06:00
OJ
061439edb2 Final tweaks to adsi 2014-12-09 14:27:50 -06:00
OJ
76a492ab56 Fix silly typo 2014-12-09 14:27:50 -06:00
OJ
c7a8645709 Update adsi to use group functionality
Now includes group nesting which will require work on the MSF side to
fully support it. But this option is way better as we don't lose info
thanks to serialising to strings.
2014-12-09 14:27:50 -06:00
OJ
fe70c6a733 Updated service enumeration to use group tlv api 2014-12-09 14:27:50 -06:00
OJ
3aeda7ed2a Refactor group Tlv usage in window enumeration 2014-12-09 14:27:50 -06:00
OJ
4a88e93496 Add the getsid command
Added support for a the getsid command so that it's easy to
determine the SID of the current user. This will be useful for
a number of different use cases.
2014-11-07 10:36:36 +10:00
Tod Beardsley
5e3b292804 Use TLSv1 instead of SSLv3 2014-10-15 16:37:41 -05:00
Joshua Smith
3d5550648c fixes comment referring to other source code
source/common/arch/win/i386/base_dispatch.c was referring to:
see '/msf3/external/source/shellcode/x86/migrate/migrate.asm'
which was updated to:
see '/msf3/external/source/shellcode/windows/x86/src/migrate/migrate.asm'
and see '/msf3/external/source/shellcode/x64/migrate/migrate.asm'
was updated to:
see '/msf3/external/source/shellcode/windows/x64/src/migrate/migrate.asm'
2014-08-15 13:34:44 -05:00
jvazquez-r7
5deb3502b1 Use spaces to align details 2014-07-31 15:00:32 -05:00
jvazquez-r7
1542286fae Compare, not assign 2014-07-31 14:19:18 -05:00
jvazquez-r7
6eaa92b3c9 Delete debug 2014-07-31 13:53:15 -05:00
jvazquez-r7
7bc25728d5 Add *full support* for linux migrate 2014-07-31 13:47:10 -05:00