ettercap
bettercap是一个强大的,模块化的,方便并且容易扩展的中间人攻击框架。
一些主要的功能如下:
.支持全双工和半双工ARP欺骗。
.第一次真正实现ICMP 双向欺骗。
.可配置的DNS欺骗。
.完全自动化,可实时发现主机。
.实时获取通信协议中的安全凭证,包括HTTP(S)中的Post数据,Basic和Digest认证,FTP,IRC,POP,IMAP,SMTP,NTLM(HTTP,SMB,LDAP)以及更多
.完全可定制的网络嗅探器。
.模块化的HTTP和HTTPS透明代理,支持用户自定义插件或内置插件,注入到目标的HTML代码、JS、CSS文件,以及URL中。
.使用HSTS bypass技术拆封SSL。
.内置式的HTTP服务器。
1
2
3
4
5
6
7
8
9
以上都是胡扯,框架好不好,用了才知道.
0x01:安装(Kali 2.0平台)
以下方法都已在Kali 2.0 平台亲测,请在安装前确保主机可以正常联网
方法一:(推荐) 安装稳定版
root@Kali:~# apt-get install build-essential ruby-dev libpcap-dev
root@Kali:~# gem sources --remove https://rubygems.org/
root@Kali:~# gem sources -a https://ruby.taobao.org/
root@Kali:~# gem install bettercap
1
2
3
4
5
方法二:(不推荐) 安装最新版
root@Kali:~# git clone https://github.com/evilsocket/bettercap
root@Kali:~# cd bettercap/
root@Kali:~/bettercap# gem build bettercap.gemspec
root@Kali:~/bettercap# gem install bettercap.gem
root@Kali:~/bettercap# apt-get install build-essential ruby-dev libpcap-dev
root@Kali:~/bettercap# gem sources --remove https://rubygems.org/
root@Kali:~/bettercap# gem sources -a https://ruby.taobao.org/
root@Kali:~/bettercap# gem install bettercap.gem
1
2
3
4
5
6
7
8
说明:
推荐第一种方法安装bettercap,最保险,可以正常使用;
第二种方法安装的bettercap在我的kali linux 2.0平台下可以打开,但无法正常使用;
如果安装平台不是Kali,安装出错请查阅官方文档说明,官方地址见文章最后部分.
0x02:使用方法:
先查看当前工作的网卡接口的名称:如eth0,wlan0.
root@Kali:~# ifconfig
或者
root@Kali:~# ip address
1
2
3
然后,start !
root@Kali:~# bettercap -I wlan0 -X
或者
root@Kali:~# bettercap -I wlan0 --sniffer
1
2
3
0x03:命令参数详解
-h, --help 使用帮助;
-G, --gateway ADDRESS 手动指定网关地址,如果没有指定当前的网关,网关将被自动检索和使用;
-I, --interface 指定网络接口名,默认为eth0;
-S, --spoofer NAME 指定欺骗模块,此参数默认为ARP,支持ICMP与ARP,可设为None;
-T, --target ADDRESS1,ADDRESS2 目标IP地址,如果没有将指定整个子网为目标,
--ignore ADDRESS1,ADDRESS2 寻找目标时,忽略指定的地址;
-O, --log LOG_FILE 把所有消息记录到一个文件中,如果未指定则只打印到shell,
--log-timestamp 启用日志记录每一行的时间戳,默认禁用;
-D, --debug 调试功能,会将每一步操作详细记录,便于调试;
-L, --local 解析流经本机的所有数据包(此操作会开启嗅探器),默认为关闭;
-X, --sniffer 开启嗅探器,
--sniffer-source FILE 加载指定的PCAP包文件,而不是使用接口(此操作将开启嗅探器),
--sniffer-pcap FILE 将数据包保存为指定的PCAP文件(此操作会开启嗅探器),
--sniffer-filter EXPRESSION 配置嗅探器使用BPF过滤器(此操作会开启嗅探器);
-P, --parsers PARSERS 解析指定的数据包并用逗号分隔(此操作会开启嗅探器),支持
IRC, WHATSAPP, HTTPAUTH, HTTPS, MYSQL, POST, REDIS, DICT, COOKIE, NNTP,
MPD, SNMP, PGSQL, RLOGIN, NTLMSS, SNPP, URL, FTP, DHCP, MAIL, CREDITCARD.
--custom-parser EXPRESSION 使用正则表达式来捕获和显示嗅探的数据(此操作会开启嗅探器),
--silent 如果不是警告或者错误消息,就不显示,默认关闭,
--no-discovery 不主动寻找目标主机,只使用当前的ARP缓存,默认关闭,
--no-spoofing 禁用欺骗,同--spoofer NONE命令,
--no-target-nbns 禁用NBNS主机名,
--half-duplex 使用半双工模式,遇到大流量路由器时可以保证其正常工作,
--proxy 启用HTTP代理和重定向所有HTTP请求,默认关闭,
--proxy-https 启用HTTPS代理和重定向所有HTTPS请求,默认关闭,
--proxy-port PORT 设置HTTP代理端口,默认为8080,
--http-ports PORT1,PORT2 用逗号分隔需要重定向到代理的HTTP端口,默认为80,
--https-ports PORT1,PORT2 用逗号分隔需要重定向到代理的HTTPS端口,默认为443,
--proxy-https-port PORT 设置HTTPS代理端口,默认为8083,
--proxy-pem FILE 为HTTPS代理使用自定义PEM证书文件,默认文件为
/root/.bettercap/bettercap-ca.pem,
--proxy-module MODULE 要么加载Ruby代理模块,要么加载injectjs,
injectcss,injecthtml之一
--custom-proxy ADDRESS 使用一个自定义HTTP上游代理,而不是嵌入式的,
--custom-proxy-port PORT 为自定义的HTTP上游代理指定一个端口,默认为8080,
--no-sslstrip 禁用SSLStrip,
--custom-https-proxy ADDRESS 使用一个自定义HTTPS上游代理,而不是内置的,
--custom-https-proxy-port PORT 为自定义的HTTPS端口指定上游代理,默认为8083,
--custom-redirection RULE 使用自定义的端口重定向,格式是:
PROTOCOL ORIGINAL_PORT NEW_PORT. 例如:TCP 21 2100,重定向所有TCP流量,从端口21定向到端口2100.
--httpd 启用HTTP服务器,默认关闭,
--httpd-port PORT 设置HTTP服务器端口,默认为8081,
--dns FILE 使用DNS服务器文件作为解析表,
--dns-port PORT 设置DNS服务器端口,默认为5300,
--httpd-path PATH 设置HTTP服务器路径,默认为:./,
--kill 杀掉连接目标,不转发,
--packet-throttle NUMBER 设置要发送的每个数据包之间延迟的秒数,
--check-updates 检查更新.
0x04:使用实图
使用姿势:
其实后面可以加一个:-O /evil.log,将嗅探的信息保存到文件中,方便查看与分析
使用方式
自动的主机发现:
主机好多。。。
嗅探数据:
嗅探出了小米的服务凭证
0x05官方部分命令示例
Default sniffer mode, all parsers enabled:
sudo bettercap -X
Enable sniffer and load only specified parsers:
sudo bettercap -X -P “FTP,HTTPAUTH,MAIL,NTLMSS”
Enable sniffer and use a custom expression:
sudo bettercap -X –custom-parser “password”
Enable sniffer + all parsers and parse local traffic as well:
sudo bettercap -X -L
Enable sniffer + all parsers and also dump everything to a pcap file:
sudo bettercap –sniffer –sniffer-pcap=output.pcap
What about saving only HTTP traffic to that pcap file?
sudo bettercap –sniffer –sniffer-pcap=http.pcap –sniffer-filter “tcp and dst port 80”
Default ARP spoofing mode on the whole network without sniffing:
sudo bettercap
0x06: 后记
文章为原创,转载请注明博客出处地址;
文章参考bettercap官网:https://bettercap.org 文档、freebuf http://www.freebuf.com/tools/99607.html和个人理解与整理创作而成,顺便感谢下有道翻译~