Exploit przeglądarki. Co to jest exploit? Jak powstają exploity

Na etapie rozwoju we wszystkie programy i sieci wbudowane są mechanizmy zabezpieczające przed hakerami, takie jak blokady zapobiegające nieautoryzowanym atakom z zewnątrz. Luka jest jak otwarte okno, przez które atakujący nie będzie miał trudności przedostać się. W przypadku komputera lub sieci osoby atakujące mogą zainstalować złośliwe oprogramowanie, wykorzystując lukę w zabezpieczeniach, aby przejąć kontrolę lub zainfekować system dla własnych egoistycznych celów, co wiąże się z odpowiednimi konsekwencjami. Najczęściej wszystko to dzieje się bez wiedzy użytkownika.

Jak powstają exploity?

Exploity powstają na skutek błędów w procesie tworzenia oprogramowania, w efekcie czego w systemie bezpieczeństwa programu pojawiają się luki, które cyberprzestępcy z powodzeniem wykorzystują do uzyskania nieograniczonego dostępu do samego programu, a za jego pośrednictwem – do całego komputera. Exploity są klasyfikowane w zależności od rodzaju podatności wykorzystanej przez hakera: zero-day, DoS, spoofing lub XXS. Oczywiście twórcy programu wkrótce wypuszczą aktualizacje zabezpieczeń, aby wyeliminować wykryte defekty, ale do tego czasu program nadal jest podatny na ataki.

Jak rozpoznać exploit?

Ponieważ exploity wykorzystują luki w mechanizmach bezpieczeństwa oprogramowania, przeciętny użytkownik nie ma praktycznie żadnych szans na wykrycie ich obecności. Dlatego niezwykle ważne jest wsparcie zainstalowane programy aktualizowane, zwłaszcza w celu szybkiego instalowania aktualizacji zabezpieczeń wydanych przez twórców programów. Jeśli twórca oprogramowania wypuści aktualizację zabezpieczeń mającą na celu naprawienie znanej luki w swoim oprogramowaniu, ale użytkownik jej nie zainstaluje, wówczas program niestety nie otrzyma niezbędnych najnowszych definicji wirusów.

Jak naprawić exploita?

Ze względu na to, że exploity są konsekwencją błędów, za ich eliminację bezpośrednio odpowiadają twórcy, więc to autorzy będą musieli przygotować i rozpowszechnić poprawki błędów. Jednakże odpowiedzialność za aktualizowanie zainstalowanych programów i terminowe instalowanie pakietów aktualizacji, aby uniemożliwić hakerom wykorzystanie luk, spoczywa wyłącznie na użytkowniku programu. Jeden z możliwe sposoby Nie przegap najnowszych aktualizacji - skorzystaj z menedżera aplikacji, który zadba o aktualizację wszystkich zainstalowanych programów lub - jeszcze lepiej - skorzystaj z narzędzia do automatycznego wyszukiwania i instalowania aktualizacji.

Jak powstrzymać hakerów przed wykorzystaniem luk w zabezpieczeniach programy stron trzecich
  • Upewnij się, że masz najnowsze aktualizacje zabezpieczeń i poprawki dla wszystkich programów
  • Aby zachować bezpieczeństwo w Internecie i być na bieżąco, instaluj wszystkie aktualizacje natychmiast po ich wydaniu.
  • Zainstaluj i używaj premium antywirusa, który może automatycznie aktualizować zainstalowane programy
Chroń się przed exploitami

Kieruj się zdrowym rozsądkiem i przestrzegaj podstawowych zasad bezpieczną pracę w Internecie. Hakerzy mogą wykorzystać tę lukę tylko wtedy, gdy uda im się uzyskać dostęp do Twojego komputera. Nie otwieraj załączników w podejrzanych wiadomościach ani nie pobieraj plików z nieznanych źródeł. Aktualizuj zainstalowane programy i niezwłocznie instaluj aktualizacje zabezpieczeń. Jeśli chcesz maksymalnie uprościć to zadanie, pobierz program antywirusowy Avast, który nie tylko zapewni niezawodną ochronę przed wszelkiego rodzaju złośliwym oprogramowaniem, ale także pomoże w instalowaniu najnowszych aktualizacji programów firm trzecich.

Wielu początkujących specjalistów w swojej dziedzinie bezpieczeństwo informacji Na temat exploitów pojawia się wiele pytań: Czym są exploity? Kto pisze exploity? Jak korzystać z exploitów? W tym artykule znajdziesz odpowiedzi na te pytania!

Co to jest exploit?

Wykorzystać- Ten program komputerowy, fragment kodu oprogramowania lub sekwencja poleceń wykorzystujących luki w zabezpieczeniach oprogramowanie i wykorzystane do przeprowadzenia ataku na system komputerowy. Celem ataku może być przejęcie kontroli nad systemem (eskalacja uprawnień) lub zakłócenie jego funkcjonowania (atak DoS). ...

W swej istocie exploit to mały przykład tego, jak można wykorzystać daną lukę; w rękach doświadczonego hakera exploit jest potężną bronią, która pozwala złamać zabezpieczenia docelowego systemu.

Kto pisze exploity?

