瑞士军刀 Bettercap2.4 使用教程

Bettercap 是一款瑞士军刀(github地址),这款开源软件可用于网络攻击和监控:

  • Bettercap支持的特性与模块
  • macOS上部署 bettercap
  • Bettercap 使用说明
  • Bettercap模块介绍
  • Bettercap常用功能介绍

Bettercap支持的特性与模块

  • Core
    -- events.stream
    -- ticker
    -- api.rest
    -- update.check

  • Bluetooth Low Energy
    -- ble.recon / enum / write

  • 802.11
    -- wifi.recon / deauth / ap

  • Ethernet and IP
    -- net.recon
    -- net.probe
    -- net.sniff
    -- syn.scan
    -- wake on lan
    -- Spoofers

    • arp.spoof
    • dhcp6.spoof
    • dns.spoof

    -- Proxies

    • packet.proxy
    • tcp.proxy
      • modules
    • http.proxy
    • https.proxy
      • modules
  • Servers
    -- http.server

  • Utils
    -- mac.changer
    -- gps

  • Compilation
    -- on Linux and macOS
    -- on Windows
    -- on Android
    -- cross compilation(ARM example)


macOS上部署 bettercap

brew install bettercap

Bettercap 使用说明

基本命令行参数介绍(bettercap -h):

参数 描述
-autostart MODULES 自动启动时指定的以逗号分隔的模块列表(默认是 events.stream, net.recon, update.check)
-caplet FILENAME 从指定的文件读取命令,在交互模式的会话中执行他们
-eval COMMANDS 使用;作为分隔符,运行一个或多个命令,在交互式 会话中,用于通过命令行设置变量。
-iface INTERFACE 用于绑定的网络卡,如果为空,默认的接口将自动选 择(接受网卡名、ip 或者 mac 地址)
-no-history 禁用交互模式的历史文件(~/.bettercap.history)
-env-file FILENAME 加载环境变量文件(默认是~/bettercap.env)
-cpu-profile FILENAME 写入cpu 配置(用于 debug 和基准测试)
-mem-profile FILENAME 写入内存配置(用于 debug 和基准测试)
-silent 不输出所有非错误的日志
-debug 开启调试信息

基本命令介绍

运行Bettercap进入交互模式:


运行 bettercap进入交互模式

help 命令:查看帮助信息


help 命令:查看帮助信息
命令 描述
Help MODULE 查看MODULE的信息
active 打印所有运行的模块
quit 退出bettercap shell
sleep SECONDS 睡眠 SECONDS 秒
get NAME 获取变量的值(支持通配符)
set NAME VALUE 设置 NAME 变量的值为 VALUE
clear 清屏
include CAPLET 加载且运行名字为CAPLETcaplet到当前会话
! COMMAND 执行 linux shell 命令 COMMAND
alias MAC NAME 将 MAC 地址别名成 NAME

bettercap shell 命令

命令 描述
Help MODULE 查看MODULE的信息
active 打印所有运行的模块
quit 退出bettercap shell
sleep SECONDS 睡眠 SECONDS 秒
get NAME 获取变量的值(支持通配符)
set NAME VALUE 设置 NAME 变量的值为 VALUE
clear 清屏
include CAPLET 加载且运行名字为CAPLETcaplet到当前会话
! COMMAND 执行 linux shell 命令 COMMAND
alias MAC NAME 将 MAC 地址别名成 NAME

Bettercap模块介绍

events.stream

命令 描述
events.stream on 开始事件流
events.stream off 停止事件流
events.show LIMIT? 显示事件流(Example:events.show 1)
events.waitfor TAG TIMEOUT? 永久或指定的时间内等待给定的 TAG事件 (Example:events.waitfor endpoint.new, events.waitfor ble.device.new 10)
events.ignore FILTER 将不会显示带有匹配该筛选器的标识符的事件.(example: events.ignore endpoint.lost)
events.include FILTER 删除 events.ignore 中的标识符
events.filters 打印过滤的事件
events.clear 删除所有的事件流

描述:将事件打印为连续流
模块命令:

