mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/pentesting-network/
This commit is contained in:
parent
8e596175bd
commit
5f7b8020a7
@ -77,7 +77,7 @@ service ufw stop # Stop the firewall
|
||||
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
|
||||
ip -6 neigh # Display the neighbor table
|
||||
```
|
||||
### IPv6 Man-in-the-Middle (MitM) Attacks
|
||||
### IPv6 中间人攻击 (MitM)
|
||||
|
||||
在 IPv6 网络中执行 MitM 攻击的几种技术包括:
|
||||
|
||||
@ -86,11 +86,11 @@ ip -6 neigh # Display the neighbor table
|
||||
- 攻击移动 IPv6(通常需要禁用 IPSec)。
|
||||
- 设置恶意 DHCPv6 服务器。
|
||||
|
||||
## Identifying IPv6 Addresses in the eild
|
||||
## 在现场识别 IPv6 地址
|
||||
|
||||
### Exploring Subdomains
|
||||
### 探索子域
|
||||
|
||||
一种查找可能与IPv6地址相关的子域的方法是利用搜索引擎。例如,使用查询模式`ipv6.*`可能是有效的。具体来说,可以在Google中使用以下搜索命令:
|
||||
查找可能与 IPv6 地址相关的子域的方法涉及利用搜索引擎。例如,使用类似 `ipv6.*` 的查询模式可能会有效。具体来说,可以在 Google 中使用以下搜索命令:
|
||||
```bash
|
||||
site:ipv6./
|
||||
```
|
||||
@ -104,11 +104,11 @@ site:ipv6./
|
||||
|
||||
### 使用 Ping6 进行探测
|
||||
|
||||
在确定与组织相关的 IPv6 地址后,可以使用 `ping6` 工具进行探测。该工具有助于评估已识别的 IPv6 地址的响应能力,并可能帮助发现相邻的 IPv6 设备。
|
||||
在确定与组织相关的 IPv6 地址后,可以使用 `ping6` 工具进行探测。该工具有助于评估识别出的 IPv6 地址的响应能力,并可能帮助发现相邻的 IPv6 设备。
|
||||
|
||||
## IPv6 本地网络攻击技术
|
||||
|
||||
以下部分涵盖可以在 **同一 /64 段内** 执行的实际层 2 IPv6 攻击,而无需知道任何全局前缀。下面显示的所有数据包都是 **链路本地** 的,仅通过本地交换机传输,使它们在大多数环境中极其隐蔽。
|
||||
以下部分涵盖可以在 **同一 /64 段内** 执行的实际层 2 IPv6 攻击,而无需知道任何全局前缀。下面显示的所有数据包都是 **链路本地** 的,仅通过本地交换机传输,使它们在大多数环境中极为隐蔽。
|
||||
|
||||
### 为稳定实验室进行系统调优
|
||||
|
||||
@ -128,7 +128,7 @@ sudo sysctl -w net.ipv4.tcp_tw_reuse=1
|
||||
```
|
||||
### 被动 NDP 和 DHCPv6 嗅探
|
||||
|
||||
因为每个 IPv6 主机 **自动加入多个组播组** (`ff02::1`, `ff02::2`, …) 并使用 ICMPv6 进行 SLAAC/NDP,所以你可以在不发送任何数据包的情况下映射整个段。以下 Python/Scapy 单行代码监听最有趣的 L2 消息,并打印出带有颜色和时间戳的日志,显示谁是谁:
|
||||
因为每个 IPv6 主机 **自动加入多个组播组** (`ff02::1`, `ff02::2`, …) 并使用 ICMPv6 进行 SLAAC/NDP,你可以在不发送任何数据包的情况下映射整个段。以下 Python/Scapy 单行代码监听最有趣的 L2 消息,并打印出带有颜色和时间戳的日志,显示谁是谁:
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
from scapy.all import *
|
||||
@ -232,7 +232,7 @@ sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
| 标志 | 意义 | 对客户端行为的影响 |
|
||||
|------|---------|----------------------------|
|
||||
| **M (管理地址配置)** | 当设置为 `1` 时,主机必须使用 **DHCPv6** 来获取其 IPv6 地址。 | 整个地址来自 DHCPv6 – 非常适合 *mitm6* 风格的中毒。 |
|
||||
| **O (其他配置)** | 当设置为 `1` 时,主机应仅使用 **DHCPv6** 来获取 *其他* 信息(DNS, NTP, …)。 | 地址仍通过 SLAAC,但 DNS 可以通过 DHCPv6 被劫持。 |
|
||||
| **O (其他配置)** | 当设置为 `1` 时,主机应仅使用 **DHCPv6** 来获取 *其他* 信息(DNS, NTP, …)。 | 地址仍通过 SLAAC 获取,但 DNS 可以通过 DHCPv6 被劫持。 |
|
||||
| **M=0 / O=0** | 纯 SLAAC 网络。 | 仅可能使用 RA / RDNSS 技巧 – 客户端不会发送 DHCPv6。 |
|
||||
| **M=1 / O=1** | 混合环境。 | 同时使用 DHCPv6 和 SLAAC;欺骗的表面最大。 |
|
||||
|
||||
@ -248,7 +248,7 @@ sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertise
|
||||
|--------|--------|------|
|
||||
| **高** | `10` | 客户端更喜欢这个路由器而不是任何 *中*/*低* 的路由器 |
|
||||
| 中(默认) | `01` | 几乎所有合法设备使用 |
|
||||
| 低 | `00` | 仅在没有更好的路由器存在时选择 |
|
||||
| 低 | `00` | 仅在没有更好的路由器时选择 |
|
||||
|
||||
使用 Scapy 生成数据包时,可以通过 `prf` 参数设置,如上所示(`prf=0x1` → 高)。结合 **高 Prf**、**短间隔** 和 **非零生存时间** 使你的恶意网关异常稳定。
|
||||
|
||||
@ -280,10 +280,10 @@ send(ra,iface=args.interface,loop=1,inter=args.interval)
|
||||
|
||||
### DHCPv6 DNS欺骗 (mitm6)
|
||||
|
||||
与SLAAC不同,Windows网络通常依赖于**无状态DHCPv6**进行DNS。 [mitm6](https://github.com/rofl0r/mitm6) 自动回复`Solicit`消息,使用**广告 → 回复**流程,将**您的链路本地地址分配为DNS,持续300秒**。 这解锁了:
|
||||
与SLAAC不同,Windows网络通常依赖于**无状态DHCPv6**进行DNS。[mitm6](https://github.com/rofl0r/mitm6)自动回复`Solicit`消息,使用**Advertise → Reply**流程将**您的链路本地地址分配为DNS,持续300秒**。这解锁了:
|
||||
|
||||
* NTLM中继攻击 (WPAD + DNS劫持)
|
||||
* 拦截内部名称解析而不触及路由器
|
||||
* 拦截内部名称解析而不触碰路由器
|
||||
|
||||
典型用法:
|
||||
```bash
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
## Pentesting Cisco Networks
|
||||
|
||||
**SNMP** 通过 UDP 在 **161/UDP** 端口上处理一般消息,在 **162/UDP** 端口上处理陷阱消息。该协议依赖于 *community strings*,作为明文“密码”,使 SNMP 代理和管理者之间能够进行通信。这些字符串决定了访问级别,具体为 **只读 (RO) 或读写 (RW) 权限**。
|
||||
**SNMP** 通过 UDP 运行,使用 **161/UDP** 端口进行一般消息传递,使用 **162/UDP** 端口进行陷阱消息传递。该协议依赖于 *community strings*,作为明文“密码”,使 SNMP 代理和管理器之间能够进行通信。这些字符串决定了访问级别,具体为 **只读 (RO) 或读写 (RW) 权限**。
|
||||
|
||||
一个经典但仍然极其有效的攻击向量是 **暴力破解 community strings**,以便从未认证用户提升为设备管理员 (RW community)。执行此任务的实用工具是 [**onesixtyone**](https://github.com/trailofbits/onesixtyone):
|
||||
```bash
|
||||
@ -40,13 +40,13 @@ snmpset -v2c -c private 192.168.66.1 \
|
||||
```
|
||||
行标识符是 *一次性* 的;在五分钟内重复使用会触发 `inconsistentValue` 错误。
|
||||
|
||||
一旦文件在您的TFTP服务器上,您可以检查凭据(`enable secret`,`username <user> secret`等),甚至可以将修改后的配置推送回设备。
|
||||
一旦文件在您的 TFTP 服务器上,您可以检查凭据(`enable secret`、`username <user> secret` 等)或甚至将修改后的配置推送回设备。
|
||||
|
||||
---
|
||||
|
||||
### Metasploit工具
|
||||
### Metasploit 资源
|
||||
|
||||
* **`cisco_config_tftp`** – 在滥用相同MIB后,通过TFTP下载运行配置/启动配置。
|
||||
* **`cisco_config_tftp`** – 通过 TFTP 下载运行配置/启动配置,利用相同的 MIB。
|
||||
* **`snmp_enum`** – 收集设备清单信息、VLAN、接口描述、ARP 表等。
|
||||
```bash
|
||||
use auxiliary/scanner/snmp/snmp_enum
|
||||
@ -61,7 +61,7 @@ run
|
||||
|
||||
| 年份 | CVE | 受影响特性 | 影响 |
|
||||
|------|-----|-----------------|--------|
|
||||
| 2025 | CVE-2025-20174 | SNMP 子系统 | 精心构造的数据包导致在 IOS/IOS-XE (v1/v2c/v3) 上经过身份验证的 *DoS* (重启)。 |
|
||||
| 2025 | CVE-2025-20174 | SNMP 子系统 | 构造的数据包导致在 IOS/IOS-XE (v1/v2c/v3) 上经过身份验证的 *DoS* (重启)。 |
|
||||
| 2024 | CVE-2024-20373 | IPv4 ACL 处理 | 配置错误的 **扩展** ACL 静默 *失败*,允许在已知有效社区/用户时进行未经身份验证的 SNMP 轮询。 |
|
||||
| 2025 | (尚无 CVE) | SNMPv3 配置限制绕过 | 有效的 v3 用户可以从应被拒绝的地址进行轮询。 |
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user