2010 02 Wstęp do w3af

background image

14

POCZĄTKI

HAKIN9 2/2010

A

plikacje internetowe przeznaczone
do zakupów on-line, uwierzytelnienia
użytkowników lub stosujących po prostu

wszystkie rodzaje zawartości dynamicznej
umożliwiają użytkownikom na interakcję z danymi
zgromadzonymi w bazie danych. W niektórych
aplikacjach dane te mogą być osobiste, więc
zastrzeżone. Jeśli te aplikacje internetowe nie są
zabezpieczone, cała baza danych z poufnymi
informacjami jest naprawdę narażona na
niebezpieczeństwo. Aplikacja internetowa, tak jak
wszystkie systemy informatyczne, musi mieć trzy
cechy charakterystyczne:

• poufność,
• dyspozycyjność,
• integralność.

Zabezpieczenie sieci oraz instalacja zapory
ogniowej nie stanowi ochrony przed atakami
z Internetu, gdyż są one uruchamiane na
porcie 80 (jest to domyślny port dla stron
internetowych), który musi być otwarty.

Regularny audyt aplikacji internetowych, w

celu znalezienia słabych punktów, które mogą
być wykorzystane przez hakerów, jest naglącą
sprawą dla kompletnej strategii ochronnej.

Dlaczego atakować aplikację

internetową?

Dziury w zabezpieczeniu internetowym
umożliwiają wykonanie coraz poważniejszych

RÉGIS SENET

Z ARTYKUŁU

DOWIESZ SIĘ

jak korzystać z w3af,

jak odzyskać i używać

informacji.

CO POWINIENEŚ

WIEDZIEĆ

znać podstawy działania stron

internetowych,

znać podstawy działania

ataków internetowych (SQL

Injection/ Code Injection/

wczytanie pliku).

działań przez piratów informatycznych. Czasy,
kiedy pirat strony internetowej zadowalał się
wyświetleniem prostego okna na stronie
użytkownika lub kradzież ciasteczka, już dawno
minęły.

W obecnych czasach piractwo

aplikacji internetowych jest o wiele
niebezpieczniejsze:

• całkowite lub częściowe usunięcie strony

internetowej,

• dostęp do poufnych danych użytkowników.

Jakie są powody takich działań? Piraci
informatyczni są głównie motywowani dwoma
powodami – sławą i pieniędzmi.

Sława

Usunięcie strony wchodzi często w zakres
tej kategorii piractwa. Usunięcie strony może
stanowić oznaczenie swojego terytorium
lub po prostu chęć bycia rozpoznanym
w środowisku piratów poprzez zmiany
naniesione na docelowej stronie WWW.

Pieniądze

Piratów przyciąga często chęć zysku
bezpośredniego lub pośredniego. Bezpośredni
zysk to dochód, który otrzymują dla siebie,
a zysk pośredni określany jest jako strata
dla wybranego przedsiębiorstwa. Kradzież
poufnych informacji, takich jak numery karty

Stopień trudności

Wstęp

do w3af

Piraci informatyczni skupiają coraz częściej swoje wysiłki na

aplikacjach internetowych, aby uzyskać poufne informacje i

wykorzystać wrażliwe dane, takie jak szczegółowe informacje

dotyczące klientów czy numery kart kredytowych.

background image

15

WSTĘP DO W3AF

HAKIN9

2/2010

bankowej, przynosi coraz więcej korzyści
w Sieci.

Jako przykład pośredniego zysku

przypomnijmy wydarzenie z 2006r., kiedy
to ChoicePoint zapłacił 10 milionów
dolarów na skutek kar cywilnych oraz 5
milionów dolarów odszkodowania dla
klientów po tym, jak osobiste katalogi
finansowe ponad 163 000 klientów
zostały skradzione z jego bazy danych.

A w lutym 2003 roku pewien pirat

informatyczny uzyskał ponad pięć
milionów numerów kart kredytowych
dzięki atakowi na aplikacje internetowe.

Jest już najwyższy czas włączenia

stron internetowych do polityki ochronnej
przedsiębiorstw, i to w sposób drakoński.
W tym celu przedstawimy naszym
czytelnikom w3af.

Czym jest w3af?

