Testy penetracji chmury

https://chacker.pl/

Testowanie w chmurze to nowa dyscyplina, która w chwili pisania tego tekstu nie jest zbyt dobrze rozwinięta. Celem testowania chmury jest identyfikacja luk związanych z chmurą i narażanie zasobów chmury. Zwykle robi się to poprzez wykrycie słabych punktów w zarządzaniu zasobami, łańcuchem dostaw, tożsamością i dostępem (IAM) lub kluczowymi aspektami zarządzania chmurą. Możliwymi celami mogą być pamięć masowa w chmurze, usługi w chmurze, serwery w chmurze i ogólnie dostęp do zarządzania chmurą. Rodzaje wniosków wynikających z testów w chmurze obejmują zarówno pliki dostępne w Internecie, jak i luki w konfiguracji, które mogą pozwolić na eskalację uprawnień lub przejęcie konta. W miarę wdrażania nowych usług w chmurze mogą one integrować się z innymi usługami w chmurze, a testowanie w chmurze może pomóc zidentyfikować słabe punkty w zabezpieczeniach integracji języka SAML (Security Assertion Markup Language) i innych narzędzi umożliwiających jednokrotne logowanie (SSO), które indywidualnie mogą nie zapewniać ryzyko, ale w połączeniu mogą prowadzić do kompromisu. SOW w przypadku testowania w chmurze są jeszcze trudniejsze, ponieważ oprócz tego, czego chce firma, różni dostawcy usług w chmurze mają własne zasady zaangażowania (ROE), które regulują ich usługi. Dlatego przed rozpoczęciem testowania upewnij się, że znasz wszystkie testowane komponenty i ROE dostawcy chmury. Niektórzy z tych dostawców mogą również mieć błąd programu nagród,więc jeśli znajdziesz słabe punkty, możesz je zgłosić na wiele sposobów. Wiele organizacji przenosi się do chmury, aby wyeliminować inne typy ryzyka, ale usługi w chmurze są często trudne do bezpiecznej konfiguracji i stwarzają inne możliwości błędnej konfiguracji i słabych punktów bezpieczeństwa. Bez testowania tych kontroli i tworzenia procesów, zasad i ram zapewniających bezpieczeństwo usług w chmurze firma może wprowadzić ryzyko, które nie jest kategoryzowane i oceniane za pomocą istniejących narzędzi i zasad.

Fizyczne testy penetracyjne

https://chacker.pl/

Testy fizyczne sprawdzają bezpieczeństwo fizycznych aspektów środowiska, w tym drzwi, okien, zamków i innych elementów sterujących zaprojektowanych w celu ochrony fizycznego dostępu do obszaru. Może to obejmować czynności takie jak otwieranie lub omijanie zamków, wkraczanie do otoczenia, omijanie czujników, omijanie alarmów i inne metody uzyskiwania dostępu do zasobu. Nawet takie aspekty, jak dotarcie do bankomatów, podlegałyby testom fizycznym, ponieważ przed oceną jakiegokolwiek innego systemu konieczne byłoby ominięcie zamków, alarmów i innych elementów. Testowanie urządzeń staje się coraz bardziej popularne, jak zobaczysz w rozdziałach Gray Hat Hacking dotyczących hakowania IoT w części IV książki. Testowanie urządzeń analizuje kombinację fizycznych aspektów urządzeń, w tym interfejsów fizycznych oraz wykorzystania oprogramowania sprzętowego i aplikacji, w celu naruszenia bezpieczeństwa samego urządzenia. Często dotyczy to sieci SCADA i innego sprzętu podłączonego do sieci. Testy fizyczne mogą być koordynowane przez zespoły ds. bezpieczeństwa sieci i bezpieczeństwa fizycznego, aby pomóc zrozumieć, w jaki sposób kontrole fizyczne mogą wpłynąć na stan bezpieczeństwa organizacji. Może to dotyczyć wszystkiego, począwszy od bezpieczeństwa centrum danych, poprzez łatwość przedostania się do zastrzeżonego obszaru, aż po pozostawienie złośliwych urządzeń w obszarze podłączonym do sieci. Te spostrzeżenia pomogą zespołom zajmującym się bezpieczeństwem sieciowym i fizycznym uzyskać dodatkowe zalecenia dotyczące zmniejszania skuteczności ataków fizycznych. Podkreśla to również, że niezależnie od tego, jak bezpieczna jest Twoja sieć, jeśli atakujący może odejść z Twoim serwerem bez zatrzymania go, Twoje dane nie są bezpieczne.

