mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['', 'src/generic-methodologies-and-resources/pentesting-netw
This commit is contained in:
parent
a36aa9433e
commit
2de971026f
@ -6,14 +6,14 @@
|
||||
|
||||
## Ανακάλυψη hosts από το εξωτερικό
|
||||
|
||||
Αυτή θα είναι μια **σύντομη ενότητα** σχετικά με το πώς να βρείτε **IPs που απαντούν** από το **Διαδίκτυο**.\
|
||||
Σε αυτή την περίπτωση έχετε κάποιο **εύρος IPs** (ίσως ακόμη και αρκετές **σειρές**) και πρέπει να βρείτε **ποια IPs απαντούν**.
|
||||
Αυτή θα είναι μια **σύντομη ενότητα** για το πώς να βρείτε **IPs που ανταποκρίνονται** από το **Διαδίκτυο**.\
|
||||
Σε αυτή την περίπτωση έχετε κάποιο **εύρος IPs** (ίσως ακόμα και αρκετά **ranges**) και απλώς θέλετε να βρείτε **ποια IPs ανταποκρίνονται**.
|
||||
|
||||
### ICMP
|
||||
|
||||
Αυτή είναι η **ευκολότερη** και **ταχύτερη** μέθοδος για να ανακαλύψετε αν ένας host είναι ενεργός ή όχι.\
|
||||
Μπορείτε να προσπαθήσετε να στείλετε κάποια **ICMP** πακέτα και να **περιμένετε απαντήσεις**. Ο ευκολότερος τρόπος είναι να στείλετε ένα **echo request** και να περιμένετε την απάντηση. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας ένα απλό `ping` ή χρησιμοποιώντας `fping` για **σειρές**.\
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε το **nmap** για να στείλετε άλλους τύπους ICMP πακέτων (αυτό θα αποτρέψει φίλτρα σε κοινές αιτήσεις-απαντήσεις ICMP echo).
|
||||
Αυτή είναι η **πιο εύκολη** και **πιο γρήγορη** μέθοδος για να ανακαλύψετε αν ένας host είναι up ή όχι.\
|
||||
Μπορείτε να προσπαθήσετε να στείλετε κάποια **ICMP** πακέτα και να **περιμένετε απαντήσεις**. Ο ευκολότερος τρόπος είναι απλώς να στείλετε ένα **echo request** και να περιμένετε την απάντηση. Μπορείτε να το κάνετε χρησιμοποιώντας ένα απλό `ping` ή το `fping` για **ranges**.\
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε **nmap** για να στείλετε άλλους τύπους πακέτων **ICMP** (αυτό θα αποφύγει φίλτρα στα κοινά ICMP echo request-response).
|
||||
```bash
|
||||
ping -c 1 199.66.11.4 # 1 echo request to a host
|
||||
fping -g 199.66.11.0/24 # Send echo requests to ranges
|
||||
@ -21,29 +21,33 @@ nmap -PE -PM -PP -sn -n 199.66.11.0/24 #Send echo, timestamp requests and subnet
|
||||
```
|
||||
### TCP Port Discovery
|
||||
|
||||
Είναι πολύ συνηθισμένο να διαπιστώνεται ότι όλα τα είδη πακέτων ICMP φιλτράρονται. Έτσι, το μόνο που μπορείτε να κάνετε για να ελέγξετε αν ένας υπολογιστής είναι ενεργός είναι να **προσπαθήσετε να βρείτε ανοιχτές θύρες**. Κάθε υπολογιστής έχει **65535 θύρες**, οπότε, αν έχετε ένα "μεγάλο" πεδίο, **δεν μπορείτε** να ελέγξετε αν **κάθε θύρα** κάθε υπολογιστή είναι ανοιχτή ή όχι, αυτό θα πάρει πολύ χρόνο.\
|
||||
Έτσι, αυτό που χρειάζεστε είναι ένας **γρήγορος σαρωτής θύρας** ([masscan](https://github.com/robertdavidgraham/masscan)) και μια λίστα με τις **πιο χρησιμοποιούμενες θύρες:**
|
||||
Είναι πολύ συνηθισμένο να διαπιστώσετε ότι όλα τα είδη πακέτων ICMP φιλτράρονται. Τότε, το μόνο που μπορείτε να κάνετε για να ελέγξετε αν ένας host είναι up είναι να **try to find open ports**. Κάθε host έχει **65535 ports**, οπότε, αν έχετε ένα "big" scope **δεν μπορείτε** να ελέγξετε αν **each port** κάθε host είναι open ή όχι, αυτό θα πάρει πάρα πολύ χρόνο.\
|
||||
Άρα, αυτό που χρειάζεστε είναι ένας **fast port scanner** ([masscan](https://github.com/robertdavidgraham/masscan)) και μια λίστα με τις **ports more used:**
|
||||
```bash
|
||||
#Using masscan to scan top20ports of nmap in a /24 range (less than 5min)
|
||||
masscan -p20,21-23,25,53,80,110,111,135,139,143,443,445,993,995,1723,3306,3389,5900,8080 199.66.11.0/24
|
||||
```
|
||||
Μπορείτε επίσης να εκτελέσετε αυτό το βήμα με το `nmap`, αλλά είναι πιο αργό και κάπως το `nmap` έχει προβλήματα με την αναγνώριση των ενεργών hosts.
|
||||
Μπορείτε επίσης να εκτελέσετε αυτό το βήμα με `nmap`, αλλά είναι πιο αργό και το `nmap` έχει προβλήματα στον εντοπισμό hosts που είναι up.
|
||||
|
||||
### HTTP Port Discovery
|
||||
### Ανακάλυψη θυρών HTTP
|
||||
|
||||
Αυτή είναι απλώς μια ανακάλυψη TCP port που είναι χρήσιμη όταν θέλετε να **εστιάσετε στην ανακάλυψη υπηρεσιών HTTP**:
|
||||
Αυτή είναι απλώς μια ανακάλυψη θυρών TCP χρήσιμη όταν θέλετε να **επικεντρωθείτε στην ανακάλυψη HTTP** **services**:
|
||||
```bash
|
||||
masscan -p80,443,8000-8100,8443 199.66.11.0/24
|
||||
```
|
||||
### UDP Port Discovery
|
||||
|
||||
Μπορείτε επίσης να προσπαθήσετε να ελέγξετε αν κάποια **UDP θύρα είναι ανοιχτή** για να αποφασίσετε αν θα **δώσετε περισσότερη προσοχή** σε έναν **φιλοξενούμενο.** Δεδομένου ότι οι υπηρεσίες UDP συνήθως **δεν απαντούν** με **κανένα δεδομένο** σε ένα κανονικό κενό πακέτο UDP, είναι δύσκολο να πούμε αν μια θύρα φιλτράρεται ή είναι ανοιχτή. Ο ευκολότερος τρόπος για να το αποφασίσετε είναι να στείλετε ένα πακέτο σχετικό με την τρέχουσα υπηρεσία, και καθώς δεν γνωρίζετε ποια υπηρεσία εκτελείται, θα πρέπει να δοκιμάσετε την πιο πιθανή με βάση τον αριθμό της θύρας:
|
||||
Μπορείτε επίσης να δοκιμάσετε να ελέγξετε αν υπάρχει κάποια **UDP port open** για να αποφασίσετε αν πρέπει να **δώσετε περισσότερη προσοχή** σε έναν **host.**
|
||||
|
||||
Επειδή οι UDP services συνήθως **δεν ανταποκρίνονται** με **κανένα δεδομένο** σε ένα κανονικό κενό UDP probe packet, είναι δύσκολο να πεις αν ένα port είναι filtered ή open.
|
||||
|
||||
Ο πιο εύκολος τρόπος να το αποφασίσετε είναι να στείλετε ένα packet σχετικό με την υπηρεσία που τρέχει, και επειδή δεν ξέρετε ποια service τρέχει, θα πρέπει να δοκιμάσετε τα πιο πιθανά με βάση τον αριθμό του port:
|
||||
```bash
|
||||
nmap -sU -sV --version-intensity 0 -F -n 199.66.11.53/24
|
||||
# The -sV will make nmap test each possible known UDP service packet
|
||||
# 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 probes** στην **αναμενόμενη θύρα** τους (για μια περιοχή /24 αυτό θα πάρει μόνο 1 λεπτό): _DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike, ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp._
|
||||
Η γραμμή nmap που προτάθηκε παραπάνω θα δοκιμάσει τα **top 1000 UDP ports** σε κάθε host μέσα στο **/24** εύρος, αλλά ακόμα και αυτό θα πάρει **>20min**. Αν χρειάζεστε **ταχύτερα αποτελέσματα** μπορείτε να χρησιμοποιήσετε [**udp-proto-scanner**](https://github.com/portcullislabs/udp-proto-scanner): `./udp-proto-scanner.pl 199.66.11.53/24` Αυτό θα στείλει αυτά τα **UDP probes** στις **αναμενόμενες θύρες** τους (για ένα /24 εύρος αυτό θα πάρει μόλις 1 min): _DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike,ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp._
|
||||
|
||||
### SCTP Port Discovery
|
||||
```bash
|
||||
@ -52,19 +56,20 @@ nmap -T4 -sY -n --open -Pn <IP/range>
|
||||
```
|
||||
## Pentesting Wifi
|
||||
|
||||
Εδώ μπορείτε να βρείτε έναν ωραίο οδηγό με όλες τις γνωστές επιθέσεις Wifi την εποχή που γράφτηκε:
|
||||
Εδώ θα βρείτε έναν καλό οδηγό για όλα τα γνωστά Wifi attacks κατά την ημερομηνία συγγραφής:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
../pentesting-wifi/
|
||||
{{#endref}}
|
||||
|
||||
## Discovering hosts from the inside
|
||||
## Ανακάλυψη hosts από το εσωτερικό
|
||||
|
||||
Αν είστε μέσα στο δίκτυο, ένα από τα πρώτα πράγματα που θα θέλετε να κάνετε είναι να **ανακαλύψετε άλλους hosts**. Ανάλογα με **πόσο θόρυβο** μπορείτε/θέλετε να κάνετε, μπορούν να εκτελούνται διαφορετικές ενέργειες:
|
||||
Εάν βρίσκεστε μέσα στο network, ένα από τα πρώτα πράγματα που θα θελήσετε να κάνετε είναι να **ανακαλύψετε άλλους hosts**. Ανάλογα με **πόσο θόρυβο** μπορείτε/θέλετε να προκαλέσετε, μπορούν να γίνουν διαφορετικές ενέργειες:
|
||||
|
||||
### Passive
|
||||
### Παθητικό
|
||||
|
||||
Μπορείτε να χρησιμοποιήσετε αυτά τα εργαλεία για να ανακαλύψετε παθητικά hosts μέσα σε ένα συνδεδεμένο δίκτυο:
|
||||
Μπορείτε να χρησιμοποιήσετε αυτά τα εργαλεία για να ανακαλύψετε παθητικά hosts μέσα σε ένα συνδεδεμένο network:
|
||||
```bash
|
||||
netdiscover -p
|
||||
p0f -i eth0 -p -o /tmp/p0f.log
|
||||
@ -75,8 +80,8 @@ set net.show.meta true #more info
|
||||
```
|
||||
### Ενεργό
|
||||
|
||||
Σημειώστε ότι οι τεχνικές που σχολιάζονται στο [_**Ανακαλύπτοντας hosts από έξω**_](#discovering-hosts-from-the-outside) (_TCP/HTTP/UDP/SCTP Port Discovery_) μπορούν επίσης να **εφαρμοστούν εδώ**.\
|
||||
Αλλά, καθώς βρίσκεστε στο **ίδιο δίκτυο** με τους άλλους hosts, μπορείτε να κάνετε **περισσότερα πράγματα**:
|
||||
Σημειώστε ότι οι τεχνικές που σχολιάζονται στο [_**Discovering hosts from the outside**_](#discovering-hosts-from-the-outside) (_TCP/HTTP/UDP/SCTP Port Discovery_) μπορούν επίσης να **εφαρμοστούν εδώ**.\
|
||||
Αλλά, καθώς βρίσκεστε στο **ίδιο δίκτυο** με τα άλλα hosts, μπορείτε να κάνετε **περισσότερα**:
|
||||
```bash
|
||||
#ARP discovery
|
||||
nmap -sn <Network> #ARP Requests (Discover IPs)
|
||||
@ -98,33 +103,33 @@ alive6 <IFACE> # Send a pingv6 to multicast.
|
||||
```
|
||||
### Active ICMP
|
||||
|
||||
Σημειώστε ότι οι τεχνικές που σχολιάστηκαν στο _Discovering hosts from the outside_ ([_**ICMP**_](#icmp)) μπορούν επίσης να **εφαρμοστούν εδώ**.\
|
||||
Αλλά, καθώς βρίσκεστε στο **ίδιο δίκτυο** με τους άλλους hosts, μπορείτε να κάνετε **περισσότερα πράγματα**:
|
||||
Σημειώστε ότι οι τεχνικές που σχολιάζονται στο _Discovering hosts from the outside_ ([_**ICMP**_](#icmp)) μπορούν επίσης να **εφαρμοστούν εδώ**.\
|
||||
Αλλά, καθώς βρίσκεστε στο **ίδιο δίκτυο** με τους άλλους hosts, μπορείτε να κάνετε **περισσότερα**:
|
||||
|
||||
- Αν **ping** ένα **subnet broadcast address**, το ping θα πρέπει να φτάσει σε **κάθε host** και αυτοί θα μπορούσαν να **απαντήσουν** σε **εσάς**: `ping -b 10.10.5.255`
|
||||
- Κάνοντας ping στο **network broadcast address** θα μπορούσατε ακόμη να βρείτε hosts μέσα σε **άλλα subnets**: `ping -b 255.255.255.255`
|
||||
- Χρησιμοποιήστε τις σημαίες `-PE`, `-PP`, `-PM` του `nmap` για να εκτελέσετε ανακάλυψη hosts στέλνοντας αντίστοιχα **ICMPv4 echo**, **timestamp**, και **subnet mask requests:** `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24`
|
||||
- Αν κάνετε **ping** σε μια **subnet broadcast address**, το ping θα πρέπει να φτάσει σε **κάθε host** και αυτοί θα μπορούσαν να **απαντήσουν σε εσάς**: `ping -b 10.10.5.255`
|
||||
- Κάνοντας **ping** στη **network broadcast address** μπορείτε ακόμη και να βρείτε **hosts** μέσα σε **άλλα subnets**: `ping -b 255.255.255.255`
|
||||
- Χρησιμοποιήστε τις σημαίες `-PE`, `-PP`, `-PM` του `nmap` για να πραγματοποιήσετε host discovery στέλνοντας αντίστοιχα **ICMPv4 echo**, **timestamp**, και **subnet mask requests:** `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24`
|
||||
|
||||
### **Wake On Lan**
|
||||
|
||||
Το Wake On Lan χρησιμοποιείται για να **ενεργοποιήσει** υπολογιστές μέσω ενός **δικτυακού μηνύματος**. Το μαγικό πακέτο που χρησιμοποιείται για να ενεργοποιήσει τον υπολογιστή είναι μόνο ένα πακέτο όπου παρέχεται μια **MAC Dst** και στη συνέχεια επαναλαμβάνεται **16 φορές** μέσα στο ίδιο πακέτο.\
|
||||
Στη συνέχεια, αυτά τα είδη πακέτων συνήθως αποστέλλονται σε ένα **ethernet 0x0842** ή σε ένα **UDP πακέτο στην πόρτα 9**.\
|
||||
Αν **δεν παρέχεται \[MAC]**, το πακέτο αποστέλλεται σε **broadcast ethernet** (και η broadcast MAC θα είναι αυτή που επαναλαμβάνεται).
|
||||
Wake On Lan χρησιμοποιείται για να **ενεργοποιήσει** υπολογιστές μέσω ενός **network message**. Το magic packet που χρησιμοποιείται για να ενεργοποιήσει τον υπολογιστή είναι απλά ένα packet όπου παρέχεται ένα **MAC Dst** και στη συνέχεια αυτό **επαναλαμβάνεται 16 φορές** μέσα στο ίδιο packet.\
|
||||
Αυτό το είδος packets συνήθως αποστέλλεται σε ένα **ethernet 0x0842** ή σε ένα **UDP packet to port 9**.\
|
||||
Αν **no \[MAC]** παρέχεται, το packet αποστέλλεται σε **broadcast ethernet** (και το broadcast MAC θα είναι το ένα που επαναλαμβάνεται).
|
||||
```bash
|
||||
# Bettercap (if no [MAC] is specificed ff:ff:ff:ff:ff:ff will be used/entire broadcast domain)
|
||||
wol.eth [MAC] #Send a WOL as a raw ethernet packet of type 0x0847
|
||||
wol.eth [MAC] #Send a WOL as a raw ethernet packet of type 0x0842
|
||||
wol.udp [MAC] #Send a WOL as an IPv4 broadcast packet to UDP port 9
|
||||
```
|
||||
## Σάρωση Φιλοξενουμένων
|
||||
## Σάρωση Hosts
|
||||
|
||||
Αφού έχετε ανακαλύψει όλες τις διευθύνσεις IP (εξωτερικές ή εσωτερικές) που θέλετε να σαρώσετε σε βάθος, μπορούν να εκτελούνται διάφορες ενέργειες.
|
||||
Μόλις εντοπίσετε όλες τις IPs (εξωτερικές ή εσωτερικές) που θέλετε να σαρώσετε σε βάθος, μπορούν να εκτελεστούν διάφορες ενέργειες.
|
||||
|
||||
### TCP
|
||||
|
||||
- **Ανοιχτή** θύρα: _SYN --> SYN/ACK --> RST_
|
||||
- **Κλειστή** θύρα: _SYN --> RST/ACK_
|
||||
- **Φιλτραρισμένη** θύρα: _SYN --> \[NO RESPONSE]_
|
||||
- **Φιλτραρισμένη** θύρα: _SYN --> ICMP μήνυμα_
|
||||
- **Ανοιχτή** port: _SYN --> SYN/ACK --> RST_
|
||||
- **Κλειστή** port: _SYN --> RST/ACK_
|
||||
- **Φιλτραρισμένη** port: _SYN --> \[NO RESPONSE]_
|
||||
- **Φιλτραρισμένη** port: _SYN --> ICMP message_
|
||||
```bash
|
||||
# Nmap fast scan for the most 1000tcp ports used
|
||||
nmap -sV -sC -O -T4 -n -Pn -oA fastscan <IP>
|
||||
@ -140,10 +145,10 @@ syn.scan 192.168.1.0/24 1 10000 #Ports 1-10000
|
||||
|
||||
Υπάρχουν 2 επιλογές για να σαρώσετε μια θύρα UDP:
|
||||
|
||||
- Στείλτε ένα **UDP packet** και ελέγξτε για την απάντηση _**ICMP unreachable**_ αν η θύρα είναι **κλειστή** (σε πολλές περιπτώσεις το ICMP θα είναι **φιλτραρισμένο** οπότε δεν θα λάβετε καμία πληροφορία αν η θύρα είναι κλειστή ή ανοιχτή).
|
||||
- Στείλτε **formatted datagrams** για να προκαλέσετε μια απάντηση από μια **υπηρεσία** (π.χ., DNS, DHCP, TFTP και άλλες, όπως αναφέρονται στο _nmap-payloads_). Αν λάβετε μια **απάντηση**, τότε η θύρα είναι **ανοιχτή**.
|
||||
- Στείλτε ένα **UDP packet** και ελέγξτε για την απάντηση _**ICMP unreachable**_ αν η θύρα είναι **closed** (σε αρκετές περιπτώσεις το ICMP θα είναι **filtered**, οπότε δεν θα λάβετε καμία πληροφορία εάν η θύρα είναι **closed** ή **open**).
|
||||
- Στείλτε **formatted datagrams** για να προκαλέσετε μια απάντηση από μια **service** (π.χ., DNS, DHCP, TFTP και άλλες, όπως αναφέρονται στο _nmap-payloads_). Αν λάβετε μια **response**, τότε η θύρα είναι **open**.
|
||||
|
||||
**Nmap** θα **συνδυάσει και τις δύο** επιλογές χρησιμοποιώντας "-sV" (οι σαρώσεις UDP είναι πολύ αργές), αλλά προσέξτε ότι οι σαρώσεις UDP είναι πιο αργές από τις σαρώσεις TCP:
|
||||
**Nmap** θα **mix both** τις επιλογές χρησιμοποιώντας "-sV" (UDP scans are very slow), αλλά σημειώστε ότι οι UDP scans είναι πιο αργές από τις TCP scans:
|
||||
```bash
|
||||
# Check if any of the most common udp services is running
|
||||
udp-proto-scanner.pl <IP>
|
||||
@ -157,18 +162,18 @@ nmap -sU -sV --version-intensity 0 -n -T4 <IP>
|
||||
```
|
||||
### SCTP Scan
|
||||
|
||||
**SCTP (Stream Control Transmission Protocol)** έχει σχεδιαστεί για να χρησιμοποιείται παράλληλα με **TCP (Transmission Control Protocol)** και **UDP (User Datagram Protocol)**. Ο κύριος σκοπός του είναι να διευκολύνει τη μεταφορά τηλεφωνικών δεδομένων μέσω δικτύων IP, αντικατοπτρίζοντας πολλές από τις δυνατότητες αξιοπιστίας που βρίσκονται στο **Signaling System 7 (SS7)**. **SCTP** είναι ένα βασικό συστατικό της οικογένειας πρωτοκόλλων **SIGTRAN**, η οποία στοχεύει στη μεταφορά σημάτων SS7 μέσω δικτύων IP.
|
||||
**SCTP (Stream Control Transmission Protocol)** έχει σχεδιαστεί για να χρησιμοποιείται παράλληλα με **TCP (Transmission Control Protocol)** και **UDP (User Datagram Protocol)**. Ο κύριος σκοπός του είναι να διευκολύνει τη μεταφορά δεδομένων τηλεφωνίας πάνω σε IP δίκτυα, αντικατοπτρίζοντας πολλές από τις λειτουργίες αξιοπιστίας που βρίσκονται στο **Signaling System 7 (SS7)**. **SCTP** είναι βασικό στοιχείο της οικογένειας πρωτοκόλλων **SIGTRAN**, η οποία στοχεύει στη μεταφορά σημάτων SS7 πάνω σε IP δίκτυα.
|
||||
|
||||
Η υποστήριξη για **SCTP** παρέχεται από διάφορα λειτουργικά συστήματα, όπως **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, και **VxWorks**, υποδεικνύοντας την ευρεία αποδοχή και χρησιμότητά του στον τομέα των τηλεπικοινωνιών και των δικτύων.
|
||||
Η υποστήριξη για **SCTP** παρέχεται από διάφορα λειτουργικά συστήματα, όπως **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, και **VxWorks**, υποδεικνύοντας την ευρεία αποδοχή και τη χρησιμότητά του στον τομέα των τηλεπικοινωνιών και των δικτύων.
|
||||
|
||||
Δύο διαφορετικές σάρωσεις για το SCTP προσφέρονται από το nmap: _-sY_ και _-sZ_
|
||||
Το **nmap** προσφέρει δύο διαφορετικές scans για **SCTP**: _-sY_ και _-sZ_
|
||||
```bash
|
||||
# Nmap fast SCTP scan
|
||||
nmap -T4 -sY -n -oA SCTFastScan <IP>
|
||||
# Nmap all SCTP scan
|
||||
nmap -T4 -p- -sY -sV -sC -F -n -oA SCTAllScan <IP>
|
||||
```
|
||||
### IDS και IPS αποφυγή
|
||||
### IDS and IPS evasion
|
||||
|
||||
|
||||
{{#ref}}
|
||||
@ -182,9 +187,9 @@ ids-evasion.md
|
||||
nmap-summary-esp.md
|
||||
{{#endref}}
|
||||
|
||||
### Αποκάλυψη Εσωτερικών Διευθύνσεων IP
|
||||
### Αποκάλυψη εσωτερικών IP Addresses
|
||||
|
||||
**Κακώς ρυθμισμένοι δρομολογητές, τείχη προστασίας και συσκευές δικτύου** μερικές φορές απαντούν σε δίκτυα χρησιμοποιώντας **μη δημόσιες διευθύνσεις προέλευσης**. **tcpdump** μπορεί να χρησιμοποιηθεί για να εντοπίσει πακέτα που λαμβάνονται από ιδιωτικές διευθύνσεις κατά τη διάρκεια της δοκιμής. Συγκεκριμένα, στο Kali Linux, τα πακέτα μπορούν να καταγραφούν στη **διεύθυνση eth2**, η οποία είναι προσβάσιμη από το δημόσιο Διαδίκτυο. Είναι σημαντικό να σημειωθεί ότι αν η ρύθμισή σας είναι πίσω από NAT ή τείχος προστασίας, τέτοια πακέτα είναι πιθανό να φιλτράρονται.
|
||||
Οι λανθασμένα ρυθμισμένοι routers, firewalls και network devices μερικές φορές ανταποκρίνονται σε network probes χρησιμοποιώντας nonpublic source addresses. Το tcpdump μπορεί να χρησιμοποιηθεί για να εντοπίσει packets που λαμβάνονται από private addresses κατά τη διάρκεια των δοκιμών. Συγκεκριμένα, σε Kali Linux, τα packets μπορούν να καταγραφούν στην eth2 interface, η οποία είναι προσβάσιμη από το public Internet. Είναι σημαντικό να σημειωθεί ότι αν το setup σας βρίσκεται πίσω από ένα NAT ή ένα Firewall, τέτοια packets πιθανότατα θα φιλτραριστούν έξω.
|
||||
```bash
|
||||
tcpdump –nt -i eth2 src net 10 or 172.16/12 or 192.168/16
|
||||
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
|
||||
@ -194,9 +199,9 @@ IP 10.10.0.2 > 185.22.224.18: ICMP echo reply, id 25804, seq 1586, length 64
|
||||
```
|
||||
## Sniffing
|
||||
|
||||
Με το Sniffing μπορείτε να μάθετε λεπτομέρειες σχετικά με τις περιοχές IP, τα μεγέθη υποδικτύων, τις διευθύνσεις MAC και τα ονόματα υπολογιστών αναθεωρώντας τα κατεχόμενα πλαίσια και πακέτα. Εάν το δίκτυο είναι κακώς διαμορφωμένο ή το switching fabric είναι υπό πίεση, οι επιτιθέμενοι μπορούν να συλλάβουν ευαίσθητο υλικό μέσω παθητικού network sniffing.
|
||||
Με το Sniffing μπορείτε να μάθετε λεπτομέρειες για IP ranges, subnet sizes, MAC addresses και hostnames εξετάζοντας captured frames και packets. Εάν το network είναι misconfigured ή το switching fabric υπό φόρτο, οι επιτιθέμενοι μπορούν να καταγράψουν ευαίσθητο υλικό μέσω passive network sniffing.
|
||||
|
||||
Εάν ένα switched Ethernet δίκτυο είναι σωστά διαμορφωμένο, θα βλέπετε μόνο broadcast frames και υλικό που προορίζεται για τη διεύθυνση MAC σας.
|
||||
Εάν ένα switched Ethernet network είναι σωστά configured, θα βλέπετε μόνο broadcast frames και υλικό που προορίζεται για τη MAC address σας.
|
||||
|
||||
### TCPDump
|
||||
```bash
|
||||
@ -204,7 +209,7 @@ sudo tcpdump -i <INTERFACE> udp port 53 #Listen to DNS request to discover what
|
||||
tcpdump -i <IFACE> icmp #Listen to icmp packets
|
||||
sudo bash -c "sudo nohup tcpdump -i eth0 -G 300 -w \"/tmp/dump-%m-%d-%H-%M-%S-%s.pcap\" -W 50 'tcp and (port 80 or port 443)' &"
|
||||
```
|
||||
Μπορεί κανείς, επίσης, να συλλάβει πακέτα από μια απομακρυσμένη μηχανή μέσω μιας συνεδρίας SSH με το Wireshark ως GUI σε πραγματικό χρόνο.
|
||||
Επίσης, μπορεί κανείς να καταγράψει πακέτα από μια απομακρυσμένη μηχανή μέσω μιας συνεδρίας SSH χρησιμοποιώντας το Wireshark ως GUI σε πραγματικό χρόνο.
|
||||
```
|
||||
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
|
||||
@ -224,13 +229,13 @@ set net.sniff.regexp #If set only packets matching this regex will be considered
|
||||
|
||||
### Capturing credentials
|
||||
|
||||
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) για να αναλύσετε διαπιστευτήρια από ένα pcap ή μια ζωντανή διεπαφή.
|
||||
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) για να εξάγετε credentials από ένα pcap ή από ένα live interface.
|
||||
|
||||
## LAN attacks
|
||||
## Επιθέσεις LAN
|
||||
|
||||
### ARP spoofing
|
||||
|
||||
Το ARP Spoofing συνίσταται στην αποστολή δωρεάν ARPResponses για να υποδείξει ότι η IP μιας μηχανής έχει το MAC της συσκευής μας. Στη συνέχεια, το θύμα θα αλλάξει τον πίνακα ARP και θα επικοινωνήσει με τη μηχανή μας κάθε φορά που θέλει να επικοινωνήσει με την IP που έχει spoofed.
|
||||
Το ARP Spoofing συνίσταται στην αποστολή gratuitous ARPResponses για να υποδείξουμε ότι η IP ενός μηχανήματος αντιστοιχεί στο MAC της συσκευής μας. Έπειτα, το θύμα θα αλλάξει τον ARP πίνακα και θα επικοινωνεί με τη συσκευή μας κάθε φορά που θέλει να επικοινωνήσει με την spoofed IP.
|
||||
|
||||
#### **Bettercap**
|
||||
```bash
|
||||
@ -248,23 +253,23 @@ arpspoof -t 192.168.1.2 192.168.1.1
|
||||
```
|
||||
### MAC Flooding - CAM overflow
|
||||
|
||||
Πλημμυρίστε τον πίνακα CAM του διακόπτη στέλνοντας πολλά πακέτα με διαφορετικές διευθύνσεις mac προέλευσης. Όταν ο πίνακας CAM είναι γεμάτος, ο διακόπτης αρχίζει να συμπεριφέρεται σαν κόμβος (εκπέμποντας όλη την κίνηση).
|
||||
Πλημμυρίστε τον CAM table του switch στέλνοντας πολλά πακέτα με διαφορετικές source mac address. Όταν ο CAM table γεμίσει, το switch αρχίζει να συμπεριφέρεται σαν hub (αναμεταδίδοντας όλη την κίνηση).
|
||||
```bash
|
||||
macof -i <interface>
|
||||
```
|
||||
Σε σύγχρονες συσκευές, αυτή η ευπάθεια έχει διορθωθεί.
|
||||
Σε σύγχρονα switches αυτή η ευπάθεια έχει διορθωθεί.
|
||||
|
||||
### 802.1Q VLAN / DTP Επιθέσεις
|
||||
|
||||
#### Δυναμική Τρούκ
|
||||
#### Dynamic Trunking
|
||||
|
||||
Το **Dynamic Trunking Protocol (DTP)** έχει σχεδιαστεί ως πρωτόκολλο επιπέδου σύνδεσης για να διευκολύνει ένα αυτόματο σύστημα τρούκ, επιτρέποντας στους διακόπτες να επιλέγουν αυτόματα θύρες για λειτουργία τρούκ (Trunk) ή μη τρούκ. Η ανάπτυξη του **DTP** συχνά θεωρείται ένδειξη υποβέλτιστης σχεδίασης δικτύου, υπογραμμίζοντας τη σημασία της χειροκίνητης ρύθμισης των τρούκ μόνο όπου είναι απαραίτητο και της διασφάλισης κατάλληλης τεκμηρίωσης.
|
||||
Το **Dynamic Trunking Protocol (DTP)** έχει σχεδιαστεί ως πρωτόκολλο επιπέδου σύνδεσης για να διευκολύνει ένα αυτόματο σύστημα για το trunking, επιτρέποντας στα switches να επιλέγουν αυτόματα θύρες για λειτουργία trunk (Trunk) ή μη-trunk mode. Η ενεργοποίηση του **DTP** συχνά θεωρείται ένδειξη υποβέλτιστου σχεδιασμού δικτύου, υπογραμμίζοντας τη σημασία της χειροκίνητης διαμόρφωσης trunks μόνο όπου είναι απαραίτητο και της σωστής τεκμηρίωσης.
|
||||
|
||||
Από προεπιλογή, οι θύρες του διακόπτη είναι ρυθμισμένες να λειτουργούν σε Δυναμική Αυτόματη λειτουργία, που σημαίνει ότι είναι έτοιμες να ξεκινήσουν τρούκ αν ζητηθεί από έναν γειτονικό διακόπτη. Ένα ζήτημα ασφαλείας προκύπτει όταν ένας pentester ή επιτιθέμενος συνδέεται στον διακόπτη και στέλνει ένα DTP Desirable frame, αναγκάζοντας τη θύρα να εισέλθει σε λειτουργία τρούκ. Αυτή η ενέργεια επιτρέπει στον επιτιθέμενο να απαριθμήσει τα VLAN μέσω ανάλυσης πλαισίων STP και να παρακάμψει τον κατακερματισμό VLAN δημιουργώντας εικονικές διεπαφές.
|
||||
Συνήθως οι θύρες των switches είναι ρυθμισμένες να λειτουργούν σε Dynamic Auto mode, που σημαίνει ότι είναι έτοιμες να ξεκινήσουν trunking αν ενεργοποιηθούν από γειτονικό switch. Προκύπτει ζήτημα ασφαλείας όταν ένας pentester ή επιτιθέμενος συνδέεται στο switch και αποστέλλει ένα DTP Desirable frame, αναγκάζοντας τη θύρα να μπει σε trunk mode. Αυτή η ενέργεια επιτρέπει στον επιτιθέμενο να απαριθμήσει τα VLAN μέσω ανάλυσης STP frames και να παρακάμψει τον διαμερισμό VLAN δημιουργώντας virtual interfaces.
|
||||
|
||||
Η παρουσία του DTP σε πολλούς διακόπτες από προεπιλογή μπορεί να εκμεταλλευτεί από αντιπάλους για να μιμηθούν τη συμπεριφορά ενός διακόπτη, αποκτώντας έτσι πρόσβαση στην κυκλοφορία σε όλα τα VLAN. Το σενάριο [_**dtpscan.sh**_](https://github.com/commonexploits/dtpscan) χρησιμοποιείται για την παρακολούθηση μιας διεπαφής, αποκαλύπτοντας αν ένας διακόπτης είναι σε Λειτουργία Προεπιλογής, Τρούκ, Δυναμική, Αυτόματη ή Πρόσβαση—η τελευταία είναι η μόνη ρύθμιση που είναι ανθεκτική σε επιθέσεις VLAN hopping. Αυτό το εργαλείο αξιολογεί την κατάσταση ευπάθειας του διακόπτη.
|
||||
Η παρουσία του DTP σε πολλά switches εξ ορισμού μπορεί να αξιοποιηθεί από αντιπάλους για να μιμηθούν τη συμπεριφορά ενός switch, αποκτώντας έτσι πρόσβαση στην κίνηση σε όλα τα VLAN. Το script [_**dtpscan.sh**_](https://github.com/commonexploits/dtpscan) χρησιμοποιείται για την παρακολούθηση μιας διεπαφής, αποκαλύπτοντας αν ένα switch βρίσκεται σε Default, Trunk, Dynamic, Auto ή Access mode — με το τελευταίο να είναι η μόνη ρύθμιση ανθεκτική σε VLAN hopping attacks. Αυτό το εργαλείο αξιολογεί την κατάσταση ευπάθειας του switch.
|
||||
|
||||
Εάν εντοπιστεί ευπάθεια δικτύου, το εργαλείο _**Yersinia**_ μπορεί να χρησιμοποιηθεί για να "ενεργοποιήσει το τρούκ" μέσω του πρωτοκόλλου DTP, επιτρέποντας την παρακολούθηση πακέτων από όλα τα VLAN.
|
||||
Εάν εντοπιστεί ευπάθεια στο δίκτυο, το εργαλείο _**Yersinia**_ μπορεί να χρησιμοποιηθεί για να "enable trunking" μέσω του πρωτοκόλλου DTP, επιτρέποντας την παρακολούθηση πακέτων από όλα τα VLANs.
|
||||
```bash
|
||||
apt-get install yersinia #Installation
|
||||
sudo apt install kali-linux-large #Another way to install it in Kali
|
||||
@ -277,11 +282,11 @@ yersinia -G #For graphic mode
|
||||
```
|
||||
.png>)
|
||||
|
||||
Για να καταμετρήσετε τα VLANs, είναι επίσης δυνατό να δημιουργήσετε το πλαίσιο DTP Desirable με το σενάριο [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py)**. Μ**η διακόπτετε το σενάριο υπό οποιεσδήποτε συνθήκες. Εισάγει DTP Desirable κάθε τρία δευτερόλεπτα. **Οι δυναμικά δημιουργημένοι κορμοί στο switch ζουν μόνο για πέντε λεπτά. Μετά από πέντε λεπτά, ο κορμός αποσυνδέεται.**
|
||||
Για να απαριθμήσετε τα VLANs, είναι επίσης δυνατό να δημιουργήσετε το DTP Desirable frame με το script [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py). Μην διακόψετε το script υπό οποιεσδήποτε συνθήκες. Εγχέει το DTP Desirable κάθε τρία δευτερόλεπτα. **Τα δυναμικά δημιουργημένα trunk channels στο switch διαρκούν μόνο πέντε λεπτά. Μετά από πέντε λεπτά, το trunk πέφτει.**
|
||||
```
|
||||
sudo python3 DTPHijacking.py --interface eth0
|
||||
```
|
||||
Θα ήθελα να επισημάνω ότι το **Access/Desirable (0x03)** υποδεικνύει ότι το DTP frame είναι του τύπου Desirable, το οποίο λέει στην θύρα να αλλάξει σε Trunk mode. Και το **802.1Q/802.1Q (0xa5)** υποδεικνύει τον τύπο encapsulation **802.1Q**.
|
||||
Θα ήθελα να επισημάνω ότι **Access/Desirable (0x03)** υποδεικνύει ότι το DTP frame είναι του τύπου Desirable, το οποίο δίνει εντολή στη θύρα να μεταβεί σε Trunk mode. Και **802.1Q/802.1Q (0xa5** υποδεικνύει τον τύπο encapsulation **802.1Q**.
|
||||
|
||||
Αναλύοντας τα STP frames, **μαθαίνουμε για την ύπαρξη των VLAN 30 και VLAN 60.**
|
||||
|
||||
@ -289,7 +294,7 @@ sudo python3 DTPHijacking.py --interface eth0
|
||||
|
||||
#### Επίθεση σε συγκεκριμένα VLANs
|
||||
|
||||
Μόλις γνωρίζετε τις τιμές VLAN IDs και IPs, μπορείτε να **ρυθμίσετε μια εικονική διεπαφή για να επιτεθείτε σε ένα συγκεκριμένο VLAN**.\
|
||||
Μόλις γνωρίζετε τα VLAN IDs και τις τιμές IP, μπορείτε να **διαμορφώσετε μια εικονική διεπαφή για να επιτεθείτε σε ένα συγκεκριμένο VLAN**.\
|
||||
Εάν το DHCP δεν είναι διαθέσιμο, τότε χρησιμοποιήστε _ifconfig_ για να ορίσετε μια στατική διεύθυνση IP.
|
||||
```
|
||||
root@kali:~# modprobe 8021q
|
||||
@ -325,73 +330,74 @@ sudo dhclient -v eth0.30
|
||||
```
|
||||
#### Automatic VLAN Hopper
|
||||
|
||||
Η συζητηθείσα επίθεση του **Dynamic Trunking και της δημιουργίας εικονικών διεπαφών για την ανακάλυψη hosts μέσα** σε άλλες VLAN εκτελείται **αυτόματα** από το εργαλείο: [**https://github.com/nccgroup/vlan-hopping---frogger**](https://github.com/nccgroup/vlan-hopping---frogger)
|
||||
Η επίθεση που συζητήθηκε με **Dynamic Trunking και δημιουργία virtual interfaces και ανακάλυψη hosts εντός** άλλων VLANs εκτελείται **αυτόματα** από το εργαλείο: [**https://github.com/nccgroup/vlan-hopping---frogger**](https://github.com/nccgroup/vlan-hopping---frogger)
|
||||
|
||||
#### Double Tagging
|
||||
|
||||
Εάν ένας επιτιθέμενος γνωρίζει την τιμή του **MAC, IP και VLAN ID του θύματος**, θα μπορούσε να προσπαθήσει να **διπλοετικετάρει ένα πλαίσιο** με την καθορισμένη VLAN του και την VLAN του θύματος και να στείλει ένα πακέτο. Καθώς το **θύμα δεν θα μπορεί να συνδεθεί πίσω** με τον επιτιθέμενο, η **καλύτερη επιλογή για τον επιτιθέμενο είναι να επικοινωνήσει μέσω UDP** με πρωτόκολλα που μπορούν να εκτελέσουν κάποιες ενδιαφέρουσες ενέργειες (όπως το SNMP).
|
||||
Εάν ένας attacker γνωρίζει την τιμή του **MAC, IP and VLAN ID of the victim host**, θα μπορούσε να προσπαθήσει να **double tag a frame** με το ορισμένο VLAN του και το VLAN του victim και να στείλει ένα πακέτο. Δεδομένου ότι ο **victim won't be able to connect back** με τον attacker, η **best option for the attacker is communicate via UDP** είναι να χρησιμοποιήσει πρωτόκολλα που μπορούν να εκτελέσουν ενδιαφέρουσες ενέργειες (όπως SNMP).
|
||||
|
||||
Μια άλλη επιλογή για τον επιτιθέμενο είναι να εκκινήσει μια **σάρωση TCP port spoofing μια IP που ελέγχεται από τον επιτιθέμενο και είναι προσβάσιμη από το θύμα** (πιθανώς μέσω διαδικτύου). Στη συνέχεια, ο επιτιθέμενος θα μπορούσε να παρακολουθήσει στον δεύτερο host που κατέχει αν λάβει κάποια πακέτα από το θύμα.
|
||||
Μια άλλη επιλογή για τον attacker είναι να ξεκινήσει ένα **TCP port scan spoofing an IP controlled by the attacker and accessible by the victim** (πιθανώς μέσω internet). Στη συνέχεια, ο attacker θα μπορούσε να sniff στο δεύτερο host που του ανήκει αν λάβει κάποια πακέτα από τον victim.
|
||||
|
||||
.png>)
|
||||
|
||||
Για να εκτελέσετε αυτήν την επίθεση μπορείτε να χρησιμοποιήσετε το scapy: `pip install scapy`
|
||||
Για να εκτελέσετε αυτή την επίθεση μπορείτε να χρησιμοποιήσετε το scapy: `pip install scapy`
|
||||
```python
|
||||
from scapy.all import *
|
||||
# Double tagging with ICMP packet (the response from the victim isn't double tagged so it will never reach the attacker)
|
||||
packet = Ether()/Dot1Q(vlan=1)/Dot1Q(vlan=20)/IP(dst='192.168.1.10')/ICMP()
|
||||
sendp(packet)
|
||||
```
|
||||
#### Lateral VLAN Segmentation Bypass <a href="#d679" id="d679"></a>
|
||||
#### Πλευρική παράκαμψη διαχωρισμού VLAN <a href="#d679" id="d679"></a>
|
||||
|
||||
Αν έχετε **πρόσβαση σε ένα switch στο οποίο είστε απευθείας συνδεδεμένοι**, έχετε τη δυνατότητα να **παρακάμψετε τον διαχωρισμό VLAN** εντός του δικτύου. Απλά **αλλάξτε την πόρτα σε trunk mode** (γνωστή και ως trunk), δημιουργήστε virtual interfaces με τα IDs των στοχευόμενων VLAN και διαμορφώστε μια διεύθυνση IP. Μπορείτε να προσπαθήσετε να ζητήσετε τη διεύθυνση δυναμικά (DHCP) ή να τη ρυθμίσετε στατικά. Εξαρτάται από την περίπτωση.
|
||||
|
||||
Αν έχετε **πρόσβαση σε έναν διακόπτη στον οποίο είστε άμεσα συνδεδεμένοι**, έχετε τη δυνατότητα να **παρακάμψετε την κατανομή VLAN** εντός του δικτύου. Απλά **αλλάξτε τη θύρα σε λειτουργία trunk** (γνωστή και ως trunk), δημιουργήστε εικονικές διεπαφές με τα IDs των στοχευμένων VLAN, και ρυθμίστε μια διεύθυνση IP. Μπορείτε να προσπαθήσετε να ζητήσετε τη διεύθυνση δυναμικά (DHCP) ή μπορείτε να την ρυθμίσετε στατικά. Εξαρτάται από την περίπτωση.
|
||||
|
||||
{{#ref}}
|
||||
lateral-vlan-segmentation-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
#### Layer 3 Private VLAN Bypass
|
||||
#### Παράκαμψη Private VLAN επιπέδου 3
|
||||
|
||||
Σε ορισμένα περιβάλλοντα, όπως τα δίκτυα ασύρματης πρόσβασης για επισκέπτες, εφαρμόζονται ρυθμίσεις **απομόνωσης θυρών (γνωστές και ως ιδιωτικά VLAN)** για να αποτρέψουν τους πελάτες που είναι συνδεδεμένοι σε ένα ασύρματο σημείο πρόσβασης από το να επικοινωνούν άμεσα μεταξύ τους. Ωστόσο, έχει εντοπιστεί μια τεχνική που μπορεί να παρακάμψει αυτά τα μέτρα απομόνωσης. Αυτή η τεχνική εκμεταλλεύεται είτε την έλλειψη ACL δικτύου είτε την εσφαλμένη τους ρύθμιση, επιτρέποντας στα πακέτα IP να δρομολογούνται μέσω ενός δρομολογητή για να φτάσουν σε έναν άλλο πελάτη στο ίδιο δίκτυο.
|
||||
Σε ορισμένα περιβάλλοντα, όπως δίκτυα guest ασύρματου δικτύου, εφαρμόζονται ρυθμίσεις **port isolation (γνωστές και ως private VLAN)** για να αποτρέπεται η άμεση επικοινωνία των clients που είναι συνδεδεμένοι σε ένα wireless access point μεταξύ τους. Ωστόσο, έχει εντοπιστεί μια τεχνική που μπορεί να παρακάμψει αυτά τα μέτρα απομόνωσης. Η τεχνική αυτή εκμεταλλεύεται είτε την απουσία δικτυακών ACLs είτε την εσφαλμένη τους διαμόρφωση, επιτρέποντας τη δρομολόγηση IP πακέτων μέσω ενός router για να φτάσουν σε έναν άλλο client στο ίδιο δίκτυο.
|
||||
|
||||
Η επίθεση εκτελείται δημιουργώντας ένα **πακέτο που φέρει τη διεύθυνση IP του προορισμού πελάτη αλλά με τη MAC διεύθυνση του δρομολογητή**. Αυτό προκαλεί στον δρομολογητή να προωθήσει λανθασμένα το πακέτο στον στοχευμένο πελάτη. Αυτή η προσέγγιση είναι παρόμοια με αυτή που χρησιμοποιείται στις επιθέσεις Double Tagging, όπου η ικανότητα ελέγχου ενός host προσβάσιμου από το θύμα χρησιμοποιείται για να εκμεταλλευτεί την ασφάλεια.
|
||||
Η επίθεση εκτελείται δημιουργώντας ένα **packet που φέρει τη διεύθυνση IP του προοριζόμενου client αλλά με τη MAC address του router**. Αυτό κάνει το router να προωθήσει λανθασμένα το packet προς τον στόχο. Αυτή η προσέγγιση είναι παρόμοια με αυτή που χρησιμοποιείται σε Double Tagging Attacks, όπου η δυνατότητα ελέγχου ενός host που είναι προσβάσιμος από το θύμα χρησιμοποιείται για την εκμετάλλευση του σφάλματος ασφαλείας.
|
||||
|
||||
**Βασικά Βήματα της Επίθεσης:**
|
||||
Βασικά Βήματα της Επίθεσης:
|
||||
|
||||
1. **Δημιουργία Πακέτου:** Ένα πακέτο δημιουργείται ειδικά για να περιλαμβάνει τη διεύθυνση IP του στοχευμένου πελάτη αλλά με τη MAC διεύθυνση του δρομολογητή.
|
||||
2. **Εκμετάλλευση Συμπεριφοράς Δρομολογητή:** Το δημιουργημένο πακέτο αποστέλλεται στον δρομολογητή, ο οποίος, λόγω της ρύθμισης, ανακατευθύνει το πακέτο στον στοχευμένο πελάτη, παρακάμπτοντας την απομόνωση που παρέχεται από τις ρυθμίσεις ιδιωτικού VLAN.
|
||||
1. Σύνθεση Πακέτου: Δημιουργείται ειδικά ένα πακέτο που περιλαμβάνει τη διεύθυνση IP του στοχευόμενου client αλλά με τη MAC address του router.
|
||||
2. Εκμετάλλευση Συμπεριφοράς Router: Το συντεθειμένο πακέτο στέλνεται προς το router, το οποίο, λόγω της διαμόρφωσης, αναδρομολογεί το πακέτο στον στοχευόμενο client, παρακάμπτοντας την απομόνωση που παρέχουν οι ρυθμίσεις private VLAN.
|
||||
|
||||
### VTP Attacks
|
||||
|
||||
Το VTP (VLAN Trunking Protocol) κεντρικοποιεί τη διαχείριση VLAN. Χρησιμοποιεί αριθμούς αναθεώρησης για να διατηρεί την ακεραιότητα της βάσης δεδομένων VLAN; οποιαδήποτε τροποποίηση αυξάνει αυτόν τον αριθμό. Οι διακόπτες υιοθετούν ρυθμίσεις με υψηλότερους αριθμούς αναθεώρησης, ενημερώνοντας τις δικές τους βάσεις δεδομένων VLAN.
|
||||
Το VTP (VLAN Trunking Protocol) κεντροποιεί τη διαχείριση των VLAN. Χρησιμοποιεί revision numbers για τη διατήρηση της ακεραιότητας της VLAN database· κάθε τροποποίηση αυξάνει αυτόν τον αριθμό. Τα switches υιοθετούν διαμορφώσεις με μεγαλύτερους αριθμούς revision, ενημερώνοντας τη δική τους VLAN database.
|
||||
|
||||
#### VTP Domain Roles
|
||||
|
||||
- **VTP Server:** Διαχειρίζεται τα VLAN—δημιουργεί, διαγράφει, τροποποιεί. Διαδίδει ανακοινώσεις VTP στα μέλη του τομέα.
|
||||
- **VTP Client:** Λαμβάνει ανακοινώσεις VTP για να συγχρονίσει τη βάση δεδομένων VLAN του. Αυτός ο ρόλος περιορίζεται από τροποποιήσεις ρυθμίσεων VLAN τοπικά.
|
||||
- **VTP Transparent:** Δεν συμμετέχει σε ενημερώσεις VTP αλλά προωθεί τις ανακοινώσεις VTP. Δεν επηρεάζεται από επιθέσεις VTP, διατηρεί έναν σταθερό αριθμό αναθεώρησης μηδέν.
|
||||
- **VTP Server:** Διαχειρίζεται VLAN—δημιουργεί, διαγράφει, τροποποιεί. Εκπέμπει VTP announcements στα μέλη του domain.
|
||||
- **VTP Client:** Λαμβάνει VTP announcements για να συγχρονίσει τη VLAN database του. Αυτός ο ρόλος δεν επιτρέπει τοπικές αλλαγές στη διαμόρφωση VLAN.
|
||||
- **VTP Transparent:** Δεν συμμετέχει σε VTP updates αλλά προωθεί VTP announcements. Δεν επηρεάζεται από VTP attacks και διατηρεί σταθερό revision number μηδέν.
|
||||
|
||||
#### VTP Advertisement Types
|
||||
|
||||
- **Summary Advertisement:** Διαδίδεται από τον VTP server κάθε 300 δευτερόλεπτα, μεταφέροντας βασικές πληροφορίες τομέα.
|
||||
- **Subset Advertisement:** Αποστέλλεται μετά από αλλαγές ρυθμίσεων VLAN.
|
||||
- **Advertisement Request:** Εκδίδεται από έναν VTP client για να ζητήσει μια Summary Advertisement, συνήθως ως απάντηση στην ανίχνευση υψηλότερου αριθμού αναθεώρησης ρύθμισης.
|
||||
- **Summary Advertisement:** Εκπέμπεται από τον VTP server κάθε 300 δευτερόλεπτα και περιέχει βασικές πληροφορίες για το domain.
|
||||
- **Subset Advertisement:** Αποστέλλεται μετά από αλλαγές στη διαμόρφωση VLAN.
|
||||
- **Advertisement Request:** Εκδίδεται από έναν VTP client για να ζητήσει ένα Summary Advertisement, συνήθως όταν ανιχνεύει υψηλότερο configuration revision number.
|
||||
|
||||
Οι ευπάθειες VTP είναι εκμεταλλεύσιμες αποκλειστικά μέσω θυρών trunk καθώς οι ανακοινώσεις VTP κυκλοφορούν μόνο μέσω αυτών. Μετά από σενάρια επίθεσης DTP, μπορεί να στραφούν προς το VTP. Εργαλεία όπως το Yersinia μπορούν να διευκολύνουν επιθέσεις VTP, στοχεύοντας να διαγράψουν τη βάση δεδομένων VLAN, διαταράσσοντας αποτελεσματικά το δίκτυο.
|
||||
Οι ευπάθειες του VTP είναι εκμεταλλεύσιμες αποκλειστικά μέσω trunk ports, καθώς τα VTP announcements κυκλοφορούν μόνο μέσω αυτών. Σε σενάρια μετά από DTP attacks, οι επιθέσεις μπορεί να στραφούν προς το VTP. Εργαλεία όπως το Yersinia μπορούν να διευκολύνουν επιθέσεις VTP, στοχεύοντας στο wipe out της VLAN database, διαταράσσοντας ουσιαστικά το δίκτυο.
|
||||
|
||||
Σημείωση: Αυτή η συζήτηση αφορά την έκδοση VTP 1 (VTPv1).
|
||||
````bash
|
||||
%% yersinia -G # Launch Yersinia in graphical mode ```
|
||||
````
|
||||
Στη γραφική λειτουργία του Yersinia, επιλέξτε την επιλογή διαγραφής όλων των VTP vlans για να καθαρίσετε τη βάση δεδομένων VLAN.
|
||||
Σημείωση: Αυτή η συζήτηση αναφέρεται στην έκδοση VTP 1 (VTPv1).
|
||||
```bash
|
||||
yersinia -G # Launch Yersinia in graphical mode
|
||||
```
|
||||
Στη γραφική λειτουργία του Yersinia, επιλέξτε την επιλογή deleting all VTP vlans για να καθαρίσετε τη VLAN database.
|
||||
|
||||
### STP Επιθέσεις
|
||||
### STP Attacks
|
||||
|
||||
**Εάν δεν μπορείτε να συλλάβετε τα πακέτα BPDU στις διεπαφές σας, είναι απίθανο να πετύχετε σε μια επίθεση STP.**
|
||||
**Εάν δεν μπορείτε να καταγράψετε πλαίσια BPDU στις διεπαφές σας, είναι απίθανο να πετύχετε σε STP attack.**
|
||||
|
||||
#### **STP BPDU DoS**
|
||||
|
||||
Αποστέλλοντας πολλά BPDUs TCP (Ειδοποίηση Αλλαγής Τοπολογίας) ή Conf (τα BPDUs που αποστέλλονται όταν δημιουργείται η τοπολογία), οι διακόπτες υπερφορτώνονται και σταματούν να λειτουργούν σωστά.
|
||||
Η αποστολή μεγάλου όγκου BPDUs TCP (Topology Change Notification) ή Conf (τα BPDUs που αποστέλλονται όταν δημιουργείται η τοπολογία) υπερφορτώνει τους switches, οι οποίοι σταματούν να λειτουργούν σωστά.
|
||||
```bash
|
||||
yersinia stp -attack 2
|
||||
yersinia stp -attack 3
|
||||
@ -399,79 +405,79 @@ yersinia stp -attack 3
|
||||
```
|
||||
#### **STP TCP Attack**
|
||||
|
||||
Όταν αποστέλλεται ένα TCP, ο πίνακας CAM των διακοπτών θα διαγραφεί σε 15 δευτερόλεπτα. Στη συνέχεια, αν στέλνετε συνεχώς αυτού του είδους τα πακέτα, ο πίνακας CAM θα επανεκκινείται συνεχώς (ή κάθε 15 δευτερόλεπτα) και όταν επανεκκινείται, ο διακόπτης συμπεριφέρεται ως κόμβος.
|
||||
Όταν αποστέλλεται ένα TCP, ο CAM table των switches θα διαγραφεί σε 15s. Έπειτα, αν στέλνετε συνεχώς αυτό το είδος packets, ο CAM table θα επανεκκινείται συνεχώς (ή κάθε 15segs) και όταν επανεκκινείται, ο switch συμπεριφέρεται ως hub.
|
||||
```bash
|
||||
yersinia stp -attack 1 #Will send 1 TCP packet and the switch should restore the CAM in 15 seconds
|
||||
yersinia stp -attack 0 #Will send 1 CONF packet, nothing else will happen
|
||||
```
|
||||
#### **STP Root Attack**
|
||||
|
||||
Ο επιτιθέμενος προσομοιώνει τη συμπεριφορά ενός διακόπτη για να γίνει ο STP root του δικτύου. Στη συνέχεια, περισσότερα δεδομένα θα περάσουν μέσω αυτού. Αυτό είναι ενδιαφέρον όταν είστε συνδεδεμένοι σε δύο διαφορετικούς διακόπτες.\
|
||||
Αυτό γίνεται στέλνοντας πακέτα BPDUs CONF που λένε ότι η τιμή **priority** είναι μικρότερη από την πραγματική προτεραιότητα του πραγματικού διακόπτη root.
|
||||
Ο επιτιθέμενος μιμείται τη συμπεριφορά ενός switch για να γίνει ο STP root του δικτύου. Στη συνέχεια, περισσότερα δεδομένα θα περάσουν μέσω αυτού. Αυτό είναι ενδιαφέρον όταν είσαι συνδεδεμένος σε δύο διαφορετικά switches.\
|
||||
Αυτό γίνεται στέλνοντας BPDUs CONF packets που δηλώνουν ότι η τιμή της **priority** είναι μικρότερη από την πραγματική τιμή της πραγματικής root switch.
|
||||
```bash
|
||||
yersinia stp -attack 4 #Behaves like the root switch
|
||||
yersinia stp -attack 5 #This will make the device behaves as a switch but will not be root
|
||||
```
|
||||
**Αν ο επιτιθέμενος είναι συνδεδεμένος σε 2 διακόπτες, μπορεί να είναι η ρίζα του νέου δέντρου και όλη η κίνηση μεταξύ αυτών των διακοπτών θα περνάει από αυτόν** (θα εκτελεστεί μια επίθεση MITM).
|
||||
**Εάν ο attacker είναι συνδεδεμένος με 2 switches, μπορεί να γίνει root του νέου tree και όλη η traffic μεταξύ αυτών των switches θα περάσει μέσω αυτού (θα πραγματοποιηθεί MITM attack).**
|
||||
```bash
|
||||
yersinia stp -attack 6 #This will cause a DoS as the layer 2 packets wont be forwarded. You can use Ettercap to forward those packets "Sniff" --> "Bridged sniffing"
|
||||
ettercap -T -i eth1 -B eth2 -q #Set a bridge between 2 interfaces to forwardpackages
|
||||
```
|
||||
### CDP Attacks
|
||||
### CDP Επιθέσεις
|
||||
|
||||
Το CISCO Discovery Protocol (CDP) είναι απαραίτητο για την επικοινωνία μεταξύ συσκευών CISCO, επιτρέποντάς τους να **αναγνωρίζουν η μία την άλλη και να μοιράζονται λεπτομέρειες διαμόρφωσης**.
|
||||
CISCO Discovery Protocol (CDP) είναι απαραίτητο για την επικοινωνία μεταξύ συσκευών CISCO, επιτρέποντάς τους να **αναγνωρίζουν η μία την άλλη και να μοιράζονται πληροφορίες διαμόρφωσης**.
|
||||
|
||||
#### Passive Data Collection <a href="#id-0e0f" id="id-0e0f"></a>
|
||||
#### Παθητική Συλλογή Δεδομένων <a href="#id-0e0f" id="id-0e0f"></a>
|
||||
|
||||
Το CDP είναι ρυθμισμένο να εκπέμπει πληροφορίες μέσω όλων των θυρών, γεγονός που μπορεί να οδηγήσει σε κίνδυνο ασφάλειας. Ένας επιτιθέμενος, μόλις συνδεθεί σε μια θύρα διακόπτη, θα μπορούσε να αναπτύξει εργαλεία παρακολούθησης δικτύου όπως **Wireshark**, **tcpdump** ή **Yersinia**. Αυτή η ενέργεια μπορεί να αποκαλύψει ευαίσθητα δεδομένα σχετικά με τη συσκευή δικτύου, συμπεριλαμβανομένου του μοντέλου της και της έκδοσης του Cisco IOS που εκτελεί. Ο επιτιθέμενος μπορεί στη συνέχεια να στοχεύσει συγκεκριμένες ευπάθειες στην αναγνωρισμένη έκδοση του Cisco IOS.
|
||||
Το CDP έχει ρυθμιστεί να εκπέμπει πληροφορίες μέσω όλων των θυρών, κάτι που μπορεί να οδηγήσει σε κίνδυνο ασφαλείας. Ένας επιτιθέμενος, αφού συνδεθεί σε μια θύρα switch, μπορεί να αναπτύξει network sniffers όπως **Wireshark**, **tcpdump**, ή **Yersinia**. Αυτή η ενέργεια μπορεί να αποκαλύψει ευαίσθητα δεδομένα για τη συσκευή δικτύου, συμπεριλαμβανομένου του μοντέλου και της έκδοσης του Cisco IOS που τρέχει. Ο επιτιθέμενος μπορεί τότε να στοχεύσει συγκεκριμένες ευπάθειες στην εντοπισμένη έκδοση του Cisco IOS.
|
||||
|
||||
#### Inducing CDP Table Flooding <a href="#id-0d6a" id="id-0d6a"></a>
|
||||
#### Προκαλώντας Πλημμύρα Πίνακα CDP <a href="#id-0d6a" id="id-0d6a"></a>
|
||||
|
||||
Μια πιο επιθετική προσέγγιση περιλαμβάνει την εκκίνηση μιας επίθεσης Denial of Service (DoS) πλημμυρίζοντας τη μνήμη του διακόπτη, προσποιούμενος ότι είναι νόμιμες συσκευές CISCO. Παρακάτω είναι η ακολουθία εντολών για την εκκίνηση μιας τέτοιας επίθεσης χρησιμοποιώντας το Yersinia, ένα εργαλείο δικτύου σχεδιασμένο για δοκιμές:
|
||||
Μια πιο επιθετική προσέγγιση περιλαμβάνει την εκτέλεση μιας επίθεσης Denial of Service (DoS) υπερφορτώνοντας τη μνήμη του switch, προσποιούμενη νόμιμες συσκευές CISCO. Παρακάτω βρίσκεται η ακολουθία εντολών για την εκκίνηση μιας τέτοιας επίθεσης χρησιμοποιώντας το Yersinia, ένα εργαλείο δικτύου σχεδιασμένο για δοκιμές:
|
||||
```bash
|
||||
sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO devices
|
||||
# Alternatively, for a GUI approach:
|
||||
sudo yersinia -G
|
||||
```
|
||||
Κατά τη διάρκεια αυτής της επίθεσης, η CPU του switch και ο πίνακας γειτόνων CDP επιβαρύνονται σοβαρά, οδηγώντας σε αυτό που συχνά αναφέρεται ως **“παράλυση δικτύου”** λόγω της υπερβολικής κατανάλωσης πόρων.
|
||||
Κατά τη διάρκεια αυτής της επίθεσης, η CPU του switch και ο CDP neighbor table επιβαρύνονται σημαντικά, οδηγώντας σε αυτό που συχνά αναφέρεται ως **“παράλυση δικτύου”** λόγω της υπερβολικής κατανάλωσης πόρων.
|
||||
|
||||
#### CDP Impersonation Attack
|
||||
```bash
|
||||
sudo yersinia cdp -attack 2 #Simulate a new CISCO device
|
||||
sudo yersinia cdp -attack 0 #Send a CDP packet
|
||||
```
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε [**scapy**](https://github.com/secdev/scapy/). Βεβαιωθείτε ότι το έχετε εγκαταστήσει με το πακέτο `scapy/contrib`.
|
||||
You could also use [**scapy**](https://github.com/secdev/scapy/). Be sure to install it with `scapy/contrib` package.
|
||||
|
||||
### Επιθέσεις VoIP και το εργαλείο VoIP Hopper
|
||||
|
||||
Τα τηλέφωνα VoIP, που ενσωματώνονται ολοένα και περισσότερο με συσκευές IoT, προσφέρουν λειτουργίες όπως το άνοιγμα θυρών ή τον έλεγχο θερμοστατών μέσω ειδικών αριθμών τηλεφώνου. Ωστόσο, αυτή η ενσωμάτωση μπορεί να θέσει σε κίνδυνο την ασφάλεια.
|
||||
Τα VoIP τηλέφωνα, που ολοένα και περισσότερο ενσωματώνονται με συσκευές IoT, παρέχουν λειτουργίες όπως το ξεκλείδωμα θυρών ή ο έλεγχος θερμοστατών μέσω ειδικών τηλεφωνικών αριθμών. Ωστόσο, αυτή η ενσωμάτωση μπορεί να δημιουργήσει κινδύνους ασφάλειας.
|
||||
|
||||
Το εργαλείο [**voiphopper**](http://voiphopper.sourceforge.net) έχει σχεδιαστεί για να προσομοιώνει ένα τηλέφωνο VoIP σε διάφορα περιβάλλοντα (Cisco, Avaya, Nortel, Alcatel-Lucent). Ανακαλύπτει το VLAN ID του φωνητικού δικτύου χρησιμοποιώντας πρωτόκολλα όπως CDP, DHCP, LLDP-MED και 802.1Q ARP.
|
||||
Το εργαλείο [**voiphopper**](http://voiphopper.sourceforge.net) έχει σχεδιαστεί για να μιμείται ένα VoIP τηλέφωνο σε διάφορα περιβάλλοντα (Cisco, Avaya, Nortel, Alcatel-Lucent). Εντοπίζει το VLAN ID του voice δικτύου χρησιμοποιώντας πρωτόκολλα όπως CDP, DHCP, LLDP-MED και 802.1Q ARP.
|
||||
|
||||
**VoIP Hopper** προσφέρει τρεις λειτουργίες για το Πρωτόκολλο Ανακάλυψης Cisco (CDP):
|
||||
**VoIP Hopper** προσφέρει τρεις λειτουργίες για το Cisco Discovery Protocol (CDP):
|
||||
|
||||
1. **Λειτουργία Sniff** (`-c 0`): Αναλύει τα πακέτα δικτύου για να προσδιορίσει το VLAN ID.
|
||||
2. **Λειτουργία Spoof** (`-c 1`): Δημιουργεί προσαρμοσμένα πακέτα που μιμούνται αυτά μιας πραγματικής συσκευής VoIP.
|
||||
3. **Λειτουργία Spoof με Προκατασκευασμένο Πακέτο** (`-c 2`): Στέλνει πακέτα ταυτόσημα με αυτά ενός συγκεκριμένου μοντέλου τηλεφώνου Cisco IP.
|
||||
1. **Sniff Mode** (`-c 0`): Αναλύει πακέτα δικτύου για να εντοπίσει το VLAN ID.
|
||||
2. **Spoof Mode** (`-c 1`): Δημιουργεί προσαρμοσμένα πακέτα που μιμούνται αυτά μιας πραγματικής VoIP συσκευής.
|
||||
3. **Spoof with Pre-made Packet Mode** (`-c 2`): Στέλνει πακέτα πανομοιότυπα με αυτά ενός συγκεκριμένου μοντέλου Cisco IP phone.
|
||||
|
||||
Η προτιμώμενη λειτουργία για ταχύτητα είναι η τρίτη. Απαιτεί τον καθορισμό:
|
||||
Η προτιμώμενη λειτουργία για ταχύτητα είναι η τρίτη. Απαιτεί να καθορίσετε:
|
||||
|
||||
- Της διεπαφής δικτύου του επιτιθέμενου (`-i` παράμετρος).
|
||||
- Του ονόματος της συσκευής VoIP που προσομοιώνεται (`-E` παράμετρος), σύμφωνα με τη μορφή ονοματοδοσίας της Cisco (π.χ. SEP ακολουθούμενο από μια διεύθυνση MAC).
|
||||
- Το network interface του επιτιθέμενου (`-i` parameter).
|
||||
- Το όνομα της VoIP συσκευής που μιμείστε (`-E` parameter), σύμφωνα με τη μορφή ονομασίας της Cisco (π.χ. SEP ακολουθούμενο από MAC address).
|
||||
|
||||
Σε εταιρικά περιβάλλοντα, για να μιμηθεί μια υπάρχουσα συσκευή VoIP, μπορεί κανείς να:
|
||||
Σε εταιρικά περιβάλλοντα, για να μιμηθείτε υπάρχουσα VoIP συσκευή, μπορείτε να:
|
||||
|
||||
- Εξετάσει την ετικέτα MAC στο τηλέφωνο.
|
||||
- Περιηγηθεί στις ρυθμίσεις οθόνης του τηλεφώνου για να δει πληροφορίες μοντέλου.
|
||||
- Συνδέσει τη συσκευή VoIP σε ένα φορητό υπολογιστή και να παρακολουθήσει τα αιτήματα CDP χρησιμοποιώντας το Wireshark.
|
||||
- Ελέγξετε την ετικέτα MAC στο τηλέφωνο.
|
||||
- Πλοηγηθείτε στις ρυθμίσεις οθόνης του τηλεφώνου για να δείτε πληροφορίες μοντέλου.
|
||||
- Συνδέσετε τη VoIP συσκευή σε φορητό υπολογιστή και παρατηρήσετε τα CDP requests χρησιμοποιώντας Wireshark.
|
||||
|
||||
Ένα παράδειγμα εντολής για να εκτελέσετε το εργαλείο στην τρίτη λειτουργία θα ήταν:
|
||||
```bash
|
||||
voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2
|
||||
```
|
||||
### DHCP Attacks
|
||||
### DHCP Επιθέσεις
|
||||
|
||||
#### Enumeration
|
||||
#### Καταγραφή
|
||||
```bash
|
||||
nmap --script broadcast-dhcp-discover
|
||||
Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-16 05:30 EDT
|
||||
@ -491,99 +497,101 @@ Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds
|
||||
```
|
||||
**DoS**
|
||||
|
||||
**Δύο τύποι DoS** μπορούν να εκτελούνται κατά των DHCP servers. Ο πρώτος περιλαμβάνει **την προσομοίωση αρκετών ψεύτικων hosts για να χρησιμοποιηθούν όλες οι δυνατές διευθύνσεις IP**.\
|
||||
Αυτή η επίθεση θα λειτουργήσει μόνο αν μπορείτε να δείτε τις απαντήσεις του DHCP server και να ολοκληρώσετε το πρωτόκολλο (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server)). Για παράδειγμα, αυτό **δεν είναι δυνατό σε δίκτυα Wifi**.
|
||||
**Two types of DoS** μπορούν να πραγματοποιηθούν εναντίον των DHCP servers. Ο πρώτος αφορά το να **προσομοιώσετε αρκετούς ψεύτικους hosts ώστε να εξαντληθούν όλες οι πιθανές διευθύνσεις IP**.\
|
||||
Αυτή η επίθεση θα λειτουργήσει μόνο εάν μπορείτε να δείτε τις απαντήσεις του DHCP server και να ολοκληρώσετε το πρωτόκολλο (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server)). Για παράδειγμα, αυτό **δεν είναι δυνατό σε Wifi networks**.
|
||||
|
||||
Μια άλλη μέθοδος για να εκτελέσετε ένα DHCP DoS είναι να στείλετε ένα **DHCP-RELEASE packet χρησιμοποιώντας ως πηγή κάθε δυνατή IP**. Τότε, ο server θα νομίζει ότι όλοι έχουν τελειώσει τη χρήση της IP.
|
||||
Ένας άλλος τρόπος για να πραγματοποιηθεί DHCP DoS είναι να σταλεί ένα **DHCP-RELEASE packet using as source code every possible IP**. Τότε, ο server θα νομίσει ότι όλοι έχουν τελειώσει με τη χρήση της IP.
|
||||
```bash
|
||||
yersinia dhcp -attack 1
|
||||
yersinia dhcp -attack 3 #More parameters are needed
|
||||
```
|
||||
Μια πιο αυτόματη μέθοδος για να το κάνετε αυτό είναι η χρήση του εργαλείου [DHCPing](https://github.com/kamorin/DHCPig)
|
||||
Ένας πιο αυτόματος τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε το εργαλείο [DHCPing](https://github.com/kamorin/DHCPig)
|
||||
|
||||
Μπορείτε να χρησιμοποιήσετε τις αναφερόμενες επιθέσεις DoS για να αναγκάσετε τους πελάτες να αποκτήσουν νέες μισθώσεις εντός του περιβάλλοντος και να εξαντλήσετε τους νόμιμους διακομιστές ώστε να γίνουν μη ανταγωνιστικοί. Έτσι, όταν οι νόμιμοι προσπαθήσουν να επανασυνδεθούν, **μπορείτε να σερβίρετε κακόβουλες τιμές που αναφέρονται στην επόμενη επίθεση**.
|
||||
Μπορείτε να χρησιμοποιήσετε τις αναφερόμενες DoS επιθέσεις για να αναγκάσετε τους clients να λάβουν νέα leases μέσα στο περιβάλλον και να εξαντλήσετε τους νόμιμους servers ώστε να γίνουν μη αποκρίσιμοι. Έτσι, όταν οι νόμιμοι προσπαθήσουν να επανασυνδεθούν, **μπορείτε να παρέχετε κακόβουλες τιμές που αναφέρονται στην επόμενη επίθεση**.
|
||||
|
||||
#### Ορισμός κακόβουλων τιμών
|
||||
|
||||
Ένας κακόβουλος διακομιστής DHCP μπορεί να ρυθμιστεί χρησιμοποιώντας το σενάριο DHCP που βρίσκεται στο `/usr/share/responder/DHCP.py`. Αυτό είναι χρήσιμο για επιθέσεις δικτύου, όπως η καταγραφή της κίνησης HTTP και των διαπιστευτηρίων, ανακατευθύνοντας την κίνηση σε έναν κακόβουλο διακομιστή. Ωστόσο, η ρύθμιση ενός κακόβουλου πύλης είναι λιγότερο αποτελεσματική, καθώς επιτρέπει μόνο την καταγραφή της εξερχόμενης κίνησης από τον πελάτη, χάνοντας τις απαντήσεις από την πραγματική πύλη. Αντίθετα, συνιστάται η ρύθμιση ενός κακόβουλου διακομιστή DNS ή WPAD για μια πιο αποτελεσματική επίθεση.
|
||||
Ένας rogue DHCP server μπορεί να στηθεί χρησιμοποιώντας το DHCP script που βρίσκεται στο `/usr/share/responder/DHCP.py`. Αυτό είναι χρήσιμο για network attacks, όπως η καταγραφή HTTP traffic και credentials, ανακατευθύνοντας την κίνηση σε έναν malicious server. Ωστόσο, η ρύθμιση ενός rogue gateway είναι λιγότερο αποτελεσματική καθώς επιτρέπει μόνο την καταγραφή εξερχόμενης κίνησης από τον client, χάνοντας τις απαντήσεις από το πραγματικό gateway. Αντίθετα, συνιστάται η εγκατάσταση ενός rogue DNS ή WPAD server για πιο αποτελεσματική επίθεση.
|
||||
|
||||
Παρακάτω είναι οι επιλογές εντολών για τη ρύθμιση του κακόβουλου διακομιστή DHCP:
|
||||
Below are the command options for configuring the rogue DHCP server:
|
||||
|
||||
- **Διεύθυνση 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, βοηθώντας στην παρεμβολή της κίνησης ιστού.
|
||||
- **Ψεύτικη Διεύθυνση IP Προεπιλεγμένης Πύλης**: Συμπεριλάβετε `-S` για να ψεύσετε τη διεύθυνση IP της προεπιλεγμένης πύλης.
|
||||
- **Απάντηση σε Όλες τις Αιτήσεις DHCP**: Συμπεριλάβετε `-R` για να κάνετε τον διακομιστή να απαντά σε όλες τις αιτήσεις DHCP, αλλά να είστε προσεκτικοί καθώς αυτό είναι θορυβώδες και μπορεί να ανιχνευθεί.
|
||||
- **Our IP Address (Gateway Advertisement)**: Χρησιμοποιήστε `-i 10.0.0.100` για να διαφημίσετε τη διεύθυνση IP του μηχανήματός σας ως gateway.
|
||||
- **Local DNS Domain Name**: Προαιρετικά, χρησιμοποιήστε `-d example.org` για να ορίσετε ένα τοπικό DNS domain name.
|
||||
- **Original Router/Gateway IP**: Χρησιμοποιήστε `-r 10.0.0.1` για να καθορίσετε τη διεύθυνση IP του νόμιμου router ή gateway.
|
||||
- **Primary DNS Server IP**: Χρησιμοποιήστε `-p 10.0.0.100` για να ορίσετε τη διεύθυνση IP του rogue DNS server που ελέγχετε.
|
||||
- **Secondary DNS Server IP**: Προαιρετικά, χρησιμοποιήστε `-s 10.0.0.1` για να ορίσετε μια secondary DNS server IP.
|
||||
- **Netmask of Local Network**: Χρησιμοποιήστε `-n 255.255.255.0` για να ορίσετε το netmask του τοπικού δικτύου.
|
||||
- **Interface for DHCP Traffic**: Χρησιμοποιήστε `-I eth1` για να ακούτε DHCP traffic σε μια συγκεκριμένη network interface.
|
||||
- **WPAD Configuration Address**: Χρησιμοποιήστε `-w “http://10.0.0.100/wpad.dat”` για να ορίσετε τη διεύθυνση για WPAD configuration, βοηθώντας στην υποκλοπή web traffic.
|
||||
- **Spoof Default Gateway IP**: Συμπεριλάβετε `-S` για να πλαστογραφήσετε τη default gateway IP address.
|
||||
- **Respond to All DHCP Requests**: Συμπεριλάβετε `-R` για να κάνετε τον server να απαντά σε όλα τα DHCP requests, αλλά λάβετε υπόψη ότι αυτό είναι θορυβώδες και μπορεί να ανιχνευθεί.
|
||||
|
||||
Χρησιμοποιώντας σωστά αυτές τις επιλογές, μπορεί να δημιουργηθεί ένας κακόβουλος διακομιστής DHCP για να παρεμβάλλει αποτελεσματικά την κίνηση δικτύου.
|
||||
Χρησιμοποιώντας σωστά αυτές τις επιλογές, μπορεί να εγκατασταθεί ένας rogue DHCP server για να υποκλεπτεί αποτελεσματικά το network traffic.
|
||||
```python
|
||||
# Example to start a rogue DHCP server with specified options
|
||||
!python /usr/share/responder/DHCP.py -i 10.0.0.100 -d example.org -r 10.0.0.1 -p 10.0.0.100 -s 10.0.0.1 -n 255.255.255.0 -I eth1 -w "http://10.0.0.100/wpad.dat" -S -R
|
||||
```
|
||||
### **EAP Επιθέσεις**
|
||||
|
||||
Εδώ είναι μερικές από τις τακτικές επιθέσεων που μπορούν να χρησιμοποιηθούν κατά των υλοποιήσεων 802.1X:
|
||||
Ακολουθούν μερικές τακτικές επίθεσης που μπορούν να χρησιμοποιηθούν εναντίον υλοποιήσεων 802.1X:
|
||||
|
||||
- Ενεργή βίαιη προσπάθεια αποκωδικοποίησης κωδικών πρόσβασης μέσω EAP
|
||||
- Επίθεση στον διακομιστή RADIUS με κακώς διαμορφωμένο περιεχόμενο EAP _\*\*_(exploits)
|
||||
- Καταγραφή μηνυμάτων EAP και εκ των υστέρων αποκωδικοποίηση κωδικών πρόσβασης (EAP-MD5 και PEAP)
|
||||
- Ανάγκαστη πιστοποίηση EAP-MD5 για παράκαμψη της επικύρωσης πιστοποιητικού TLS
|
||||
- Εισαγωγή κακόβουλης δικτυακής κίνησης κατά την πιστοποίηση χρησιμοποιώντας ένα hub ή παρόμοιο
|
||||
- Ενεργή brute-force δοκιμή κωδικού μέσω EAP
|
||||
- Επίθεση στον RADIUS server με κακόμορφο EAP περιεχόμενο _\*\*_(exploits)
|
||||
- Καταγραφή μηνυμάτων EAP και offline αποκωδικοποίηση κωδικού (EAP-MD5 και PEAP)
|
||||
- Εξαναγκασμός της EAP-MD5 αυθεντικοποίησης για παράκαμψη της επικύρωσης πιστοποιητικού TLS
|
||||
- Εισαγωγή κακόβουλης κυκλοφορίας δικτύου μετά την αυθεντικοποίηση χρησιμοποιώντας hub ή παρόμοιο
|
||||
|
||||
Εάν ο επιτιθέμενος είναι μεταξύ του θύματος και του διακομιστή πιστοποίησης, θα μπορούσε να προσπαθήσει να υποβαθμίσει (αν είναι απαραίτητο) το πρωτόκολλο πιστοποίησης σε EAP-MD5 και να καταγράψει την απόπειρα πιστοποίησης. Στη συνέχεια, θα μπορούσε να το αποκωδικοποιήσει βίαια χρησιμοποιώντας:
|
||||
Εάν ο επιτιθέμενος βρίσκεται ανάμεσα στο θύμα και τον διακομιστή αυθεντικοποίησης, μπορεί να προσπαθήσει να υποβαθμίσει (αν χρειάζεται) το πρωτόκολλο αυθεντικοποίησης σε EAP-MD5 και να καταγράψει την προσπάθεια αυθεντικοποίησης. Έπειτα, θα μπορούσε να δοκιμάσει brute-force με χρήση:
|
||||
```
|
||||
eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
|
||||
```
|
||||
### FHRP (GLBP & HSRP) Attacks <a href="#id-6196" id="id-6196"></a>
|
||||
|
||||
**FHRP** (Πρωτόκολλο Πρώτης Εναλλακτικής Διαδρομής) είναι μια κατηγορία πρωτοκόλλων δικτύου που έχει σχεδιαστεί για να **δημιουργήσει ένα σύστημα δρομολόγησης με ζεστή εναλλακτική διαδρομή**. Με το FHRP, φυσικοί δρομολογητές μπορούν να συνδυαστούν σε μια ενιαία λογική συσκευή, η οποία αυξάνει την ανθεκτικότητα σε σφάλματα και βοηθά στη διανομή του φορτίου.
|
||||
**FHRP** (First Hop Redundancy Protocol) είναι μια κατηγορία πρωτοκόλλων δικτύου σχεδιασμένων να δημιουργούν ένα ενεργό εφεδρικό σύστημα δρομολόγησης. Με το FHRP, οι φυσικοί δρομολογητές μπορούν να συνδυαστούν σε μία λογική συσκευή, κάτι που αυξάνει την αντοχή σε σφάλματα και βοηθά στην κατανομή του φόρτου.
|
||||
|
||||
**Οι μηχανικοί της Cisco Systems έχουν αναπτύξει δύο πρωτόκολλα FHRP, GLBP και HSRP.**
|
||||
|
||||
|
||||
{{#ref}}
|
||||
glbp-and-hsrp-attacks.md
|
||||
{{#endref}}
|
||||
|
||||
### RIP
|
||||
|
||||
Τρεις εκδόσεις του Πρωτοκόλλου Πληροφοριών Δρομολόγησης (RIP) είναι γνωστό ότι υπάρχουν: RIP, RIPv2 και RIPng. Τα datagrams αποστέλλονται σε ομότιμους μέσω της θύρας 520 χρησιμοποιώντας UDP από το RIP και το RIPv2, ενώ τα datagrams μεταδίδονται στη θύρα UDP 521 μέσω IPv6 multicast από το RIPng. Η υποστήριξη για την αυθεντικοποίηση MD5 εισήχθη από το RIPv2. Από την άλλη πλευρά, η εγγενής αυθεντικοποίηση δεν ενσωματώνεται από το RIPng; αντίθετα, βασίζεται σε προαιρετικά IPsec AH και ESP headers εντός του IPv6.
|
||||
Υπάρχουν τρεις γνωστές εκδόσεις του Routing Information Protocol (RIP): RIP, RIPv2 και RIPng. Τα datagrams αποστέλλονται σε peers μέσω της θύρας 520 χρησιμοποιώντας UDP από τα RIP και RIPv2, ενώ τα datagrams εκπέμπονται στη θύρα UDP 521 μέσω IPv6 multicast από το RIPng. Η υποστήριξη για MD5 authentication εισήχθη από το RIPv2. Αντίθετα, το RIPng δεν ενσωματώνει εγγενή authentication· αντί αυτού βασίζεται σε προαιρετικά IPsec AH και ESP headers στο IPv6.
|
||||
|
||||
- **RIP και RIPv2:** Η επικοινωνία γίνεται μέσω UDP datagrams στη θύρα 520.
|
||||
- **RIPng:** Χρησιμοποιεί τη θύρα UDP 521 για τη μετάδοση datagrams μέσω IPv6 multicast.
|
||||
- **RIP and RIPv2:** Η επικοινωνία γίνεται μέσω UDP datagrams στη θύρα 520.
|
||||
- **RIPng:** Χρησιμοποιεί τη θύρα UDP 521 για broadcast datagrams μέσω IPv6 multicast.
|
||||
|
||||
Σημειώστε ότι το RIPv2 υποστηρίζει την αυθεντικοποίηση MD5 ενώ το RIPng δεν περιλαμβάνει εγγενή αυθεντικοποίηση, βασιζόμενο σε IPsec AH και ESP headers στο IPv6.
|
||||
Σημειώστε ότι το RIPv2 υποστηρίζει MD5 authentication ενώ το RIPng δεν περιλαμβάνει εγγενές authentication, βασιζόμενο σε IPsec AH και ESP headers στο IPv6.
|
||||
|
||||
### EIGRP Attacks
|
||||
|
||||
**EIGRP (Πρωτόκολλο Ενισχυμένης Εσωτερικής Πύλης)** είναι ένα δυναμικό πρωτόκολλο δρομολόγησης. **Είναι ένα πρωτόκολλο απόστασης-διανύσματος.** Εάν δεν υπάρχει **αυθεντικοποίηση** και ρύθμιση παθητικών διεπαφών, ένας **εισβολέας** μπορεί να παρεμβαίνει στη δρομολόγηση EIGRP και να προκαλέσει **δηλητηρίαση πινάκων δρομολόγησης**. Επιπλέον, το δίκτυο EIGRP (με άλλα λόγια, το αυτόνομο σύστημα) **είναι επίπεδο και δεν έχει τμηματοποίηση σε ζώνες**. Εάν ένας **επιτιθέμενος εισάγει μια διαδρομή**, είναι πιθανό αυτή η διαδρομή να **διαδοθεί** σε όλο το αυτόνομο σύστημα EIGRP.
|
||||
**EIGRP (Enhanced Interior Gateway Routing Protocol)** είναι ένα δυναμικό routing protocol. **Είναι ένα distance-vector protocol.** Εάν δεν υπάρχει **authentication** και ρύθμιση παθητικών διεπαφών, ένας **εισβολέας** μπορεί να παρεμποδίσει τη δρομολόγηση EIGRP και να προκαλέσει **δηλητηρίαση πινάκων δρομολόγησης**. Επιπλέον, το δίκτυο EIGRP (δηλαδή το autonomous system) **είναι επίπεδο και δεν έχει τμηματοποίηση σε ζώνες**. Εάν ένας **επιτιθέμενος εγχύσει μια διαδρομή**, είναι πιθανό αυτή η διαδρομή να **διαδοθεί** σε όλο το αυτόνομο σύστημα EIGRP.
|
||||
|
||||
Για να επιτεθεί σε ένα σύστημα EIGRP απαιτείται **η δημιουργία γειτονιάς με έναν νόμιμο δρομολογητή EIGRP**, που ανοίγει πολλές δυνατότητες, από βασική αναγνώριση μέχρι διάφορες ενέσεις.
|
||||
Για να επιτεθεί κάποιος σε σύστημα EIGRP απαιτείται **η εγκαθίδρυση γειτονίας με έναν νόμιμο EIGRP router**, κάτι που ανοίγει πολλές δυνατότητες, από βασική αναγνώριση μέχρι διάφορες εγχύσεις.
|
||||
|
||||
[**FRRouting**](https://frrouting.org/) σας επιτρέπει να υλοποιήσετε **έναν virtual router που υποστηρίζει BGP, OSPF, EIGRP, RIP και άλλα πρωτόκολλα.** Απλώς αναπτύξτε το στο σύστημα του επιτιθέμενου και μπορείτε ουσιαστικά να προσποιηθείτε ότι είστε ένας νόμιμος δρομολογητής στο routing domain.
|
||||
|
||||
[**FRRouting**](https://frrouting.org/) σας επιτρέπει να υλοποιήσετε **έναν εικονικό δρομολογητή που υποστηρίζει BGP, OSPF, EIGRP, RIP και άλλα πρωτόκολλα.** Το μόνο που χρειάζεται να κάνετε είναι να το αναπτύξετε στο σύστημα του επιτιθέμενου και μπορείτε πραγματικά να προσποιηθείτε ότι είστε ένας νόμιμος δρομολογητής στο δίκτυο δρομολόγησης.
|
||||
|
||||
{{#ref}}
|
||||
eigrp-attacks.md
|
||||
{{#endref}}
|
||||
|
||||
[**Coly**](https://code.google.com/p/coly/) έχει δυνατότητες για την παρεμβολή των μεταδόσεων EIGRP (Πρωτόκολλο Ενισχυμένης Εσωτερικής Πύλης). Επιτρέπει επίσης την έγχυση πακέτων, τα οποία μπορούν να χρησιμοποιηθούν για την τροποποίηση των ρυθμίσεων δρομολόγησης.
|
||||
[**Coly**](https://code.google.com/p/coly/) έχει δυνατότητες για την υποκλοπή EIGRP broadcasts. Επιτρέπει επίσης την έγχυση πακέτων, τα οποία μπορούν να χρησιμοποιηθούν για την τροποποίηση των ρυθμίσεων δρομολόγησης.
|
||||
|
||||
### OSPF
|
||||
|
||||
Στο πρωτόκολλο Open Shortest Path First (OSPF) **η αυθεντικοποίηση MD5 χρησιμοποιείται συνήθως για να διασφαλίσει ασφαλή επικοινωνία μεταξύ των δρομολογητών**. Ωστόσο, αυτό το μέτρο ασφαλείας μπορεί να παραβιαστεί χρησιμοποιώντας εργαλεία όπως το Loki και το John the Ripper. Αυτά τα εργαλεία είναι ικανά να συλλάβουν και να σπάσουν τα MD5 hashes, εκθέτοντας το κλειδί αυθεντικοποίησης. Μόλις αποκτηθεί αυτό το κλειδί, μπορεί να χρησιμοποιηθεί για την εισαγωγή νέων πληροφοριών δρομολόγησης. Για να ρυθμίσετε τις παραμέτρους της διαδρομής και να καθορίσετε το παραβιασμένο κλειδί, χρησιμοποιούνται οι καρτέλες _Injection_ και _Connection_, αντίστοιχα.
|
||||
Στο πρωτόκολλο Open Shortest Path First (OSPF) η MD5 authentication χρησιμοποιείται συνήθως για να εξασφαλίσει ασφαλή επικοινωνία μεταξύ δρομολογητών. Ωστόσο, αυτό το μέτρο ασφάλειας μπορεί να παραβιαστεί χρησιμοποιώντας εργαλεία όπως τα Loki και John the Ripper. Αυτά τα εργαλεία μπορούν να καταγράψουν και να σπάσουν MD5 hashes, αποκαλύπτοντας το authentication key. Μόλις αποκτηθεί αυτό το key, μπορεί να χρησιμοποιηθεί για να εισάγει νέα πληροφορία δρομολόγησης. Για τη ρύθμιση των παραμέτρων διαδρομής και την καθιέρωση του συμβιβασμένου key χρησιμοποιούνται οι καρτέλες _Injection_ και _Connection_ αντίστοιχα.
|
||||
|
||||
- **Σύλληψη και Σπάσιμο MD5 Hashes:** Εργαλεία όπως το Loki και το John the Ripper χρησιμοποιούνται για αυτό το σκοπό.
|
||||
- **Ρύθμιση Παραμέτρων Διαδρομής:** Αυτό γίνεται μέσω της καρτέλας _Injection_.
|
||||
- **Ρύθμιση του Παραβιασμένου Κλειδιού:** Το κλειδί ρυθμίζεται κάτω από την καρτέλα _Connection_.
|
||||
- **Καταγραφή και σπάσιμο MD5 hashes:** Χρησιμοποιούνται εργαλεία όπως τα Loki και John the Ripper.
|
||||
- **Ρύθμιση παραμέτρων διαδρομής:** Γίνεται μέσω της καρτέλας _Injection_.
|
||||
- **Ορισμός του συμβιβασμένου key:** Το key ρυθμίζεται στην καρτέλα _Connection_.
|
||||
|
||||
### Other Generic Tools & Sources
|
||||
|
||||
- [**Above**](https://github.com/c4s73r/Above): Εργαλείο για σάρωση δικτυακής κίνησης και εύρεση ευπαθειών
|
||||
- Μπορείτε να βρείτε περισσότερες **πληροφορίες σχετικά με επιθέσεις δικτύου** [**εδώ**](https://github.com/Sab0tag3d/MITM-cheatsheet).
|
||||
- [**Above**](https://github.com/c4s73r/Above): Εργαλείο για σάρωση της κυκλοφορίας δικτύου και εντοπισμό ευπαθειών
|
||||
- Μπορείτε να βρείτε περισσότερες πληροφορίες για **επιθέσεις δικτύου** [**εδώ**](https://github.com/Sab0tag3d/MITM-cheatsheet).
|
||||
|
||||
## **Spoofing**
|
||||
|
||||
@ -594,11 +602,11 @@ yersinia dhcp -attack 2 #More parameters are needed
|
||||
```
|
||||
### ARP Spoofing
|
||||
|
||||
Δείτε την [προηγούμενη ενότητα](#arp-spoofing).
|
||||
Δείτε την [previous section](#arp-spoofing).
|
||||
|
||||
### ICMPRedirect
|
||||
|
||||
Το ICMP Redirect συνίσταται στην αποστολή ενός πακέτου ICMP τύπου 1 κωδικού 5 που υποδεικνύει ότι ο επιτιθέμενος είναι ο καλύτερος τρόπος για να φτάσετε σε μια διεύθυνση IP. Στη συνέχεια, όταν το θύμα θέλει να επικοινωνήσει με την IP, θα στείλει το πακέτο μέσω του επιτιθέμενου.
|
||||
ICMP Redirect συνίσταται στην αποστολή ενός ICMP packet type 1 code 5 που υποδεικνύει ότι ο attacker είναι ο καλύτερος δρόμος για να προσεγγιστεί ένα IP. Στη συνέχεια, όταν ο victim θέλει να επικοινωνήσει με το IP, θα στείλει το πακέτο μέσω του attacker.
|
||||
```bash
|
||||
Ettercap
|
||||
icmp_redirect
|
||||
@ -606,18 +614,18 @@ hping3 [VICTIM IP ADDRESS] -C 5 -K 1 -a [VICTIM DEFAULT GW IP ADDRESS] --icmp-gw
|
||||
```
|
||||
### DNS Spoofing
|
||||
|
||||
Ο επιτιθέμενος θα επιλύσει μερικούς (ή όλους) τους τομείς που ζητάει το θύμα.
|
||||
Ο attacker θα επιλύσει μερικά (ή όλα) από τα domains που ζητά το victim.
|
||||
```bash
|
||||
set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on
|
||||
```
|
||||
**Ρυθμίστε το δικό σας DNS με το dnsmasq**
|
||||
**Ρύθμιση δικού DNS με dnsmasq**
|
||||
```bash
|
||||
apt-get install dnsmasqecho "addn-hosts=dnsmasq.hosts" > dnsmasq.conf #Create dnsmasq.confecho "127.0.0.1 domain.example.com" > dnsmasq.hosts #Domains in dnsmasq.hosts will be the domains resolved by the Dsudo dnsmasq -C dnsmasq.conf --no-daemon
|
||||
dig @localhost domain.example.com # Test the configured DNS
|
||||
```
|
||||
### Τοπικές Πύλες
|
||||
|
||||
Πολλές διαδρομές προς συστήματα και δίκτυα συχνά υπάρχουν. Αφού δημιουργήσετε μια λίστα με διευθύνσεις MAC εντός του τοπικού δικτύου, χρησιμοποιήστε το _gateway-finder.py_ για να εντοπίσετε υπολογιστές που υποστηρίζουν την προώθηση IPv4.
|
||||
Συχνά υπάρχουν πολλαπλές διαδρομές προς συστήματα και δίκτυα. Μετά τη δημιουργία λίστας MAC addresses εντός του τοπικού δικτύου, χρησιμοποιήστε _gateway-finder.py_ για να εντοπίσετε hosts που υποστηρίζουν IPv4 forwarding.
|
||||
```
|
||||
root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git
|
||||
root@kali:~# cd gateway-finder/
|
||||
@ -637,35 +645,35 @@ gateway-finder v1.0 http://pentestmonkey.net/tools/gateway-finder
|
||||
```
|
||||
### [Spoofing LLMNR, NBT-NS, and mDNS](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
|
||||
Για την τοπική επίλυση ονομάτων όταν οι αναζητήσεις DNS αποτυγχάνουν, τα συστήματα της Microsoft βασίζονται στην **Link-Local Multicast Name Resolution (LLMNR)** και την **NetBIOS Name Service (NBT-NS)**. Ομοίως, οι υλοποιήσεις **Apple Bonjour** και **Linux zero-configuration** χρησιμοποιούν το **Multicast DNS (mDNS)** για την ανακάλυψη συστημάτων εντός ενός δικτύου. Λόγω της μη αυθεντικοποιημένης φύσης αυτών των πρωτοκόλλων και της λειτουργίας τους μέσω UDP, στέλνοντας μηνύματα, μπορούν να εκμεταλλευτούν από επιτιθέμενους που στοχεύουν να ανακατευθύνουν τους χρήστες σε κακόβουλες υπηρεσίες.
|
||||
Για την τοπική επίλυση ονομάτων όταν οι αναζητήσεις DNS αποτυγχάνουν, τα συστήματα Microsoft βασίζονται σε **Link-Local Multicast Name Resolution (LLMNR)** και στην **NetBIOS Name Service (NBT-NS)**. Ομοίως, οι υλοποιήσεις **Apple Bonjour** και **Linux zero-configuration** χρησιμοποιούν **Multicast DNS (mDNS)** για τον εντοπισμό συστημάτων στο δίκτυο. Εξαιτίας της μη-επαληθευμένης φύσης αυτών των πρωτοκόλλων και της λειτουργίας τους πάνω σε UDP, με μετάδοση μηνυμάτων (broadcast), μπορούν να εκμεταλλευτούν επιτιθέμενοι που στοχεύουν στην ανακατεύθυνση χρηστών σε κακόβουλες υπηρεσίες.
|
||||
|
||||
Μπορείτε να προσποιηθείτε υπηρεσίες που αναζητούνται από τους hosts χρησιμοποιώντας το Responder για να στείλετε ψευδείς απαντήσεις.\
|
||||
Διαβάστε εδώ περισσότερες πληροφορίες σχετικά με [το πώς να προσποιηθείτε υπηρεσίες με το Responder](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
Μπορείτε να προσποιηθείτε υπηρεσίες που αναζητούν οι hosts χρησιμοποιώντας το Responder για να στείλετε ψευδείς απαντήσεις.\
|
||||
Διαβάστε εδώ περισσότερες πληροφορίες για [how to Impersonate services with Responder](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
|
||||
### [Spoofing WPAD](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
|
||||
Οι περιηγητές χρησιμοποιούν συνήθως το **Web Proxy Auto-Discovery (WPAD) πρωτόκολλο για να αποκτούν αυτόματα ρυθμίσεις proxy**. Αυτό περιλαμβάνει την ανάκτηση λεπτομερειών ρύθμισης από έναν διακομιστή, συγκεκριμένα μέσω μιας διεύθυνσης URL όπως "http://wpad.example.org/wpad.dat". Η ανακάλυψη αυτού του διακομιστή από τους πελάτες μπορεί να συμβεί μέσω διαφόρων μηχανισμών:
|
||||
Οι περιηγητές συνήθως χρησιμοποιούν το πρωτόκολλο **Web Proxy Auto-Discovery (WPAD)** για να αποκτούν αυτόματα ρυθμίσεις proxy. Αυτό περιλαμβάνει την ανάκτηση λεπτομερειών ρύθμισης από έναν διακομιστή, συγκεκριμένα μέσω ενός URL όπως "http://wpad.example.org/wpad.dat". Η ανακάλυψη αυτού του διακομιστή από τους clients μπορεί να γίνει μέσω διαφόρων μηχανισμών:
|
||||
|
||||
- Μέσω **DHCP**, όπου η ανακάλυψη διευκολύνεται με τη χρήση μιας ειδικής καταχώρησης κωδικού 252.
|
||||
- Από **DNS**, που περιλαμβάνει την αναζήτηση ενός ονόματος υπολογιστή με την ετικέτα _wpad_ εντός του τοπικού τομέα.
|
||||
- Μέσω **Microsoft LLMNR και NBT-NS**, που είναι μηχανισμοί εφεδρείας που χρησιμοποιούνται σε περιπτώσεις όπου οι αναζητήσεις DNS δεν επιτυγχάνουν.
|
||||
- Μέσω **DNS**, που περιλαμβάνει την αναζήτηση ενός hostname με την ετικέτα _wpad_ εντός του τοπικού domain.
|
||||
- Μέσω **Microsoft LLMNR and NBT-NS**, που είναι μηχανισμοί fallback χρησιμοποιούμενοι όταν οι αναζητήσεις DNS δεν πετυχαίνουν.
|
||||
|
||||
Το εργαλείο Responder εκμεταλλεύεται αυτό το πρωτόκολλο ενεργώντας ως **κακόβουλος διακομιστής WPAD**. Χρησιμοποιεί DHCP, DNS, LLMNR και NBT-NS για να παραπλανήσει τους πελάτες να συνδεθούν σε αυτόν. Για να εμβαθύνετε στο πώς μπορούν να προσποιηθούν υπηρεσίες χρησιμοποιώντας το Responder [ελέγξτε αυτό](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
Το εργαλείο Responder εκμεταλλεύεται αυτό το πρωτόκολλο ενεργώντας ως **malicious WPAD server**. Χρησιμοποιεί DHCP, DNS, LLMNR, και NBT-NS για να εξαπατήσει τους clients ώστε να συνδεθούν σε αυτό. Για να εμβαθύνετε στο πώς μπορούν να προσποιηθούν υπηρεσίες χρησιμοποιώντας το Responder [check this](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
|
||||
### [Spoofing SSDP and UPnP devices](spoofing-ssdp-and-upnp-devices.md)
|
||||
|
||||
Μπορείτε να προσφέρετε διαφορετικές υπηρεσίες στο δίκτυο για να προσπαθήσετε να **παγιδεύσετε έναν χρήστη** να εισάγει κάποια **κωδικά πρόσβασης σε απλό κείμενο**. **Περισσότερες πληροφορίες σχετικά με αυτήν την επίθεση στο** [**Spoofing SSDP and UPnP Devices**](spoofing-ssdp-and-upnp-devices.md)**.**
|
||||
Μπορείτε να προσφέρετε διαφορετικές υπηρεσίες στο δίκτυο για να προσπαθήσετε να **trick a user** ώστε να εισάγει κάποιες **plain-text credentials**. **More information about this attack in** [**Spoofing SSDP and UPnP Devices**](spoofing-ssdp-and-upnp-devices.md)**.**
|
||||
|
||||
### IPv6 Neighbor Spoofing
|
||||
|
||||
Αυτή η επίθεση είναι πολύ παρόμοια με την ARP Spoofing αλλά στον κόσμο του IPv6. Μπορείτε να κάνετε το θύμα να πιστέψει ότι το IPv6 του GW έχει το MAC του επιτιθέμενου.
|
||||
Αυτή η επίθεση είναι πολύ παρόμοια με το ARP Spoofing αλλά στον κόσμο του IPv6. Μπορείτε να κάνετε το θύμα να πιστέψει ότι η διεύθυνση IPv6 της GW έχει το MAC του επιτιθέμενου.
|
||||
```bash
|
||||
sudo parasite6 -l eth0 # This option will respond to every requests spoofing the address that was requested
|
||||
sudo fake_advertise6 -r -w 2 eth0 <Router_IPv6> #This option will send the Neighbor Advertisement packet every 2 seconds
|
||||
```
|
||||
### IPv6 Router Advertisement Spoofing/Flooding
|
||||
|
||||
Ορισμένα λειτουργικά συστήματα ρυθμίζουν από προεπιλογή την πύλη από τα πακέτα RA που αποστέλλονται στο δίκτυο. Για να δηλώσετε τον επιτιθέμενο ως IPv6 δρομολογητή μπορείτε να χρησιμοποιήσετε:
|
||||
Ορισμένα OS ρυθμίζουν από προεπιλογή την προεπιλεγμένη πύλη από τα πακέτα RA που αποστέλλονται στο δίκτυο. Για να δηλώσετε τον επιτιθέμενο ως IPv6 router μπορείτε να χρησιμοποιήσετε:
|
||||
```bash
|
||||
sysctl -w net.ipv6.conf.all.forwarding=1 4
|
||||
ip route add default via <ROUTER_IPv6> dev wlan0
|
||||
@ -673,20 +681,20 @@ fake_router6 wlan0 fe80::01/16
|
||||
```
|
||||
### IPv6 DHCP spoofing
|
||||
|
||||
Από προεπιλογή, ορισμένα λειτουργικά συστήματα προσπαθούν να ρυθμίσουν το DNS διαβάζοντας ένα πακέτο DHCPv6 στο δίκτυο. Έτσι, ένας επιτιθέμενος θα μπορούσε να στείλει ένα πακέτο DHCPv6 για να ρυθμιστεί ως DNS. Το DHCP παρέχει επίσης μια διεύθυνση IPv6 στο θύμα.
|
||||
Από προεπιλογή, ορισμένα OS προσπαθούν να ρυθμίσουν το DNS διαβάζοντας ένα DHCPv6 πακέτο στο δίκτυο. Έτσι, ένας attacker θα μπορούσε να στείλει ένα DHCPv6 πακέτο για να ρυθμίσει τον εαυτό του ως DNS. Το DHCP επίσης παρέχει ένα IPv6 στο θύμα.
|
||||
```bash
|
||||
dhcp6.spoof on
|
||||
dhcp6.spoof.domains <list of domains>
|
||||
|
||||
mitm6
|
||||
```
|
||||
### HTTP (ψεύτικη σελίδα και εισαγωγή κώδικα JS)
|
||||
### HTTP (ψεύτικη σελίδα και JS code injection)
|
||||
|
||||
## Επιθέσεις στο Διαδίκτυο
|
||||
|
||||
### sslStrip
|
||||
|
||||
Βασικά, αυτό που κάνει αυτή η επίθεση είναι, σε περίπτωση που ο **χρήστης** προσπαθήσει να **πρόσβαση** σε μια **σελίδα HTTP** που **ανακατευθύνει** στην **έκδοση HTTPS**. Το **sslStrip** θα **διατηρήσει** μια **σύνδεση HTTP με** τον **πελάτη και** μια **σύνδεση HTTPS με** τον **διακομιστή** ώστε να μπορεί να **καταγράψει** τη σύνδεση σε **καθαρό κείμενο**.
|
||||
Βασικά, αυτό που κάνει αυτή η επίθεση είναι ότι, σε περίπτωση που ο **χρήστης** προσπαθήσει να **έχει πρόσβαση** σε μια **HTTP** σελίδα που **ανακατευθύνει** στην έκδοση **HTTPS**, η **sslStrip** θα **διατηρήσει** μια **HTTP connection with** τον **client** και μια **HTTPS connection with** τον **server**, ώστε να μπορέσει να **sniff** τη σύνδεση σε **plain text**.
|
||||
```bash
|
||||
apt-get install sslstrip
|
||||
sslstrip -w /tmp/sslstrip.log --all - l 10000 -f -k
|
||||
@ -697,25 +705,25 @@ iptables -A INPUT -p tcp --destination-port 10000 -j ACCEPT
|
||||
```
|
||||
More info [here](https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf).
|
||||
|
||||
### sslStrip+ και dns2proxy για την παράκαμψη του HSTS
|
||||
### sslStrip+ and dns2proxy for bypassing HSTS
|
||||
|
||||
Η **διαφορά** μεταξύ **sslStrip+ και dns2proxy** σε σχέση με **sslStrip** είναι ότι θα **ανακατευθύνουν** για παράδειγμα το _**www.facebook.com**_ **σε** _**wwww.facebook.com**_ (σημειώστε το **επιπλέον** "**w**") και θα ορίσουν τη **διεύθυνση αυτού του τομέα ως τη διεύθυνση IP του επιτιθέμενου**. Με αυτόν τον τρόπο, ο **πελάτης** θα **συνδεθεί** στο _**wwww.facebook.com**_ **(τον επιτιθέμενο)** αλλά πίσω από τις σκηνές το **sslstrip+** θα **διατηρεί** τη **πραγματική σύνδεση** μέσω https με **www.facebook.com**.
|
||||
The **difference** between **sslStrip+ and dns2proxy** against **sslStrip** is that they will **redirect** for example _**www.facebook.com**_ **to** _**wwww.facebook.com**_ (note the **extra** "**w**") and will set the **address of this domain as the attacker IP**. This way, the **client** will **connect** to _**wwww.facebook.com**_ **(the attacker)** but behind the scenes **sslstrip+** will **maintain** the **real connection** via https with **www.facebook.com**.
|
||||
|
||||
Ο **στόχος** αυτής της τεχνικής είναι να **αποφευχθεί το HSTS** επειδή το _**wwww**.facebook.com_ **δεν θα** αποθηκευτεί στην **κρυφή μνήμη** του προγράμματος περιήγησης, οπότε το πρόγραμμα περιήγησης θα παραπλανηθεί να εκτελέσει **την αυθεντικοποίηση του facebook σε HTTP**.\
|
||||
Σημειώστε ότι για να εκτελεστεί αυτή η επίθεση, το θύμα πρέπει αρχικά να προσπαθήσει να αποκτήσει πρόσβαση στο [http://www.faceook.com](http://www.faceook.com) και όχι στο https. Αυτό μπορεί να γίνει τροποποιώντας τους συνδέσμους μέσα σε μια σελίδα http.
|
||||
Ο **στόχος** αυτής της τεχνικής είναι να **αποφύγει το HSTS** επειδή _**wwww**.facebook.com_ **δεν θα** αποθηκευτεί στην **cache** του **browser**, οπότε ο **browser** θα εξαπατηθεί να εκτελέσει **facebook authentication in HTTP**.\
|
||||
Σημειώστε ότι για να πραγματοποιηθεί αυτή η επίθεση το θύμα πρέπει αρχικά να προσπαθήσει να αποκτήσει πρόσβαση στο [http://www.faceook.com](http://www.faceook.com) και όχι μέσω https. Αυτό μπορεί να γίνει τροποποιώντας τους συνδέσμους μέσα σε μια http σελίδα.
|
||||
|
||||
More info [here](https://www.bettercap.org/legacy/#hsts-bypass), [here](https://www.slideshare.net/Fatuo__/offensive-exploiting-dns-servers-changes-blackhat-asia-2014) and [here](https://security.stackexchange.com/questions/91092/how-does-bypassing-hsts-with-sslstrip-work-exactly).
|
||||
|
||||
**sslStrip ή sslStrip+ δεν λειτουργεί πια. Αυτό συμβαίνει επειδή υπάρχουν κανόνες HSTS που είναι αποθηκευμένοι στους περιηγητές, οπότε ακόμη και αν είναι η πρώτη φορά που ένας χρήστης αποκτά πρόσβαση σε έναν "σημαντικό" τομέα, θα αποκτήσει πρόσβαση μέσω HTTPS. Επίσης, σημειώστε ότι οι αποθηκευμένοι κανόνες και άλλοι παραγόμενοι κανόνες μπορούν να χρησιμοποιούν τη σημαία** [**`includeSubdomains`**](https://hstspreload.appspot.com) **έτσι το** _**wwww.facebook.com**_ **παράδειγμα από πριν δεν θα λειτουργεί πια καθώς το** _**facebook.com**_ **χρησιμοποιεί HSTS με `includeSubdomains`.**
|
||||
**sslStrip or sslStrip+ doesn;t work anymore. This is because there are HSTS rules presaved in the browsers, so even if it's the first time that a user access an "important" domain he will access it via HTTPS. Also, notice that the presaved rules and other generated rules can use the flag** [**`includeSubdomains`**](https://hstspreload.appspot.com) **so the** _**wwww.facebook.com**_ **example from before won't work anymore as** _**facebook.com**_ **uses HSTS with `includeSubdomains`.**
|
||||
|
||||
TODO: easy-creds, evilgrade, metasploit, factory
|
||||
|
||||
## TCP listen in port
|
||||
## TCP ακρόαση σε θύρα
|
||||
```bash
|
||||
sudo nc -l -p 80
|
||||
socat TCP4-LISTEN:80,fork,reuseaddr -
|
||||
```
|
||||
## TCP + SSL listen in port
|
||||
## TCP + SSL listen σε port
|
||||
|
||||
#### Δημιουργία κλειδιών και αυτο-υπογεγραμμένου πιστοποιητικού
|
||||
```
|
||||
@ -727,18 +735,18 @@ openssl req -new -key $FILENAME.key -x509 -sha256 -days 3653 -out $FILENAME.crt
|
||||
# Generate the PEM file by just appending the key and certificate files:
|
||||
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem
|
||||
```
|
||||
#### Ακούστε χρησιμοποιώντας πιστοποιητικό
|
||||
#### Ακρόαση με πιστοποιητικό
|
||||
```
|
||||
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -
|
||||
```
|
||||
#### Άκουσέ το χρησιμοποιώντας πιστοποιητικό και ανακατεύθυνε στους διακομιστές
|
||||
#### Ακούστε χρησιμοποιώντας πιστοποιητικό και ανακατεύθυνση προς hosts
|
||||
```
|
||||
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 openssl-connect:[SERVER]:[PORT],verify=0
|
||||
```
|
||||
Κάποιες φορές, αν ο πελάτης ελέγξει ότι η CA είναι έγκυρη, θα μπορούσατε **να σερβίρετε ένα πιστοποιητικό άλλου hostname υπογεγραμμένο από μια CA**.\
|
||||
Ένας άλλος ενδιαφέρον έλεγχος είναι να σερβίρετε ένα **πιστοποιητικό του ζητούμενου hostname αλλά αυτοϋπογεγραμμένο**.
|
||||
Κάποιες φορές, αν ο client ελέγχει ότι η CA είναι έγκυρη, μπορείτε να **serve a certificate of other hostname signed by a CA**.\
|
||||
Μια άλλη ενδιαφέρουσα δοκιμή είναι να serve a c**ertificate of the requested hostname but self-signed**.
|
||||
|
||||
Άλλα πράγματα που μπορείτε να δοκιμάσετε είναι να προσπαθήσετε να υπογράψετε το πιστοποιητικό με ένα έγκυρο πιστοποιητικό που δεν είναι έγκυρη CA. Ή να χρησιμοποιήσετε το έγκυρο δημόσιο κλειδί, να αναγκάσετε τη χρήση ενός αλγορίθμου όπως το diffie hellman (ένας που δεν χρειάζεται να αποκρυπτογραφήσει τίποτα με το πραγματικό ιδιωτικό κλειδί) και όταν ο πελάτης ζητήσει μια δοκιμή του πραγματικού ιδιωτικού κλειδιού (όπως ένα hash) να στείλετε μια ψεύτικη δοκιμή και να περιμένετε ότι ο πελάτης δεν θα ελέγξει αυτό.
|
||||
Άλλα πράγματα που μπορούμε να δοκιμάσουμε είναι να προσπαθήσουμε να υπογράψουμε το certificate με ένα έγκυρο certificate που όμως δεν είναι έγκυρη CA. Ή να χρησιμοποιήσουμε το έγκυρο public key, να επιβάλουμε τη χρήση ενός algorithm όπως diffie hellman (ένα που δεν χρειάζεται να αποκρυπτογραφήσει τίποτα με το πραγματικό private key) και όταν ο client ζητήσει ένα probe του πραγματικού private key (όπως ένα hash) να στείλουμε ένα ψεύτικο probe και να αναμένουμε ότι ο client δεν θα το ελέγξει.
|
||||
|
||||
## Bettercap
|
||||
```bash
|
||||
@ -766,17 +774,17 @@ set wifi.ap.channel 5
|
||||
set wifi.ap.encryption false #If true, WPA2
|
||||
wifi.recon on; wifi.ap
|
||||
```
|
||||
### Σημειώσεις Ενεργής Ανακάλυψης
|
||||
### Active Discovery Notes
|
||||
|
||||
Λάβετε υπόψη ότι όταν αποστέλλεται ένα πακέτο UDP σε μια συσκευή που δεν έχει την ζητούμενη θύρα, αποστέλλεται ένα ICMP (Port Unreachable).
|
||||
Λάβετε υπόψη ότι όταν ένα πακέτο UDP αποστέλλεται σε μια συσκευή που δεν έχει την ζητούμενη θύρα, αποστέλλεται ένα μήνυμα ICMP (Port Unreachable).
|
||||
|
||||
### **ARP ανακάλυψη**
|
||||
### **ARP discover**
|
||||
|
||||
Τα πακέτα ARP χρησιμοποιούνται για να ανακαλύψουν ποιες IPs χρησιμοποιούνται μέσα στο δίκτυο. Ο υπολογιστής πρέπει να στείλει ένα αίτημα για κάθε πιθανή διεύθυνση IP και μόνο οι διευθύνσεις που χρησιμοποιούνται θα απαντήσουν.
|
||||
Τα πακέτα ARP χρησιμοποιούνται για να εντοπίσουν ποιες IP χρησιμοποιούνται μέσα στο δίκτυο. Ο υπολογιστής πρέπει να στείλει ένα αίτημα για κάθε πιθανή διεύθυνση IP και μόνο αυτές που είναι σε χρήση θα απαντήσουν.
|
||||
|
||||
### **mDNS (multicast DNS)**
|
||||
|
||||
Το Bettercap στέλνει ένα αίτημα MDNS (κάθε X ms) ζητώντας για **\_services\_.dns-sd.\_udp.local**. Η μηχανή που βλέπει αυτό το πακέτο συνήθως απαντά σε αυτό το αίτημα. Στη συνέχεια, αναζητά μόνο τις μηχανές που απαντούν σε "services".
|
||||
Το Bettercap στέλνει ένα mDNS αίτημα (κάθε X ms) ζητώντας το **\_services\_.dns-sd.\_udp.local**. Η μηχανή που βλέπει αυτό το πακέτο συνήθως απαντά σε αυτό το αίτημα. Έπειτα, ψάχνει μόνο για μηχανές που απαντούν σε "services".
|
||||
|
||||
**Εργαλεία**
|
||||
|
||||
@ -786,17 +794,19 @@ wifi.recon on; wifi.ap
|
||||
|
||||
### **NBNS (NetBios Name Server)**
|
||||
|
||||
Το Bettercap εκπέμπει πακέτα στη θύρα 137/UDP ζητώντας το όνομα "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||||
Το Bettercap εκπέμπει πακέτα στη θύρα 137/UDP ζητώντας για το όνομα "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".
|
||||
|
||||
### **SSDP (Simple Service Discovery Protocol)**
|
||||
|
||||
Το Bettercap εκπέμπει πακέτα SSDP αναζητώντας κάθε είδους υπηρεσίες (UDP Port 1900).
|
||||
Το Bettercap εκπέμπει πακέτα SSDP ψάχνοντας για κάθε είδους υπηρεσίες (UDP Port 1900).
|
||||
|
||||
### **WSD (Web Service Discovery)**
|
||||
|
||||
Το Bettercap εκπέμπει πακέτα WSD αναζητώντας υπηρεσίες (UDP Port 3702).
|
||||
Το Bettercap εκπέμπει πακέτα WSD ψάχνοντας για υπηρεσίες (UDP Port 3702).
|
||||
|
||||
|
||||
### Telecom / Mobile-Core (GTP) Exploitation
|
||||
|
||||
### Εκμετάλλευση Τηλεπικοινωνιών / Mobile-Core (GTP)
|
||||
|
||||
{{#ref}}
|
||||
telecom-network-exploitation.md
|
||||
@ -805,8 +815,10 @@ telecom-network-exploitation.md
|
||||
## Αναφορές
|
||||
|
||||
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
- **Αξιολόγηση Ασφάλειας Δικτύου: Γνωρίστε το Δίκτυό σας (3η έκδοση)**
|
||||
- **Πρακτική Χάκινγκ IoT: Ο Οριστικός Οδηγός για την Επίθεση στο Διαδίκτυο των Πραγμάτων. Από τους Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Wood**
|
||||
- **Network Security Assessment: Know Your Network (3rd edition)**
|
||||
- **Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things. By Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Wood**
|
||||
- [https://medium.com/@cursedpkt/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@cursedpkt/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
|
||||
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user