靶机实战-Node
1、主机发现
netdiscover -i eth0 -r 网段
2、端口扫描
目标开放3000,22端口
3、端口详细信息扫描
22端口对应的服务为ssh
3000端口(node.js的默认端口)对应的服务为http
4、访问http服务
在网页点击没有找到有用信息
在登录页面,尝试使用弱口令/万能密码,提示登录失败!指定了不正确的凭据,没有具体说明是用户名错误还是密码错误,所以不能枚举用户名
扫一下其它目录:
默认字典没有找到其它目录,换大字典
//找出大字典的路径
大字典也一无所获,尝试查看js页面,一般会有突破口
F12,查看前端页面
admin.js
没有发现有用信息,pass
home.js
熟悉的MD5加密
MD5解密:
最后一个解密失败,没关系,我们尝试用得到的账户和密码进行登录
两个用户登录上去之后,提示如上,只有管理员用户可以访问控制面板,所以两个账户都是普通用户
尝试访问http://192.168.232.146:3000/api/users
貌似是管理员用户,尝试解密:
拿到用户名:myP14ceAdm1nAcc0uNT 密码:manchester
尝试登录:
那就下载看看:
最后是一个 = 猜测可能是base64加密
接下来解密:
将myplace.backup文件拷贝到Kali上;并进行解密
尝试将base64解密的内容以压缩包zip的形式打开
需要密码…
使用工具fcrackzip进行密码的破解
fcrackzip命令:-v(详细信息)、-b(爆破)、-u(使用解压缩来清除密码错误)、-c(使用字符串)、-p(密码)
用得到的密码解压
N多的目录
查看目录:
对于node.js而言我们首先要基本熟悉他的构架,其中 app.js:项目入口及程序启动文件。所以先查看app.js文件
连接 mongodb?用户名为mark,密码为5AYRft73VtFpc84k
这个用户名和密码很可能适用于ssh,进行尝试//目标的ssh服务是开启的
5、22端口–ssh服务
成功登录
6、提权
查看操作系统的版本
通过searchsploit命令查找漏洞
使用倒数第三个对目标系统进行提权
将该漏洞对应的44298.c文件拷贝到目标系统
//由于 /tmp文件的限制小,所以将文件上传到靶机的tmp下
利用该漏洞进行本地提权
root权限,ojbk