rex-socket 0.1.54 → 0.1.56
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/cortex.yaml +15 -0
- data/lib/rex/socket/version.rb +1 -1
- data/lib/rex/socket.rb +85 -4
- data.tar.gz.sig +0 -0
- metadata +27 -85
- 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: 93a2eeaa43fcd931469e95e513127b480a2ba55dd7f8ada8986b076191c22ad9
|
4
|
+
data.tar.gz: '09dc66492bfdddd8227b015c51ba5f41b3bf263001f1564cf4ae2ef75b80b2f8'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e614ceccfda078dbdf7cf75e68c79f47b8a663752cfe84e49909b4b1c1545284a98fc22b1003181fcb773da5785bfb5fbaf79beb6c292caa0b38153399217592
|
7
|
+
data.tar.gz: 44b09208c1de7dfdfb93d1b6b44426466a229434ba7c1c9412e28847e1c00a1896b9e80da8c62ec6bff8f349f591faee37a6e2e93535c5110441989fc5c78094
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/cortex.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
info:
|
3
|
+
title: Rex Socket
|
4
|
+
description: The Rex Socket Abstraction Library
|
5
|
+
x-cortex-git:
|
6
|
+
github:
|
7
|
+
alias: r7org
|
8
|
+
repository: rapid7/rex-socket
|
9
|
+
x-cortex-tag: rex-socket
|
10
|
+
x-cortex-type: service
|
11
|
+
x-cortex-domain-parents:
|
12
|
+
- tag: metasploit
|
13
|
+
openapi: 3.0.1
|
14
|
+
servers:
|
15
|
+
- url: "/"
|
data/lib/rex/socket/version.rb
CHANGED
data/lib/rex/socket.rb
CHANGED
@@ -84,6 +84,9 @@ module Socket
|
|
84
84
|
# Common Regular Expressions
|
85
85
|
#
|
86
86
|
|
87
|
+
# see: https://debugpointer.com/regex/regex-for-dns-name
|
88
|
+
MATCH_DNS_NAME = /^(((?!-))(xn--)?([a-z0-9][a-z0-9\-]{0,59})?[a-z0-9]\.)*(xn--)?([a-z0-9\-]{1,61}|[a-z0-9-]{1,30}\.[a-z]{2,})$/i
|
89
|
+
|
87
90
|
MATCH_IPV6 = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/
|
88
91
|
|
89
92
|
MATCH_IPV4 = /^\s*(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))\s*$/
|
@@ -125,24 +128,33 @@ module Socket
|
|
125
128
|
# Cache our resolver
|
126
129
|
@@resolver = nil
|
127
130
|
|
131
|
+
#
|
132
|
+
# Determine whether this is a valid DNS name without trying to resolve it
|
133
|
+
#
|
134
|
+
def self.is_name?(name)
|
135
|
+
return false if name.length > 253
|
136
|
+
name =~ MATCH_DNS_NAME ? (name =~ /\s/).nil? : false
|
137
|
+
end
|
138
|
+
|
139
|
+
#
|
128
140
|
# Determine whether this is an IPv4 address
|
129
141
|
#
|
130
142
|
def self.is_ipv4?(addr)
|
131
|
-
addr =~ MATCH_IPV4 ?
|
143
|
+
addr =~ MATCH_IPV4 ? (addr =~ /\s/).nil? : false
|
132
144
|
end
|
133
145
|
|
134
146
|
#
|
135
147
|
# Determine whether this is an IPv6 address
|
136
148
|
#
|
137
149
|
def self.is_ipv6?(addr)
|
138
|
-
addr =~ MATCH_IPV6 ?
|
150
|
+
addr =~ MATCH_IPV6 ? (addr =~ /\s/).nil? : false
|
139
151
|
end
|
140
152
|
|
141
153
|
#
|
142
154
|
# Determine whether this is a MAC address
|
143
155
|
#
|
144
156
|
def self.is_mac_addr?(addr)
|
145
|
-
|
157
|
+
addr =~ MATCH_MAC_ADDR ? (addr =~ /\s/).nil? : false
|
146
158
|
end
|
147
159
|
|
148
160
|
#
|
@@ -157,7 +169,7 @@ module Socket
|
|
157
169
|
# Checks to see if the supplied address is in "dotted" form
|
158
170
|
#
|
159
171
|
def self.dotted_ip?(addr)
|
160
|
-
(support_ipv6? && addr
|
172
|
+
(support_ipv6? && self.is_ipv6?(addr)) || self.is_ipv4?(addr)
|
161
173
|
end
|
162
174
|
|
163
175
|
# Checks to see if an address is an IPv6 address and if so, converts it into its
|
@@ -258,6 +270,29 @@ module Socket
|
|
258
270
|
@@resolver ? self.rex_gethostbyname(host) : ::Socket.gethostbyname(host)
|
259
271
|
end
|
260
272
|
|
273
|
+
#
|
274
|
+
# Wrapper for Resolv::DNS.getresources which normalizes the return value to a
|
275
|
+
# list of hostnames regardless of the resource class.
|
276
|
+
#
|
277
|
+
# @param name [String] The name to lookup.
|
278
|
+
# @param typeclass [Symbol] The resource class to lookup, e.g. CNAME, MX, etc.
|
279
|
+
# @raises ArgumentError An argument error is raised when the typeclass is invalid.
|
280
|
+
# @return [Array<String>] The hostnames that were returned by the query.
|
281
|
+
def self.getresources(name, typeclass)
|
282
|
+
return self.rex_getresources(name, typeclass) if @@resolver
|
283
|
+
|
284
|
+
typeclass = typeclass.upcase
|
285
|
+
attribute = DNS_RESOURCE_ATTRIBUTE_NAMES[typeclass]
|
286
|
+
if attribute.nil?
|
287
|
+
raise ArgumentError, "Invalid typeclass: #{typeclass}"
|
288
|
+
end
|
289
|
+
const = Resolv::DNS::Resource::IN.const_get(typeclass)
|
290
|
+
|
291
|
+
dns = Resolv::DNS.new
|
292
|
+
resources = dns.getresources(name, const)
|
293
|
+
resources.map(&attribute).map(&:to_s)
|
294
|
+
end
|
295
|
+
|
261
296
|
#
|
262
297
|
# Create a sockaddr structure using the supplied IP address, port, and
|
263
298
|
# address family
|
@@ -963,6 +998,52 @@ protected
|
|
963
998
|
# Ensure response types (depending on underlying library used) provide required methods
|
964
999
|
return v4, v6
|
965
1000
|
end
|
1001
|
+
|
1002
|
+
def self.rex_getresources(name, typeclass, resolver: @@resolver)
|
1003
|
+
raise ::SocketError.new(
|
1004
|
+
"Rex::Socket internal DNS resolution requires passing/setting a resolver"
|
1005
|
+
) unless resolver
|
1006
|
+
raise ::SocketError.new(
|
1007
|
+
"Rex::Socket internal DNS resolution requires passing a String name to resolve"
|
1008
|
+
) unless name.is_a?(String)
|
1009
|
+
|
1010
|
+
typeclass = typeclass.upcase
|
1011
|
+
attribute = REX_DNS_RESOURCE_ATTRIBUTE_NAMES[typeclass]
|
1012
|
+
if attribute.nil?
|
1013
|
+
raise ArgumentError, "Invalid typeclass: #{typeclass}"
|
1014
|
+
end
|
1015
|
+
const = ::Net::DNS.const_get(typeclass)
|
1016
|
+
|
1017
|
+
resources = begin
|
1018
|
+
resolver.send(name, const).answer.select do |a|
|
1019
|
+
a.type == const
|
1020
|
+
end.map(&attribute).map(&:to_s)
|
1021
|
+
rescue
|
1022
|
+
[]
|
1023
|
+
end
|
1024
|
+
|
1025
|
+
resources
|
1026
|
+
end
|
1027
|
+
|
1028
|
+
DNS_RESOURCE_ATTRIBUTE_NAMES = {
|
1029
|
+
CNAME: :name,
|
1030
|
+
MX: :exchange,
|
1031
|
+
NS: :name,
|
1032
|
+
PTR: :name,
|
1033
|
+
SOA: :mname,
|
1034
|
+
SRV: :target
|
1035
|
+
}.freeze
|
1036
|
+
private_constant :DNS_RESOURCE_ATTRIBUTE_NAMES
|
1037
|
+
|
1038
|
+
REX_DNS_RESOURCE_ATTRIBUTE_NAMES = {
|
1039
|
+
CNAME: :domainname,
|
1040
|
+
MX: :exchange,
|
1041
|
+
NS: :domainname,
|
1042
|
+
PTR: :domainname,
|
1043
|
+
SOA: :mname,
|
1044
|
+
SRV: :target
|
1045
|
+
}.freeze
|
1046
|
+
private_constant :REX_DNS_RESOURCE_ATTRIBUTE_NAMES
|
966
1047
|
end
|
967
1048
|
|
968
1049
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rex-socket
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.56
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Metasploit Hackers
|
@@ -10,90 +10,31 @@ bindir: exe
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
+
|
13
|
+
MIIERDCCAqygAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBttc2Zk
|
14
|
+
ZXYvREM9bWV0YXNwbG9pdC9EQz1jb20wHhcNMjMxMDMwMTYwNDI1WhcNMjUxMDI5
|
15
|
+
MTYwNDI1WjAmMSQwIgYDVQQDDBttc2ZkZXYvREM9bWV0YXNwbG9pdC9EQz1jb20w
|
16
|
+
ggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZN/EKv+yVjwiKWvjAVhjF
|
17
|
+
aWNYI0E9bJ5d1qKd29omRYX9a+OOKBCu5+394fyF5RjwU4mYGr2iopX9ixRJrWXH
|
18
|
+
ojs70tEvV1CmvP9rhz7JKzQQoJOkinrz4d+StIylxVxVdgm7DeiB3ruTwvl7qKUv
|
19
|
+
piWzhrBFiVU6XIEAwq6wNEmnv2D+Omyf4h0Tf99hc6G0QmBnU3XydqvnZ+AzUbBV
|
20
|
+
24RH3+NQoigLbvK4M5aOeYhk19di58hznebOw6twHzNczshrBeMFQp985ScNgsvF
|
21
|
+
rL+7HNNwpcpngERwZfzDNn7iYN5X3cyvTcykShtsuPMa5zXsYo42LZrsTF87DW38
|
22
|
+
D8sxL6Dgdqu25Mltdw9m+iD4rHSfb1KJYEoNO+WwBJLO2Y4d6G1CR66tVeWsZspb
|
23
|
+
zneOVC+sDuil7hOm+6a7Y2yrrRyT6IfL/07DywjPAIRUp5+Jn8ZrkWRNo2AOwWBG
|
24
|
+
k5gz7SfJPHuyVnPlxoMA0MTFCUnnnbyHu882TGoJGgMCAwEAAaN9MHswCQYDVR0T
|
25
|
+
BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFIQfNa4E889ZE334cwU7eNu2hScH
|
26
|
+
MCAGA1UdEQQZMBeBFW1zZmRldkBtZXRhc3Bsb2l0LmNvbTAgBgNVHRIEGTAXgRVt
|
27
|
+
c2ZkZXZAbWV0YXNwbG9pdC5jb20wDQYJKoZIhvcNAQELBQADggGBAMfzvKcV27p7
|
28
|
+
pctmpW2JmIXLMrjNLyGJAxELH/t9pJueXdga7uj2fJkYQDbwGw5x4MGyFqhqJLH4
|
29
|
+
l/qsUF3PyAXDTSWLVaqXQVWO+IIHxecG0XjPXTNudzMU0hzqbqiBKvsW7/a3V5BP
|
30
|
+
SWlFzrFkoXWlPouFpoakyYMJjpW4SGdPzRv7pM4OhXtkXpHiRvx5985FrHgHlI89
|
31
|
+
NSIuIUbp8zqk4hP1i9MV0Lc/vTf2gOmo+RHnjqG1NiYfMCYyY/Mcd4W36kGOl468
|
32
|
+
I8VDTwgCufkAzFu7BJ5yCOueqtDcuq+d3YhAyU7NI4+Ja8EwazOnB+07sWhKpg7z
|
33
|
+
yuQ1mWYPmZfVQpoSVv1CvXsoqJYXVPBBLOacKKSj8ArVG6pPn9Bej7IOQdblaFjl
|
34
|
+
DgscAao7wB3xW2BWEp1KnaDWkf1x9ttgoBEYyuYwU7uatB67kBQG1PKvLt79wHvz
|
35
|
+
Dxs+KOjGbBRfMnPgVGYkORKVrZIwlaboHbDKxcVW5xv+oZc7KYXWGg==
|
33
36
|
-----END CERTIFICATE-----
|
34
|
-
-
|
35
|
-
-----BEGIN CERTIFICATE-----
|
36
|
-
MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
|
37
|
-
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
38
|
-
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
39
|
-
b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
|
40
|
-
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
41
|
-
cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
|
42
|
-
aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
|
43
|
-
Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
|
44
|
-
8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
|
45
|
-
wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
|
46
|
-
fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
|
47
|
-
jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
|
48
|
-
n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
|
49
|
-
HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
|
50
|
-
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
|
51
|
-
MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
|
52
|
-
RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
|
53
|
-
ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
|
54
|
-
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
|
55
|
-
TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
56
|
-
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
|
57
|
-
CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
|
58
|
-
MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
|
59
|
-
fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
|
60
|
-
RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
|
61
|
-
EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
|
62
|
-
L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
|
63
|
-
B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
|
64
|
-
-----END CERTIFICATE-----
|
65
|
-
- |
|
66
|
-
-----BEGIN CERTIFICATE-----
|
67
|
-
MIIFIzCCBAugAwIBAgIQCMePMbkSxvnPeJhYXIfaxzANBgkqhkiG9w0BAQsFADBy
|
68
|
-
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
69
|
-
d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
|
70
|
-
SUQgQ29kZSBTaWduaW5nIENBMB4XDTIwMTAwNzAwMDAwMFoXDTIzMTEwNjEyMDAw
|
71
|
-
MFowYDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNV
|
72
|
-
BAcTBkJvc3RvbjETMBEGA1UEChMKUmFwaWQ3IExMQzETMBEGA1UEAxMKUmFwaWQ3
|
73
|
-
IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNTz4zvAy7h/vQp
|
74
|
-
4dr1txXHlABAagkwYYwTMCtHs5PXsJITx/5SAjx5swuaLfze5kPBNF2YImvFlOXY
|
75
|
-
WaB+0PsOnXnaARsDZU683xFlj8izU6IN6VrAHzDLKFBzruJENrOJD/ikbEtbjO/q
|
76
|
-
gFbmS9J9v5ohG/pcRSS0t4ZPAwymf8eCp6QsvOKK/Aymp1RhlRaP8N6N5CIpkhz1
|
77
|
-
9p968iCE+DjOXVYxcWE+jE/7uB1dbgrXykNBujMSS3GULOvVEY28n6NCmrPlo23g
|
78
|
-
yRjYVJ2Vy14nBqnxDZ/yRIfWRVjWoT9TsAEbe9gY29oDpSCSs4wSmLQd5zGCpZ9h
|
79
|
-
r0HDFB8CAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
|
80
|
-
dQ5YMB0GA1UdDgQWBBTLBL7DTwumVEKtdCdpHVYMXOFeDzAOBgNVHQ8BAf8EBAMC
|
81
|
-
B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDov
|
82
|
-
L2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGG
|
83
|
-
L2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
|
84
|
-
MEwGA1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
85
|
-
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
|
86
|
-
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
|
87
|
-
AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
|
88
|
-
ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
|
89
|
-
BQADggEBAN+GL5/myPWg7oH4mVrG7/OhXF1MoYQF0ddaNiqaweEHMuKJBQCVZRbL
|
90
|
-
37HojoKXXv2yyRJBCeTB+ojrxX+5PdLVZa0ss7toWzJ2A1poPXZ1eZvm5xeFD32z
|
91
|
-
YQaTmmNWNI3PCDTyJ2PXUc+bDiNNwcZ7yc5o78UNRvp9Jxghya17Q76c9Ov9wvnv
|
92
|
-
dxxQKWGOQy0m4fBrkyjAyH9Djjn81RbQrqYgPuhd5nD0HjN3VUQLhQbIJrk9TVs0
|
93
|
-
EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
|
94
|
-
9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
|
95
|
-
-----END CERTIFICATE-----
|
96
|
-
date: 2023-09-13 00:00:00.000000000 Z
|
37
|
+
date: 2024-02-14 00:00:00.000000000 Z
|
97
38
|
dependencies:
|
98
39
|
- !ruby/object:Gem::Dependency
|
99
40
|
name: rake
|
@@ -157,6 +98,7 @@ files:
|
|
157
98
|
- Rakefile
|
158
99
|
- bin/console
|
159
100
|
- bin/setup
|
101
|
+
- cortex.yaml
|
160
102
|
- lib/rex/socket.rb
|
161
103
|
- lib/rex/socket/comm.rb
|
162
104
|
- lib/rex/socket/comm/local.rb
|
@@ -195,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
195
137
|
- !ruby/object:Gem::Version
|
196
138
|
version: '0'
|
197
139
|
requirements: []
|
198
|
-
rubygems_version: 3.
|
140
|
+
rubygems_version: 3.4.10
|
199
141
|
signing_key:
|
200
142
|
specification_version: 4
|
201
143
|
summary: The Ruby Exploitation (Rex) Socket Abstraction Library.
|
metadata.gz.sig
CHANGED
Binary file
|