渗透测试思路总结

news2025/4/5 19:16:49

一、说明

《Metasploit 渗透测试魔鬼训练营》等书已经对渗透测试的步骤流程划分得比较合理透彻了,但感觉在多次通读该类书藉之后仍总感觉不得要领----要对一台给定的主机进行渗透还是不懂到底该如何着手。想来主要是存在以下两个问题。

第一个是在渗透操作系统时,最为关键的从漏洞分析到渗透攻击这一步很难跨越。因为按书中漏洞分析基本只有 openvas 等漏洞扫描器一条途径,漏洞利用只有 Metasploit 搜索一条途径;而漏洞扫描器扫出漏洞 Metasploit 中又正好有利用模块更是少之又少。

第二个是在渗透 web 系统时,还是和其他很多书藉一样只讲漏洞,而并不能很明确地指出面对一个 web 系统我怎么知道在哪我应该检测哪些漏洞。

本文一是肯定和总结现在主流的渗透测试的步骤,二是拓展渗透操作系统时从漏洞分析到渗透攻击的途径,三是指出渗透 web 系统可采用“功能–功能对应检测点”这种触发式渗透方式。

二、渗透操作系统(服务版本号漏洞检索法)

操作系统类漏洞一般都是大神们通过代码审计/逆向分析挖掘的漏洞,这需要高深的知识储备,对于一般的渗透而言利用已知漏洞即可,不用也不要自己去挖掘这类漏洞。而查找操作系统类漏洞关键的操作就是确定端口后边的软件及软件版本,然后得用得到的软件名+软件版本到各漏洞库去查找其存在的漏洞乃至 exp。这里不妨称之为“服务版本号漏洞检索法”。

👉[CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]安全链接,放心点击

【一>所有资源获取<一】1、电子书籍(白帽子)2、安全大厂内部视频 3、100 份 src 文档 4、常见安全面试题 5、ctf 大赛经典题目解析 6、全套工具包 7、应急响应笔记 8、网络安全学习路线

2.1 获取正在监听端口的软件及该软件的版本号

比如假设我们探测到 8080 端口为 tomcat 监听,版本号为 8.5.14

img

2.2 搜索已有漏洞库,获取该软件及相应版本存在的漏洞列表

2.2.1 搜索 CVE 漏洞库,获取软件及相应版本存在的漏洞列表

img

img

这样我们就找到了 tomcat 8.5.14 版本存在的几个漏洞,后边以 CVE-2017-12617 为例

2.3 查看 CVE 具体信息

2.3.1 在 cvedetails 查看 CVE 具体信息

img

img

2.3.2 在 mitre 查看 CVE 具体信息

img

img

2.4 通过 CVE 查找 EXP

2.4.1 在上边的 cvedetails 或 mitre 结果中拉到后边的 References For CVE-xxx 参考区里边有可能有 exp 链接

img

img

在上边已经可看到 CVE-2017-12617 对应的 exploit-db 和 metasploit 中的 exp 链接

2.4.2 在上边的 cvedetails 中直接点击搜索 twitter/youtube/google

img

img

2.4.3 到 metasploit 数据库查找 exp(msfconsole 中 search 可能需要更新)

img

2.4.4 到 exploit 数据库查找 exp(不爬墙验证码一般出不来,那只能 kali 中 searchsploit 了)

img

2.4.5 到 github 查找 exp

img

img

2.4.6 openvas 等系统漏洞扫描器

三、渗透 web 系统(功能触发式检测法)

web 系统也可以利用现成的漏洞,如各类 CMS 的漏洞(比如 ecshop)、各类插件的漏洞(比如 wordpress 的各类插件漏洞)、各类框架的漏洞(比如 struts 反序列化)、各类中间件漏洞(比如 weblogic 反序列化),这类漏洞在确认 web 系统使用了该 CMS、该插件、该框架、该中间件之后和操作系统类漏洞一样到各漏洞库去找利用方式即可。web 渗透更多地是自己去挖掘出其存在的漏洞。

web 漏洞我个个喜欢分为业务逻辑漏洞和技术型漏洞两类,业务逻辑漏洞的定性是每套系统都有自己实现无统一的漏洞签名无法使用通用扫描器发现的漏洞,技术型漏洞的定性是因一致的实现或使用一致的第三方组件导致有相对统一的漏洞签名可以使用通用扫描器发现的漏洞(其实看下也没分得那么清还没想得很清楚)。

很多教程都是东一榔头西一棒槌讲各类漏洞也讲得挺清楚,但要去渗透时总感觉一是给定一类漏洞不知道可以去哪些位置找二是给定一个位置又不知道可能会存在哪些漏洞。结合自己的经验我觉得可以自己构建一个“功能----功能对应检测点”的表,以后自己去渗透只要看到 web 系统有某个功能就去检测其对应检测点即可。这里暂且称之为“功能触发式检测法”。

3.1 信息收集(信收集的目地是锁定可用手段的范围)

网站真实 IP–站长、nslookup、dig、www.cz88.net、tcroute

操作系统–TTL、index.PHP、访问不存在页面

