Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Można dostać lokalnego roota na Ubuntu – banalny błąd
Powodem jest /bin/ntfs-3g który posiada bit suid (właściciel root). Jeśli nasz linux nie obsługuje FUSE, ntfs-3g uruchamia modprobe i próbuje dorzucić do jądra odpowiedni moduł.
Problem w tym, że modprobe nie bardzo powinien być używany wewnątrz suidowanej binarki, czytamy bowiem:
The MODPROBE_OPTIONS environment variable can also be used
to pass arguments to modprobe.
Wystarczy więc przekazać odpowiedni parametr w zmiennej MODPROBE_OPTIONS i ładujemy własne modułu do jądra = wykonanie kodu z pełnymi uprawnieniami.
Jeśli nasz system wspiera FUSE, to i tak jest pomysł jak wykorzystać podatność… szczegóły + gotowy exploit w badaniu tutaj. Błąd został niedawno załatany.
–ms