pwn 0.4.480 → 0.4.481

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: 1745701a8f5d6aaca6159fc1a05fbc82fe547bc7e410215af1b69ca013d4e98d
4
- data.tar.gz: de67baa326728cbf3add2ef72498263fbf8d813e079e42e0c0af166a27b2a492
3
+ metadata.gz: 9982a0cc0ec0ac9abb6f30e3bdb8cfb48328e69683ca48824381133ad235edf1
4
+ data.tar.gz: e0d25785cb24747d2593e622c3338fd37d27bc711bc18577cecd16b71d9ad48a
5
5
  SHA512:
6
- metadata.gz: e06d7f528cdadd19f7941bae1682dff378a39388425caa5d29cabe0a3e297b1ce89678a31d1c5a0917c8af194e9bc0eaa0164e6c2fbea167f47d6f6911d1e893
7
- data.tar.gz: 64385168c97cada272ce1e3049367901952090070513a6d0e6196d6b9be0a2e2b4aeacfc58833c47a62653b1b9e5f4a1cdee33fcbf25890435010a962ace48fc
6
+ metadata.gz: f956e5a528a46aafdc929ff4cc6836423b510d6103bf985193491b1a9c08d69c34da582a1f2aa172d9d9265def2789927f623d9d37b117670242f1f03b613c3a
7
+ data.tar.gz: 26c61de702fb0f1e6047afb53ba36f64f83c331c78553d7c038134a7891d66c682454074207f7a8516e221e66f281d7a0c1a596ae1fc2239171abc02ba076ef3
data/Gemfile CHANGED
@@ -33,7 +33,7 @@ gem 'ipaddress', '0.8.3'
33
33
  gem 'js-beautify', '0.1.8'
34
34
  gem 'json', '2.6.2'
35
35
  gem 'jsonpath', '1.1.2'
36
- gem 'jwt', '2.4.0'
36
+ gem 'jwt', '2.4.1'
37
37
  gem 'luhn', '1.0.2'
38
38
  gem 'mail', '2.7.1'
39
39
  gem 'mongo', '2.17.1'
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.480]:001 >>> PWN.help
40
+ pwn[v0.4.481]: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.480]:001 >>> PWN.help
55
+ pwn[v0.4.481]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -662,6 +662,7 @@ module PWN
662
662
  params: [param]
663
663
  )
664
664
  exec_resp[:encoding] = encoding
665
+ exec_resp[:track_format] = [param]
665
666
  puts exec_resp[:decoded]
666
667
  puts exec_resp.inspect
667
668
  track_data_arr.push(exec_resp)
@@ -687,17 +688,20 @@ module PWN
687
688
  params: [param]
688
689
  )
689
690
  exec_resp[:encoding] = encoding
691
+ exec_resp[:track_format] = [param]
690
692
  puts exec_resp[:decoded]
691
693
  puts exec_resp.inspect
692
694
  track_data_arr.push(exec_resp)
693
695
 
694
696
  # 3 byte command
697
+ param = [0x5f] + [param]
695
698
  exec_resp = exec(
696
699
  msr206_obj: msr206_obj,
697
700
  cmd: cmd,
698
- params: [0x5f] + [param]
701
+ params: param
699
702
  )
700
703
  exec_resp[:encoding] = encoding
704
+ exec_resp[:track_format] = param
701
705
  puts exec_resp[:decoded]
702
706
  puts exec_resp.inspect
703
707
  track_data_arr.push(exec_resp)
@@ -708,6 +712,9 @@ module PWN
708
712
  :arm_to_write_with_raw,
709
713
  :arm_to_write_with_raw_speed_prompts
710
714
 
715
+ # TODO: Set Write Density for Tracks Here
716
+ # >>>
717
+
711
718
  if encoding == :iso
712
719
  cmds_arr = %i[
713
720
  load_iso_std_data_for_writing_track1
@@ -715,6 +722,37 @@ module PWN
715
722
  load_iso_std_data_for_writing_track3
716
723
  ]
717
724
 
725
+ # TODO: Get Data by cmd (e.g. load_iso_std_data_for_writing_track1)
726
+ cmds_arr.each_with_index do |cmd, track|
727
+ puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
728
+ puts track_data[track][:decoded]
729
+ next if track_data[track][:decoded] == '+'
730
+
731
+ this_track = track_data[track][:decoded].chars.map do |c|
732
+ c.unpack1('H*').to_i(16)
733
+ end
734
+ track_eot = [0x04]
735
+ track_payload = this_track + track_eot
736
+ puts track_payload.inspect
737
+ exec_resp = exec(
738
+ msr206_obj: msr206_obj,
739
+ cmd: cmd,
740
+ params: track_payload
741
+ )
742
+ exec_resp[:encoding] = encoding
743
+ puts exec_resp.inspect
744
+ track_data_arr.push(exec_resp)
745
+ end
746
+ end
747
+
748
+ if encoding == :iso_alt
749
+ cmds_arr = %i[
750
+ alt_load_iso_std_data_for_writing_track1
751
+ alt_load_iso_std_data_for_writing_track2
752
+ alt_load_iso_std_data_for_writing_track3
753
+ ]
754
+
755
+ # TODO: Get Data by cmd (e.g. alt_load_iso_std_data_for_writing_track1)
718
756
  cmds_arr.each_with_index do |cmd, track|
