Node靶机下的渗透测试
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境搭建
可在vlhub上找到node靶机,进行下载后使用虚拟机打开即可
二、实验流程及步骤
1.信息收集——主机发现
查找同网段下存活主机:netdiscover -i eth0 -r 192.168.10.0/24
查看靶机所开放的端口:masscan --rate=100000 --ports 0-65535 192.168.10.145
查看对应端口所开放的服务:nmap -sV -T4 -O -p 30000,22 192.168.10.145
2.渗透测试
已知主机开启HTTP服务,对应端口为3000,访问主机
尝试弱口令,万能密码,暴力破解无果
尝试抓包看能否修改登录信息,是否存在逻辑漏洞:
此处修改error值true为false发现并无逻辑漏洞,检查页面元素,寻找可用信息:访问/api/users/latest看是否存在可用信息,对此处值进行md5解密
注意is_admin处值都为false,猜测这三个账号都不为管理员账户,使用解密后的账号密码登录:
发现并无任何权限
回到/api/users/latest目录,尝试返回上一级目录,发现is_admin值为true,解密后尝试登录,可以获得一个备份文件,下载后拖入Kali中
打开后发现以=结尾,猜测其为base64加密,对其进行解密
解压myplace.zip 发现需要输入密码:可利用kali自带解压软件进行密码暴力破解:
fcrackzip -b:暴力破解 -v:显示进度 -u:解压压缩包 -c:以后续所带字符“a"为起始 a -p:选定爆破位数 aaaaaa myplace.zip
得到密码后进行解压,访问var目录,进入myplace,可以看到app.js文件
可以发现mongodb数据库后所跟为 用户名:密码 尝试ssh远程连接
查看对应版本
使用searchsploit ununtu 16.04 查找对应版本下的漏洞
cp /usr/share/exploitdb/exploits/linux/local/44298.c /var/www/html
对脚本进行下载到html 目录下,并开启apache服务
在ssh远程连接下访问攻击者的HTML目录并下载44298.c文件
总结
在对node靶机进行渗透时,注意app.js 文件, app.js:项目入口及程序启动文件。所以记得查看app.js文件;
在打开myplace.backup 文件时,末尾为=猜测其为base64加密
在解密myplace.backup 文件时,出现大量目录形式文本,猜测其为zip格式