W3af, skrót od Web Application Attack
and Audit Framework
, jest, jak jego
nazwa wskazuje, frameworkiem
umożliwiającym automatyzację audytu
oraz ataków na aplikacje internetowe.
Dla czytelników, którzy znają Métasploit,
możemy porównać w3af do niego
w kwestii testów penetracyjnych na
aplikacjach internetowych.

W3af jest kompletnym frameworkiem

rozprowadzanym w licencji GPL (General
Public License
) napisanym w całości
w Pythonie. Jego kod zawiera bardzo
dobre komentarze, umożliwiające
wszystkim potencjalnym deweloperom
utworzenie własnych modułów/
eksploitów.

Ogólnie w3af może być podzielony

na trzy kategorie:

• odkrycie,
• audyt,
• atak.

Pluginy odkrycia mają na celu
wyszukiwanie formularzy, url lub ogólnie
wszelkich potencjalnych punktów
wstrzyknięcia złośliwego kodu. Pająk
jest klasycznym przykładem pluginu
odkrycia. Plugin ten bierze przy wejściu
adres URL i zwraca jeden lub kilka
punktów wstrzyknięcia.

Pluginy audytu oczekują na punkty

wstrzykiwania znalezione przez pluginy

odkrycia i wysyłają specjalnie utworzone
dane do tych ostatnich, aby znaleźć
słabe punkty. Klasycznym przykładem
pluginu audytu jest plugin, który
wyszukuje słabe punkty wstrzyknięcia
SQL.

Pluginy ataku mają na celu

wykorzystanie słabych punktów
znalezionych przez pluginy audytu i
odkrycia. Zwracają one zazwyczaj Shell
na zdalnym serwerze lub zrzut pamięci
zdalnych tabeli w przypadku eksploitów
wstrzyknięcia SQL.

Początek projektu

Projekt w3af narodził się na początku
2007 r. (koniec stycznia, początek
lutego), dzięki pracom jego jedynego
dewelopera Andrés Riancho. Jest
on znanym badaczem w świecie
informatycznym, szczególnie w strefie
aplikacji internetowych. W3af istnieje
obecnie w wersji 1.0-rc1.

Jego głównym celem jest

sprawienie, aby Internet stał się jak
najbezpieczniejszy ze względu na
wszystkie transmisje, które są obecnie tu
dokonywane.

Framework w3af jest przenośny

i może być stosowany na dowolnej

platformie, jeśli obsługuje ona Python
(Linux, WinXP, Vista, OpenBSD, itp.)

W przypadku, gdy środowisko Python

znajduje się na komputerze z w3af, istnieją
trzy sposoby, aby z niego korzystać:

• pobranie i instalacja pakietów

(rozwiązanie w Linuksie),

• pobranie i uruchomienie plików

binarnych (rozwiązanie w Windows),

• użycie zawartości w3af w LiveCD

Samurai.

W naszym artykule użyjemy więc LiveCD
Samurai Web Testing Framework
do
korzystania z w3af, w możliwie jak
najlepszych warunkach.

Dla informacji, Samurai Web

Testing Framework jest wstępnie
skonfigurowaną LiveCD przeznaczoną
do testów penetracyjnych stron
internetowych. Ta płyta LiveCD zawiera
najlepsze narzędzia z tej kategorii, czy to
open source czy też bezpłatne. Jest ona
dostępna pod następującym adresem
http://samurai.inguardians.com/.

Cel

Po sukcesie w3af w testach
penetracyjnych Internetu, celem Andrésa

Rysunek 1.

Zakładka Wyszukiwanie zaawansowane

Rysunek 2.

Precyzyjne informacje na temat dziury w zabezpieczeniu

Rysunek 3.

Linia poleceń W3AF

background image

16

POCZATKI

HAKIN9 2/2010

WSTĘP DO W3AF

17

HAKIN9

2/2010

Riancho jest zrobienie z w3af najlepszego
skanera aplikacji internetowych Open
Source oraz najlepszego framework
przeszukiwania słabych punktów
aplikacji internetowych. Według jego
własnych słów, chciałby, aby w3af stał
się nmap Internetu, to znaczy całkowicie
nieodzownym narzędziem.

W3AF i jego możliwości

Zanim zapoznamy się ze szczegółami
technicznymi oferowanymi przez w3af,
musimy sprecyzować, że istnieją dwa
różne sposoby korzystania z w3af:

