pwn 0.4.996 → 0.4.998
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/Gemfile +2 -2
- data/README.md +3 -3
- data/lib/pwn/plugins/xxd.rb +20 -27
- data/lib/pwn/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cac940079d0b92c64a2840ddbf5047054bd9fae459a8e2116718a459d38c89a8
|
|
4
|
+
data.tar.gz: a406df38b12ddbe4fff9c38595acfee3283fa07dbe36358d2fc94ce81f19b2ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9c1510fac2f278c898a2cdfbda33d08299aa9e806dae7d0a8caf3fe728719b183c01732cb6b5a2dc0844d55a2b483bcbb109361ffd0c971f3f9d519d18c3bab6
|
|
7
|
+
data.tar.gz: 9d222ef5f74c0b16561222412917dffab7728191e09c065e9f39f85d62ba6aba1829b154de566ffbb7b5c6fa35db8b1d2b6767055a6e2af6438bc9f6060990d4
|
data/Gemfile
CHANGED
|
@@ -52,7 +52,7 @@ gem 'net-openvpn', '0.8.7'
|
|
|
52
52
|
gem 'net-smtp', '0.4.0.1'
|
|
53
53
|
gem 'nexpose', '7.3.0'
|
|
54
54
|
gem 'nokogiri', '1.16.0'
|
|
55
|
-
gem 'nokogiri-diff', '0.
|
|
55
|
+
gem 'nokogiri-diff', '0.3.0'
|
|
56
56
|
gem 'oily_png', '1.2.1'
|
|
57
57
|
gem 'open3', '0.2.1'
|
|
58
58
|
gem 'os', '1.1.4'
|
|
@@ -76,7 +76,7 @@ gem 'rubocop', '1.60.2'
|
|
|
76
76
|
gem 'rubocop-rake', '0.6.0'
|
|
77
77
|
gem 'rubocop-rspec', '2.26.1'
|
|
78
78
|
gem 'ruby-audio', '1.6.1'
|
|
79
|
-
gem 'ruby-nmap', '1.0.
|
|
79
|
+
gem 'ruby-nmap', '1.0.3'
|
|
80
80
|
gem 'ruby-saml', '1.16.0'
|
|
81
81
|
gem 'rvm', '1.11.3.9'
|
|
82
82
|
gem 'savon', '2.14.0'
|
data/README.md
CHANGED
|
@@ -37,7 +37,7 @@ $ cd /opt/pwn
|
|
|
37
37
|
$ ./install.sh
|
|
38
38
|
$ ./install.sh ruby-gem
|
|
39
39
|
$ pwn
|
|
40
|
-
pwn[v0.4.
|
|
40
|
+
pwn[v0.4.998]:001 >>> PWN.help
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
[](https://youtu.be/G7iLUY4FzsI)
|
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.3.0@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.998]:001 >>> PWN.help
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
If you're using a multi-user install of RVM do:
|
|
@@ -62,7 +62,7 @@ $ rvm use ruby-3.3.0@pwn
|
|
|
62
62
|
$ rvmsudo gem uninstall --all --executables pwn
|
|
63
63
|
$ rvmsudo gem install --verbose pwn
|
|
64
64
|
$ pwn
|
|
65
|
-
pwn[v0.4.
|
|
65
|
+
pwn[v0.4.998]:001 >>> PWN.help
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
|
data/lib/pwn/plugins/xxd.rb
CHANGED
|
@@ -5,7 +5,7 @@ module PWN
|
|
|
5
5
|
# This module provides the abilty to dump binaries in hex format
|
|
6
6
|
module XXD
|
|
7
7
|
# Supported Method Parameters::
|
|
8
|
-
# PWN::Plugins::XXD.dump(
|
|
8
|
+
# hexdump = PWN::Plugins::XXD.dump(
|
|
9
9
|
# file: 'required - path to binary file to dump',
|
|
10
10
|
# hashed: 'optional - return hexdump as hash instead of string (default: false)'
|
|
11
11
|
# )
|
|
@@ -33,28 +33,20 @@ module PWN
|
|
|
33
33
|
io.write(fmt_row)
|
|
34
34
|
|
|
35
35
|
if hashed
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
# TODO: address last line if the hashed_hexdump[this_key][:hex] length is less than 8
|
|
51
|
-
if hhh_len > 8
|
|
52
|
-
mov_to_ascii = (hhh_len - 8) * -1
|
|
53
|
-
last_ascii = hashed_hexdump[this_key][:ascii]
|
|
54
|
-
hashed_hexdump[this_key][:hex][-1] = "#{hashed_hexdump[this_key][:hex].last}\s"
|
|
55
|
-
hashed_hexdump[this_key][:hex][8] = "\s#{hashed_hexdump[this_key][:hex][8]}"
|
|
56
|
-
hashed_hexdump[this_key][:ascii] = "#{hashed_hexdump[this_key][:hex][mov_to_ascii..-1].join(' ')}#{last_ascii}"
|
|
57
|
-
hashed_hexdump[this_key][:hex] = hashed_hexdump[this_key][:hex][0..7]
|
|
36
|
+
this_key = fmt_row.chars[0..7].join
|
|
37
|
+
if fmt_row.length == 68
|
|
38
|
+
hashed_hexdump[this_key] = {
|
|
39
|
+
hex: fmt_row.chars[10..48].join.delete("\s").scan(/../),
|
|
40
|
+
ascii: fmt_row.chars[51..-2].join
|
|
41
|
+
}
|
|
42
|
+
else
|
|
43
|
+
rem_len = fmt_row[10..-1].length
|
|
44
|
+
hex_len = (rem_len / 3) * 2
|
|
45
|
+
ascii_len = rem_len / 3
|
|
46
|
+
hashed_hexdump[this_key] = {
|
|
47
|
+
hex: fmt_row.chars[10..(10 + hex_len)].join.delete("\s").scan(/../),
|
|
48
|
+
ascii: fmt_row.chars[(10 + hex_len + 1)..-1].join
|
|
49
|
+
}
|
|
58
50
|
end
|
|
59
51
|
end
|
|
60
52
|
end
|
|
@@ -68,7 +60,7 @@ module PWN
|
|
|
68
60
|
|
|
69
61
|
# Supported Method Parameters::
|
|
70
62
|
# PWN::Plugins::XXD.reverse_dump(
|
|
71
|
-
# hexdump: 'required - hexdump
|
|
63
|
+
# hexdump: 'required - hexdump returned from #dump method',
|
|
72
64
|
# file: 'required - path to binary file to dump'
|
|
73
65
|
# )
|
|
74
66
|
|
|
@@ -85,10 +77,11 @@ module PWN
|
|
|
85
77
|
format(
|
|
86
78
|
"%<s1>07s0: %<s2>-40s %<s3>-16s\n",
|
|
87
79
|
s1: k,
|
|
88
|
-
s2: v[:hex].join(' '),
|
|
80
|
+
s2: v[:hex].each_slice(2).map { |slice| slice.join }.join(' '),
|
|
89
81
|
s3: v[:ascii]
|
|
90
82
|
)
|
|
91
83
|
end.join
|
|
84
|
+
puts hexdump
|
|
92
85
|
end
|
|
93
86
|
|
|
94
87
|
binary_data = hexdump.lines.map do |line|
|
|
@@ -114,13 +107,13 @@ module PWN
|
|
|
114
107
|
|
|
115
108
|
public_class_method def self.help
|
|
116
109
|
puts "USAGE:
|
|
117
|
-
#{self}.dump(
|
|
110
|
+
hexdump = #{self}.dump(
|
|
118
111
|
file: 'required - path to binary file to dump',
|
|
119
112
|
hashed: 'optional - return hexdump as hash instead of string (default: false)'
|
|
120
113
|
)
|
|
121
114
|
|
|
122
115
|
#{self}.reverse_dump(
|
|
123
|
-
hexdump: 'required - hexdump
|
|
116
|
+
hexdump: 'required - hexdump returned from #dump method',
|
|
124
117
|
file: 'required - path to binary file to dump'
|
|
125
118
|
)
|
|
126
119
|
|
data/lib/pwn/version.rb
CHANGED
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.
|
|
4
|
+
version: 0.4.998
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- 0day Inc.
|
|
@@ -576,14 +576,14 @@ dependencies:
|
|
|
576
576
|
requirements:
|
|
577
577
|
- - '='
|
|
578
578
|
- !ruby/object:Gem::Version
|
|
579
|
-
version: 0.
|
|
579
|
+
version: 0.3.0
|
|
580
580
|
type: :runtime
|
|
581
581
|
prerelease: false
|
|
582
582
|
version_requirements: !ruby/object:Gem::Requirement
|
|
583
583
|
requirements:
|
|
584
584
|
- - '='
|
|
585
585
|
- !ruby/object:Gem::Version
|
|
586
|
-
version: 0.
|
|
586
|
+
version: 0.3.0
|
|
587
587
|
- !ruby/object:Gem::Dependency
|
|
588
588
|
name: oily_png
|
|
589
589
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -912,14 +912,14 @@ dependencies:
|
|
|
912
912
|
requirements:
|
|
913
913
|
- - '='
|
|
914
914
|
- !ruby/object:Gem::Version
|
|
915
|
-
version: 1.0.
|
|
915
|
+
version: 1.0.3
|
|
916
916
|
type: :runtime
|
|
917
917
|
prerelease: false
|
|
918
918
|
version_requirements: !ruby/object:Gem::Requirement
|
|
919
919
|
requirements:
|
|
920
920
|
- - '='
|
|
921
921
|
- !ruby/object:Gem::Version
|
|
922
|
-
version: 1.0.
|
|
922
|
+
version: 1.0.3
|
|
923
923
|
- !ruby/object:Gem::Dependency
|
|
924
924
|
name: ruby-saml
|
|
925
925
|
requirement: !ruby/object:Gem::Requirement
|