vulnhub渗透测试之node
这次我要进入vulnhub中著名的node靶机试试了。
先提一下,靶机下载地址为
https://www.vulnhub.com/entry/node-1,252/
靶场设置是将攻击机kali与靶机均放在vmware下的NAT网段10.1.1.0/24。
从vulnhub下载并且用vmware打开node后,还是看看是否已经给出ip地址,如果没有,就在我的kali攻击机执行买了arp-scan -l 扫描,看能否扫描出相应的ip。如果不能,通过所谓拯救模式进行操作,找出ip地址。

可见靶机IP为 10.1.1.139
nmap -A -p- 10.1.1.139

开放的端口是22和3000.。3000有关web服务hadoop-datanode Apache Hadoop,用于可靠,可扩展的分布式计算的开源项目,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。
该端口有很大尝试的必要。我们可以直接上网站10.1.1.139:3000访问

点击右上角LOGIN,发现一个login界面

首先想到的,是用弱密码和万能密码都试试。试了半天,没有效果。
右键查看源代码,该web界面使用node.js编写,我们将精力放在测试可能获取敏感信息的node.js 上。

一个个的去试着打开,看看有什么东西。渗透测试最不缺的应该就是耐心,仔细一些,都去试试,天道酬勤,可能就会有所收获!
打开assets/js/app/controllers/home.js这个js文件,发现源码中有一个get请求

访问 http://10.1.1.139:3000/api/users/latest

这些可能就是3个用户名和密码
[{"_id":"59a7368398aa325cc03ee51d","username":"tom","password":"f0e2e750791171b0391b682ec35835bd6a5c3f7c8d1d0191451ec77b4d75f240","is_admin":false},{"_id":"59a7368e98aa325cc03ee51e","username":"mark","password":"de5a1adf4fedcce1533915edc60177547f1057b61b7119fd130e1f7428705f73","is_admin":false},{"_id":"59aa9781cced6f1d1490fce9","username":"rastating","password":"5065db2df0d4ee53562c650c29bacf55b97e231e3fe88570abc9edd8b78ac2f0","is_admin":false}]
这些用户都标明不是管理员"is_admin":"false"。我们再访问
http://10.1.1.139:3000/api/users

其中就包括了管理员
{"_id":"59a7365b98aa325cc03ee51c","username":"myP14ceAdm1nAcc0uNT","password":"dffc504aa55359b9265cbebe1e4032fe600b64475ae3fd29c07d23223334d0af","is_admin":true}
对每个密码用hash-identifier判断加密方式或者直接去解密网站

最可能是为SHA-256,通过在线破解工具,可以得到下列密码

也可以选择著名的MD5破解网站

用管理员myP14ceAdm1nAcc0uNT和密码manchester登录

进入了管理员账户
按照网页提示,下载备份文件文件并且复制到kali工作目录

猜测此文件类型

myplace.backup文件类型可能为base64编码,只有一行。

发现是个加密文件,

我的kali没有fcrackzip,需要先下载安装,再执行解密
apt-get update apt-get install fcrackzip fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt myplace.zip

破解出文件解压密码为magicword

得到解压文件目录var,为网站源代码及相关文件

 
发现有文件app.js。.实际上,app.js是项目入口及程序启动文件,里面存储着重要配置信息。查看本地js文件app.js,获取到了mongodb的配置信息。3000端口web服务hadoop-datanode Apache Hadoop即用于可靠,可扩展的分布式计算的开源项目,mongodb是基于分布式文件存储的数据库

登录ssh即靶机,用户及密码为


查看系统内核版本及相关信息

使用searchsploit(漏洞查询工具) 查找是否可以提权

符合条件的Linux Kernel < 4.4.0-116 (Ubuntu 16.04.4) - Local Privilege Escalation ,相应payload为
/usr/share/exploitdb/exploits/linux/local/44298.c
scp /usr/share/exploitdb/exploits/linux/local/44298.c mark@10.1.1.139:/tmp/


编译该c文件为payload:
gcc 44298.c -o payload

执行该payload就能够提权

我们在目录 /root发现root.txt,在 /home/tom发现user.txt,打开两个文件,发现都有flag:

posted on 2021-08-07 11:06 miraitowa666 阅读(462) 评论(0) 收藏 举报
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号