Merhabalar herkese. Bu konuda sizlere Wordpress LAB ortamının linux (xampp) üzerinde kurulumunu ve neden böyle bişi yaptığımızı anlatmaya gayret edicem.
Neden LAB ortamı?
Öncelikle neden böyle bir lab ortamına ihtiyacımız olduğundan bahsedelim. Web güvenliği ile alakalı pentest becerilerini geliştirmek adına bir çok lab ortamı bulunmaktadır. bWAPP, DVWA gibi lab ortamları buna en güzel örnektir. Bu sistemlerde biz web güvenlik zafiyetlerini (SQL, XSS, RFI, LFI en bilindikleri vs vs) nasıl sömürülebileceğini öğreniyor ve bu konuda kendimizi geliştirme imkanı buluyoruz. Teorik bilginin yanında birde pratik bilgi yapmak çok önemlidir. Bu yüzden teorik olarak bildiğimiz açıkları pratik yaparak pentest becerilerimizi geliştirmiş oluruz ve daha kalıcı bir şekilde öğrenmiş oluruz.
Wordpress ise dünya üzerinde en çok kullanılan (CMS) içerik yönetim sistemidir. Kimi araştırmalara göre tüm CMS sistemleri arasında %51 tercih edilen diye geçiyorken kimi araştırmalar bu oranı %70 üzerinde göstermekte. Bu araştırmalardan da anladığımız üzere wordpress birçok sitenin kullandığı bir sistem. Dolayısıyla wordpress üzerindeki bir zafiyet kritik önem arz etmekte. Eklentiler üzerindeki bir açık veya temalardan kaynaklı bir zafiyet onbinlerce siteyi etkileyebiliyor. Bu zafiyetlerin neler olduğunu, nasıl sömürüleceğini, hangi kodlama hatalarından kaynaklandığını pratik olarak kendi LAB ortamımızda kurup test ederek öğrenebiliriz.
İşte bu yüzden wordpress üzerinde pentest becerilerimizi geliştirmek ve exploitlerin kullanımlarını öğrenmek için bu LAB ortamını localhost'a kuracağız.
NOT: Normal bir wordpress kurulumundan pek bir farklı yok. Linux ve XAMPP üzerine kurulum hakkında konu olmadığı için bu konuyu hazırladım.
Kullandığınız linux sistemde xampp kurulu değil ise aşağıdaki konu ile kurulum yapabilirsiniz.
https://www.turkhackteam.org/linux/1884377-xampp-linux-uzerinde-kurulumu-ghost.html
Kurulum
Öncelikle wordpress'in sitesine gidip son sürümü indirelim.
https://tr.wordpress.org/download/
İndirdiğimiz zip dosyasını zipten çıkarmak için terminale aşağıdaki komutu girelim.
Daha sonra wordpress dosyalarımızı localhosta çalıştırmak için XAMPP içine atmamız gerekiyor. Terminal üzerinden klasörü kopyalamak için aşağıdaki komutu giriniz. (Bulunduğunuz dizine dikkat ediniz.)
Htdocs içinde wordpress/ klasörümüz sorunsuz bir şekilde kopyalandıysa tarayıcımız üzerinden install kısmına geçiş yapabiliriz. Tarayıcımızı açıp url kısmına localhost/wordpress yazalım.
Karşımıza wordpress kurulum ekranı gelmiş olması lazım. Burada kurulum için gerekli olan veritabanı bilgilerini hazırlamamız gerekiyor. Tarayıcımız üzerinde yeni bir sekme açıp url kısmına localhost/phpmyadmin yazalım. Burada veritabanı oluşturmamız gerekiyor. Sol menüden "New" kısmına tıklayıp yeni bir veritabanı oluşturalım.
Wordpress install kısmına geri dönüp kuruluma başlayalım. Bir sonraki aşamada bizlerden;
-Veritabanı ismi
-Kullanıcı adı
-Parola
-Veritabanı sunucusu
-Tablo ön eki istemektedir. Resimdeki gibi gerekli bilgileri dolduralım.
Bilgileri doldurduktan sonra Gönder'e tıkladığımızda bir sonraki aşamada bize bir uyarı sayfası geliyor. Bu uyarıda bizlere wp-config.php dosyasını oluşturamadığını ve kuruluma devam edebilmek için bu dosyayı ve içeriğini elle bizim yapmamız gerektiğini söylüyor.
Terminale gelip /opt/lampp/htdocs/worpress dizini altında wp-config.php isminde bir dosya oluşturalım. Bunun aşağıda verdiğim komutları sırasıyla yapınız.
(Sublime kullanmıyorsanız eğer mousepad veya kendi text editörünüzle dosyayı açınız.)
Uyarı sayfasında bize verdiği kodları text editör ile açtığımız dosyaya yapıştıralım ve kaydedelim.
Dosyamızı sorunsuz bir şekilde oluşturduktan sonra tarayıcımızdan kuruluma geri dönüp bir sonraki aşamaya geçelim. Bir sonraki adımda bizlerden site için bir kaç bilgi girmemiz istenmekte. Ben kendim için doldurdum. Bilgileri siz kendi isteğinize göre düzenleyebilirsiniz.
Parola kısmını orta seviye bulunabilir bi şekilde ayarladım. Bu LAB ortamında anlatacağım örneklerde parola kırma işlemini göstermek için böyle ayarladım. Kurulum işlemini başarılı bir şekilde tamamladık. Artık wordpress lab ortamımız mevcut
Birkaç Not/Detay

