瑞士军刀 Bettercap2.4使用教程

文章目录

  • 瑞士军刀 Bettercap2.4 使用教程
    • Bettercap支持的特性与模块
    • macOS上部署 bettercap
    • Bettercap 使用说明
      • 基本命令行参数介绍(bettercap -h):
      • 基本命令介绍
    • Bettercap模块介绍
      • events.stream
      • net.recon
      • net.probe
      • net.sniff
      • arp.spoof
      • dhcp6.spoof
      • dns.spoof
      • mac.changer
      • syn.scan
    • Bettercap常用功能介绍
      • dns spoof
      • arp spoof + sniff
      • arp spoof + http proxy([参考][3])

瑞士军刀 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 命令:查看帮助信息
    瑞士军刀 Bettercap2.4使用教程_第1张图片

  • 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.output 如果为空则事件将打印到标准输出,否则输出到指定的文件

net.recon

  • 描述:周期性查看 arp 缓存,用于管理网络中的新主机
  • 模块命令:
命令 描述
net.recon on 开始网络主机发现
net.recon off 停止网络主机发现
net.show 展示主机列表缓存(默认按照 ip 排序)
net.show by seen 展示主机列表缓存(按照更新时间来排序)
net.show by sent 展示主机列表缓存(按照发送包来排序)
net.show by rcvd 展示主机列表缓存(按照接收包来排序)

net.probe

  • 描述:探测网络上的新主机,通过将虚拟 udp 数据包发送子网上的每个可能的ip
  • 模块命令:
命令 描述
net.probe on 在后台开启网络主机探测
net.probe off 在后台关闭网络主机探测
  • 模块参数:
参数 描述
net.probe.throttle 如果大于 0,则探测包将以毫秒为单位进行节流。 (默认=10)

net.sniff

  • 描述:嗅探本网络的数据包
  • 模块命令:
命令 描述
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 等)

arp.spoof

  • 模块介绍:对该网络中的主机进行 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欺骗的白名单,默认为空

dhcp6.spoof

  • 模块介绍:回应 dhcp6 报文,将攻击者设置为受害者的 dns 服务器
  • 模块命令:
命令 描述
dhcp6.spoof on 开启 dhcp v6 的欺骗
dhcp6.spoof off 关闭 dhcpv6 的欺骗
  • 模块参数:
参数 描述
dhcp6.spoof.domains 设置对指定的域名进行欺骗

dns.spoof

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

mac.changer

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

syn.scan

  • 模块介绍:执行 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
    瑞士军刀 Bettercap2.4使用教程_第2张图片
  • 在 bettercap 上收到 dns 请求并进行 dns 欺骗
    dns
  • 总结:(参考)

arp spoof + sniff

  • 开启嗅探功能、arp 欺骗功能,把抓到的包存为/Users/zeno/Downloads/test.pcap
    瑞士军刀 Bettercap2.4使用教程_第3张图片

  • 查看抓包效果
    瑞士军刀 Bettercap2.4使用教程_第4张图片

arp spoof + http proxy(参考)

  • 编写一个 js 脚本,在目标网页加入一句图中的代码,这里我将它保存 /Users/zeno/Downloads/http_test.js
    瑞士军刀 Bettercap2.4使用教程_第5张图片

  • 开启 bettercap
    start

  • 启动主机发现、http 代理、https 代理、arp 欺骗
    瑞士军刀 Bettercap2.4使用教程_第6张图片

  • 使用同一网络的另外一台 window7 去访问 http 网页
    瑞士军刀 Bettercap2.4使用教程_第7张图片

  • 查看 window7 上网页的 web 页面的源码,如下图已经被 inject 了目标代码
    瑞士军刀 Bettercap2.4使用教程_第8张图片

  • 查看 bettercap 的 shell,成功调用 bettercap 的 inject 脚本
    shell
    注:攻击者可以自行重写 js 脚本实现自定义的功能


你可能感兴趣的:(专业软件,计算机网络)