WordPress Tabanlı Sitelerde WPScan Aracı ile Zafiyet Analizi

WordPress Tabanlı Sitelerde WPScan Aracı ile Zafiyet Analizi

Herkese merhaba. Bu yazımda WordPress ten ve WordPress’in açıklarını bulmamıza yarayan “wpscan” aracından bahsedeceğim. Bloggerların özellikle çok kullandığı ve son zamanlarda yaygınlaşan WordPress’in ne olduğuna bir bakalım.

WordPress Nedir?

Hiçbir kodlama bilgisine ihtiyaç duymadan, tıklamalar(sürükle-bırak mantığı) ile her türlü içeriği üretmenize, internet ortamında yayınlamanıza ve yönetmenize olanak sağlayan içerik yönetim sistemidir.

Her ne kadar internette karşımıza “WordPress” ismiyle çıkıyor olsa bile kendi içerisinde “wordpress.org” ve “wordpress.com” olarak ikiye ayrılmaktadır. “wordpress.com”, “wordpress.org” un özelliklerinin birçoğuna sahip değildir. Peki WordPress ne işe yarar?

Temelde internet sitesi kurma mantığı şöyle işler; önce siteniz için bir hosting ve domain alırsınız. Bu adımlar her çeşit internet sitesi için aynıdır. Ardından alınan bu hosting ve domain üzerine sitenizi inşa edersiniz. WordPress dışındaki örneğin html sitelerinde, tasarımsal ve işlevsel olarak inşa edebilmek için kodlama bilmek gerekmektedir. WordPress in farkı bu noktada ortaya çıkmaktadır. Size kodlama veya herhangi bir teknik bilgiye sahip olmadan sitenizi kurma ve yönetme imkanı sağlar. Tıklamalar, sürükle bırakmalar ile sitenizi kurabilir ve yönetebilirsiniz.

WordPress, GPL lisanslı açık kaynak bir içerik yönetim sistemidir. Açık kaynaklı olmasından ötürü birçok plugin, eklenti, tema desteği bulunmaktadır. Bu eklentiler ile, web sitelerinize çok daha dinamik ve kaliteli bir yapı kazandırabilirsiniz.

WordPress farklı türlerde internet siteleri oluşturabilmek için kullanabileceğimiz çok yönlü bir araçtır. WordPress ile en yaygın olarak kullanılan web siteleri; blog, teknoloji, haber, işletme siteleridir. Örnek olarak ünlü bir marka olan Playstation’ın https://blog.playstation.com/ adresli sitesi WordPress ile oluşturulmuştur.

WordPress sitelerinin dünya çapında bu kadar kullanılmasının sebeplerinden en önemlisi de tasarımsal ve işlevsel olarak oldukça kullanışlı olmasıdır. Ayrıca bir sitenin WordPress olup olmadığını da kaynak kodlarından ya da giriş panelinden anlayabiliriz.

WordPress Zafiyetleri Nelerdir? Nasıl Ortaya Çıkar?

WordPress altyapısını kullanan bir siteye sahipseniz ve güvenlik zafiyeti olduğundan şüpheleniyorsanız eğer, bu durumun sebepleri arasında pluginler, temalar ve eklentilerin web sitelerinizde yer edinmesinden kaynaklanmaktadır. WordPress açık kaynaklı olmasından ötürü, saldırganların en büyük hedefleri arasındadır.

WordPress internetin %35’den fazlasını oluşturduğundan hackerların sıklıkla hedefi haline gelmektedir. Saldırganlar, üçüncü parti eklentilerin açıklarını kullanarak hedeflerine ulaşmaktadırlar. Sitenizde kullandığınız ya da kullanacağınız eklenti, tema&plugin gibi kaynakları temin ettiğiniz adreslerin güvenilir olduğundan ve lisanslı eklentiler olmasına dikkat etmeniz gerekmektedir.

Third Party uygulamalardan erişime en güzel örneklerden birisi de, zafiyetli makineleri çözerken, hedeften shell oturumu alabilmek için reverse-shell metodunu kullanırız. WordPress sitelerinde brute-force ile giriş panelini egale ettikten sonra herhangi bir plugin içerisine reverse-shell komutlarını ekleyip, hedeften shell oturumu alabiliriz.

Güvenlik açığı oluşturabilecek bir başka durum ise bu tür eklentilerin, temaların, pluginlerin güncel olmamasıdır.

WordPress tabanlı sitelerde var olan açıkları bulmak ve bilgi toplamak için ne yapabiliriz?