• poprzez graficzny interfejs,
• z linii poleceń.

Interfejs graficzny w3af jest szczególnie
starannie wykonany i łatwy w użyciu.
Opiera się na bibliotece GTK. Używanie
interfejsu graficznego nie jest
ograniczone i pozwala na korzystanie ze
100% możliwości w3af.

Można także stosować linię

poleceń, aby korzystać z w3af. Linia ta
umożliwia wykonywanie tych samych
poleceń, co poprzez interfejs
graficzny.

Ze strony technicznej w3af dzieli

się na dwie części: rdzeń zarządzający
całością procesów oraz komunikacją
między pluginami. Powiedzieliśmy
wcześniej, że w3af składa się ogólnie z
trzech części: odkrycia, audytu i ataku.

Teraz spróbujemy poznać w3af

bardziej szczegółowo, prezentując
8 oddzielnych kategorii, którymi
dysponuje:

• odkrycie,
• audyt,
• ataki,
• Grep,
• zmiany zapytania,
• unikanie,
• metoda siłowa,
• wyświetlenie.

Jak już wspomnieliśmy celem pluginów
odkrycie jest wyszukiwanie punktów
wstrzykiwania na stronie internetowej (url,
formularze, strony uwierzytelnienia).

Pluginy audytu przejmują punkty

wstrzykiwania znalezione przez pluginy
odkrycia i próbują znaleźć specyficzne
słabe punkty.

Pluginy ataku analizują słabe

punkty znalezione przez pluginy audytu.
Zwracają one zazwyczaj Shell na
zdalnym serwerze lub zrzut pamięci
zdalnych tabeli w przypadku eksploitów
wstrzyknięcia SQL.

Pluginy typu grep analizują zawartość

wszystkich stron i próbują znaleźć słabe
punkty na analizowanych stronach.
Niektóre pluginy będą na przykład
próbowały uzyskać komentarze na
stronach HTML ze słowami kluczowymi,
takimi jak password, admin itp.

Pluginy zmiany zapytań

umożliwiają, zgodnie ze swoją nazwą,
wprowadzenie zmian w zapytaniach
oraz odpowiedziach serwera przed ich
przekierowaniem. Należy zrozumieć, że
dzięki takim narzędziom, można łatwo
obejść kontrole wprowadzone po stronie
klienta przez JavaScript, na przykład,
zarządzanie maksymalnymi długościami
pola dzięki atrybutowi maxlength.

Pluginy unikania próbują obejść

wszystkie zasady określone przez IDS
(Intrusion Detection System) lub IPS

Rysunek 4.

Lista dostępnych poleceń

Rysunek 5.

Analiza wyników w przestrzeni Log

Rysunek 6.

Listing potencjalnych

niebezpieczeństw

background image

16

POCZATKI

HAKIN9 2/2010

WSTĘP DO W3AF

17

HAKIN9

2/2010

(Intrusion Prevention System), aby nie
zostały odkryte.

Pluginy metody siłowej umożliwiają

wykonanie ataków metodą siłową
na przykład na formularzach
identyfikacyjnych.

I wreszcie pluginy wyświetlenia to

sposób w jaki pluginy komunikują z
użytkownikiem. Pluginy wyświetlenia
zapisują dane w pliku tekstowym lub HTML.

Oficjalna dokumentacja

przygotowana przez Andresa Riancho
pokrywa głównie stosowanie w3af z linii
poleceń. Dokumentacja ta jest dostępna
pod następującym adresem: http:
//w3af.sourceforge.net/#documentation.

Aby nie powielać tej doskonałej

pracy, w której wyjaśniono prawie
wszystko, zaprezentujemy po prostu cały
atak via interfejs graficzny.

Zanim przejdziemy do konkretnego

przypadku wykonamy niewyczerpującą
listę kilku pluginów ułożonych kategoriami.
Audyt:

• SQL injection detection,
• XSS detection,
• SSI detection,
• Local file include detection,
• Remote file include detection,
• Buffer Overflow detection,
• OS Commanding detection,
• Response Splitting detection.

Odkrycie:

• Pykto,
• Hmap,
• fingerGoogle,
• googleSpider,
• webSpider.

Grep:

• collectCookies,
• directoryIndexing,
• findComments,
• pathDisclosure,
• strangeHeaders.