Testy penetracyjne aplikacji

https://chacker.pl/

Testowanie aplikacji ogranicza się do aplikacji, komponentu aplikacji lub małego zestawu aplikacji. Celem tego testu jest głębokie wgłębienie się w aplikację i określenie słabych punktów oprogramowania oraz ścieżek ataków w samym oprogramowaniu. Testerzy aplikacji mogą zajmować się aplikacjami internetowymi, aplikacjami skompilowanymi i zainstalowanymi (czasami nazywanymi aplikacjami „grubymi”), aplikacjami mobilnymi, a nawet interfejsami programowania aplikacji (API). Testowanie aplikacji zazwyczaj nie wykracza poza granice analizy poeksploatacyjnej w systemie operacyjnym. Testowanie aplikacji może być uwzględnione w programie dynamicznego testowania bezpieczeństwa aplikacji (DAST) lub statycznego testowania bezpieczeństwa aplikacji (SAST), który jest częścią procesu cyklu życia oprogramowania (SDLC). W takiej sytuacji aplikacje mogą być testowane w ustalonych odstępach czasu, w ramach określonych wydań wersji lub nawet w ramach zautomatyzowanych procesów, gdy ktoś dokona zmiany w kodzie. Testowanie aplikacji pozwala organizacji zrozumieć, w jaki sposób bezpieczeństwo aplikacji wpływa na postawę organizacji, co może prowadzić do tworzenia bezpieczniejszych produktów i eliminowania poprawek na późniejszym etapie procesu SDLC, których naprawienie może być bardziej kosztowne. Pomaga także w ocenie skuteczności kontroli, w tym kontroli biznesowych w aplikacji, a także typowych kontroli, takich jak zapory aplikacji internetowych (WAF) i inne kontrole bezpieczeństwa serwera WWW.

Testy penetracyjne sieci

https://chacker.pl/

Testowanie sieci dotyczy systemów operacyjnych, usług, domen i ogólnych topologii sieci. To właśnie o tym myśli większość ludzi, gdy słyszą wyrażenie „testy penetracyjne”. Celem tych testów jest zazwyczaj sprawdzenie środowiska sieciowego i określenie, czy ktoś może się do niego dostać, określenie możliwych ścieżek ataku, jakie może obrać osoba atakująca po wejściu do środka, oraz określenie, jaki będzie wpływ. Tester może być ograniczony do określonego obszaru sieci, np. tylko obwodu sieci, lub może uzyskać dostęp do wnętrza i być ograniczony do określonego obszaru sieci, np. środowiska PCI lub środowiska klienta. Testowanie sieci bada bezpieczeństwo przedsiębiorstwa przez pryzmat infrastruktury sieciowej, protokołów, komunikacji, systemów operacyjnych i innych systemów podłączonych do sieci. Powinien oceniać skuteczność zarządzania poprawkami i lukami w zabezpieczeniach, segmentację sieci, zarządzanie konfiguracją oraz skuteczność kontroli hosta i sieci.

Testy penetracyjne

https://chacker.pl

