pwn 0.4.489 → 0.4.490
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 +4 -4
- data/README.md +2 -2
- data/bin/pwn_serial_son_micro_sm132_rfid +7 -1
- data/lib/pwn/plugins/msr206.rb +5 -6
- data/lib/pwn/plugins/son_micro_rfid.rb +3 -10
- data/lib/pwn/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15d29158b123c66d9e1296fd9481d0d4fba8359f7a7bb0f2e3f9909011210ed9
|
4
|
+
data.tar.gz: 38c27e0551885ad950c731beee8ef027ee627bc08d4e402038fdf0b1fee1b2d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
40
|
+
pwn[v0.4.490]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[](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.
|
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
|
-
|
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 = ''
|
data/lib/pwn/plugins/msr206.rb
CHANGED
@@ -615,7 +615,7 @@ module PWN
|
|
615
615
|
)
|
616
616
|
puts exec_resp.inspect
|
617
617
|
|
618
|
-
print '
|
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 '
|
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 '
|
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