Güney Kore'de iki farklı kuruluşa ait HAProxy yük dengeleyicilere gizlenmiş, daha önce hiç belgelenmemiş bir Linux araç seti keşfedildi. Saldırganlar bu yazılımı kullanarak web trafiğini izliyor ve sadece belirledikleri ziyaretçilere sahte sayfalar gösteriyordu.
Saldırganlar, ikili dosyada bıraktıkları hata ayıklama dizelerinde bu arka kapıya ted adını verdi. Bu durum bir HAProxy zafiyeti değil; kurulumu için hedef sistemde kod çalıştırma yetkisi ve çalışan ikili dosyanın değiştirilebilmesi gerekiyor.
Rapid7 Labs, orta düzeyde bir kesinlikle bu araç setini Kuzey Kore devlet destekli aktörlere atfetti. Saldırıdan zarar gören iki kuruluşun ise Güney Kore'nin otomotiv ve medya sektörlerinde faaliyet gösterdiği belirlendi.
Komuta ve kontrol (C2) istekleri hiçbir zaman arka uç sunucusuna ulaşmıyor ve HAProxy'nin kendi bağlantı sayaçlarından siliniyor. Bu nedenle, ne arka uç günlükleri ne de yük dengeleyicinin istatistikleri bu istekleri kaydediyor.
Rapid7 konuyla ilgili yaptığı açıklamada, "Daha kesin bir değerlendirme yapabilmek için ek kanıtlara ihtiyaç var" ifadelerini kullandı.
Rapid7'nin Cuma günü yayımladığı rapora göre, belirli bir görsel yoluna yapılan istek, filtreyi komuta ve kontrol moduna sokuyor. Arka kapı, HAProxy'nin canlı bağlantı sayaçlarını azaltarak bağlantının yük dengeleyici istatistiklerinden düşmesini sağlıyor. Komut gövdesini /tmp altındaki adlandırılmış bir boru hattına yazıyor. Daha sonra istek kanalını sıfırlamak, iletilecek hiçbir şey bırakmıyor ve komut yük dengeleyicide sonlanıyor.
Çıktı, standart bir HTTP/1.0 200 OK başlığı altında ham soket üzerinden geri dönüyor. Bu durum, veri alışverişinin sıradan bir web trafiği gibi görünmesini sağlıyor.
Saldırganlar bu kanal üzerinden sisteme sinyal gönderebiliyor, dosya yükleyip indirebiliyor, kabuk komutları çalıştırabiliyor ve arka kapının yapılandırmasını değiştirebiliyor. Yalnızca dört farklı kontrolü başarıyla geçen istekler, değiştirilmiş bir sayfa alıyor.
İsteğin bir Kullanıcı Aracısı (User-Agent) içermesi ve hem URL hem de yönlendiren (referer) kalıplarının kurala uyması gerekiyor. Teslimat aşamasında ise ya istemci adresinin tam ve /24 seviyesinde kontrol edilerek beyaz listeye dahil olması ya da Accept-Language başlığındaki bir saldırgan anahtarının adres filtrelemesini tamamen geçersiz kılması gerekiyor.
Arka kapı, çıktıyı gönderirken içerik türünü ve uzunluğunu yeniden yazıyor, yanıt durumunu 200'e zorluyor ve istemcinin bayt aralıkları isteyerek boyut değişikliğini fark etmesini engellemek için Accept-Ranges başlığını siliyor.
Rapid7, eldeki kanıtların bir zaman çizelgesi oluşturmak veya saldırganların sisteme ilk kez nasıl sızdığını belirlemek için yeterli olmadığını belirtti.