Testy penetracyjne badają luki w zabezpieczeniach po kolei, budując drzewa ataków. Drzewa ataków przedstawiają łącznie serię zdarzeń i przedstawiają wynik w taki sposób, że organizacje mogą kontekstualizować znaczenie luk w ich środowisku. Chociaż pojedyncza luka może mieć niską ocenę zgodnie ze wskaźnikiem CVSS (Common Vulnerability Scoring System) skanera podatności, łącząc ją z innymi lukami, osoba atakująca może osiągnąć znacznie większy wpływ. Te drzewa ataków pozwalają zespołowi ds. bezpieczeństwa zrozumieć, w jaki sposób kontrole będą wpływać na luki, a działy biznesowe będą mogły zobaczyć, jak te luki wpływają na firmę z punktu widzenia danych i procesów. Większość testerów penetracyjnych specjalizuje się w konkretnym obszarze: testowaniu sieci, aplikacji, testowaniu fizycznym, urządzeń lub w chmurze. Nie oznacza to, że jest to jedyny rodzaj testów, jaki wykonują, ponieważ ataki często przekraczają granice niektórych z tych komponentów. Testy penetracyjne regulowane są przez zestawienie prac (SOW), które pomoże zdefiniować parametry testów. SOW różnią się znacznie w zależności od celów testowania. W przypadku niektórych organizacji celem jest znalezienie wszystkiego, co może być nieprawidłowe w określonym obszarze, podczas gdy inne mogą mieć określone cele, które chcą, aby tester próbował naruszyć, co nazywa się testami penetracyjnymi zorientowanymi na cel. Testy penetracyjne zorientowane na cel zazwyczaj wyznaczają cele i ramy czasowe na zbadanie modelu zagrożenia. Klient zazwyczaj określa rodzaje rzeczy, którymi się martwi, np. ktoś żądający okupu za środowisko, kradzież tajemnic firmowych, naruszenie poufnych środowisk lub możliwość wpływu na środowiska SCADA. Tester rozpocznie od pozycji w sieci lub poza siecią, a następnie spróbuje dotrzeć do środowiska docelowego, poruszając się po sieci, podnosząc uprawnienia i poruszając się dalej, aż dotrze do celu. Testy penetracyjne pomagają uzyskać lepszy wgląd w wpływ luk w zabezpieczeniach sieci. Budując łańcuchy ataków, tester może pokazać, jak można łączyć kombinacje luk w zabezpieczeniach, aby osiągnąć rezultaty. W ten sposób można określić praktyczne skutki słabych punktów i ocenić skuteczność mechanizmów kompensujących. Krótko mówiąc, wiele organizacji uważa, że określone mechanizmy kontrolne wyłapią złośliwą aktywność i że niektórych luk w zabezpieczeniach nie będzie można wykorzystać; jednakże podczas testu penetracyjnego tester ocenia, co może zrobić atakujący. Prawidłowy raport z testu penetracyjnego nie będzie zawierał „potencjalnych ustaleń”. Zamiast tego będzie zawierać wyłącznie ustalenia, które można udowodnić i udokumentować za pomocą pism, rekomendacji i zrzutów ekranu. Zrozumienie tych praktycznych skutków pomaga organizacji ustalić priorytety i zaplanować zmiany w zabezpieczeniach, które ostatecznie pomogą zwiększyć bezpieczeństwo organizacji.

Zatwierdzone skanowanie pod kątem luk w zabezpieczeniach

https://chacker.pl/

Po wdrożeniu procesu zarządzania podatnościami organizacje mogą chcieć móc sprawdzić, czy wykryte luki nadają się do wykorzystania i czy nie istnieją żadne dodatkowe mechanizmy łagodzące, które mogłyby zatrzymać włamanie. Sprawdzone skanowanie podatności wypełnia tę lukę poprzez pobieranie wyników ze skanowania podatności i przeprowadzanie ręcznej weryfikacji wyników poprzez próbę wykorzystania luki. Jednak po wykorzystaniu luki testy zazwyczaj się zatrzymują, więc dalsze możliwości wykorzystania luki nie są badane. Wykorzystując serwery i usługi, tester usuwa wszelkie wątpliwości co do tego, czy system jest podatny na ataki. Wiele osób rozpoczyna przygodę z testami penetracyjnymi od wykonywania tego typu testów, ponieważ zakres jest ograniczony, cele są konkretne i często występuje wiele powtórzeń. Rozwijając swoje umiejętności w zakresie badania podatności, tworzenia ataku i wykonywania exploita, testerzy mogą udoskonalić swoje umiejętności ataku, aby przygotować się do bardziej zaawansowanych testów penetracyjnych. Nie wszystkie organizacje mają oddzielną funkcję przeprowadzania sprawdzonego skanowania pod kątem luk w zabezpieczeniach. Niektórzy po prostu polegają na uwierzytelnionych skanach w celu ustalenia luki w zabezpieczeniach, a następnie na tej podstawie wymuszają naprawę. Jednak w miarę rozwoju organizacji często staje się to aspektem programu, nawet jeśli nie jest on długotrwały.

Skanowanie podatności

https://chacker.pl/

