1
mirror of https://github.com/rapid7/metasploit-payloads synced 2025-01-20 20:37:27 +01:00
Commit Graph

252 Commits

Author SHA1 Message Date
James Lee
528e8d25d5 Adjust snaplen to grab the whole packet in case mtu > 1514
Fixes an issue where pcap_dispatch would return -1 and pcap_geterror
said "corrupted frame on kernel ring mac"

[Fixes #6527]
2012-03-14 12:36:36 -06:00
gaspmat@gmail.com
f9739c7ac8 change sniffer behaviour when stopping capture. workaround if pcap_findalldev fails 2012-03-14 11:07:31 -06:00
James Lee
b61c496057 Merge branch 'feature/6476-list-all-ifaces'
Conflicts:
	modules/auxiliary/scanner/afp/afp_server_info.rb
2012-03-13 13:55:45 -06:00
James Lee
19b559839c Revert "Squashed commit of the following:"
This reverts commit dd9ac8a6c00c4057da0b01a86836073d2d520e23.
2012-03-13 13:38:35 -06:00
James Lee
dfa945dc24 Squashed commit of the following:
commit 8b4750d0dcbac0686f9403acdf5cab50c918212f
Author: James Lee <egypt@metasploit.com>
Date:   Tue Mar 13 13:14:43 2012 -0600

    Add bins for listing all addresses

    [Fixes #6476]

commit 213dd92ebc9b706a45725e6515c7939d2edace0e
Author: James Lee <egypt@metasploit.com>
Date:   Tue Mar 13 02:08:34 2012 -0600

    Accept multiple addresses and netmasks

    [See #6476]

commit 2e8bd3c3ecfb319bf9456485d2420bb5829b60cc
Author: James Lee <egypt@metasploit.com>
Date:   Tue Mar 13 01:55:57 2012 -0600

    Make inspecting meterpreter packets a little less painful

    Not sure why I originally thought there was no way to access extensions'
    constants before.  A simple `require` makes it all happy.

commit da367907cf579bd3aefaffbc84d2f96a41b85f00
Author: James Lee <egypt@metasploit.com>
Date:   Sun Mar 11 22:08:44 2012 -0600

    Fix up Linux after changes for Windows

commit ec9f04378b0155f69df95d4a94e62d33ce61977c
Author: James Lee <egypt@metasploit.com>
Date:   Sun Mar 11 21:56:11 2012 -0600

    Grab IPv6 addresses on Windows when possible

    Tries to GetProcAddress of GetAdaptersAddresses and falls back to the
    old GetIpAddrTable() function when it isn't available. This should work
    on XPSP1 and newer, albeit without netmasks on versions before Vista.
    Still trying to figure that one out.

commit 1052ebdcf86114fbc03d1a37ab5d4c6a78e82daa
Author: James Lee <egypt@metasploit.com>
Date:   Tue Mar 6 15:34:09 2012 -0700

    Wrap Windows-specifc headers in ifdef

commit f23f20587b3117c38a77e7e5a93d542411e9504f
Author: James Lee <egypt@metasploit.com>
Date:   Tue Mar 6 14:36:34 2012 -0700

    Handle multiple addrs on one iface on the ruby side

commit d7207d075ac6462875d9da531cf20c175629a416
Author: James Lee <egypt@metasploit.com>
Date:   Mon Mar 5 21:57:39 2012 -0700

    Adds IPv6 addrs to win32 get_interfaces response

commit 11ae7e8a45bd56d25841ea8724377e0fb6789d72
Author: James Lee <egypt@metasploit.com>
Date:   Mon Mar 5 09:07:28 2012 -0700

    Don't distinguish between 4 and 6.

    The client can figure it out from the length.

commit 2c7490bdf3e4079f30857ee323d2ce23ab1bd9a5
Author: James Lee <egypt@metasploit.com>
Date:   Sun Mar 4 04:25:26 2012 -0700

    Append to the list instead of assigning to it

    All addresses are being sent to the client now.  Just need a way to
    parse them out correctly on the other side and meterpreter will be able
    to list all addresses on all interfaces on Linux.  Next step is to
    allocate the proper number of TLVs to avoid good ol' stack smashes on
    systems with lots of addresses and then make sure we clean all the
    memory leaks.

    [See #6476]

commit 73bba037ad968b922341c02459017afcc8407a76
Author: James Lee <egypt@metasploit.com>
Date:   Sun Mar 4 03:12:28 2012 -0700

    Lay the groundwork for returning all addresses

    This commit only sends the last interface in the list, but it is looping
    through all of them as evidenced by the log, just need to make sure
    we're not overwriting as we go.

    [See #6476]
2012-03-13 13:19:18 -06:00
James Lee
c6bfb7c64c Return an appropriate error when stat() fails
Tested on Linux and Windows

[Fixes #6517]
2012-03-13 01:45:58 -06:00
James Lee
200fc177e2 Fix up Linux after changes for Windows 2012-03-11 22:08:44 -06:00
James Lee
30d800e8ff Grab IPv6 addresses on Windows when possible
Tries to GetProcAddress of GetAdaptersAddresses and falls back to the
old GetIpAddrTable() function when it isn't available. This should work
on XPSP1 and newer, albeit without netmasks on versions before Vista.
Still trying to figure that one out.
2012-03-11 21:56:11 -06:00
James Lee
69bd70b0fa Wrap Windows-specifc headers in ifdef 2012-03-06 15:34:09 -07:00
James Lee
872a974033 Adds IPv6 addrs to win32 get_interfaces response 2012-03-05 21:57:39 -07:00
James Lee
08e2a8b140 Don't distinguish between 4 and 6.
The client can figure it out from the length.
2012-03-05 09:10:47 -07:00
James Lee
2c64cb1697 Append to the list instead of assigning to it
All addresses are being sent to the client now.  Just need a way to
parse them out correctly on the other side and meterpreter will be able
to list all addresses on all interfaces on Linux.  Next step is to
allocate the proper number of TLVs to avoid good ol' stack smashes on
systems with lots of addresses and then make sure we clean all the
memory leaks.

[See #6476]
2012-03-05 09:10:47 -07:00
James Lee
54bfa41f1b Lay the groundwork for returning all addresses
This commit only sends the last interface in the list, but it is looping
through all of them as evidenced by the log, just need to make sure
we're not overwriting as we go.

[See #6476]
2012-03-05 09:10:46 -07:00
James Lee
9db223d15e Don't distinguish between IPv4 and IPv6 routes
It's easier to deal with one Array of all routes regardless of INET
family than having get_routes() return a two-element Array of Arrays.
Also fixes a bug in each_route() which was expecting get_routes() to
return a single Array of all routes. Thanks to valsmith for reporting.
2012-03-02 18:26:57 -07:00
James Lee
3ee6e96a17 777 is not the same as 0777
Fixes a bug where meterpreter created directories with absurd
permissions on posix (777 = 01411 = dr----x--t).
2012-03-02 13:16:52 -07:00
James Lee
e4201e11f0 Add the new stdapi/net TLVs to java 2012-02-29 20:31:12 -07:00
James Lee
b74746b9c6 Add the MTU when it's available
This doesn't work on 1.4, but I'm not Java-savvy enough to figure out
how to only compile it for 1.4, so do a ghetto try-catch block in case
the method doesn't exist.
2012-02-29 20:30:03 -07:00
James Lee
6f2d7dc1d1 Add the usleep back in
MM convinced me.
2012-02-29 02:20:23 -07:00
James Lee
ecc92eebce Fix a few more compiler warnings 2012-02-28 08:23:35 -07:00
James Lee
e0f9980ee8 Fix a type-safety warning 2012-02-28 08:17:39 -07:00
James Lee
1cb930a054 Fix a couple of warnings and a typo 2012-02-28 08:16:06 -07:00
James Lee
22510baec2 Get rid of an unnecessary sleep() 2012-02-24 16:42:12 -07:00
MM
589856d378 Switch to netlink for listing interfaces
* Adds support for listing IPv6 addresses on POSIX meterpreter
* Ensures crash logs are only created if debugging is enabled
* Fixes a bug in sniffer where a lock was not acquired correctly

Squashed commit of the following:

commit 955124b264a675c7d67187703bf23b58f0aba6d8
Author: MM <gaspmat@gmail.com>
Date:   Thu Feb 23 23:42:26 2012 +0100

    posix meterpreter - IPv6 support for route and ipconfig using netlink sockets

[Closes #196]
2012-02-24 16:42:12 -07:00
James Lee
eb4def010c Ensure the dir exists before copying files there
Thanks MM for pointing out that this was missed.  The other dirs
referenced in #183 were addressed in 134b6c874fcb363594103f082bc2bacf8a0bd2c7

[Closes #183]
2012-02-22 20:54:20 -07:00
James Lee
4d4757c0a8 No need for pcap in stdapi anymore
Pcap used to be required for the ipconfig command but since the fix
for #6328, it is no longer necessary.

[See #6328]
2012-02-18 12:46:13 -07:00
James Lee
6aa879e800 Ensure output paths exist for compiled object files
Fixes build on clean checkout
2012-02-18 11:42:27 -07:00
James Lee
77e84abbb0 Compile pcap without libnl since bionic doesn't have headers
Fixes build on systems that have libnl installed.
2012-02-18 11:41:09 -07:00
James Lee
288605c808 Add the missing include that broke Windows build
I swear I committed this before...

[See #6372]
2012-02-15 11:51:00 -07:00
James Lee
8d051a98d6 Fix brokenness with the debug target
If a test returns false, make exits.  Duh.

[Fixes #6343]
2012-02-14 16:56:48 -07:00
James Lee
e70d5d5eb2 Remove redundant __FUNCTION__ references in dprintf calls
From the Department of Redundancy Department.
2012-02-13 18:40:25 -07:00
James Lee
0af36e0712 Adds a depclean target
Don't blow away libc with the "clean" target because I'm tired of
rebuilding everything.
2012-02-13 17:59:01 -07:00
James Lee
88d5e46208 Whitespace cleanup 2012-02-13 15:21:01 -07:00
James Lee
46c1073bea Remove unnecessary -gstabs and fix a logic error
This drops the sniffer extension to a size of around 55k bytes.
2012-02-10 15:57:01 -07:00
James Lee
092e692a54 Really set the flag so we don't strip later
Oversight from last commit
2012-02-10 15:57:01 -07:00
James Lee
d493848e40 Add a 'debug' target for posix meterpreter build
This new target adds debugging symbols and doesn't strip binaries. New
bins are considerably bigger, but may be more helpful when diagnosing
problems or adding new features.

[Fixes #6343]
2012-02-10 15:57:01 -07:00
James Lee
1c4d129e52 Don't use the verboten 127.0.0.1
Alleviates some unnecessary headaches with the database
2012-02-10 15:57:01 -07:00
James Lee
9217a5fc11 Simplify creation of .h files from libs
Suffix rules are awesome.
2012-02-10 15:57:00 -07:00
James Lee
c8444e8157 Fix another errant use of dprintf 2012-02-08 16:45:12 -07:00
Joshua J. Drake
688e6b0cb7 Fix another dprintf from #6334, oops 2012-02-06 11:42:12 -06:00
Joshua J. Drake
059d0b5670 Fix dprintf statements in meterpreter C src #6334 2012-02-06 11:38:14 -06:00
Joshua J. Drake
a62f9826fe Fix up posix meterpreter rtld/Makefile rule 2012-02-06 11:28:59 -06:00
James Lee
d9c9fad426 Refactor interface listing
[See #6328]
2012-02-02 00:14:38 -07:00
James Lee
a02a630760 Replace the root-only pcap iface listing technique
Leaks memory, will remedy momentarily

[See #6328]
2012-02-02 00:14:38 -07:00
James Lee
c3be8f5b23 Just rm libpcap add re-extract instead of cleaning
It's faster.
2012-02-02 00:14:38 -07:00
James Lee
f34f8b1440 Use the proper dirsep and allocate correctly
Thanks, mm__ for the bug report and the patch!

[Fixes #6322]
2012-01-31 17:31:15 -07:00
James Lee
2ea1162940 More i386 and -m32 fixes for compiling meterpreter
This should be the last change necessary to compile a 32-bit meterpreter
from a 64-bit build host.

See #6268
2012-01-31 10:12:42 -07:00
James Lee
11e2719635 Merge branch 'stat-struct-fixes'
Conflicts:
	data/meterpreter/ext_server_stdapi.lso
2012-01-27 19:07:27 -07:00
James Lee
353e98a6f9 Get the return values in the right place
This should convert stat values to something portable enough to work on
POSIX and Windows.

Fixes #6294
2012-01-27 18:56:01 -07:00
James Lee
b8c4c95269 Add -m32 and -march=i386 to the Jam build for bionic
This is hopefully the last thing that needs to be fixed up for i386
compatibility.

See #6268
2012-01-27 18:02:37 -07:00
James Lee
20690d0ccf Ensure make.sh returns success 2012-01-27 17:20:36 -07:00