pwn 0.4.487 → 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: a8275849f0580603d4fd9fde6951b86df8b3402f709d932085a334a166b35a37
4
- data.tar.gz: f70b5b7431255125ebe094d559ac4dae9a206cda3f660df378c7b90bc4180405
3
+ metadata.gz: 15d29158b123c66d9e1296fd9481d0d4fba8359f7a7bb0f2e3f9909011210ed9
4
+ data.tar.gz: 38c27e0551885ad950c731beee8ef027ee627bc08d4e402038fdf0b1fee1b2d6
5
5
  SHA512:
6
- metadata.gz: 9bc7bfca7e00b4f2848cd3b588861e848eb6a99bd8b336a7967f1d9654513323c8c397f159f510742df2ca4b1ab075683977f092dde381a636753301afa234da
7
- data.tar.gz: db6cb40d71f2d7050806759627da5431a0a34de6cd7c3656c0079a5a5fb72aa48dc46f755b05a010268ef79ca75e173b1e2f6aea77856283310c79cd677f9222
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.487]: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.487]: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[:raw_resp].join}"
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,12 +171,10 @@ module PWN
172
171
 
173
172
  # puts "\nALL CMD RESPS >>>"
174
173
  # puts "#{all_cmd_responses}\n\n\n"
175
-
176
174
  parsed_cmd_resp_hash = {}
177
- parsed_cmd_resp_hash[:raw_resp] = PWN::Plugins::Serial.dump_session_data.inspect
178
- parsed_cmd_resp_hash[:hex_resp] = cmd_resp
179
175
  parsed_cmd_resp_hash[:cmd_hex] = cmd_hex
180
176
  parsed_cmd_resp_hash[:cmd_desc] = cmd.to_sym
177
+ parsed_cmd_resp_hash[:hex_resp] = cmd_resp
181
178
  resp_code = '?'
182
179
 
183
180
  # TODO: Detect EMV
@@ -343,13 +340,13 @@ module PWN
343
340
 
344
341
  public_class_method def self.read_card(opts = {})
345
342
  son_micro_rfid_obj = opts[:son_micro_rfid_obj]
346
- print 'Ready to Read. Please Scan Card Now:'
343
+ print 'Reader Activated. Please Scan Card...'
347
344
  exec_resp = exec(
348
345
  son_micro_rfid_obj: son_micro_rfid_obj,
349
346
  cmd: :seek_for_tag
350
347
  )
351
348
 
352
- rfid_data = exec_resp.first
349
+ rfid_data = exec_resp.last
353
350
  puts "#{rfid_data[:resp_code_desc]} >>> #{rfid_data[:tag_id]}"
354
351
 
355
352
  rfid_data
@@ -394,6 +391,7 @@ module PWN
394
391
  end
395
392
  File.write(file, "#{JSON.pretty_generate(rfid_data)}\n")
396
393
 
394
+ puts 'complete.'
397
395
  rfid_data
398
396
  rescue StandardError => e
399
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.487'
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.487
4
+ version: 0.4.490
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.