Skanowanie pod kątem luk w zabezpieczeniach polega na uruchamianiu narzędzi w środowisku w celu znalezienia luk w zabezpieczeniach. Skanowanie pod kątem luk w zabezpieczeniach to działanie szerokie, ponieważ próbuje przetestować jak najwięcej zasobów w celu ustalenia, czy brakuje poprawek, ale może testować tylko znane problemy, dla których napisano testy. Z drugiej strony testy penetracyjne sięgają głęboko do zasobów, próbując odkryć nowe luki i skutki w niewielkim podzbiorze systemów. Zasadniczo istnieją dwa typy skanowania podatności na ataki: uwierzytelnione i nieuwierzytelnione. Większość organizacji zaczyna od wersji nieuwierzytelnionej, ponieważ jest to najłatwiejsze do wdrożenia. Wadą tego jest to, że podczas nieuwierzytelnionych skanów zazwyczaj na podstawie najlepszych starań domyśla się, czy dana usługa jest podatna na ataki, w związku z czym występuje wysoki odsetek wyników fałszywie pozytywnych (skaner pokazuje usługę jako podatną na ataki, gdy tak nie jest) lub fałszywie negatywnych ( skaner pokazuje, że usługa nie jest podatna na ataki, gdy jest podatna na ataki). Gdy organizacja przeprowadza skanowanie pod kątem luk w zabezpieczeniach, musi mieć drogę do naprawy. Jest to połączenie zarządzania poprawkami i procesami usuwania luk w zabezpieczeniach. Po wdrożeniu tych procesów często okazuje się, że występują fałszywe alarmy, więc organizacja przejdzie do zweryfikowanego skanowania pod kątem luk w zabezpieczeniach, aby ograniczyć liczbę fałszywych alarmów. Zatwierdzone skanowanie luk w zabezpieczeniach uwierzytelnia system w celu bezpośredniego zapytania o wersję oprogramowania, dzięki czemu może służyć zarówno jako identyfikacja wersji pod kątem luk, jak i potwierdzenie konsekwentnego stosowania poprawek. Oprócz bardziej wiarygodnych wyników skanowania, uwierzytelnione skanowanie może jeszcze bardziej usprawnić zarządzanie zasobami i zapasami. Identyfikacja zainstalowanych wersji oprogramowania, oprogramowania, które mogło zostać zainstalowane, które nie jest obsługiwane lub jest sprzeczne z zasadami, a także inne właściwości systemu mogą zostać zebrane w ramach tego procesu, aby dodać je do innych możliwości zarządzania i widoczności organizacji. Identyfikacja systemów na podstawie więcej niż tylko adresu IP może również umożliwić bardziej szczegółowe śledzenie podatności zasobów na hosty korzystające również z protokołu DHCP, co oznacza, że śledzenie trendów podatności zasobu na przestrzeni czasu jest bardziej niezawodne. Działający program zarządzania podatnościami jest podstawą pozostałych działań w Red Teaming. Bez zarządzania podatnościami testy penetracyjne są przydatne jedynie do celów zapewnienia zgodności, ale nawet wtedy wyniki zazwyczaj nie będą korzystne.

Wprowadzenie do drużyn czerwonych

https://chacker.pl/

Koncepcja czerwonych drużyn wywodzi się z wojska. Ćwiczenia szkoleniowe dotyczące rywalizacji, w których jedna drużyna przyjmuje rolę atakującego (drużyna czerwona), a inna część broni (drużyna niebieska), pozwalają zobaczyć, jak dobrze radzi sobie obrona w praktyce. W świecie biznesu czerwone zespoły atakują zabezpieczenia cyberbezpieczeństwa, w tym te, które dotyczą ludzi, procesów i technologii. Etyczny haker może przyjąć rolę przyjaznego przeciwnika, aby umożliwić organizacjom praktyczną ocenę środków obronnych poza prawdziwym cyberatakiem. Dzięki temu obrońcy mogą przećwiczyć reakcję i ocenić wykrywanie, zanim zostaną zaatakowani przez prawdziwego ugrupowania zagrażającego. Organizacje na różnych poziomach dojrzałości wymagają innych rzeczy od swojego czerwonego zespołu. W miarę jak bezpieczeństwo w organizacji staje się coraz bardziej dojrzałe, zmienia się rola czerwonego zespołu i zmienia się także wpływ na firmę jako całość. W tej sekcji przyjrzymy się, czym jest zespół czerwony, jakie role może pełnić zespół czerwony, a także omówimy rolę, jaką każdy etap odgrywa we wzroście bezpieczeństwa organizacji. Po uruchomieniu programu zabezpieczającego pierwsza faza zazwyczaj obejmuje próbę wdrożenia mechanizmów kontroli sieci, takich jak zapory ogniowe, serwery proxy i systemy wykrywania włamań do sieci. Po opracowaniu podstaw zostanie wdrożone zarządzanie poprawkami, aby mieć pewność, że wszystkie systemy zostały załatane. Skąd wiesz, że te rzeczy działają? Jednym ze sposobów jest skanowanie podatności. Skanowanie pod kątem luk w zabezpieczeniach pomoże określić, jakie systemy można zobaczyć w sieci z punktu widzenia skanera, jakie usługi są narażone i jakie potencjalne luki w zabezpieczeniach. Rysunek  pokazuje, w jaki sposób każda warstwa zabezpieczeń opiera się na kolejnej, a także jakie typy testów pomagają skoncentrować się na tych obszarach.

