pwn 0.5.83 → 0.5.85
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 +7 -6
- data/README.md +3 -3
- data/lib/pwn/aws.rb +1 -1
- data/lib/pwn/ffi/stdio.rb +40 -0
- data/lib/pwn/ffi.rb +2 -2
- data/lib/pwn/plugins/repl.rb +1 -0
- data/lib/pwn/plugins.rb +1 -1
- data/lib/pwn/reports.rb +1 -1
- data/lib/pwn/sast.rb +1 -1
- data/lib/pwn/version.rb +1 -1
- data/lib/pwn/www.rb +1 -1
- data/lib/pwn.rb +1 -1
- data/spec/lib/pwn/ffi/stdio_spec.rb +15 -0
- metadata +43 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fb237056a0ee9908b27a0961e1e0683b8d22dacb80442543abc26c5e810faa1c
|
|
4
|
+
data.tar.gz: 4883a7d72288bf56d59b80e1d6fd292cff3245ac8260c9eb899a89378af11d28
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 512792cf23e0eb392d4e1a56e8e530ec38f99c5c93c99f6535fa861c5091bd391990efaccafa24527a32b8246d49f7c44e5cf89c407a391f3feca428274c1e3e
|
|
7
|
+
data.tar.gz: 9675bb2d5ad1cd1af9dcf4a8396cdf7880478ae739f9b9b606438ed2f7d5dd8c908a5dba45f384cb762c633d5b88beb11d84bcfbb6dd9ba6d5a3d3c4d8d84b41
|
data/Gemfile
CHANGED
|
@@ -32,6 +32,7 @@ gem 'ffi', '1.16.3'
|
|
|
32
32
|
gem 'fftw3', '0.3'
|
|
33
33
|
gem 'gdb', '1.0.0'
|
|
34
34
|
gem 'gem-wrappers', '1.4.0'
|
|
35
|
+
gem 'geocoder', '1.8.2'
|
|
35
36
|
gem 'gist', '6.0.0'
|
|
36
37
|
gem 'gruff', '0.24.0'
|
|
37
38
|
# gem 'hidapi', '0.1.9'
|
|
@@ -42,11 +43,11 @@ gem 'js-beautify', '0.1.8'
|
|
|
42
43
|
gem 'json', '2.7.2'
|
|
43
44
|
gem 'jsonpath', '1.1.5'
|
|
44
45
|
gem 'jwt', '2.8.1'
|
|
45
|
-
gem 'libusb', '0.
|
|
46
|
+
gem 'libusb', '0.7.1'
|
|
46
47
|
gem 'luhn', '1.0.2'
|
|
47
48
|
gem 'mail', '2.8.1'
|
|
48
49
|
gem 'metasm', '1.0.5'
|
|
49
|
-
|
|
50
|
+
gem 'mongo', '2.20.0'
|
|
50
51
|
gem 'msfrpc-client', '1.1.2'
|
|
51
52
|
gem 'netaddr', '2.0.6'
|
|
52
53
|
gem 'net-ldap', '0.19.0'
|
|
@@ -66,7 +67,7 @@ gem 'pry', '0.14.2'
|
|
|
66
67
|
gem 'pry-doc', '1.5.0'
|
|
67
68
|
gem 'rake', '13.2.1'
|
|
68
69
|
gem 'rb-readline', '0.5.5'
|
|
69
|
-
gem '
|
|
70
|
+
gem 'rbvmomi2', '3.7.1'
|
|
70
71
|
gem 'rdoc', '6.6.3.1'
|
|
71
72
|
gem 'rest-client', '2.1.0'
|
|
72
73
|
gem 'rex', '2.0.13'
|
|
@@ -74,7 +75,7 @@ gem 'rmagick', '5.5.0'
|
|
|
74
75
|
gem 'rqrcode', '2.2.0'
|
|
75
76
|
gem 'rspec', '3.13.0'
|
|
76
77
|
gem 'rtesseract', '3.1.3'
|
|
77
|
-
gem 'rubocop', '1.63.
|
|
78
|
+
gem 'rubocop', '1.63.3'
|
|
78
79
|
gem 'rubocop-rake', '0.6.0'
|
|
79
80
|
gem 'rubocop-rspec', '2.29.1'
|
|
80
81
|
gem 'ruby-audio', '1.6.1'
|
|
@@ -82,13 +83,13 @@ gem 'ruby-nmap', '1.0.3'
|
|
|
82
83
|
gem 'ruby-saml', '1.16.0'
|
|
83
84
|
gem 'rvm', '1.11.3.9'
|
|
84
85
|
gem 'savon', '2.15.0'
|
|
85
|
-
gem 'selenium-devtools', '0.
|
|
86
|
+
gem 'selenium-devtools', '0.124.0'
|
|
86
87
|
gem 'serialport', '1.3.2'
|
|
87
88
|
# gem 'sinatra', '4.0.0'
|
|
88
89
|
gem 'slack-ruby-client', '2.3.0'
|
|
89
90
|
gem 'socksify', '1.7.1'
|
|
90
91
|
gem 'spreadsheet', '1.3.1'
|
|
91
|
-
gem 'sqlite3', '
|
|
92
|
+
gem 'sqlite3', '2.0.1'
|
|
92
93
|
gem 'thin', '1.8.2'
|
|
93
94
|
gem 'tty-prompt', '0.23.1'
|
|
94
95
|
gem 'tty-spinner', '0.9.3'
|
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.5.
|
|
40
|
+
pwn[v0.5.85]: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.5.
|
|
55
|
+
pwn[v0.5.85]: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.5.
|
|
65
|
+
pwn[v0.5.85]: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/aws.rb
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'ffi'
|
|
4
|
+
|
|
5
|
+
module PWN
|
|
6
|
+
module FFI
|
|
7
|
+
# This plugin is a wrapper for the standard I/O functions in libc.
|
|
8
|
+
module Stdio
|
|
9
|
+
extend FFI::Library
|
|
10
|
+
|
|
11
|
+
ffi_lib FFI::Library::LIBC
|
|
12
|
+
|
|
13
|
+
attach_function(:puts, [:string], :int)
|
|
14
|
+
attach_function(:printf, %i[string varargs], :int, convention: :default)
|
|
15
|
+
attach_function(:scanf, %i[string varargs], :int)
|
|
16
|
+
|
|
17
|
+
# Author(s):: 0day Inc. <request.pentest@0dayinc.com>
|
|
18
|
+
|
|
19
|
+
public_class_method def self.authors
|
|
20
|
+
"AUTHOR(S):
|
|
21
|
+
0day Inc. <request.pentest@0dayinc.com>
|
|
22
|
+
"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Display Usage for this Module
|
|
26
|
+
|
|
27
|
+
public_class_method def self.help
|
|
28
|
+
puts "USAGE:
|
|
29
|
+
#{self}.puts string
|
|
30
|
+
#{self}.printf(\"format string\", str, int, etc)
|
|
31
|
+
|
|
32
|
+
scanf_buffer = FFI::MemoryPointer.new(:char, 100)
|
|
33
|
+
#{self}.scanf(\"format string\", scanf_buffer)
|
|
34
|
+
|
|
35
|
+
#{self}.authors
|
|
36
|
+
"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
data/lib/pwn/ffi.rb
CHANGED
|
@@ -5,9 +5,9 @@ module PWN
|
|
|
5
5
|
# into memory only when they're needed. For more information, see:
|
|
6
6
|
# http://www.rubyinside.com/ruby-techniques-revealed-autoload-1652.html
|
|
7
7
|
module FFI
|
|
8
|
-
|
|
8
|
+
autoload :Stdio, 'pwn/ffi/stdio'
|
|
9
9
|
|
|
10
|
-
# Display a List of Every PWN
|
|
10
|
+
# Display a List of Every PWN::FFI Module
|
|
11
11
|
|
|
12
12
|
public_class_method def self.help
|
|
13
13
|
constants.sort
|
data/lib/pwn/plugins/repl.rb
CHANGED
data/lib/pwn/plugins.rb
CHANGED
data/lib/pwn/reports.rb
CHANGED
data/lib/pwn/sast.rb
CHANGED
|
@@ -50,7 +50,7 @@ module PWN
|
|
|
50
50
|
autoload :Version, 'pwn/sast/version'
|
|
51
51
|
autoload :WindowLocationHash, 'pwn/sast/window_location_hash'
|
|
52
52
|
|
|
53
|
-
# Display a List of
|
|
53
|
+
# Display a List of Every PWN::SAST Module
|
|
54
54
|
|
|
55
55
|
public_class_method def self.help
|
|
56
56
|
constants.sort
|
data/lib/pwn/version.rb
CHANGED
data/lib/pwn/www.rb
CHANGED
data/lib/pwn.rb
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
describe PWN::FFI::Stdio do
|
|
6
|
+
it 'should display information for authors' do
|
|
7
|
+
authors_response = PWN::FFI::Stdio
|
|
8
|
+
expect(authors_response).to respond_to :authors
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'should display information for existing help method' do
|
|
12
|
+
help_response = PWN::FFI::Stdio
|
|
13
|
+
expect(help_response).to respond_to :help
|
|
14
|
+
end
|
|
15
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pwn
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.85
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- 0day Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-04-
|
|
11
|
+
date: 2024-04-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -290,6 +290,20 @@ dependencies:
|
|
|
290
290
|
- - '='
|
|
291
291
|
- !ruby/object:Gem::Version
|
|
292
292
|
version: 1.4.0
|
|
293
|
+
- !ruby/object:Gem::Dependency
|
|
294
|
+
name: geocoder
|
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
|
296
|
+
requirements:
|
|
297
|
+
- - '='
|
|
298
|
+
- !ruby/object:Gem::Version
|
|
299
|
+
version: 1.8.2
|
|
300
|
+
type: :runtime
|
|
301
|
+
prerelease: false
|
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
303
|
+
requirements:
|
|
304
|
+
- - '='
|
|
305
|
+
- !ruby/object:Gem::Version
|
|
306
|
+
version: 1.8.2
|
|
293
307
|
- !ruby/object:Gem::Dependency
|
|
294
308
|
name: gist
|
|
295
309
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -422,14 +436,14 @@ dependencies:
|
|
|
422
436
|
requirements:
|
|
423
437
|
- - '='
|
|
424
438
|
- !ruby/object:Gem::Version
|
|
425
|
-
version: 0.
|
|
439
|
+
version: 0.7.1
|
|
426
440
|
type: :runtime
|
|
427
441
|
prerelease: false
|
|
428
442
|
version_requirements: !ruby/object:Gem::Requirement
|
|
429
443
|
requirements:
|
|
430
444
|
- - '='
|
|
431
445
|
- !ruby/object:Gem::Version
|
|
432
|
-
version: 0.
|
|
446
|
+
version: 0.7.1
|
|
433
447
|
- !ruby/object:Gem::Dependency
|
|
434
448
|
name: luhn
|
|
435
449
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -472,6 +486,20 @@ dependencies:
|
|
|
472
486
|
- - '='
|
|
473
487
|
- !ruby/object:Gem::Version
|
|
474
488
|
version: 1.0.5
|
|
489
|
+
- !ruby/object:Gem::Dependency
|
|
490
|
+
name: mongo
|
|
491
|
+
requirement: !ruby/object:Gem::Requirement
|
|
492
|
+
requirements:
|
|
493
|
+
- - '='
|
|
494
|
+
- !ruby/object:Gem::Version
|
|
495
|
+
version: 2.20.0
|
|
496
|
+
type: :runtime
|
|
497
|
+
prerelease: false
|
|
498
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
499
|
+
requirements:
|
|
500
|
+
- - '='
|
|
501
|
+
- !ruby/object:Gem::Version
|
|
502
|
+
version: 2.20.0
|
|
475
503
|
- !ruby/object:Gem::Dependency
|
|
476
504
|
name: msfrpc-client
|
|
477
505
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -739,19 +767,19 @@ dependencies:
|
|
|
739
767
|
- !ruby/object:Gem::Version
|
|
740
768
|
version: 0.5.5
|
|
741
769
|
- !ruby/object:Gem::Dependency
|
|
742
|
-
name:
|
|
770
|
+
name: rbvmomi2
|
|
743
771
|
requirement: !ruby/object:Gem::Requirement
|
|
744
772
|
requirements:
|
|
745
773
|
- - '='
|
|
746
774
|
- !ruby/object:Gem::Version
|
|
747
|
-
version: 3.
|
|
775
|
+
version: 3.7.1
|
|
748
776
|
type: :runtime
|
|
749
777
|
prerelease: false
|
|
750
778
|
version_requirements: !ruby/object:Gem::Requirement
|
|
751
779
|
requirements:
|
|
752
780
|
- - '='
|
|
753
781
|
- !ruby/object:Gem::Version
|
|
754
|
-
version: 3.
|
|
782
|
+
version: 3.7.1
|
|
755
783
|
- !ruby/object:Gem::Dependency
|
|
756
784
|
name: rdoc
|
|
757
785
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -856,14 +884,14 @@ dependencies:
|
|
|
856
884
|
requirements:
|
|
857
885
|
- - '='
|
|
858
886
|
- !ruby/object:Gem::Version
|
|
859
|
-
version: 1.63.
|
|
887
|
+
version: 1.63.3
|
|
860
888
|
type: :runtime
|
|
861
889
|
prerelease: false
|
|
862
890
|
version_requirements: !ruby/object:Gem::Requirement
|
|
863
891
|
requirements:
|
|
864
892
|
- - '='
|
|
865
893
|
- !ruby/object:Gem::Version
|
|
866
|
-
version: 1.63.
|
|
894
|
+
version: 1.63.3
|
|
867
895
|
- !ruby/object:Gem::Dependency
|
|
868
896
|
name: rubocop-rake
|
|
869
897
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -968,14 +996,14 @@ dependencies:
|
|
|
968
996
|
requirements:
|
|
969
997
|
- - '='
|
|
970
998
|
- !ruby/object:Gem::Version
|
|
971
|
-
version: 0.
|
|
999
|
+
version: 0.124.0
|
|
972
1000
|
type: :runtime
|
|
973
1001
|
prerelease: false
|
|
974
1002
|
version_requirements: !ruby/object:Gem::Requirement
|
|
975
1003
|
requirements:
|
|
976
1004
|
- - '='
|
|
977
1005
|
- !ruby/object:Gem::Version
|
|
978
|
-
version: 0.
|
|
1006
|
+
version: 0.124.0
|
|
979
1007
|
- !ruby/object:Gem::Dependency
|
|
980
1008
|
name: serialport
|
|
981
1009
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1038,14 +1066,14 @@ dependencies:
|
|
|
1038
1066
|
requirements:
|
|
1039
1067
|
- - '='
|
|
1040
1068
|
- !ruby/object:Gem::Version
|
|
1041
|
-
version:
|
|
1069
|
+
version: 2.0.1
|
|
1042
1070
|
type: :runtime
|
|
1043
1071
|
prerelease: false
|
|
1044
1072
|
version_requirements: !ruby/object:Gem::Requirement
|
|
1045
1073
|
requirements:
|
|
1046
1074
|
- - '='
|
|
1047
1075
|
- !ruby/object:Gem::Version
|
|
1048
|
-
version:
|
|
1076
|
+
version: 2.0.1
|
|
1049
1077
|
- !ruby/object:Gem::Dependency
|
|
1050
1078
|
name: thin
|
|
1051
1079
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1735,6 +1763,7 @@ files:
|
|
|
1735
1763
|
- lib/pwn/banner/radare2.rb
|
|
1736
1764
|
- lib/pwn/banner/white_rabbit.rb
|
|
1737
1765
|
- lib/pwn/ffi.rb
|
|
1766
|
+
- lib/pwn/ffi/stdio.rb
|
|
1738
1767
|
- lib/pwn/plugins.rb
|
|
1739
1768
|
- lib/pwn/plugins/android.rb
|
|
1740
1769
|
- lib/pwn/plugins/assembly.rb
|
|
@@ -2065,6 +2094,7 @@ files:
|
|
|
2065
2094
|
- spec/lib/pwn/banner/radare2_spec.rb
|
|
2066
2095
|
- spec/lib/pwn/banner/white_rabbit_spec.rb
|
|
2067
2096
|
- spec/lib/pwn/banner_spec.rb
|
|
2097
|
+
- spec/lib/pwn/ffi/stdio_spec.rb
|
|
2068
2098
|
- spec/lib/pwn/ffi_spec.rb
|
|
2069
2099
|
- spec/lib/pwn/plugins/android_spec.rb
|
|
2070
2100
|
- spec/lib/pwn/plugins/assembly_spec.rb
|