137 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Pentesting Methodology
{{#include ../banners/hacktricks-training.md}}
## Pentesting Methodology
<figure><img src="../images/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
_Hacktricks logos designed by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
### **0- 物理攻击**
你是否对想要攻击的机器有**物理访问**?你应该阅读一些关于[**物理攻击的技巧**](../hardware-physical-access/physical-attacks.md)和其他关于[**从GUI应用程序逃脱**](../hardware-physical-access/escaping-from-gui-applications.md)的内容。
### 1- [发现网络中的主机](pentesting-network/index.html#discovering-hosts)/ [发现公司的资产](external-recon-methodology/index.html)
**根据**你进行的**测试**是**内部测试还是外部测试**,你可能会对查找**公司网络中的主机**(内部测试)或**在互联网上查找公司的资产**(外部测试)感兴趣。
> [!NOTE]
> 请注意,如果你正在进行外部测试,一旦你成功获得公司内部网络的访问权限,你应该重新开始本指南。
### **2-** [**与网络玩乐**](pentesting-network/index.html) **(内部)**
**本节仅适用于进行内部测试的情况。**\
在攻击主机之前,也许你更愿意**从网络中窃取一些凭据**或**嗅探**一些**数据**以**被动/主动MitM**了解你可以在网络中找到什么。你可以阅读[**Pentesting Network**](pentesting-network/index.html#sniffing)。
### **3-** [**端口扫描 - 服务发现**](pentesting-network/index.html#scanning-hosts)
在**寻找主机中的漏洞**时,首先要知道**哪些服务在什么端口上运行**。让我们看看[**扫描主机端口的基本工具**](pentesting-network/index.html#scanning-hosts)。
### **4-** [搜索服务版本漏洞](../generic-hacking/search-exploits.md)
一旦你知道哪些服务在运行,也许还知道它们的版本,你就必须**搜索已知的漏洞**。也许你会运气好找到一个可以给你一个shell的漏洞...
### **5-** Pentesting服务
如果没有任何运行服务的花哨漏洞,你应该寻找**每个运行服务中的常见错误配置**。
**在本书中,你会找到一个关于渗透测试最常见服务的指南**(以及其他不那么常见的服务)。请在左侧索引中搜索**_**PENTESTING**_ **部分**(服务按其默认端口排序)。
**我想特别提到** [**Pentesting Web**](../network-services-pentesting/pentesting-web/index.html) **部分(因为这是最广泛的部分)。**\
此外,这里还有一个关于如何[**查找软件中的已知漏洞**](../generic-hacking/search-exploits.md)的小指南。
**如果你的服务不在索引中请在Google中搜索**其他教程,并**告诉我你是否希望我添加它。**如果你**在Google中找不到任何东西**,请进行**自己的盲目渗透测试**,你可以开始**连接到服务,模糊测试并阅读响应**(如果有的话)。
#### 5.1 自动工具
还有几种工具可以执行**自动漏洞评估**。**我建议你尝试** [**Legion**](https://github.com/carlospolop/legion)**,这是我创建的工具,基于你可以在本书中找到的关于渗透测试服务的笔记。**
#### **5.2 暴力破解服务**
在某些情况下,**暴力破解**可能对**破坏**一个**服务**有用。[**在这里找到不同服务暴力破解的备忘单**](../generic-hacking/brute-force.md)**。**
### 6- [钓鱼](phishing-methodology/index.html)
如果到目前为止你没有找到任何有趣的漏洞,你**可能需要尝试一些钓鱼**以进入网络。你可以在[这里](phishing-methodology/index.html)阅读我的钓鱼方法论:
### **7-** [**获取Shell**](../generic-hacking/reverse-shells/index.html)
你应该以某种方式找到**在受害者上执行代码**的方法。然后,[在系统中可以用来获取反向shell的可能工具列表将非常有用](../generic-hacking/reverse-shells/index.html)。
特别是在Windows中你可能需要一些帮助来**避免杀毒软件**[**查看此页面**](../windows-hardening/av-bypass.md)**。**
### 8- 内部
如果你在shell中遇到问题这里有一个小的**最有用命令的汇编**供渗透测试人员使用:
- [**Linux**](../linux-hardening/useful-linux-commands.md)
- [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
- [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/index.html)
### **9-** [**数据外泄**](../generic-hacking/exfiltration.md)
你可能需要**从受害者那里提取一些数据**,甚至**引入一些东西**(如特权升级脚本)。**这里有一篇关于你可以用来实现这些目的的常用工具的** [**文章**](../generic-hacking/exfiltration.md)**。**
### **10- 特权升级**
#### **10.1- 本地特权升级**
如果你在盒子里**不是root/管理员**,你应该找到一种方法来**提升特权**。\
在这里你可以找到**在** [**Linux**](../linux-hardening/privilege-escalation/index.html) **和** [**Windows**](../windows-hardening/windows-local-privilege-escalation/index.html)**中本地提升特权的指南。**\
你还应该查看这些关于**Windows如何工作**的页面:
- [**身份验证、凭据、令牌特权和UAC**](../windows-hardening/authentication-credentials-uac-and-efs/index.html)
- [**NTLM如何工作**](../windows-hardening/ntlm/index.html)
- 如何[**窃取凭据**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md)在Windows中
- 一些关于[_**活动目录**_](../windows-hardening/active-directory-methodology/index.html)的技巧
**不要忘记查看最佳工具以枚举Windows和Linux本地特权升级路径** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- 域特权升级**
在这里你可以找到一篇[**方法论,解释最常见的操作以枚举、提升特权和在活动目录中保持持久性**](../windows-hardening/active-directory-methodology/index.html)。即使这只是一个部分的子部分,这个过程在渗透测试/红队任务中可能是**极其微妙**的。
### 11 - POST
#### **11**.1 - 掠夺
检查你是否可以在主机中找到更多**密码**,或者你是否有**访问其他机器**的**权限**。\
在这里找到不同的方法来[**在Windows中转储密码**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md)。
#### 11.2 - 持久性
**使用2或3种不同类型的持久性机制这样你就不需要再次利用系统。**\
**在这里你可以找到一些** [**关于活动目录的持久性技巧**](../windows-hardening/active-directory-methodology/index.html#persistence)**。**
TODO: 完成Windows和Linux中的持久性POST
### 12 - 透传
通过**收集到的凭据**,你可能可以访问其他机器,或者你可能需要**发现和扫描新主机**(重新开始渗透测试方法论)在受害者连接的新网络中。\
在这种情况下,隧道可能是必要的。这里你可以找到[**关于隧道的文章**](../generic-hacking/tunneling-and-port-forwarding.md)。\
你绝对应该查看关于[活动目录渗透测试方法论](../windows-hardening/active-directory-methodology/index.html)的文章。在那里你会找到很酷的技巧来横向移动、提升特权和转储凭据。\
还要查看关于[**NTLM**](../windows-hardening/ntlm/index.html)的页面这在Windows环境中透传时可能非常有用。
### 更多
#### [Android应用程序](../mobile-pentesting/android-app-pentesting/index.html)
#### **利用**
- [**基本Linux利用**](broken-reference/index.html)
- [**基本Windows利用**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
- [**基本利用工具**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/index.html)
#### [**基本Python**](python/index.html)
#### **加密技巧**
- [**ECB**](../crypto-and-stego/electronic-code-book-ecb.md)
- [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md)
- [**填充Oracle**](../crypto-and-stego/padding-oracle-priv.md)
{{#include ../banners/hacktricks-training.md}}