metasploit-payloads 2.0.53 → 2.0.57
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.dex +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.jar +0 -0
- data/data/meterpreter/ext_server_stdapi.php +31 -11
- data/data/meterpreter/ext_server_stdapi.py +44 -3
- 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 +35 -21
- 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 +3 -1
- 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: 828c2137d88b9ecf8a48064976e436f178a4e69bfc3a01b2aac2e880f605e78e
|
4
|
+
data.tar.gz: b5ee9b456a820e72fa918aafb258347b812469de22f47e0bc01d4ea039100d07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19d25d6d1db9e626ea6746c59a4d7344a72435e0c36b46357b2e8dfb27361383b3264b38f24038aaeb9fba6607fbbbcbeef017f81437b3dae9c11dcb2c927506
|
7
|
+
data.tar.gz: a7810ce9c9f07f4438450fb9f2a611a7c4aed844d14035a263784f241074ed773ff4661cf550386839eb939c9ec9adf143d8202161ba969a7f341c2f712ae2e3
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
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
|
Binary file
|
@@ -27,7 +27,9 @@ define("TLV_TYPE_SEARCH_RECURSE", TLV_META_TYPE_BOOL | 1230);
|
|
27
27
|
define("TLV_TYPE_SEARCH_GLOB", TLV_META_TYPE_STRING | 1231);
|
28
28
|
define("TLV_TYPE_SEARCH_ROOT", TLV_META_TYPE_STRING | 1232);
|
29
29
|
define("TLV_TYPE_SEARCH_RESULTS", TLV_META_TYPE_GROUP | 1233);
|
30
|
-
|
30
|
+
define("TLV_TYPE_SEARCH_MTIME", TLV_META_TYPE_UINT | 1235);
|
31
|
+
define("TLV_TYPE_SEARCH_M_START_DATE", TLV_META_TYPE_UINT | 1236);
|
32
|
+
define("TLV_TYPE_SEARCH_M_END_DATE", TLV_META_TYPE_UINT | 1237);
|
31
33
|
define("TLV_TYPE_FILE_MODE_T", TLV_META_TYPE_UINT | 1234);
|
32
34
|
|
33
35
|
##
|
@@ -340,7 +342,7 @@ define('GLOB_RECURSE',2048);
|
|
340
342
|
* GLOB_NODOTS, GLOB_RECURSE
|
341
343
|
*/
|
342
344
|
if (!function_exists('safe_glob')) {
|
343
|
-
function safe_glob($pattern, $flags=0) {
|
345
|
+
function safe_glob($pattern, $flags=0, $start_date=null, $end_date=null) {
|
344
346
|
$split=explode('/',str_replace('\\','/',$pattern));
|
345
347
|
$mask=array_pop($split);
|
346
348
|
$path=implode('/',$split);
|
@@ -356,14 +358,21 @@ function safe_glob($pattern, $flags=0) {
|
|
356
358
|
&& (!is_link($path."/".$file))
|
357
359
|
)
|
358
360
|
) {
|
359
|
-
$
|
360
|
-
|
361
|
+
$newglob = safe_glob($path.'/'.$file.'/'.$mask, $flags, $start_date, $end_date);
|
362
|
+
if ($newglob !== false) {
|
363
|
+
$glob = array_merge($glob, array_prepend($newglob,
|
364
|
+
($flags&GLOB_PATH?'':$file.'/')));
|
365
|
+
}
|
361
366
|
}
|
362
367
|
// Match file mask
|
363
368
|
if (fnmatch($mask,$file)) {
|
369
|
+
$tmp_f_stat = stat($path.'/'.$file);
|
370
|
+
$mtime = $tmp_f_stat['mtime'];
|
364
371
|
if ( ( (!($flags&GLOB_ONLYDIR)) || is_dir("$path/$file") )
|
365
372
|
&& ( (!($flags&GLOB_NODIR)) || (!is_dir($path.'/'.$file)) )
|
366
|
-
&& ( (!($flags&GLOB_NODOTS)) || (!in_array($file,array('.','..'))) )
|
373
|
+
&& ( (!($flags&GLOB_NODOTS)) || (!in_array($file,array('.','..'))) )
|
374
|
+
&& ( ($start_date === null) || ($start_date <= $mtime))
|
375
|
+
&& ( ($end_date === null) || ($end_date >= $mtime)) )
|
367
376
|
$glob[] = ($flags&GLOB_PATH?$path.'/':'') . $file . ($flags&GLOB_MARK?'/':'');
|
368
377
|
}
|
369
378
|
}
|
@@ -682,27 +691,38 @@ function stdapi_fs_search($req, &$pkt) {
|
|
682
691
|
$glob = canonicalize_path($glob_tlv['value']);
|
683
692
|
$recurse_tlv = packet_get_tlv($req, TLV_TYPE_SEARCH_RECURSE);
|
684
693
|
$recurse = $recurse_tlv['value'];
|
694
|
+
$start_date_tlv = packet_get_tlv($req, TLV_TYPE_SEARCH_M_START_DATE);
|
695
|
+
$start_date = null;
|
696
|
+
if ($start_date_tlv) {
|
697
|
+
$start_date = $start_date_tlv['value'];
|
698
|
+
}
|
699
|
+
$end_date_tlv = packet_get_tlv($req, TLV_TYPE_SEARCH_M_END_DATE);
|
700
|
+
$end_date = null;
|
701
|
+
if ($end_date_tlv) {
|
702
|
+
$end_date = $end_date_tlv['value'];
|
703
|
+
}
|
685
704
|
|
686
705
|
if (!$root) {
|
687
706
|
$root = '.';
|
688
707
|
}
|
689
708
|
|
690
709
|
my_print("glob: $glob, root: $root, recurse: $recurse");
|
691
|
-
$flags = GLOB_PATH;
|
710
|
+
$flags = GLOB_PATH | GLOB_NODOTS;
|
692
711
|
if ($recurse) {
|
693
712
|
$flags |= GLOB_RECURSE;
|
694
713
|
}
|
695
|
-
$files = safe_glob($root ."/". $glob, $flags);
|
714
|
+
$files = safe_glob($root ."/". $glob, $flags, $start_date, $end_date);
|
696
715
|
if ($files and is_array($files)) {
|
697
716
|
dump_array($files);
|
698
717
|
foreach ($files as $file) {
|
699
718
|
$file_tlvs = "";
|
700
719
|
$s = stat($file);
|
701
|
-
$p = dirname($file);
|
702
|
-
$f = basename($file);
|
720
|
+
$p = canonicalize_path(dirname($file));
|
721
|
+
$f = canonicalize_path(basename($file));
|
703
722
|
$file_tlvs .= tlv_pack(create_tlv(TLV_TYPE_FILE_PATH, $p));
|
704
723
|
$file_tlvs .= tlv_pack(create_tlv(TLV_TYPE_FILE_NAME, $f));
|
705
724
|
$file_tlvs .= tlv_pack(create_tlv(TLV_TYPE_FILE_SIZE, $s['size']));
|
725
|
+
$file_tlvs .= tlv_pack(create_tlv(TLV_TYPE_SEARCH_MTIME, $s['mtime']));
|
706
726
|
packet_add_tlv($pkt, create_tlv(TLV_TYPE_SEARCH_RESULTS, $file_tlvs));
|
707
727
|
}
|
708
728
|
}
|
@@ -756,12 +776,12 @@ function stdapi_sys_config_getuid($req, &$pkt) {
|
|
756
776
|
if (is_callable('posix_getuid')) {
|
757
777
|
$uid = posix_getuid();
|
758
778
|
$pwinfo = posix_getpwuid($uid);
|
759
|
-
$user = $pwinfo['name']
|
779
|
+
$user = $pwinfo['name'];
|
760
780
|
} else {
|
761
781
|
# The posix functions aren't available, this is probably windows. Use
|
762
782
|
# the functions for getting user name and uid based on file ownership
|
763
783
|
# instead.
|
764
|
-
$user = get_current_user()
|
784
|
+
$user = get_current_user();
|
765
785
|
}
|
766
786
|
my_print("getuid - returning: " . $user);
|
767
787
|
packet_add_tlv($pkt, create_tlv(TLV_TYPE_USER_NAME, $user));
|
@@ -39,6 +39,12 @@ try:
|
|
39
39
|
except ImportError:
|
40
40
|
has_termios = False
|
41
41
|
|
42
|
+
try:
|
43
|
+
import fcntl
|
44
|
+
has_fcntl = True
|
45
|
+
except ImportError:
|
46
|
+
has_fcntl = False
|
47
|
+
|
42
48
|
try:
|
43
49
|
import _winreg as winreg
|
44
50
|
has_winreg = True
|
@@ -468,6 +474,9 @@ TLV_TYPE_SEARCH_ROOT = TLV_META_TYPE_STRING | 1232
|
|
468
474
|
TLV_TYPE_SEARCH_RESULTS = TLV_META_TYPE_GROUP | 1233
|
469
475
|
|
470
476
|
TLV_TYPE_FILE_MODE_T = TLV_META_TYPE_UINT | 1234
|
477
|
+
TLV_TYPE_SEARCH_MTIME = TLV_META_TYPE_UINT | 1235
|
478
|
+
TLV_TYPE_SEARCH_M_START_DATE = TLV_META_TYPE_UINT | 1236
|
479
|
+
TLV_TYPE_SEARCH_M_END_DATE = TLV_META_TYPE_UINT | 1237
|
471
480
|
|
472
481
|
##
|
473
482
|
# Net
|
@@ -610,6 +619,9 @@ TLV_TYPE_REGISTER_SIZE = TLV_META_TYPE_UINT | 2541
|
|
610
619
|
TLV_TYPE_REGISTER_VALUE_32 = TLV_META_TYPE_UINT | 2542
|
611
620
|
TLV_TYPE_REGISTER = TLV_META_TYPE_GROUP | 2550
|
612
621
|
|
622
|
+
TLV_TYPE_TERMINAL_ROWS = TLV_META_TYPE_UINT | 2600
|
623
|
+
TLV_TYPE_TERMINAL_COLUMNS = TLV_META_TYPE_UINT | 2601
|
624
|
+
|
613
625
|
##
|
614
626
|
# Ui
|
615
627
|
##
|
@@ -1159,7 +1171,6 @@ def stdapi_sys_process_execute(request, response):
|
|
1159
1171
|
if has_termios:
|
1160
1172
|
try:
|
1161
1173
|
settings = termios.tcgetattr(master)
|
1162
|
-
settings[3] = settings[3] & ~termios.ECHO
|
1163
1174
|
termios.tcsetattr(master, termios.TCSADRAIN, settings)
|
1164
1175
|
except:
|
1165
1176
|
pass
|
@@ -1167,6 +1178,7 @@ def stdapi_sys_process_execute(request, response):
|
|
1167
1178
|
proc_h.stdin = os.fdopen(master, 'wb')
|
1168
1179
|
proc_h.stdout = os.fdopen(master, 'rb')
|
1169
1180
|
proc_h.stderr = open(os.devnull, 'rb')
|
1181
|
+
proc_h.ptyfd = slave
|
1170
1182
|
else:
|
1171
1183
|
proc_h = STDProcess(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
1172
1184
|
proc_h.echo_protection = True
|
@@ -1509,20 +1521,36 @@ def stdapi_fs_search(request, response):
|
|
1509
1521
|
search_root = unicode(search_root)
|
1510
1522
|
glob = packet_get_tlv(request, TLV_TYPE_SEARCH_GLOB)['value']
|
1511
1523
|
recurse = packet_get_tlv(request, TLV_TYPE_SEARCH_RECURSE)['value']
|
1524
|
+
start_date = packet_get_tlv(request,TLV_TYPE_SEARCH_M_START_DATE)
|
1525
|
+
end_date = packet_get_tlv(request,TLV_TYPE_SEARCH_M_END_DATE)
|
1512
1526
|
if recurse:
|
1513
1527
|
for root, dirs, files in os.walk(search_root):
|
1514
1528
|
for f in filter(lambda f: fnmatch.fnmatch(f, glob), files):
|
1529
|
+
file_stat = os.stat(os.path.join(root, f))
|
1530
|
+
mtime = int(file_stat.st_mtime)
|
1531
|
+
if start_date and start_date['value'] > mtime:
|
1532
|
+
continue
|
1533
|
+
if end_date and end_date['value'] < mtime:
|
1534
|
+
continue
|
1515
1535
|
file_tlv = bytes()
|
1516
1536
|
file_tlv += tlv_pack(TLV_TYPE_FILE_PATH, root)
|
1517
1537
|
file_tlv += tlv_pack(TLV_TYPE_FILE_NAME, f)
|
1518
|
-
file_tlv += tlv_pack(TLV_TYPE_FILE_SIZE,
|
1538
|
+
file_tlv += tlv_pack(TLV_TYPE_FILE_SIZE, file_stat.st_size)
|
1539
|
+
file_tlv += tlv_pack(TLV_TYPE_SEARCH_MTIME, mtime)
|
1519
1540
|
response += tlv_pack(TLV_TYPE_SEARCH_RESULTS, file_tlv)
|
1520
1541
|
else:
|
1521
1542
|
for f in filter(lambda f: fnmatch.fnmatch(f, glob), os.listdir(search_root)):
|
1543
|
+
file_stat = os.stat(os.path.join(search_root, f))
|
1544
|
+
mtime = int(file_stat.st_mtime)
|
1545
|
+
if start_date and start_date['value'] > mtime:
|
1546
|
+
continue
|
1547
|
+
if end_date and end_date['value'] < mtime:
|
1548
|
+
continue
|
1522
1549
|
file_tlv = bytes()
|
1523
1550
|
file_tlv += tlv_pack(TLV_TYPE_FILE_PATH, search_root)
|
1524
1551
|
file_tlv += tlv_pack(TLV_TYPE_FILE_NAME, f)
|
1525
|
-
file_tlv += tlv_pack(TLV_TYPE_FILE_SIZE,
|
1552
|
+
file_tlv += tlv_pack(TLV_TYPE_FILE_SIZE, file_stat.st_size)
|
1553
|
+
file_tlv += tlv_pack(TLV_TYPE_SEARCH_MTIME, mtime)
|
1526
1554
|
response += tlv_pack(TLV_TYPE_SEARCH_RESULTS, file_tlv)
|
1527
1555
|
return ERROR_SUCCESS, response
|
1528
1556
|
|
@@ -2548,3 +2576,16 @@ def stdapi_ui_get_idle_time(request, response):
|
|
2548
2576
|
idle_time = (GetTickCount() - info.dwTime) / 1000
|
2549
2577
|
response += tlv_pack(TLV_TYPE_IDLE_TIME, idle_time)
|
2550
2578
|
return ERROR_SUCCESS, response
|
2579
|
+
|
2580
|
+
@register_function_if(has_termios and has_fcntl)
|
2581
|
+
def stdapi_sys_process_set_term_size(request, response):
|
2582
|
+
channel_id = packet_get_tlv(request, TLV_TYPE_CHANNEL_ID)['value']
|
2583
|
+
rows = packet_get_tlv(request, TLV_TYPE_TERMINAL_ROWS)['value']
|
2584
|
+
columns = packet_get_tlv(request, TLV_TYPE_TERMINAL_COLUMNS)['value']
|
2585
|
+
if channel_id in meterpreter.interact_channels:
|
2586
|
+
proc_h = meterpreter.channels[channel_id].proc_h
|
2587
|
+
winsize = struct.pack("HHHH", rows, columns, 0, 0)
|
2588
|
+
fcntl.ioctl(proc_h.stdin, termios.TIOCSWINSZ, winsize)
|
2589
|
+
else:
|
2590
|
+
return ERROR_FAILURE, response
|
2591
|
+
return ERROR_SUCCESS, response
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -347,6 +347,8 @@ COMMAND_IDS = (
|
|
347
347
|
(1115, 'stdapi_audio_mic_start'),
|
348
348
|
(1116, 'stdapi_audio_mic_stop'),
|
349
349
|
(1117, 'stdapi_audio_mic_list'),
|
350
|
+
(1118, 'stdapi_sys_process_set_term_size'),
|
351
|
+
|
350
352
|
)
|
351
353
|
# ---------------------------------------------------------------
|
352
354
|
|
@@ -639,13 +641,17 @@ class MeterpreterProcess(MeterpreterChannel):
|
|
639
641
|
super(MeterpreterProcess, self).__init__()
|
640
642
|
|
641
643
|
def close(self):
|
642
|
-
self.proc_h.
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
644
|
+
if self.proc_h.poll() is None:
|
645
|
+
self.proc_h.kill()
|
646
|
+
if self.proc_h.ptyfd is not None:
|
647
|
+
os.close(self.proc_h.ptyfd)
|
648
|
+
for stream in (self.proc_h.stdin, self.proc_h.stdout, self.proc_h.stderr):
|
649
|
+
if not hasattr(stream, 'close'):
|
650
|
+
continue
|
651
|
+
try:
|
652
|
+
stream.close()
|
653
|
+
except (IOError, OSError):
|
654
|
+
pass
|
649
655
|
|
650
656
|
def is_alive(self):
|
651
657
|
return self.proc_h.poll() is None
|
@@ -739,18 +745,26 @@ class MeterpreterSocketUDPClient(MeterpreterSocket):
|
|
739
745
|
export(MeterpreterSocketUDPClient)
|
740
746
|
|
741
747
|
class STDProcessBuffer(threading.Thread):
|
742
|
-
def __init__(self, std, is_alive):
|
743
|
-
threading.Thread.__init__(self)
|
748
|
+
def __init__(self, std, is_alive, name=None):
|
749
|
+
threading.Thread.__init__(self, name=name or self.__class__.__name__)
|
744
750
|
self.std = std
|
745
751
|
self.is_alive = is_alive
|
746
752
|
self.data = bytes()
|
747
753
|
self.data_lock = threading.RLock()
|
748
754
|
|
755
|
+
def _read1(self):
|
756
|
+
try:
|
757
|
+
return self.std.read(1)
|
758
|
+
except (IOError, OSError):
|
759
|
+
return bytes()
|
760
|
+
|
749
761
|
def run(self):
|
750
|
-
|
762
|
+
byte = self._read1()
|
763
|
+
while len(byte):
|
751
764
|
self.data_lock.acquire()
|
752
765
|
self.data += byte
|
753
766
|
self.data_lock.release()
|
767
|
+
byte = self._read1()
|
754
768
|
|
755
769
|
def is_read_ready(self):
|
756
770
|
return len(self.data) != 0
|
@@ -778,14 +792,15 @@ class STDProcess(subprocess.Popen):
|
|
778
792
|
debug_print('[*] starting process: ' + repr(args[0]))
|
779
793
|
subprocess.Popen.__init__(self, *args, **kwargs)
|
780
794
|
self.echo_protection = False
|
795
|
+
self.ptyfd = None
|
781
796
|
|
782
797
|
def is_alive(self):
|
783
798
|
return self.poll() is None
|
784
799
|
|
785
800
|
def start(self):
|
786
|
-
self.stdout_reader = STDProcessBuffer(self.stdout, self.is_alive)
|
801
|
+
self.stdout_reader = STDProcessBuffer(self.stdout, self.is_alive, name='STDProcessBuffer.stdout')
|
787
802
|
self.stdout_reader.start()
|
788
|
-
self.stderr_reader = STDProcessBuffer(self.stderr, self.is_alive)
|
803
|
+
self.stderr_reader = STDProcessBuffer(self.stderr, self.is_alive, name='STDProcessBuffer.stderr')
|
789
804
|
self.stderr_reader.start()
|
790
805
|
|
791
806
|
def write(self, channel_data):
|
@@ -1273,15 +1288,15 @@ class PythonMeterpreter(object):
|
|
1273
1288
|
data = bytes()
|
1274
1289
|
write_request_parts = []
|
1275
1290
|
if isinstance(channel, MeterpreterProcess):
|
1276
|
-
if
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
elif not channel.is_alive():
|
1291
|
+
if channel_id in self.interact_channels:
|
1292
|
+
proc_h = channel.proc_h
|
1293
|
+
if proc_h.stderr_reader.is_read_ready():
|
1294
|
+
data = proc_h.stderr_reader.read()
|
1295
|
+
elif proc_h.stdout_reader.is_read_ready():
|
1296
|
+
data = proc_h.stdout_reader.read()
|
1297
|
+
if not channel.is_alive():
|
1284
1298
|
self.handle_dead_resource_channel(channel_id)
|
1299
|
+
channel.close()
|
1285
1300
|
elif isinstance(channel, MeterpreterSocketTCPClient):
|
1286
1301
|
while select.select([channel.fileno()], [], [], 0)[0]:
|
1287
1302
|
try:
|
@@ -1552,7 +1567,6 @@ class PythonMeterpreter(object):
|
|
1552
1567
|
status, response = channel.core_eof(request, response)
|
1553
1568
|
return ERROR_SUCCESS, response
|
1554
1569
|
|
1555
|
-
|
1556
1570
|
def _core_channel_interact(self, request, response):
|
1557
1571
|
channel_id = packet_get_tlv(request, TLV_TYPE_CHANNEL_ID)['value']
|
1558
1572
|
if channel_id not in self.channels:
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data.tar.gz.sig
CHANGED
@@ -1 +1,3 @@
|
|
1
|
-
|
1
|
+
�*�A�x̭��XS�y�'wp��5��3�2�X�:C��(��$ִR'�Z����t�x[d��N�6��3���m6�����Y�����'~XRiҨ�8�OH����6����{��/����?�v���np��;��̝�8��;������adP�Ә)Q�
|
2
|
+
�����QW�dt��/d��y��X��+�q��_}1]��v��@��b�5�;�_>��� �ʈ�?
|
3
|
+
���U�ޢ�f�tgX���U���oJ�$�����;4
|
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.57
|
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-09-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
|