Zafiyetler

DirectAdmin Panelde XSS ve CSRF Güvenlik Zaafiyetleri

InfinitumIT Web Güvenlik Araştırma Ekibi tarafından popüler sunucu kontrol paneli DirectAdmin’de, çoklu güvenlik açıkları (CVE-2019-11193) keşfedildi. Saldırganlar, bu güvenlik açıklarını birleştirerek, sunucu kontrolünü ele geçirmeye kadar birçok kritik işlemi yetkisiz olarak gerçekleştirebiliyorlardı.

Keşfedilen “Cross Site Scripting” ve “Cross Site Request Forgery” açıkları, saldırganların aşağıdaki eylemleri gerçekleştirilmesine olanak tanıyordu:

• Yönetici ekleme,
• Yönetici silme,
• Uzaktan komut çalıştırma (RCE),
• Sunucunun tam yedeğini alma ve saldırganın sunucusuna yükleme,
• FTP hesapları oluşturma,
• /etc/named.conf gibi kritik dosyaların düzenlenerek sunucunun işleyişini bozma,
• Uzaktan dosya yükleme,
• Sunucu log kayıtlarını ele geçirme,
• Lisans bilgilerini ele geçirme,
• Servisleri durdurma veya yeniden başlatma,
• Reseller veya kullanıcı oluşturabilme,
• İnternet sitelerini dış adreslere yönlendirebilme.

Bu işlemleri yöneticinin bilgisi dışında gerçekleştirmek, yöneticinin isteğini manipüle etmekten geçer. Bu saldırılara da Cross Site Request Forgery (CSRF) adı verilmektedir. CSRF açığının olup olmadığını kontrol ederken, arka plandaki birtakım güvenlik önlemlerinin, yöneticinin isteğinin manipüle edilmesi ve haliyle yukarıdaki işlemlerin gerçekleştirilmesinin engellendiğini fark ettik. Yazılımı biraz daha yakından inceledik ve geliştiricilerin CSRF açıklarına karşın “Referer Check” yönetimini kullandığını fark ettik. Yani, sistem yöneticisinin üçüncü taraf bir internet sitesine tıklatılması başarılabilse bile, referansta bulunan internet sitesi üçüncü bir adres olacağı için yazılım bu saldırıyı engelleyecek ve zafiyeti kullanamayacaktık. Öyleyse isteklerin DirectAdmin adresi üzerinden gönderilmesi sağlanmalıdır. Sonraki adım, yazılımda XSS açığı aranmaya başlanmadır.

Nihayetinde, aşağıdaki adreslerde “Reflected Cross Site Scripting” zafiyetleri bulduk.

• https://SUNUCUIP:2222/CMD_FILE_MANAGER/XSS-PAYLOAD
• https://SUNUCUIP:2222/CMD_SHOW_USER?user=XSS-PAYLOAD
• https://SUNUCUIP:2222/CMD_SHOW_RESELLER?user=XSS-PAYLOAD

Bu sayede, bu XSS açıkları kullanılarak “Referer Check” yönetimi bypass edilebilecekti. Beklenilen sonuç ile karşılaşıldı, XSS açığını kullanılarak CSRF açığı exploit edildi ve hedef sunucular üzerinde tam yetki sahibi olundu. Yukarıda bahsedilen eylemlerden bazılarının kodlarını verelim.
Ayrıca, dilerseniz Exploit-DB kaydını da inceleyebilirsiniz. (https://www.exploit-db.com/exploits/46694)

Yönetici Ekleme:

Yönetici Silme:

Dosya Düzenleme:

FTP Hesabı Oluşturma:

Remote Command Execution:

İlgili güvenlik zafiyetleri “DirectAdmin” geliştiricilerine bildirildi. Bu güvenlik açıkları dakikalar içerisinde giderildi. Konuyu titizlikle takip eden ve kullanıcılarının güvenliğine son derece önem veren DirectAdmin yetkililerine teşekkürlerimizi iletiriz.

For EN Version

InfinitumIT
// Güvenli günler için…
infinitumit.com.tr