本人前几天,刚参加一场线下安全赛,特其中一台靶机攻击过程分享下其中的坑。
靶机IP :172.16.1.107
Web 访问似乎没什么有价值的东西
Nmap 看下是否有其他收获?
咋一眼看过去除了 80 端口的 web 以为就没其他端口了,尝试着进行全端口扫描发现,还是一样。
后来仔细进行 nmap -sV 扫描,还有一个 82 端口,尝试 web 访问。
存在一个 ucenter home 的站点,首先考虑了是否存在当前 cms 的漏洞
后来一想,如果单纯是 cms 的漏洞,何必需要之前 80 端口上的 IIS 列目录。
分别将两个站点内容对比下,发现 80 端口上的 logo.gif 文件与 82 站点的 logo 一致。
那么现在可以肯定 80 的 IIS 站点肯定是 82 主站的图片存放位置。
看到 IIS 想起了 IIS 存在写入漏洞,拿出工具扫描一番
看来存在漏洞,尝试上传 asp webshell
上传成功,接下来 move 一下就好了。
Shell.asp 创建成功。
尝试访问 404,未找到该文件……
明明存在,为何未找到呢?
后来考虑到估计就是 IIS 的 80 端口不允许我们访问。
这些想起前面的82端口主站是跟80端口有联系。
80 无法访问,那就借助 82 端口,
82 端口是 PHP 站点,那么直接上传 php webshell 就好了,
菜刀连接成功
发现 FLAG 值一个
从目录结构来看,是appserv搭建,权限不够看来得提权
在 web 根目录底下发现连接数据库配置文件,可尝试进行数据库提权。
进行 udf 提权,上传 udf.php 文件。
如果这边对 udf 提权原理不熟悉,可能不好提权,有个坑
UDF提权条件
(1) Mysql 版本大于 5.1 版本 udf.dll 文件必须放置于 MYSQL 安装目录下的 libplugin
文件夹下。
(2) Mysql 版本小于 5.1 版本。udf.dll 文件在 Windows2003 下放置于 c:windowssystem32
,在 windows2000 下放置于 c:winntsystem32
。
当前版本当然大于 5.0,mysql 数据库底下没有 lib 目录
所以需要在 appserv mysql 目录下的 lib 目录新建一个 plugin 目录
然后在用 udf 提权脚本导入 udf.dll 然后再创建 system shell 函数
Mysql 数据库底下发现存在一个 FLAG 数据库,把数据库下载下来,扔到本地的 PHPstudy 的 mysql/data
文件夹底下环境中,本地去查看 FLAG值
最近看到一篇 mysql 数据库利用的总结博文,挺全面的,如下:
http://blog.51cto.com/simeon/1981572
后来考虑到数据库提权还是挺麻烦的还不如使用 exp 更快。
经过多个 exp 尝试,发现 ms15-077 可以提权成功。
修改 administrator 密码
接下去开 3389 远程桌面,被拒绝访问了,应该不是权限问题,而是语句问题,尝试更换别的。
最终上传了个 kai3389.exe 成功开启
远程桌面连接发现桌面大大的一个 FLAG,记事本打开看见乱码,虽然可以 FLAG{},但是内容是乱码,估计不是最终值,都是 % 估计是 url 编码
Url 解密得到一串 base64 值,再进行 base64 解码
至此整个靶机入侵提权成功。