Featured image of post 目标某 IDC:一次低权限虚拟主机 getshell 到提权

目标某 IDC:一次低权限虚拟主机 getshell 到提权

【提醒】此文是一篇新手向的渗透文章,其中一些片段在大牛看来会觉得很可笑,还请谅解。 在我买搬瓦工 VPS 之前,用了一年多某 IDC 的便宜虚拟主机。今天,我展开了对此 IDC 的渗透测试。毕竟得出师有名,为什么要搞它呢?因为这 IDC 居然用免费空间的配置拿来当收费主机卖,还一天到晚宕机...

【提醒】此文是一篇新手向的渗透文章,其中一些片段在大牛看来会觉得很可笑,还请谅解。

在我买搬瓦工 VPS 之前,用了一年多某 IDC 的便宜虚拟主机。今天,我展开了对此 IDC 的渗透测试。毕竟得出师有名,为什么要搞它呢?因为这 IDC 居然用免费空间的配置拿来当收费主机卖,还一天到晚宕机,甚至在一次搬迁中出现了数据丢失,对我的影响比较大。

在此 IDC 的“有问必答”界面,我找到了一个上传突破口,用户可以在这里上传问题的描述图像。将图片一句话用 burp 抓包,截断,上传之。不知上传是否成功,我发现它居然是用一个专门的构造器显示图片!那么就无法直接访问图片马了。我又尝试使用 iis 短文件扫描,但由于网站是 IIS7.5 的,遂亦失败。

此路不通,所以我决定从旁站下手。发现旁站还蛮多的,看来这 IDC 用的也是虚拟主机。(自己用虚拟主机居然还向别人卖主机。。)随便打开一个进得去的,是某某商校。

访问他的./robots.txt 文件。发现这个 robots 似曾相识——这不是 dedecms 的 robots 嘛!直接访问/dede/出现 404,使用御剑扫描,得到后台地址是/admin/(你改地址也不能改个别人不知道的嘛)

看到的是熟悉的后台界面,dedecms v57 漫不经心地输入 admin,admin,居然弱口令进去了!

这里说明一下,及时没有弱口令,也可以用 dedecms v57 的各种 exp 绕过,网上都能搜到。

这里我将一句话写在 tags.php 里,也是为了隐蔽着想,密码是 ajz。

连接成功,上传大马。

之后用 wscript 执行 whoami,发现是一个类似“免费主机用户”的权限,权限很低。不过至少能执行 cmd,其实如果不能执行 cmd 的话也可以自己上传一个(←新手向提醒)

执行 systeminfo,发现目标机器是 windows server 2008 r2 x64 的,于是上对应版本的 exp。

接下来就是提权了,由于我这个大马不是用遍历方式扫目录,所以出来的目录大多是只读的,或者不可读但可以写的。所以提权都无效。这里特别感谢渗透吧群里的拿破飞机,这位大牛帮助我提权了,也给我了思路。下面是在他的指点下我进行的提权操作:

首先,我使用拿破飞机给我的扫目录马先扫了一下目录。图中扫出来的蓝色目录都是可以放 shellcode 的,我就选择 c:\windows\debug\wia 这个目录好了。

新手向提示:写 shellcode 的目录一定要可读 + 可写 + 可执行。这也就是为什么一般的 web 文件存放目录不可以执行 shellcode 的原因。三者缺一不可。

我在这个目录上传 MS15-051 提权 exp(MS15-051 提权 exp 修正版 http://www.t00ts.net/post-293.html),运行whoami。可以看到权限变成了system。

接着,我运行命令"net user ajz$ minecraft25565 /add & net localgroup administrators ajz$ /add"

其中 ajz$ 是用户名,minecraft25565 是密码。

新手向提示:一般的大马会有 shell path 和 command 两个框框,我这里的提权上面就保持 cmd.exe,下面写提权 exp 目录+“命令”。不过另一款工具 pr 的用法是 shell path 写 exp 目录,下面直接写命令,有点不一样。我增加用户时在用户名末尾加了美金符号,目的是隐藏用户,使得“net user”看不出来。

命令执行完毕,我又发现服务器 3389 是开着的,遂连接之,成功登录。

由于权限设置的严格,administrators 组也是没有权限写文件的,我这里用了另一个提权工具 taihou(https://github.com/hfiref0x/CVE-2015-1701/),也是用那个漏洞。为了“证明”我的战争“告捷”,我又往这个 idc 的网站目录里写了一句话。。。(我是个完美主义者 QAQ)

新手向提醒:注意我提权时使用的 ms.exe 是可以在 webshell 上运行的,可以执行参数中的命令;而这个 taihou 是窗口化的提权工具,适合在服务器上直接双击运行。刚开始我把 taihou 放在 webshell 上运行,导致一直不成功,这里长个教训。

上图是用菜刀成功连接写到那个 idc 空间里的一句话。

【总结&反思】

对于渗透测试:

1.旁站攻击的手法是很重要的,这个要会查、会用。有时甚至还需要 B 段、C 段的服务器来内网渗透。

2.根据 systeminfo 判断系统位数,是根据“系统类型”这一栏判断的,而不是“OS 名称”。之前我以为 OS 名称后面没有 x64 就是 32 位,导致判断出错。

3.在管理后台可以随手试一下弱口令,会有想不到的收获。常见的弱口令是 admin、123456、1234、admin888 这一类。

(下面是文章中”新手向提醒“的合集)

3.写 shellcode 的目录一定要可读 + 可写 + 可执行。这也就是为什么一般的 web 文件存放目录不可以执行 shellcode 的原因。三者缺一不可。

4.一般的大马会有 shell path 和 command 两个框框,我这里的提权上面就保持 cmd.exe,下面写提权 exp 目录+“命令”。不过另一款工具 pr 的用法是 shell path 写 exp 目录,下面直接写命令,有点不一样。增加用户时在用户名末尾加美金符号,目的是隐藏用户,使得“net user”看不出来。

5.我提权时使用的 ms.exe 是可以在 webshell 上运行的,可以执行参数中的命令;而这个 taihou 是窗口化的提权工具,适合在服务器上直接双击运行。刚开始我把 taihou 放在 webshell 上运行,导致一直不成功,这里长个教训。

对于服务器管理:

1.如果你想要和其他人共用服务器搭建网站,一定要提防”猪队友“。站长之间的交流是很有必要的。

2.服务器管理员不仅仅要设置好网站权限,还要定期打补丁,否则容易被人使用漏洞提权。

3.建议远程桌面端口不应该是默认的 3389,而应该是 50000 或 60000 附近的端口。因为入侵者扫描的时候一般是扫描 1~10000 的端口。这样可以大大减小风险。

4.如果可能还是建议装一些防护软件,像安全狗之类的。

好了,就写这么多吧

Licensed under CC BY-NC-SA 4.0