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
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
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/
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
service mysql restart
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ı
İ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/
chmod 757 /var/www/hackable/uploads/
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
chmod 646 /var/www/html/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
ls –ls /var/www/html/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
ls –ls /var/www/html/ | grep config
chmod 757 /var/www/html/config
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
service apache2 restart
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.
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.
Yorum Gönder