红日靶场五 WP | ThinkPHP RCE 如何实现内核提权导致域控沦陷?

摘要:本文为红日靶场五的完整渗透测试记录。目标环境为一台运行 phpStudy 集成环境的 Windows 7 域成员机,对外暴露 80 和 3306 端口。攻击链从 ThinkPHP 5.0.22 的 RCE 漏洞入手获取 Webshell,借
一、靶场信息 我打的是无境靶场中的红日靶场五,其靶机地址和本机地址分别为: 靶场的相关注意事项: 二、信息搜集 1、TCP 全端口扫描 + 指纹识别 + 操作系统识别: 命令: sudo rustscan -a 192.168.111.150 -r 1-65535 -- -sV -O -Pn -n -oA 192.168.111.150_TCP_ports 输出(仅列举有效信息): PORT STATE SERVICE REASON VERSION 80/tcp open http syn-ack ttl 127 Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.5.38) 3306/tcp open mysql? syn-ack ttl 127 OS: Windows Server 2008 R2 or Windows 7 SP1 (96%) 这些信息凝聚成一块得到的结论就是:集成环境 为什么? 原生生态冲突: Windows Server 的“亲儿子”生态是什么?是 IIS Web 服务器 + ASP.NET + MSSQL 数据库。而 Apache + PHP + MySQL 是 Linux 环境下的“黄金搭档”(即经典的 LAMP 架构)。 部署成本考量: 在 Linux 上,用包管理器(apt/yum)安装 Apache/PHP/MySQL 非常丝滑。但如果你尝试过在 Windows 环境下纯手工分别下载 Apache、配置 PHP 模块、再挂载 MySQL 服务,你会知道那是一件非常繁琐且容易踩坑的事情。因此,正常的大型企业生产环境,极少会煞费苦心地在 Windows Server 上手工搭建一套异构的 Apache+PHP 环境。如果他们真要用 PHP,通常会直接开一台 Linux 虚拟机。 为了解决上述痛点,国内外的厂商推出了“一键安装包”,比如 phpStudy、WampServer、宝塔面板 (Windows 版)、XAMPP 等等。 因此,当看到这三样组件同时出现在 Windows 上,且版本相对老旧时,99% 的概率它就是一个一键安装的集成环境。 2、UDP 高价值端口扫描 + 指纹识别 命令: sudo nmap -Pn -sU -sV -n --top-ports 20 192.168.111.150 -oA 192.168.111.150_UDP_ports 输出: PORT STATE SERVICE VERSION 53/udp open|filtered domain 67/udp open|filtered dhcps 68/udp open|filtered dhcpc 69/udp open|filtered tftp 123/udp open|filtered ntp 135/udp open|filtered msrpc 137/udp open|filtered netbios-ns 138/udp open|filtered netbios-dgm 139/udp open|filtered netbios-ssn 161/udp open|filtered snmp 162/udp open|filtered snmptrap 445/udp open|filtered microsoft-ds 500/udp open|filtered isakmp 514/udp open|filtered syslog 520/udp open|filtered route 631/udp open|filtered ipp 1434/udp open|filtered ms-sql-m 1900/udp open|filtered upnp 4500/udp open|filtered nat-t-ike 49152/udp open|filtered unknown 都是 open|filtered(开放或者被过滤),这基本等于没信息。 决策:先处理 TCP 端口,如果没有突破,再回到 UDP 端口,用特定的工具或者脚本去侦察。
阅读全文