Osquery dla Blue Teamers
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

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