命令 描述
events.stream on 开始事件流
events.stream off 停止事件流
events.show LIMIT? 显示事件流(Example:events.show 1)
events.waitfor TAG TIMEOUT? 永久或指定的时间内等待给定的 TAG事件 (Example:events.waitfor endpoint.new, events.waitfor ble.device.new 10)
events.ignore FILTER 将不会显示带有匹配该筛选器的标识符的事件.(example: events.ignore endpoint.lost)
events.include FILTER 删除 events.ignore 中的标识符
events.filters 打印过滤的事件
events.clear 删除所有的事件流
参数 描述
events.stream.output 如果为空则事件将打印到标准输出,否则输出到指定的文件

模块参数

参数 描述
events.stream.output 如果为空则事件将打印到标准输出,否则输出到指定的文件

net.recon

命令 描述
net.recon on 开始网络主机发现
net.recon off 停止网络主机发现
net.show 展示主机列表缓存(默认按照 ip 排序)
net.show by seen 展示主机列表缓存(按照更新时间来排序)
net.show by sent 展示主机列表缓存(按照发送包来排序)
net.show by rcvd 展示主机列表缓存(按照接收包来排序)

描述:周期性查看 arp 缓存,用于管理网络中的新主机
模块命令:

命令 描述
net.recon on 开始网络主机发现
net.recon off 停止网络主机发现
net.show 展示主机列表缓存(默认按照 ip 排序)
net.show by seen 展示主机列表缓存(按照更新时间来排序)
net.show by sent 展示主机列表缓存(按照发送包来排序)
net.show by rcvd 展示主机列表缓存(按照接收包来排序)

net.probe

命令 描述
net.probe on 在后台开启网络主机探测
net.probe off 在后台关闭网络主机探测

描述:探测网络上的新主机,通过将虚拟 udp 数据包发送子网上的每个可能的ip
模块命令:

命令 描述
net.probe on 在后台开启网络主机探测
net.probe off 在后台关闭网络主机探测
参数 描述
net.probe.throttle 如果大于 0,则探测包将以毫秒为单位进行节流。 (默认=10)

模块参数:

参数 描述
net.probe.throttle 如果大于 0,则探测包将以毫秒为单位进行节流。 (默认=10)

net.sniff

命令 描述
net.sniff stats 打印嗅探配置和数据
net.sniff on 开启网络嗅探
net.sniff off 关闭网络嗅探

描述:嗅探本网络的数据包
模块命令:

命令 描述
net.sniff stats 打印嗅探配置和数据
net.sniff on 开启网络嗅探
net.sniff off 关闭网络嗅探
参数 描述
net.sniff.local 如果为 true,则考虑该计算机收发的数据包
net.sniff.filter 为嗅探设置 bpf 过滤规则(默认=not arp)
net.sniff.regexp 如果设置,只有满足该正则表达式的包会被嗅探
net.sniff.output 如果设置,则将抓到的包
net.sniff.source 从指定的 pcap 文件中嗅探数据包
net.sniff.verbose 如果为 true 则每一个抓到的包都会发送给event.stream 去显示,否则只有被应用层识别到的才会发送给event.stream(比如 sni,http 等)

模块参数:

参数 描述
net.sniff.local 如果为 true,则考虑该计算机收发的数据包
net.sniff.filter 为嗅探设置 bpf 过滤规则(默认=not arp)
net.sniff.regexp 如果设置,只有满足该正则表达式的包会被嗅探
net.sniff.output 如果设置,则将抓到的包
net.sniff.source 从指定的 pcap 文件中嗅探数据包
net.sniff.verbose 如果为 true 则每一个抓到的包都会发送给event.stream 去显示,否则只有被应用层识别到的才会发送给event.stream(比如 sni,http 等)

arp.spoof

命令 描述
arp.spoof on 开启 arp 欺骗,实现二层转发
arp.ban on 开启 arp 欺骗,并进行阻断
arp.spoof off 关闭 arp 欺骗
arp.ban off 关闭 arp 欺骗

模块介绍:对该网络中的主机进行 arp 欺骗
模块命令:

