测试人员:cosmos
目标地址:192.168.131.132:3000
目标账号:未知
目标主机:未知
前期信息搜集阶段略
打开192.168.131.132:3000
利用网站的黑盒测试做信息搜集
http://192.168.131.132:3000/
http://192.168.131.132:3000/login
http://192.168.131.132:3000/profiles/tom
http://192.168.131.132:3000/profiles/mark
http://192.168.131.132:3000/profiles/restating
暂时未搜集到有用信息,先对网站进行目录扫描
未扫到网站其他目录,选择对前端代码进行查看
发现可疑目录,尝试访问
/api/users/latest
发现三个用户信息,均为普通用户,密码经过加密,用kali验证一下
使用在线网站进行解密
得到密码:spongebob 账户:tom 尝试登录
提示需要管理员登录,我们再次尝试访问192.168.131.132:3000/api/users
发现多出管理员信息,同理对密码进行解密得到
账号:myP14ceAdm1nAcc0uNT 密码:manchester
成功登录管理员界面并发现可以下载文件,下载后用记事本打开
猜测应该是base64,用kali解密
结果为部分目录+乱码,我们可以尝试将base64解密的内容以压缩包zip的形式打开
解压后提示需要密码,选择使用kali自带工具fcrackzip进行破解
发现密码,进行解压
发现很多目录,对于node.js我们先查看它的app.js:项目入口及程序启动文件。
我们得到一个node.js连接mongdb的操作,其中
账户:mark 密码:5AYRft73VtFpc84k
得到的账户密码可能适合ssh,由于服务器22端口开放ssh服务,可以尝试连接
成功登录,进行提权
1.查看系统版本
2.查找该系统漏洞
searchsploit Ubuntu 16.04
选择倒数第三个(Local Privilege Escalation)对目标系统进行提权
3.将该漏洞对应的44298.c文件拷贝到目标系统
scp /usr/share/exploitdb/exploits/linux/local/44298.c [email protected]:/tmp/
4.利用该漏洞对目标进行本地提权
gcc -pthread 44298.c -o exp -lcrypt
成功提升为root权限
5.留后门+清理痕迹