hacktricks/network-services-pentesting/pentesting-ssh.md

338 lines
31 KiB
Markdown
Raw Normal View History

# 22 - Ελεγχος Εισβολής SSH/SFTP
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Red Team του HackTricks AWS)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-01-02 18:28:27 +00:00
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
2024-02-10 22:40:18 +00:00
* Αποκτήστε το [**επίσημο 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)**.**
2024-02-10 22:40:18 +00:00
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας 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>
<figure><img src="../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
2022-05-24 00:07:19 +00:00
**Συμβουλή για bug bounty**: **Εγγραφείτε** στο **Intigriti**, μια πρεμιέρα **πλατφόρμα bug bounty δημιουργημένη από χάκερς, για χάκερς**! Γίνετε μέλος μας στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα, και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
2022-05-24 00:07:19 +00:00
{% embed url="https://go.intigriti.com/hacktricks" %}
2022-05-24 00:07:19 +00:00
2024-02-10 22:40:18 +00:00
## Βασικές Πληροφορίες
**SSH (Secure Shell ή Secure Socket Shell)** είναι ένα πρωτόκολλο δικτύου που επιτρέπει μια ασφαλή σύνδεση σε έναν υπολογιστή μέσω ενός μη ασφαλούς δικτύου. Είναι απαραίτητο για τη διατήρηση της εμπιστευτικότητας και ακεραιότητας των δεδομένων κατά την πρόσβαση σε απομακρυσμένα συστήματα.
2024-02-10 22:40:18 +00:00
**Προεπιλεγμένη θύρα:** 22
2022-04-27 08:21:36 +00:00
```
22/tcp open ssh syn-ack
```
2024-02-10 22:40:18 +00:00
**Διακομιστές SSH:**
* [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, ο client χρησιμοποιείται συχνά, αλλά η χρήση του διακομιστή είναι σπάνια
* [CopSSH](https://www.itefix.net/copssh) υλοποίηση του OpenSSH για Windows
2020-12-14 16:53:57 +00:00
2024-02-10 22:40:18 +00:00
**Βιβλιοθήκες SSH (υλοποίηση στην πλευρά του διακομιστή):**
2020-12-14 16:53:57 +00:00
* [libssh](https://www.libssh.org) πολυπλατφορμική βιβλιοθήκη C που υλοποιεί το πρωτόκολλο SSHv2 με δεσμεύσεις σε [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 και περιβάλλοντα με πεεριορισμένους πόρους
* [Apache MINA SSHD](https://mina.apache.org/sshd-project/index.html) Η βιβλιοθήκη Java Apache SSHD βασίζεται στο Apache MINA
* [paramiko](https://github.com/paramiko/paramiko) Βιβλιοθήκη πρωτοκόλλου Python SSHv2
2024-02-10 22:40:18 +00:00
## Απαρίθμηση
2024-02-10 22:40:18 +00:00
### Ανάκτηση Μπάνερ
```bash
nc -vn <IP> 22
```
2024-02-10 22:40:18 +00:00
### Αυτοματοποιημένο ssh-audit
Το ssh-audit είναι ένα εργαλείο για τον έλεγχο διαμόρφωσης του διακομιστή και του πελάτη ssh.
2024-02-10 22:40:18 +00:00
Το [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/)
2024-02-10 22:40:18 +00:00
**Χαρακτηριστικά:**
* Υποστήριξη διακομιστή πρωτοκόλλου SSH1 και SSH2;
* Ανάλυση διαμόρφωσης πελάτη SSH;
* Λήψη banner, αναγνώριση συσκευής ή λογισμικού και λειτουργικού συστήματος, ανίχνευση συμπίεσης;
* Συγκέντρωση αλγορίθμων ανταλλαγής κλειδιών, κλειδιών κεντρικής αυθεντικοποίησης, κρυπτογράφησης και κώδικα ελέγχου αυθεντικότητας μηνυμάτων;
* Πληροφορίες αλγορίθμου εξόδου (διαθέσιμο από, αφαιρεμένο/απενεργοποιημένο, μη ασφαλές/αδύναμο/παλιό, κλπ);
* Συστάσεις αλγορίθμου εξόδου (προσθήκη ή αφαίρεση βάσει αναγνωρισμένης έκδοσης λογισμικού);
* Πληροφορίες ασφάλειας εξόδου (σχετικά θέματα, ανατεθειμένη λίστα CVE, κλπ);
* Ανάλυση συμβατότητας έκδοσης SSH βάσει πληροφοριών αλγορίθμου;
* Ιστορικές πληροφορίες από OpenSSH, Dropbear SSH και libssh;
2024-02-10 22:40:18 +00:00
* Λειτουργεί σε Linux και Windows;
* Χωρίς εξαρτήσεις
```bash
usage: ssh-audit.py [-1246pbcnjvlt] <host>
2024-02-10 22:40:18 +00:00
-1, --ssh1 force ssh version 1 only
-2, --ssh2 force ssh version 2 only
-4, --ipv4 enable IPv4 (order of precedence)
-6, --ipv6 enable IPv6 (order of precedence)
-p, --port=<port> port to connect
-b, --batch batch output
-c, --client-audit starts a server on port 2222 to audit client
software config (use -p to change port;
use -t to change timeout)
-n, --no-colors disable colors
-j, --json JSON output
-v, --verbose verbose output
-l, --level=<level> minimum output level (info|warn|fail)
-t, --timeout=<secs> timeout (in seconds) for connection and reading
(default: 5)
$ python3 ssh-audit <IP>
```
2024-02-10 22:40:18 +00:00
### Δημόσιο κλειδί SSH του διακομιστή
[Δείτε το σε λειτουργία (Asciinema)](https://asciinema.org/a/96ejZKxpbuupTK9j7h8BdClzp)
```bash
ssh-keyscan -t rsa <IP> -p <PORT>
```
### Αδύναμοι Αλγόριθμοι Κρυπτογράφησης
Αυτό ανακαλύπτεται από προεπιλογή από το **nmap**. Αλλά μπορείτε επίσης να χρησιμοποιήσετε το **sslscan** ή το **sslyze**.
2021-07-06 18:15:59 +00:00
2024-02-10 22:40:18 +00:00
### Σενάρια Nmap
2021-07-06 18:15:59 +00:00
```bash
nmap -p22 <ip> -sC # Send default nmap scripts for SSH
nmap -p22 <ip> -sV # Retrieve version
2024-02-10 22:40:18 +00:00
nmap -p22 <ip> --script ssh2-enum-algos # Retrieve supported algorythms
2021-07-06 18:15:59 +00:00
nmap -p22 <ip> --script ssh-hostkey --script-args ssh_hostkey=full # Retrieve weak keys
nmap -p22 <ip> --script ssh-auth-methods --script-args="ssh.user=root" # Check authentication methods
```
2022-05-01 13:25:53 +00:00
### Shodan
* `ssh`
## Επίθεση με βία στα ονόματα χρηστών, τους κωδικούς πρόσβασης και τα ιδιωτικά κλειδιά
### Απαρίθμηση Ονομάτων Χρηστών
Σε μερικές εκδόσεις του OpenSSH μπορείτε να κάνετε μια επίθεση χρονισμού για να απαριθμήσετε τους χρήστες. Μπορείτε να χρησιμοποιήσετε ένα ενότητα του metasploit για να εκμεταλλευτείτε αυτό:
2022-04-27 08:21:36 +00:00
```
msf> use scanner/ssh/ssh_enumusers
```
2024-02-10 22:40:18 +00:00
### [Βίαιη επίθεση](../generic-methodologies-and-resources/brute-force.md#ssh)
Κάποια συνηθισμένα διαπιστευτήρια ssh [εδώ](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt) και [εδώ](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/top-20-common-SSH-passwords.txt) και παρακάτω.
2024-02-10 22:40:18 +00:00
### Βίαιη επίθεση με Ιδιωτικό Κλειδί
Αν γνωρίζετε κάποια ιδιωτικά κλειδιά ssh που θα μπορούσαν να χρησιμοποιηθούν... ας το δοκιμάσουμε. Μπορείτε να χρησιμοποιήσετε το script nmap:
2022-04-27 08:21:36 +00:00
```
https://nmap.org/nsedoc/scripts/ssh-publickey-acceptance.html
```
Ή MSF βοηθητική μονάδα:
2022-04-27 08:21:36 +00:00
```
msf> use scanner/ssh/ssh_identify_pubkeys
```
Ή χρησιμοποιήστε το `ssh-keybrute.py` (φυσικό python3, ελαφρύ και έχει ενεργοποιημένους παλαιούς αλγόριθμους): [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute).
2024-02-10 22:40:18 +00:00
#### Γνωστά κακά κλειδιά μπορούν να βρεθούν εδώ:
2022-04-27 08:21:36 +00:00
{% embed url="https://github.com/rapid7/ssh-badkeys/tree/master/authorized" %}
#### Αδύναμα κλειδιά SSH / Προβλέψιμο PRNG Debian
Κάποια συστήματα έχουν γνωστές ελαττώσεις στον τυχαίο σπόρο που χρησιμοποιείται για τη δημιουργία κρυπτογραφικού υλικού. Αυτό μπορεί να οδηγήσει σε μειωμένο χώρο κλειδιών που μπορεί να αποκρυπτογραφηθεί με βία. Προ-δημιουργημένα σύνολα κλειδιών που δημιουργήθηκαν σε συστήματα Debian που επηρεάζονται από αδύναμο PRNG είναι διαθέσιμα εδώ: [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
Θα πρέπει να ψάξετε εδώ για να αναζητήσετε έγκυρα κλειδιά για το μηχάνημα θύματος.
2022-05-01 13:25:53 +00:00
### Kerberos
2020-09-20 21:47:09 +00:00
**crackmapexec** χρησιμοποιώντας το πρωτόκολλο `ssh` μπορεί να χρησιμοποιήσει την επιλογή `--kerberos` για **πιστοποίηση μέσω kerberos**.\
2024-02-10 22:40:18 +00:00
Για περισσότερες πληροφορίες εκτελέστε `crackmapexec ssh --help`.
## Προεπιλεγμένα Διαπιστευτήρια
| **Προμηθευτής** | **Ονόματα Χρηστών** | **Κωδικοί Πρόσβασης** |
| --------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| APC | apc, device | apc |
| Brocade | admin | admin123, password, brocade, fibranne |
| Cisco | admin, cisco, enable, hsa, pix, pnadmin, ripeop, root, shelladmin | admin, Admin123, default, password, secur4u, cisco, Cisco, \_Cisco, cisco123, C1sco!23, Cisco123, Cisco1234, TANDBERG, change\_it, 12345, ipics, pnadmin, diamond, hsadb, c, cc, attack, blender, changeme |
| Citrix | root, nsroot, nsmaint, vdiadmin, kvm, cli, admin | C1trix321, nsroot, nsmaint, kaviza, kaviza123, freebsd, public, rootadmin, wanscaler |
| D-Link | admin, user | private, admin, user |
| Dell | root, user1, admin, vkernel, cli | calvin, 123456, password, vkernel, Stor@ge!, admin |
| EMC | admin, root, sysadmin | EMCPMAdm7n, Password#1, Password123#, sysadmin, changeme, emc |
| HP/3Com | admin, root, vcx, app, spvar, manage, hpsupport, opc\_op | admin, password, hpinvent, iMC123, pvadmin, passw0rd, besgroup, vcx, nice, access, config, 3V@rpar, 3V#rpar, procurve, badg3r5, OpC\_op, !manage, !admin |
| Huawei | admin, root | 123456, admin, root, Admin123, Admin@storage, Huawei12#$, HwDec@01, hwosta2.0, HuaWei123, fsp200@HW, huawei123 |
| IBM | USERID, admin, manager, mqm, db2inst1, db2fenc1, dausr1, db2admin, iadmin, system, device, ufmcli, customer | PASSW0RD, passw0rd, admin, password, Passw8rd, iadmin, apc, 123456, cust0mer |
| Juniper | netscreen | netscreen |
| NetApp | admin | netapp123 |
| Oracle | root, oracle, oravis, applvis, ilom-admin, ilom-operator, nm2user | changeme, ilom-admin, ilom-operator, welcome1, oracle |
| VMware | vi-admin, root, hqadmin, vmware, admin | vmware, vmw@re, hqadmin, default |
2022-04-27 08:21:36 +00:00
2022-05-01 13:25:53 +00:00
## SSH-MitM
2022-04-27 08:21:36 +00:00
Αν βρίσκεστε στο τοπικό δίκτυο όπως το θύμα που θα συνδεθεί στο διακομιστή SSH χρησιμοποιώντας όνομα χρήστη και κωδικό πρόσβασης, μπορείτε να **προσπαθήσετε να εκτελέσετε μια επίθεση MitM για να κλέψετε αυτές τις διαπιστευτήρια:**
2024-02-10 22:40:18 +00:00
**Διαδρομή επίθεσης:**
* **Ανακατεύθυνση Κίνησης:** Ο επιτιθέμενος **ανακατευθύνει** την κίνηση του θύματος στο μηχάνημά του, αποκτώντας αποτελεσματικά τη σύνδεση με τον διακομιστή SSH.
* **Ανάκτηση και Καταγραφή:** Το μηχάνημα του επιτιθέμενου λειτουργεί ως **διακομιστής μεσολάβησης**, **καταγράφοντας** τα στοιχεία σύνδεσης του χρήστη προσποιούμενος ότι είναι ο νόμιμος διακομιστής SSH.
* **Εκτέλεση Εντολών και Μετάδοση:** Τέλος, ο διακομιστής του επιτιθέμενου **καταγράφει τα διαπιστευτήρια του χρήστη**, **προωθεί τις εντολές** στον πραγματικό διακομιστή SSH, τις **εκτελεί** και **στέλνει τα αποτελέσματα πίσω** στον χρήστη, κάνοντας τη διαδικασία να φαίνεται ομαλή και νόμιμη.
[**SSH MITM**](https://github.com/jtesta/ssh-mitm) κάνει ακριβώς αυτό που περιγράφεται παραπάνω.
Για να καταγράψετε την πραγματοποίηση της πραγματικής MitM μπορείτε να χρησιμοποιήσετε τεχνικές όπως η ARP spoofing, η DNS spoofing ή άλλες που περιγράφονται στις [**επιθέσεις διαπλάτησης δικτύου**](../generic-methodologies-and-resources/pentesting-network/#spoofing).
## SSH-Snake
Αν θέλετε να διατρέξετε ένα δίκτυο χρησιμοποιώντας ανακαλυφθέντα ιδιωτικά κλειδιά SSH σε συστήματα, χρησιμοποιώντας κάθε ιδιωτικό κλειδί σε κάθε σύστημα για νέους οικοδεσπότες, τότε το [**SSH-Snake**](https://github.com/MegaManSec/SSH-Snake) είναι αυτό που χρειάζεστε.
Το SSH-Snake εκτελεί αυτόματα και αναδρομικά τις ακόλουθες εργασίες:
1. Στο τρέχον σύστημα, βρείτε οποιαδήποτε ιδιωτικά κλειδιά SSH,
2. Στο τρέχον σύστημα, βρείτε οποιουσδήποτε οικοδεσπότες ή προορισμούς (χρήστης@οικοδεσπότη) που μπορεί να γίνουν δεκτοί τα ιδιωτικά κλειδιά,
3. Προσπαθήστε να συνδεθείτε με SSH σε όλους τους προορισμούς χρησιμοποιώντας όλα τα ανακαλυφθέντα ιδιωτικά κλειδιά,
4. Αν συνδεθείτε με επιτυχία σε έναν προορισμό, επαναλάβετε τα βήματα #1 - #4 στο συνδεδεμένο σύστημα.
Είναι πλήρως αυτοαναπαραγόμενο και αυτοδιαισθητούμενο - και εντελώς χωρίς αρχεία.
## Λανθασμένες Ρυθμίσεις Παραμετροποίησης
### Σύνδεση ως Root
Συνήθως οι διακομιστές SSH επιτρέπουν τη σύνδεση του χρήστη root από προεπιλογή, πράγμα που αποτελεί σημαντικό κίνδυνο ασφάλειας. **Η απενεργοποίηση της σύνδεσης ως root** είναι ένα κρίσιμο βήμα για την ασφάλεια του διακομιστή. Η μη εξουσιοδοτημένη πρόσβαση με διαχειριστικά δικαιώματα και οι επιθέσεις με βία στον κωδικό πρόσβασης μπορούν να αντιμετωπιστούν με αυτήν την αλλαγή.
**Για Απενεργοποίηση της Σύνδεσης ως Root στο OpenSSH:**
1. **Επεξεργασία του αρχείου ρυθμίσεων SSH** με: `sudoedit /etc/ssh/sshd_config`
2. **Αλλαγή της ρύθμισης** από `#PermitRootLogin yes` σε **`PermitRootLogin no`**.
3. **Επαναφόρτωση της ρύθμισης** χρησιμοποιώντας: `sudo systemctl daemon-reload`
4. **Επανεκκίνηση του διακομιστή SSH** για να εφαρμοστούν οι αλλαγές: `sudo systemctl restart sshd`
### Επίθεση Βίας SFTP
* [**Επίθεση Βίας SFTP**](../generic-methodologies-and-resources/brute-force.md#sftp)
### Εκτέλεση Εντολών SFTP
Συχνά συμβαίνει ένα κοινό λάθος με τις ρυθμίσεις SFTP, όπου οι διαχειριστές σκοπεύουν να επιτρέψουν στους χρήστες να ανταλλάσσουν αρχεία χωρίς να ενεργοποιούν τη
```bash
ssh -v noraj@192.168.1.94 id
2020-12-14 16:53:57 +00:00
...
Password:
debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.94 ([192.168.1.94]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Sending command: id
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
uid=1000(noraj) gid=100(users) groups=100(users)
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2412, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 43133.4, received 44349.5
debug1: Exit status 0
$ ssh noraj@192.168.1.94 /bin/bash
```
Εδώ υπάρχει ένα παράδειγμα ασφαλούς ρύθμισης SFTP (`/etc/ssh/sshd_config` - openSSH) για τον χρήστη `noraj`:
2022-04-27 08:21:36 +00:00
```
2020-12-14 16:53:57 +00:00
Match User noraj
2024-02-10 22:40:18 +00:00
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
PermitTTY no
2020-12-14 16:53:57 +00:00
```
Αυτή η διαμόρφωση θα επιτρέψει μόνο το SFTP: απενεργοποίηση της πρόσβασης στο κέλυφος με την επιβολή της εντολής εκκίνησης και απενεργοποίηση της πρόσβασης TTY αλλά και απενεργοποίηση όλων των ειδών προώθησης θυρών ή τούνελινγκ.
### SFTP Tunneling
Αν έχετε πρόσβαση σε ένα διακομιστή SFTP, μπορείτε επίσης να τουνελώσετε την κίνησή σας μέσω αυτού, για παράδειγμα χρησιμοποιώντας την κοινή προώθηση θυρών:
```bash
2020-09-25 08:37:19 +00:00
sudo ssh -L <local_port>:<remote_host>:<remote_port> -N -f <username>@<ip_compromised>
```
2022-05-01 13:25:53 +00:00
### SFTP Symlink
Το **sftp** έχει την εντολή "**symlink**". Επομένως, αν έχετε **δικαιώματα εγγραφής** σε κάποιο φάκελο, μπορείτε να δημιουργήσετε **συμβολικούς συνδέσμους** για **άλλους φακέλους/αρχεία**. Εφόσον πιθανότατα βρίσκεστε **παγιδευμένοι** μέσα σε ένα chroot αυτό **δεν θα είναι ιδιαίτερα χρήσιμο** για εσάς, αλλά, αν μπορείτε να **έχετε πρόσβαση** στον δημιουργημένο **συμβολικό σύνδεσμο** από ένα **υπηρεσία χωρίς chroot** (για παράδειγμα, αν μπορείτε να έχετε πρόσβαση στον σύνδεσμο από το web), θα μπορούσατε να **ανοίξετε τα αρχεία που έχουν συμβολικοώθεί μέσω του web**.
Για παράδειγμα, για να δημιουργήσετε ένα **συμβολικό σύνδεσμο** από ένα νέο αρχείο **"**_**froot**_**" προς "**_**/**_**"**:
```bash
sftp> symlink / froot
```
### Μέθοδοι Πιστοποίησης
2020-12-14 16:53:57 +00:00
Σε περιβάλλοντα υψηλής ασφάλειας, είναι συνηθισμένο να ενεργοποιούνται μόνο οι μέθοδοι πιστοποίησης βασισμένες σε κλειδιά ή δύο παραγόντων αντί για την απλή πιστοποίηση βασισμένη σε κωδικό πρόσβασης. Ωστόσο, συχνά οι ισχυρότερες μέθοδοι πιστοποίησης ενεργοποιούνται χωρίς να απενεργοποιούνται οι ασθενέστερες. Ένα συχνό παράδειγμα είναι η ενεργοποίηση της `publickey` στη διαμόρφωση του openSSH και η ορισμός της ως προεπιλεγμένης μεθόδου, χωρίς όμως να απενεργοποιείται η `password`. Έτσι, χρησιμοποιώντας τη λεπτομερή λειτουργία του πελάτη SSH, ένας επιτιθέμενος μπορεί να δει ότι μια ασθενέστερη μέθοδος είναι ενεργοποιημένη:
```bash
ssh -v 192.168.1.94
2020-12-14 16:53:57 +00:00
OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
...
debug1: Authentications that can continue: publickey,password,keyboard-interactive
```
Για παράδειγμα, εάν έχει οριστεί ένα όριο αποτυχίας πιστοποίησης και δεν έχετε ποτέ την ευκαιρία να φτάσετε στη μέθοδο κωδικού πρόσβασης, μπορείτε να χρησιμοποιήσετε την επιλογή `PreferredAuthentications` για να αναγκάσετε τη χρήση αυτής της μεθόδου.
```bash
ssh -v 192.168.1.94 -o PreferredAuthentications=password
2020-12-14 16:53:57 +00:00
...
debug1: Next authentication method: password
```
Είναι απαραίτητο να ελέγξετε τη διαμόρφωση του διακομιστή SSH για να βεβαιωθείτε ότι είναι εξουσιοδοτημένες μόνο οι αναμενόμενες μεθόδοι. Η χρήση της λειτουργίας verbose στον πελάτη μπορεί να βοηθήσει να δείτε την αποτελεσματικότητα της διαμόρφωσης.
2020-12-14 16:53:57 +00:00
### Αρχεία ρυθμίσεων
```bash
2020-12-14 16:53:57 +00:00
ssh_config
sshd_config
authorized_keys
ssh_known_hosts
known_hosts
id_rsa
```
2022-05-01 13:25:53 +00:00
## Fuzzing
2020-12-14 16:53:57 +00:00
* [https://packetstormsecurity.com/files/download/71252/sshfuzz.txt](https://packetstormsecurity.com/files/download/71252/sshfuzz.txt)
2022-04-27 08:21:36 +00:00
* [https://www.rapid7.com/db/modules/auxiliary/fuzzers/ssh/ssh\_version\_2](https://www.rapid7.com/db/modules/auxiliary/fuzzers/ssh/ssh\_version\_2)
2020-12-14 16:53:57 +00:00
## References
2020-12-14 16:53:57 +00:00
* Μπορείτε να βρείτε ενδιαφέρουσες οδηγίες για την ενίσχυση του SSH στο [https://www.ssh-audit.com/hardening\_guides.html](https://www.ssh-audit.com/hardening\_guides.html)
2020-12-14 16:53:57 +00:00
* [https://community.turgensec.com/ssh-hacking-guide](https://community.turgensec.com/ssh-hacking-guide)
<figure><img src="../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
2022-05-24 00:07:19 +00:00
**Συμβουλή για bug bounty**: **Εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty δημιουργημένη από χάκερς, για χάκερς**! Γίνετε μέλος στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα, και αρχίστε να κερδίζετε αμοιβές έως **$100,000**!
2022-05-24 00:07:19 +00:00
{% embed url="https://go.intigriti.com/hacktricks" %}
2022-05-24 00:07:19 +00:00
## HackTricks Automatic Commands
2022-04-27 08:21:36 +00:00
```
2021-09-13 15:32:29 +00:00
Protocol_Name: SSH
Port_Number: 22
Protocol_Description: Secure Shell Hardening
Entry_1:
2024-02-10 22:40:18 +00:00
Name: Hydra Brute Force
Description: Need Username
Command: hydra -v -V -u -l {Username} -P {Big_Passwordlist} -t 1 {IP} ssh
Entry_2:
2024-02-10 22:40:18 +00:00
Name: consolesless mfs enumeration
Description: SSH enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/ssh/ssh_version; set RHOSTS {IP}; set RPORT 22; run; exit' && msfconsole -q -x 'use scanner/ssh/ssh_enumusers; set RHOSTS {IP}; set RPORT 22; run; exit' && msfconsole -q -x 'use auxiliary/scanner/ssh/juniper_backdoor; set RHOSTS {IP}; set RPORT 22; run; exit'
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
```
2022-04-28 16:01:33 +00:00
<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>
2022-04-28 16:01:33 +00:00
Άλλοι τρόποι υποστήριξης του HackTricks:
2024-01-02 18:28:27 +00:00
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
2024-02-10 22:40:18 +00:00
* Αποκτήστε το [**επίσημο 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)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας 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>