Google Cloud Platform Üzerinde Ubuntu Server ve DVWA Kurulumu

 

Selamlar bu başlık altında Google Cloud servislerinden Compute Engine üzerinde Ubuntu Server kurulumu gerçekleştireceğiz. Daha sonra oluşturmuş olduğumuz bu server üzerinde Damn Vulnerable Web Application (DVWA) isimli üzerinde çeşitli güvenlik zafiyetleri barındıran web tabanlı uygulamasını kurarak gerekli ayarlamaları yaptıktan sonra çalıştıracağız.

Compute Engine servisi çeşitli sanal makineler yaratarak üzerinde farklı işletim sistemleri çalıştırmamızı sağlayan bir servistir.Sizde eğer isterseniz bu linki ziyaret ederek Google Cloud’da kullanıcı oluşturabilirsiniz.

Ben bu çalışma kapsamında Ubuntu 16.04 LTS sürümü tercih ettim. Gerekli sanal makine oluşturulduktan sonra; 
  • Apache 
  • MySQL 
  • PHP 
  • DVWA 
kurulumlarını gerçekleştireceğim.

Apache, birçok işletim sistemi üzerinde çalışabilen bir sunucu yazılımıdır. Oluşturduğumuz sanal makinemizde barındırdığımız içeriklerin yayınlanabilmesi için gerekli olan bir yazılımdır.

Kurulum adımları;
Öncelikle kurulumlar sırasında yapılacak işlemlerde yetki problemi yaşamamak adına “super user” yetkilerine sahip olmanız gerekiyor. Bunu terminal ekranından aşağıdaki komutu girerek kolaylıkla elde edebilirsiniz.

sudo su


Kurulum işlemlerine başlamadan önce mevcut paket listesi güncellemenizi tavsiye ederim.

apt update


Apache kurulumunu yaptıktan sonra sunucumuz 80 numaralı portu üzerinden yayın yapmaya başlayacaktır.

apt install apache2


Sizde sunucunuzun IP adresini tarayıcınızın adres çubuğuna yazarak sunucunuzun çalışıp çalışmadığını kontrol edebilirsiniz.







Apache kurulumu yalnızca statik sayfalar yayınlamamız için yeterlidir. Benim daha sonra kurulumunu gerçekleştireceğim web tabanlı uygulama PHP programlama dili ile yazıldığından ve veritabanı bağlantısı gerektirdiğinden sunucumuza MySQL Server ve PHP kurulumu yapmamız gerekmektedir.

Öncelikle MySQL Server kurulumu gerçekleştirilir. MySQL kurulumu belirli bir aşamaya geldiğinde root kullanıcısı için sizden bir parola talep edilecektir. Güvenli ve kolay hatırlayabileceğiniz bir parola tercih etmeniz önerilir.

apt install mysql-server


PHP web tabanlı uygulamalar geliştirmek amacıyla kullanılan, sunucu taraflı bir programlama dilidir. Sanal makinemizde barındırdığımız web tabanlı uygulamanın php sayfalarının yorumlanması için sunucumuza PHP ve sık kullanılan eklentilerini kurmamız gerekir.

apt install php libapache2-mod-php php-mysql


Kurulumları gerçekleştirdikten sonra Apache sunucumuzu yeniden başlatmalıyız. Apache sunucusu ile doğrudan ve dolaylı olarak ilintili her paket kurulumundan sonra sunucunun yeniden başlatılması gerekmektedir.

service apache2 restart


Apache, MySQL Server ve PHP kurulumunu gerçekleştirdikten sonra Damn Vulnerable Web Application (DVWA) isimli üzerinde çeşitli güvenlik zafiyetleri barındıran uygulamayı kuracağız.

DVWA yani Damn Vulnerable Web Application’ın temel hedefi/önceliği güvenlik uzmanlarının yeteneklerini ve bu alanda kullanılan araç ve programların yasal bir ortamda test etmelerine yardımcı olmak, web tabanlı uygulama geliştiricilerinin, geliştirdikleri web tabanlı uygulamaları daha güvenli hale getirme süreçlerini daha iyi anlamalarına ve analiz etmelerine yardımcı olmak, öğretmenler/öğrenciler için bir uygulamalı bir laboratuvar oluşturmak için hazırlanmış PHP/MySQL tabanlı bir uygulamadır.  İleride bu uygulama üzerine öğrenmiş olduğumuz saldırı teknik ve yöntemlerini uygulayarak sonuçları analiz edeceğiz.

DVWA Apache’nin kök dizinine indirileceği için, varsayılan olarak bu dizin altında bulunan index.html dosyası kaldırılmalıdır.

rm –r /var/www/html/index.html


DVWA’nın en son sürümünü /tmp/ dizini altına indirilir.

git clone https://github.com/ethicalhack3r/DVWA /tmp/DVWA


Gerekli DVWA kaynak kodu dosyaları /tmp/DVWA dizini altından Apache’nin kök dizini altına taşınır veya kopyalanır.

rsync –avP /tmp/DVWA/ /var/www/html/


Tüm DVWA kaynak kodu dosyalarının Apache kök dizini altında olup olmadığı kontrol edilir.

ls /var/www/html/


