metasploit-payloads 2.0.53 → 2.0.54

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/data/android/meterpreter.jar +0 -0
  4. data/data/android/metstage.jar +0 -0
  5. data/data/android/shell.jar +0 -0
  6. data/data/meterpreter/elevator.x64.dll +0 -0
  7. data/data/meterpreter/elevator.x86.dll +0 -0
  8. data/data/meterpreter/ext_server_espia.x64.dll +0 -0
  9. data/data/meterpreter/ext_server_espia.x86.dll +0 -0
  10. data/data/meterpreter/ext_server_extapi.x64.dll +0 -0
  11. data/data/meterpreter/ext_server_extapi.x86.dll +0 -0
  12. data/data/meterpreter/ext_server_incognito.x64.dll +0 -0
  13. data/data/meterpreter/ext_server_incognito.x86.dll +0 -0
  14. data/data/meterpreter/ext_server_kiwi.x64.dll +0 -0
  15. data/data/meterpreter/ext_server_kiwi.x86.dll +0 -0
  16. data/data/meterpreter/ext_server_lanattacks.x64.dll +0 -0
  17. data/data/meterpreter/ext_server_lanattacks.x86.dll +0 -0
  18. data/data/meterpreter/ext_server_peinjector.x64.dll +0 -0
  19. data/data/meterpreter/ext_server_peinjector.x86.dll +0 -0
  20. data/data/meterpreter/ext_server_powershell.x64.dll +0 -0
  21. data/data/meterpreter/ext_server_powershell.x86.dll +0 -0
  22. data/data/meterpreter/ext_server_priv.x64.dll +0 -0
  23. data/data/meterpreter/ext_server_priv.x86.dll +0 -0
  24. data/data/meterpreter/ext_server_python.x64.dll +0 -0
  25. data/data/meterpreter/ext_server_python.x86.dll +0 -0
  26. data/data/meterpreter/ext_server_sniffer.x64.dll +0 -0
  27. data/data/meterpreter/ext_server_sniffer.x86.dll +0 -0
  28. data/data/meterpreter/ext_server_stdapi.py +1 -0
  29. data/data/meterpreter/ext_server_stdapi.x64.dll +0 -0
  30. data/data/meterpreter/ext_server_stdapi.x86.dll +0 -0
  31. data/data/meterpreter/ext_server_unhook.x64.dll +0 -0
  32. data/data/meterpreter/ext_server_unhook.x86.dll +0 -0
  33. data/data/meterpreter/ext_server_winpmem.x64.dll +0 -0
  34. data/data/meterpreter/ext_server_winpmem.x86.dll +0 -0
  35. data/data/meterpreter/meterpreter.py +33 -21
  36. data/data/meterpreter/metsrv.x64.dll +0 -0
  37. data/data/meterpreter/metsrv.x86.dll +0 -0
  38. data/data/meterpreter/screenshot.x64.dll +0 -0
  39. data/data/meterpreter/screenshot.x86.dll +0 -0
  40. data/lib/metasploit-payloads/version.rb +1 -1
  41. data.tar.gz.sig +1 -1
  42. metadata +2 -2
  43. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 476b4550064498456e290be131f1ade507e1bbff0cfb9cf0785281ada06c0903
4
- data.tar.gz: e115cd4d1dfe4973b5e019e8adca1fb2e9761863783d9409dd6bbda2e08fa232
3
+ metadata.gz: 1db85f55664f5f23616d2e8964b8e489edfa02438b43cfff65cf725a9d18cfd2
4
+ data.tar.gz: e235a4c2d27623670395f3380360d55657cb7dc764c01471e6e99adef2442ec5
5
5
  SHA512:
6
- metadata.gz: ff3dccc7f3037b75dae7a987b1408827f2796d80fbab1d2f11b0dd6e35be6337a7885fecc197d28152be5df10b7fc0fa3e98ea2ec3c7c59456a94d12f7e954fb
7
- data.tar.gz: 4b24f2d5b7fde8a16f96183ed9bd1e47610a7be426b098ffbc392ba2aea86e696a66c3118b0d8d43cebd3a13f80414c85f8a297b85974eb4c6d5d14399275244
6
+ metadata.gz: 659af5c06e7763acdfabd5f503fb5ce5a184638268df0358d12f20eab555079f76b40b043609d61655308d66d678813b26ae2c4a2db1cc02c317ab9f5e59d957
7
+ data.tar.gz: 7986adc790b342d080616e67fcf29f648d693b6176a7ec031b97d7074098503c386cfd6b3c1bc40d979a2028fd8ee1b5891212387f03affcd01d4a41587cb27e
checksums.yaml.gz.sig CHANGED
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
@@ -639,13 +639,17 @@ class MeterpreterProcess(MeterpreterChannel):
639
639
  super(MeterpreterProcess, self).__init__()
640
640
 
641
641
  def close(self):
642
- self.proc_h.kill()
643
- if hasattr(self.proc_h.stdin, 'close'):
644
- self.proc_h.stdin.close()
645
- if hasattr(self.proc_h.stdout, 'close'):
646
- self.proc_h.stdout.close()
647
- if hasattr(self.proc_h.stderr, 'close'):
648
- self.proc_h.stderr.close()
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
- for byte in iter(lambda: self.std.read(1), bytes()):
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 not channel_id in self.interact_channels:
1277
- continue
1278
- proc_h = channel.proc_h
1279
- if proc_h.stderr_reader.is_read_ready():
1280
- data = proc_h.stderr_reader.read()
1281
- elif proc_h.stdout_reader.is_read_ready():
1282
- data = proc_h.stdout_reader.read()
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:
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  # -*- coding:binary -*-
2
2
  module MetasploitPayloads
3
- VERSION = '2.0.53'
3
+ VERSION = '2.0.54'
4
4
 
5
5
  def self.version
6
6
  VERSION
data.tar.gz.sig CHANGED
@@ -1 +1 @@
1
- ���]�僨���/�����K�����zk�ϸ�vn|��oN���Kw+w������)��$������I��̝�ܦ,�o�.�Es �Ȋ��9�U��a�������b]Y)H���c'"߄X4| �<0j[S�����K7�>�G� �ފ���*L�y
1
+ � x.y���O�.�K ����.���I�o)��b�
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.53
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-08-26 00:00:00.000000000 Z
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