W miarę wzrostu liczby skanowań pod kątem luk w organizacji wzrasta odsetek fałszywych alarmów, w związku z czym organizacja przechodzi do zweryfikowanego skanowania pod kątem luk w zabezpieczeniach, dodając do skanowania podatności uwierzytelnione skany. Gdy organizacja ma już podstawy programu zarządzania podatnościami na zagrożenia, ważne jest, aby przyjrzeć się lukom w kluczowych obszarach działalności. Gdy działania zespołu czerwonego staną się rutyną, niektóre obowiązki mogą zostać przekazane innym obszarom organizacji, a zespół czerwonych może ewoluować. Ostatecznie bardziej wyrafinowane zespoły czerwone dysponują emulacją zagrożeń i możliwościami „zespołu fioletowego” (omówione w dalszej części rozdziału), które pomagają wprowadzać zmiany w organizacjach nie tylko w zakresie kontroli bezpieczeństwa, ale także w sposobie prowadzenia działalności przez organizację. Mogą zachować także inne funkcje, ale najwyższy poziom możliwości określi ogólny poziom możliwości, przy czym najbardziej dojrzałe organizacje będą w stanie zapewnić wartość liniom biznesowym (LOB) i możliwości szkolenia osób reagujących na incydenty przed faktycznym kompromisem.

Drużyny Czerwonych i Fioletowych

https://chacker.pl/

Chociaż omówiliśmy, czym jest etyczny haker, ważne jest, aby zrozumieć, jaka jest rola etycznego hakera w kontekście ekosystemu bezpieczeństwa. Zarówno w przypadku bezpieczeństwa korporacyjnego, jak i doradztwa, etyczni hakerzy pomagają zapewnić kontradyktoryjne podejście do bezpieczeństwa, aby pomóc organizacjom zrozumieć, co zobaczy osoba atakująca, co może zrobić i jaki będzie tego wpływ. Pomaga to organizacjom rozwijać się zarówno pod względem taktycznym, rozwiązując konkretne problemy, jak i strategicznie, zmieniając sposób, w jaki działają i prowadzą działalność gospodarczą.

Streszczenie

https://chacker.pl/

Znalazłeś podstawy rozpoczęcia korzystania z IDA Pro jako narzędzia inżynierii odwrotnej. Istnieje zbyt wiele funkcji i opcji rozszerzalności, aby zmieścić się w jednym rozdziale. Przyjrzeliśmy się interfejsowi IDA Pro, niektórym z najczęściej używanych funkcji IDA, a także rozpoczęciu pracy ze zdalnym debugowaniem. Będziemy używać IDA Pro w późniejszych rozdziałach omawiających różnicowanie poprawek Microsoft i eksploatację systemu Windows. Najlepszym sposobem nauczenia się obsługi IDA Pro jest skorzystanie z podstawowego programu w C, takiego jak te używane w tym rozdziale, i rozpoczęcie cofania. Możesz spodziewać się, że spędzisz dużo czasu na szukaniu w Google odpowiedzi na pytania dotyczące różnych instrukcji montażu i wykonywania określonych czynności za pomocą IDA Pro. Im częściej będziesz korzystać z narzędzia, tym szybciej zobaczysz poprawę swoich umiejętności i zaznajomisz się z cofaniem w IDA Pro.