跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

渗透测试全流程解析与实战方法

渗透测试是通过模拟恶意攻击来评估系统安全性的授权活动。其核心流程涵盖目标定位、信息收集、漏洞探测、漏洞利用、内网渗透、痕迹清除及报告撰写。其中信息收集阶段至关重要,涉及域名、端口、指纹等多维度数据获取。该过程旨在帮助组织发现潜在安全隐患,完善防御体系,确保业务安全。

数字游民发布于 2025/2/7更新于 2026/9/1265 浏览
渗透测试全流程解析与实战方法

近几年,我们的互联网生活中多了一词——'互联网金融'。将钱存进余额宝,用微信支付都是在参与着互联网金融活动。互联网金融不是互联网和金融业的简单结合,而是在实现安全、移动等网络技术水平上,被用户熟悉接受后,适应新的需求而产生的新模式及新业务。互联网金融的崛起对传统银行业发展带来了巨大冲击,新时期背景下传统银行业强化创新发展,提出'电子银行'的概念,随着银行业对计算机网络系统的依赖程度增加,金融产品不断创新,网点不断增加,安全管理问题也变得越来越重要,安全是电子银行业务发展的生命线。

银保监会在《电子银行业务管理办法》中要求银行不长于两年进行一次电子银行系统安全评估。电子银行安全评估一般从电子银行系统入手,分别针对安全管理、技术安全、业务安全三个层面进行剖析。在技术安全层面可通过多种技术手段进行安全评估,其中渗透测试是重要手段之一。

渗透测试对于确保安全至关重要,它是企业从外部角度测试其网络安全性的一种方式。渗透测试人员在合法合规的条件下进行渗透测试,在此过程中毁坏系统软件并浏览本不该获得的数据信息。测试人员模拟黑客攻击目标系统,可以帮助企业发现其网络哪里存在安全故障。

渗透测试

渗透测试是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估。简言之,整个渗透测试的过程就是渗透人员模拟恶意黑客的攻击手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的报告,可以清晰知晓系统中存在的安全隐患和问题。

测试基本流程

一般来说所有的测试方法可根据测试人员对目标系统信息的了解程度分为:黑盒、白盒和灰盒测试方法。以黑盒测试方法为例,测试的基本流程如下图所示,其中信息收集是整个渗透测试最重要阶段之一,可让测试者选择合适和准确的渗透测试攻击方式,缩短渗透测试的时间,通常这个阶段占据整个渗透测试时间的40%~60%。

1. 目标定位

这个阶段主要是确定渗透测试的测试计划、范围、边界和目标。

2. 信息收集

这个阶段主要是尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。收集的方法包括公开来源信息查询、Google Hacking、社会工程学等。主要收集以下几类信息:

(1)收集域名信息

whois 查询:标准的互联网协议,可用于查询网络注册信息、注册的域名、IP 地址等信息。目前有很多网页接口简化的线上查询工具,可以一次向不同的数据库查询,如 https://whois.chinaz.com 等。

备案信息查询:国家信息部对网站的一种管理,为了防止在网上从事非法的网站经营活动的发生,如天眼查 http://tianyancha.com。

(2)收集敏感信息

在互联网上查询与目标网站有关的任何信息,如 Google 是一款强大的搜索引擎,渗透者可以构造特殊的关键字语法来搜索互联网上的一些敏感页面、敏感目录、网站内可下载的文件、可能出现的 sql 注入点和文件上传点、未授权访问页面等。

(3)收集子域名信息

在线子域名收集:比较常见的在线子域名搜索(爆破)的网站有:http://z.zcjun.com/、在线子域名查询 https://phpinfo.me/domain/ 等。

利用工具:扫描工具有 oneforall、layer 子域名挖掘机、SubDomainsBrute 等。

(4)收集端口常用信息

一个网站可能会开放多个不同的端口,渗透者可以通过同一网站的不同端口进行测试,常见的如 SSH 服务端口号 22 可能存在弱口令暴力破解、HTTP 端口 80 是常见的 web 漏洞、MySQL 数据库端口 3306 可能存在弱口令暴力破解、Redis 数据库端口 6379 可能存在 Redis 未授权访问漏洞。端口扫描方法可分为在线端口扫描和利用工具扫描,其中扫描工具有 nmap 和 masscan,在线端口扫描网站有 http://tool.cc/port/、http://coolaf.com/tool/port 等。

(5)指纹识别

