1
mirror of https://github.com/rapid7/metasploit-payloads synced 2024-12-21 05:35:54 +01:00
Commit Graph

882 Commits

Author SHA1 Message Date
OJ
8a65f4770a Fix small issue with incorrect URL 2015-04-08 15:44:05 +10:00
OJ
e5a3c8748c More refactoring and code tidying 2015-04-08 14:42:26 +10:00
OJ
b3b9726b4b Refactored TCP/HTTP transport functions
Updated the code so that the TCP stuff is moved into its own file and doesn't pollute the main server file with stuff that is specific to TCP transports.

Updated the winhttp functionality in the same way so that functionality is properly segregated.

Modified the global parameters so that they're part of a structure that can be passed around.

Added a stack of documnetation as well.
2015-04-08 12:48:07 +10:00
OJ
ba70b2b222 Begin work on connection recovery when things go wrong 2015-04-07 22:14:27 +10:00
OJ
553f369492 Land #145 : Add unicode support in fs search 2015-04-07 11:39:13 +10:00
Brent Cook
fdb1b67068 Merge #2, pretty up search more 2015-04-06 20:22:06 -05:00
OJ
602715aaf8 Use group packets and add curlieeees
This commit just adds the braces around single-line blocks as per our "standard". This is important, especially in the case where those single lines contain macros which could expand to multiple lines.

Also added the use of the group packet functionality to make the search result code a little easier on the eye.
2015-04-07 10:02:41 +10:00
Brent Cook
21b4064a3d normalize slashes, remove debug output 2015-04-06 07:47:27 -05:00
Brent Cook
44f9e3c066 Land #142: support binding IPv4 and IPv6 at once 2015-04-06 07:16:13 -05:00
OJ
bea5c1a4ff Merge branch 'upstream/master' into bind-ipv6-and-ipv4 2015-04-06 15:18:27 +10:00
Brent Cook
cc2dbb2045 use size_t for wcslen results 2015-04-05 20:45:52 -05:00
Brent Cook
b1dadbb98e make search_all_drives a separate function 2015-04-05 18:41:02 -05:00
Brent Cook
5c16ddf270 avoid infinite recursion when encountering a bad symlink
reduce stack usage per level
2015-04-05 18:41:01 -05:00
Brent Cook
e1148a0bca first working unicode search
refactor a few giant functions into smaller ones
2015-04-05 18:41:01 -05:00
Brent Cook
61b19560d7 cleanups, use utf8_to_wchar 2015-04-05 18:41:01 -05:00
Brent Cook
517dcfea05 convert wds queries to use unicode 2015-04-05 18:41:01 -05:00
Brent Cook
7e017d4771 move unicode helper functions to a common place 2015-04-05 18:36:36 -05:00
Brent Cook
69d6b48e67 normalize and tidy the code a bit 2015-04-05 18:36:36 -05:00
Brent Cook
e1fe4fc1fe Land #144: OJ's initial support for transport switching 2015-04-02 21:57:37 -05:00
OJ
8a41324dd1 Fix stupid mistake with the use of wchar_t in posix 2015-04-03 07:57:16 +10:00
OJ
5ba41da726 Fix compiler error with incorrect var name 2015-04-02 23:13:08 +10:00
OJ
eb1ebbefc2 Tweaks and update of POSIX 2015-04-02 23:12:22 +10:00
OJ
8b637d7248 Refactored windows transport hopping
Instead of basing everything on URLs, the transport hopping now actually supports the creation of a whole new transport on the fly. The transport instance is stored in the remote as a "next transport" pointer.

This better facilitates the notion of being able to set all of the parameters on the transport when doing the switch, and is a step closer to being able to support chains of transports.
2015-04-02 22:51:12 +10:00
OJ
23117bb73c Merge branch 'upstream/master' into transport-refactor 2015-04-02 15:24:57 +10:00
Brent Cook
ff123debc5 Land #143: OJ's stageless winhttp proxy support fixes 2015-04-01 22:25:46 -05:00
OJ
0bdf322889 Bind to IPv4 and IPv6 on the bind transport
This commit includes code which attempts to bind to both IPv4 and IPv6 addresses so that the attacker can connect on either interface.

