Osquery dla Blue Teamers

Dec 22 2022
Osquery to platforma bezpieczeństwa punktów końcowych typu open source, która umożliwia monitorowanie i wysyłanie zapytań do systemów przy użyciu składni podobnej do SQL. Został opracowany przez Facebooka i jest używany przez firmy i organizacje na całym świecie do zabezpieczania ich sieci i systemów.

Osquery to platforma bezpieczeństwa punktów końcowych typu open source, która umożliwia monitorowanie i wysyłanie zapytań do systemów przy użyciu składni podobnej do SQL. Został opracowany przez Facebooka i jest używany przez firmy i organizacje na całym świecie do zabezpieczania ich sieci i systemów.

Jedną z kluczowych cech Osquery jest możliwość monitorowania i analizy systemów w czasie rzeczywistym. Zapewnia ujednolicony widok całej infrastruktury i pozwala szybko identyfikować zagrożenia bezpieczeństwa i anomalie oraz reagować na nie.

Osquery może służyć do monitorowania różnych aspektów systemów, w tym:

  • Integralność plików: Osquery może wykrywać zmiany w ważnych plikach systemowych, ostrzegając o potencjalnych manipulacjach lub infekcjach złośliwym oprogramowaniem.
  • Aktywność sieciowa: Osquery może monitorować przychodzące i wychodzące połączenia sieciowe, umożliwiając wykrywanie potencjalnych ataków lub nieautoryzowanego dostępu i reagowanie na nie.
  • Aktywność procesów: Osquery może śledzić procesy uruchomione w twoich systemach, ostrzegając cię o wszelkich podejrzanych lub złośliwych działaniach.
  • Konfiguracja systemu: Osquery może gromadzić i raportować konfiguracje systemu, pomagając zapewnić bezpieczną i spójną konfigurację systemów.

Instalacja:

Osquery może być używany do eksploracji różnych systemów operacyjnych, takich jak Windows, Linux i Mac. Pobierz dowolną wersję stąd , w moim przypadku pobrałem i zainstalowałem ją dla systemu Windows.

Po instalacji uruchom Powershell jako administrator > Przejdź do ścieżki pobierania Osquery > Uruchom osquery za pomocą .\osqueryi.exe

Skoro dopiero zaczęliśmy, wpiszmy .help i sprawdźmy, jakie funkcjonalności posiada Osquery:

Eksplorowanie tabel w systemie Windows:

Zbadajmy tabelę, wpisując .tables , co dostarczy nam listę funkcji systemu operacyjnego, a następnie zapytamy niektóre z nich, aby pobrać możliwe dane z maszyny, której dotyczy problem.

Jak widać powyżej, osquery przeszukał listę tabel w systemie operacyjnym. Weźmy kilka skomplikowanych szczegółów z kilku interesujących tabel, aby przeprowadzić dalsze zapytania:

Lista aktywnych użytkowników:

Polecenie wybierz * od użytkowników; pozwoli na wyliczenie wszystkich użytkowników obecnych na komputerze. Możemy dalej szukać możliwych UID i GID dla praw użytkowników i sprawdzać, czy użytkownicy mają uprawnienia administratora.

Polecenie select Count(*) from users da nam liczbę statystyk kont użytkowników utworzonych na tym komputerze.

Aby pobrać identyfikatory UID, używamy polecenia wybierz UID od użytkowników;

Lista procesów:

Aby zarejestrować wszystkie procesy działające w systemie, używamy polecenia wybierz * z procesów;

Pamiętaj, że użyłem limitu 5, aby ograniczyć wyniki do wyświetlenia 5 najlepszych procesów, ponieważ na moim komputerze działa wiele procesów.

Możemy odpowiednio filtrować wyniki, aby znaleźć złego aktora.

Skonstruujmy zapytanie, aby uzyskać nazwy użytkowników i odpowiadające im procesy, które są przez nich uruchamiane:

Pamiętaj, że jeśli chcesz uruchamiać takie zapytania, powinieneś zapoznać się z Podstawami języka SQL

Połączenia sieciowe aktywnych procesów:

Możemy sprawdzać podejrzane gniazda sieciowe i polować na połączenia nawiązywane z lokalnych do zdalnych adresów IP. Przyjrzyjmy się najpierw tabelom procesów systemu Windows:

Teraz zapytajmy tabelę process_open_sockets i sprawdźmy:

Odfiltrujmy wyniki, aby zobaczyć tylko wszystkie ustanowione połączenia.

Teraz możemy sprawdzić zewnętrzne adresy IP za pomocą Threat Intelligence Tools, aby sprawdzić, czy istnieje jakiś złośliwy adres IP, z którym nawiązywano połączenia wychodzące.

Monitorowanie plików:

Aby monitorować podejrzane pliki obecne w systemie, możemy użyć następującego polecenia:

Podczas konstruowania zapytań należy zwrócić uwagę na następujące zasady symboli wieloznacznych:

Dopasowane zasady symboli wieloznacznych

  • %: Dopasuj wszystkie pliki i foldery na jednym poziomie.
  • %%: Rekursywnie dopasowuje wszystkie pliki i foldery.
  • %abc: Dopasuj wszystkie elementy kończące się na „abc”.
  • abc%: Dopasuj wszystkie w obrębie poziomu, zaczynając od „abc”.

Możemy sprawdzić podejrzane modyfikacje wartości klucza rejestru i znaleźć interesujące artefakty. Przygotowanie zapytania pozwoli zaoszczędzić czas reakcji na incydent oraz poznasz trwałość złośliwego oprogramowania w rejestrze.

Użyte powyżej zapytanie to Wybierz dane, ścieżka z rejestru, gdzie klucz = „HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders”;

Uruchamianie złośliwego oprogramowania podczas uruchamiania

Możemy sprawdzić procesy systemu Windows, które uruchamiają się podczas rozruchu, jako zachowania związane z trwałością złośliwego oprogramowania. Wykrywając takie złośliwe działania, możemy podjąć dalsze kroki, takie jak odizolowanie komputera od sieci i przeprowadzenie dalszej możliwej analizy kryminalistycznej w celu znalezienia pierwotnej przyczyny.

Użyta powyżej instrukcja OSquery to select * from services gdzie start_type='DEMAND_START' limit 2;

Ogólnie rzecz biorąc, Osquery jest cennym narzędziem dla każdego odpowiedzialnego za bezpieczeństwo swoich systemów. Monitorowanie w czasie rzeczywistym i potężne możliwości zapytań sprawiają, że jest to wszechstronna i skuteczna platforma do wykrywania zagrożeń i anomalii bezpieczeństwa oraz reagowania na nie.

Bibliografia:

https://osquery.io/schema/5.6.0