Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rapid7
GitHub Repository: rapid7/metasploit-framework
Path: blob/master/spec/support/acceptance/command_shell/python_ssl.rb
70334 views
1
# frozen_string_literal: true
2
3
module Acceptance::Session
4
PYTHON_SSL_IMAGE = 'public.ecr.aws/n5b4u6h0/zerosteiner/pyenv@sha256:e686265001ee43333f14c896d8362970e816c5a7c661a6fa7e37a90770c9108a'
5
PYTHON_SSL_CONTAINER_CMD = '$(command -v podman || command -v docker)'
6
7
PYTHON_SSL_MODULE_TESTS = [
8
{
9
name: 'post/test/unix',
10
platforms: [
11
:linux,
12
:osx,
13
[
14
:windows,
15
{
16
skip: true,
17
reason: 'Unix only test'
18
}
19
]
20
],
21
skipped: false,
22
lines: {
23
linux: { known_failures: [] },
24
osx: { known_failures: [] },
25
windows: { known_failures: [] }
26
}
27
}
28
].freeze
29
30
def self.python_ssl_config(pyenv_version)
31
image = PYTHON_SSL_IMAGE
32
runtime = PYTHON_SSL_CONTAINER_CMD
33
34
{
35
payloads: [
36
{
37
name: 'python/shell_reverse_tcp_ssl',
38
extension: '.py',
39
platforms: [:linux],
40
execute_cmd: [
41
'bash', '-c',
42
"#{runtime} run --rm --network host -v \${payload_path}:\${payload_path}:Z -e PYENV_VERSION=#{pyenv_version} #{image} python \${payload_path}"
43
],
44
generate_options: {
45
'-f': 'raw'
46
},
47
datastore: {
48
global: {},
49
module: {}
50
}
51
},
52
{
53
name: 'cmd/unix/reverse_python_ssl',
54
extension: '.sh',
55
platforms: [:linux],
56
execute_cmd: [
57
'bash', '-c',
58
"#{runtime} run --rm --network host -v \${payload_path}:\${payload_path}:Z -e PYENV_VERSION=#{pyenv_version} #{image} sh \${payload_path}"
59
],
60
generate_options: {
61
'-f': 'raw'
62
},
63
datastore: {
64
global: {},
65
module: {}
66
}
67
}
68
],
69
module_tests: PYTHON_SSL_MODULE_TESTS
70
}
71
end
72
73
PYTHON_SSL_2_6 = python_ssl_config('2.6.9-no-pip')
74
PYTHON_SSL_2_7 = python_ssl_config('2.7.18')
75
PYTHON_SSL_3_4 = python_ssl_config('3.4.10')
76
PYTHON_SSL_3_13 = python_ssl_config('3.13.7')
77
end
78
79