Covenant
Covenant .NET’in kırmızı takım uygulamalarında ki gücünü ortaya koymak için .NET ile yazılmış komuta kontrol (command and control, yazıda C&C kısaltması da kullanılacaktır) kütüphanesidir. Birden fazla kişinin beraber çalışmasına imkan sunan bir yapısı vardır. Covenant’ı anlatmadan önce komuta kontrol nedir, çeşitleri nelerdir, ne için kullanılır onu anlatmak istiyorum.Bilgisayar terminolojisinde komuta kontrol, sisteme bulaşan zararlı yazılımların saldırgan tarafından yönetildiği sunucuya/sisteme denir. Şöyle bir senaryo düşünelim: Siber saldırganlar DDoS saldırısı yapmak üzere tasarlanmış bir zararlı yazılım yazıp yayıyorlar. Bu zararlının 1000 adet sistemde çalıştığını ve bir hedefe DDoS saldırısı yapacağını düşünelim. Zararlıdan etkilenen bilgisayarları (DDoS’un yapılacağı değil, zararlının bulunduğu sistemler) asker, kötü niyetli saldırganı da bunların komutanı gibi düşünebiliriz. Bu sistemlerin bir yerden komut alıp bu komutları yerine getirmesi gerekir. İşte komut aldıkları yere komuta kontrol sunucusu/sistemi denir.3 model C&C modeli bulunur[1]:
- Merkezi C&C: Bir tane sunucu ve birden fazla istemcinin olabileceği komuta kontrol mimarisidir. Bu mimari diğerlerine nazaran daha güvenli ve sağlam bir sistem oluşturur. Fakat tek sunucuya olan bağlılıktan dolayı sunucuya gelebilecek herhangi bir hasarda sistem çalışmaz hale gelir.
- Peer-to-peer C&C: Her istemcinin, aslında sunucu da olabileceği mimari türüdür. Yazması daha zordur.
- Dağınık C&C: Bu mimari aktif bir bağlantı ve iletişim sağlamamakla beraber, istemci sürekli dinlemektedir. Sunucu bütün interneti tarayarak istemcisini bularak haberleşme sağlanır. Büyük ölçekli komuta kontrol işleri için kullanımı çok zordur.
Covenant’ın Mimarisi
Genel bir bilgi verdikten sonra asıl konumuz olan Covenant’a dönebiliriz. Covenant sunucu – istemci mimariyi benimser ve 3 temel birimden oluşur[2]. Bunlar Covenant, Elite ve Grunt olarak adlandırılır.