Vulnhub-Node
利用信息收集拿到路径得到账户密码,下载备份文件,base64解密后,利用fcrackzip爆破zip压缩包,得到一个文件,查看app.js,发现泄露的账户密码,连接ssh,成功连接,利用ubuntu历史版本漏洞提权
一、靶机搭建
选择扫描虚拟机

选择路径即可

开启靶机

二、信息收集
靶机信息
name: Node: 1
日期: 7 Aug 2018
难度:中等
描述:Node是一个中等级别的boot2root挑战,最初是为HackTheBox创建的。有两个标志(用户标志和根标志)和多种不同的技术可供使用。OVA已经在VMware和Virtual Box上进行了测试。
本节介绍已收集到的有关该版本的各种信息,例如网页和/或自述文件中的引文。这些信息来源通常有助于完成发布,因为作者可以给出提示*以及帮助发布和工作的方法。
扫ip
靶机ip:192.168.108.151

扫开放端口和版本服务信息
可以看到开放了22和3000端口
3000端口:3000端口通常用于多种应用和协议,但最常见的是用于开发和测试的Web应用程序。许多JavaScript框架和库(如Node.js、Express.js等)默认使用3000端口来运行本地服务器

指纹探测
使用以下命令
nmap 192.168.108.151 -p 22,3000 -sV -sC -O --version-all

目录扫描
dirb扫描没有结果,试试dirsearch扫描

有个文件上传文件,可能存在漏洞
三、Web渗透
信息收集
如下页面,访问http://192.168.108.151:3000

查看源码,发现下面的路径

访问 /home.js,得到一些账户密码

解密一下

结果如下
用户名 密码
tom spongebob
mark snowflake
rastating 无法解密
都无法成功登录

都不是管理员

访问该页面,拿到一个路径

得到一组新的账户密码

myP14ceAdm1nAcc0uNT 密码:manchester
成功登录,有一个备份文件,下载下来

下载到kali

查看一下,很多字符,base64加密

重命名

base64解码是乱码

file查看一下,是zip压缩包,重命名

unzip解压,需要密码

zip爆破
fcrackzip爆破,拿到密码:magicword

unzip解压

查看app.js文件,拿到一个信息,可能是ssh链接的密码

ssh连接
密码:5AYRft73VtFpc84k

登录成功

四、提权
找找可以用的信息

看看/home目录,有三个文件

在tom目录下发现一个user.txt文件,但是无法查看

回到/home目录,看看系统内核版本

内核版本提权
搜索一下该漏洞,选择一个exp

下载下来

本地开启web服务

下载脚本到靶机

赋予权限

gcc编译并执行,提权成功

找找root下的flag,成功发现

Vulnhub-Node的更多相关文章
- babeljs源码
babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- vulnhub靶场之Chronos:1
准备: 攻击机:虚拟机kali.本机win10. 靶机:Chronos,下载地址:https://download.vulnhub.com/chronos/Chronos.ova,下载后直接vbox打 ...
- NPM (node package manager) 入门 - 基础使用
什么是npm ? npm 是 nodejs 的包管理和分发工具.它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单. 截至 ...
- node服务的监控预警系统架构
需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作.不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性.高可靠性.鲁棒性以及直观的监控和报警 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- 细说WebSocket - Node篇
在上一篇提高到了 web 通信的各种方式,包括 轮询.长连接 以及各种 HTML5 中提到的手段.本文将详细描述 WebSocket协议 在 web通讯 中的实现. 一.WebSocket 协议 1. ...
- 高大上的微服务可以很简单,使用node写微服务
安装 npm install m-service --save 使用 编写服务处理函数 // dir1/file1.js // 使用传入的console参数输出可以自动在日志里带上request id ...
- 构建通用的 React 和 Node 应用
这是一篇非常优秀的 React 教程,这篇文章对 React 组件.React Router 以及 Node 做了很好的梳理.我是 9 月份读的该文章,当时跟着教程做了一遍,收获很大.但是由于时间原因 ...
- 利用Node.js的Net模块实现一个命令行多人聊天室
1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...
随机推荐
- kubernetes更改nodePort模式下的默认端口范围
使用nodePort模式,官方默认范围为30000-32767,详见Service官方文档. NodePort 类型如果将 type 字段设置为 NodePort,则 Kubernetes 控制平面将 ...
- Redis 中 scan 命令踩坑
原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作.但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限.所以记录下这个踩 ...
- Javadoc 使用详解
很多程序对Javadoc都不重视,认识不到Javadoc的作用,很多人都是这样认为的:"我只要写好功能就够了,写Javadoc太浪费时间,也没啥作用,还不如用写Javadoc的时间再多些个功 ...
- FLASK的基础
1.导入flask from flask import Flask #导入所需要的包 app = Flask(__name__) #实例化对象 @app.route('/hello') #装饰器r ...
- Qt/C++音视频开发78-获取本地摄像头支持的分辨率/帧率/格式等信息/mjpeg/yuyv/h264
一.前言 上一篇文章讲到用ffmpeg命令方式执行打印到日志输出,可以拿到本地摄像头设备信息,顺藤摸瓜,发现可以通过执行 ffmpeg -f dshow -list_options true -i v ...
- Qt通用方法及类库8
函数名 //异或加密算法 static QString getXorEncryptDecrypt(const QString &str, char key); //异或校验 static uc ...
- 饿了么组件中el-menu el-submenu el-menu-item三者之间的关系
饿了么组件中el-menu el-submenu el-menu-item三者之间的关系: 1.<el-menu>是菜单标签,里面可以包括:<el-submenu>和&l ...
- C# SynchronizationContext线程上下文简单说明
SynchronizationContext线程上下文说明SynchronizationContext在通讯中充当传输者的角色,实现功能就是一个线程和另外一个线程的通讯 那么Synchronizati ...
- 零基础快速入门WebRTC:基本概念、关键技术、与WebSocket的区别等
本文引用自Hussein Nasser的两个视频分享,原文内容由卢冰聪翻译整理,即时通讯网收录时有大量修订和重新排版. 1.内容概述 本文是专为学习开源实时音视频工程WebRTC的入门者编写的速成指南 ...
- OpenMMLab AI实战营 第六课笔记
OpenMMLab AI实战营 第六课笔记 目录 OpenMMLab AI实战营 第六课笔记 1.什么是语义分割 1.1 语义分割的应用 1.1.1 应用:无人驾驶汽车 1.1.2 应用:人像分割 1 ...