是指通过关键特征,识别出目标的 CMS 系统、服务器、开发语言、操作系统、CDN、WAF 的类别版本等。在渗透测试中,只有识别出相应的 web 容器或 CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作,常见的网站指纹识别工具有 whatweb 等。

(6)查找真实 IP

渗透者可以使用 Windows 下 nslookup 命令或多地 ping 查询或工具帮助检测目标网站是否使用了 CDN(内容分发网络,是在网络各处放置节点服务器在现有的互联网基础之上构建一层智能虚拟网络。使用户可就近取得所需内容,解决 Internet 网络拥挤的状况,提高用户访问网站的响应速度)。然后通过扫描网站测试文件或分站域名 ping 二级域名获取分站 IP 等方法绕过 CDN 寻找真实的 IP,最后可通过尝试直接访问 IP 等方法验证获取到的 IP。

(7)收集敏感目录文件

渗透者可以扫描网站目录结构,判断是否可以遍历目录或是否存在敏感文件泄露。针对网站目录的扫描可分为在线网站扫描和利用工具扫描,其中扫描工具有 DirBuster、wwwscan 等,在线扫描网站有 WebScan、dirsearch 等。

(8)社会工程学

不常用但可能有用的方法,如取得信任和欺骗、利用信息的不对称、在网络上搜寻蛛丝马迹、拼凑碎片化的信息、社工库的利用或密码心理学等。在 Kali Linux 中包含一个非常流行的工具包—社会工程学工具包(Social Engineer Toolkit, SET)。利用这个工具包,再加上使用者的'演技',常常会让受害者在不知不觉中就掉入陷阱。

3. 漏洞探测

这个阶段是当渗透者收集到足够多的信息之后,就可以对网站进行漏洞探测,探测网站是否存在一些常见的 web 漏洞,如:SQL 注入、XSS 跨站脚本、CSRF 跨站请求伪造、弱口令漏洞、HTTP 报头追踪漏洞、文件上传漏洞、私有 IP 地址泄露漏洞、未加密登录请求漏洞、敏感信息泄露漏洞、struts2 远程命令执行漏洞等。常用的网站漏洞扫描工具有:AWVS、AppScan 等。

4. 漏洞利用

此阶段是当渗透者探测到目标网站存在的漏洞之后,就可以对漏洞进行利用。漏洞利用是利用一切可以利用的工具,采用一切可以采用的方法,找到一切可以找到的漏洞,并通过对漏洞资料的研究分析,从而达到获取网站用户资料、添加用户、甚至入侵网站获得管理权限控制整个目标网站的目的。常见的漏洞利用有:

(1)空白或默认口令

把管理性口令留为空白或使用产品生产商所设置的默认口令。

(2)默认共享密钥

安全服务有时会把用于开发或评估测试目的的默认安全密钥打入软件包内。如果这些密钥不经改变而被用于互联网上的生产环境,那么任何拥有同样的默认密钥的用户都可以使用那个共享密钥资源,以及其中的保密信息。

(3)IP 假冒

某个远程机器是你的本地网络上的一个节点,它在你的服务器上寻找弱点,并安装一个后门程序或特洛伊木马来获取对你的网络资源的控制。

(4)应用程序弱点

攻击者在桌面系统和工作站应用程序(如电子邮件客户程序)中寻找缺陷并执行任意编码、插入用于未来攻击行为的特洛伊木马、或者崩溃系统。如果被危及的工作站拥有对整个网络的管理特权,还会发生进一步的漏洞利用。

5. 内网转发

此阶段是当渗透者获得了目标网站外网服务器的一定权限后发现这台服务器可以直接或间接的访问内网,对内网主机信息进行探测。

一般情况下,内网中的其他机器是不允许外网机器访问,渗透者可以通过端口转发或将这台外网服务器设置为代理,使得渗透者的攻击机可以直接访问与操作内网中的其他机器。常见的内网转发形式有:

(1)反弹 shell

是指攻击机监听在某个 TCP/UDP 端口为服务器,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。常用工具有 netcat、bash、socat 以及各种脚本。

(2)反弹端口(端口转发)

是指目标服务器的某一个端口不能访问,通过反弹端口,使攻击者能够访问该端口。常用的工具有 lcx、利用 netsh(windows 防火墙)以及 ssh 隧道等。

(3)反弹代理

