做了半天多 水平有限 修复类的 不会修复 可只看前5个带flag的WP
题目
ssh 端口 2222
- nacos 的 key 为多少 flag{base64decodekey} flag{xjnacos2023penguinedisecflagflagflag}
- nacos配置文件的 flag flag{9d7ffcef-bcd1-4f4b-9a2d-d51862484168}
- File Management System的 flag flag{d6c578d4a41a141d731fe7c36c8c0f77}
- root 密码多少 flag{password} flag{imArGcj9}
- 黑客留下的 backdoor 后门的绝对路径 flag{/etc/systemd/system/evilfms.service}
- 修复 4000-6000 端口漏洞
- 修复File Management System漏洞
- 清理黑客留下的backdoor
解题过程
这个题需要先渗透 后应急
扫描器扫下IP 发现存在3个WEB服务 5000(未知)、8082(FMS)、8848(Nacos)


1. nacos 的 key 为多少 flag{base64decodekey}.
http://43.192.63.251:5000/ 访问为空白页面 dirsearch扫下目录


根据特征网上发现为Docker Registry API未授权访问漏洞.
Docker Remote API 是一个取代远程命令行界面(rcli)的REST API。存在问题的版本分别为 1.3 和 1.6因为权限控制等问题导致可以通过 docker client 或者 http 直接请求就可以访问这个 API,通过这个接口,我们可以新建 container,删除已有 container,甚至是获取宿主机的 shell。
获取指定仓库中镜像的tag列表

利用工具下载容器 https://github.com/NotSoSecure/docker_fetch/
python docker_image_fetch.py -u http://43.192.63.251:5000

下载后 将 .tar.gz 文件 解压可看到目录结构
1 | for i in *.tar.gz; do tar -xzvf $i; done |
解压后如下

翻文件 查找nacos敏感文件 find . -name conf

在home目录下发现 nacos 在 applicantion.properties中找到key


解密得到 flag{xjnacos2023penguinedisecflagflagflag}
2. nacos配置文件的 flag
在nacos的 conf目录下 发现数据库密码 奈何无法解密 无法利用

去拉下私有仓库

试了好几种方法 最终解决方案参考 https://www.cnblogs.com/programmer-tlh/p/10996443.html

启动docker 进入容器

好像没啥用 接着在网上找nacos相关漏洞,在github发现了这个
nacos Default token

那么 如果在本地部署一个nacos 然后将配置文件改为和 容器相同的环境 , 通过默认账号登录获取到 accesstoken。
可不可以用这个 AccessToken去登录到靶机的后台中呢???
翻到这篇文章 https://blog.csdn.net/y995zq/article/details/137668381 文章提到可以去修改登录后的响应包
于是想在本地docker中试一下能不能按文章的思路去获取AccessToken 然后在靶机上利用【因为都是利用的同一个靶机,他们的nacos配置文件(key)都是同一个。】
在本地docker登录 但是由于不知道账号密码 无法直接登录。
然后在docker中的nacos中进行配置关闭鉴权

关闭后发现没有任何有效数据可以利用,然后又在 applicantion. 中恢复了鉴权。恢复鉴权后nacos的密码将会被重置为nacos,因此成功登录到了nacos的后台。

F12 拿到 accessToken
1 | {"accessToken":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcxNzc0MTkyNn0.3j_90EB5peq10xsqMYSwapYDEKa3iCujD7o19hmTaek","tokenTtl":18000,"globalAdmin":true,"username":"nacos"} |

在nacos中进行登录时,如果账号密码不正确 将会返回403

回到互联网上的靶机nacos ,参考https://blog.csdn.net/y995zq/article/details/137668381 的拦截返回包,我们拦截后进行修改,

将403改成200 然后将 返回内容设置为 acessToken


然后放包 成功登录到nacos的后台

在ADMIN_CONFIG中找到flag 及 file-managerpassword

flag{9d7ffcef-bcd1-4f4b-9a2d-d51862484168}
file-managerpassword
1 | file-manager: |
还有 mysql 配置【但是在docker里面好像没有mysql...,后续登录到ssh中也未发现存在mysql】

3.File Management System的 flag
在Nacos中翻到FMS的账号密码 访问8082端口

提示权限不够 要求用sysadmin123456进行登录
抓包看到是jwt认证,将name从admin改成sysadmin123456 在签名中使用jwtkey 123456

生成 eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJob3N0IiwibmFtZSI6InN5c2FkbWluMTIzNDU2IiwiZXhwIjoxNzE3NzMyNDU3LCJpYXQiOjE3MTc3MjUyNTd9.cUzyE8BizVxrRwVk1J_YFIUr2ED272TTGb_6ki0vvOc
去替换burp请求包中的token去创建目录,发现创建成功,说明方法可行,执行时成功为sysadmin123456用户。

然后重新把请求包的 token改成修改后的 jwt 刷新成功为高权限的 sysadmin123456,看到里面包含一个运维账号、图片及一个txt

下载运维账号表 保护大量IP及 root密码 但是不知道那个密码是有效的 去爆破下ssh 2222

翻完了三个文件 但是还没有找到flag ...
传个文件试试. 在hae插件里面 设置了个 flag关键字 翻下History
在上传成功后 找到flag

flag{d6c578d4a41a141d731fe7c36c8c0f77}
4.root 密码多少 flag{password}
FMS 里面给了 root 密码 但是 有很多ip的
把密码提取出来作为字典去爆破
本来用超级弱口令工具的 把ssh端口改成2222 但是扫描还是扫不出来 恼!
换hydra试试
└─$ hydra -l root -P 2222.txt -t 4 ssh://52.83.41.206 -s 2222

找到root 密码 imArGcj9
flag{imArGcj9}
5.黑客留下的 backdoor 后门的绝对路径
登录ssh 注意ssh端口是2222! 密码为 imArGcj9

查看账号和相关文件备份,没发现啥有用信息。找了下计划任务 启动项 没找到东西【在/etc/shadow 和 shadow/.bak中 看到一个_apt账号感觉有点可疑】


找下 nacos fms相关,发现一个 evilfms.service
其路径为 ./etc/systemd/system/multi-user.target.wants/evilfms.service【但是此题的问题描述有问题,应该是让提交恶意后面的绝对路径 尝试了好几次 最终确定 flag{/etc/systemd/system/svilfms.service}

flag{/etc/systemd/system/svilfms.service}
6.修复 4000-6000 端口漏洞
5000端口 存在 Docker Register API未授权
在防火墙上 配置 禁止外网访问 5000 端口
iptables -F
清除原来的【不然不起作用】
sudo iptables -A INPUT -p tcp --dport 5000 -j DROP
7.修复File Management System漏洞
FMS中存在 JWT绕过,找到对应服务使用的jar包在 home目录下 名为 fms.jar
jadx-gui 打开 fms.jar
检索关键词 sysadmin


jwt这块 需要加校验
【不会修】o.0
8.清理黑客留下的backdoor
后门被清了??? o.0 还是没设置后门呢
cat /etc/systemed/system/evilfms.service

公网访问 这个url http://
下载下来 010editor看了下 就是个png 并不是elf文件
在靶机上运行 也自然不是那个 ”后门“


在jadx中找到该路径下 也是正常文件 o.0?!! 【不知是没有后门 还是没找到 弄了很久先不弄这个了】

References
https://www.cnblogs.com/programmer-tlh/p/10996443.html
https://blog.csdn.net/y995zq/article/details/137668381
https://www.cnblogs.com/f-carey/p/18055849#tid-nzXisP