File tree Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ # -*- coding: binary -*-
2
+ module Msf
3
+
4
+ ###
5
+ #
6
+ # This module provides methods for Distributed Reflective Denial of Service (DRDoS) attacks
7
+ #
8
+ ###
9
+
10
+ module Auxiliary ::DRDoS
11
+
12
+ def prove_drdos ( response_map )
13
+ vulnerable = false
14
+ proofs = [ ]
15
+ response_map . each do |request , responses |
16
+ responses ||= [ ]
17
+ this_proof = ''
18
+
19
+ # compute packet amplification
20
+ if responses . size > 1
21
+ vulnerable = true
22
+ this_proof += "#{ responses . size } x packet amplification"
23
+ else
24
+ this_proof += 'No packet amplification'
25
+ end
26
+
27
+ this_proof += ' and '
28
+
29
+ # compute bandwidth amplification
30
+ total_size = responses . map ( &:size ) . reduce ( :+ )
31
+ bandwidth_amplification = total_size - request . size
32
+ if bandwidth_amplification > 0
33
+ vulnerable = true
34
+ this_proof += "a #{ bandwidth_amplification } -byte bandwidth amplification"
35
+ else
36
+ this_proof += 'no bandwidth amplification'
37
+ end
38
+
39
+ # TODO (maybe): show the request and responses in more detail?
40
+ proofs << this_proof
41
+ end
42
+
43
+ [ vulnerable , proofs . join ( ', ' ) ]
44
+ end
45
+
46
+ end
47
+ end
Original file line number Diff line number Diff line change 5
5
#
6
6
require 'msf/core/auxiliary/auth_brute'
7
7
require 'msf/core/auxiliary/dos'
8
+ require 'msf/core/auxiliary/drdos'
8
9
require 'msf/core/auxiliary/fuzzer'
9
10
require 'msf/core/auxiliary/report'
10
11
require 'msf/core/auxiliary/scanner'
You can’t perform that action at this time.
0 commit comments