pwn 0.4.462 → 0.4.463

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: 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