WPScan Nedir?

WPScan, WordPress tabanlı sitelerde açıkları bulmak, bilgi toplamak ve brute-force saldırısı yapabilen ruby ile kodlanmış araçtır. Birçok kullanım parametresi bulunmaktadır. WPScan ile, zafiyet taraması yapılan sitenin versiyonuna, kullandığı temaya, kullanılan ve kurulu olan eklentilere ve kullanıcı adlarına dair bilgilere erişilebilmektedir.

WPScan toolu, Kali Linux 2020 sürümleri içerisinde yüklü olarak gelmektedir. Cihazınınzda “wpscan” aracının kurulu olup olmadığını anlayabilmek için “dpkg –get-selections | grep “wpscan” ” komutunu çalıştırabilirsiniz. Paket cihazınızda yüklü değilse https://www.hackingloops.com/how-to-install-wordpress-vulnerability-scanner-wpscan-on-kali-linux/ adresindeki adımları takip ederek kurulumunu gerçekleştirebilirsiniz.

WPScan Kullanım Parametreleri

WordPress ve wpscan ile ilgili teorik bilgileri anladığımıza göre artık bu bilgileri pratiğe dökebiliriz. Ben kendime hedef olarak belirlediğim bir site üzerinde parametrelerin kullanımını göstermeye çalışacağım. Parametrelerin hepsini burada gösteremeyeceğim için “wpscan –help” yazarak kullanılabilecek parametreleri inceleyip daha farklı sonuçlar elde edebilirsiniz.

İlk olarak hedef sitemizle ilgili genel bir tarama yapalım.

“wpscan –url “hedefsite” ” komut satırını çalıştırdığım zaman kısa süre içerisinde birçok bilginin olduğu sonucu görüntüledik. Sonuçlara baktığımız zaman sitede, oldukça kritik öneme sahip “robots.txt” sayfasının bulunduğunu ve path bilgisini görebiliyoruz. Bu url’e gidelim.

“robots.txt” sayfasında bulmuş olduğum “wp-admin” sayfasına ilerlediğimde hedef web sitesinin login ekranına ulaşmış oldum. Burada oluşturacağımız ya da var olan wordlistler ile brute-force yapabilir ya da başka web application açıklarını deneyebiliriz. Biz herhangi bir işlem yapmadan başka parametreleri inceleyelim 🙂

Yine aynı search’ün sonucunda sitenin teması ile ilgili path bilgileri, versiyon bilgilerini ve bu versiyonun güncel olmadığı bilgisini almaktayız. Hedef site için aslında işimizi oldukça kolaylaştıracak bir durum. Bu versiyondaki açıkları kullanarak hedef site güncel olmadığı için amacımıza ulaşabiliriz.

Bir başka önemli parametre ise, hedefteki tüm kullanıcı adlarını öğrenebileceğimiz “–enumerate u” parametresidir. Sitedeki tüm kullanıcıları öğrenmek, brute-force için oluşturacağımız wordlistte oldukça önemli bir bilgi olacaktır.

Search sonucuna baktığımız zaman 3 tane kullanıcı ismini görüntüledik.

Sitedeki tüm pluginleri listelemek için “wpscan –url hedefsite.com –enumerate p” komutunu kullanabiliriz. Bu komutu kullandığımızda sonuç olarak neler döndüğüne bir bakalım.

Plugin sonuçlarına baktığımız zaman, autoptimize, sitepress-multilingual-cms, wordpress-seo pluginlerinin kullanıldığını listeledik. Yine bu pluginlerin zafiyetlerini kullanarak hedefimize ulaşabiliriz.

WPScan aracını pluginlerde var olan zafiyetleri bulabilmek için de kullanabiliriz. Örneğin yukarıda bulduğumuz pluginlerdeki zafiyet analizini yapalım.

Pluginleri tespit ettikten sonra “wpscan –url hedefsite.com –enumerate vp” parametresini kullanarak çalıştırdığım search’te, pluginlerde herhangi bir zafiyet olmadığı gözlemlenmiştir.

WPScan İle Brute Force