In the case of Windows XP, the IPv6 stack doesn't allow modification of the socket options so that both address types can be listened to on the same socket. Rather than create separate sockets for both cases, XP and earlier simply fall back to IPv4 only.
2015-04-01 21:49:07 -05:00
OJ
934525d2e7 Remove traces of wininet from the source
WinInet won't work any more thanks to use making modifications on the MSF that will cause it to break. We're basically all-in for WinHTTP now.
2015-04-02 12:36:17 +10:00
OJ
a8f4ea5e3d Remove unused reference code and shady ifdef 2015-04-02 08:59:26 +10:00
OJ
420fb927d7 Undo keyboard failure 2015-04-02 08:51:39 +10:00
OJ
e03b381869 Rejig code for the machine ID extraction 2015-04-01 16:23:57 +10:00
OJ
ebf116d4f5 Added POSIX machine ID support 2015-04-01 16:15:51 +10:00
OJ
e28718d1b6 Remvoe const from SSL method 2015-04-01 15:11:20 +10:00
OJ
47cb3cddb2 Merge branch 'transport-refactor' of github.com:OJ/meterpreter into transport-refactor 2015-04-01 14:31:01 +10:00
OJ
94897b7331 Add machine ID support to the Win32 side 2015-04-01 14:29:44 +10:00
OJ
3c32f762a7 More transport refactor work for POSIX
The transport refactor appears to be working, but the transport swtching
requires more work on the side of stageless posix before it will work.
At the moment, the POSIX implementation of the transport switching is
commented out so that it can't be used or built into the binaries.

This should mean we can move forward on other friends without this
holding us back.
2015-04-01 12:10:49 +10:00
OJ
cfa12053bd Fix up WinHTTP proxy implementation 2015-04-01 11:43:53 +10:00
OJ
e2338709aa POSIX transport refactoring
Still more to do here to support transport switching, but progress being
made.
2015-03-30 22:54:52 +10:00
OJ
4758a31f5b Source rejig, refactor POSIX to support changes 2015-03-30 20:14:16 +10:00
OJ
6ba59b87b3 Merge 'upstream/master' 2015-03-30 19:29:21 +10:00
OJ
afcef4f312 Bind to IPv4 and IPv6 on the bind transport
This commit includes code which attempts to bind to both IPv4 and IPv6 addresses so that the attacker can connect on either interface.

In the case of Windows XP, the IPv6 stack doesn't allow modification of the socket options so that both address types can be listened to on the same socket. Rather than create separate sockets for both cases, XP and earlier simply fall back to IPv4 only.
2015-03-30 18:47:56 +10:00
OJ
30330459d9 Land #141 : Update PCAP, SSL, move to deps repo 2015-03-27 14:07:44 +10:00
Brent Cook
c0ca7ff80f bump to latest deps 2015-03-26 22:39:49 -05:00
Brent Cook
5132b8d176 disable linker debug 2015-03-26 11:04:03 -05:00
Brent Cook
9a71a575b7 use OpenSSL with Windows builds for now
LibreSSL does not yet work well with Windows meterpreter for 2 reasons:
  1. because its built with mingw/gcc, it does not have SAFESEH, requiring that
	 protection to be disabled for the whole stack. It could, it just needs a
	 way to be built with MSVS instead.
  2. OpenSSL 1.0.1 and Libressl both make metsrv about 50% larger.

When transports are more abstracted and LibreSSL can build with MSVS, we will
revisit this.
2015-03-25 09:12:11 -05:00
OJ
a2f74d99d6 Transport switch v0.0.1-preAlpha
Switching works, but doesn't do anything nice with session management. Still need to get things wired into posix, and probably rip out the wininet stuff as well given that I probably won't refactor it to support this.
2015-03-25 12:59:50 +10:00
Brent Cook
4ec9205eb0 update openssl refs 2015-03-24 10:56:33 -05:00
Brent Cook
95271e4345 update copyrights 2015-03-24 10:29:50 -05:00
Brent Cook
26effa7328 fix include path 2015-03-24 10:29:50 -05:00
Brent Cook
6cb8061e8e Fix build issues using OpenSSL APIs >= 1.0
There are duplicate defines between the Windows crypto API and OpenSSL.
2015-03-24 10:29:50 -05:00
Brent Cook
f45756e37b update SSL libs to libressl 2.1.4 2015-03-24 10:28:58 -05:00