pwn 0.4.462 → 0.4.463

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37d931b296420b63615c112480340d40f4acbdfb6bb256e913c455c8295c719c
4
- data.tar.gz: 55217d2337393257a470dd1fdc2db4ca06c51181aa58051d60c7abfdcee98c88
3
+ metadata.gz: a39a74b8bc26847795f54fdcbd7f48eb5a38c2587da0d233e74bd96a8267c9a9
4
+ data.tar.gz: fa37dda7a5e16dc6743da3930b5278d83077e2ba100d65566eef9fd39c373967
5
5
  SHA512:
6
- metadata.gz: 6a091c103a8fb6e5d57fa2016cde91ea6df3c3e48d6df55dc1e90aaab59c6c1a5ef22fa77b22560bf732dab9e7a74a7e4de8e00d83cbed203b9ed67ec322c7ea
7
- data.tar.gz: 621f3fadae40efe379949ea7f85cba3ed62b78740296daac6a08646468bade05c74b34da1399cb46a3c1f16c1c739a882e5d2d5b0f720d7c441987a780c06e87
6
+ metadata.gz: e08cddc2558b06ed364a65dd058f94d75f2b02241a8adf613818c992ad038e8bb5f23b30d59e8f9061a3d1538a817697eabf4985f484f4076827e4fbbbe28ddc
7
+ data.tar.gz: 2b098194d45038d7cc85ba1653a3aa85bb432de6049fcebbcc58575a982eb02b31c4757d425c984e60c88a07a6a62868c411ed52043d79dff649052e65a3c27f
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.462]:001 >>> PWN.help
40
+ pwn[v0.4.463]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.1.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.462]:001 >>> PWN.help
55
+ pwn[v0.4.463]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: false
3
+
4
+ require 'pwn'
5
+ require 'optparse'
6
+
7
+ opts = {}
8
+ OptionParser.new do |options|
9
+ options.banner = "USAGE:
10
+ #{$PROGRAM_NAME} [opts]
11
+ "
12
+
13
+ options.on('-dDEV', '--block-dev=DEV', '<Optional - MSR206 block device path (defaults to /dev/ttyUSB0)>') do |d|
14
+ opts[:block_dev] = d
15
+ end
16
+
17
+ options.on('-bBAUD', '--baud=DEV', '<Optional - (defaults to 9600)>') do |d|
18
+ opts[:block_dev] = d
19
+ end
20
+
21
+ options.on('-DDATABITS', '--data-bits=DATABITS', '<Optional - (defaults to 7)>') do |d|
22
+ opts[:block_dev] = d
23
+ end
24
+
25
+ options.on('-sSTOPBITS', '--stop-bits=STOPBITS', '<Optional - (defaults to 1)>') do |d|
26
+ opts[:block_dev] = d
27
+ end
28
+
29
+ options.on('-pPARITY', '--parity=PARITY', '<Optional - :even|:mark|:odd|:space|:none (defaults to :odd)>') do |d|
30
+ opts[:block_dev] = d
31
+ end
32
+
33
+ options.on('-fFLOW', '--flow-control=FLOW', '<Optional - :none||:hard||:soft (defaults to :none)>') do |d|
34
+ opts[:block_dev] = d
35
+ end
36
+ end.parse!
37
+
38
+ if opts.empty?
39
+ puts `#{$PROGRAM_NAME} --help`
40
+ exit 1
41
+ end
42
+
43
+ begin
44
+ block_dev = opts[:block_dev]
45
+ baud = opts[:baud]
46
+ data_bits = opts[:data_bits]
47
+ stop_bits = opts[:stop_bits]
48
+ parity = opts[:parity]
49
+ flow_control = opts[:flow_control]
50
+
51
+ msr206_obj = PWN::Plugins::MSR206.connect(
52
+ block_dev: block_dev,
53
+ baud: baud,
54
+ data_bits: data_bits,
55
+ stop_bits: stop_bits,
56
+ parity: parity,
57
+ flow_control: flow_control
58
+ )
59
+
60
+ serial_resp = PWN::Plugins::MSR206.exec(
61
+ msr206_obj: msr206_obj,
62
+ cmd: :simulate_power_cycle_warm_reset
63
+ )
64
+ rescue SystemExit, Interrupt
65
+ puts "\nGoodbye."
66
+ end
@@ -11,16 +11,18 @@ module PWN
11
11
  # baud: 'optional - (defaults to 9600)',
12
12
  # data_bits: 'optional - (defaults to 7)',
13
13
  # stop_bits: 'optional - (defaults to 1)',
14
- # parity: 'optional - (defaults to SerialPort::ODD)',
15
- # flow_control: 'optional - (defaults to SerialPort::HARD) SerialPort::NONE|SerialPort::SOFT|SerialPort::HARD'
14
+ # parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :odd),'
15
+ # flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
16
16
  # )
17
17
 
18
18
  public_class_method def self.connect(opts = {})
19
19
  # Default Baud Rate for this Device is 19200
20
+ opts[:block_dev] = '/dev/ttyUSB0' unless opts[:block_dev]
20
21
  opts[:baud] = 9_600 unless opts[:baud]
