metasploit-payloads 2.0.104 → 2.0.106
Sign up to get free protection for your applications and to get access to all the features.
- 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.debug.dll +0 -0
- data/data/meterpreter/elevator.x64.dll +0 -0
- data/data/meterpreter/elevator.x86.debug.dll +0 -0
- data/data/meterpreter/elevator.x86.dll +0 -0
- data/data/meterpreter/ext_server_bofloader.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_bofloader.x64.dll +0 -0
- data/data/meterpreter/ext_server_bofloader.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_bofloader.x86.dll +0 -0
- data/data/meterpreter/ext_server_espia.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_espia.x64.dll +0 -0
- data/data/meterpreter/ext_server_espia.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_espia.x86.dll +0 -0
- data/data/meterpreter/ext_server_extapi.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_extapi.x64.dll +0 -0
- data/data/meterpreter/ext_server_extapi.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_extapi.x86.dll +0 -0
- data/data/meterpreter/ext_server_incognito.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_incognito.x64.dll +0 -0
- data/data/meterpreter/ext_server_incognito.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_incognito.x86.dll +0 -0
- data/data/meterpreter/ext_server_kiwi.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_kiwi.x64.dll +0 -0
- data/data/meterpreter/ext_server_kiwi.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_kiwi.x86.dll +0 -0
- data/data/meterpreter/ext_server_lanattacks.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_lanattacks.x64.dll +0 -0
- data/data/meterpreter/ext_server_lanattacks.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_lanattacks.x86.dll +0 -0
- data/data/meterpreter/ext_server_peinjector.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_peinjector.x64.dll +0 -0
- data/data/meterpreter/ext_server_peinjector.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_peinjector.x86.dll +0 -0
- data/data/meterpreter/ext_server_powershell.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_powershell.x64.dll +0 -0
- data/data/meterpreter/ext_server_powershell.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_powershell.x86.dll +0 -0
- data/data/meterpreter/ext_server_priv.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_priv.x64.dll +0 -0
- data/data/meterpreter/ext_server_priv.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_priv.x86.dll +0 -0
- data/data/meterpreter/ext_server_python.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_python.x64.dll +0 -0
- data/data/meterpreter/ext_server_python.x86.debug.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 +128 -16
- data/data/meterpreter/ext_server_stdapi.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_stdapi.x64.dll +0 -0
- data/data/meterpreter/ext_server_stdapi.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_stdapi.x86.dll +0 -0
- data/data/meterpreter/ext_server_unhook.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_unhook.x64.dll +0 -0
- data/data/meterpreter/ext_server_unhook.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_unhook.x86.dll +0 -0
- data/data/meterpreter/ext_server_winpmem.x64.debug.dll +0 -0
- data/data/meterpreter/ext_server_winpmem.x64.dll +0 -0
- data/data/meterpreter/ext_server_winpmem.x86.debug.dll +0 -0
- data/data/meterpreter/ext_server_winpmem.x86.dll +0 -0
- data/data/meterpreter/metsrv.x64.debug.dll +0 -0
- data/data/meterpreter/metsrv.x64.dll +0 -0
- data/data/meterpreter/metsrv.x86.debug.dll +0 -0
- data/data/meterpreter/metsrv.x86.dll +0 -0
- data/data/meterpreter/screenshot.x64.debug.dll +0 -0
- data/data/meterpreter/screenshot.x64.dll +0 -0
- data/data/meterpreter/screenshot.x86.debug.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: 453b3c01afd395af3790b8a9393781f8a90c372945a8b9b4fa597bff94ec47ee
|
4
|
+
data.tar.gz: 16129f118a5a4cee8b66e4a37b824ecf8e0aed43be918ea9b5ef0b9a566d58bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 263ccd130cdac66596843e65b9eac343be1bf554896eef1903a6180cf6955326b967a901b0fe7bef73a9e1f1435178d2d47e74aee1c7f4d247e565504726030b
|
7
|
+
data.tar.gz: 63b34db9fe29f7c6bd2d643b40b6a3fdc3963e994226235888de75da78e5d918caa911734b652dfea415a00f4211dede45180e02334fe8111644ba761e17bdc7
|
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
|
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
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import fnmatch
|
2
|
+
import functools
|
2
3
|
import getpass
|
3
4
|
import os
|
4
5
|
import platform
|
@@ -669,7 +670,11 @@ TLV_TYPE_TERMINAL_COLUMNS = TLV_META_TYPE_UINT | 2601
|
|
669
670
|
##
|
670
671
|
TLV_TYPE_IDLE_TIME = TLV_META_TYPE_UINT | 3000
|
671
672
|
TLV_TYPE_KEYS_DUMP = TLV_META_TYPE_STRING | 3001
|
672
|
-
|
673
|
+
|
674
|
+
TLV_TYPE_DESKTOP = TLV_META_TYPE_GROUP | 3004
|
675
|
+
TLV_TYPE_DESKTOP_SESSION = TLV_META_TYPE_UINT | 3005
|
676
|
+
TLV_TYPE_DESKTOP_STATION = TLV_META_TYPE_STRING | 3006
|
677
|
+
TLV_TYPE_DESKTOP_NAME = TLV_META_TYPE_STRING | 3007
|
673
678
|
|
674
679
|
##
|
675
680
|
# Event Log
|
@@ -744,6 +749,9 @@ VER_PLATFORM_WIN32s = 0x0000
|
|
744
749
|
VER_PLATFORM_WIN32_WINDOWS = 0x0001
|
745
750
|
VER_PLATFORM_WIN32_NT = 0x0002
|
746
751
|
|
752
|
+
# Windows Access Controls
|
753
|
+
MAXIMUM_ALLOWED = 0x02000000
|
754
|
+
|
747
755
|
WIN_AF_INET = 2
|
748
756
|
WIN_AF_INET6 = 23
|
749
757
|
|
@@ -1440,7 +1448,10 @@ def stdapi_sys_power_exitwindows(request, response):
|
|
1440
1448
|
@register_function_if(has_windll)
|
1441
1449
|
def stdapi_sys_eventlog_open(request, response):
|
1442
1450
|
source_name = packet_get_tlv(request, TLV_TYPE_EVENT_SOURCENAME)['value']
|
1443
|
-
|
1451
|
+
OpenEventLogA = ctypes.windll.advapi32.OpenEventLogA
|
1452
|
+
OpenEventLogA.argtypes = [ctypes.c_char_p, ctypes.c_char_p]
|
1453
|
+
OpenEventLogA.restype = ctypes.c_void_p
|
1454
|
+
handle = OpenEventLogA(None, bytes(source_name, 'UTF-8'))
|
1444
1455
|
if not handle:
|
1445
1456
|
return error_result_windows(), response
|
1446
1457
|
response += tlv_pack(TLV_TYPE_EVENT_HANDLE, handle)
|
@@ -1451,13 +1462,15 @@ def stdapi_sys_eventlog_read(request, response):
|
|
1451
1462
|
handle = packet_get_tlv(request, TLV_TYPE_EVENT_HANDLE)['value']
|
1452
1463
|
flags = packet_get_tlv(request, TLV_TYPE_EVENT_READFLAGS)['value']
|
1453
1464
|
offset = packet_get_tlv(request, TLV_TYPE_EVENT_RECORDOFFSET)['value']
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1457
|
-
|
1465
|
+
bytes_read = ctypes.c_uint32(0)
|
1466
|
+
bytes_needed = ctypes.c_uint32(0)
|
1467
|
+
ReadEventLogA = ctypes.windll.advapi32.ReadEventLogA
|
1468
|
+
ReadEventLogA.argtypes = [ctypes.c_void_p, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_void_p, ctypes.c_uint32, ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32)]
|
1469
|
+
ReadEventLogA.restype = ctypes.c_bool
|
1470
|
+
if ReadEventLogA(handle, flags, offset, ctypes.byref(bytes_read), 0, ctypes.byref(bytes_read), ctypes.byref(bytes_needed)):
|
1458
1471
|
return error_result_windows(), response
|
1459
|
-
buf = ctypes.
|
1460
|
-
if not
|
1472
|
+
buf = (ctypes.c_uint8 * bytes_needed.value)()
|
1473
|
+
if not ReadEventLogA(handle, flags, offset, buf, bytes_needed, ctypes.byref(bytes_read), ctypes.byref(bytes_needed)):
|
1461
1474
|
return error_result_windows(), response
|
1462
1475
|
record = ctstruct_unpack(EVENTLOGRECORD, buf)
|
1463
1476
|
response += tlv_pack(TLV_TYPE_EVENT_RECORDNUMBER, record.RecordNumber)
|
@@ -1466,8 +1479,9 @@ def stdapi_sys_eventlog_read(request, response):
|
|
1466
1479
|
response += tlv_pack(TLV_TYPE_EVENT_ID, record.EventID)
|
1467
1480
|
response += tlv_pack(TLV_TYPE_EVENT_TYPE, record.EventType)
|
1468
1481
|
response += tlv_pack(TLV_TYPE_EVENT_CATEGORY, record.EventCategory)
|
1469
|
-
response += tlv_pack(TLV_TYPE_EVENT_DATA, buf
|
1470
|
-
|
1482
|
+
response += tlv_pack(TLV_TYPE_EVENT_DATA, ctarray_to_bytes(buf[record.DataOffset:record.DataOffset + record.DataLength]))
|
1483
|
+
event_string_buf = (ctypes.c_uint8 * len(buf[record.StringOffset:]))(*buf[record.StringOffset:])
|
1484
|
+
event_strings = ctarray_to_bytes(event_string_buf).split(NULL_BYTE, record.NumStrings)[:record.NumStrings]
|
1471
1485
|
for event_string in event_strings:
|
1472
1486
|
response += tlv_pack(TLV_TYPE_EVENT_STRING, event_string)
|
1473
1487
|
return ERROR_SUCCESS, response
|
@@ -1475,14 +1489,20 @@ def stdapi_sys_eventlog_read(request, response):
|
|
1475
1489
|
@register_function_if(has_windll)
|
1476
1490
|
def stdapi_sys_eventlog_clear(request, response):
|
1477
1491
|
handle = packet_get_tlv(request, TLV_TYPE_EVENT_HANDLE)['value']
|
1478
|
-
|
1492
|
+
ClearEventLogA = ctypes.windll.advapi32.ClearEventLogA
|
1493
|
+
ClearEventLogA.argtypes = [ctypes.c_void_p, ctypes.c_char_p]
|
1494
|
+
ClearEventLogA.restype = ctypes.c_bool
|
1495
|
+
if not ClearEventLogA(handle, None):
|
1479
1496
|
return error_result_windows(), response
|
1480
1497
|
return ERROR_SUCCESS, response
|
1481
1498
|
|
1482
1499
|
@register_function_if(has_windll)
|
1483
1500
|
def stdapi_sys_eventlog_numrecords(request, response):
|
1484
1501
|
handle = packet_get_tlv(request, TLV_TYPE_EVENT_HANDLE)['value']
|
1485
|
-
total = ctypes.
|
1502
|
+
total = ctypes.c_uint32(0)
|
1503
|
+
GetNumberOfEventLogRecords = ctypes.windll.advapi32.GetNumberOfEventLogRecords
|
1504
|
+
GetNumberOfEventLogRecords.argtypes = [ctypes.c_void_p, ctypes.POINTER(ctypes.c_uint32)]
|
1505
|
+
GetNumberOfEventLogRecords.restype = ctypes.c_bool
|
1486
1506
|
if not ctypes.windll.advapi32.GetNumberOfEventLogRecords(handle, ctypes.byref(total)):
|
1487
1507
|
return error_result_windows(), response
|
1488
1508
|
response += tlv_pack(TLV_TYPE_EVENT_NUMRECORDS, total.value)
|
@@ -1491,16 +1511,22 @@ def stdapi_sys_eventlog_numrecords(request, response):
|
|
1491
1511
|
@register_function_if(has_windll)
|
1492
1512
|
def stdapi_sys_eventlog_oldest(request, response):
|
1493
1513
|
handle = packet_get_tlv(request, TLV_TYPE_EVENT_HANDLE)['value']
|
1494
|
-
|
1495
|
-
|
1514
|
+
GetOldestEventLogRecord = ctypes.windll.advapi32.GetOldestEventLogRecord
|
1515
|
+
GetOldestEventLogRecord.argtypes = [ctypes.c_void_p, ctypes.POINTER(ctypes.c_uint32)]
|
1516
|
+
GetOldestEventLogRecord.restype = ctypes.c_bool
|
1517
|
+
oldest = ctypes.c_uint32(0)
|
1518
|
+
if not GetOldestEventLogRecord(handle, ctypes.byref(oldest)):
|
1496
1519
|
return error_result_windows(), response
|
1497
|
-
response += tlv_pack(TLV_TYPE_EVENT_RECORDNUMBER, oldest)
|
1520
|
+
response += tlv_pack(TLV_TYPE_EVENT_RECORDNUMBER, oldest.value)
|
1498
1521
|
return ERROR_SUCCESS, response
|
1499
1522
|
|
1500
1523
|
@register_function_if(has_windll)
|
1501
1524
|
def stdapi_sys_eventlog_close(request, response):
|
1502
1525
|
handle = packet_get_tlv(request, TLV_TYPE_EVENT_HANDLE)['value']
|
1503
|
-
|
1526
|
+
CloseEventLog = ctypes.windll.advapi32.CloseEventLog
|
1527
|
+
CloseEventLog.argtypes = [ctypes.c_void_p]
|
1528
|
+
CloseEventLog.restype = ctypes.c_bool
|
1529
|
+
if not CloseEventLog(handle):
|
1504
1530
|
return error_result_windows(), response
|
1505
1531
|
return ERROR_SUCCESS, response
|
1506
1532
|
|
@@ -2755,6 +2781,92 @@ def stdapi_ui_get_idle_time(request, response):
|
|
2755
2781
|
response += tlv_pack(TLV_TYPE_IDLE_TIME, idle_time)
|
2756
2782
|
return ERROR_SUCCESS, response
|
2757
2783
|
|
2784
|
+
@register_function_if(has_windll)
|
2785
|
+
def stdapi_ui_desktop_enum(request, response):
|
2786
|
+
|
2787
|
+
response_parts = []
|
2788
|
+
if ctypes.sizeof(ctypes.c_long) == ctypes.sizeof(ctypes.c_void_p):
|
2789
|
+
LPARAM = ctypes.c_long
|
2790
|
+
elif ctypes.sizeof(ctypes.c_longlong) == ctypes.sizeof(ctypes.c_void_p):
|
2791
|
+
LPARAM = ctypes.c_longlong
|
2792
|
+
|
2793
|
+
DESKTOPENUMPROCA = ctypes.WINFUNCTYPE(ctypes.c_long, ctypes.c_char_p, LPARAM)
|
2794
|
+
EnumDesktopsA = ctypes.windll.user32.EnumDesktopsA
|
2795
|
+
EnumDesktopsA.argtypes = [ctypes.c_void_p, DESKTOPENUMPROCA, LPARAM]
|
2796
|
+
EnumDesktopsA.restype = ctypes.c_long
|
2797
|
+
|
2798
|
+
WINSTAENUMPROCA = ctypes.WINFUNCTYPE(ctypes.c_long, ctypes.c_char_p, LPARAM)
|
2799
|
+
EnumWindowStationsA = ctypes.windll.user32.EnumWindowStationsA
|
2800
|
+
EnumWindowStationsA.argtypes = [WINSTAENUMPROCA, LPARAM]
|
2801
|
+
EnumWindowStationsA.restype = ctypes.c_long
|
2802
|
+
|
2803
|
+
OpenWindowStationA = ctypes.windll.user32.OpenWindowStationA
|
2804
|
+
OpenWindowStationA.argtypes = [ctypes.c_char_p, ctypes.c_long, ctypes.c_bool]
|
2805
|
+
OpenWindowStationA.restype = ctypes.c_void_p
|
2806
|
+
|
2807
|
+
CloseWindowStation = ctypes.windll.user32.CloseWindowStation
|
2808
|
+
CloseWindowStation.argtypes = [ctypes.c_void_p]
|
2809
|
+
CloseWindowStation.restype = ctypes.c_long
|
2810
|
+
|
2811
|
+
GetCurrentProcessId = ctypes.windll.kernel32.GetCurrentProcessId
|
2812
|
+
GetCurrentProcessId.restype = ctypes.c_ulong
|
2813
|
+
|
2814
|
+
GetProcAddress = ctypes.windll.kernel32.GetProcAddress
|
2815
|
+
GetProcAddress.argtypes = [ctypes.c_void_p, ctypes.c_char_p]
|
2816
|
+
GetProcAddress.restype = ctypes.c_void_p
|
2817
|
+
|
2818
|
+
def get_session_id(pid):
|
2819
|
+
dwSessionId = ctypes.c_ulong(0)
|
2820
|
+
|
2821
|
+
ProcessIdToSessionId = ctypes.windll.kernel32.ProcessIdToSessionId
|
2822
|
+
ProcessIdToSessionId.argtypes = [ctypes.c_ulong, ctypes.POINTER(ctypes.c_ulong)]
|
2823
|
+
ProcessIdToSessionId.restype = ctypes.c_bool
|
2824
|
+
|
2825
|
+
if not ProcessIdToSessionId(ctypes.c_ulong(pid), ctypes.byref(dwSessionId)):
|
2826
|
+
dwSessionId = ctypes.c_ulong(-1)
|
2827
|
+
|
2828
|
+
return dwSessionId
|
2829
|
+
|
2830
|
+
|
2831
|
+
def desktop_enumdesktops_callback(response_parts, session_id, station_name, lpszDesktop, lParam):
|
2832
|
+
if not station_name or not lpszDesktop:
|
2833
|
+
return True
|
2834
|
+
|
2835
|
+
entry = bytes()
|
2836
|
+
entry += tlv_pack(TLV_TYPE_DESKTOP_SESSION, session_id)
|
2837
|
+
entry += tlv_pack(TLV_TYPE_DESKTOP_STATION, station_name)
|
2838
|
+
entry += tlv_pack(TLV_TYPE_DESKTOP_NAME, lpszDesktop.decode())
|
2839
|
+
|
2840
|
+
response_parts.append(tlv_pack(TLV_TYPE_DESKTOP, entry))
|
2841
|
+
|
2842
|
+
return True
|
2843
|
+
|
2844
|
+
@WINSTAENUMPROCA
|
2845
|
+
def desktop_enumstations_callback(lpszWindowStation, lParam):
|
2846
|
+
hWindowStation = OpenWindowStationA(lpszWindowStation, False, MAXIMUM_ALLOWED)
|
2847
|
+
if not hWindowStation:
|
2848
|
+
return True
|
2849
|
+
|
2850
|
+
callback = functools.partial(desktop_enumdesktops_callback, response_parts)
|
2851
|
+
session_id = get_session_id(GetCurrentProcessId()).value
|
2852
|
+
station_name = lpszWindowStation.decode()
|
2853
|
+
callback = functools.partial(desktop_enumdesktops_callback, response_parts, session_id, station_name)
|
2854
|
+
callback = DESKTOPENUMPROCA(callback)
|
2855
|
+
EnumDesktopsA(hWindowStation, callback, 0)
|
2856
|
+
|
2857
|
+
if hWindowStation:
|
2858
|
+
CloseWindowStation(hWindowStation)
|
2859
|
+
|
2860
|
+
return True
|
2861
|
+
|
2862
|
+
success = EnumWindowStationsA(desktop_enumstations_callback, 0)
|
2863
|
+
if not success:
|
2864
|
+
return error_result_windows(), response
|
2865
|
+
|
2866
|
+
response += bytes().join(response_parts)
|
2867
|
+
|
2868
|
+
return ERROR_SUCCESS, response
|
2869
|
+
|
2758
2870
|
@register_function_if(has_termios and has_fcntl)
|
2759
2871
|
def stdapi_sys_process_set_term_size(request, response):
|
2760
2872
|
channel_id = packet_get_tlv(request, TLV_TYPE_CHANNEL_ID)['value']
|
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
|
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.106
|
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:
|
99
|
+
date: 2023-01-12 00:00:00.000000000 Z
|
100
100
|
dependencies:
|
101
101
|
- !ruby/object:Gem::Dependency
|
102
102
|
name: rake
|
metadata.gz.sig
CHANGED
Binary file
|