mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
276 lines
30 KiB
Markdown
276 lines
30 KiB
Markdown
# 500/udp - Ελεγχος ασφάλειας IPsec/IKE VPN
|
||
|
||
<details>
|
||
|
||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||
|
||
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγραφήματος**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||
|
||
</details>
|
||
|
||
**Try Hard Security Group**
|
||
|
||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||
|
||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||
|
||
***
|
||
|
||
## Βασικές Πληροφορίες
|
||
|
||
Το **IPsec** αναγνωρίζεται ευρέως ως η κύρια τεχνολογία για την ασφάλιση των επικοινωνιών μεταξύ δικτύων (LAN-to-LAN) και από απομακρυσμένους χρήστες προς την πύλη του δικτύου (απομακρυσμένη πρόσβαση), λειτουργώντας ως η βάση για λύσεις επιχειρησιακών VPN.
|
||
|
||
Η δημιουργία μιας **συναλλαγής ασφάλειας (SA)** μεταξύ δύο σημείων διαχειρίζεται από το **IKE**, το οποίο λειτουργεί υπό την ομπρέλα του ISAKMP, ένα πρωτόκολλο σχεδιασμένο για την αυθεντικοποίηση και την ανταλλαγή κλειδιών. Αυτή η διαδικασία εκτυλίσσεται σε αρκετές φάσεις:
|
||
|
||
- **Φάση 1:** Δημιουργείται ένα ασφαλές κανάλι μεταξύ δύο σημείων. Αυτό επιτυγχάνεται μέσω της χρήσης ενός Προκαθορισμένου Κλειδιού (PSK) ή πιστοποιητικών, χρησιμοποιώντας είτε την κύρια λειτουργία, η οποία περιλαμβάνει τρία ζεύγη μηνυμάτων, είτε **επιθετική λειτουργία**.
|
||
- **Φάση 1.5:** Αν και δεν είναι υποχρεωτική, αυτή η φάση, γνωστή ως Φάση Επεκτεινόμενης Ταυτοποίησης, επαληθεύει την ταυτότητα του χρήστη που προσπαθεί να συνδεθεί απαιτώντας ένα όνομα χρήστη και κωδικό πρόσβασης.
|
||
- **Φάση 2:** Αυτή η φάση είναι αφιερωμένη στη διαπραγμάτευση των παραμέτρων για την ασφάλιση δεδομένων με **ESP** και **AH**. Επιτρέπει τη χρήση αλγορίθμων διαφορετικών από αυτούς στη Φάση 1 για να διασφαλίσει την **Τέλεια Μετάδοση Μυστικών (PFS)**, ενισχύοντας την ασφάλεια.
|
||
|
||
**Προεπιλεγμένη θύρα:** 500/udp
|
||
|
||
## **Ανακαλύψτε** την υπηρεσία χρησιμοποιώντας το nmap
|
||
```
|
||
root@bt:~# nmap -sU -p 500 172.16.21.200
|
||
Starting Nmap 5.51 (http://nmap.org) at 2011-11-26 10:56 IST
|
||
Nmap scan report for 172.16.21.200
|
||
Host is up (0.00036s latency).
|
||
PORT STATE SERVICE
|
||
500/udp open isakmp
|
||
MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems)
|
||
```
|
||
## **Εύρεση μιας έγκυρης μετασχηματιστικής λειτουργίας**
|
||
|
||
Η διαμόρφωση του IPSec μπορεί να προετοιμαστεί μόνο για να αποδεχθεί μία ή λίγες μετασχηματιστικές λειτουργίες. Μια μετασχηματιστική λειτουργία είναι μια συνδυασμός τιμών. **Κάθε μετασχηματισμός** περιέχει έναν αριθμό χαρακτηριστικών όπως το DES ή το 3DES ως αλγόριθμος **κρυπτογράφησης**, το SHA ή το MD5 ως αλγόριθμος **ακεραιότητας**, ένα προκαθορισμένο κλειδί ως τύπος **πιστοποίησης**, Diffie-Hellman 1 ή 2 ως αλγόριθμος **διανομής κλειδιών** και 28800 δευτερόλεπτα ως **διάρκεια ζωής**.
|
||
|
||
Στη συνέχεια, το πρώτο πράγμα που πρέπει να κάνετε είναι να **βρείτε μια έγκυρη μετασχηματιστική λειτουργία**, ώστε ο διακομιστής να συνομιλήσει μαζί σας. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το εργαλείο **ike-scan**. Από προεπιλογή, το Ike-scan λειτουργεί σε κύρια λειτουργία και στέλνει ένα πακέτο στην πύλη με έναν κεφαλίδα ISAKMP και μια μόνο πρόταση με **οκτώ μετασχηματιστικές λειτουργίες μέσα σε αυτή**.
|
||
|
||
Ανάλογα με την απάντηση, μπορείτε να λάβετε ορισμένες πληροφορίες σχετικά με το σημείο πρόσβασης:
|
||
```
|
||
root@bt:~# ike-scan -M 172.16.21.200
|
||
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
|
||
172.16.21.200 Main Mode Handshake returned
|
||
HDR=(CKY-R=d90bf054d6b76401)
|
||
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
|
||
VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)
|
||
|
||
Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 returned handshake; 0 returned notify
|
||
```
|
||
Όπως μπορείτε να δείτε στην προηγούμενη απάντηση, υπάρχει ένα πεδίο που ονομάζεται **AUTH** με την τιμή **PSK**. Αυτό σημαίνει ότι το vpn έχει ρυθμιστεί χρησιμοποιώντας ένα προκαθορισμένο κλειδί (και αυτό είναι πραγματικά καλό για έναν pentester).\
|
||
**Η τιμή της τελευταίας γραμμής είναι επίσης πολύ σημαντική:**
|
||
|
||
* _0 επέστρεψε handshake; 0 επέστρεψε ειδοποίηση:_ Αυτό σημαίνει ότι το στόχος **δεν είναι ένας πύλη IPsec**.
|
||
* _**1 επέστρεψε handshake; 0 επέστρεψε ειδοποίηση:**_ Αυτό σημαίνει ότι ο **στόχος έχει ρυθμιστεί για IPsec και είναι πρόθυμος να πραγματοποιήσει διαπραγμάτευση IKE, και μία ή περισσότερες από τις μετασχηματίσεις που προτείνατε είναι αποδεκτές** (μια έγκυρη μετασχηματιστική θα εμφανιστεί στην έξοδο).
|
||
* _0 επέστρεψε handshake; 1 επέστρεψε ειδοποίηση:_ Οι πύλες VPN ανταποκρίνονται με ένα μήνυμα ειδοποίησης όταν **καμία από τις μετασχηματίσεις δεν είναι αποδεκτές** (αν και μερικές πύλες δεν το κάνουν, σε αυτή την περίπτωση θα πρέπει να δοκιμαστεί περαιτέρω ανάλυση και μια αναθεωρημένη πρόταση).
|
||
|
||
Στη συνέχεια, σε αυτήν την περίπτωση έχουμε ήδη μια έγκυρη μετασχηματιστική αλλά αν βρίσκεστε στην 3η περίπτωση, τότε πρέπει να **δοκιμάσετε λίγο brute-force για να βρείτε μια έγκυρη μετασχηματιστική:**
|
||
|
||
Καταρχάς, πρέπει να δημιουργήσετε όλες τις πιθανές μετασχηματιστικές:
|
||
```bash
|
||
for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done
|
||
```
|
||
Και στη συνέχεια εκτελέστε βίαιη επίθεση σε κάθε ένα χρησιμοποιώντας το ike-scan (αυτό μπορεί να διαρκέσει αρκετά λεπτά):
|
||
```bash
|
||
while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
|
||
```
|
||
Αν η μέθοδος εξαναγκασμού δεν λειτούργησε, ίσως ο διακομιστής απαντά χωρίς χειραψίες ακόμα και σε έγκυρες μετασχηματίσεις. Στη συνέχεια, μπορείτε να δοκιμάσετε την ίδια μέθοδο εξαναγκασμού χρησιμοποιώντας τη λειτουργία επιθετικού τρόπου:
|
||
```bash
|
||
while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
|
||
```
|
||
Ελπίζουμε **να επιστραφεί μια έγκυρη μετατροπή**.\
|
||
Μπορείτε να δοκιμάσετε τη **ίδια επίθεση** χρησιμοποιώντας το [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\
|
||
Μπορείτε επίσης να δοκιμάσετε τη δύναμη της μετατροπής με το [**ikeforce**](https://github.com/SpiderLabs/ikeforce):
|
||
```bash
|
||
./ikeforce.py <IP> # No parameters are required for scan -h for additional help
|
||
```
|
||
![](<../.gitbook/assets/image (109).png>)
|
||
|
||
Στο **DH Group: 14 = 2048-bit MODP** και **15 = 3072-bit**\
|
||
**2 = HMAC-SHA = SHA1 (σε αυτήν την περίπτωση). Η μορφή `--trans` είναι $Enc,$Hash,$Auth,$DH**
|
||
|
||
Η Cisco υποδεικνύει να αποφεύγετε τη χρήση των DH ομάδων 1 και 2 επειδή δεν είναι αρκετά ισχυρές. Οι ειδικοί πιστεύουν ότι **χώρες με πολλούς πόρους μπορούν εύκολα να αποκρυπτογραφήσουν** δεδομένα που χρησιμοποιούν αυτές τις αδύναμες ομάδες. Αυτό επιτυγχάνεται χρησιμοποιώντας ένα ειδικό μέθοδο που τις προετοιμάζει να αποκρυπτογραφήσουν γρήγορα τους κωδικούς. Παρόλο που κοστίζει πολλά χρήματα να εγκατασταθεί αυτή η μέθοδος, επιτρέπει σε αυτές τις ισχυρές χώρες να διαβάζουν τα κρυπτογραφημένα δεδομένα σε πραγματικό χρόνο αν χρησιμοποιείται μια ομάδα που δεν είναι ισχυρή (όπως η 1,024-bit ή μικρότερη).
|
||
|
||
### Ανίχνευση δακτυλικών αποτυπωμάτων διακομιστή
|
||
|
||
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το ike-scan για να προσπαθήσετε να **ανακαλύψετε τον προμηθευτή** της συσκευής. Το εργαλείο στέλνει μια αρχική πρόταση και σταματά την επανάληψη. Στη συνέχεια, θα **αναλύσει** τη **διαφορά χρόνου** μεταξύ των ληφθέντων **μηνυμάτων** από τον διακομιστή και το αντίστοιχο πρότυπο απάντησης, ώστε ο δοκιμαστής να μπορεί να ανιχνεύσει με επιτυχία τον προμηθευτή πύλης VPN. Επιπλέον, ορισμένοι διακομιστές VPN θα χρησιμοποιήσουν το προαιρετικό **πληθυσμιακό φορτίο Αναγνωριστικού Προμηθευτή (VID)** με το IKE.
|
||
|
||
**Καθορίστε την έγκυρη μετασχηματιστική διαδικασία αν είναι απαραίτητο** (χρησιμοποιώντας --trans)
|
||
|
||
Αν το IKE ανακαλύψει ποιος είναι ο προμηθευτής, θα το εκτυπώσει:
|
||
```
|
||
root@bt:~# ike-scan -M --showbackoff 172.16.21.200
|
||
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
|
||
172.16.21.200 Main Mode Handshake returned
|
||
HDR=(CKY-R=4f3ec84731e2214a)
|
||
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
|
||
VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)
|
||
|
||
IKE Backoff Patterns:
|
||
|
||
IP Address No. Recv time Delta Time
|
||
172.16.21.200 1 1322286031.744904 0.000000
|
||
172.16.21.200 2 1322286039.745081 8.000177
|
||
172.16.21.200 3 1322286047.745989 8.000908
|
||
172.16.21.200 4 1322286055.746972 8.000983
|
||
172.16.21.200 Implementation guess: Cisco VPN Concentrator
|
||
|
||
Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 returned handshake; 0 returned notify
|
||
```
|
||
Αυτό μπορεί να επιτευχθεί επίσης με το script **_ike-version_** του nmap.
|
||
|
||
## Εύρεση του σωστού ID (ονομασία ομάδας)
|
||
|
||
Για να επιτραπεί η καταγραφή του hash, χρειάζεστε μια έγκυρη μετασχηματιστική υποστήριξη στη λειτουργία Aggressive και το σωστό ID (ονομασία ομάδας). Πιθανώς δεν θα γνωρίζετε την έγκυρη ονομασία ομάδας, οπότε θα πρέπει να την αναζητήσετε με βία.\
|
||
Για να το κάνετε αυτό, θα σας πρότεινα 2 μέθοδους:
|
||
|
||
### Αναζήτηση ID με brute-force χρησιμοποιώντας το ike-scan
|
||
|
||
Καταρχάς, προσπαθήστε να κάνετε μια αίτηση με ένα ψεύτικο ID προσπαθώντας να συγκεντρώσετε το hash ("-P"):
|
||
```bash
|
||
ike-scan -P -M -A -n fakeID <IP>
|
||
```
|
||
Αν **δεν επιστραφεί κάποιο hash**, τότε πιθανόν αυτή η μέθοδος επίθεσης με βία θα λειτουργήσει. **Αν επιστραφεί κάποιο hash, αυτό σημαίνει ότι θα σταλεί πίσω ένα ψεύτικο hash για ένα ψεύτικο ID, οπότε αυτή η μέθοδος δεν θα είναι αξιόπιστη** για την επίθεση με βία στο ID. Για παράδειγμα, μπορεί να επιστραφεί ένα Ϩεύτικο hash (αυτό συμβαίνει σε μοντέρνες εκδόσεις):
|
||
|
||
![](<../.gitbook/assets/image (110).png>)
|
||
|
||
Αλλά αν, όπως είπα, δεν επιστραφεί κάποιο hash, τότε θα πρέπει να δοκιμάσετε να επιτεθείτε με βία στα κοινά ονόματα ομάδων χρησιμοποιώντας το ike-scan.
|
||
|
||
Αυτό το script **θα προσπαθήσει να επιτεθεί με βία σε πιθανά IDs** και θα επιστρέψει τα IDs όπου επιστρέφεται μια έγκυρη χειραψία (αυτό θα είναι ένα έγκυρο όνομα ομάδας).
|
||
|
||
Αν έχετε ανακαλύψει μια συγκεκριμένη μετατροπή, προσθέστε τη στην εντολή ike-scan. Και αν έχετε ανακαλύψει πολλαπλές μετατροπές, μπορείτε να προσθέσετε ένα νέο βρόχο για να τις δοκιμάσετε όλες (θα πρέπει να τις δοκιμάσετε όλες μέχρι να λειτουργήσει σωστά μία από αυτές).
|
||
|
||
Μπορείτε να χρησιμοποιήσετε το [λεξικό του ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ή [αυτό στο seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) με τα κοινά ονόματα ομάδων για να τα επιτεθείτε με βία:
|
||
```bash
|
||
while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line <IP>) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt
|
||
```
|
||
### Επίθεση με Brute Force στο ID με το Iker
|
||
|
||
[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) χρησιμοποιεί επίσης το **ike-scan** για να εκτελέσει brute force σε πιθανά ονόματα ομάδων. Ακολουθεί τη δική του μέθοδο για να **βρει ένα έγκυρο ID με βάση την έξοδο του ike-scan**.
|
||
|
||
### Επίθεση με Brute Force στο ID με το ikeforce
|
||
|
||
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) είναι ένα εργαλείο που μπορεί να χρησιμοποιηθεί για **brute force σε IDs επίσης**. Αυτό το εργαλείο θα **προσπαθήσει να εκμεταλλευτεί διαφορετικές ευπάθειες** που θα μπορούσαν να χρησιμοποιηθούν για **να διακρίνουν μεταξύ ενός έγκυρου και ενός μη-έγκυρου ID** (μπορεί να υπάρχουν ψευδείς θετικοί και ψευδείς αρνητικοί, γι' αυτό προτιμώ να χρησιμοποιώ τη μέθοδο του ike-scan όταν είναι δυνατόν).
|
||
|
||
Από προεπιλογή, το **ikeforce** θα στείλει αρχικά μερικά τυχαία IDs για να ελέγξει τη συμπεριφορά του διακομιστή και να καθορίσει την τακτική που θα χρησιμοποιήσει.
|
||
|
||
* Η **πρώτη μέθοδος** είναι να κάνει brute force στα ονόματα ομάδων με το **ψάξιμο** των πληροφοριών **Dead Peer Detection DPD** των συστημάτων Cisco (αυτές οι πληροφορίες αναπαρίστανται μόνο από το διακομιστή εάν το όνομα της ομάδας είναι σωστό).
|
||
* Η **δεύτερη μέθοδος** που είναι διαθέσιμη είναι να **ελέγχει τον αριθμό των απαντήσεων που στέλνονται σε κάθε προσπάθεια** επειδή μερικές φορές στέλνονται περισσότερα πακέτα όταν χρησιμοποιείται το σωστό id.
|
||
* Η **τρίτη μέθοδος** αποτελείται από το **ψάξιμο για "INVALID-ID-INFORMATION" στην απάντηση σε λανθασμένο ID**.
|
||
* Τέλος, αν ο διακομιστής δεν ανταποκρίνεται σε καμία από τις ελέγχους, το **ikeforce** θα προσπαθήσει να κάνει brute force στο διακομιστή και να ελέγξει αν όταν στέλνεται το σωστό id ο διακομιστής ανταποκρίνεται με κάποιο πακέτο.\
|
||
Φυσικά, ο στόχος του brute forcing στο id είναι να αποκτήσετε το **PSK** όταν έχετε ένα έγκυρο id. Στη συνέχεια, με το **id** και το **PSK** θα πρέπει να κάνετε brute force στο XAUTH (εάν είναι ενεργοποιημένο).
|
||
|
||
Εάν έχετε ανακαλύψει μια συγκεκριμένη μετατροπή, προσθέστε τη στην εντολή του ikeforce. Και εάν έχετε ανακαλύψει πολλαπλές μετατροπές, μη διστάσετε να προσθέσετε ένα νέο βρόχο για να τις δοκιμάσετε όλες (θα πρέπει να τις δοκιμάσετε όλες μέχρι να λειτουργήσει σωστά μία από αυτές).
|
||
```bash
|
||
git clone https://github.com/SpiderLabs/ikeforce.git
|
||
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
||
```
|
||
|
||
```bash
|
||
./ikeforce.py <IP> -e -w ./wordlists/groupnames.dic
|
||
```
|
||
### Καταγραφή ID
|
||
|
||
(Από το βιβλίο **Αξιολόγηση Ασφάλειας Δικτύου: Γνωρίστε το Δίκτυό σας**): Είναι επίσης δυνατό να αποκτηθούν έγκυρα ονόματα χρηστών με το ναρκάρισμα της σύνδεσης μεταξύ του πελάτη VPN και του διακομιστή, καθώς το πρώτο πακέτο από τη λειτουργία επιθετικής λειτουργίας που περιέχει το αναγνωριστικό του πελάτη στέλνεται σε μη κρυπτογραφημένη μορφή
|
||
|
||
![](<../.gitbook/assets/image (111).png>)
|
||
|
||
## Καταγραφή & αποκωδικοποίηση του κατακεκριμένου κατακεκριμένου κατακεκριμένου
|
||
|
||
Τέλος, Αν έχετε βρει μια **έγκυρη μετασχηματιστική** και το **όνομα της ομάδας** και αν η **επιθετική λειτουργία επιτρέπεται**, τότε μπορείτε πολύ εύκολα να αποκτήσετε το κατακεκριμένο κατακεκριμένο κατακεκριμένο:
|
||
```bash
|
||
ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported and you know the id, you can get the hash of the passwor
|
||
```
|
||
Το hash θα αποθηκευτεί μέσα στο _hash.txt_.
|
||
|
||
Μπορείτε να χρησιμοποιήσετε το **psk-crack**, το **john** (χρησιμοποιώντας το [**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py)) και το **hashcat** για να **σπάσετε** το hash:
|
||
```bash
|
||
psk-crack -d <Wordlist_path> psk.txt
|
||
```
|
||
## **XAuth**
|
||
|
||
**Η λειτουργία Aggressive mode IKE** σε συνδυασμό με ένα **Προκαθορισμένο Κλειδί (PSK)** χρησιμοποιείται συχνά για σκοπούς **ομαδικής πιστοποίησης**. Αυτή η μέθοδος ενισχύεται από το **XAuth (Επεκτεινόμενη Πιστοποίηση)**, το οποίο εισάγει ένα επιπλέον επίπεδο **πιστοποίησης χρήστη**. Η τέτοια πιστοποίηση συνήθως χρησιμοποιεί υπηρεσίες όπως το **Microsoft Active Directory**, το **RADIUS**, ή συγκρίσιμα συστήματα.
|
||
|
||
Με τη μετάβαση στο **IKEv2**, παρατηρείται μια σημαντική αλλαγή όπου το **EAP (Πρωτόκολλο Επεκτεινόμενης Πιστοποίησης)** χρησιμοποιείται αντί για το **XAuth** για την πιστοποίηση των χρηστών. Αυτή η αλλαγή υπογραμμίζει μια εξέλιξη στις πρακτικές πιστοποίησης εντός ασφαλών πρωτοκόλλων επικοινωνίας.
|
||
|
||
|
||
### Επίθεση Man-in-the-Middle στο τοπικό δίκτυο για την καταγραφή διαπιστευτηρίων
|
||
|
||
Έτσι μπορείτε να καταγράψετε τα δεδομένα της σύνδεσης χρησιμοποιώντας το _fiked_ και να δείτε αν υπάρχει κάποιο προεπιλεγμένο όνομα χρήστη (Χρειάζεται να ανακατευθύνετε την κίνηση IKE στο `fiked` για το sniffing, που μπορεί να γίνει με τη βοήθεια του ARP spoofing, [περισσότερες πληροφορίες](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Το fiked θα λειτουργήσει ως ένα τέλειο σημείο VPN και θα καταγράψει τα διαπιστευτήρια XAuth:
|
||
```bash
|
||
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
||
```
|
||
### Επίθεση MitM με χρήση IPSec και αποκλεισμός όλης της κίνησης προς τη θύρα 500
|
||
|
||
Για να εκτελέσετε μια επίθεση **MitM** χρησιμοποιώντας το **IPSec** και να αποκλείσετε όλη την κίνηση προς τη θύρα 500, εάν το τούνελ IPSec δεν μπορεί να καθιερωθεί, ίσως η κίνηση να σταλεί σε μη κρυπτογραφημένη μορφή.
|
||
|
||
### Εξαναγκαστική εύρεση XAUTH ονόματος χρήστη και κωδικού πρόσβασης με το ikeforce
|
||
|
||
Για να εξαναγκάσετε τον εντοπισμό του **XAUTH** (όταν γνωρίζετε ένα έγκυρο όνομα ομάδας **id** και το **psk**), μπορείτε να χρησιμοποιήσετε ένα όνομα χρήστη ή μια λίστα ονομάτων χρηστών και μια λίστα κωδικών πρόσβασης:
|
||
```bash
|
||
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
|
||
```
|
||
Με αυτόν τον τρόπο, το ikeforce θα προσπαθήσει να συνδεθεί χρησιμοποιώντας κάθε συνδυασμό όνομα χρήστη:κωδικός πρόσβασης.
|
||
|
||
## Ταυτοποίηση με ένα IPSEC VPN
|
||
|
||
Στο Kali, το **VPNC** χρησιμοποιείται για τη δημιουργία τουνελ IPsec. Τα **προφίλ** πρέπει να βρίσκονται στον κατάλογο `/etc/vpnc/`. Μπορείτε να εκκινήσετε αυτά τα προφίλ χρησιμοποιώντας την εντολή _**vpnc**_.
|
||
|
||
Οι παρακάτω εντολές και ρυθμίσεις επεξηγούν τη διαδικασία ρύθμισης μιας σύνδεσης VPN με το VPNC:
|
||
```bash
|
||
root@system:~# cat > /etc/vpnc/samplevpn.conf << STOP
|
||
IPSec gateway [VPN_GATEWAY_IP]
|
||
IPSec ID [VPN_CONNECTION_ID]
|
||
IPSec secret [VPN_GROUP_SECRET]
|
||
IKE Authmode psk
|
||
Xauth username [VPN_USERNAME]
|
||
Xauth password [VPN_PASSWORD]
|
||
STOP
|
||
root@system:~# vpnc samplevpn
|
||
VPNC started in background (pid: [PID])...
|
||
root@system:~# ifconfig tun0
|
||
```
|
||
Σε αυτή τη ρύθμιση:
|
||
|
||
- Αντικαταστήστε το `[VPN_GATEWAY_IP]` με την πραγματική διεύθυνση IP της πύλης VPN.
|
||
- Αντικαταστήστε το `[VPN_CONNECTION_ID]` με τον αναγνωριστικό της σύνδεσης VPN.
|
||
- Αντικαταστήστε το `[VPN_GROUP_SECRET]` με το μυστικό ομάδας της VPN.
|
||
- Αντικαταστήστε τα `[VPN_USERNAME]` και `[VPN_PASSWORD]` με τα διαπιστευτήρια πιστοποίησης της VPN.
|
||
- Το `[PID]` συμβολίζει το αναγνωριστικό διεργασίας που θα ανατεθεί όταν ξεκινήσει το `vpnc`.
|
||
|
||
Βεβαιωθείτε ότι χρησιμοποιούνται πραγματικές, ασφαλείς τιμές για την αντικατάσταση των χώρων όταν ρυθμίζετε τη VPN.
|
||
|
||
## Υλικό Αναφοράς
|
||
|
||
* [Χαρτί κατά της PSK](http://www.ernw.de/download/pskattack.pdf)
|
||
* [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821)
|
||
* [Σάρωση μιας Υλοποίησης VPN](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf)
|
||
* Αξιολόγηση Ασφάλειας Δικτύου 3ης Έκδοσης
|
||
|
||
## Shodan
|
||
|
||
* `port:500 IKE`
|
||
|
||
**Try Hard Security Group**
|
||
|
||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||
|
||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||
|
||
<details>
|
||
|
||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||
|
||
* Αν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ](https://github.com/sponsors/carlospolop)!
|
||
* Αποκτήστε το [επίσημο PEASS & HackTricks swag](https://peass.creator-spring.com)
|
||
* Ανακαλύψτε [την Οικογένεια PEASS](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [NFTs](https://opensea.io/collection/the-peass-family)
|
||
* **Εγγραφείτε στη** 💬 [ομάδα Discord](https://discord.gg/hRep4RUj7f) ή στη [ομάδα τηλεγράφου](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του GitHub.
|
||
|
||
</details>
|