21
22
  opts[:data_bits] = 7 unless opts[:data_bits]
22
23
  opts[:stop_bits] = 1 unless opts[:stop_bits]
23
24
  opts[:parity] = :odd unless opts[:parity]
25
+ opts[:flow_control] = :none unless opts[:flow_control]
24
26
  msr206_obj = PWN::Plugins::Serial.connect(opts)
25
27
  rescue StandardError => e
26
28
  disconnect(msr206_obj: msr206_obj) unless msr206_obj.nil?
@@ -309,8 +311,8 @@ module PWN
309
311
  baud: 'optional (defaults to 9600)',
310
312
  data_bits: 'optional (defaults to 7)',
311
313
  stop_bits: 'optional (defaults to 1)',
312
- parity: 'optional (defaults to SerialPort::ODD)',
313
- flow_control: 'optional (defaults to SerialPort::NONE)'
314
+ parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :odd),'
315
+ flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
314
316
  )
315
317
 
316
318
  cmds = #{self}.list_cmds
@@ -16,8 +16,8 @@ module PWN
16
16
  # baud: 'optional - (defaults to 9600)',
17
17
  # data_bits: 'optional - (defaults to 8)',
18
18
  # stop_bits: 'optional - (defaults to 1)',
19
- # parity: 'optional - (defaults to SerialPort::NONE)',
20
- # flow_control: 'optional - (defaults to SerialPort::HARD) SerialPort::NONE|SerialPort::SOFT|SerialPort::HARD'
19
+ # parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :none)',
20
+ # flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
21
21
  # )
22
22
 
23
23
  public_class_method def self.connect(opts = {})
@@ -278,8 +278,8 @@ module PWN
278
278
  baud: 'optional (defaults to 9600)',
279
279
  data_bits: 'optional (defaults to 8)',
280
280
  stop_bits: 'optional (defaults to 1)',
281
- parity: 'optional (defaults to SerialPort::NONE)',
282
- flow_control: 'optional (defaults to SerialPort::NONE)'
281
+ parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :none)',
282
+ flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
283
283
  )
284
284
 
285
285
  line_state = #{self}.get_line_state(
@@ -11,16 +11,18 @@ module PWN
11
11
  # baud: 'optional - (defaults to 19_200)',
12
12
  # data_bits: 'optional - (defaults to 8)',
13
13
  # stop_bits: 'optional - (defaults to 1)',
14
- # parity: 'optional - (defaults to SerialPort::NONE)',
15
- # flow_control: 'optional - (defaults to SerialPort::HARD) SerialPort::NONE|SerialPort::SOFT|SerialPort::HARD'
14
+ # parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :none)',
15
+ # flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
16
16
  # )
17
17
 
18
18
  public_class_method def self.connect(opts = {})
19
19
  # Default Baud Rate for this Device is 19200
20
+ opts[:block_dev] = '/dev/ttyUSB0' unless opts[:block_dev]
20
21
  opts[:baud] = 19_200 unless opts[:baud]
21
22
  opts[:data_bits] = 8 unless opts[:data_bits]
22
23
  opts[:stop_bits] = 1 unless opts[:stop_bits]
23
24
  opts[:parity] = :none unless opts[:parity]
25
+ opts[:flow_control] = :none unless opts[:flow_control]
24
26
  son_micro_rfid_obj = PWN::Plugins::Serial.connect(opts)
25
27
  rescue StandardError => e
26
28
  disconnect(son_micro_rfid_obj: son_micro_rfid_obj) unless son_micro_rfid_obj.nil?
@@ -365,8 +367,8 @@ module PWN
365
367
  baud: 'optional (defaults to 19_200)',
366
368
  data_bits: 'optional (defaults to 8)',
367
369
  stop_bits: 'optional (defaults to 1)',
368
- parity: 'optional (defaults to SerialPort::NONE)',
369
- flow_control: 'optional (defaults to SerialPort::NONE)'
370
+ parity: 'optional - :even|:mark|:odd|:space|:none (defaults to :odd),'
371
+ flow_control: 'optional - :none||:hard||:soft (defaults to :none)'
370
372
  )
371
373
 
372
374
  cmds = #{self}.list_cmds
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.462'
4
+ VERSION = '0.4.463'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.462
4
+ version: 0.4.463
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -1016,6 +1016,7 @@ executables:
1016
1016
  - pwn_perimeter_recon
1017
1017
  - pwn_sast
1018
1018
  - pwn_serial_check_voicemail
1019
+ - pwn_serial_msr206
1019
1020
  - pwn_serial_qualcomm_commands
1020
1021
  - pwn_simple_http_server
1021
1022
  - pwn_web_cache_deception
@@ -1075,6 +1076,7 @@ files:
1075
1076
  - bin/pwn_perimeter_recon
1076
1077
  - bin/pwn_sast
1077
1078
  - bin/pwn_serial_check_voicemail
1079
+ - bin/pwn_serial_msr206
1078
1080
  - bin/pwn_serial_qualcomm_commands
1079
1081
  - bin/pwn_simple_http_server
1080
1082
  - bin/pwn_web_cache_deception