Merhabalar, bu içerikte sizlerle XML-RPC zaafiyetinden faydalanarak, Wordpress kullanan websitelere sızmayı anlatacağım.
XML-RPC nedir?
XML-RPC, bir sunucu ve bir istemci arasında haberleşmeyi sağlar. İstemci, sunucuya bir XML verisi göndererek bir yordam çağrısı yapar ve sunucu, isteği karşılar ve gerekli cevabı XML verisi olarak geri gönderir. Bu şekilde, internet üzerinden birbirlerine mesaj gönderebilen ve yanıt alabilen iki program arasında haberleşme kurulur.
XML-RPC ve Wordpress İlişkisi
Wordpress 3.5 sürümünden sonra yayınladığı sürümlerde 3. parti geliştiricilerin XML-RPC kullanmasına olanak sağlar. Wordpress kullanıcıları için bunun bir çok avantajı mevcut. Fakat standart olarak gelen XML-RPC yapılandırılması Wordpress'e beraberinde bir çok güvenlik açığınıda beraberinde getirdi. Eğer ilginizi çekerse internetten XML-RPC pingbacks konusunu araştırabilirsiniz. Biz bu yazıda XML-RPC ile Brute Force saldırısı üzerinden devam edeceğiz.
Wordpress websitelerde XML-RPC zaafiyeti olduğunu nasıl anlarız?
XML-RPC dosyası siteadi.com/xmlrpc.php adresinde bulunur. Eğer bir Wordpress içerisinde bu dizine giderseniz ve size aşağıdaki gibi bir yanıt döndürüyorsa burada potansiyel bir XML-RPC zaafiyeti olduğunu anlayabilirsiniz.
Websitenin döndürdüğü mesajdan anlayacağınız üzere websitenin XML-RPC isteklerini POST metoduyla kabul ettiğini belirtmektedir. XML-RPC sadece XML isteklerini kabul eder. Bundan dolayı XML ile post atarak Wordpress üzerinde bazı istekleri yerine getirebiliriz.
Wordpress XML-RPC zaafiyetine neden brute force atıyoruz?
Normal Wordpress admin paneli girişlerinde çoğu zaman captcha barındırabiliyor. Bir diğer problem belirli bir deneme sayısından sonra güvenlik duvarı sizi engelleyebiliyor. Fakat XML-RPC herhangi bir captcha barındırmaz. Eğer güvenlik duvarı istek atma hızınızdan dolayı sizi ddos olarak algılamazsa sizin erişiminizi engellemez. Bir diğer avantajı isteklerinize daha hızlı yanıt verir.
XML yöntemiyle hedef url'ye wp.getUsersBlogs methodunu kullanarak, kullanıcı adı ve şifre parametresi yolladığımızda website bize aşağıdaki gibi bir yanıt veriyor.
Websitenin XML-RPC kabul ettiğini biliyorduk. Bu yanıt bize yanlış kullanıcı adı ve şifre girdiğimizin hatasını verdi. Böylece websitenin XML-RPC üzerinden login olmaya izin verdiğinin sinyalini almış olduk.
Dorklar ile XML-RPC zaafiyetine sahip Wordpress websiteler nasıl hacklenir?
Buraya kadar sizlere XML-RPC zaafiyetinden ve nasıl kullanılabileceğinden bahsetmiş oldum. Şimdi seri bir şekilde nasıl XML-RPC zaafiyeti olan websiteleri tespit edebileceğimizden ve Brute Force saldırısı yapabileceğimizden bahsedeceğim.
İlk olarak ben dork üretme ve dork tarama için Mentalistler Dork Studio'yu kullanacağım sizin tercih ettiğiniz farklı bir yazılım mevcutsa onu kullanabilirsiniz. Buradan Mentalistler Dork Studio hakkında detaylı bilgi alabilirsiniz. Aynı zamanda bu linkten de indirebilirsiniz.
Ayrıca brute force aracı olarak yine kendi yazmış olduğum scriptleri kullanacağım. GitHub - mentalistler/Wordpress-XML-RPC-Brute-Tools: Wordpress XML-RPC Brute Tools Bu linkten indirebilirsiniz. İndirdikten sonra bir klasör içerisine çıkartın.
Wordpress XML-RPC Brute Tools'dan da kısaca bahsedeyim. Hızlıca websitelerin XML-RPC zaafiyeti olup olmadığını test eder. Aynı zamanda XML-RPC zaafiyetine sahip websitelere brute force atar. Brute force atarken files klasörü içerisinde yer alan username.txt ve passwords.txt dosyalarını görebilirsiniz. Brute Force toolu ilk önce Wordpress'in json eklentisinden admin kullanıcılarını kendisi bulmaya çalışır eğer bulursa bulduğu kullanıcı adlarına passwords.txt içerisinde yer alan şifreler ile brute force atmaya çalışır. Ama eğer herhangi bir kullanıcı bulamazsa username.txt klasörünün içerisinde yer alan kullanıcı adları ile brute force atmaya çalışır. Eğer kendi kullanıcı adı listeniz ve şifre wordlistiniz varsa bu txt dosyalarının içerisine girebilirsiniz.
Dork olarak standart Wordpress dorklarını kullanabilirsiniz. XML-RPC Zaafiyeti için özel olarak ekstra bir dork kullanmanıza gerek yok.
Yukarıdaki görselden anlayacağınız üzere dorklarımı Dork Studio ile ürettim ve taradım. Çıkan sonuçlarda çift olan domainleri temizleme seçeneği ile temizledim. Çıkan sonuçları Wordpress-XML-RPC-Brute-Tools ile aynı klasöre domains.txt adı altında kaydediyorum.
Ardından python ile xmlrpc-checker.py dosyasını çalıştırıyorum. Bu dosya aynı anda 100 istek atarak wordpress domainlerinizde potansiyel bir xmlrpc.php dosyası olup olmadığını ve erişilebilirliğini kontrol eder. Bulduğu sonuçları files klasörünün içerisine results.txt olarak kaydeder.
İşlem bittikten sonra files klasörünün içerisinde results.txt dosyasının oluştuğunu görüyoruz. Dosyanın içerisinde potansiyel XML-RPC zaafiyeti olan domainlerin xmlrpc.php adresleriyle beraber yazıldığını görebilirsiniz.
Ardından hiç bir şeye dokunmadan xmlrpc-brute.py dosyasını çalıştırarak bulunan domainlere brute force atmaya başlayabilirsiniz. xmlrpc-brute, checker gibi aynı anda 100 istek atar. Sonuçları en son pwned.txt olarak aynı klasöre kaydeder.
Bazı insanlar doğrudan aktif olarak yazılımı takip etmek isteyebilir. Bu türden biriyseniz xmlrpc-brute.py yerine xmlrpc-brute-vis.py dosyasını çalıştırabilirsiniz. Bu dosya anlık olarak hangi sitelere ne kadar kombinasyon denediğini, hangi sitelerin kendisini blokadığını, vb. bilgileri ekrana yazdırır. xmlrpc-brute.py dosyası sadece başarılı istekleri yazdırır.
Sonuç:
Artık gerisi sizin index atma, shell atma, root olma gibi becerilerinize kalmış.
İyi forumlar!
XML-RPC nedir?
XML-RPC, bir sunucu ve bir istemci arasında haberleşmeyi sağlar. İstemci, sunucuya bir XML verisi göndererek bir yordam çağrısı yapar ve sunucu, isteği karşılar ve gerekli cevabı XML verisi olarak geri gönderir. Bu şekilde, internet üzerinden birbirlerine mesaj gönderebilen ve yanıt alabilen iki program arasında haberleşme kurulur.
XML-RPC ve Wordpress İlişkisi
Wordpress 3.5 sürümünden sonra yayınladığı sürümlerde 3. parti geliştiricilerin XML-RPC kullanmasına olanak sağlar. Wordpress kullanıcıları için bunun bir çok avantajı mevcut. Fakat standart olarak gelen XML-RPC yapılandırılması Wordpress'e beraberinde bir çok güvenlik açığınıda beraberinde getirdi. Eğer ilginizi çekerse internetten XML-RPC pingbacks konusunu araştırabilirsiniz. Biz bu yazıda XML-RPC ile Brute Force saldırısı üzerinden devam edeceğiz.
Wordpress websitelerde XML-RPC zaafiyeti olduğunu nasıl anlarız?
XML-RPC dosyası siteadi.com/xmlrpc.php adresinde bulunur. Eğer bir Wordpress içerisinde bu dizine giderseniz ve size aşağıdaki gibi bir yanıt döndürüyorsa burada potansiyel bir XML-RPC zaafiyeti olduğunu anlayabilirsiniz.
Websitenin döndürdüğü mesajdan anlayacağınız üzere websitenin XML-RPC isteklerini POST metoduyla kabul ettiğini belirtmektedir. XML-RPC sadece XML isteklerini kabul eder. Bundan dolayı XML ile post atarak Wordpress üzerinde bazı istekleri yerine getirebiliriz.
Wordpress XML-RPC zaafiyetine neden brute force atıyoruz?
Normal Wordpress admin paneli girişlerinde çoğu zaman captcha barındırabiliyor. Bir diğer problem belirli bir deneme sayısından sonra güvenlik duvarı sizi engelleyebiliyor. Fakat XML-RPC herhangi bir captcha barındırmaz. Eğer güvenlik duvarı istek atma hızınızdan dolayı sizi ddos olarak algılamazsa sizin erişiminizi engellemez. Bir diğer avantajı isteklerinize daha hızlı yanıt verir.
XML yöntemiyle hedef url'ye wp.getUsersBlogs methodunu kullanarak, kullanıcı adı ve şifre parametresi yolladığımızda website bize aşağıdaki gibi bir yanıt veriyor.
Websitenin XML-RPC kabul ettiğini biliyorduk. Bu yanıt bize yanlış kullanıcı adı ve şifre girdiğimizin hatasını verdi. Böylece websitenin XML-RPC üzerinden login olmaya izin verdiğinin sinyalini almış olduk.
Dorklar ile XML-RPC zaafiyetine sahip Wordpress websiteler nasıl hacklenir?
Buraya kadar sizlere XML-RPC zaafiyetinden ve nasıl kullanılabileceğinden bahsetmiş oldum. Şimdi seri bir şekilde nasıl XML-RPC zaafiyeti olan websiteleri tespit edebileceğimizden ve Brute Force saldırısı yapabileceğimizden bahsedeceğim.
İlk olarak ben dork üretme ve dork tarama için Mentalistler Dork Studio'yu kullanacağım sizin tercih ettiğiniz farklı bir yazılım mevcutsa onu kullanabilirsiniz. Buradan Mentalistler Dork Studio hakkında detaylı bilgi alabilirsiniz. Aynı zamanda bu linkten de indirebilirsiniz.
Ayrıca brute force aracı olarak yine kendi yazmış olduğum scriptleri kullanacağım. GitHub - mentalistler/Wordpress-XML-RPC-Brute-Tools: Wordpress XML-RPC Brute Tools Bu linkten indirebilirsiniz. İndirdikten sonra bir klasör içerisine çıkartın.
Wordpress XML-RPC Brute Tools'dan da kısaca bahsedeyim. Hızlıca websitelerin XML-RPC zaafiyeti olup olmadığını test eder. Aynı zamanda XML-RPC zaafiyetine sahip websitelere brute force atar. Brute force atarken files klasörü içerisinde yer alan username.txt ve passwords.txt dosyalarını görebilirsiniz. Brute Force toolu ilk önce Wordpress'in json eklentisinden admin kullanıcılarını kendisi bulmaya çalışır eğer bulursa bulduğu kullanıcı adlarına passwords.txt içerisinde yer alan şifreler ile brute force atmaya çalışır. Ama eğer herhangi bir kullanıcı bulamazsa username.txt klasörünün içerisinde yer alan kullanıcı adları ile brute force atmaya çalışır. Eğer kendi kullanıcı adı listeniz ve şifre wordlistiniz varsa bu txt dosyalarının içerisine girebilirsiniz.
Dork olarak standart Wordpress dorklarını kullanabilirsiniz. XML-RPC Zaafiyeti için özel olarak ekstra bir dork kullanmanıza gerek yok.
Yukarıdaki görselden anlayacağınız üzere dorklarımı Dork Studio ile ürettim ve taradım. Çıkan sonuçlarda çift olan domainleri temizleme seçeneği ile temizledim. Çıkan sonuçları Wordpress-XML-RPC-Brute-Tools ile aynı klasöre domains.txt adı altında kaydediyorum.
Ardından python ile xmlrpc-checker.py dosyasını çalıştırıyorum. Bu dosya aynı anda 100 istek atarak wordpress domainlerinizde potansiyel bir xmlrpc.php dosyası olup olmadığını ve erişilebilirliğini kontrol eder. Bulduğu sonuçları files klasörünün içerisine results.txt olarak kaydeder.
İşlem bittikten sonra files klasörünün içerisinde results.txt dosyasının oluştuğunu görüyoruz. Dosyanın içerisinde potansiyel XML-RPC zaafiyeti olan domainlerin xmlrpc.php adresleriyle beraber yazıldığını görebilirsiniz.
Ardından hiç bir şeye dokunmadan xmlrpc-brute.py dosyasını çalıştırarak bulunan domainlere brute force atmaya başlayabilirsiniz. xmlrpc-brute, checker gibi aynı anda 100 istek atar. Sonuçları en son pwned.txt olarak aynı klasöre kaydeder.
Bazı insanlar doğrudan aktif olarak yazılımı takip etmek isteyebilir. Bu türden biriyseniz xmlrpc-brute.py yerine xmlrpc-brute-vis.py dosyasını çalıştırabilirsiniz. Bu dosya anlık olarak hangi sitelere ne kadar kombinasyon denediğini, hangi sitelerin kendisini blokadığını, vb. bilgileri ekrana yazdırır. xmlrpc-brute.py dosyası sadece başarılı istekleri yazdırır.
Sonuç:
Artık gerisi sizin index atma, shell atma, root olma gibi becerilerinize kalmış.
İyi forumlar!
Son düzenleme: