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
072b62f854
commit
7e8606c4b7
@ -6,7 +6,7 @@
|
||||
|
||||
### ネットワーク
|
||||
|
||||
IPv6 アドレスは、ネットワークの組織化とデバイスの相互作用を強化するように構造化されています。IPv6 アドレスは次のように分かれています:
|
||||
IPv6 アドレスは、ネットワークの組織化とデバイスの相互作用を強化するように構成されています。IPv6 アドレスは次のように分かれています:
|
||||
|
||||
1. **ネットワークプレフィックス**:最初の 48 ビットで、ネットワークセグメントを決定します。
|
||||
2. **サブネット ID**:次の 16 ビットで、ネットワーク内の特定のサブネットを定義するために使用されます。
|
||||
@ -77,20 +77,20 @@ 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) 攻撃
|
||||
### IPv6 Man-in-the-Middle (MitM) Attacks
|
||||
|
||||
IPv6 ネットワークで MitM 攻撃を実行するためのいくつかの技術が存在します。例えば:
|
||||
IPv6ネットワークでMitM攻撃を実行するためのいくつかの技術が存在します。例えば:
|
||||
|
||||
- ICMPv6 隣接またはルーター広告のスプーフィング。
|
||||
- ICMPv6 リダイレクトまたは「パケットが大きすぎる」メッセージを使用してルーティングを操作する。
|
||||
- モバイル IPv6 を攻撃する(通常、IPSec を無効にする必要があります)。
|
||||
- 悪意のある DHCPv6 サーバーを設定する。
|
||||
- ICMPv6隣接またはルーター広告のスプーフィング。
|
||||
- ICMPv6リダイレクトまたは「パケットが大きすぎる」メッセージを使用してルーティングを操作する。
|
||||
- モバイルIPv6を攻撃する(通常、IPSecを無効にする必要があります)。
|
||||
- 悪意のあるDHCPv6サーバーを設定する。
|
||||
|
||||
## eild における IPv6 アドレスの特定
|
||||
## Identifying IPv6 Addresses in the eild
|
||||
|
||||
### サブドメインの探索
|
||||
### Exploring Subdomains
|
||||
|
||||
IPv6 アドレスに関連している可能性のあるサブドメインを見つける方法は、検索エンジンを活用することです。例えば、`ipv6.*` のようなクエリパターンを使用することが効果的です。具体的には、次の検索コマンドを Google で使用できます:
|
||||
IPv6アドレスに関連する可能性のあるサブドメインを見つける方法は、検索エンジンを活用することです。例えば、`ipv6.*`のようなクエリパターンを使用することが効果的です。具体的には、次の検索コマンドをGoogleで使用できます:
|
||||
```bash
|
||||
site:ipv6./
|
||||
```
|
||||
@ -221,7 +221,7 @@ ICMPv6NDOptSrcLLAddr(lladdr=args.mac))
|
||||
|
||||
send(ra,iface=args.interface,loop=1,inter=args.interval)
|
||||
```
|
||||
実際に**トラフィックを転送**するには、レースに勝った後:
|
||||
実際に**トラフィックを転送する**ためには、レースに勝った後:
|
||||
```bash
|
||||
sudo sysctl -w net.ipv6.conf.all.forwarding=1
|
||||
sudo ip6tables -A FORWARD -i eth0 -j ACCEPT
|
||||
@ -231,12 +231,12 @@ sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
|
||||
| フラグ | 意味 | クライアントの動作への影響 |
|
||||
|------|---------|----------------------------|
|
||||
| **M (管理アドレス構成)** | `1` に設定されている場合、ホストは **DHCPv6** を使用して IPv6 アドレスを取得しなければなりません。 | アドレス全体が DHCPv6 から取得されるため、*mitm6* スタイルのポイズニングに最適です。 |
|
||||
| **O (その他の構成)** | `1` に設定されている場合、ホストは **DHCPv6** を使用して *その他* の情報 (DNS, NTP, …) を取得する必要があります。 | アドレスは SLAAC 経由ですが、DNS は DHCPv6 でハイジャック可能です。 |
|
||||
| **M (管理アドレス構成)** | `1` に設定されている場合、ホストは **DHCPv6** を使用して IPv6 アドレスを取得しなければなりません。 | アドレス全体が DHCPv6 から来るため、*mitm6* スタイルのポイズニングに最適です。 |
|
||||
| **O (その他の構成)** | `1` に設定されている場合、ホストは **DHCPv6** を使用して *その他* の情報 (DNS, NTP, …) を取得するべきです。 | アドレスは SLAAC 経由ですが、DNS は DHCPv6 でハイジャック可能です。 |
|
||||
| **M=0 / O=0** | 純粋な SLAAC ネットワーク。 | RA / RDNSS トリックのみが可能で、クライアントから DHCPv6 は送信されません。 |
|
||||
| **M=1 / O=1** | 混合環境。 | DHCPv6 と SLAAC の両方が使用され、スプーフィングのための表面が最も広くなります。 |
|
||||
| **M=1 / O=1** | 混合環境。 | DHCPv6 と SLAAC の両方が使用され、スプーフィングの表面が最も大きくなります。 |
|
||||
|
||||
ペンテスト中に、正当な RA を一度確認し、どのベクターが実行可能かを判断できます:
|
||||
ペンテスト中に、正当な RA を一度検査し、どのベクターが実行可能かを判断できます:
|
||||
```bash
|
||||
sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertisements
|
||||
```
|
||||
@ -280,7 +280,7 @@ send(ra,iface=args.interface,loop=1,inter=args.interval)
|
||||
|
||||
### DHCPv6 DNS スプーフィング (mitm6)
|
||||
|
||||
SLAACの代わりに、WindowsネットワークはDNSのために**ステートレスDHCPv6**に依存することがよくあります。[mitm6](https://github.com/rofl0r/mitm6)は、`Solicit`メッセージに自動的に**Advertise → Reply**フローで応答し、**あなたのリンクローカルアドレスを300秒間DNSとして割り当てます**。これにより以下が可能になります:
|
||||
SLAACの代わりに、WindowsネットワークはしばしばDNSのために**ステートレスDHCPv6**に依存します。[mitm6](https://github.com/rofl0r/mitm6)は、`Solicit`メッセージに自動的に**Advertise → Reply**フローで応答し、**あなたのリンクローカルアドレスを300秒間DNSとして割り当てます**。これにより以下が可能になります:
|
||||
|
||||
* NTLMリレー攻撃 (WPAD + DNSハイジャック)
|
||||
* ルーターに触れずに内部名前解決を傍受する
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
## Ciscoネットワークのペンテスト
|
||||
|
||||
**SNMP**は、一般的なメッセージ用に**161/UDP**ポート、トラップメッセージ用に**162/UDP**ポートでUDP上で機能します。このプロトコルは*コミュニティストリング*に依存しており、SNMPエージェントとマネージャー間の通信を可能にするプレーンテキストの「パスワード」として機能します。これらのストリングは、特に**読み取り専用(RO)または読み書き(RW)権限**のアクセスレベルを決定します。
|
||||
**SNMP**は、一般的なメッセージ用に**161/UDP**ポート、トラップメッセージ用に**162/UDP**ポートを使用してUDP上で機能します。このプロトコルは*コミュニティストリング*に依存しており、SNMPエージェントとマネージャー間の通信を可能にするプレーンテキストの「パスワード」として機能します。これらのストリングは、特に**読み取り専用(RO)または読み書き(RW)権限**のアクセスレベルを決定します。
|
||||
|
||||
古典的でありながら依然として非常に効果的な攻撃ベクターは、**コミュニティストリングのブルートフォース**を行い、認証されていないユーザーからデバイス管理者(RWコミュニティ)に昇格することです。このタスクに便利なツールは[**onesixtyone**](https://github.com/trailofbits/onesixtyone):
|
||||
古典的でありながら依然として非常に効果的な攻撃ベクターは、**コミュニティストリングをブルートフォース**して、認証されていないユーザーからデバイス管理者(RWコミュニティ)に昇格することです。このタスクに便利なツールは[**onesixtyone**](https://github.com/trailofbits/onesixtyone):
|
||||
```bash
|
||||
onesixtyone -c community_strings.txt -i targets.txt
|
||||
```
|
||||
@ -38,13 +38,13 @@ snmpset -v2c -c private 192.168.66.1 \
|
||||
1.3.6.1.4.1.9.9.96.1.1.1.1.6.1234 s \"backup.cfg\" \\
|
||||
1.3.6.1.4.1.9.9.96.1.1.1.1.14.1234 i 4 # rowStatus = createAndGo
|
||||
```
|
||||
行識別子は*一度限り*であり、5分以内の再利用は`inconsistentValue`エラーを引き起こします。
|
||||
行識別子は*ワンショット*です。5分以内の再利用は`inconsistentValue`エラーを引き起こします。
|
||||
|
||||
ファイルがTFTPサーバーにあると、資格情報(`enable secret`、`username <user> secret`など)を確認したり、修正した設定をデバイスにプッシュしたりできます。
|
||||
|
||||
---
|
||||
|
||||
### Metasploitの便利な機能
|
||||
### Metasploitの便利なツール
|
||||
|
||||
* **`cisco_config_tftp`** – 同じMIBを悪用した後、TFTP経由でrunning-config/startup-configをダウンロードします。
|
||||
* **`snmp_enum`** – デバイスのインベントリ情報、VLAN、インターフェースの説明、ARPテーブルなどを収集します。
|
||||
@ -61,7 +61,7 @@ run
|
||||
|
||||
| 年 | CVE | 影響を受ける機能 | 影響 |
|
||||
|------|-----|-----------------|--------|
|
||||
| 2025 | CVE-2025-20174 | SNMPサブシステム | 作成されたパケットがIOS/IOS-XE (v1/v2c/v3)で認証された*DoS* (リロード)を引き起こします。 |
|
||||
| 2025 | CVE-2025-20174 | SNMPサブシステム | 作成されたパケットが認証された*DoS*(リロード)を引き起こす(IOS/IOS-XE (v1/v2c/v3))。 |
|
||||
| 2024 | CVE-2024-20373 | IPv4 ACL処理 | 誤って設定された**拡張**ACLが静かに*失敗*し、正しいコミュニティ/ユーザーが知られている場合に認証されていないSNMPポーリングを許可します。 |
|
||||
| 2025 | (まだCVEなし) | SNMPv3設定制限のバイパス | 有効なv3ユーザーが拒否されるべきアドレスからポーリングできます。 |
|
||||
|
||||
@ -71,14 +71,14 @@ run
|
||||
|
||||
## ハードニングと検出のヒント
|
||||
|
||||
* 修正されたIOS/IOS-XEバージョンにアップグレードします(上記のCVEについてはCiscoのアドバイザリーを参照)。
|
||||
* v1/v2cよりも`authPriv` (SHA-256/AES-256)を使用した**SNMPv3**を優先します。
|
||||
* 修正されたIOS/IOS-XEバージョンにアップグレードする(上記のCVEについてはCiscoのアドバイザリーを参照)。
|
||||
* v1/v2cよりも**SNMPv3**の`authPriv`(SHA-256/AES-256)を優先する。
|
||||
```
|
||||
snmp-server group SECURE v3 priv
|
||||
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
|
||||
```
|
||||
* SNMPを管理VRFにバインドし、**標準の番号付きIPv4 ACLで制限します**(拡張名付きACLはリスクがあります – CVE-2024-20373)。
|
||||
* **RWコミュニティ**を無効にします;運用上必要な場合は、ACLとビューで制限します:
|
||||
* SNMPを管理VRFにバインドし、**標準の番号付きIPv4 ACLで制限する**(拡張名付きACLはリスクが高い – CVE-2024-20373)。
|
||||
* **RWコミュニティ**を無効にする;運用上必要な場合は、ACLとビューで制限する:
|
||||
`snmp-server community <string> RW 99 view SysView`
|
||||
* 監視する項目:
|
||||
- UDP/161のスパイクや予期しないソース(SIEMルール)。
|
||||
|
Loading…
x
Reference in New Issue
Block a user