pwn 0.4.489 → 0.4.490

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: c225d1768addca6bad724d035815407ee5226c76cc5e1fe84e453d5a56efd14c
4
- data.tar.gz: e4d11d33643b041ea9908e91aa4b0a9a17ce2d4362c75be5d346c77e15bade04
3
+ metadata.gz: 15d29158b123c66d9e1296fd9481d0d4fba8359f7a7bb0f2e3f9909011210ed9
4
+ data.tar.gz: 38c27e0551885ad950c731beee8ef027ee627bc08d4e402038fdf0b1fee1b2d6
5
5
  SHA512:
6
- metadata.gz: fc3a84802dfcdfd3949af1e74ce2dafae154ecb474047858a4227563d822b9dba0877d81dd7cd13a7f29f5dbce9a7913acbc1229887b8594d26b583aeb7d63d4
7
- data.tar.gz: f0ed48c44e360c31b20fd53488793043940ba5521f621edf8ee75fa5fe8b955f06d5f0a646f1971869726bd414db292b67460792fd715872c5cc3becd43c37e5
6
+ metadata.gz: 6f397c5cc1a69cb74c51f54742e751cb53c920bb0ff5c8a3bc3ae2cdbf5c5e279a3022110634d9a8d98b696cebba80f35294aded033e99e550cd6dfc4c3e2468
7
+ data.tar.gz: 16a7444fc815af7a527363779b53affa8e5d9243e27b7d0c9c4ed6d9719efe8f2fc088de720201466cae574cb58d65caa93d427da5824192b2422f8429e31bf4
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.489]:001 >>> PWN.help
40
+ pwn[v0.4.490]: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.489]:001 >>> PWN.help
55
+ pwn[v0.4.490]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -67,7 +67,13 @@ begin
67
67
  son_micro_rfid_obj: son_micro_rfid_obj,
68
68
  cmd: :firmware
69
69
  )
70
- puts "Firmware Version: #{exec_resp.first[:decoded_resp]}"
70
+
71
+ firmware_decoded = ''
72
+ exec_resp.last[:hex_resp].split.each do |byte_str|
73
+ firmware_decoded += [byte_str].pack('H*')
74
+ end
75
+
76
+ puts "Firmware Version: #{firmware_decoded.scrub.strip.chomp}"
71
77
 
72
78
  # Main Menu
73
79
  menu_msg = ''
@@ -615,7 +615,7 @@ module PWN
615
615
  )
616
616
  puts exec_resp.inspect
617
617
 
618
- print 'Ready to Read. Please Swipe Card Now:'
618
+ print 'Reader Activated. Please Swipe Card...'
619
619
  loop do
620
620
  exec_resp = parse_responses(
621
621
  msr206_obj: msr206_obj,
@@ -813,7 +813,7 @@ module PWN
813
813
  )
814
814
  puts exec_resp.inspect
815
815
 
816
- print 'Ready to Write. Please Swipe Card Now:'
816
+ print 'Writer Activated. Please Swipe Card...'
817
817
  loop do
818
818
  exec_resp = parse_responses(
819
819
  msr206_obj: msr206_obj,
@@ -923,6 +923,8 @@ module PWN
923
923
  cmd: :yellow_off
924
924
  )
925
925
 
926
+ puts 'complete.'
927
+
926
928
  track_data
927
929
  rescue StandardError => e
928
930
  raise e
@@ -1017,7 +1019,6 @@ module PWN
1017
1019
  )
1018
1020
 
1019
1021
  encoding = track_data.first[:encoding] if track_data.length == 3
1020
- # TODO: Save Original Card Contents
1021
1022
  write_card(
1022
1023
  msr206_obj: msr206_obj,
1023
1024
  encoding: encoding,
@@ -1061,6 +1062,7 @@ module PWN
1061
1062
  )
1062
1063
  end
1063
1064
 
1065
+ # Read Card from Backup
1064
1066
  track_data = JSON.parse(
1065
1067
  File.read(file),
1066
1068
  symbolize_names: true
@@ -1071,10 +1073,7 @@ module PWN
1071
1073
  cmd: :yellow_off
1072
1074
  )
1073
1075
 
1074
- # Read Card from Backup
1075
1076
  encoding = track_data.first[:encoding] if track_data.length == 3
1076
-
1077
- # TODO: Save Original Card Contents
1078
1077
  write_card(
1079
1078
  msr206_obj: msr206_obj,
1080
1079
  encoding: encoding,
@@ -149,7 +149,6 @@ module PWN
149
149
  end
150
150
  next_response_detected = false
151
151
  last_a_cmd_r_len = a_cmd_r_len
152
- print "\n"
153
152
 
154
153
  # Third byte
155
154
  expected_cmd_resp_byte_len = cmd_resp.split[2].to_i(16) + 4
@@ -172,17 +171,10 @@ module PWN
172
171
 
173
172
  # puts "\nALL CMD RESPS >>>"
174
173
  # puts "#{all_cmd_responses}\n\n\n"
175
- decoded = ''
176
- cmd_resp.split.each do |byte_str|
177
- decoded += [byte_str].pack('H*')
178
- end
179
-
180
174
  parsed_cmd_resp_hash = {}
181
- parsed_cmd_resp_hash[:raw_resp] = PWN::Plugins::Serial.dump_session_data.inspect
182
- parsed_cmd_resp_hash[:hex_resp] = cmd_resp
183
- parsed_cmd_resp_hash[:decoded_resp] = decoded.to_s.scrub.strip.chomp
184
175
  parsed_cmd_resp_hash[:cmd_hex] = cmd_hex
185
176
  parsed_cmd_resp_hash[:cmd_desc] = cmd.to_sym
177
+ parsed_cmd_resp_hash[:hex_resp] = cmd_resp
186
178
  resp_code = '?'
187
179
 
188
180
  # TODO: Detect EMV
@@ -348,7 +340,7 @@ module PWN
348
340
 
349
341
  public_class_method def self.read_card(opts = {})
350
342
  son_micro_rfid_obj = opts[:son_micro_rfid_obj]
351
- print 'Ready to Read. Please Scan Card Now:'
343
+ print 'Reader Activated. Please Scan Card...'
352
344
  exec_resp = exec(
353
345
  son_micro_rfid_obj: son_micro_rfid_obj,
354
346
  cmd: :seek_for_tag
@@ -399,6 +391,7 @@ module PWN
399
391
  end
400
392
  File.write(file, "#{JSON.pretty_generate(rfid_data)}\n")
401
393
 
394
+ puts 'complete.'
402
395
  rfid_data
403
396
  rescue StandardError => e
404
397
  raise e
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.489'
4
+ VERSION = '0.4.490'
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.489
4
+ version: 0.4.490
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.