Jynx Rootkit 2.0 ile Arka Kapı Oluşturma

Merhaba

Hem hacker’lar için hemde sızma testi uzmanları için ele geçirilen sistemde kalıcı olmak önemlidir. Ele geçirilen sistemlere daha sonraki günlerde tekrar erişim sağlama amacıyla geliştirilmiş Rootkit isminde yazılımlar mevcuttur. Bu yazıda anlatılacak olan rootkit Jynx adında C ile geliştirilmiş bir yazılımdır.

Rootkit Nasıl Çalışır

Genellikle bulaştıkları sistemlerde bir port’u dinlemeye alırlar. Bu port’a gelen özel bir paket olduğunda -ki bu paketi backdoor’u yerleştiren hacker’dan başkası genelde bilmemektedir- , paketi gönderen ip adresine bağlantı açarak sistem shell’i sunarlar. Bu şekilde hacker’lar ele geçirdikleri sistemlere istedikleri zaman tekrar erişim sağlayabilmektedirler.

Jynx 2.0 ve Özellikleri

Rootkit yazılımlarının en önemli özellikleri, bulaştıkları sistemlerde kendilerini gizlemeleridir. Aşağıdaki listede Jynx ‘ın sahip olduğu özellikler mevcuttur.

  • Dinlediği port’u netstat komutundan gizleme
  • Kendisini ps/top ve /proc listelerinden gizleme
  • Kendi dosyalarını sistem üzerinde gizleme
  • Bağlantıyı SSL üzerinden açarak trafik bazlı tespit edilebilmekten kaçma
  • Birden fazla yöntem ile oturum sağlama imkanı
  • Tespit edildiğinde silinmesini zorlaştıran özellikler

Kurulum ve Konfigürasyonu

Öncelikle Jynx2.0 rootkit’ini http://mehmetince.net/tools/jynx2.tgz adresinden indirebilirsiniz. Bu yazıda ele alınan jynx rookit’inin kurulumu VirtualBox sanal makinasına kurulmuş CentOS 6.4 32bit işletim sistemi üzerinde uygulanmıştır.

jynx2 klasörü içerisinde aşağıda ki dosyalar mevcuttur.

config.h = Jynx rootkit’inin ayarlarının bulunduğu header dosyası.

jynx2.c ve reality.c= Rootkit derleme işleminde 2 adet so dosyası  oluşturur. jynx.so rootkit’in kendi işlemlerini içerirken, reality.so hacker’ın rootkit’in dosyalarını ve processlerini görebilmesini sağlar.

packer.sh = install.sh oluşturur ve daha sonra Jynx başka sistemlerde kullanılacağı zaman derlenmiş binary’leri hızlıca yüklemeye sağlar.

Config.h dosyasının içerisinde 2 adet define işlemi rootkit’in çalışması açısından önemli.

MAGIC_STRING = Jynx rootkitinin kurulacağı full path’i belirtir. Bu path, rootkit’in kullandığı teknikler ile root kullanıcısından saklanacaktır.

REALITY_PATH = reality.so dosyasının yerleşeceği dizindir. Bu dizinide root kullanıcısından saklamak için MAGIC_STRING’den yararlanılabilir. Bir üstte satırda belirtildiği üzere MAGIC_STRING jynx rootkit’inin kullandığı teknikler ile root kullanıcısından saklanacaktır. MAGIC_STRING’ın bu özelliğini kullanarak reality.so dosyasınıda saklamak için REALITY_PATH için  /$MAGIC_STRING/reality.so tanımlaması yapılabilir.

Ayrıca config.h içerisinde aşağıdaki satırlarda bağlantının gerçekleşmesi için önemlidir. Rootkit’lerin hacker’a bağlantı açabilmesi için bir paket beklediğini biliyoruz. Bu özel paketi herkes gönderebileceği için Jynx rootkit oturumu gerçekleştirmeden önce şifre sormakta. Bu şifreyi SHELL_PASSWD ile tanımlayabilirsiniz.

Rootkit’i aktifleştirmek için gönderilen paketin kaynak portu 41 ile 43 numaralı portlar arasında olmalıdır. Bunun sebebi ise bu aralıktaki portların inbound connection için ayırtılmış olmasıdır. Normal kullanıcıların gönderdiği paketlerin Jynx rootkit’inin trigger etmemesi için bu aralık seçilmektedir.

Derleme işlemi için;

Derleme işlemi sonucunda Jynx sisteme yerleşmektedir.

Hedef sistemde ki rootkit’in bize bağlantı oluşturması için ncat üzerinden bağlantı gerçeleştirebilirsiniz.

Referans:
http://www.blackhatlibrary.net/Jynx_Rootkit/1.0

  • a

    Oo yeah