Exploity są pisane przez tysiące entuzjastów pasjonujących się badaniem bezpieczeństwa informacji i publikują je w wielu znanych witrynach, takich jak SecurityFocus. Robią to nie dla sławy i nie dla radości dzieciaków ze scenariusza, robią to dla powiadomienia administratorzy systemu i innym specjalistom ds. bezpieczeństwa informacji o istnieniu tej luki. Przecież mając w ręku implementację konkretnej luki, można łatwo napisać „łatkę”.

Jak korzystać z exploitów?

Pomimo tego, że wielu początkujących jest zdezorientowanych ogromnymi bazami danych z exploitami, są one dość łatwe w użyciu!

Weźmy na przykład lukę znalezioną w jednym z wielu komponentów Joomla. Opis exploita można znaleźć, klikając link Komponent Joomla com_camp SQL Injection Vulnerability.

Przede wszystkim należy przyjrzeć się aplikacji i wersji aplikacji, w której występuje luka. Jeśli znajdziesz to, czego potrzebujesz, zacznij studiować opis exploita. W opisie zazwyczaj piszą gdzie dokładnie została znaleziona podatność. W naszym przypadku jest to komponent com_camp. Jak widać podatność wynika z braku filtrowania w zmiennej cid:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=


Odwiedzając stronę z tą luką i podstawiając cudzysłów do zmiennej cid, najprawdopodobniej znajdziesz na stronie błąd, który wskazuje na obecność iniekcji sql.

Co zrobic nastepnie? Jeśli masz tylko odrobinę wyobraźni, możesz wiele! Tutaj dochodzimy do samego exploita. Na stronie z opisem exploita zazwyczaj publikują plik z samym exploitem lub wierszem kodu programu, który należy skompilować lub w jakiś sposób „przesłać” do podatnej na ataki aplikacji. W naszym przypadku widzimy linię kodu sql, którą należy wstawić do zmiennej cid:

1/**/UNION/**/WYBIERZ/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


Również w naszym przypadku widzimy przykład implementacji tej luki:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=-1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8, 9,10,11,12,13,14--


Posiadając te dane i znając strukturę bazy Joomla, możesz łatwo uzyskać wszystkie niezbędne dane, w tym loginy i skróty haseł użytkowników, w tym administratora.

Jakie są inne exploity?


W zależności od metody uzyskania dostępu do podatnego oprogramowania exploity dzielą się na zdalne i lokalne.

Exploity mają na celu wykonywanie działań stron trzecich na podatnym systemie i można je podzielić między sobą w następujący sposób:

Ogólnie rzecz biorąc, GoogleHack i „Wyszukiwanie zaawansowane” pomogą Ci na przykład wyszukać w określonej witrynie strona: http:securityfocus.com Joomla SQL Injection pokaże Ci wiele exploitów, które pozwalają na wykonanie wstrzykiwania sql w Joomla.

Czy każdy głupiec może wykorzystać exploity?


Nie, nie i NIE. Do wykorzystania exploitów potrzebna jest przynajmniej ogólna wiedza z zakresu programowania (wiele exploitów jest celowo napisanych z błędami i nie zapewnia zbyt dużej funkcjonalności, ponieważ jest to jedynie „prezentacja” luki), konieczne jest także przestudiowanie systemu, który został zaatakowany i zebrał wystarczającą ilość informacji, aby go przeprowadzić. Doświadczenie pokazuje, że wiele osób pragnących „łatwych pieniędzy” po prostu nie posiada niezbędnej wiedzy.

Wniosek:
Każdego dnia wykrywanych jest coraz więcej luk, w związku z czym powstaje coraz więcej exploitów. Nie zachęcam Cię do zostania skryptorami i w żadnym wypadku nie powiem, że nie powinieneś wykorzystywać tych informacji do celów nielegalnych!

Energia jądrowa może przynieść światło lub może przynieść wieczną ciemność, każdy sam decyduje, jak żyć...

Informacja dla tych, którzy nie do końca rozumieją, czym jest exploit.
Co to jest exploit?
Z „oficjalną” definicją można zapoznać się w encyklopediach komputerowych. Podoba mi się to: „W zależności od celu program, fragment kodu lub skrypt, który pozwala wykorzystać istniejącą lukę w oprogramowaniu do wszystkiego, co jest kontrolowane przez oprogramowanie”. W pewnym sensie uderzenie młotkiem w smartfon to także exploit techniczny, mający na celu prymitywny cel – zniszczenie urządzenia. Zastanówmy się nad istotą, zasadą stosowania i rolą exploita w włamywaniu się do systemu. Rozważane jest pytanie, skąd zdobyć exploit, czy ma sens jego pobieranie lub kupowanie oraz dlaczego potwierdzony exploit może nie działać.

  • Co to są exploity
  • Jakiego rodzaju exploity istnieją?
  • Trochę o lukach w zabezpieczeniach
  • Rola exploita w ataku na system
  • Przykład udanego exploita
  • Eksploatuj bazy danych
  • Problemy z exploitem
