XML-RPC Zaafiyeti ile Wordpress Brute Force

.net :)

Katılımcı Üye
6 Ağu 2022
326
373
: Onun olduğu hiçbir yerde
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.
gWVinwf.png


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.
JEIE1Sr.png


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.

riCxLEz.png

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.
cZPdQgJ.png


İş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.

sF8bb21.png

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.
9yKhk5w.png


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ç:
zydj92S.png


Artık gerisi sizin index atma, shell atma, root olma gibi becerilerinize kalmış.
İyi forumlar!
Elinize sağlık hocam güzel olmuş devamının gelmesi dileğiyle 🙂
 

Miyoshi student

Yeni üye
24 Mar 2023
6
2
先生,我收到有关 domains.txt 的错误

python2 xmlrpc-checker.py -u domains.txt

文件“xmlrpc-checker.py”,第 17 行
response = request.get(f"https://{url}/xmlrpc.php", headers={'User-agent': useragent.get_useragent()},timeout=10)
^
语言错误:语言无效


Python3
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\wordpress\Wordpress-XML-RPC-Brute-Tools-main\xmlrpc-checker.py", line 52, in <module>
write_list_to_file()
File "C:\Users\Administrator\Desktop\wordpress\Wordpress-XML-RPC-Brute-Tools-main\xmlrpc-checker.py", line 47, in write_list_to_file
txt_read()
File "C:\Users\Administrator\Desktop\wordpress\Wordpress-XML-RPC-Brute-Tools-main\xmlrpc-checker.py", line 29, in txt_read
lines = open("domains.txt", "r").read().splitlines()
FileNotFoundError: [Errno 2] No such file or directory: 'domains.txt'
 

Suppressor

Request Uzmanı
16 Kas 2022
1,206
716
always, everywhere
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.
gWVinwf.png


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.
JEIE1Sr.png


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.

riCxLEz.png

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.
cZPdQgJ.png


İş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.

sF8bb21.png

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.
9yKhk5w.png


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ç:
zydj92S.png


Artık gerisi sizin index atma, shell atma, root olma gibi becerilerinize kalmış.
İyi forumlar!
Elinize sağlık hocam.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.