命令 描述
arp.spoof on 开启 arp 欺骗,实现二层转发
arp.ban on 开启 arp 欺骗,并进行阻断
arp.spoof off 关闭 arp 欺骗
arp.ban off 关闭 arp 欺骗
参数 描述
arp.spoof.targets 设置arp欺骗的主机以逗号分隔,默认是整个子网
arp.spoof.whitelist 设置arp欺骗的白名单,默认为空

模块参数:

参数 描述
arp.spoof.targets 设置arp欺骗的主机以逗号分隔,默认是整个子网
arp.spoof.whitelist 设置arp欺骗的白名单,默认为空

dhcp6.spoof

命令 描述
dhcp6.spoof on 开启 dhcp v6 的欺骗
dhcp6.spoof off 关闭 dhcpv6 的欺骗

模块介绍:回应 dhcp6 报文,将攻击者设置为受害者的 dns 服务器
模块命令:

命令 描述
dhcp6.spoof on 开启 dhcp v6 的欺骗
dhcp6.spoof off 关闭 dhcpv6 的欺骗
参数 描述
dhcp6.spoof.domains 设置对指定的域名进行欺骗

模块参数:

参数 描述
dhcp6.spoof.domains 设置对指定的域名进行欺骗

dns.spoof

命令 描述
dns.spoof on 开启 dns 的欺骗
dns.spoof off 关闭 dns 的欺骗

模块介绍:回应 dns 欺骗报文
模块命令:

命令 描述
dns.spoof on 开启 dns 的欺骗
dns.spoof off 关闭 dns 的欺骗
参数 描述
dns.spoof.domains 指定欺骗的域名,用逗号分隔,默认是*
dns.spoof.address 域名映射到的 ip 地址,默认为<interface address>
dns.spoof.all 如果为 true,响应所有的 dns 报文,否则只响应 dns报文目的地址为本地的报文

模块参数:

参数 描述
dns.spoof.domains 指定欺骗的域名,用逗号分隔,默认是*
dns.spoof.address 域名映射到的 ip 地址,默认为<interface address>
dns.spoof.all 如果为 true,响应所有的 dns 报文,否则只响应 dns报文目的地址为本地的报文

mac.changer

命令 描述
mac.changer on 开启 mac 修改模块
mac.changer off 关闭 mac 修改模块

模块介绍:修改活跃接口的 mac 地址
模块命令:

命令 描述
mac.changer on 开启 mac 修改模块
mac.changer off 关闭 mac 修改模块
参数 描述
mac.changer.iface 修改的接口名
mac.changer.adress 新的 mac 地址

模块参数:

参数 描述
mac.changer.iface 修改的接口名
mac.changer.adress 新的 mac 地址

syn.scan

命令 描述
syn.scan IP-RANGE [START-PORT] [END- PORT] 对给出的ip得知或者网络进行给定的端口范围进行syn扫描
mac.changer.adress 新的mac地址

模块介绍:执行 syn 的端口扫描
模块命令:

命令 描述
syn.scan IP-RANGE [START-PORT] [END- PORT] 对给出的ip得知或者网络进行给定的端口范围进行syn扫描
mac.changer.adress 新的mac地址

Bettercap常用功能介绍

dns spoof

开启bettercap,并打开 dns 欺骗的功能,并在同一网段的另外一台
windows7上设置 dns 地址为 macOS的地址:

dns spoof

在 windows7 上 ping www.koudai8.com
ping

在 bettercap 上收到 dns 请求并进行 dns 欺骗
dns

总结:(参考

arp spoof + sniff

开启嗅探功能、arp 欺骗功能,把抓到的包存为/Users/zeno/Downloads/test.pcap

sniff

查看抓包效果


wireshark

arp spoof + http proxy(参考)

编写一个 js 脚本,在目标网页加入一句图中的代码,这里我将它保存 /Users/zeno/Downloads/http_test.js

js inject

开启 bettercap
start

启动主机发现、http 代理、https 代理、arp 欺骗
more

使用同一网络的另外一台 window7 去访问 http 网页


koudai

查看 window7 上网页的 web 页面的源码,如下图已经被 inject 了目标代码


source

查看 bettercap 的 shell,成功调用 bettercap 的 inject 脚本

shell

注:攻击者可以自行重写 js 脚本实现自定义的功能


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容