Security Door Key

Azazel ile Rootkit Oluşturma

Merhaba

Azazel, Userland için C ile geliştirilmiş bir rootkit yazılımdır. Açık kaynak kodlu olup, https://github.com/chokepoint/azazel adresinden kaynak kodlarına ulaşılabilir.

Jynx rootkit’ininde kullandığı LD_RELOAD tekniğini Azazel’de kullanmaktadır. Jynx rootkit’i ile karşılaştırıldığında daha güçlü ve farklı özellikleri olduğu görülmektedir.

Azazel’in Özellikleri

  1. Anti-debugging
  2. lfsof, ps ve ldd komutlarından gizlenme
  3. Dosya ve dizin olarak gizlenme
  4. Processlerini gizleme
  5. PCAP’ hook atarak yerel sniffing’den kaçış
  6. Log temizleme
  7. Sabit ifadeleri XOR ile şifreleme
  8. 2 farklı oturum sağlama özelliği. Encrypted ve PlainText mod.

Kurulumu

Github’dan azazel’in kaynak kodu indirilir.

Rootkit’i derlemek için

Eğer  make install olarak komut çalıştırırsanız Azazel sisteme bulaşacaktır. Bu nedenle bu çalışmalarını VirtualBox üzerinde kurulacak bir linux dağıtımı ile yapmanızı önerilmektedir.

Konfigürasyon Dosyası

Azazel rootkit’inin ayarları config.py dosyasında bulunmaktadır. Bu ayarların ne anlama geldiği aşağıdaki tanımlanmıştır.

LOW_PORT, HIGH_PORT = Plain Text modda bağlantı için gelen talebin kaynak portunun tanımlı olabileceği aralık. Bu aralık haricinde ki Plain Text mod ile gelen bağlantılar için rootkit çalışmayacaktır.
CRYPT_LOW , CRYPT_HIGH =  Cryptohood modda gelen bağlantı için gelen talebin kaynak portunun tanımlı olabileceği aralık.
BLIND_LOGIN = PAM Backdoor’unu aktiv etmek için sahte username.
SHELL_MSG = Bağlantı gerçekleştiğinde gösterilecek mesaj.
SHELL_PASSWD = Plaintext ve Crypthook modları için ortak şifre.
ANTI_DEBUG_MSG = Sistem admini ptrace ile rootkit’i takip etmek istediğinde gösterilecek mesaj.
PASSPHRASE = encryption ve decryption için kullanılacak olan key.
KEY_SALT = Salt key

 

Azazel Injection

Make install komutu ile Azazel sisteme enjekte edilir.

Azazel 3 farklı oturum mantığı desteklemektedir.

PlainText Backdoor

Azazel’in konfigürasoyn dosyasında belirtilen port aralığından herhangi bir port’u source port olarak belirtip bağlantı talebinde bulunulmaktadır.

Crypthook Backdoor

Azazel’in Crpythook modülünü kullanarak bağlantı gerçekleştirilebilir. Bunun için bağlantı gerçekleştiren client’in Azazel ile aynı AES encryption’ını kullanması gerekmektedir.

PAM Backdoor

Azazel’in konfigürasyon dosyasında rootme adında sahte bir kullanıcı tanımlaması yapılmıştır. Bu kullanıcı ile ssh talebinde bulunulduğunda, Azazel bunu fark edip SSH talebinde bulunan kullanıcıya SSH bağlantısı gerçekleştirecektir. Ayrıca PAM hook’u üzerinden yerel yetki yükseltme özelliği kullanılabilir.

SSH bağlantısı gerçekleştiğinde aşağıdaki komut ile root yetkilerine erişilebilir.

Test olarak PAM Backdoor modülü denenmiştir ve başarılı şekilde çalışmıştır. rootme kullanıcı ile ssh bağlantı talebi gerçekleştirildiğinde, bu kullanıcı için şifre talep edilecektir.Şifre, Azazel’in konfigürasyon dosyasında tanımlanmıştır.

Azazel

  • Ellerine aglik abi guzel olmush.

  • ucribrahim

    Hocam rootkit başarılı bir şekilde çalışıyor, fakat sistemi çok kötü yapıyor. Bu yanı çok kötü olmuş yani tamam herşey güzel çalışıyor fakat sisteme verdiği zarar çok kötü :)

    Chkrootkit ve Rkhunter araçları bile doğru düzgün çalışmamaya başladı rootkiti çalıştırınca. Sistemi restart ettikten sonra küçük problemler çıkarmaya başladı vb. vb. :))