Wyświetlenie:

• konsola,
• htmlFile,
• textFile.

Zmiany zapytań:

• sed, edytor zapytań http.

Unikanie:

• reversedSlashes,
• rndCase,
• rndHexEncode.

Atak:

• davShell,
• fileUploadShell,
• googleProxy,
• localFileReader,
• mysqlWebShell.

A teraz wykonamy atak na stronę WWW,
prezentującą artykuły, do których można
dodawać komentarze.

W3AF w praktyce

Aby uzyskać możliwie najbardziej
precyzyjne wyniki, należy dobrze wybrać
opcje oraz pluginy, których zamierzamy
użyć. W naszym przypadku użyjemy
skonfigurowanych profilów do wykonania
naszego skanu.

W3af zawiera cztery domyślne

profile:

• OWASP Top 10 zawiera pluginy

audytu, odkrycia oraz grep,

Fast Scan zawiera pluginy audytu i

odkrycia,

Full Audit zawiera pluginy audytu,

metody siłowej, odkrycia i grep,

Full audit manual disc zawiera

pluginy audytu, metody siłowej,
odkrycia i grep.

Aby uzyskać jasny i precyzyjny wynik,
rozpoczniemy od Full Audit. Należy
po prostu kliknąć Full Audit w menu
Profile, podać adres wybranej strony
internetowej oraz rozpocząć analizę
klikając Start. Teraz wszystkie
pluginy znajdujące się w różnych
wybranych kategoriach uruchomią
się jeden po drugim, aby uzyskać jak
najwięcej wyników. Dzięki zakładce
Log można wykonać szybki podgląd
punktów znalezionych przez w3af
takich jak informacje, błędy lub słabe
punkty.

Można na przykład zobaczyć, że

strona comment.php jest podatna na

Rysunek 7.

Wstrzyknięcie XSS powiodło się

Rysunek 8.

Listing modułów umożliwiających znalezienie różnych dziur

background image

18

POCZATKI

HAKIN9 2/2010

WSTĘP DO W3AF

19

HAKIN9

2/2010

ataki typu wstrzykiwania SQL. Strona ta
będzie więc analizowana w późniejszym
czasie.

W tym samym okienku co

poprzednio można również uzyskać

interpretację graficzną bieżących
analiz, przypominającą schemat na
Rysunku 10. Grafika ta pokazuje nam
wiele szczegółów na przykład czas
(w sekundach) analizy wykonanej

przez w3af lub moduły, które będą
wykonane w czasie rzeczywistym
(audyt.bufferOverflow w momencie
wykonania zrzutu ekranu).

Po kilku minutach analiza wybranej

strony jest zakończona i można
nareszcie analizować wyniki, które
nam proponuje w3af. Dzięki głównemu
paskowi można wykonać szybko
pierwszą prostą analizę na temat
rodzaju informacji przekazanych przez
w3af. Można wybrać Słabe punkty i/lub
Informacja i/lub Błąd.

Możemy także wykonać bardziej

precyzyjne wyszukiwanie dzięki części
ukazanej na Rysunku 5, umożliwiającej
wyszukiwanie słów lub fragmentów
słów w dostępnych informacjach.

Po analizie dzienników log możesz

przejść do zakładki Wyniki, aby uzyskać
bardziej wyczerpujące informacje
na temat poprzednio znalezionych
informacji.

Dzięki temu interfejsowi można

streścić wszystkie informacje
znalezione przez w3af w całej
zawartości wybranej strony internetowej.

Łatwo jest na przykład dzięki niemu

zidentyfikować słabe punkty typu
Wstrzyknięcie XSS, SQL Injection.

Tak jak dla dzienników log można

analizować wyniki w zależności od ich
rodzajów (Słabe punkty, informacje
i problem z konfiguracją), aby mieć
możliwość szybkiego rzucenia okiem
na potencjalne problemy.

Obszerniejsze informacje są

przedstawione w części po prawej
stronie, aby zrozumieć, które strony są
podatne i na jaki rodzaj ataku. Można
także zobaczyć zapytania wysłane do
serwera oraz jego odpowiedzi, aby
wprowadzić możliwe zmiany poprzez
przewidziane do tego pluginy.

Zakładka Eksploit przekazuje

nam informacje o pluginie, któremu
udało się znaleźć słaby punkt do
wykorzystania.

Rysunek 8. pozwala nam zrozumieć,

że słaby punkt umożliwiający
wykorzystanie ataku typu SQL Injection
został znaleziony przez dwa pluginy
mysqlWebShell i sqlmap.

Sprawdzimy więc, czy to co mówi

się o w3af jest prawdą i wykonamy

Rysunek 9.

Zakładka Wyszukiwanie

Rysunek 10.

Interpretacja graficzna bieżących analiz

Rysunek 11.

Wybrana aplikacja internetowa

Rysunek 12.

Interfejs graficzny W3AF

background image

18

POCZATKI

HAKIN9 2/2010

WSTĘP DO W3AF

19

HAKIN9

2/2010

testy ręczne. Według w3af, strona
add_comment.php jest podatna na
ataki typu Wstrzyknięcie XSS, teraz to
udowodnimy.

Komentarz jest podstawowym

wstrzyknięciem XSS, który precyzuje po
prostu, że okno dialogowe otworzy się,
jeśli strona jest naprawdę podatna na
tego typu atak. Zapiszmy komentarz i
wyświetlmy go na Rysunku 15.

Na stronie umożliwiającej

wyświetlenie komentarzy widzimy, że
nasze okienko dialogowe wyświetliło
się, udowadniając, że wstrzyknięcie
XSS zadziałało i że w3af wykonał
dobrze swoją pracę.

Podsumowanie

Jako podsumowanie musimy
powiedzieć, że Web Application Attack
and Audit Framework
jest naprawdę
kompletnym, praktycznym i łatwym w
użyciu frameworkiem audytu i analizy
podatności aplikacji internetowych.

Zarówno jego interfejs graficzny,

jak i linia poleceń są kompletne
i umożliwiają precyzyjne audyty
o wysokiej jakości osobom
odpowiedzialnym za bezpieczeństwo
systemów informacyjnych.

Zauważmy również, że w3af

znajduje się także w doskonałej
dystrybucji przeznaczonej w całości
testom penetracyjnym aplikacji
internetowych: Samurai Web Testing
Framework.

Na płycie CD dołączonej do

magazynu dołączony został program
W3AF.

Rysunek 13.

Pierwsza analiza wykonana przez W3AF

Rysunek 14.

Zrzut ekranu

Rysunek 15.

Komentarz do analizy XSS

Régis Senet

Régis Senet jest obecnie studentem czwartego

roku w Wyższej Szkole Informatycznej Supinfo.

Ten pasjonat testów penetracyjnych oraz słabych

punktów w Internecie próbuje odkryć bezpieczeństwo

informatyczne z punktu widzenia przedsiębiorstwa.

Obecnie chce się poświęcić kierunkowi CEH

(etyczny haker), LPT (licencjonowany tester testów

penetracyjnych) i Offensive Security.

Kontakt z autorem: regis.senet@supinfo.com.

Strona domowa: http://w3af.sourceforge.net/.


Wyszukiwarka

Podobne podstrony:
02[2]Wstep do teorii sprezystosci
02 Wstęp do C
WYKŁAD 02 wstęp do elektro
02 Wstęp do C
Wstęp do teorii tłumaczeń 22.02.2010, moczulski
Wstęp do teorii tłumaczeń 31.05.2010, moczulski
Wprowadzenie do Pedagogiki 02.12.2010, RESOCJALIZACJA, wprow. do pedagogiki wykłady
WstĂŞp do Filozofii wykÂł. IV - 03.11.2010, Wstęp do filozofii
WstĂŞp do Filozofii wykÂł.V - 10.11.2010, Wstęp do filozofii
Wstęp do prawoznawstwa 12 2010
PD W2 Wstep do j Prolog(2010 11 05) 1 1
wyklad 1 22.02.2008, Administracja UŁ, Administracja I rok, Wstęp do prawoznawstwa
Wstep do prawoznawstwa 11 2010
WSTĘP DO JĘZYKOZNAWSTWA, WYKŁAD I, 02 11
Wstęp do teorii tłumaczeń 22.03.2010, moczulski
Wstęp do teorii tłumaczeń 12.04.2010, moczulski
wyklad 2 29.02.2008, Administracja UŁ, Administracja I rok, Wstęp do prawoznawstwa

więcej podobnych podstron