内容简介:arp-scan 用来发现系统和指纹识别的命令行工具。从结果中可以看到node的ip是"192.168.92.129"
vulnhub 里面有很多靶场,适合web安全选手练习,今天和大家分享下node:1的思路。
信息收集
arp-scan 用来发现系统和指纹识别的命令行工具。
从结果中可以看到node的ip是"192.168.92.129"
使用nmap对端口进行探测,如下图所示:
可知开放的端口有2个,分别是:22和3000,其中3000是个web服务;
详细banner信息,如下图所示:
访问3000端口,有如下界面:
该web界面使用node.js编写,通过审计js源码,在“assets/js/app/controllers/home.js”这个文件中可以获取到存储敏感信息的位置 /api/users/latest/
,如下图所示:
访问该位置,获取到用户名和密码,如下图所示:
使用 hash-identifier
判断加密方式,为SHA-256,如下图所示:
接下来,就是破解出这个密码,使用在线工具,获得密码如下:
使用任意一个口令登录,登陆后如下图所示,没有获取到任何有价值的信息:
这里面说 Only admin users have access to the control panel currently, but check back soon to test the standard user functionality!
只有管理员用户才能访问这个界面,猜想应该还有另外的管理员帐号,直接访问 /api/users/
获取到了另外一个用户(myP14ceAdm1nAcc0uNT),如下图所示:
解出该用户的密码(manchester)后,登录可以下载该网站的备份源码,如下图所示:
审计源码
下载源码后,发现不能直接打开,首先对其进行base64解码,如下图所示:
发现是个加密文件,需要先进行破解,可以使用kali自带工具 fcrackzip
进行破解,该 工具 支持暴力破解和字典猜解两种方式,如下图所示:
fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt myplace.zip
参数 | 描述 |
---|---|
-D | 指定方式为字典猜解 |
-p | 指定猜解字典的路径 |
-u | 表示只显示破解出来的密码,其他错误的密码不显示出 |
通过字典猜解出密码为 magicword
:
解压出源代码,如下图所示:
熟悉nodejs的同学了解app.js的作用, 项目入口及程序启动文件
,里面存储着重要配置信息,从该文件中,获取到 mongodb 的配置信息,如下图所示:
使用mark的用户信息,成功登录到ssh,如下图所示:
当前用户(mark)没有root权限,需要进行提权操作。
权限提升
确定当前系统的内核版本和系统版本,如下图所示:
命令 | 描述 |
---|---|
lsb-release | 查看发行的系统版本信息 |
arch | 机器的体系架构 |
通过查看版本信息,使用 searchsploit
(漏洞查询工具) 查找,可以知道该内核版本存在漏洞可以直接提权,如下图所示:
使用 scp
命令(远程文件拷贝)将payload上传至靶机,如下图所示:
对上传的文件进行编译,如下图所示:
执行该文件,可成功提权,如下图所示;
最终将会获取到两个flag:
一个是在 /root/root.txt/
;
另一个是在 /home/tom/user.txt
文章首发:https://xz.aliyun.com/t/2695
感觉文章有帮助,烦请关注 ▶▶▶
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Flutter 完整开发实战详解(十六、详解自定义布局实战)
- 数据结构 1 线性表详解 链表、 栈 、 队列 结合JAVA 详解
- 详解Openstack环境准备
- Java泛型详解
- iOS RunLoop 详解
- Raft协议详解
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。