Skąd bierze się exploit? Dla tych, którzy lubią konkrety, pomiń tę część.
Najprostszym wyjaśnieniem jest „związek” między człowiekiem a wirusem. Biologiczny. W naszym organizmie wszystko jest przemyślane w najdrobniejszych szczegółach, jednak w zetknięciu z mikrokodem z zewnątrz ulega to chwilowej lub trwałej degradacji. Podatność jest prosta awaria mechanizmu(w tym oprogramowanie) odpowiednio reagować na jakieś działanie z zewnątrz, zachowując przy tym nieodłączne cechy i funkcjonalność (mechanizm). I wykorzystać Nazywa się to exploitem tylko wtedy, gdy pozwala na zdobycie luki w zabezpieczeniach korzyść. Nie traktuj tego jako fikcji, ważne jest, aby zrozumieć to od razu.
Trochę o lukach w zabezpieczeniach.
Moduły Metasploit zawierają exploity i luki w zabezpieczeniach. Pentesterzy zwykle formalizują metody grupowania tych luk. W ten sposób powstało stale rozwijające się słownictwo Typowe luki i zagrożenia (CVE) - Typowe luki i odkrycia. Więc pamiętaj: Ze skrótem CVE spotkasz się nie raz. . Ogólnie przyjęty formularz jest zapisany w następującym formacie:
CVE – WYDANIE_YEAR – ASSIGNED_ID
Na przykład
CVE 2008-4250
Jeśli chcesz rzucić okiem już teraz pełna lista biuletyn, przejdź tutaj:

Tak naprawdę luk, które mogą ujawnić tajemnice właściciela, jest znacznie więcej niż na oficjalnej liście tego biuletynu. Tak, aby znaleźć się w tym słowniku, na lukę trzeba „zapracować” sobie miejsce. I oczywiście nie ma konkretnej organizacji, która oficjalnie by się tym zajmowała. Wszystko zależy od celu przyszłego exploita – nie ma luki bez exploita. Ale w każdym razie prawie wszystkie drogi prowadzą do bazy danych exploitów i zasobu wspomnianego powyżej.
Osobna linia obejmuje kwestie bezpieczeństwa produktów Microsoft. Tworzy je osobna lista zwana Biuletynem zabezpieczeń firmy Microsoft. Ich luki są zwykle pogrupowane w następujący sposób:
MSYY-XXX
gdzie YY to rok odkrycia, XXX to przypisany identyfikator.

Wróćmy do hakerów. Jakie rodzaje exploitów istnieją?
Tradycyjnie wszystkie można podzielić na trzy grupy:
  • exploit serwisowy
  • exploit klienta
  • wykorzystanie przywilejów
Exploit usługi atakuje jakąś usługę, która na przykład nasłuchuje połączenia sieciowe. Usługa zbiera pakiety sieciowe i czeka, aż użytkownik zainicjuje połączenie z siecią (uruchomi przeglądarkę). A haker może zrobić to samo, tworząc własne pakiety dla tej usługi i powodując pełne uruchomienie usługi, która (bez wiedzy użytkownika) przedostanie się do sieci.
Exploit klienta – znany również jako exploit kliencki – koncentruje się na atakowaniu aplikacji klienckiej, która otrzymuje treść z komputera-serwera. Polega ona na tym, że ofiara wykona pewne działania, a program kliencki musi aktywnie pracować z tą treścią. Mówiąc najprościej, moim zadaniem jako hakera jest nakłonienie Cię do kliknięcia łącza, otwarcia dokumentu i przejścia do złośliwej witryny.
Wykorzystywanie przywilejów . Jej zadaniem jest wzmacnianie praw już istniejących w systemie. Na przykład uzyskaj uprawnienia administratora od gościa UZ. A tam niedaleko do SYSTEMU... Na przykład w Windows XP istnieje luka, w której prostymi ruchami można. Co więcej, luka leżała na powierzchni. Nie bądź leniwy i zajrzyj do artykułu - wyjaśnienia staną się niepotrzebne.
Proces exploita i jego rola w ataku na komputer.

Stopniowo zbliżamy się do zasady działania kompromisu systemowego. Każdy z tych etapów jest bardzo złożonym procesem wymagającym wielotomowego podręcznika. Ale schematycznie można to przedstawić w następujący sposób:

  • potencjalnie podatny na ataki system jest skanowany w poszukiwaniu otwartych portów i uruchomionych usług
  • identyfikowane są punkty, w które można uderzyć
  • NA komputer zdalny do tego lub tych punktów wysyłany jest exploit wykorzystujący znaną lukę
  • do exploita dołączony jest ładunek (umożliwia kontrolę nad systemem ofiary)
  • jeśli exploit zadziała (jest uruchamiany jako pierwszy) i system ofiary odpowie, ładunek zostaje uruchomiony; Na podstawie wyników wykonania kodu ładunku haker uzyskuje dostęp do komputera ofiary
Jak to wygląda na żywo lub jak pracować z exploitem?
Na przykład używamy Kali Linux jako systemu operacyjnego hosta i Windows XP (exploit jest stary, począwszy od Windows XP SP2 robi to już mniej chętnie) jako systemu gościa w VirtualBox. Wiemy oczywiście, jakie cechy ma maszyna gościa w sieci (w naszym przypadku wirtualna), ale pozwólmy skanerowi Nmapa zrobi swoje. Podajmy „oficjalne informacje” o ofierze:
  • nmap -v -n 192.168.0.162
gdzie 192.168.0.162 to adres IP ofiary. Jeśli znasz , to rozumiesz, że flagi:
  • -w pozwala uzyskać szczegółowy raport o adresie
  • - N wyłącza wsteczne wyszukiwanie DNS



Widzimy, które porty są otwarte i działają przez nie usługi.
Aby to zrobić, przeskanujmy system jeszcze bardziej dokładna informacja dla systemu operacyjnego i wersji usługi. Polecenie przybierze postać (umiejscowienie flag zgodnie z poleceniem jest dowolne):

