NFsec Logo

Wykrywanie ukrytych procesów za pomocą libprocesshider.so

21/08/2023 w Bezpieczeństwo Możliwość komentowania Wykrywanie ukrytych procesów za pomocą libprocesshider.so została wyłączona

W

artykule ukrywanie procesów za pomocą ld.so.preload poznaliśmy zasadę działania podstawowych narzędzi do zarządzania procesami w systemie Linux oraz w jaki sposób za pomocą biblioteki współdzielonej możemy je oszukać. W tej publikacji postaramy się napisać prosty skrypt w języku Python, który za pomocą enumeracji sprawdzi czego nam nie mówią oszukane narzędzia. Jego zasada działania jest bardzo prosta – jego zadaniem jest wejść do katalogu /proc i pobrać wszystkie katalogi, które mają format numeryczny ([0-9]) i dodać je do listy:

proc_path = '/proc'

def process_list_behind_the_fog():
    pid_list = []
    for pid_number in os.listdir(proc_path):
        if os.path.isdir(os.path.join(proc_path, pid_number)):
            if pid_number.isnumeric():
                pid_list.append(int(pid_number))
    return(pid_list)

[ czytaj całość… ]

Wykrywanie szkodliwego oprogramowania stworzonego przez memfd_create()

20/02/2021 w Bezpieczeństwo Możliwość komentowania Wykrywanie szkodliwego oprogramowania stworzonego przez memfd_create() została wyłączona

Z

memfd_create() spotkaliśmy się przy okazji omawiania obchodzenia flagi montowania noexec. Nie jest to jedyny przypadek, gdzie pomysł bezplikowej metody jest stosowany. Złośliwe oprogramowanie również stosuje bezplikową technikę do wstrzykiwania się w ramach działającego systemu Linux, aby nie pozostawić żadnych śladów na dysku. Przypomnijmy szybko, co robi wywołanie memfd_create(): pozwala na utworzenie pliku, który rezyduje w części pamięci RAM. Strona manualna opisuje to jako:
[ czytaj całość… ]

pspy – nieuprzywilejowany podgląd procesów Linuksa

28/05/2019 w Bezpieczeństwo, Pen Test Możliwość komentowania pspy – nieuprzywilejowany podgląd procesów Linuksa została wyłączona

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ść… ]

Najlepsze z Directory Traversal i Local File Inclusion (LFI)

14/11/2016 w Bezpieczeństwo, Pen Test Możliwość komentowania Najlepsze z Directory Traversal i Local File Inclusion (LFI) została wyłączona

A

taki typu directory traversal oraz Local File Inclusion bywają często widywane w aplikacjach internetowych. Obydwa te błędy mogą zostać wykorzystane do odczytu dowolnych plików na serwerze. Najczęściej pokazywanym przykładem jest możliwość przeczytania pliku /etc/passwd:
[ czytaj całość… ]

We are patching patching patching, a gdzie restart?

29/01/2016 w Administracja, Bezpieczeństwo Możliwość komentowania We are patching patching patching, a gdzie restart? została wyłączona

N

ie zawsze live patching jest możliwy. Dobrze przestrzegana polityka zarządzania poprawkami pozwala na redukcję słabych stron naszego systemu. Jednak nawet zaktualizowany system może posiadać stare procesy oraz biblioteki, które są jeszcze załadowane i używane w pamięci. W identyfikacji komponentów, które wymagają restartu może pomóc nam program o nazwie needrestart.
[ czytaj całość… ]

Ukrywanie procesów przed innymi użytkownikami

15/03/2014 w Bezpieczeństwo Możliwość komentowania Ukrywanie procesów przed innymi użytkownikami została wyłączona

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ść… ]

Uwalnianie pamięci RAM z niepotrzebnych danych

10/10/2010 w Administracja Możliwość komentowania Uwalnianie pamięci RAM z niepotrzebnych danych została wyłączona

K

iedy zapisujemy dane na dysku – nie koniecznie są one tam zapisywane. Jądro przechowuje pamięć podręczną wielu rzeczy, a ciągłe zapisywanie danych na dysku wymaga wiele pracy przy wykonywaniu, której należy wszystkie inne procesy również wykonywać szybko i sprawnie. Dlatego przechowywanie wielu procesów i danych w pamięci z pewnością jest z korzyścią dla wydajności systemu, ale czasami po prostu chcemy mieć wolną pamięć RAM od niepotrzebnych informacji, a dane zapisane na dysku.
[ czytaj całość… ]

Sysinternals – zestaw narzędzi dla administratorów

03/12/2009 w Techblog Możliwość komentowania Sysinternals – zestaw narzędzi dla administratorów została wyłączona

Z

witryny Technet firmy Microsoft pobrać można zestaw narzędzi dla administratorów stworzonych przez Marka Russinovicha (twórcy strony Sysinternals od 1996 roku, obecnie pracownika koncernu z Redmond), które dotychczas dostępne były jako pojedyncze pliki.
[ czytaj całość… ]

Czy bateria naładowała się do końca?

29/07/2009 w Techblog Możliwość komentowania Czy bateria naładowała się do końca? została wyłączona

O

prócz sprzętowego sprawdzenia naładowania baterii za pomocą odczytu – aktywności odpowiedniej diody na obudowie komputera, Linux umożliwia bezpośrednie odczytanie wielu parametrów baterii laptopa. Oprócz graficznych nakładek dane dotyczące baterii możemy odczytać za pomocą polecenia:
[ czytaj całość… ]

Zablokowanie połączeń wychodzących użytkownikom

12/07/2009 w Administracja Możliwość komentowania Zablokowanie połączeń wychodzących użytkownikom została wyłączona

J

eśli w systemie posiadamy użytkownika / grupę użytkowników (np. programistów), któremu / którym nie potrzebny jest “Internet”, ponieważ nasza maszyna pełni dla nich rolę produkcyjnej pod innym względem niż wykorzystanie jej łącza (np. kompilatory, oprogramowanie do obliczeń), to nie stoi nic na przeszkodzie, abyśmy zablokowali mu / im możliwość wykorzystania połączeń wychodzących.
[ czytaj całość… ]