利用信息收集拿到路径得到账户密码,下载备份文件,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的更多相关文章

  1. babeljs源码

    babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...

  2. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  3. vulnhub靶场之Chronos:1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Chronos,下载地址:https://download.vulnhub.com/chronos/Chronos.ova,下载后直接vbox打 ...

  4. NPM (node package manager) 入门 - 基础使用

    什么是npm ? npm 是 nodejs 的包管理和分发工具.它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单. 截至 ...

  5. node服务的监控预警系统架构

    需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作.不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性.高可靠性.鲁棒性以及直观的监控和报警 ...

  6. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  7. 细说WebSocket - Node篇

    在上一篇提高到了 web 通信的各种方式,包括 轮询.长连接 以及各种 HTML5 中提到的手段.本文将详细描述 WebSocket协议 在 web通讯 中的实现. 一.WebSocket 协议 1. ...

  8. 高大上的微服务可以很简单,使用node写微服务

    安装 npm install m-service --save 使用 编写服务处理函数 // dir1/file1.js // 使用传入的console参数输出可以自动在日志里带上request id ...

  9. 构建通用的 React 和 Node 应用

    这是一篇非常优秀的 React 教程,这篇文章对 React 组件.React Router 以及 Node 做了很好的梳理.我是 9 月份读的该文章,当时跟着教程做了一遍,收获很大.但是由于时间原因 ...

  10. 利用Node.js的Net模块实现一个命令行多人聊天室

    1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...

随机推荐

  1. Qt/C++自定义界面大全/20套精美皮肤/26套精美UI界面/一键换肤/自定义颜色/各种导航界面

    一.前言 这个系列对应自定义控件大全,一个专注于控件的编写,一个专注于UI界面的编写,程序员有两大软肋,一个是忌讳别人说自己的程序很烂很多bug,一个就是不擅长UI,基本上配色就直接rgb,对于第一点 ...

  2. ubuntu更换conda的源

    ubuntu更换conda的源有两种方法:一.使用命令行更换Conda源至国内镜像站点.二.直接创建并编辑编辑conda的配置文件.condarc. 一.使用命令行更换Conda源至国内镜像站点 要在 ...

  3. blast只保留一个最优结果

    使用blast比对时,只保留一个最优结果 代码: blastn -db nt.blast.db -query seq.fa -out blast.nt.result -evalue 1e-5 -out ...

  4. Kubernetes-介绍

    1. kubernetes 是什么? Kubernetes 是一个可移植的.可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化. Kubernetes 这个名字源于希腊语,意为 ...

  5. WxPython跨平台开发框架之使用PyInstaller 进行打包处理

    使用PyInstaller 打包Python项目是一个常见的需求,它可以将Python程序及其所有依赖项打包成一个独立的可执行文件或者安装文件,方便在没有安装Python环境的机器上运行.本随笔介绍W ...

  6. w3cschool-Flink 入门

    Flink 入门   Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态的计算.Flink被设计为在所有常见的集群环境中运行,以内存中的速度和任何规模执行计算. A ...

  7. runoob-Lua 教程

    https://www.runoob.com/lua/lua-tutorial.html Lua 特性 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里. ...

  8. Dicom C-move 请求QR服务

    个人理解 Dicom C-get 就是在没有设置任何验证情况下请求QR服务,而C-move是有验证的情况下请求QR服务.一般都是C-move,因为机器都需要验证. Dicom C-move 原理:自己 ...

  9. 在 Windows 10 上实现免密码 SSH 登录

    前言 在日常开发中,SSH(Secure Shell)作为一种安全的远程登录协议,广泛用于 Linux 和 Windows 系统之间的连接.为了提高效率,我们可以通过配置免密码登录,省去每次连接时输入 ...

  10. VulNyx - Responder靶场

    靶机ip 192.168.200.9 先nmap 扫描全端口 这个22端口不知道有没有开 被过滤了 我们 收集一下靶机的ipv6地址 nmap用ipv6地址扫他的端口就能绕过 他的端口过滤 ping6 ...