nmap -T4 -A -v 192.168.0.162


Jest mnóstwo informacji. Wybieramy miejsce strajku.
Otwartych jest cała masa portów, które stanowią potencjalne tylne drzwi do systemu wroga.
Niech to będzie jeden z otwartych portów 135 Z działający serwis mcrpc(znany jako Microsoft Windows RPC - systemowa usługa zdalnego wywoływania procedur). Jedyne, co musimy zrobić, to wybrać odpowiedni exploit dla konkretnego procesu.
Baza danych eksploitów. Kilka sekund na teorię.
Jeśli aktualnie siedzisz w Cali, baza jest na wyciągnięcie ręki. Wszystko czego potrzebujesz to połączenie sieciowe i działanie konsola msf(inaczej zestaw narzędzi Metasploit). Stale aktualizowana baza exploitów, którą możesz zobaczyć już teraz uruchamiając konsolę konsola msf i wpisz polecenie pokaż exploity, wyświetli listę exploitów:


Wyświetlenie listy na ekranie jeszcze nic Ci nie powie. Zaprezentowano je w kolejności alfabetycznej, z datą publikacji, przypisaną rangą pod względem zastosowania i niezawodności działania oraz krótkim wyjaśnieniem, czemu mają służyć.
Rodzaj lustra podstawy jest znanym źródłem
Jest również w całości poświęcony exploitom. I tutaj możesz (uzbrojony w słownik) dokładniej zapoznać się z historią exploita, pobrać go bezpośrednio (jeśli chcesz skomponować własny exploit, więcej o tym później) i zapoznać się z informacjami na temat exploita. Ogólnie rzecz biorąc, wszystkie smakołyki znajdują się tutaj. Ale jest coś jeszcze.
Niezłe źródło gdzie można znaleźć coś ciekawego to:
ru.0day.today/
Wielojęzyczny zasób oferujący nie tylko dobrze znane (czytaj: długo omawiane) exploity, ale także własne wersje uczestników. Dla pieniędzy. Odwiedź i sprawdź: obsługiwany jest tam również język rosyjski.
Kontynuujmy. Szukamy odpowiedniego exploita.
Metasploit jest bezpośrednio połączony z bazą danych exploitów, więc nie musisz pamiętać kroków, które widzisz: dobrą rzeczą w Metasploit jest to, że jego kroki są zautomatyzowane (co jednak nie zawsze jest dobre). Artykuł dotyczy exploita i my go tylko wykorzystamy, tj. ręcznie. Znajdźmy to, pobierzmy, prześlijmy. Dlaczego ręcznie? Więcej na ten temat w akapicie Problemy z exploitami.
Jak znaleźć exploit, który Cię interesuje?
Jeśli interesuje Cię exploit, który można wykorzystać przeciwko konkretnej platformie lub programowi, nie musisz przewijać listy ponad półtora tysiąca ręcznych exploitów wyświetlanych przez polecenie
pokaż exploity
Zamiast tego możesz wpisać sesja otwarta Komenda Metasploit, taka jak:
nazwa wyszukiwania: typ smb: platforma exploitów: okna
Metasploit wyświetli tylko te exploity, które działają w systemie operacyjnym Windows. Następnie, jeśli interesują Cię exploity przeglądarki w systemie operacyjnym Windows, dodaj nazwę do polecenia. Widzieć:
msf > nazwa wyszukiwania: typ przeglądarki: platforma exploitów: okna


Ponadto w Kali Linux możesz bezpośrednio wyszukiwać exploity bezpośrednio z terminala, bez uruchamiania sesji Metasploit. Wpisz polecenie, aby wyszukać exploita w formacie:
wyszukiwarka eksplorator Internetu
Terminal zwróci Ci wszystkie dostępne exploity w bazie danych, która jest aktualizowana co tydzień.
Kontynuujmy...
Znamy więc usługę, widzimy typ systemu operacyjnego. Zatem w bazie danych wpisujemy: Szukaj-przycisk po wpisaniu żądania:
Windows RPC
Przed wyszukiwaniem przejdźmy do weryfikacji robota i zapoznajmy się z wynikami:


Oto nasze. Klikamy link, przechodzimy do poniższego linku Pobierz i jest on na naszym komputerze jako plik 66.c.
POWTARZAM
. Wszystko, co zostało zrobione powyżej, można zrobić szybciej. Po uruchomieniu Metasploita wpisz polecenie, aby wyszukać exploita w Kali:



Jednak sytuacja, w której w bazie Metasploit nie można znaleźć odpowiedniego exploita, nie jest rzadkością. Kiedy więc lepiej zaznajomisz się z działaniem exploitów, możesz poświęcić więcej czasu na znalezienie i skonfigurowanie odpowiedniego exploita. W naszym przypadku przygotujemy pobrany exploit do ręcznego wstrzyknięcia. W terminalu konwertujemy go do pliku binarnego (najpierw przeciągnąłem 66.c z Pliki do pobrania V Pulpit):
gcc 66.c -o 66
Teraz jest ich dwóch:


I przesyłam plik binarny exploita bezpośrednio do ofiary XP:
./66 6 192.168.0.162


