渗透测试方法
由于之前学习保存在本地,现在找时间陆续写博客,这是用于记录渗透方法笔记的系列文章目录,后续章节会慢慢补齐。
1、物理攻击
是否可以物理访问要攻击的机器?在后续的文章目录中会添加一些有关物理攻击的技巧以及有关退出 GUI 应用程序的技巧。
2、发现网络内的主机/发现公司的资产
根据具体执行的测试是内部测试还是外部测试,尽可能查找公司网络内的主机(内部测试)或在互联网上查找公司的资产(外部测试)。
3、享受网络乐趣 (内网)
本节仅适用于执行内部测试的情况。
在攻击主机之前,尽可能从网络窃取一些凭据或嗅探一些数据以被动/主动 (MitM)了解您可以在内网找到什么。可以阅读后续章节内网渗透。
4、端口扫描 - 服务发现
在寻找主机漏洞时,首先要知道哪些服务在哪些端口上运行。这个章节主要是扫描主机端口的基本工具。
5、搜索服务版本漏洞
一旦知道了哪些服务正在运行,以及它们的版本,你就必须搜索已知的漏洞。 也许你很幸运,有一个漏洞可以给你一个 shell…
6、渗透测试服务
如果正在运行的服务没有任何漏洞,则应该在每个正在运行的服务中寻找常见的错误配置。
在接下来的文章里,你将找到对最常见服务(以及不太常见的服务)进行渗透测试的方法。
我想特别提到 渗透测试 Web 部分(因为它是最全面的部分)。此外,还可以在此处找到有关如何查找软件中已知漏洞的小提示。
如果你的服务不在本系列文章中,请在 Baidu、Google中搜索其他教程,后续我可能会按照目录分类添加它。如果您在 Google 中找不到任何内容,请执行自己的Fuzz渗透测试,您可以先连接到服务,对其进行Fuzz测试并阅读响应。
6.1 自动工具
还有几种工具可以执行自动漏洞评估。可以尝试Legion开源工具,在这个系列笔记中会介绍该工具。
6.2 暴力破解服务
在某些情况下,暴力破解可能有助于破坏服务。在这里找到不同服务暴力破解的 CheatSheet。
7、网络钓鱼
如果此时你还没有发现任何有趣的漏洞,你可能需要尝试一些网络钓鱼才能进入网络。你可以在这里阅读一些可行的网络钓鱼方法。
8、获取 Shell
你应该已经找到了在目标上执行代码的方法。然后,系统内部可用于获取反向 shell 的可能工具列表将非常有用。
特别是在 Windows 中,你可能需要一些方法来过杀软。
9、内网
如果你在使用 shell 时遇到问题,您可以在这里找到对渗透测试人员最有用的命令的汇总:
- Linux
- Windows(CMD)
- Windows(PS)
10、 泄露
你可能需要从目标那里提取一些数据,甚至引入一些东西(例如权限提升脚本)。这里有一篇关于可用于这些目的的常用工具的文章。
11、权限提升
11.1 本地权限
如果你不是 root或者administrator,则应该找到一种方法来升级权限。
你可以在此处找到在Linux和Windows中本地升级权限的提示 。你还应该查看有关Windows如何工作的页面:
- 身份验证、凭证、令牌权限和 UAC
- NTLM如何工作
- 如何在 Windows 中窃取凭据
- 有关Active Directory的一些技巧
不要忘记查看枚举 Windows 和 Linux 本地特权升级路径的最佳工具: Suite PEAS
11.2 域控权限
在这里,你可以找到一种方法来解释枚举、提升权限和在 Active Directory上权限维持的最常见操作。即使这只是一个部分的子部分,这个过程在渗透测试/红队任务中也可能非常微妙。
12、挖掘目标机器信息
12.1 密码转储
检查您是否可以在主机内找到更多密码,或者您是否可以使用您的用户权限访问其他机器。在这里找到在 Windows 中转储密码的不同方法。
12.2 持久性
使用 2 或 3 种不同类型的持久性机制,这样您就无需再次利用系统。
在这里您可以找到一些有关Active Directory的持久性技巧。
TODO:在 Windows 和 Linux 上完成权限持久化
13、循环利用
利用收集到的凭证,你可以访问其他机器,或者你可能需要在受害者所连接的新网络内发现和扫描新主机(再次启动渗透测试方法)。在这种情况下,隧道可能是必要的。在这里你可以找到一篇关于隧道的文章。你也应该查看关于Active Directory 渗透测试方法的文章。在那里,你将找到横向移动、提升权限和转储凭证的酷技巧。还可以查看关于NTLM的页面,它在 Windows 环境中非常有用。
14、其它
Android 应用程序
14、基本渗透方法
Linux 目标基本渗透
Windows 漏洞利用
常见渗透利用工具