pwn 0.4.480 → 0.4.481

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