System zareagował. Z naukowego punktu widzenia nazywa się to pomyślnym wynikiem kompromisu systemu. Tak naprawdę ten komputer jest już w rękach hakera. Haker widzi go tak, jakby siedział przy komputerze – może sterować systemem za pomocą poleceń konsoli. Przyjrzyjmy się teraz, w jaki sposób wykorzystywany jest exploit kontrolowany przez Metasploit. Porty ofiary już jesteśmy „obrączkowane” przy użyciu Nmapa. I jak zauważyliście m.in. też jest otwarte 445 pod kontrolą serwisuMicrosoft ds. W oknie Metasploit wybierz odpowiedni exploit:
exploit/windows/smb/ms08_067_netapi
wykorzystać
Komputer nie należy już do właściciela.

Problemy z exploitami lub akapit dla tych, którzy lubią „gotowe”.
Ta część zasługuje na osobny temat. Ale wystarczy akapit. Co czeka pentestera na drodze do wykorzystania exploita? Wyjaśnię to w prosty sposób (profesjonaliści mi wybaczą):

  • Pierwszym problemem jest starzenie się luki, na którą programiści niemal natychmiast instalują łatkę. Tak, zdecydowana większość istniejących exploitów nie jest warta uwagi. Są bezużyteczne – aktualizacje zabezpieczeń je zakrywają. Opcji jest więc kilka: używamy 0 dzień exploity ( dzień zerowy) - jeśli możesz znaleźć i zastosować; albo odwracamy się do góry nogami i pracujemy na własną rękę; to jest problem numer jeden, z którego musimy się uczyć system operacyjny i programy poprzednich generacji: powód jest prosty - twórcy „zapomnieli” o wsparciu (typowym tego przykładem jest Windows XP) i nie reagują na pojawiające się luki nawet po oficjalnym powiadomieniu (nie zapominając jednak o sprawdzeniu, czy dana luka pojawi się w działających wersjach programów lub systemu operacyjnego - dla niej).
  • drugi problem (wynika z pierwszego) - jeśli opublikowano lukę i istnieje dla niej exploit, dziesiątki specjalistów już pracują nad tym, aby luka pozostała przeszłością. Dostają zapłatę. A ludzie, którzy szukają luk w zabezpieczeniach, też chcą otrzymywać zapłatę. Nie polegaj więc na utartych słabościach: piękno leży tam, gdzie ścieżka jest rzadziej uczęszczana. Jeśli pojawi się coś, czego potrzebujesz, ale nie masz inteligencji i doświadczenia, czasami musisz za to zapłacić (ryzyko, że pozostaniesz bez rezultatów i bez pieniędzy). I nie zawsze jest to wina pioniera luk w zabezpieczeniach i autora exploitów. Choćby dlatego, że istnieje trzeci problem...
  • Techniczne aspekty wykorzystania exploita są takie, że TO, CO DZIAŁAŁO w angielskiej lokalizacji systemu Windows, jest NAJPRAWDOPODOBNIEJSZE NIE BĘDZIE JAZDA po rosyjsku. Exploit napisany dla Amerykanów Wersje Windowsa w sposób uzasadniony nie sprawdzi się w przypadku systemu rosyjskiego. Wynik działania aplikacji może być nieoczekiwany: do cichego błędu typu Metasploit Wygląda na to, że exploit się nie powiódł dopóki awaria usług po stronie systemu ofiary nie spowoduje, że stanie się ona ostrożna.

W artykule opisano istotę, zasadę stosowania i rolę exploita w włamywaniu się do systemu. Rozważane jest pytanie, skąd zdobyć exploit, czy ma sens jego pobieranie lub kupowanie oraz dlaczego potwierdzony exploit może nie działać.

Co to jest exploit?

Z „oficjalną” definicją można zapoznać się w encyklopediach komputerowych. Podoba mi się to: „W zależności od celu program, fragment kodu lub skrypt, który pozwala wykorzystać istniejącą lukę w oprogramowaniu do wszystkiego, co jest kontrolowane przez oprogramowanie”. W pewnym sensie uderzenie młotkiem w smartfon to także exploit techniczny, którego prymitywnym celem jest zniszczenie urządzenia. Słodkie cukierki działają również na szkliwo zębów.

Skąd bierze się exploit? Dla tych, którzy lubią konkrety, pomiń tę część.

Tam, gdzie znana jest luka, istnieje duże prawdopodobieństwo pojawienia się exploita. Podatność można również interpretować na różne sposoby. Wydaje mi się, że Wikipedia podaje nieco błędną definicję. Luka w zabezpieczeniach nie zawsze jest błędem lub wadą. Każdy mechanizm ma piętę achillesową. Cóż, tego, że silnik pracuje na paliwie, nie można nazwać pomyłką. W końcu, jeśli sprawdzi się w powietrzu, od razu stanie się to również jego wadą. Podobnie jak metal, z którego jest wykonany; osoba, która to kontroluje... Wszystko ma wady i profesjonaliści też je we wszystkim dostrzegają.

Najprostszym wyjaśnieniem tego pomysłu jest „związek” między człowiekiem a wirusem. Biologiczny. W naszym organizmie wszystko jest przemyślane w najdrobniejszych szczegółach, jednak w zetknięciu z mikrokodem z zewnątrz ulega to chwilowej lub trwałej degradacji. Podatność jest prosta awaria mechanizmu(w tym oprogramowanie) odpowiednio reagować na jakieś działanie z zewnątrz, zachowując przy tym nieodłączne cechy i funkcjonalność (mechanizm). I nazywa się to exploitem tylko wtedy, gdy pozwala na to luki w zabezpieczeniach korzyść. Nie traktuj tego jako fikcji, ważne jest, aby zrozumieć to od razu.