Yukarıda kullandığımız parametreler dışında wpscan toolu ile wordlistler kullanarak brute force saldırıları da yapabiliriz. Brute-force terimsel olarak kaba kuvvet, deneme-yanılma saldırısı olarak düşünebiliriz. Diyelim ki elimizde kullanıcı adı bilgisi ve login paneli bulunmakta. Şifreyi bulabilmek için burada deneme yanılma yani brute-force yöntemini kullanabiliriz. Brute Force için wordlistler gereklidir. Kali Linux içerisinde /usr/share/wordlist/ pathi içerisinde adını sıklıkla duyduğumuz “rockyou.txt” wordlisti bulunmaktadır. Bu wordlistin içerisinde 1 milyondan fazla kelime bulunmaktadır. WPScan ile brute-force saldırısını yaparken rockyou.txt’den faydalanabileceğimiz gibi kendi oluşturacağımız wordlistleri de kullanabiliriz.

Hedef site için genel bir tarama yaptığımızda admin panel girişini keşfettiğimizi gözlemlemiştik. WPScan ile site içerisindeki kullanıcıları tespit etmek için çalıştırdığımız searchte de bazı kullanıcıları tespit edebilmiştik. Bu kullanıcıları ve wordlisti kullanarak WPScan toolu ile nasıl brute force yapabileceğimize bir bakalım.

Bazı kaynaklarda –passwords yerine “–wordlist” parametresi yer almaktadır. Fakat ben “wordlist” parametresini denediğim zaman hata aldım. Onun yerine “passwords” ü kullandığım zaman ise brute force saldırısını başlatmayı başardım. Burada sadece “juergen” kullanıcısına yönelik bir brute force searchü oluşturdum. Bu search çalışırken, Kali içerisindeki “rockyou.txt” yi kullanarak, juergen isimli kullanıcının şifresini bulmayı deneyecektir.

Görüldüğü gibi brute force saldırısı başarılı bir şekilde başladı. Juergen isimli kullanıcının muhtemel şifreleri wordlist içerisindeki kelimeler ile teker teker çalıştırılarak denenecektir. Bu search ün sonucunda %100 şifreyi bulabileceğini söyleyemeyiz. Bu tür brute-force saldırıları da ciddi zaman almaktadır. Bu nedenle sabırlı olmakta yarar var 🙂

Karşılaştığımız Zafiyetleri Nasıl Kapatabiliriz?

WordPress tabanlı web sitenizde ufak çaplı zafiyet analizi yaptınız ve bu tür güvenlik açıklarıyla karşılaştığınızı düşünün. Nasıl önlem alabiliriz?

Öncelikle şunu belirtmem gerekmektedir. Nasıl ki arabanızın bakımını belirli periyotlarda yaptırıyorsanız, web sitenizin de bakımını periyodik olarak yapmanız gerekmektedir. Mutlaka sonradan eklenen plugin, temalar gibi third party uygulamaların güncellemelerini zamanında yapmanız gerekmektedir.

Örnek uygulamada kolayca tespit edebildiğimiz giriş panelini gizlememiz gerekmektedir. Bu ayar default olarak bırakılmamalıdır. Brute-Force saldırıları için de zor şifreler kullanmanız gerekmektedir.

WordPress tabanlı siteleriniz için kesinlikle ücretsiz, nulled temaları,eklentileri kullanmayınız. Hackerlar, crackledikleri bu tür temalara veya eklentilere zararlılar yerleştirerek piyasaya sürmektedirler.

Son olarak kullandığınız WordPress sürümünü gizlemeniz gerekmektedir. Aksi takdirde uygulamada da bahsetmiş olduğum versiyon zafiyetleri kullanılarak hedef haline gelebilirsiniz. WordPress siteniz var ise şuanda aşağıdaki kod satırlarını “function.php” dosyasına ekleyerek sürümünüzü gizleyebilirsiniz;

"function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');"

Yine son olarak iki faktörlü kimlik doğrulama kullanarak, art niyetli saldırganlar için giriş şifreleriniz çözülse bile 2FA kullanarak korunabilirsiniz.

Bu tür güvenlik önlemleri WordPress tabanlı web siteleri için daha da genişletilebilir. SSL Sertifikası, Ddos saldırılarını engellemek için cloudflare kullanma, güvenlik eklentileri ekleme gibi önlemler alınabilir.

Bu yazımda WordPress, wpscan, wpscan parametreleri, brute-force saldırıları ve alınabilecek güvenlik önlemlerinden bahsetmeye çalıştım. Bir sonraki yazımda görüşmek üzere.

Kaynakça

https://spyhackerz.org/forum/threads/wpscan-nedir-kullan%C4%B1m-parametreleri-nedir-hacknology.13112/

https://www.wpsefi.com/wordpress-guvenlik-onlemleri/

Related Posts

Leave a Reply