DVWA veritabanı bağlantısının yapılandırılması gerekmektedir. /var/www/html/config/ dizini altında yer alan config.inc.php.dist isimli dosya yeniden isimlendirilerek config.inc.php şeklinde kayıt edilmelidir.

cp /var/www/html/config/config.inc.php.dist /var/www/html/config/config.inc.php


DVWA varsayılan kullanıcı adı “root” parolası “p@ssw0rd” dür Kurulum aşamasında farklı bir parola tanımlanmışsa bunun config.inc.php dosyası içerisinde düzenlenmesi gerekmektedir. Nano editör ile açılarak $ _DVWA ['db_password'] = 'p@ssw0rd'; alanını belirlediğiniz parola dahilinde güncelleyiniz.

nano /var/www/html/config/config.inc.php


Gerekli düzeltmeler yapıldıktan sonra MySQL servisi yeniden başlatılmalıdır.

service mysql restart


Sunucunuzun IP adresini tarayıcınızın adres çubuğuna yazarak uygulamanızı çalışıp çalışmadığını kontrol edebilirsiniz.


DVWA'yı ilk kez yüklediğinizde yukarıdaki görselde ki gibi kurulum sayfası size sunulacaktır. Bu sayfa mevcut konfigürasyonu ve mevcut olabilecek hataları gösterir. Sayfada bu sorunların nasıl çözüleceği konusunda da detaylı bir şekilde bilgi verilmektedir. Ayrıca, sayfanın altında DVWA için bir veritabanı oluşturmaya yarayan buton bulunmaktadır. Tüm hatalar giderildikten sonra bu buton tıklanarak gerekli veritabanı DVWA tarafından otomatik olarak oluşturulacaktır.

Yukarıdaki görsel incelendiğinde;
  • hackable/uploads/ klasörüne yazma yetkisi verilmesi, 
  • phpids_log.txt dosyasına yazma yetkisi verilmesi, 
  • config/ klasörüne yazma yetkisi verilmesi 
  • allow_url_include işlevini devreye alınması 
gerektiği görülmektedir.

İlk 3 uyarı dizin izinleri ile alakalıdır. Sorunun çözülüp çözülmediğini kontrol etmek için tarayıcınıza DVWA kurulum sayfasını yeniden yüklemeniz gerekmektedir. Sorun çözüme kavuştuğunda yazılı sorun kırmızıdan yeşile dönecektir.

uploads/ klasörüne gerekli izinleri vermek için öncelikle bu dizinin içinde bulunduğu dizinin izinleri kontrol edilmeli.

ls –la /var/www/html/hackable/


root kullanıcısı için yazma yetkisi olsa dahi DVWA tarafından uyarı verilmektedir. Bu nedenle diğer kategorisine de okuma, yazma, çalıştırma iznini verilmesi gerekmektedir.

chmod 757 /var/www/hackable/uploads/


Gerekli izinlerin verilip verilmediğini kontrol edelim.

ls –la /var/www/html/hackable/


phpids_log.txt dosyasına gerekli yazma iznini vermek için dosyanın içinde bulunduğu dizinin izinleri kontrol edilmelidir.

ls –la /var/www/html/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt


Root kullanıcısına gerekli izinleri verelim.

chmod 646 /var/www/html/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt


Gerekli izinlerin verilip verilmediğini tekrar kontrol edelim.

ls –ls /var/www/html/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt


config/ klasörüne gerekli izinleri vermek için öncelikle bu dizinin içinde bulunduğu dizinin izinleri kontrol edilmelidir.

ls –ls /var/www/html/ | grep config


Gerekli izinleri verelim.

chmod 757 /var/www/html/config


Gerekli izinlerin verilip verilmediğini tekrar kontrol edelim.

ls –la /var/www/html/ | grep config


allow_url_include işlevini devreye almak için nano editör ile php.ini dosyası açılarak allow_url_include=Off değeri bulunarak “On” değeri verilir.

nano /etc/php/7.0/apache2/php.ini


Gerekli düzeltmeler yapıldıktan sonra Apache servisini yeniden başlatmamız gerekmektedir.

service apache2 restart


Yaptığımız ayarlamaların doğru bir şekilde çalıştığından emin olmak için sunucumuzun IP adresini tarayıcımızın adres çubuğuna yazarak kontrol edelim.


Yukarıdaki görselde ki gibi açılan sayfadan “Create/Reset Database” butonuna tıklayarak DVWA tarafından veritabanını yeniden oluşturulması sağlandıktan sonra eğer veritabanı başarılı bir şekilde oluşturulursa giriş ekranına yönlendirileceğiz.


Yukarıdaki görselde ki gibi açılan kullanıcı ekranında bulunan Username alanına “admin” Password alanına “password” yazarak DVWA uygulamasına giriş yapabiliriz. Uygulamaya giriş yaptığınızda bizi aşağıdaki gibi bir ekran karşılayacaktır.


Yukarıdaki görselde ki gibi açılan ekranın sol tarafındanki menü de güvenlik zafiyeti bulunan sayfalara erişim linkleri verilmiştir. Gerçekleştirmek istediğimiz web tabanlı saldırı için ilgili menüye tıklayarak içerisinde zafiyet barındıran uygulamaya erişebiliriz.

Hadi durma sende yorum yap

Daha yeni Daha eski

Comments