Trochę o lukach w zabezpieczeniach.

Moduły Metas zawierają exploity i luki w zabezpieczeniach. Pentesterzy zwykle formalizują metody grupowania tych luk. W ten sposób powstał stale rozwijający się słownik typowych luk i zagrożeń ( CVE) – Typowe luki i odkrycia. Pamiętaj więc: ze skrótem CVE spotkasz się nie raz. Jego cel: niemieccy i chińscy hakerzy muszą mieć pewność, że mówią o tej samej luce w zabezpieczeniach. I wszyscy widzą takie luki w formacie:

CVE – WYDANIE_YEAR – ASSIGNED_ID

Na przykład

CVE 2008-4250

Jeśli chcesz już teraz zapoznać się z pełną listą biuletynu, zapraszamy tutaj:

Tak naprawdę luk, które mogą ujawnić tajemnice właściciela, jest znacznie więcej niż na oficjalnej liście tego biuletynu. Tak, aby znaleźć się w tym słowniku, na lukę trzeba „zapracować” sobie miejsce. I oczywiście nie ma konkretnej organizacji, która oficjalnie by się tym zajmowała. Wszystko zależy od celu przyszłego exploita – nie ma luki bez exploita. Ale w każdym razie prawie wszystkie drogi prowadzą do bazy danych exploitów i określonego zasobu.

Osobna linia obejmuje kwestie bezpieczeństwa produktów Microsoft. Tworzy je osobna lista zwana Biuletynem zabezpieczeń firmy Microsoft. Ich luki są zwykle pogrupowane w następujący sposób:

MSYY-XXX

gdzie YY to rok odkrycia, XXX to przypisany identyfikator.

Wróćmy do hakerów.Jakie rodzaje exploitów istnieją?

Tradycyjnie wszystkie można podzielić na trzy grupy:

  • exploit serwisowy
  • exploit klienta
  • wykorzystanie przywilejów

Exploit usługi atakuje określoną usługę, która na przykład nasłuchuje połączeń sieciowych. Usługa zbiera pakiety sieciowe i czeka, aż użytkownik zainicjuje połączenie z siecią (uruchomi przeglądarkę). A haker może zrobić to samo, tworząc własne pakiety dla tej usługi i powodując pełne uruchomienie usługi, która (bez wiedzy użytkownika) przedostanie się do sieci.

Exploit klienta– znany również jako exploit kliencki – koncentruje się na atakowaniu aplikacji klienckiej, która otrzymuje treść z komputera-serwera. Polega ona na tym, że ofiara wykona pewne działania, a program kliencki musi aktywnie pracować z tą treścią. Mówiąc najprościej, moim zadaniem jako hakera jest nakłonienie Cię do kliknięcia łącza, otwarcia dokumentu i przejścia do złośliwej witryny.

Wykorzystywanie przywilejów. Jej zadaniem jest wzmacnianie praw już istniejących w systemie. Na przykład uzyskaj uprawnienia administratora od gościa UZ. A tam niedaleko do SYSTEMU... Na przykład w Windows XP istnieje luka, w której prostymi ruchami można. Co więcej, luka leżała na powierzchni. Nie bądź leniwy i zajrzyj do artykułu – wyjaśnienia staną się niepotrzebne.

Proces exploita i jego rola w ataku na komputer.

Stopniowo zbliżamy się do zasady działania kompromisu systemowego. Każdy z tych etapów jest bardzo złożonym procesem, który wymaga wielotomowego przewodnika. Ale schematycznie można to przedstawić w następujący sposób:

  • potencjalnie podatny na ataki system jest skanowany w poszukiwaniu otwartych portów i uruchomionych usług
  • identyfikowane są punkty, w które można uderzyć
  • exploit wykorzystujący znaną lukę jest wysyłany do komputera zdalnego w tym lub tych punktach
  • do exploita dołączony jest ładunek (umożliwia kontrolę nad systemem ofiary)
  • jeśli exploit zadziała (jest uruchamiany jako pierwszy) i system ofiary odpowie, ładunek zostaje uruchomiony; Na podstawie wyników wykonania kodu ładunku haker uzyskuje dostęp do komputera ofiary
  • inne działania ograniczone są wyobraźnią hakera (pobieranie wirusów, usuwanie lub kopiowanie informacji itp.)

Jak to wygląda na żywo lub jak pracować z exploitem?

Na przykład używamy Kali Linux jako systemu operacyjnego hosta i Windows XP (exploit jest stary, począwszy od Windows XP SP2 robi to już mniej chętnie) jako systemu gościa w VirtualBox. Wiemy oczywiście, jakie cechy ma maszyna gościa w sieci (w naszym przypadku wirtualna), ale pozwólmy skanerowi Nmapa zrobi swoje. Podajmy „oficjalne informacje” o ofierze:

Nmap -v -n 192.168.0.162

gdzie 192.168.0.162 to adres IP ofiary. Jeśli znasz , to rozumiesz, że flagi:

  • – w pozwala uzyskać szczegółowy raport o adresie
  • - N wyłącza wsteczne wyszukiwanie DNS