网站语言–index 等一众页面的后缀、respone 包头

服务器–访问不存在页面、respone 包头、whatweb

数据库–注入报错、telnet 端口

主机端口–Nmap、arp_swwep、portscan

子域名查询–subdomain.chaxun.la

网站 CMS–Power By、site+“CMS”;百度”xxx CMS 漏洞“

攻击面解析–awvs 等爬虫式发现页面、御剑/dirb 等暴破式发现隐藏页面、如果是某种标准协议则查看协议查找隐藏接口或隐藏参数

3.2 业务漏洞检测(各项业务都可攻击)

3.3 技术型漏洞检测

四、其他类型渗透

4.1 客户端攻击

原理:利用软件的解析错误溢出执行装于文件中的 exp

browser_autopwd 模块构造网页自劝溢出攻击浏览器

ms10_087 模块配置生成畸型文件弄到靶机打开

adobe_cooltype_sing 生成畸型 pdf 攻击 adobe

4.2 社会工程学

利用 msfvenom 生成各平台的包含了 payload 的木马

利用 setoolkit 制作钩鱼网站或有畸形文件的邮件

UitraISO+Hacksaw 制作木马启动盘

拿着姓名/手机/邮箱等到各网站搜一圈看注册信息

4.5 无线安全

aircrack-ng 破解 wifi 密码

Airmom-ng 假冒 ap,并利用 karma 架设假冒服务

4.6 后渗透攻击

所谓后渗透就是拿到主机 shell 后,提权/清除日志/增加更稳定后门/内网渗透等工作

Meterpreter 可以理解为是 windows 的 cmd,linux 的 shell

日志--C:\Windows\System32\winevt\Logs、/var/log

网安&黑客学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果需要可以点击链接免费领取或者滑到最后扫描二v码

👉[CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]安全链接,放心点击

图片

同时每个成长路线对应的板块都有配套的视频提供:

图片

因篇幅有限,仅展示部分资料,朋友们如果需要可以点击链接免费领取或者滑到最后扫描二v码

👉[CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]安全链接,放心点击

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

图片
图片
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接或者保存图片到wx扫描二v码免费领取保证100%免费

👉[CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]安全链接,放心点击

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/667550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Yolov8优化:引入Soft-NMS,提升密集遮挡场景检测精度

1.Soft-NMS介绍 论文地址:https://arxiv.org/pdf/1704.04503.pdf NMS需要优化的参数: IoU 的阈值是一个可优化的参数,一般范围为0~0.5,可以使用交叉验证来选择最优的参数。 R-CNN会从一张图片中找出n个可能是物体的矩形框,然后为每个矩形框为做类别分类概率: 就…

maven测试依赖的排除

1、概念 当 A 依赖 B&#xff0c;B 依赖 C 而且 C 可以传递到 A 的时候&#xff0c;A 不想要 C&#xff0c;需要在 A 里面把 C 排除掉。而往往这种情况都是为了避免 jar 包之间的冲突。 所以配置依赖的排除其实就是阻止某些 jar 包的传递。因为这样的 jar 包传递过来会和其他 …

parallelStream与CompletableFuture

1 了解parallelStream parallelStream怎么实现的并行处理呢&#xff1f; 其底层是Fork/Join并行计算框架的默认线程池&#xff0c;默认线程池的数量就是处理器的数量&#xff0c;可以使用系统属性&#xff1a;-Djava.util.concurrent.ForkJoinPool.common.parallelism{N} 调整…

【数据库】MySQL 高级(进阶) SQL 语句

文章目录 前提条件一、常用查询1. SELECT&#xff08;显示查询&#xff09;2. DISTINCT&#xff08;不重复查询&#xff09;3. WHERE&#xff08;有条件查询&#xff09;4. AND/OR&#xff08;且/或&#xff09;5. IN &#xff08;显示已知值的字段&#xff09;6. BETWEEN&…

自驾出游擅自使用对讲机属于违法行为?

周末或节假日大多数人通常都会选择自驾出游&#xff0c;或是叫上自己的好友一起出游&#xff0c;这个时候就可以组成一个车队。为了沟通起来更方便&#xff0c;大家一般都喜欢配个对讲机。 不过据调查显示&#xff0c;大多数人并不认为擅自使用对讲机算违法行为。在多个电商平…

【计算机视觉】OFA:通过一个简单的seq2seq的学习框架来统一架构、任务和模态

文章目录 一、导读二、摘要三、介绍四、OFA4.1 I/O & Architecture4.1.1 I/O4.1.2 Architecture 4.2 Tasks & Modalities4.3 预训练数据集4.4 训练与推理4.5 缩放模型 五、实验结果5.1 跨模态任务的结果5.2 单模态任务的结果5.3 zero-shot学习和任务迁移 六、测试结果七…

测试不为人知的小秘密,你占了几个?

1、线上出现小bug&#xff0c;小本本记下&#xff0c;后面偷偷给开发提个bug。 2、操作服务器时&#xff0c;把数据库玩坏了&#xff0c;系统玩崩了&#xff0c;加班熬夜默默的抢救修复。 3、和开发吵了一架&#xff0c;然后重点照顾了他负责的模块&#xff0c;找了一堆bug&a…

智慧无线灌溉在园林中的应用

智慧无线灌溉技术是解决人们生活用水与园林灌溉之间用水矛盾的有效措施之一&#xff0c;对提升园林灌溉效率和节约水资源有着重要的意义。 智慧无线灌溉系统可以自动感知园林植物周围的环境温度、水分等要素&#xff0c;并对感知到的要素进行详细分析和判断&#xff0c;以确定…

小白到运维工程师自学之路 第四十一集 (shell脚本的基本使用)

一、概述 Shell是一种命令行解释器&#xff0c;它是一种编程语言&#xff0c;用于在操作系统上执行命令和脚本。Shell语言是一种脚本语言&#xff0c;它可以用于自动化任务、批处理、系统管理和编写简单的程序。Shell语言通常用于Unix和Linux操作系统中&#xff0c;但也可以在其…

MySQL优化--索引创建原则,索引什么时候会失效

目录 索引创建原则 面试回答 索引什么时候会失效 面试回答 索引创建原则 1). 针对于数据量较大&#xff0c;且查询比较频繁的表建立索引。 2). 针对于常作为查询条件&#xff08;where&#xff09;、排序&#xff08;order by&#xff09;、分组&#xff08;group by&…

链路追踪SkyWalking整合项目以及数据持久化

1. 微服务整合SkyWalking 1.1 通过jar包方式整合 首先我们将一个简单的springboot服务打成jar包。 将其上传到Linux服务器中。 准备一个启动脚本&#xff0c;脚本内容如下&#xff1a; #!/bin/sh # SkyWalking Agent配置 export SW_AGENT_NAMEskywalking‐test #Agent名字,一…

QVariant类api及相关用法

目录 1、QVariant对象概述 2、QVariant对象的使用 3.使用QVariant对QT中标准数据类型进行处理 4.使用QVariant对QT中自定义数据类型进行处理 setValue fromValue canConvert 1、QVariant对象概述 在Qt中&#xff0c;QVariant是一个通用的值容器&#xff0c;它可…

【kubernetes】Docker与获取转证书工具安装、kubernetes软件安装

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

没有“中间商赚差价”, OpenVINO™ 直接支持 PyTorch 模型对象

点击蓝字 关注我们,让开发变得更有趣 作者 | 杨亦诚 排版 | 李擎 没有“中间商赚差价”&#xff0c; OpenVINO™ 直接支持 PyTorch 模型对象 背景 作为最热门的开源深度学习框架之一&#xff0c;PyTorch 的易用性和灵活性使其深受学术和研究界的喜爱。之前 OpenVINO™ 对于 Py…

人脸检测——基于机器学习2】Haar特性

1.什么是Haar特征 Haar特征是一种反映人脸灰度差异的矩形特征,因其与Haar小波类似而得名。 2.什么是Haar小波 Haar小波: 定义 其波形图为 由图2.1可以看出,Haar小波可以看作二值 分类问题,如同Haar矩阵特征非黑即白,故Haar矩阵特征又称为类Haar特征。 3.Haar特征 H…

React项目引入Arco Design,以及Arco Design Pro 架构

创建项目 创建 react-arco 项目 pnpm create vite my-vue-app --template react安装 arco-design/web-react 安装 react 版的 arco-design 基础使用 添加一个按钮&#xff0c;App.tsx import "./App.css"; import { Button } from "arco-design/web-react…

基本类型与包装类型区别

知识点概括&#xff1a; 简介&#xff1a; Java有八种基本类型&#xff0c;byte&#xff0c; short&#xff0c; int&#xff0c; long&#xff0c; float&#xff0c; double&#xff0c; char&#xff0c; boolean。 对应八种包装类&#xff0c;Byte&#xff0c; Short&…

【Python架构】在 Python 中使用架构模式管理复杂性

你的源代码是不是感觉像一个大泥球&#xff1f;依赖项是否在您的代码库中交织在一起&#xff0c;以至于改变感觉很危险或不可能&#xff1f; 随着业务的增长和领域模型&#xff08;您在应用程序中解决的业务问题&#xff09;变得更加复杂&#xff0c;我们如何在不从头开始重新编…

Android初体验

文章目录 前言一、安卓架构1.1 安卓架构1.2 信息安全1.3 兼容性测试 二、使用WSL编译安卓低版本&#xff08;10&#xff09;总结 前言 Android 是一个适用于移动设备的开源操作系统&#xff0c;也是由 Google 主导的对应开源项目。 最初&#xff0c;Android只在移动设备中流行…

快码住! 帮你巧妙记忆C语言运算符的优先级顺序!

文章目录 C语言中的运算符C语言中运算符的优先级巧妙记忆运算符优先级的方法因不明确优先级而造成的常见问题 C语言中的运算符 C语言中的运算符说多也多&#xff0c;说不多也不多&#xff0c;包括以下运算符&#xff1a; C语言中运算符的优先级 C语言运算符优先级表&#xff…