是指将攻击者的流量转发到内网其他服务器上,反弹代理之后攻击者就可以访问目标机的所有端口。常用的工具有 EarthWorm、reGeorg 等

6. 内网横向渗透

此阶段是渗透者已经攻击到内网,通过肉鸡(被黑客入侵并被长期驻扎的计算机或服务器。可以随意控制,可以是任意系统的设备,对象可以是企业、个人、政府等所有单位)作为跳板(使用肉鸡 IP 来实施攻击其他目标,以便更好的隐藏自己的身份信息)去获取更多的计算机权限,从而控制整个内网。常用的横向渗透技术如下:

以 at&schtasks 举例说明:在已知目标系统的用户明文密码的基础上,可以直接在远程主机上执行命令,用法:

(1) at

# 示例命令格式
at \target_computer time command

(2) schtasks

# 示例命令格式
schtasks /create /s target /u user /p pass /tn taskname /tr command

7. 痕迹清除

此阶段是渗透者渗透进目的网站后清除留下的一部分痕迹。渗透痕迹并不能完全清除,痕迹清除主要是为了增加管理员发现入侵者的时间成本和人力成本。此阶段主要以隐藏自身身份为主,最好的手段是在渗透前挂上代理,渗透后痕迹清除。

针对不同的系统有不同的痕迹清除方法,本节简单介绍 Windows 系统上的痕迹清除方法。

渗透的系统为 Windows 系统,有远程桌面权限时手动删除日志:开始->程序->管理工具->计算机管理->系统工具->事件查看器->清除日志

(1)wevtutil

wevtutil cl Security

(2)Meterpreter

# Meterpreter 清理日志命令
clearev

(3)消除 recent

在文件资源管理器中点击'查看'—>'选项'—>'常规'—>隐私中点击'清除'或删除 C:\Users\Administrator\Recent 下所有内容

8. 撰写渗透测试报告

此阶段是渗透者完成渗透测试之后生成测试产出物。渗透测试报告是渗透测试过程中所有发现的摘要文档,包括但不限于所使用的方法、测试范围、假设以及漏洞的严重程度等,可用于消除已发现的漏洞和风险,防止被黑客攻击。

结语

渗透测试以入侵者的思维方式,模拟使用攻击对手可用的各种手段,对目标系统进行全面深入的渗透入侵和攻击演练。针对银行而言,业务安全是安全的核心所在,若能构建以业务安全为核心的渗透测试机制,在新的安全形势下,会更有效地发现安全问题。

目录

  1. 渗透测试
  2. 测试基本流程
  3. 1. 目标定位
  4. 2. 信息收集
  5. 3. 漏洞探测
  6. 4. 漏洞利用
  7. 5. 内网转发
  8. 6. 内网横向渗透
  9. 示例命令格式
  10. 示例命令格式
  11. 7. 痕迹清除
  12. Meterpreter 清理日志命令
  13. 8. 撰写渗透测试报告
  14. 结语

更多推荐文章

查看全部
  • 机器人脑部药物递送三大技术路径可转化性分析
  • LLM 评估框架详解:Arthur Bench 实践指南
  • Llama-3.2-3B 代码审查实战:基于 Java 面试题的质量评估
  • 2026 年实测好用 AI 写作平台推荐:中文、学术、职场及国际场景
  • 土木专业转行互联网产品经理的路径与经验总结
  • C++26 新特性解析:线程亲和性与性能优化
  • 普通产品经理转型 AI 产品经理的准备与能力要求
  • 从 2025 看 2026 前端发展趋势
  • OpenClaw 对接飞书机器人:插件安装与回调配对常见问题排查
  • 基于 DeepSeek-OCR-WEBUI 的 OCR 技术实践:多语言与复杂场景支持
  • 《Agent Runtime 工程化》第五章 上下文工程:5.3 repo map 与文件摘要
  • OpenClaw 集成 QVeris 实现 AI 实时数据查询
  • IntelliJ IDEA 集成 GitHub Copilot 安装与实战指南
  • 基于视觉的增强现实特效技术解析与实战
  • SkyWalking .NET / C++ / Lua 探针现状与社区支持
  • AI 数据标注平台的选型与实践:效率提升背后的技术逻辑
  • 网络安全行业前景深度解析与入行路径建议
  • 自然语言处理在客户服务领域的实战应用
  • ASP.NET 公司 Web 服务部署与调试实践
  • 数据结构基础:二叉树与堆的实现详解

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online