Widzimy, które porty są otwarte i działają przez nie usługi. Przeskanujmy system, aby uzyskać bardziej szczegółowe informacje dotyczące systemu operacyjnego i wersji usługi. Polecenie przybierze postać (umiejscowienie flag zgodnie z poleceniem jest dowolne):

Nmap -T4 -A -v 192.168.0.162

Jest mnóstwo informacji. Wybieramy miejsce strajku. Istnieje cała masa otwartych portów, które są potencjalnymi tylnymi drzwiami do systemu wroga. Niech to będzie jeden z otwartych portów 135 z uruchomioną usługą mcrpc(znany jako RPC Microsoftu Windows- Z usługa zdalnego wywoływania procedur systemowych). Jedyne, co musimy zrobić, to wybrać odpowiedni exploit dla konkretnego procesu.

Baza danych eksploitów. Kilka sekund na teorię.

Jeśli aktualnie siedzisz w Cali, baza jest na wyciągnięcie ręki. Wszystko czego potrzebujesz to połączenie sieciowe i działanie konsola msf(inaczej zestaw narzędzi Metasploit). Stale aktualizowana baza exploitów, którą możesz zobaczyć już teraz uruchamiając konsolę konsola msf i wpisz polecenie pokaż exploity, wyświetli listę exploitów:


Wyświetlenie listy na ekranie jeszcze nic Ci nie powie. Zaprezentowano je w kolejności alfabetycznej, z datą publikacji, przypisaną rangą pod względem zastosowania i niezawodności działania oraz krótkim wyjaśnieniem, czemu mają służyć.

Rodzaj lustra podstawy jest znanym źródłem

https://www.exploit-db.com/

Jest również w całości poświęcony exploitom. I tutaj możesz (uzbrojony w słownik) dowiedzieć się więcej o historii exploita, pobrać go bezpośrednio (jeśli chcesz zbudować własny exploit, więcej o tym później) i zapoznać się z informacjami na temat exploita. Ogólnie rzecz biorąc, wszystkie smakołyki znajdują się tutaj. Ale jest coś jeszcze.

Niezłe źródło gdzie można znaleźć coś ciekawego to:

ru.0day.today/

Wielojęzyczny zasób oferujący nie tylko dobrze znane (czytaj: długo omawiane) exploity, ale także własne wersje uczestników. Dla pieniędzy. Odwiedź i sprawdź: obsługiwany jest tam również język rosyjski.

Kontynuujmy. Szukamy odpowiedniego exploita.

Metasploit Linki bezpośrednio do bazy danych exploitów, więc nie musisz pamiętać kroków, które widzisz: Metaty Dobrą rzeczą jest to, że jego kroki są zautomatyzowane (co jednak nie zawsze jest dobre). Artykuł dotyczy exploita i my go tylko wykorzystamy, tj. ręcznie. Znajdźmy to, pobierzmy, prześlijmy. Dlaczego ręcznie? Więcej na ten temat w akapicie Problemy z exploitami.

Jak znaleźć exploit, który Cię interesuje?

Jeśli interesuje Cię exploit, który można wykorzystać przeciwko konkretnej platformie lub programowi, nie musisz przewijać listy ponad półtora tysiąca ręcznych exploitów wyświetlanych przez polecenie

Pokaż exploity

Zamiast tego możesz wpisać takie polecenie w otwartej sesji Metas:

Nazwa wyszukiwania: typ smb: platforma exploitów: okna

Metas wyświetli tylko exploity działające w systemie Windows. Następnie, jeśli interesują Cię exploity przeglądarki w systemie operacyjnym Windows, dodaj nazwę do polecenia. Widzieć:

Msf > nazwa wyszukiwania: typ przeglądarki: platforma exploitów: okna

Ponadto w Kali Linux możesz bezpośrednio wyszukiwać exploity bezpośrednio z terminala, bez uruchamiania sesji Metas. Wpisz polecenie, aby wyszukać exploita w formacie:

Przeglądarka internetowa Searchsploit

Terminal zwróci Ci wszystkie dostępne exploity w bazie danych, która jest aktualizowana co tydzień.

Kontynuujmy...

Znamy więc usługę, widzimy typ systemu operacyjnego. Zatem w bazie danych wpisujemy: Szukaj-przycisk po wpisaniu żądania:

Windows RPC

Przed wyszukiwaniem przejdźmy do weryfikacji robota i zapoznajmy się z wynikami:

POWTARZAM. Wszystko, co zostało zrobione powyżej, można zrobić szybciej. W uruchomionym Metasie wpisz polecenie, aby wyszukać exploita w swoim Kali:

Jednak sytuacja, w której w bazie Metas nie można znaleźć odpowiedniego exploita, nie jest rzadkością. Kiedy więc lepiej zaznajomisz się z działaniem exploitów, możesz poświęcić więcej czasu na znalezienie i skonfigurowanie odpowiedniego exploita. W naszym przypadku przygotujemy pobrany exploit do ręcznego wstrzyknięcia. W terminalu konwertujemy go do pliku binarnego (najpierw przeciągnąłem 66.c z Pliki do pobrania V Pulpit):

Gcc 66.c -o 66

Teraz jest ich dwóch:

I przesyłam plik binarny exploita bezpośrednio do ofiary XP:

./66 6 192.168.0.162

System zareagował. Z naukowego punktu widzenia nazywa się to pomyślnym wynikiem kompromisu systemu. Tak naprawdę ten komputer jest już w rękach hakera. Haker widzi to tak, jakby siedział przy komputerze – może sterować systemem za pomocą poleceń konsoli. Przyjrzyjmy się teraz, jak exploit jest wykorzystywany pod kontrolą Metasa. „Zadzwoniliśmy” już do portów ofiary za pomocą Nmapa. I jak zauważyliście m.in. też jest otwarte 445 pod kontrolą serwisu Microsoft ds. W oknie Metasploit wybierz odpowiedni exploit:

exploit/windows/smb/ms08_067_netapi

Weźmy to pod uwagę:

Użyj exploita/windows/smb/ms08_067_netapi

Sprawdźmy co jest potrzebne do jego pomyślnej realizacji przez zespół:

Pokaż opcje

Linia z adresem zdalnego hosta RHOST jest pusta. Wypełnijmy go adresem IP ofiary:

Komputer nie należy już do właściciela.

Problemy z exploitami lub akapit dla tych, którzy lubią „gotowe”.

Ta część artykułu zasługuje na osobny temat. Ale na razie dam jej tylko akapit. Co czeka pentestera na drodze do wykorzystania exploita? Wyjaśnię to w prosty sposób (profesjonaliści mi wybaczą):

  • Pierwszym problemem jest starzenie się luki, na którą programiści niemal natychmiast instalują łatkę. Tak, zdecydowana większość istniejących exploitów nie jest warta uwagi. Są bezużyteczne – aktualizacje zabezpieczeń je zakrywają. Opcji jest więc kilka: używamy 0 dzieńdzień zerowy) – jeśli potrafisz je znaleźć i zastosować; albo odwracamy się do góry nogami i pracujemy na własną rękę; to jest problem numer jeden - musimy uczyć się od systemów operacyjnych i programów poprzednich generacji: powód jest prosty - programiści „zapomnieli” o wsparciu (typowym tego przykładem jest Windows XP) i nie reagują na pojawiające się luki nawet przy pomocy oficjalne powiadomienie (nie zapominając jednak o sprawdzeniu, czy luka ta pojawi się w działających wersjach programów lub systemów operacyjnych).
  • drugi problem (wynika z pierwszego) - jeśli opublikowano lukę i istnieje dla niej exploit, dziesiątki specjalistów już pracują nad tym, aby luka pozostała przeszłością. Dostają zapłatę. A ludzie, którzy szukają luk w zabezpieczeniach, też chcą otrzymywać zapłatę. Nie polegaj więc na utartych słabościach: piękno leży tam, gdzie ścieżka jest rzadziej uczęszczana. Jeśli pojawi się coś, czego potrzebujesz, ale nie masz inteligencji i doświadczenia, czasami musisz za to zapłacić (ryzyko, że pozostaniesz bez rezultatów i bez pieniędzy). I nie zawsze jest to wina pioniera luk w zabezpieczeniach i autora exploitów. Choćby dlatego, że istnieje trzeci problem...
  • Techniczne aspekty wykorzystania exploita są takie, że TO, CO DZIAŁAŁO w angielskiej lokalizacji systemu Windows, jest NAJPRAWDOPODOBNIEJSZE NIE BĘDZIE JAZDA po rosyjsku. Exploit napisany dla amerykańskiej wersji systemu Windows nie będzie w uzasadniony sposób działał w systemie rosyjskim. Wynik działania aplikacji może być nieoczekiwany: aż do cichego błędu typu Metase Wygląda na to, że exploit się nie powiódł dopóki awaria usług po stronie systemu ofiary nie spowoduje, że stanie się ona ostrożna. Później rozwiniemy ten temat.

To wszystko na teraz. Okazało się więc, że jest długi. Powodzenia nam.

Skąd się biorą spoilery? Czy zastanawiałeś się kiedyś, skąd pochodzą słabe wiadomości
czy wózek bagażowy zamienia się w naprawdę działający klucz główny? Jak dwa tuziny
linie kodu, czy możesz uzyskać powłokę na zdalnym serwerze? Dziś odwiedzimy
Sploituj fabrykę i zobacz szczegółowo, jak jest wykonana
produkt jakościowy.

Uruchom MSF eXploit Builder, przejdź do menu „Edytor” i wybierz „Nowy”.
Pojawi się okno z kilkoma zakładkami (Informacje, Badchars, Analiza,
Shellcode, projekt). Przejdźmy do zakładki „Informacje” i zobaczmy wiele ciekawych rzeczy
pola. Jak pamiętasz, ta sekcja wskazuje cele (OS + SP) i typ/protokół
exploit (na przykład Remote/tcp). Co więcej, program zapewnia nam
możliwość przetestowania i debugowania powstałego exploita, dzięki czemu możesz to zrobić natychmiast
wybierz plik wykonywalny i określ parametry jego uruchomienia (port, adres IP).

Wybierz więc nasz tftpd.exe, po czym narzędzie zaoferuje następujące działania
wybór: uruchom aplikację, uruchom ją w debugerze lub nie uruchamiaj
Generalnie po prostu uruchommy aplikację. Zwróć uwagę na to po prawej stronie
Wyświetlona zostanie lista plików DDL załadowanych przez aplikację.

Teraz zaczynamy przyglądać się kodowi exploita – na szczęście dla nas jest on niezwykle przejrzysty.