渗透练习靶机——Node
1、主机发现
当然了,还是老规矩
2、端口扫描
2.1快速扫描端口
2.2扫描端口详细信息
可以看到22端口对应的是ssh服务
3000端口对应着http服务
3、渗透测试
访问3000端口(http服务)
3.1 首页信息,可以看到有三个头像和一个登录口
3.2 点击首页可点击内容,寻找更多信息
点击tom头像,进入另一个页面,但没有太多价值
将url中的tom改为mark,就跳之mark页面,同样的,没有什么太多利用价值
在登陆页面尝试弱口令、sql注入万能密码等未能成功
并且在尝试登陆时给出提示,指定凭证不正确,可推断不存在用户名枚举
3.4 burpsuite抓包查看登录界面是否存在逻辑漏洞
可以看到用户名密码明文传输,并且回报中有状态,更改看能否成功登录
并未成功,猜测是否不存在admin,尝试将用户名改为tom,并且发现tom只需改一个状态,将false改为true
神奇的是,我们成功的登陆了,但很明显下面的提示告诉我们tom并不是admin users
3.5 看看网页源码,看看能否寻找到和admin相关的代码
虽然并没有什么帮助,但是找到了一些路径,尝试访问这些路径
/api/admin/backup
/api/session
和上一个页面相同
/api/users/latest
这貌似是首页那三个人的账号信息,md5解码了解一下?
tom ——> spongebob
mark ——> snowflake
第三个人的出不来了,那就算了呗
但是刚才通过修改状态已经登陆过tom了,并没有什么可用信息
登录mark后,也没有什么可用信息,因为他们不是admin users,接着看代码,找下一条路径
/api/users/
这条路径下多了一个账户信息,和tom对比可以发现这个账户有可能是admin用户
用户名:myP14ceAdm1nAcc0uNT
密码:manchester
下载相关文件
把文件拖入kali中并且打开,看起来像是base64加密的,那就尝试解密
看起来像是一些目录,但是有加密
base64解码后用压缩包打开,需要输入密码
我们刚才已经有了admin用户的密码,先输进去看看,很遗憾的是并没有成功
没关系,使用fcrackzip暴力**密码
fcrackzip命令:-v(详细信息)、-b(**)、-u(使用解压缩来清除密码错误)、-c(使用字符串)、-p(密码)
成功获取unzip myplace的密码:magicword
先查看以下app.js文件
下面这张图没有任何用,娱乐娱乐!
然后我们发现了这个,一个连接mongodb的信息,用户名是mark,密码是5AYRft73VtFpc84k
这个用户名和密码尝试用ssh连接一下(22端口打开,对应ssh服务)
成功了
查看操作系统版本
那么找找有没有相关可利用的漏洞?
将该漏洞对应的44298.c文件拷贝到目标系统,/tmp文件相对限制小,所以上传至此
指令如下,请忽略密码粘贴错误的两行
提权