719
757
  puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
720
758
  puts track_data[track][:decoded]
@@ -723,12 +761,14 @@ module PWN
723
761
  this_track = track_data[track][:decoded].chars.map do |c|
724
762
  c.unpack1('H*').to_i(16)
725
763
  end
726
- this_track_w_eot = this_track + [0x04]
727
- puts this_track_w_eot.inspect
764
+ track_format = track_data[track][:track_format]
765
+ track_eot = [0x04]
766
+ track_payload = track_format + this_track + track_eot
767
+ puts track_payload.inspect
728
768
  exec_resp = exec(
729
769
  msr206_obj: msr206_obj,
730
770
  cmd: cmd,
731
- params: this_track_w_eot
771
+ params: track_payload
732
772
  )
733
773
  exec_resp[:encoding] = encoding
734
774
  puts exec_resp.inspect
@@ -736,45 +776,36 @@ module PWN
736
776
  end
737
777
  end
738
778
 
739
- # if encoding == :iso_alt
740
- # cmds_arr = %i[
741
- # alt_load_iso_std_data_for_writing_track1
742
- # alt_load_iso_std_data_for_writing_track2
743
- # alt_load_iso_std_data_for_writing_track3
744
- # ]
745
-
746
- # cmds_arr.each do |cmd|
747
- # puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
748
- # exec_resp = exec(
749
- # msr206_obj: msr206_obj,
750
- # cmd: cmd
751
- # )
752
- # exec_resp[:encoding] = encoding
753
- # puts exec_resp[:decoded]
754
- # puts exec_resp.inspect
755
- # track_data_arr.push(exec_resp)
756
- # end
757
- # end
758
-
759
- # if encoding == :raw
760
- # cmds_arr = %i[
761
- # load_custom_data_for_writing_track1
762
- # load_custom_data_for_writing_track2
763
- # load_custom_data_for_writing_track3
764
- # ]
765
-
766
- # cmds_arr.each do |cmd|
767
- # puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
768
- # exec_resp = exec(
769
- # msr206_obj: msr206_obj,
770
- # cmd: cmd
771
- # )
772
- # exec_resp[:encoding] = encoding
773
- # puts exec_resp[:decoded]
774
- # puts exec_resp.inspect
775
- # track_data_arr.push(exec_resp)
776
- # end
777
- # end
779
+ if encoding == :raw
780
+ cmds_arr = %i[
781
+ load_custom_data_for_writing_track1
782
+ load_custom_data_for_writing_track2
783
+ load_custom_data_for_writing_track3
784
+ ]
785
+
786
+ # TODO: Get Data by cmd (e.g. load_custom_data_for_writing_track1)
787
+ cmds_arr.each_with_index do |cmd, track|
788
+ puts "\n*** #{cmd.to_s.gsub('_', ' ').upcase} #{'*' * 17}"
789
+ puts track_data[track][:decoded]
790
+ next if track_data[track][:decoded] == '+'
791
+
792
+ this_track = track_data[track][:decoded].chars.map do |c|
793
+ c.unpack1('H*').to_i(16)
794
+ end
795
+ track_format = track_data[track][:track_format]
796
+ track_eot = [0x04]
797
+ track_payload = track_format + this_track + track_eot
798
+ puts track_payload.inspect
799
+ exec_resp = exec(
800
+ msr206_obj: msr206_obj,
801
+ cmd: cmd,
802
+ params: track_payload
803
+ )
804
+ exec_resp[:encoding] = encoding
805
+ puts exec_resp.inspect
806
+ track_data_arr.push(exec_resp)
807
+ end
808
+ end
778
809
 
779
810
  exec_resp = PWN::Plugins::MSR206.exec(
780
811
  msr206_obj: msr206_obj,
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.480'
4
+ VERSION = '0.4.481'
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.480
4
+ version: 0.4.481
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -310,14 +310,14 @@ dependencies:
310
310
  requirements:
311
311
  - - '='
312
312
  - !ruby/object:Gem::Version
313
- version: 2.4.0
313
+ version: 2.4.1
314
314
  type: :runtime
315
315
  prerelease: false
316
316
  version_requirements: !ruby/object:Gem::Requirement
317
317
  requirements:
318
318
  - - '='
319
319
  - !ruby/object:Gem::Version
320
- version: 2.4.0
320
+ version: 2.4.1
321
321
  - !ruby/object:Gem::Dependency
322
322
  name: luhn
323
323
  requirement: !ruby/object:Gem::Requirement