pwn 0.4.514 → 0.4.515
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/.rubocop_todo.yml +17 -11
- data/Gemfile +8 -7
- data/README.md +2 -2
- data/bin/pwn_fuzz_net_app_proto +4 -1
- data/bin/pwn_phone +124 -0
- data/bin/pwn_sast +7 -2
- data/lib/pwn/plugins/baresip.rb +632 -0
- data/lib/pwn/plugins/serial.rb +1 -1
- data/lib/pwn/plugins/sock.rb +32 -0
- data/lib/pwn/plugins/thread_pool.rb +19 -5
- data/lib/pwn/plugins.rb +1 -0
- data/lib/pwn/reports/phone.rb +294 -0
- data/lib/pwn/reports.rb +1 -0
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/reports/phone_spec.rb +15 -0
- metadata +35 -16
@@ -7,7 +7,8 @@ module PWN
|
|
7
7
|
# Supported Method Parameters::
|
8
8
|
# PWN::Plugins::ThreadPool.fill(
|
9
9
|
# enumerable_array: 'required array for proper thread pool assignment',
|
10
|
-
#
|
10
|
+
# max_threads: 'optional number of threads in the thread pool (defaults to 9)',
|
11
|
+
# seconds_between_thread_exec: 'optional - time to sleep between thread execution (defaults to 0)'
|
11
12
|
# &block
|
12
13
|
# )
|
13
14
|
#
|
@@ -19,19 +20,32 @@ module PWN
|
|
19
20
|
|
20
21
|
public_class_method def self.fill(opts = {})
|
21
22
|
enumerable_array = opts[:enumerable_array]
|
22
|
-
|
23
|
+
max_threads = opts[:max_threads].to_i
|
24
|
+
max_threads = 9 if max_threads.zero?
|
25
|
+
# seconds_between_thread_exec = opts[:seconds_between_thread_exec].to_i
|
23
26
|
|
24
27
|
puts "Initiating Thread Pool of #{max_threads} Worker Threads...."
|
25
28
|
queue = SizedQueue.new(max_threads)
|
26
29
|
threads = Array.new(max_threads) do
|
27
30
|
Thread.new do
|
28
|
-
until (this_thread = queue.pop) == :
|
31
|
+
until (this_thread = queue.pop) == :POOL_EXHAUSTED
|
29
32
|
yield this_thread
|
30
33
|
end
|
31
34
|
end
|
32
35
|
end
|
33
|
-
|
34
|
-
|
36
|
+
|
37
|
+
enumerable_array.uniq.sort.each do |this_thread|
|
38
|
+
queue << this_thread
|
39
|
+
end
|
40
|
+
|
41
|
+
max_threads.times do
|
42
|
+
queue << :POOL_EXHAUSTED
|
43
|
+
end
|
44
|
+
|
45
|
+
# threads.each do |thread|
|
46
|
+
# sleep seconds_between_thread_exec if seconds_between_thread_exec.positive?
|
47
|
+
# thread.join
|
48
|
+
# end
|
35
49
|
threads.each(&:join)
|
36
50
|
rescue Interrupt
|
37
51
|
puts "\nGoodbye."
|
data/lib/pwn/plugins.rb
CHANGED
@@ -8,6 +8,7 @@ module PWN
|
|
8
8
|
autoload :Android, 'pwn/plugins/android'
|
9
9
|
autoload :AnsibleVault, 'pwn/plugins/ansible_vault'
|
10
10
|
autoload :AuthenticationHelper, 'pwn/plugins/authentication_helper'
|
11
|
+
autoload :BareSIP, 'pwn/plugins/baresip'
|
11
12
|
autoload :BasicAuth, 'pwn/plugins/basic_auth'
|
12
13
|
autoload :BeEF, 'pwn/plugins/beef'
|
13
14
|
autoload :BurpSuite, 'pwn/plugins/burp_suite'
|
@@ -0,0 +1,294 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
module PWN
|
6
|
+
module Reports
|
7
|
+
# This plugin generates the War Dialing results produced by pwn_phone.
|
8
|
+
module Phone
|
9
|
+
# Supported Method Parameters::
|
10
|
+
# PWN::Reports::Phone.generate(
|
11
|
+
# dir_path: dir_path,
|
12
|
+
# results_hash: results_hash
|
13
|
+
# )
|
14
|
+
|
15
|
+
public_class_method def self.generate(opts = {})
|
16
|
+
dir_path = opts[:dir_path].to_s if File.directory?(opts[:dir_path].to_s)
|
17
|
+
raise "PWN Error: Invalid Directory #{dir_path}" if dir_path.nil?
|
18
|
+
|
19
|
+
results_hash = opts[:results_hash]
|
20
|
+
|
21
|
+
File.write(
|
22
|
+
"#{dir_path}/pwn_phone.json",
|
23
|
+
JSON.pretty_generate(results_hash)
|
24
|
+
)
|
25
|
+
|
26
|
+
html_report = %q{<!DOCTYPE HTML>
|
27
|
+
<html>
|
28
|
+
<head>
|
29
|
+
<!-- favicon.ico from https://0dayinc.com -->
|
30
|
+
<link rel="icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABIXAAASFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIkAAACJAgAAiSYAAIlbAACJcAAAiX0AAIlmAACJLQAAiQQAAIkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIkAAACJAAAAiS0AAIluAACJdwAAiXgAAIl+AACJeAAAiXQAAIk5AACJAQAAiQAAAAAAAAAAAAAAAAAAAAAAAACJAAAAiRgAAIlvAACJbQAAiXcAAIl7AACJcwAAiXEAAIl1AACJZwAAiR4AAIkAAACJAAAAAAAAAAAAAACJAAAAiQAAAIlEAACJfAAAiXIAAIlyAACJewAAiX4AAIl5AACJdQAAiXcAAIlIAACJAAAAiQAAAAAAAAAAAAAAiQAAAIkJAACJWQAAiXUAAIl9AACJdAAAiYYAAImLAACJdAAAiXkAAImNAACJfQAAiQwAAIkAAAAAAAAAAAAAAIkAAACJFQAAiWsAAIl2AACJfAAAiYIAAImCAACJfwAAiXYAAIl5AACJiQAAiYYAAIkWAACJAAAAAAAAAAAAAACJAAAAiSAAAIl2AACJeQAAiXkAAIl1AACJfwAAiYEAAIl8AACJbwAAiXoAAImBAACJFgAAiQAAAAAAAAAAAAAAiQAAAIkpAACJeAAAiXMAAIl3AACJeQAAiXUAAImAAACJfwAAiWYAAIl4AACJfwAAiR4AAIkAAAAAAAAAAAAAAIkAAACJKAAAiXkAAIlyAACJdQAAiXQAAIluAACJfAAAiXwAAIl3AACJewAAiXwAAIkvAACJAAAAAAAAAAAAAACJAAAAiSMAAIl4AACJdgAAiXsAAIl1AACJcQAAiXcAAIl6AACJeQAAiXoAAIl0AACJKQAAiQAAAAAAAAAAAAAAiQAAAIkXAACJaAAAiXgAAIl3AACJfAAAiXkAAIl3AACJZwAAiXcAAIl0AACJagAAiSgAAIkAAAAAAAAAAAAAAIkAAACJDgAAiV4AAIl5AACJbwAAiW4AAIl9AACJewAAiXcAAIl6AACJfQAAiW8AAIkWAACJAAAAAAAAAAAAAACJAAAAiQ0AAIllAACJewAAiXYAAIl4AACJdQAAiXUAAIl4AACJbQAAiXkAAIlNAACJAwAAiQAAAAAAAAAAAAAAiQAAAIkCAACJPQAAiXMAAIl2AACJeAAAiWgAAIlsAACJfQAAiXsAAIlwAACJGQAAiQAAAIkAAAAAAAAAAAAAAAAAAACJAAAAiQcAAIk4AACJXAAAiXoAAIl7AACJfAAAiYAAAIlsAACJJwAAiQMAAIkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIkAAACJAQAAiSsAAIluAACJewAAiXwAAIluAACJKgAAiQAAAIkAAAAAAAAAAAAAAAAA8A8AAPAHAADgBwAA4AcAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMAHAADgBwAA8B8AAA==" type="image/x-icon" />
|
31
|
+
<style>
|
32
|
+
body {
|
33
|
+
font-family: Verdana, Geneva, sans-serif;
|
34
|
+
font-size: 11px;
|
35
|
+
background-color: #FFFFFF;
|
36
|
+
color: #084B8A !important;
|
37
|
+
}
|
38
|
+
|
39
|
+
a:link {
|
40
|
+
color: #0174DF;
|
41
|
+
text-decoration: none;
|
42
|
+
}
|
43
|
+
|
44
|
+
a:visited {
|
45
|
+
color: #B40404;
|
46
|
+
text-decoration: none;
|
47
|
+
}
|
48
|
+
|
49
|
+
a:hover {
|
50
|
+
color: #01A9DB;
|
51
|
+
text-decoration: underline;
|
52
|
+
}
|
53
|
+
|
54
|
+
a:active {
|
55
|
+
color: #610B5E;
|
56
|
+
text-decoration: underline;
|
57
|
+
}
|
58
|
+
|
59
|
+
table {
|
60
|
+
width: 100%;
|
61
|
+
border-spacing:0px;
|
62
|
+
}
|
63
|
+
|
64
|
+
table.squish {
|
65
|
+
table-layout: fixed;
|
66
|
+
}
|
67
|
+
|
68
|
+
td {
|
69
|
+
vertical-align: top;
|
70
|
+
word-wrap: break-word !important;
|
71
|
+
}
|
72
|
+
|
73
|
+
.highlighted {
|
74
|
+
background-color: #F2F5A9 !important;
|
75
|
+
}
|
76
|
+
</style>
|
77
|
+
|
78
|
+
<!-- jQuery, DataTables, & FancyApps -->
|
79
|
+
<script type="text/javascript" src="//code.jquery.com/jquery-3.6.0.min.js"></script>
|
80
|
+
|
81
|
+
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/v/dt/dt-1.11.4/b-2.2.2/b-colvis-2.2.2/b-html5-2.2.2/b-print-2.2.2/cr-1.5.5/fc-4.0.1/fh-3.2.1/kt-2.6.4/r-2.2.9/rg-1.1.4/rr-1.2.8/sc-2.0.5/sp-1.4.0/sl-1.3.4/datatables.min.css"/>
|
82
|
+
|
83
|
+
<script type="text/javascript" src="//cdn.datatables.net/v/dt/dt-1.11.4/b-2.2.2/b-colvis-2.2.2/b-html5-2.2.2/b-print-2.2.2/cr-1.5.5/fc-4.0.1/fh-3.2.1/kt-2.6.4/r-2.2.9/rg-1.1.4/rr-1.2.8/sc-2.0.5/sp-1.4.0/sl-1.3.4/datatables.min.js"></script>
|
84
|
+
|
85
|
+
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.css" type="text/css" />
|
86
|
+
|
87
|
+
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.umd.js"></script>
|
88
|
+
</head>
|
89
|
+
|
90
|
+
<body id="pwn_body">
|
91
|
+
|
92
|
+
<h1 style="display:inline">
|
93
|
+
<a href="https://github.com/0dayinc/pwn/tree/master">~ pwn phone</a>
|
94
|
+
</h1><br /><br />
|
95
|
+
<h2 id="report_name"></h2><br />
|
96
|
+
|
97
|
+
<div><button type="button" id="button">Rows Selected</button></div><br />
|
98
|
+
<div>
|
99
|
+
<b>Toggle Column(s):</b>
|
100
|
+
<a class="toggle-vis" data-column="1" href="#">Call Started</a> |
|
101
|
+
<a class="toggle-vis" data-column="2" href="#">Source #</a> |
|
102
|
+
<a class="toggle-vis" data-column="3" href="#">Source # Rules</a> |
|
103
|
+
<a class="toggle-vis" data-column="4" href="#">Target #</a> |
|
104
|
+
<a class="toggle-vis" data-column="5" href="#">Seconds Recorded</a> |
|
105
|
+
<a class="toggle-vis" data-column="6" href="#">Call Stopped</a>
|
106
|
+
<a class="toggle-vis" data-column="7" href="#">Reason</a>
|
107
|
+
<a class="toggle-vis" data-column="8" href="#">Recording</a> |
|
108
|
+
<a class="toggle-vis" data-column="9" href="#">Spectrogram</a> |
|
109
|
+
<a class="toggle-vis" data-column="10" href="#">Waveform</a>
|
110
|
+
</div>
|
111
|
+
<br /><br />
|
112
|
+
|
113
|
+
<div>
|
114
|
+
<table id="pwn_phone_results" class="display" cellspacing="0">
|
115
|
+
<thead>
|
116
|
+
<tr>
|
117
|
+
<th>#</th>
|
118
|
+
<th>Call Started</th>
|
119
|
+
<th>Source #</th>
|
120
|
+
<th>Source # Rules</th>
|
121
|
+
<th>Target #</th>
|
122
|
+
<th>Seconds Recorded</th>
|
123
|
+
<th>Call Stopped</th>
|
124
|
+
<th>Reason Stopped</th>
|
125
|
+
<th>Recording</th>
|
126
|
+
<th>Spectrogram</th>
|
127
|
+
<th>Waveform</th>
|
128
|
+
</tr>
|
129
|
+
</thead>
|
130
|
+
<!-- DataTables <tbody> -->
|
131
|
+
</table>
|
132
|
+
</div>
|
133
|
+
|
134
|
+
<script>
|
135
|
+
var htmlEntityEncode = $.fn.dataTable.render.text().display;
|
136
|
+
var line_entry_uri = "";
|
137
|
+
$(document).ready(function() {
|
138
|
+
var oldStart = 0;
|
139
|
+
var table = $('#pwn_phone_results').DataTable( {
|
140
|
+
"paging": true,
|
141
|
+
"pagingType": "full_numbers",
|
142
|
+
"fnDrawCallback": function ( oSettings ) {
|
143
|
+
/* Need to redo the counters if filtered or sorted */
|
144
|
+
if ( oSettings.bSorted || oSettings.bFiltered ) {
|
145
|
+
for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ ) {
|
146
|
+
$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
|
147
|
+
}
|
148
|
+
}
|
149
|
+
// Jump to top when utilizing pagination
|
150
|
+
if ( oSettings._iDisplayStart != oldStart ) {
|
151
|
+
var targetOffset = $('#pwn_body').offset().top;
|
152
|
+
$('html,body').animate({scrollTop: targetOffset}, 500);
|
153
|
+
oldStart = oSettings._iDisplayStart;
|
154
|
+
}
|
155
|
+
// Select individual lines in a row
|
156
|
+
$('#multi_line_select tbody').on('click', 'tr', function () {
|
157
|
+
$(this).toggleClass('highlighted');
|
158
|
+
if ($('#multi_line_select tr.highlighted').length > 0) {
|
159
|
+
$('#multi_line_select tr td button').attr('disabled', 'disabled');
|
160
|
+
// Remove multi-line bug button
|
161
|
+
} else {
|
162
|
+
$('#multi_line_select tr td button').removeAttr('disabled');
|
163
|
+
// Add multi-line bug button
|
164
|
+
}
|
165
|
+
});
|
166
|
+
},
|
167
|
+
"ajax": "pwn_phone.json",
|
168
|
+
//"deferRender": true,
|
169
|
+
"dom": "fplitfpliS",
|
170
|
+
"autoWidth": false,
|
171
|
+
"columns": [
|
172
|
+
{ "data": null },
|
173
|
+
{
|
174
|
+
"data": "call_started",
|
175
|
+
"render": $.fn.dataTable.render.text()
|
176
|
+
},
|
177
|
+
{
|
178
|
+
"data": "src_num",
|
179
|
+
"render": $.fn.dataTable.render.text()
|
180
|
+
},
|
181
|
+
{
|
182
|
+
"data": "src_num_rules",
|
183
|
+
"render": $.fn.dataTable.render.text()
|
184
|
+
},
|
185
|
+
{
|
186
|
+
"data": "target_num",
|
187
|
+
"render": $.fn.dataTable.render.text()
|
188
|
+
},
|
189
|
+
{
|
190
|
+
"data": "seconds_recorded",
|
191
|
+
"render": $.fn.dataTable.render.text()
|
192
|
+
},
|
193
|
+
{
|
194
|
+
"data": "call_stopped",
|
195
|
+
"render": $.fn.dataTable.render.text()
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"data": "reason",
|
199
|
+
"render": $.fn.dataTable.render.text()
|
200
|
+
},
|
201
|
+
{
|
202
|
+
"data": "recording",
|
203
|
+
"render": function (data, type, row, meta) {
|
204
|
+
var wav = htmlEntityEncode(data);
|
205
|
+
if (wav == '--') {
|
206
|
+
return wav;
|
207
|
+
} else {
|
208
|
+
return '<audio controls><source src="' + wav +'" type="audio/wav"></audio>';
|
209
|
+
}
|
210
|
+
}
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"data": "spectrogram",
|
214
|
+
"render": function (data, type, row, meta) {
|
215
|
+
var spt = htmlEntityEncode(data);
|
216
|
+
if (spt == '--') {
|
217
|
+
return spt;
|
218
|
+
} else {
|
219
|
+
return '<a data-fancybox data-src="' + spt + '" data-caption="' + spt + '"><img src="' + data +'" target="_blank" style="width:150px; height:150px;"/></a>';
|
220
|
+
}
|
221
|
+
}
|
222
|
+
},
|
223
|
+
{
|
224
|
+
"data": "waveform",
|
225
|
+
"render": function (data, type, row, meta) {
|
226
|
+
var wfm = htmlEntityEncode(data);
|
227
|
+
if (wfm == '--') {
|
228
|
+
return wfm;
|
229
|
+
} else {
|
230
|
+
return '<a data-fancybox data-src="' + wfm + '" data-caption="' + wfm + '"><img src="' + data +'" target="_blank" style="width:150px; height:150px;"/></a>';
|
231
|
+
}
|
232
|
+
}
|
233
|
+
}
|
234
|
+
]
|
235
|
+
});
|
236
|
+
// Toggle Columns
|
237
|
+
$('a.toggle-vis').on('click', function (e) {
|
238
|
+
e.preventDefault();
|
239
|
+
|
240
|
+
// Get the column API object
|
241
|
+
var column = table.column( $(this).attr('data-column') );
|
242
|
+
|
243
|
+
// Toggle the visibility
|
244
|
+
column.visible( ! column.visible() );
|
245
|
+
});
|
246
|
+
|
247
|
+
// TODO: Open bug for highlighted rows ;)
|
248
|
+
$('#button').click( function () {
|
249
|
+
alert($('#multi_line_select tr.highlighted').length +' row(s) highlighted');
|
250
|
+
});
|
251
|
+
});
|
252
|
+
|
253
|
+
function multi_line_select() {
|
254
|
+
// Select all lines in a row
|
255
|
+
//$('#pwn_phone_results tbody').on('click', 'tr', function () {
|
256
|
+
// $(this).children('td').children('#multi_line_select').children('tbody').children('tr').toggleClass('highlighted');
|
257
|
+
//});
|
258
|
+
|
259
|
+
}
|
260
|
+
</script>
|
261
|
+
</body>
|
262
|
+
</html>
|
263
|
+
}
|
264
|
+
|
265
|
+
File.open("#{dir_path}/pwn_phone.html", 'w') do |f|
|
266
|
+
f.print(html_report)
|
267
|
+
end
|
268
|
+
rescue StandardError => e
|
269
|
+
raise e
|
270
|
+
end
|
271
|
+
|
272
|
+
# Author(s):: 0day Inc. <request.pentest@0dayinc.com>
|
273
|
+
|
274
|
+
public_class_method def self.authors
|
275
|
+
"AUTHOR(S):
|
276
|
+
0day Inc. <request.pentest@0dayinc.com>
|
277
|
+
"
|
278
|
+
end
|
279
|
+
|
280
|
+
# Display Usage for this Module
|
281
|
+
|
282
|
+
public_class_method def self.help
|
283
|
+
puts "USAGE:
|
284
|
+
#{self}.generate(
|
285
|
+
dir_path: dir_path,
|
286
|
+
results_hash: results_hash
|
287
|
+
)
|
288
|
+
|
289
|
+
#{self}.authors
|
290
|
+
"
|
291
|
+
end
|
292
|
+
end
|
293
|
+
end
|
294
|
+
end
|
data/lib/pwn/reports.rb
CHANGED
data/lib/pwn/version.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe PWN::Reports::Phone do
|
6
|
+
it 'should display information for authors' do
|
7
|
+
authors_response = PWN::Reports::Phone
|
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::Reports::Phone
|
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.4.
|
4
|
+
version: 0.4.515
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 2.3.
|
117
|
+
version: 2.3.19
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 2.3.
|
124
|
+
version: 2.3.19
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: bundler-audit
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,6 +206,20 @@ dependencies:
|
|
206
206
|
- - '='
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 0.11.1
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: fftw3
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - '='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0.3'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - '='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0.3'
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
224
|
name: gdb
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -352,14 +366,14 @@ dependencies:
|
|
352
366
|
requirements:
|
353
367
|
- - '='
|
354
368
|
- !ruby/object:Gem::Version
|
355
|
-
version: 2.
|
369
|
+
version: 2.18.1
|
356
370
|
type: :runtime
|
357
371
|
prerelease: false
|
358
372
|
version_requirements: !ruby/object:Gem::Requirement
|
359
373
|
requirements:
|
360
374
|
- - '='
|
361
375
|
- !ruby/object:Gem::Version
|
362
|
-
version: 2.
|
376
|
+
version: 2.18.1
|
363
377
|
- !ruby/object:Gem::Dependency
|
364
378
|
name: msfrpc-client
|
365
379
|
requirement: !ruby/object:Gem::Requirement
|
@@ -436,14 +450,14 @@ dependencies:
|
|
436
450
|
requirements:
|
437
451
|
- - '='
|
438
452
|
- !ruby/object:Gem::Version
|
439
|
-
version: 1.13.
|
453
|
+
version: 1.13.8
|
440
454
|
type: :runtime
|
441
455
|
prerelease: false
|
442
456
|
version_requirements: !ruby/object:Gem::Requirement
|
443
457
|
requirements:
|
444
458
|
- - '='
|
445
459
|
- !ruby/object:Gem::Version
|
446
|
-
version: 1.13.
|
460
|
+
version: 1.13.8
|
447
461
|
- !ruby/object:Gem::Dependency
|
448
462
|
name: oily_png
|
449
463
|
requirement: !ruby/object:Gem::Requirement
|
@@ -506,14 +520,14 @@ dependencies:
|
|
506
520
|
requirements:
|
507
521
|
- - '='
|
508
522
|
- !ruby/object:Gem::Version
|
509
|
-
version: 1.4.
|
523
|
+
version: 1.4.2
|
510
524
|
type: :runtime
|
511
525
|
prerelease: false
|
512
526
|
version_requirements: !ruby/object:Gem::Requirement
|
513
527
|
requirements:
|
514
528
|
- - '='
|
515
529
|
- !ruby/object:Gem::Version
|
516
|
-
version: 1.4.
|
530
|
+
version: 1.4.2
|
517
531
|
- !ruby/object:Gem::Dependency
|
518
532
|
name: pry
|
519
533
|
requirement: !ruby/object:Gem::Requirement
|
@@ -632,14 +646,14 @@ dependencies:
|
|
632
646
|
requirements:
|
633
647
|
- - '='
|
634
648
|
- !ruby/object:Gem::Version
|
635
|
-
version: 4.2.
|
649
|
+
version: 4.2.6
|
636
650
|
type: :runtime
|
637
651
|
prerelease: false
|
638
652
|
version_requirements: !ruby/object:Gem::Requirement
|
639
653
|
requirements:
|
640
654
|
- - '='
|
641
655
|
- !ruby/object:Gem::Version
|
642
|
-
version: 4.2.
|
656
|
+
version: 4.2.6
|
643
657
|
- !ruby/object:Gem::Dependency
|
644
658
|
name: rspec
|
645
659
|
requirement: !ruby/object:Gem::Requirement
|
@@ -674,14 +688,14 @@ dependencies:
|
|
674
688
|
requirements:
|
675
689
|
- - '='
|
676
690
|
- !ruby/object:Gem::Version
|
677
|
-
version: 1.
|
691
|
+
version: 1.32.0
|
678
692
|
type: :runtime
|
679
693
|
prerelease: false
|
680
694
|
version_requirements: !ruby/object:Gem::Requirement
|
681
695
|
requirements:
|
682
696
|
- - '='
|
683
697
|
- !ruby/object:Gem::Version
|
684
|
-
version: 1.
|
698
|
+
version: 1.32.0
|
685
699
|
- !ruby/object:Gem::Dependency
|
686
700
|
name: rubocop-rake
|
687
701
|
requirement: !ruby/object:Gem::Requirement
|
@@ -814,14 +828,14 @@ dependencies:
|
|
814
828
|
requirements:
|
815
829
|
- - '='
|
816
830
|
- !ruby/object:Gem::Version
|
817
|
-
version: 2.2.
|
831
|
+
version: 2.2.2
|
818
832
|
type: :runtime
|
819
833
|
prerelease: false
|
820
834
|
version_requirements: !ruby/object:Gem::Requirement
|
821
835
|
requirements:
|
822
836
|
- - '='
|
823
837
|
- !ruby/object:Gem::Version
|
824
|
-
version: 2.2.
|
838
|
+
version: 2.2.2
|
825
839
|
- !ruby/object:Gem::Dependency
|
826
840
|
name: slack-ruby-client
|
827
841
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1042,6 +1056,7 @@ executables:
|
|
1042
1056
|
- pwn_owasp_zap_active_scan
|
1043
1057
|
- pwn_pastebin_sample_filter
|
1044
1058
|
- pwn_perimeter_recon
|
1059
|
+
- pwn_phone
|
1045
1060
|
- pwn_sast
|
1046
1061
|
- pwn_serial_check_voicemail
|
1047
1062
|
- pwn_serial_msr206
|
@@ -1105,6 +1120,7 @@ files:
|
|
1105
1120
|
- bin/pwn_owasp_zap_active_scan
|
1106
1121
|
- bin/pwn_pastebin_sample_filter
|
1107
1122
|
- bin/pwn_perimeter_recon
|
1123
|
+
- bin/pwn_phone
|
1108
1124
|
- bin/pwn_sast
|
1109
1125
|
- bin/pwn_serial_check_voicemail
|
1110
1126
|
- bin/pwn_serial_msr206
|
@@ -1542,6 +1558,7 @@ files:
|
|
1542
1558
|
- lib/pwn/plugins/android.rb
|
1543
1559
|
- lib/pwn/plugins/ansible_vault.rb
|
1544
1560
|
- lib/pwn/plugins/authentication_helper.rb
|
1561
|
+
- lib/pwn/plugins/baresip.rb
|
1545
1562
|
- lib/pwn/plugins/basic_auth.rb
|
1546
1563
|
- lib/pwn/plugins/beef.rb
|
1547
1564
|
- lib/pwn/plugins/burp_suite.rb
|
@@ -1595,6 +1612,7 @@ files:
|
|
1595
1612
|
- lib/pwn/plugins/vsphere.rb
|
1596
1613
|
- lib/pwn/reports.rb
|
1597
1614
|
- lib/pwn/reports/fuzz.rb
|
1615
|
+
- lib/pwn/reports/phone.rb
|
1598
1616
|
- lib/pwn/reports/sast.rb
|
1599
1617
|
- lib/pwn/sast.rb
|
1600
1618
|
- lib/pwn/sast/amqp_connect_as_guest.rb
|
@@ -1891,6 +1909,7 @@ files:
|
|
1891
1909
|
- spec/lib/pwn/plugins/vsphere_spec.rb
|
1892
1910
|
- spec/lib/pwn/plugins_spec.rb
|
1893
1911
|
- spec/lib/pwn/reports/fuzz_spec.rb
|
1912
|
+
- spec/lib/pwn/reports/phone_spec.rb
|
1894
1913
|
- spec/lib/pwn/reports/sast_spec.rb
|
1895
1914
|
- spec/lib/pwn/reports_spec.rb
|
1896
1915
|
- spec/lib/pwn/sast/amqp_connect_as_guest_spec.rb
|