Tuesday, 14 March 2017

Bypassing Blocked Linux Command by Mod_Security

Oke kali ini gua akan share tips tentang cara simple membypass command yang di blokir oleh mod_security. Pernah denger bukan?
Gambar terkait
ModSecurity merupakan
modul dari apache yang merupakan salah satu web server yang paling banyak
digunakan. Kebanyakan serangan di internet dilakukan terhadap web untuk itu 
diperlukan pengamanan khusus untuk menangani hal tersebut. Berbagai 
macam cara dapat dilakukan salah satunya adalah memasang WAF (Web 
Application Firewall) salah satu WAF yang dibahas pada artikel ini
adalah ModSecurity.

ModSecurity merupakan web application firewall, Seperti firewall pada
umumnya yaitu melakukan filter data masuk dan keluar dan dapat untuk 
menstop traffic yang dianggap berbahaya sesuai dengan rule yang 
ditetapkan.

Pada ModSecurity terdapat beberapa fitur seperti HTTP Traffic Logging 
yang memungkinkan ModSecurity dapat melakukan full logging pada 
transaksi HTTP. Dan juga terdapat fitur Virtual Patching yang merupakan
sebuah metode untuk melakukan patch sebuah vulnerability sebuah web 
application tanpa menyentuh web application tersebut dengan membuat rule
yang memblok request yang berbahaya.

ModSecurity merupakan WAF yang menyediakan proteksi yang harus disetting
dengan rule karena Metode pemblokiran dari request-request yang 
berbahaya tergantung dari rule yang ditetapkan. Untuk membuat 
ModSecurity lebih powerfull dan untuk memungkinkan pengguna mendapatkan
keuntungan penuh Trustwave's SpiderLabs membuat project OWASP 
ModSecurity Core Rule Set (CRS). CRS memberikan perlindungan generik
dari vulnerabilities yang tidak dikenali pada aplikasi web.

Contohnya, pernah mendapatkan sebuah akses backdoor yang ternyata dalam server tersebut di proteksi oleh modul modSecurity ini?. Dan ketika saja mencoba menjalankan command shell seperti berikut, munculah sesuatu seperti pada gambar dibawah ini.
Yap, seperti itulah hasilnya. Sewaktu kalian ingin menjalakan command linux pada command shell seperti command-command yang biasanya kita gunakan, yaitu:

- id
- uname
- pwd
- whoami

Tenang saja, jangan khawatir karena command-command tersebut masih bisa kita jalankan, tentu saja dengan cara membypassnya. Bagaimana caranya? mudah saja kalian cukup memanfaatkan command SET di Linux. Command SET itu sendiri merupakan command yang digunakan untuk mendefinisikan dan menentukan nilai dari system environtment (lingkungan sistem).

Oke, perhatikan gambar berikut.

Untuk menjalankan command yang di blokir oleh mod_security, cukup tambahkan command SET di depannya. serta pisahkan dengan ";" (tanpa kutip).

contohnya: shell.php?cmd=SET;id

lihat bukan? command yang tadinya akan menghasilkan "Not Acceptable" akan berjalan dengan baik.

Kalian juga dapat membypassnya dengan cara seperti ini:

- shell.php?cmd=SET;id ->shell.php?cmd=set $(id);set
- shell.php?cmd=SET;whoami -> setshell.php?cmd=set $(whoami);set
- shell.php?cmd=set $(uname -r);set

untuk yang menggukana command seperti ?cmd=set $(command);set, anda bisa melihat hasilnya di paling bawah.
(yap ini dia hasilnya ?cmd=set $(uname -rv);set , 3.12.65-188.ELK6.x86_64. Terdapat pada _=)

dan lainnya, kalian juga bisa menggunakan cara ini:

- shell.php?cmd=***;id
- shell.php?cmd=***;whoami

Dimana shell.php merupakan command shell milik kalian, silakan kalian kembangkan.
Oke sekian dulu kawan, semoga menambah wawasan.

2 comments: