metasploit-payloads 2.0.50 → 2.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/data/android/meterpreter.jar +0 -0
- data/data/android/metstage.jar +0 -0
- data/data/android/shell.jar +0 -0
- data/data/meterpreter/elevator.x64.dll +0 -0
- data/data/meterpreter/elevator.x86.dll +0 -0
- data/data/meterpreter/ext_server_espia.x64.dll +0 -0
- data/data/meterpreter/ext_server_espia.x86.dll +0 -0
- data/data/meterpreter/ext_server_extapi.x64.dll +0 -0
- data/data/meterpreter/ext_server_extapi.x86.dll +0 -0
- data/data/meterpreter/ext_server_incognito.x64.dll +0 -0
- data/data/meterpreter/ext_server_incognito.x86.dll +0 -0
- data/data/meterpreter/ext_server_kiwi.x64.dll +0 -0
- data/data/meterpreter/ext_server_kiwi.x86.dll +0 -0
- data/data/meterpreter/ext_server_lanattacks.x64.dll +0 -0
- data/data/meterpreter/ext_server_lanattacks.x86.dll +0 -0
- data/data/meterpreter/ext_server_peinjector.x64.dll +0 -0
- data/data/meterpreter/ext_server_peinjector.x86.dll +0 -0
- data/data/meterpreter/ext_server_powershell.x64.dll +0 -0
- data/data/meterpreter/ext_server_powershell.x86.dll +0 -0
- data/data/meterpreter/ext_server_priv.x64.dll +0 -0
- data/data/meterpreter/ext_server_priv.x86.dll +0 -0
- data/data/meterpreter/ext_server_python.x64.dll +0 -0
- data/data/meterpreter/ext_server_python.x86.dll +0 -0
- data/data/meterpreter/ext_server_sniffer.x64.dll +0 -0
- data/data/meterpreter/ext_server_sniffer.x86.dll +0 -0
- data/data/meterpreter/ext_server_stdapi.py +1 -0
- data/data/meterpreter/ext_server_stdapi.x64.dll +0 -0
- data/data/meterpreter/ext_server_stdapi.x86.dll +0 -0
- data/data/meterpreter/ext_server_unhook.x64.dll +0 -0
- data/data/meterpreter/ext_server_unhook.x86.dll +0 -0
- data/data/meterpreter/ext_server_winpmem.x64.dll +0 -0
- data/data/meterpreter/ext_server_winpmem.x86.dll +0 -0
- data/data/meterpreter/meterpreter.py +37 -22
- data/data/meterpreter/metsrv.x64.dll +0 -0
- data/data/meterpreter/metsrv.x86.dll +0 -0
- data/data/meterpreter/screenshot.x64.dll +0 -0
- data/data/meterpreter/screenshot.x86.dll +0 -0
- data/lib/metasploit-payloads/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1db85f55664f5f23616d2e8964b8e489edfa02438b43cfff65cf725a9d18cfd2
|
4
|
+
data.tar.gz: e235a4c2d27623670395f3380360d55657cb7dc764c01471e6e99adef2442ec5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 659af5c06e7763acdfabd5f503fb5ce5a184638268df0358d12f20eab555079f76b40b043609d61655308d66d678813b26ae2c4a2db1cc02c317ab9f5e59d957
|
7
|
+
data.tar.gz: 7986adc790b342d080616e67fcf29f648d693b6176a7ec031b97d7074098503c386cfd6b3c1bc40d979a2028fd8ee1b5891212387f03affcd01d4a41587cb27e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
Binary file
|
data/data/android/metstage.jar
CHANGED
Binary file
|
data/data/android/shell.jar
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1167,6 +1167,7 @@ def stdapi_sys_process_execute(request, response):
|
|
1167
1167
|
proc_h.stdin = os.fdopen(master, 'wb')
|
1168
1168
|
proc_h.stdout = os.fdopen(master, 'rb')
|
1169
1169
|
proc_h.stderr = open(os.devnull, 'rb')
|
1170
|
+
proc_h.ptyfd = slave
|
1170
1171
|
else:
|
1171
1172
|
proc_h = STDProcess(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
1172
1173
|
proc_h.echo_protection = True
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -639,13 +639,17 @@ class MeterpreterProcess(MeterpreterChannel):
|
|
639
639
|
super(MeterpreterProcess, self).__init__()
|
640
640
|
|
641
641
|
def close(self):
|
642
|
-
self.proc_h.
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
642
|
+
if self.proc_h.poll() is None:
|
643
|
+
self.proc_h.kill()
|
644
|
+
if self.proc_h.ptyfd is not None:
|
645
|
+
os.close(self.proc_h.ptyfd)
|
646
|
+
for stream in (self.proc_h.stdin, self.proc_h.stdout, self.proc_h.stderr):
|
647
|
+
if not hasattr(stream, 'close'):
|
648
|
+
continue
|
649
|
+
try:
|
650
|
+
stream.close()
|
651
|
+
except (IOError, OSError):
|
652
|
+
pass
|
649
653
|
|
650
654
|
def is_alive(self):
|
651
655
|
return self.proc_h.poll() is None
|
@@ -739,18 +743,26 @@ class MeterpreterSocketUDPClient(MeterpreterSocket):
|
|
739
743
|
export(MeterpreterSocketUDPClient)
|
740
744
|
|
741
745
|
class STDProcessBuffer(threading.Thread):
|
742
|
-
def __init__(self, std, is_alive):
|
743
|
-
threading.Thread.__init__(self)
|
746
|
+
def __init__(self, std, is_alive, name=None):
|
747
|
+
threading.Thread.__init__(self, name=name or self.__class__.__name__)
|
744
748
|
self.std = std
|
745
749
|
self.is_alive = is_alive
|
746
750
|
self.data = bytes()
|
747
751
|
self.data_lock = threading.RLock()
|
748
752
|
|
753
|
+
def _read1(self):
|
754
|
+
try:
|
755
|
+
return self.std.read(1)
|
756
|
+
except (IOError, OSError):
|
757
|
+
return bytes()
|
758
|
+
|
749
759
|
def run(self):
|
750
|
-
|
760
|
+
byte = self._read1()
|
761
|
+
while len(byte):
|
751
762
|
self.data_lock.acquire()
|
752
763
|
self.data += byte
|
753
764
|
self.data_lock.release()
|
765
|
+
byte = self._read1()
|
754
766
|
|
755
767
|
def is_read_ready(self):
|
756
768
|
return len(self.data) != 0
|
@@ -778,14 +790,15 @@ class STDProcess(subprocess.Popen):
|
|
778
790
|
debug_print('[*] starting process: ' + repr(args[0]))
|
779
791
|
subprocess.Popen.__init__(self, *args, **kwargs)
|
780
792
|
self.echo_protection = False
|
793
|
+
self.ptyfd = None
|
781
794
|
|
782
795
|
def is_alive(self):
|
783
796
|
return self.poll() is None
|
784
797
|
|
785
798
|
def start(self):
|
786
|
-
self.stdout_reader = STDProcessBuffer(self.stdout, self.is_alive)
|
799
|
+
self.stdout_reader = STDProcessBuffer(self.stdout, self.is_alive, name='STDProcessBuffer.stdout')
|
787
800
|
self.stdout_reader.start()
|
788
|
-
self.stderr_reader = STDProcessBuffer(self.stderr, self.is_alive)
|
801
|
+
self.stderr_reader = STDProcessBuffer(self.stderr, self.is_alive, name='STDProcessBuffer.stderr')
|
789
802
|
self.stderr_reader.start()
|
790
803
|
|
791
804
|
def write(self, channel_data):
|
@@ -1273,15 +1286,15 @@ class PythonMeterpreter(object):
|
|
1273
1286
|
data = bytes()
|
1274
1287
|
write_request_parts = []
|
1275
1288
|
if isinstance(channel, MeterpreterProcess):
|
1276
|
-
if
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
elif not channel.is_alive():
|
1289
|
+
if channel_id in self.interact_channels:
|
1290
|
+
proc_h = channel.proc_h
|
1291
|
+
if proc_h.stderr_reader.is_read_ready():
|
1292
|
+
data = proc_h.stderr_reader.read()
|
1293
|
+
elif proc_h.stdout_reader.is_read_ready():
|
1294
|
+
data = proc_h.stdout_reader.read()
|
1295
|
+
if not channel.is_alive():
|
1284
1296
|
self.handle_dead_resource_channel(channel_id)
|
1297
|
+
channel.close()
|
1285
1298
|
elif isinstance(channel, MeterpreterSocketTCPClient):
|
1286
1299
|
while select.select([channel.fileno()], [], [], 0)[0]:
|
1287
1300
|
try:
|
@@ -1552,7 +1565,6 @@ class PythonMeterpreter(object):
|
|
1552
1565
|
status, response = channel.core_eof(request, response)
|
1553
1566
|
return ERROR_SUCCESS, response
|
1554
1567
|
|
1555
|
-
|
1556
1568
|
def _core_channel_interact(self, request, response):
|
1557
1569
|
channel_id = packet_get_tlv(request, TLV_TYPE_CHANNEL_ID)['value']
|
1558
1570
|
if channel_id not in self.channels:
|
@@ -1614,7 +1626,10 @@ class PythonMeterpreter(object):
|
|
1614
1626
|
if result != ERROR_SUCCESS:
|
1615
1627
|
debug_print('[-] method ' + handler_name + ' resulted in error: #' + str(result))
|
1616
1628
|
else:
|
1617
|
-
|
1629
|
+
if handler_name is None:
|
1630
|
+
debug_print('[-] command id ' + str(commd_id_tlv['value']) + ' was requested but does not exist')
|
1631
|
+
else:
|
1632
|
+
debug_print('[-] method ' + handler_name + ' was requested but does not exist')
|
1618
1633
|
result = error_result(NotImplementedError)
|
1619
1634
|
|
1620
1635
|
reqid_tlv = packet_get_tlv(request, TLV_TYPE_REQUEST_ID)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metasploit-payloads
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.54
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OJ Reeves
|
@@ -96,7 +96,7 @@ cert_chain:
|
|
96
96
|
EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
|
97
97
|
9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
|
98
98
|
-----END CERTIFICATE-----
|
99
|
-
date: 2021-
|
99
|
+
date: 2021-08-27 00:00:00.000000000 Z
|
100
100
|
dependencies:
|
101
101
|
- !ruby/object:Gem::Dependency
|
102
102
|
name: rake
|
metadata.gz.sig
CHANGED
Binary file
|