Napisał: Patryk Krawaczyński
20/03/2023 w Bezpieczeństwo
P
ocząwszy od wersji 4.19 jądra systemu Linux możliwe jest uniemożliwienie otwierania FIFO lub zwykłych plików niebędących własnością użytkownika w globalnie zapisywalnych katalogach z ustawionym sticky bit (np. /tmp
). Ochronę tę można stosować osobno dla FIFO, zwykłych plików, symlinków / hardlinków poprzez odpowiednie ustawienia z poziomu sysctl
. Ustawienia te oparte są na łatce HARDEN_FIFO, która znajdowała się w projekcie Openwall Solar Designera, a ich celem jest utrudnienie ataków polegających na spoofingu danych. Poniżej znajduje się krótka lista starych luk, którym można było zapobiec dzięki tej funkcji (niektóre z nich pozwalają nawet na eskalację uprawnień):
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
07/01/2023 w Bezpieczeństwo
S
ystemy wieloużytkownikowe zaprojektowane są na udostępnianie dużej liczby informacji użytkownikom. Wiele z tych informacji jest „publiczna” i może być współdzielona pomiędzy różnymi użytkownikami. Nigdy nie można lekceważyć wpływu takich informacji na bezpieczeństwo. Poniżej znajduje się prosty skrypt, który umożliwia złośliwemu użytkownikowi podsłuchiwanie naciśnięć klawiszy innych użytkowników przy użyciu takich informacji. Atak wykorzystuje zwykłe nieuprzywilejowane konto i informacje o procesie ujawnione przez wirtualny system plików procfs (ang. process file system) obsługiwany przez m.in. system Linux. Zawiera on hierarchię plików wirtualnych, które opisują aktualny stan jądra, w tym dane statystyczne o pamięci procesów i niektórych ich wartościach rejestrów. Są one używane przez takie programy jak ps
i top
, aby zbierać i prezentować informacje o systemie oraz pomagać w debugowaniu oprogramowania. Domyślnie wiele z tych plików jest czytelnych dla wszystkich użytkowników systemu, co w naturalny sposób rodzi obawy, czy ich zawartość nie może ujawnić wrażliwych informacji innego użytkownika.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
22/03/2021 w Bezpieczeństwo
O
d samego początku Uniksa (na którym oparty jest Linux) wszystko jest plikiem. Możemy spierać się o szczegóły, ale w większości przypadków jest to prawda. W dodatku w systemach Unix i pokrewnych systemach operacyjnych istnieje taki obiekt, jak deskryptor pliku (ang. file descriptor – FD, rzadziej fildes), który jest abstrakcyjnym wskaźnikiem / uchwytem (ang. handle) używanym do uzyskiwania dostępu do pliku lub innego zasobu wejścia / wyjścia, takiego jak potok (ang. pipe) lub gniazdo sieciowe (ang. network socket). Deskryptory plików stanowią część interfejsu programowania aplikacji POSIX – są nieujemną liczbą całkowitą, zwykle reprezentowaną w języku programowania C jako typ int
(ang. integer) (wartości ujemne są zarezerwowane, aby wskazać „brak wartości” lub stan błędu).
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
16/04/2020 w Bezpieczeństwo
C
raig H. Rowland na konferencji Purplecon 2018 opowiedział o szybkiej ocenie kompromitacji systemu Linux. Jak zauważył, 90% wdrożeń opartych na publicznych chmurach obliczeniowych odbywa się na systemie operacyjnym Linux. Nawet jeśli nie mamy z nim bezpośrednio do czynienia z powodu wysokich poziomowo abstrakcji i wywołań (np. API) – prędzej czy później natchniemy się na niego, a jako przyszły administrator dobrze posiadać wiedzę o jego działaniu oraz czy jego zachowanie nie budzi jakiś zastrzeżeń. Jeśli posiadamy podejrzenie, że doszło do naruszenia jego bezpieczeństwa – nie panikujmy. Podstępując pochopnie możemy tylko pogorszyć sytuację poprzez zniszczenie krytycznej informacji z punktu widzenia analizy pozwalającej ustalić główną przyczynę włamania.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
28/05/2019 w Bezpieczeństwo, Pen Test
N
arzędzie to pozwala na podglądanie procesów bez konieczności posiadania uprawnień administratora. Pozwala zobaczyć polecenia uruchamiane przez innych użytkowników, zadania cron w trakcie ich wykonywania itp. Świetnie nadaje się do badania systemów podczas testów penetracyjnych oraz CTFach. Jak to możliwe, że widzimy polecenia innych użytkowników? Dopóki proces trwa wiele informacji jest widocznych w procfs. Jedynym problemem jest to, że trzeba czasem złapać te krótko żyjące procesy w bardzo krótkim czasie. Skanowanie katalogu /proc w poszukiwaniu nowych PIDów w nieskończonej pętli może zdać egzamin, ale tym samym będzie zużywać bardzo dużo zasobów procesora.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
15/03/2014 w Bezpieczeństwo
W
styczniu 2012 Vasiliy Kulikov zaproponował poprawkę do Linuksa, która poprzez dodanie frazy hidepid
do opcji montowania wirtualnego systemu plików procfs umożliwia ukrywanie procesów przed użytkownikami, do których dany proces nie należy. Patch został umieszczony w jądrze w wersji 3.3, a w między czasie backportowany do Debiana Wheezy i jego jądra w wersji 3.2 oraz RedHat Enterprise Linux 6.3 (2.6.32), jak i 5.9 (2.6.18).
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
29/05/2010 w Administracja, Bezpieczeństwo
J
eśli pracujemy na developerskiej maszynie nad rozwojem jądra systemu lub sterowników urządzeń wspieranych przez jądro, lub nawet uruchamiamy testowy kod, który prawdopodobnie spowoduje tzw. błąd kernel panic – możemy wykorzystać poniżej przedstawione rozwiązanie, które przydaje się w przypadkach kiedy nasza maszyna z jakieś przyczyny zawiesza się, zamieniając się w nagromadzony stos części komputerowych (sposób ten jest bezużyteczny, gdy jądro zupełnie zamknie się na świat, pozostaje wówczas tylko twardy reset). Poprzez kombinację odpowiednich klawiszy możemy przeprowadzić synchronizację systemu plików oraz przemontować go w tryb tylko do odczytu. W ten sposób poprzez restart komputera unikniemy utraty danych oraz sesji programu fsck.
[ czytaj całość… ]
Ostatni komentarz :