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 +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
|
[![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.
|
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