Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
LionSec
GitHub Repository: LionSec/xerosploit
Path: blob/master/tools/bettercap/lib/bettercap.rb
178 views
1
#!/usr/bin/env ruby
2
# encoding: UTF-8
3
4
=begin
5
6
BETTERCAP
7
8
Author : Simone 'evilsocket' Margaritelli
9
Email : [email protected]
10
Blog : http://www.evilsocket.net/
11
12
This project is released under the GPL 3 license.
13
14
=end
15
16
# they hate us 'cause they ain't us
17
Encoding.default_external = Encoding::UTF_8
18
Encoding.default_internal = Encoding::UTF_8
19
20
require 'base64'
21
require 'colorize'
22
require 'digest'
23
require 'ipaddr'
24
require 'json'
25
require 'net/dns'
26
require 'net/http'
27
require 'openssl'
28
require 'optparse'
29
require 'packetfu'
30
require 'pcaprub'
31
require 'resolv'
32
require 'rubydns'
33
require 'socket'
34
require 'stringio'
35
require 'thread'
36
require 'uri'
37
require 'webrick'
38
require 'zlib'
39
require 'em-proxy'
40
41
Object.send :remove_const, :Config rescue nil
42
Config = RbConfig
43
44
def bettercap_autoload( path = '' )
45
dir = File.dirname(__FILE__) + "/bettercap/#{path}"
46
deps = []
47
files = []
48
monkey = []
49
50
Dir[dir+"**/*.rb"].each do |filename|
51
filename = filename.gsub( dir, '' ).gsub('.rb', '')
52
filename = "bettercap/#{path}#{filename}"
53
# Proxy modules must be loaded at runtime.
54
unless filename =~ /.+\/inject[a-z]+$/i
55
if filename.end_with?('/base') or filename.include?('pluggable')
56
deps << filename
57
elsif filename.include?('monkey')
58
monkey << filename
59
else
60
files << filename
61
end
62
end
63
end
64
65
( deps + files + monkey ).each do |file|
66
require file
67
end
68
end
69
70
bettercap_autoload
71
72