首先,什么是MITMf?
MITMf是一个内网劫持框架,可用于中间人攻击,包括监听目标流量,篡改目标网页甚至搭配其他工具获取目标shell。说到中间人攻击,大家可能会想问,Kali下的中间人攻击工具那么多,这个MITMf有什么与众不同的地方吗?当然,为什么称MITMf为框架而不是工具是有理由的。它具备了一个内网渗透工具技能的同时,还同时扩展了BeEF框架和Metasploit的接口。
MITMf是python写的,所以理论上来讲可以不止在Kali下运行,网上也有在Windows、MAC下安装MITMf的教程。不过我在论坛上看到许多大佬对它的评论,都是“推荐在Linux系统中运行”“简直是为Linux量身定做的”“原作者就是在Linux下开发的”之类的话。所以萝卜白菜各有所爱,我就把它放在了Linux这边,下次有机会就试试Windows吧。这次试验选择Kali、Windows7专业版为环境。
请注意:MITMf并未集成在Kali中,需要手动下载,下面详细演示一下MITMf从安装到使用的过程。因为之前我安装又卸载过,所以有些指令的回应可能和第一次安装有些不一样,请大家灵活变通。安装及使用的方法我也是从网上大佬教程中学到的,如有错误恳请斧正。
安装
1. 安装依赖库:
2. 安装virtualenvwrapper:
virtualenv可以在系统中建立多个不同并且相互不干扰的虚拟环境,使不同应用开发环境独立,环境升级不影响其他应用,也不会影响全局的python环境,它可以防止系统中出现包管理混乱和版本的冲突。而virtualenvwrapper是virtualenv的扩展管理包,用于更方便管理虚拟环境。
3. 运行并创建virtualenvwrapper:
请注意:这一步成功后会在命令行开头显示当前正在该环境(MITMf)下。
4. 克隆MITMf:
地址:https://github.com/byt3bl33d3r/MITMf.git
这里出现了些问题,不过是系统配置的原因,对总体安装过程没有太大影响,具体原因会放到最后讲。
5. 进入文件,初始化子模块:
6. 安装依赖环境:
7. 安装成功,国际惯例先-h一下:python mitmf.py -h
虚拟机开了全屏都塞不下,这里就不展示所有的内容了,从网上找了大佬的翻译给大家贴出来。
可用的插件:HTA Drive-By:注入假更新通知,并提示客户端下载HTA应用程序
SMBTrap:利用连接的客户端上的“SMB陷阱”漏洞
ScreenShotter:使用HTML5画布呈现客户端
Responder:LLMNR,NBT-NS,WPAD和MDNS中毒者
SSLstrip + :部分绕过HSTS
Spoof:使用ARP,ICMP,DHCP或DNS欺骗重定向流量
BeEFAutorun :基于客户端操作系统或浏览器类型的Autoruns BeEF模块
AppCachePoison :执行HTML5应用缓存中毒攻击
Ferret-NG :透明地劫持客户端会话
BrowserProfiler :尝试枚举连接的客户端的所有浏览器插件
FilePwn :使用后门工厂和BDFProxy通过HTTP发送的后门可执行文件
Inject :将任意内容插入HTML内容
BrowserSniper :对具有过期浏览器插件的客户端执行驱动器攻击
JSkeylogger:将JavaScript键盘记录器注入客户端的网页
Replace :替换HTML内容中的任意内容
SMBAuth :唤醒SMB挑战-响应身份验证尝试
Upsidedownternet:将图像翻转180度
Captive :创建一个强制门户,重定向使用302的HTTP请求
你可以用它来向目标网页注入payload,也可以记录目标的键盘输入,也可以通过屏幕截图的方式监控目标活动等等。但由于未知原因(可能是公司最近网络不太稳定),对靶机arp攻击后,靶机网页加载速度基本为0,所以这里就只展示代码了。
arp攻击:
如图,192.168.50.67是靶机的ip地址,后面跟的是网关。攻击成功后,在此状态下就可以查看靶机的网页活动。
网页注入:
网页截图:
键盘监听:
遗憾的是不能清楚地看到注入成功后的响应,操作步骤及指令应该是没问题的,有可能是我公司最近网络不佳,有日常浏览网页都加载很慢。更何况此时靶机的流量被他人监听转发,更加慢了。
注意:当前监听完成后输入ctrl+z便可以结束进程。
但如果还想继续使用其他插件的话,直接输入指令会报错并终止进程。
我的解决办法是两次exit,退出当前终端窗口,再重开一遍,走一遍以下流程。虽然有点麻烦,但目前没找到更好的解决办法。
失误:
从图中可以看到,系统在安装MITMf的中途突然有个报错,提示我:Could not resolve host:github.com。遇到这个问题我也是一脸懵,大佬的安装教程也没提到有这个报错啊。直到我在某论坛简单翻了几个的帖子后才明白,原来这不是安装MITMf的报错,而是问题出在了系统设置上。
首先我们确定一下,网络应该是没问题的。可以ping通百度,但是ping github却显示丢失。
查了一下,原来是github.com没有被主机解析。而解决办法也很简单,就是修改本地的host文件。一般的路径是在C盘>windows>system32>drivers>etc,windows版本与系统位数不同可能会稍有偏差。
用notepad或其他程序(记事本也可以)打开hosts,并在最后另起一行,键入“192.30.253.113 github.com”并保存。
完成后在Kali试一下,还是这样,那就再修改Kali的Host。
问题解决
来源:freebuf.com 2019-07-16 11:16:28 by: 凯信特安全团队
请登录后发表评论
注册