Suid Biti Ayarlanmış Yeni Nesil Nmap (Versiyon 5.21+) İle Yetki Yükseltme İşlemi




Herkese merhabalar. Bugün sizlerle SUID biti atanmış nmap ile yetki yükseltme işlemleri ve erişimimiz olmayan dosyalar ile işlem yapmak gibi bir kaç teknik inceleyeceğiz. Gerçek bir test sırasında karşımıza çıkma ihtimali düşük olan bir senaryo olsa da bu postu hazırlamak istedim. Çünkü Nmap toolumuz 5.21 versiyonundan sonra bizlere Interactive modunu vermiyor. Peki Interactive modu olmadan nasıl yetki yükselteceğiz. Hadi hemen başlayalım

SUID nedir?

SUID (Set User Id) sayesinde kendi kullanıcı yetkimizden daha yetkili bir şekilde komut çalıştırmamızı sağlayan bir bittir. Peki dosyaların SUID bitinin ayarlanmış olduğunu nasıl anlayacağız. Belirlediğimiz herhangi bir dosyanın izin yetkilerini görüntülemek için "ls -l" komutu çalıştıralım.


Şimdi de SUID biti ayarlanan bir dosyanın yetkilerini görüntüleyelim


Görüldüğü gibi yetkilerde "s" harfi dikkatimizi çekiyor. Yetkilerin de "s" harfi var ise bu dosya SUID biti ile ayarlanmış olup, programı root yetkisi ile çalıştırmamızı sağlamaktadır.

SUID Bitleri Nasıl Ayarlanır ?

SUID Bitlerini ayarlamak için chmod komutu kullanabilirsiniz. Chmod sayesinde bir dosyaya yetki verip yetki alabilirsiniz.

Kullanımı:

sudo chmod +s <dosya_adi> -----> SUID Biti Ataması Yapar

sudo chmod -s <dosya_adi> -------> SUID Biti Çıkarılmasını Sağlar

Bu komutları kullanarak sizde denemek için oluşturacağınız bir dosya üzerinde test edebilirsiniz.

1.Olmazsa Olmazımız Interactive Modu


Tahminimce sektörde SUID biti atanmış Nmap ile Interactive modda root shell almayan veya yetki yükseltme pdf'leri, blogpostları, yazıları okurken bununla karşılaşmayan yoktur. İlk defa gören arkadaşlarımız için hemen Nmap'in Interactive modundan bahsetmek istiyorum. Interactive mod bize Nmap'i kendi konsolu üzerinden çalıştırmamızı sağlar. 5.21 versiyonundan sonra bu mod kaldırılmış ve nmap'in günlük kullandığımız şekliyle yoluna devam etmiştir.

nmap --interactive komutunu yazarak Interactive moda girelim. Ardından gelen konsol ekranından help yazarak kullanabileceğimiz komutları gösterelim


 ! işaretinden sonra yazacağımız komutlar bizim linux kabuğumuz yani komut satırımız üzerinden çalışacak komutlar olduğunu görebiliriz. "!sh" komutunu yazarsak root yetkisi ile işlemlerimizi yapabilir hale geliyoruz. (Unutmayın ki şuana kadar yaptığımız işlemlerin hepsi SUID biti ayarlanmış Nmap ile yapılmaktadır.)


Görüldüğü üzere EUID root olarak gözüküyor. Yani root yetkisi ile işlemlerimiz yapmaya devam edebiliriz.

2. Lua Dili İle İşlemler

Nmap'in 5.21 versiyonundan sonra Interactive mod desteklenmiyor. Peki sızdığımız makinede SUID biti ayarlanmış, versiyon numarası 5.21'den fazla olan bir Nmap ile karşılaştığımızda ne yapacağız. İşte burada yardımımıza Lua dili yardımımıza koşuyor.

2.1 Lua Nedir?

Brezilya'nın Rio de Janerio şehrinde bulunan Pontifical Catholic Üniversitesi'nde, Tecgraf adlı bir grup tarafından geliştirilen bu dil; yapısal programlama, nesne yönelimli programlama, işlevsel programlama, veritabanı programlama ve veri açıklama yapılarını destekler. C dilinde gerçekleştirilen çalışmaları kolaylaştırmak amacıyla geliştirilen bu dil, gün geçtikçe daha da gelişmiş ve bir programlama dili haline gelmiştir.

2.2 Lua İle SUID Biti Atanmış Nmap Üzerinden Dosyaları Okumak

 Nmap üzerinde bildiğimiz gibi hali hazırda ".nse" uzantılı scriptler gelmektedir. Bu scriptler Lua programlama dili yazılabilmektedir. Haliyle biz de bir Lua kodu ile hedeflediğimiz dosyayı okuyabileceğiz.


  1. TF=$(mktemp)
  2. echo 'f=io.open("okumak istediğiniz dosya", "rb"); print(f:read("*a")); io.close(f);' > $TF 
  3. nmap --script=$TF 


3.Shell Almak

Tüm bunların yanında root yetkisi ile shell elde etmek tadından yenmez dediğinizi duyar gibiyim. Bunun için de aşağıdaki komutun kullanımı ile shell alabilmek mümkündür.

nmap --script <(echo 'require "os".execute "/bin/sh"')



Not: EUID ve yazdığınız komutlar gözükmeyebilir ama yazdığınız komutlar root yetkisi ile çalışacaktır.(En azından ben de böyle oldu :) )


Evet bugün sizlerle SUID biti atanmış yeni nesil Nmap ile neler yapabileceğimizi anlatmaya çalıştım. Bununla ilgili Türkçe kaynak bulamadım bu yüzden kendim bazı yabancı kaynakları çevirerek yazdım. Eğer bir hatam varsa geri dönüş yapın lütfen 😇. Umarım bu yazı sizler için faydalı olmuştur. Bir sonraki yazıda görüşmek üzere güvenle kalın 👋


Kaynaklar: 

Yorumlar

Yorum Gönder