hacktricks/network-services-pentesting/ipsec-ike-vpn-pentesting.md

282 lines
32 KiB
Markdown
Raw Normal View History

2024-02-10 22:40:18 +00:00
# 500/udp - Ελεγκτική δοκιμή IPsec/IKE VPN
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-01-03 10:42:55 +00:00
2024-02-10 22:40:18 +00:00
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](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.
2022-04-28 16:01:33 +00:00
</details>
2022-04-28 16:01:33 +00:00
2023-09-02 23:51:32 +00:00
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Βρείτε ευπάθειες που έχουν μεγαλύτερη σημασία, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Το Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές σάρωσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίβα, από διεπαφές προς web εφαρμογές και συστήματα cloud. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
2022-04-28 16:01:33 +00:00
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
2022-04-28 16:01:33 +00:00
***
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
## Βασικές πληροφορίες
2024-02-10 22:40:18 +00:00
Το **IPsec** αναγνωρίζεται ευρέως ως η κύρια τεχνολογία για την ασφάλεια των επικοινωνιών μεταξύ δικτύων (LAN-to-LAN) και από απομακρυσμένους χρήστες προς την πύλη του δικτύου (απομακρυσμένη πρόσβαση), λειτουργώντας ως η βάση για τις λύσεις εταιρικού VPN.
2024-02-10 22:40:18 +00:00
Η δημιουργία μιας **ασφαλούς συνεδρίας (SA)** μεταξύ δύο σημείων διαχειρίζεται από το **IKE**, το οποίο λειτουργεί υπό την αιγίδα του ISAKMP, ένα πρωτόκολλο σχεδιασμένο για την πιστοποίηση και την ανταλλαγή κλειδιών. Αυτή η διαδικασία εξελίσσεται σε αρκετές φάσεις:
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
- **Φάση 1:** Δημιουργείται ένα ασφαλές κανάλι μεταξύ δύο σημείων. Αυτό επιτυγχάνεται μέσω της χρήσης ενός Προκαθορισμένου Κλειδιού (PSK) ή πιστοποιητικών, χρησιμοποιώντας είτε την κύρια λειτουργία, η οποία περιλαμβάνει τρία ζεύγη μηνυμάτων, είτε την **επιθετική λειτουργία**.
- **Φάση 1.5:** Αν και δεν είναι υποχρεωτική, αυτή η φάση, γνωστή ως Φάση Επεκτεινόμενης Πιστοποίησης, επαληθεύει την ταυτότητα του χρήστη που προσπαθεί να συνδεθεί, απαιτώντας ένα όνομα χρήστη και έναν κωδικό πρόσβασης.
- **Φάση 2:** Αυτή η φάση είναι αφιερωμένη στη διαπραγμάτευση των παραμέτρων για την ασφάλεια των δεδομένων με το **ESP** και το **AH**. Επιτρέπει τη χρήση αλγορίθμων διαφορετικών από αυτούς στη Φάση 1 για να εξασφαλίσει την **Τέλεια Εμπρός Μυστικότητα (PFS)**, ενισχύοντας την ασφάλεια.
2024-02-10 22:40:18 +00:00
**Προεπιλεγμένη θύρα:** 500/udp
2024-02-10 22:40:18 +00:00
## **Ανακαλύψτε** την υπηρεσία χρησιμοποιώντας το 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)
```
2024-02-10 22:40:18 +00:00
## **Εύρεση ενός έγκυρου μετασχηματισμού**
2024-02-10 22:40:18 +00:00
Η διαμόρφωση του IPSec μπορεί να προετοιμαστεί μόνο για να αποδεχθεί έναν ή λίγους μετασχηματισμούς. Ένας μετασχηματισμός είναι μια συνδυασμός τιμών. **Κάθε μετασχηματισμός** περιέχει έναν αριθμό χαρακτηριστικών, όπως το DES ή το 3DES ως αλγόριθμος **κρυπτογράφησης**, το SHA ή το MD5 ως αλγόριθμος **ακεραιότητας**, ένα προκαθορισμένο κλειδί ως τύπος **πιστοποίησης**, το Diffie-Hellman 1 ή 2 ως αλγόριθμος **διανομής κλειδιού** και 28800 δευτερόλεπτα ως **διάρκεια ζωής**.
2024-02-10 22:40:18 +00:00
Στη συνέχεια, το πρώτο πράγμα που πρέπει να κάνετε είναι να **βρείτε έναν έγκυρο μετασχηματισμό**, ώστε ο διακομιστής να συνομιλήσει μαζί σας. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το εργαλείο **ike-scan**. Από προεπιλογή, το Ike-scan λειτουργεί σε κύρια λειτουργία και στέλνει ένα πακέτο στην πύλη με έναν κεφαλίδα ISAKMP και μια μόνο πρόταση με **οκτώ μετασχηματισμούς μέσα σε αυτή**.
2024-02-10 22:40:18 +00:00
Ανάλογα με την απόκριση, μπορείτε να αποκτήσετε ορισμένες πληροφορίες σχετικά με το τέλος σημείο:
```
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
2024-02-10 22:40:18 +00:00
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
```
2024-02-10 22:40:18 +00:00
Όπως μπορείτε να δείτε από την προηγούμενη απάντηση, υπάρχει ένα πεδίο που ονομάζεται **AUTH** με την τιμή **PSK**. Αυτό σημαίνει ότι η VPN έχει διαμορφωθεί χρησιμοποιώντας ένα προκαθορισμένο κλειδί (και αυτό είναι πραγματικά καλό για έναν pentester).\
**Η τιμή της τελευταίας γραμμής είναι επίσης πολύ σημαντική:**
2024-02-10 22:40:18 +00:00
* _0 επιστράφηκε handshake; 0 επιστράφηκε notify:_ Αυτό σημαίνει ότι ο στόχος δεν είναι ένας πύλη IPsec.
* _**1 επιστράφηκε handshake; 0 επιστράφηκε notify:**_ Αυτό σημαίνει ότι ο στόχος έχει διαμορφωθεί για IPsec και είναι πρόθυμος να πραγματοποιήσει διαπραγμάτευση IKE, και μία ή περισσότερες από τις προτεινόμενες μετασχηματίσεις είναι αποδεκτές** (μια έγκυρη μετασχηματισμένη τιμή θα εμφανιστεί στην έξοδο).
* _0 επιστράφηκε handshake; 1 επιστράφηκε notify:_ Οι πύλες VPN απαντούν με ένα μήνυμα ειδοποίησης όταν **καμία από τις μετασχηματίσεις δεν είναι αποδεκτές** (αν και ορισμένες πύλες δεν το κάνουν, σε αυτήν την περίπτωση πρέπει να δοκιμαστεί περαιτέρω ανάλυση και μια αναθεωρημένη πρόταση).
2024-02-10 22:40:18 +00:00
Στη συνέχεια, σε αυτήν την περίπτωση ήδη έχουμε μια έγκυρη μετασχηματισμένη τιμή, αλλά αν βρίσκεστε στην 3η περίπτωση, τότε πρέπει να **δοκιμάσετε λίγο brute-force για να βρείτε μια έγκυρη μετασχηματισμένη τιμή:**
2024-02-10 22:40:18 +00:00
Καταρχάς, πρέπει να δημιουργήσετε όλους τους πιθανούς μετασχηματισμούς:
```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
```
2024-02-10 22:40:18 +00:00
Και στη συνέχεια επιχειρήστε να αποκρυπτογραφήσετε κάθε ένα χρησιμοποιώντας το 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
```
2024-02-10 22:40:18 +00:00
Αν η μέθοδος της βίαιης επίθεσης δεν λειτούργησε, ίσως ο διακομιστής να ανταποκρίνεται χωρίς χειραψίες ακόμα και σε έγκυρες μετασχηματίσεις. Σε αυτή την περίπτωση, μπορείτε να δοκιμάσετε την ίδια βίαιη επίθεση, αλλά χρησιμοποιώντας την επιθετική λειτουργία (aggressive mode):
```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
```
2024-02-10 22:40:18 +00:00
Ελπίζουμε **να επιστραφεί μια έγκυρη μετατροπή**.\
Μπορείτε να δοκιμάσετε την **ίδια επίθεση** χρησιμοποιώντας το [**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>)
2024-02-10 22:40:18 +00:00
Στο **DH Group: 14 = 2048-bit MODP** και **15 = 3072-bit**\
**2 = HMAC-SHA = SHA1 (σε αυτήν την περίπτωση). Η μορφή `--trans` είναι $Enc,$Hash,$Auth,$DH**
2024-02-10 22:40:18 +00:00
Η Cisco υποδεικνύει να αποφεύγετε τη χρήση των ομάδων DH 1 και 2 επειδή δεν είναι αρκετά ισχυρές. Οι ειδικοί πιστεύουν ότι **χώρες με πολλούς πόρους μπορούν εύκολα να αποκρυπτογραφήσουν** δεδομένα που χρησιμοποιούν αυτές τις αδύναμες ομάδες. Αυτό γίνεται χρησιμοποιώντας μια ειδική μέθοδο που τις προετοιμάζει για γρήγορη αποκρυπτογράφηση των κωδικών. Αν και κοστίζει πολλά χρήματα για να εγκατασταθεί αυτή η μέθοδος, επιτρέπει σε αυτές τις ισχυρές χώρες να διαβάζουν τα κρυπτογραφημένα δεδομένα σε πραγματικό χρόνο αν χρησιμοποιείται μια ομάδα που δεν είναι ισχυρή (όπως 1,024-bit ή μικρότερη).
2024-02-10 22:40:18 +00:00
### Ανίχνευση δακτυλικού αποτυπώματος διακομιστή
2024-02-10 22:40:18 +00:00
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το ike-scan για να προσπαθήσετε να **ανακαλύψετε τον κατασκευαστή** της συσκευής. Το εργαλείο στέλνει μια αρχική πρόταση και σταματάει την επανάληψη. Στη συνέχεια, θα **αναλύσει** τη **διαφορά χρόνου** μεταξύ των ληφθέντων **μηνυμάτων** από τον διακομιστή και το αντίστοιχο πρότυπο απάντησης, ο δοκιμαστής μπορεί να ανιχνεύσει με επιτυχία τον κατασκευαστή της πύλης VPN. Επιπλέον, ορισμένοι διακομιστές VPN θα χρησιμοποιήσουν το προαιρετικό **φορτίο Vendor ID (VID)** με το IKE.
2024-02-10 22:40:18 +00:00
**Καθορίστε την έγκυρη μετασχηματισμό αν είναι απαραίτητο** (χρησιμοποιώντας --trans)
2024-02-10 22:40:18 +00:00
Αν το 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
2024-02-10 22:40:18 +00:00
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:
2024-02-10 22:40:18 +00:00
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
2024-02-10 22:40:18 +00:00
Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 returned handshake; 0 returned notify
```
2024-02-10 22:40:18 +00:00
Αυτό μπορεί να επιτευχθεί επίσης με το σενάριο nmap _**ike-version**_
2024-02-10 22:40:18 +00:00
## Εύρεση του σωστού ID (όνομα ομάδας)
2024-02-10 22:40:18 +00:00
Για να σας επιτραπεί η καταγραφή του hash, χρειάζεστε μια έγκυρη μετασχηματιστική που υποστηρίζει την Απειλητική λειτουργία και το σωστό ID (όνομα ομάδας). Πιθανώς δεν θα γνωρίζετε το έγκυρο όνομα ομάδας, οπότε θα πρέπει να το βρείτε με βία.\
Για να το κάνετε αυτό, θα σας πρότεινα 2 μεθόδους:
2024-02-10 22:40:18 +00:00
### Βίαιη εύρεση του ID με το ike-scan
2024-02-10 22:40:18 +00:00
Καταρχάς, προσπαθήστε να κάνετε μια αίτηση με ένα ψεύτικο ID προσπαθώντας να συγκεντρώσετε το hash ("-P"):
```bash
ike-scan -P -M -A -n fakeID <IP>
```
2024-02-10 22:40:18 +00:00
Αν **δεν επιστρέφεται κανένα hash**, τότε πιθανώς αυτή η μέθοδος της βίαιης επίθεσης θα λειτουργήσει. **Αν επιστρέφεται κάποιο hash, αυτό σημαίνει ότι θα αποσταλεί ένα ψεύτικο hash για ένα ψεύτικο ID, οπότε αυτή η μέθοδος δεν θα είναι αξιόπιστη** για τη βίαιη επίθεση του ID. Για παράδειγμα, μπορεί να επιστραφεί ένα ψεύτικο hash (αυτό συμβαίνει σε σύγχρονες εκδόσεις):
![](<../.gitbook/assets/image (110).png>)
2024-02-10 22:40:18 +00:00
Αλλά αν, όπως είπα, δεν επιστρέφεται κανένα hash, τότε θα πρέπει να δοκιμάσετε να βρείτε με βίαιη επίθεση κοινά ονόματα ομάδων χρησιμοποιώντας το ike-scan.
2024-02-10 22:40:18 +00:00
Αυτό το script **θα προσπαθήσει να βρει με βίαιη επίθεση πιθανά IDs** και θα επιστρέψει τα IDs όπου επιστρέφεται μια έγκυρη αλληλεπίδραση (αυτό θα είναι ένα έγκυρο όνομα ομάδας).
2024-02-10 22:40:18 +00:00
Αν έχετε ανακαλύψει μια συγκεκριμένη μετασχηματιστική πράξη, προσθέστε την στην εντολή ike-scan. Και αν έχετε ανακαλύψει πολλαπλές μετασχηματιστικές πράξεις, μπορείτε να προσθέσετε ένα νέο βρόχο για να τις δοκιμάσετε όλες (θα πρέπει να τις δοκιμάσετε όλες μέχρι να λειτουργήσει μία από αυτές σωστά).
2024-02-10 22:40:18 +00:00
Μπορείτε να χρησιμοποιήσετε το [λεξικό του ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ή [αυτό στο seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) με κοινά ονόματα ομάδων για να τα επιτεθείτε με βίαιη επίθεση:
```bash
2021-01-18 14:24:10 +00:00
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
```
2024-02-10 22:40:18 +00:00
Ή χρησιμοποιήστε αυτό το λεξικό (είναι μια συνδυασμένη μορφή των άλλων 2 λεξικών χωρίς επαναλήψεις):
{% file src="../.gitbook/assets/vpnIDs.txt" %}
2024-02-10 22:40:18 +00:00
### Επίθεση με βίαιο τρόπο στο ID με το Iker
2024-02-10 22:40:18 +00:00
[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) χρησιμοποιεί επίσης το **ike-scan** για να επιτεθεί με βίαιο τρόπο σε πιθανά ονόματα ομάδων. Ακολουθεί τη δική του μέθοδο για να **βρει ένα έγκυρο ID βασιζόμενο στην έξοδο του ike-scan**.
2024-02-10 22:40:18 +00:00
### Επίθεση με βίαιο τρόπο στο ID με το ikeforce
2024-02-10 22:40:18 +00:00
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) είναι ένα εργαλείο που μπορεί να χρησιμοποιηθεί για **επίθεση με βίαιο τρόπο στα IDs**. Αυτό το εργαλείο θα **προσπαθήσει να εκμεταλλευτεί διάφορες ευπάθειες** που μπορούν να χρησιμοποιηθούν για να **διακρίνουν ένα έγκυρο από ένα μη έγκυρο ID** (μπορεί να έχει ψευδείς θετικούς και ψευδείς αρνητικούς, γι' αυτό προτιμώ να χρησιμοποιήσω τη μέθοδο ike-scan αν είναι δυνατόν).
2024-02-10 22:40:18 +00:00
Από προεπιλογή, το **ikeforce** θα στείλει αρχικά μερικά τυχαία IDs για να ελέγξει τη συμπεριφορά του διακομιστή και να καθορίσει την τακτική που θα χρησιμοποιηθεί.
2024-02-10 22:40:18 +00:00
* Η **πρώτη μέθοδος** είναι να επιτεθεί με βίαιο τρόπο στα ονόματα ομάδων αναζητώντας πληροφορίες **Dead Peer Detection DPD** των συστημάτων Cisco (αυτές οι πληροφορίες αναπαράγονται μόνο από το διακομιστή εάν το όνομα της ομάδας είναι σωστό).
* Η **δεύτερη διαθέσιμη μέθοδος** είναι να **ελέγξει τον αριθμό των αποκρίσεων που στέλνονται σε κάθε προσπάθεια** επειδή μερικές φορές στέλνονται περισσότερα πακέτα όταν χρησιμοποιείται το σωστό ID.
* Η **τρίτη μέθοδος** αποτελείται από την αναζήτηση του "INVALID-ID-INFORMATION" ως απάντηση σε λανθασμένο ID.
* Τέλος, εάν ο διακομιστής δεν απαντά τίποτα στους ελέγχους, το **ikeforce** θα προσπαθήσει να επιτεθεί με βίαιο τρόπο στο διακομιστή και να ελέγξει εάν όταν στέλνεται το σωστό ID ο διακομιστής απαντά με κάποιο πακέτο.\
Φυσικά, ο στόχος της επίθεσης με βίαιο τρόπο στο ID είναι να λάβετε το **PSK** όταν έχετε ένα έγκυρο ID. Στη συνέχεια, με το **ID** και το **PSK** θα πρέπει να επιτεθείτε με βίαιο τρόπο στο XAUTH (εάν είναι ενεργοποιημένο).
2024-02-10 22:40:18 +00:00
Εάν έχετε ανακαλύψει μια συγκεκριμένη μετατροπή, προσθέστε την στην εντολή 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
```
2024-02-10 22:40:18 +00:00
### Καταγραφή του ID
2024-02-10 22:40:18 +00:00
(Από το βιβλίο **Αξιολόγηση Ασφάλειας Δικτύου: Γνωρίστε το Δίκτυό σας**): Είναι επίσης δυνατό να αποκτηθούν έγκυρα ονόματα χρηστών με τον κατακράτηση της σύνδεσης μεταξύ του πελάτη και του διακομιστή VPN, καθώς το πρώτο πακέτο aggressive mode που περιέχει το ID του πελάτη αποστέλλεται ανοικτά.
![](<../.gitbook/assets/image (111).png>)
2024-02-10 22:40:18 +00:00
## Καταγραφή και αποκρυπτογράφηση του hash
2024-02-10 22:40:18 +00:00
Τέλος, αν έχετε βρει μια **έγκυρη μετασχηματιστική** και το **όνομα της ομάδας** και αν επιτρέπεται η **αποστολή σε απειλητική λειτουργία**, τότε μπορείτε πολύ εύκολα να αποκτήσετε τον αποκρυπτογράφηση hash που μπορεί να σπάσει.
```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
```
2024-02-10 22:40:18 +00:00
Το hash θα αποθηκευτεί μέσα στο _hash.txt_.
2024-02-10 22:40:18 +00:00
Μπορείτε να χρησιμοποιήσετε τα εργαλεία **psk-crack**, **john** (χρησιμοποιώντας το [**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py)) και **hashcat** για να **σπάσετε** το hash:
2021-01-18 14:26:55 +00:00
```bash
2022-01-12 14:33:12 +00:00
psk-crack -d <Wordlist_path> psk.txt
```
## **XAuth**
2024-02-10 22:40:18 +00:00
**Η επιθετική λειτουργία IKE** σε συνδυασμό με ένα **Προκαθορισμένο Κλειδί (PSK)** χρησιμοποιείται συνήθως για σκοπούς **ομαδικής πιστοποίησης**. Αυτή η μέθοδος ενισχύεται από το **XAuth (Επεκτεινόμενη Πιστοποίηση)**, το οποίο εισάγει ένα επιπλέον επίπεδο **πιστοποίησης χρήστη**. Η τέτοια πιστοποίηση συνήθως εκμεταλλεύεται υπηρεσίες όπως το **Microsoft Active Directory**, το **RADIUS**, ή αντίστοιχα συστήματα.
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
Με τη μετάβαση στο **IKEv2**, παρατηρείται μια σημαντική αλλαγή όπου χρησιμοποιείται το **EAP (Πρωτόκολλο Επεκτάσιμης Πιστοποίησης)** αντί του **XAuth** για την πιστοποίηση των χρηστών. Αυτή η αλλαγή υπογραμμίζει μια εξέλιξη στις πρακτικές πιστοποίησης εντός ασφαλών πρωτοκόλλων επικοινωνίας.
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
### Επίθεση MitM στο τοπικό δίκτυο για την καταγραφή διαπιστευτηρίων
2024-02-10 22:40:18 +00:00
Έτσι μπορείτε να καταγράψετε τα δεδομένα της σύνδεσης χρησιμοποιώντας το _fiked_ και να δείτε αν υπάρχει κάποιο προεπιλεγμένο όνομα χρήστη (Πρέπει να ανακατευθύνετε την κίνηση IKE στο `fiked` για τον κατακορυφοποιητή, που μπορεί να γίνει με τη βοήθεια της ARP spoofing, [περισσότερες πληροφορίες](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Το fiked θα λειτουργήσει ως ένα άκρο VPN και θα καταγράψει τα διαπιστευτήρια XAuth:
2021-01-18 14:26:55 +00:00
```bash
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
```
2024-02-10 22:40:18 +00:00
Επίσης, χρησιμοποιώντας το IPSec, προσπαθήστε να πραγματοποιήσετε μια επίθεση MitM και να αποκλείσετε όλη την κίνηση προς τη θύρα 500. Εάν ο σωλήνας IPSec δεν μπορεί να καθιερωθεί, ίσως η κίνηση να αποσταλεί με απλό κείμενο.
2024-02-10 22:40:18 +00:00
### Επίθεση Brute-forcing XAUTH username και password με το ikeforce
2024-02-10 22:40:18 +00:00
Για να πραγματοποιήσετε μια επίθεση brute force στο **XAUTH** (όταν γνωρίζετε ένα έγκυρο όνομα ομάδας **id** και το **psk**), μπορείτε να χρησιμοποιήσετε ένα όνομα χρήστη ή μια λίστα ονομάτων χρηστών και μια λίστα κωδικών πρόσβασης:
2021-01-18 14:26:55 +00:00
```bash
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
```
2024-02-10 22:40:18 +00:00
Με αυτόν τον τρόπο, το ikeforce θα προσπαθήσει να συνδεθεί χρησιμοποιώντας κάθε συνδυασμό όνομα χρήστη:κωδικού πρόσβασης.
2024-02-10 22:40:18 +00:00
Εάν βρείτε έναν ή περισσότερους έγκυρους μετασχηματισμούς, απλά χρησιμοποιήστε τους όπως στα προηγούμενα βήματα.
2024-02-10 22:40:18 +00:00
## Ταυτοποίηση με ένα IPSEC VPN
2024-02-10 22:40:18 +00:00
Στο Kali, χρησιμοποιείται το **VPNC** για να δημιουργήσει IPsec τούνελ. Τα **προφίλ** πρέπει να βρίσκονται στον φάκελο `/etc/vpnc/`. Μπορείτε να εκκινήσετε αυτά τα προφίλ χρησιμοποιώντας την εντολή _**vpnc**_.
2024-02-05 02:29:11 +00:00
2024-02-10 22:40:18 +00:00
Οι παρακάτω εντολές και ρυθμίσεις απεικονίζουν τη διαδικασία εγκατάστασης μιας σύνδεσης VPN με το VPNC:
2024-02-05 02:29:11 +00:00
```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
2024-02-05 02:29:11 +00:00
Xauth username [VPN_USERNAME]
Xauth password [VPN_PASSWORD]
STOP
2024-02-05 02:29:11 +00:00
root@system:~# vpnc samplevpn
VPNC started in background (pid: [PID])...
root@system:~# ifconfig tun0
```
2024-02-10 22:40:18 +00:00
Σε αυτή τη διαμόρφωση:
2024-02-10 22:40:18 +00:00
- Αντικαταστήστε το `[VPN_GATEWAY_IP]` με την πραγματική διεύθυνση IP της πύλης VPN.
- Αντικαταστήστε το `[VPN_CONNECTION_ID]` με το αναγνωριστικό της σύνδεσης VPN.
- Αντικαταστήστε το `[VPN_GROUP_SECRET]` με το μυστικό της ομάδας της VPN.
- Αντικαταστήστε το `[VPN_USERNAME]` και `[VPN_PASSWORD]` με τα διαπιστευτήρια πιστοποίησης της VPN.
- Το `[PID]` συμβολίζει το αναγνωριστικό διεργασίας που θα ανατεθεί όταν η `vpnc` ξεκινήσει.
2024-02-05 02:29:11 +00:00
2024-02-10 22:40:18 +00:00
Βεβαιωθείτε ότι χρησιμοποιούνται πραγματικές, ασφαλείς τιμές για την αντικατάσταση των αντικαταστάτων κατά τη διαμόρφωση της VPN.
2024-02-05 02:29:11 +00:00
2024-02-10 22:40:18 +00:00
## Υλικό αναφοράς
2024-02-10 22:40:18 +00:00
* [Άρθρο για την αποκάλυψη του PSK](http://www.ernw.de/download/pskattack.pdf)
* [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821)
2024-02-10 22:40:18 +00:00
* [Σάρωση μιας υλοποίησης VPN](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf)
* Αξιολόγηση Ασφάλειας Δικτύου 3η Έκδοση
## Shodan
2020-10-05 13:59:40 +00:00
* `port:500 IKE`
2022-04-28 16:01:33 +00:00
<figure><img src="broken-reference" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Βρείτε ευπάθειες που είναι πιο σημαντικές, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Το Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές σαρώσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίχημα, από τις διεπαφές προς τις ιστοσελίδες και τα συστήματα στο cloud. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
2022-04-28 16:01:33 +00:00
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
2024-01-03 10:42:55 +00:00
2024-02-10 22:40:18 +00:00
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο 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) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
2022-04-28 16:01:33 +00:00
</details>