Kali+mitmproxy 超级详细的ssl劫持和窥窃动妹子上网动态(劫包,返回想要的内容)
这里提供每一步详细操作,由Hui3c编写,
前排求关注
通过本次的学习,你可以知道或学习到:
- 使用mitmproxy进行简单的ssl劫持
- 使用mitmproxy进行浏览器隐私监听
- mitmproxy简单用法
- mitmproxy劫包,修改包
一、准备阶段
1. 查看Kali和win7的ip,确保在同一局域网ping通
windows 在命令提示符输入:
C:\Users\233>ipconfig
Kali在终端输入:
root@hui:~# ifconfig
值得注意的是,我们需要记住这个网卡的号码!
#kali ip 192.168.0.128 使用网卡0
#win7 ip 192.168.0.103
2. 两台电脑在同一局域网并且能够ping通
二、简单的SSl劫持
- Kali中获取当前网关
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
三、配置防火墙规则,开启转发
主要是为了让mitmproxy监听8080端口
# 将防火墙重新配置
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
四、SSL简单攻击
- 使用默认的配置进行攻击
- 使用伪造的证书进行攻击(本篇不讲)
# 启动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这边也能看见访问的记录了!就可以看看小姐姐在干什么
六、mitmproxy 基本用法
# 如果有基础的可以直接略过本大章
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命令,这样对方使用网络感觉极差
简单的介绍几个常用的拦截方法:
拦截命令 | 作用 |
---|---|
~q | 拦截所有的请求 |
~c 403 | 拦截指定的状态,如403状态 |
~m POST | 拦截所有指定的请求,如POST请求 |
七、拦截数据包(发送)
常用的就这几个,或者可以直接在i里输入指定的url连接进行拦截,只要访问相关的页面,就会进行拦截
这时候我们就可以选中这条经过你精挑细选的结果按回车进去编辑
我们已经可以看见,已经将拦截到的请求自动变成json格式,你也可以按m键,然后查看其对应的选择,按高亮的蓝色字,就可以切换显示的样子。
如果要编辑内容的话,输入小写的e并按r选择raw body
打开后的基本用法,和vim的基本用法一样,详细的话去找vim相关的教程(本篇不讲)
输入i键后编辑好,按esc然后输入:wq 结束操作
再按一下小写的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 |
! | 非 |
& | 并 |
¦(这个符号打不出来) | 或 |
() | 一组表达式 |
关注!
Kali+mitmproxy 超级详细的ssl劫持和窥窃动妹子上网动态(劫包,返回想要的内容)相关推荐
- 超级详细的SSL安装教程,不看后悔系列!
最近开发了一款微信小程序,用的是Java后台.事先没研究过小程序的我做好直接发布了,成功之后傻眼了.出现了错误,我立刻在本地找错误,结果本地测试正常,本地代理服务器完全没有问题,访问到了服务器后台. ...
- 在虚拟机上安装Kali Linux 的教程详解(超级详细,看了此教程便一通百通)!
今天我们的教程是在vmware14上安装kali linux,详细过程如下,我会将每一步骤的截图放进来,请仔细按照教程安装~ 选择自定义 点击下一步 选择稍后安装操作系统 选择Linux,Ubuntu ...
- 超级详细学习了解进程和病毒知识
超级详细学习了解进程和病毒知识 作者:不详 来源于:黑客在线 发布时间:2007-4-3 10:26:48 超级详细了解进程和病毒知识 第一:进程是什么 进程为应用程序的运行实例,是应用程序的一次动态 ...
- 七点学完安全知识超级详细了解进程和病毒知识
七点学完安全知识超级详细了解进程和病毒知识 第一:进程是什么 进程为应用程序的运行实例,是应用程序的一次动态执行.看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序.在系统当前运行的执行程 ...
- 超级详细的解决方法 (CentOS7) :永久修改 mysql read-only 问题 could not retrieve transation read-only status server
超级详细的解决方法 (CentOS7) :永久修改 mysql read-only 问题 could not retrieve transation read-only status server 参 ...
- 在电脑上安装python的步骤-python中pygame安装过程(超级详细)
安装时是需要设置python环境变量的,下载python的时候底下有个小框框(没有默认选中) Add Python 3.7 to PATH需要选择的,如果没有选择的话,需要自己设置,我一般比较懒,卸载 ...
- MySQL数据库安装-Windows10为例【超级详细安装过程(每一步的截图)、检测安装是否成功、登录数据库并查看版本号、将MySQL添加到环境变量中、在命令行窗口操作数据库】
哈哈,这是在哔哩哔哩网站上 看的 MySQL安装步骤. 我安装的时候,截截图,希望对大家 有所帮助. 链接:https://pan.baidu.com/s/1fKFQCVHMQOmbg84UyGrKB ...
- import的用法python_Python导入模块,Python import用法(超级详细)
Python导入模块,Python import用法(超级详细) 使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库.比如说,在前面章 ...
- 1、请简述DNS的作用,并说明当你输入网址“www.nxtc.edu.cn“按下回车后,DNS是怎么工作的?(关键步骤可以给出相应图示) 2、详细描述域名劫持攻击的过程及防御方式。
一.请简述DNS的作用,并说明当你输入网址"www.nxtc.edu.cn"按下回车后,DNS是怎么工作的?(关键步骤可以给出相应图示) DNS的作用: 把网址解析转化成ip地址, ...
最新文章
- 干货 | 2021年,深度学习还有哪些研究方向可以做?
- 2021年 ,关于AI的哪些未来已来?
- 通过jquery的serializearray处理表单数据成json格式,并提交到后台处理
- 基于人工智能方法的手写数字图像识别_【工程分析】基于ResNet的手写数字识别...
- 共识协议(8)NPOS提名权益证明
- mysql中char和text的区别_mysql中text与varchar与char的区别
- PAT (Basic Level) Practice (中文)1010 一元多项式求导 (25 分)
- python人脸识别环境搭建_怎样用3分钟搭建 Python 人脸识别系统
- 特征计算 - Jaccard 相似系数与 Python 代码实现
- html自动增加一行并获取行号,javascript开发系列(table操作,table增加一行,删除一行,取行号,列号)...
- T-SQL逻辑处理之表运算符
- Java多线程归纳总结
- python 全栈开发,Day54(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)...
- Gnu Screen用法 【转】
- web项目经理手册-项目经理需要铭记在心的话
- Lightly:新一代的 Go IDE
- Cris 小哥哥的大数据项目之 HBase 模拟微博核心功能
- 吉吉拍——线上线下购物的数字化抢拍平台
- java树莓派温度传感器_树莓派连接DS18B20记录温度
- EasyUI-DataGrid下数据库数字替换成文本信息显示以及不同状态显示不同颜色
热门文章
- 信息系统与信息系统安全
- 非科班学python就业_非科班出身自学Python,这些实用方法学习方法你知道吗!
- 人工智能时代,普通的我们如何提升自己的核心竞争力
- CLICKHOUSE函数使用经验(arrayJoin与arrayMap函数应用场景)
- 辛泓睿:数字资产化,万物皆可NFT吗?
- html:对于拼多多网页的简单制作
- python练习---大球吃小球游戏
- find_in_set 函数 和 in 函数的区别用法
- java中person作用_以下Java程序中Person(){};是什么意思,有什么作用?
- ElasticSearch(全文检索服务的安装和使用)