Neden LAB ortamı?
Öncelikle neden böyle bir lab ortamına ihtiyacımız olduğundan bahsedelim. Web güvenliği ile alakalı pentest becerilerini geliştirmek adına bir çok lab ortamı bulunmaktadır. bWAPP, DVWA gibi lab ortamları buna en güzel örnektir. Bu sistemlerde biz web güvenlik zafiyetlerini (SQL, XSS, RFI, LFI en bilindikleri vs vs) nasıl sömürülebileceğini öğreniyor ve bu konuda kendimizi geliştirme imkanı buluyoruz. Teorik bilginin yanında birde pratik bilgi yapmak çok önemlidir. Bu yüzden teorik olarak bildiğimiz açıkları pratik yaparak pentest becerilerimizi geliştirmiş oluruz ve daha kalıcı bir şekilde öğrenmiş oluruz.
Wordpress ise dünya üzerinde en çok kullanılan (CMS) içerik yönetim sistemidir. Kimi araştırmalara göre tüm CMS sistemleri arasında %51 tercih edilen diye geçiyorken kimi araştırmalar bu oranı %70 üzerinde göstermekte. Bu araştırmalardan da anladığımız üzere wordpress birçok sitenin kullandığı bir sistem. Dolayısıyla wordpress üzerindeki bir zafiyet kritik önem arz etmekte. Eklentiler üzerindeki bir açık veya temalardan kaynaklı bir zafiyet onbinlerce siteyi etkileyebiliyor. Bu zafiyetlerin neler olduğunu, nasıl sömürüleceğini, hangi kodlama hatalarından kaynaklandığını pratik olarak kendi LAB ortamımızda kurup test ederek öğrenebiliriz.
İşte bu yüzden wordpress üzerinde pentest becerilerimizi geliştirmek ve exploitlerin kullanımlarını öğrenmek için bu LAB ortamını localhost'a kuracağız.
NOT: Normal bir wordpress kurulumundan pek bir farklı yok. Linux ve XAMPP üzerine kurulum hakkında konu olmadığı için bu konuyu hazırladım.
Kullandığınız linux sistemde xampp kurulu değil ise aşağıdaki konu ile kurulum yapabilirsiniz.
https://www.turkhackteam.org/linux/1884377-xampp-linux-uzerinde-kurulumu-ghost.html
Kurulum
Öncelikle wordpress'in sitesine gidip son sürümü indirelim.
https://tr.wordpress.org/download/
İndirdiğimiz zip dosyasını zipten çıkarmak için terminale aşağıdaki komutu girelim.
Kod:
cd Downloads/
Kod:
unzip wordpress-5.3.1-tr_TR.zip
Daha sonra wordpress dosyalarımızı localhosta çalıştırmak için XAMPP içine atmamız gerekiyor. Terminal üzerinden klasörü kopyalamak için aşağıdaki komutu giriniz. (Bulunduğunuz dizine dikkat ediniz.)
Kod:
cp -R wordpress/ /opt/lampp/htdocs/
Htdocs içinde wordpress/ klasörümüz sorunsuz bir şekilde kopyalandıysa tarayıcımız üzerinden install kısmına geçiş yapabiliriz. Tarayıcımızı açıp url kısmına localhost/wordpress yazalım.
Karşımıza wordpress kurulum ekranı gelmiş olması lazım. Burada kurulum için gerekli olan veritabanı bilgilerini hazırlamamız gerekiyor. Tarayıcımız üzerinde yeni bir sekme açıp url kısmına localhost/phpmyadmin yazalım. Burada veritabanı oluşturmamız gerekiyor. Sol menüden "New" kısmına tıklayıp yeni bir veritabanı oluşturalım.
Wordpress install kısmına geri dönüp kuruluma başlayalım. Bir sonraki aşamada bizlerden;
-Veritabanı ismi
-Kullanıcı adı
-Parola
-Veritabanı sunucusu
-Tablo ön eki istemektedir. Resimdeki gibi gerekli bilgileri dolduralım.
Bilgileri doldurduktan sonra Gönder'e tıkladığımızda bir sonraki aşamada bize bir uyarı sayfası geliyor. Bu uyarıda bizlere wp-config.php dosyasını oluşturamadığını ve kuruluma devam edebilmek için bu dosyayı ve içeriğini elle bizim yapmamız gerektiğini söylüyor.
Terminale gelip /opt/lampp/htdocs/worpress dizini altında wp-config.php isminde bir dosya oluşturalım. Bunun aşağıda verdiğim komutları sırasıyla yapınız.
Kod:
touch wp-config.php
Kod:
subl wp-config.php
Uyarı sayfasında bize verdiği kodları text editör ile açtığımız dosyaya yapıştıralım ve kaydedelim.
Dosyamızı sorunsuz bir şekilde oluşturduktan sonra tarayıcımızdan kuruluma geri dönüp bir sonraki aşamaya geçelim. Bir sonraki adımda bizlerden site için bir kaç bilgi girmemiz istenmekte. Ben kendim için doldurdum. Bilgileri siz kendi isteğinize göre düzenleyebilirsiniz.
Parola kısmını orta seviye bulunabilir bi şekilde ayarladım. Bu LAB ortamında anlatacağım örneklerde parola kırma işlemini göstermek için böyle ayarladım. Kurulum işlemini başarılı bir şekilde tamamladık. Artık wordpress lab ortamımız mevcut
Birkaç Not/Detay
- Kurulum aşaması pek farklı değil demiştik. Tek fark wp-config dosyasını kurulumda oluşmadığı için elle yaptık. Bir de veritabanını elle oluşturduk.
- Konuyu anlatmak için son sürüm üzerinden kurulumu anlattım. Bazı exploitler wordpress'in eski sürümlerinde çalışıp yeni (son) sürümlerde çalışmayabiliyor. Bunun için bu lab kurulumunu farklı zamanlarda eski sürümleri kurmak için tekrarlayabilirsiniz.
- Wordpress'in eski sürümleri için gerekli link--> https://tr.wordpress.org/download/releases/
- Bu konu Kali linux ve XAMPP üzerinde test edilip anlatılmış.

