Wordpress Kanseri Olan XMLRPC Saldırısını Engelleme

1_JQbRs1_RbjvyePwSoZcpvw.gif




Bogdan Calin, şurada xmlrpc.php dosyasının istismar edilebileceği dört farklı yol açıklamış:
  1. WordPress kaynak adresi çözümleyip adresin var olup olmadığına bakarak farklı hata mesajları gönderir. Bu, saldırganlar tarafından ağda bir hostun mevcut olup olmadığını anlamak için istismar edilebilir.​
  2. Eğer adres doğruysa, WordPress adreste belirtilen porta bağlanmaya çalışır. Eğer saldırgan http://altsurum:22/ gibi bir adres kullanırsa, WordPress port 22’deki altsurum hostuna bağlanmaya çalışır. Portun açık veya kapalı olmasına bağlı olarak sunucu farklı cevap verecektir. Bu da saldırganlar tarafından port taramak için kullanılabilir.​
  3. Bu ayrıca saldırgan tarafından DDOS saldırıları için de kullanılabilir. Saldırgan geri pingleme yapması için çok sayıda bloga ulaşarak istek gönderebilir. Sonuç olarak tüm bu bloglar hedef adrese saldırmış olacaktır.​
  4. WordPres ayrıca kimlik bilgisi içeren adresleri de desteklemektedir. Yani, saldırgan iç yönlendiricileri (internal router) yeniden ayarlamak için http://kullanici:[email protected]/DNSdegis.asp?yeniDNS=12345 gibi bir adres de kullanabilir.​

Çözüm

XML-RPC özelliğini kapatıp sorundan kurtuluversek güzel olurdu ama WordPress 3.5 sürümünden beri XML-RPC yönetim panelinden devre dışı bırakılamıyor. Sorunun çözümü için bir çok farklı yol olabilir. Mesela dosyayı yeniden adlandırılabilir. Bu şekilde WordPress 404 sayfasına yönlendirecektir. Ama bu sorunu tam anlamıyla çözmez. İstekler yine de işleneceği için sunucuyu yormaya devam edecektir.

Sunucuyu yormamak için, yani saldırının amacına ulaşmaması için Apache istekleri işlemeden önce isteklerin durdurulması gerekiyor. Dolayısıyla aşağıdaki kuralı .htaccess dosyasına eklemek sorunu çözecektir.

<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>


Ancak bu dosyaya erişimi reddetmek diğer sitelerin onu çalıştırmasını da engelleyeceği için geri pingleme ya da izleme alamayacaksınız.

Geri pinglemeler sizin için önemli ise şu kuralı (ya da özelleştirilmiş şeklini)
.htaccess dosyasına eklemek sorununu çözebilir.

RewriteCond %{HTTP_USER_AGENT} ^.*WinHttp\.WinHttpRequest\.5.*$
RewriteRule .* http://%{REMOTE_ADDR}/ [F,L]
RewriteCond %{HTTP_USER_AGENT} ^-?$
RewriteRule ^ - [F,L]

İlk iki satırın yaptığı şey içerisinde WinHttp.WinHttpRequest.5 geçen tarayıcı kimliği ile gelenleri 403 sayfasına yönlendirmek. Son iki satır ise boş (sadece çizgi veya boş) bir tarayıcı kimliği ile gelenleri 403 sayfasına yönlendirmek.

Saldırı yapan kişinin/uygulamanın tarayıcı kimliği Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5 veya boş olduğundan ikisini engelleyerek sorunu çözülebilir. Ancak eğer saldırıyı yapan kişi tarayıcı kimliğini değiştirirse veya saldıran uygulamanın tarayıcı kimliği değiştirilirse çözüm işe yaramaz olacaktır.

Sonuç

Sonuç olarak ya pingler ve geri izlemelerden vazgeçerek kesin çözüm bulacaksınız ya da tarayıcı kimliği engelleyeceksiniz. Ama her ne olursa olsun erişim kayıtlarınızı sık sık inceleyin.

 
Ü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.