渗透练习靶机——Node

1、主机发现

当然了,还是老规矩

渗透练习靶机——Node

2、端口扫描

2.1快速扫描端口

渗透练习靶机——Node

2.2扫描端口详细信息

渗透练习靶机——Node

可以看到22端口对应的是ssh服务

3000端口对应着http服务

3、渗透测试

访问3000端口(http服务)

3.1 首页信息,可以看到有三个头像和一个登录口

渗透练习靶机——Node

3.2 点击首页可点击内容,寻找更多信息

点击tom头像,进入另一个页面,但没有太多价值

渗透练习靶机——Node

将url中的tom改为mark,就跳之mark页面,同样的,没有什么太多利用价值

渗透练习靶机——Node

在登陆页面尝试弱口令、sql注入万能密码等未能成功

并且在尝试登陆时给出提示,指定凭证不正确,可推断不存在用户名枚举

3.4 burpsuite抓包查看登录界面是否存在逻辑漏洞

渗透练习靶机——Node

可以看到用户名密码明文传输,并且回报中有状态,更改看能否成功登录

渗透练习靶机——Node

并未成功,猜测是否不存在admin,尝试将用户名改为tom,并且发现tom只需改一个状态,将false改为true

渗透练习靶机——Node

神奇的是,我们成功的登陆了,但很明显下面的提示告诉我们tom并不是admin users

渗透练习靶机——Node

3.5 看看网页源码,看看能否寻找到和admin相关的代码

虽然并没有什么帮助,但是找到了一些路径,尝试访问这些路径

渗透练习靶机——Node

/api/admin/backup

渗透练习靶机——Node

/api/session

和上一个页面相同

/api/users/latest

渗透练习靶机——Node

这貌似是首页那三个人的账号信息,md5解码了解一下?

tom ——> spongebob

mark ——> snowflake

第三个人的出不来了,那就算了呗

但是刚才通过修改状态已经登陆过tom了,并没有什么可用信息

登录mark后,也没有什么可用信息,因为他们不是admin users,接着看代码,找下一条路径

/api/users/

渗透练习靶机——Node

这条路径下多了一个账户信息,和tom对比可以发现这个账户有可能是admin用户

用户名:myP14ceAdm1nAcc0uNT

密码:manchester

渗透练习靶机——Node

下载相关文件

把文件拖入kali中并且打开,看起来像是base64加密的,那就尝试解密

渗透练习靶机——Node

看起来像是一些目录,但是有加密

base64解码后用压缩包打开,需要输入密码

渗透练习靶机——Node

我们刚才已经有了admin用户的密码,先输进去看看,很遗憾的是并没有成功

没关系,使用fcrackzip暴力**密码

fcrackzip命令:-v(详细信息)、-b(**)、-u(使用解压缩来清除密码错误)、-c(使用字符串)、-p(密码)

成功获取unzip myplace的密码:magicword

渗透练习靶机——Node

先查看以下app.js文件

下面这张图没有任何用,娱乐娱乐!

渗透练习靶机——Node

然后我们发现了这个,一个连接mongodb的信息,用户名是mark,密码是5AYRft73VtFpc84k

渗透练习靶机——Node

这个用户名和密码尝试用ssh连接一下(22端口打开,对应ssh服务)

渗透练习靶机——Node

成功了

渗透练习靶机——Node

查看操作系统版本

渗透练习靶机——Node

那么找找有没有相关可利用的漏洞?

渗透练习靶机——Node

将该漏洞对应的44298.c文件拷贝到目标系统,/tmp文件相对限制小,所以上传至此

指令如下,请忽略密码粘贴错误的两行

渗透练习靶机——Node

提权

渗透练习靶机——Node