20170129-Webapplication Security Pentests Service

Transkrypt

20170129-Webapplication Security Pentests Service
WebapplicationSecurityPentestService
UsługaWSPSmanaceluodnalezieniewbadanymserwisieinternetowymlukbezpieczeństwa,
umożliwiających osobom niepowołanym dostęp do danych serwisu internetowego, jego
zniszczenie,kompromitacjębądźwykorzystaniegowatakunainnezasobywsieciInternet.
Wynikdziałaniaosóbniepowołanych
Stratyipotencjalnekonsekwencje
Kompromitacjaserwisu
•
•
•
Dostępdodanychsensytywnych
•
•
Kradzieżtożsamościwitrynyinternetowej
Wykorzystanielukbezpieczeństwawcelu
przeprowadzeniaatakunainneserwisy,bądź
włączenieserwisudosieciBotnet
Uzyskaniedanychosobowychzarejestrowanych
użytkowników
Dostępdodanychsensytywnychprawdziwych
użytkownikówserwisu
•
•
•
•
•
•
•
•
•
•
Stratywizerunkowe
Strataciągłościdziałaniaserwisu
Nakładfinansowypotrzebnynaodtworzenie
środowiskapowłamaniu
KaryfinansowedlaKlientówktórzypodlegają
podnadzórGIODO
Możliwośćwykorzystaniatreścistronydo
atakunainnychużytkownikówInternetu,
wyłudzeńinformacjizwykorzystaniem
„wizerunku”Klienta,któregoserwisy
internetowezostałyskompromitowane
Stratywizerunkowe
Stratyfinansowe
Odpowiedzialnośćkarna,zastraty
spowodowanewykorzystaniemzasobóww
atakachprowadzonychnainnecelewsieci
Obniżeniewydajnościdziałaserwisu
internetowego,
Stratywizerunkowe
Stratyfinansowe
OdpływKlientówdoserwisówfirm
konkurencyjnych,któreuzyskałydaneo
zarejestrowanychużytkownikach
Stratywizerunkowe
Stratyfinansowe
OdpływKlientówdoserwisówfirm
konkurencyjnych,któreuzyskałydaneo
zarejestrowanychużytkownikach
Metodykaprzeprowadzeniatestówbezpieczeństwa:
1. TestyBlackbox
Testywktórychpentesterzy,posiadająminimalnąwiedzęobadanymserwisie(np.tylko
informację o adresie internetowym badanego serwisu). Celem tego testu jest
odwzorowanie sytuacji, w której osoby niepowołane (potencjalni włamywacze), przy
wykorzystaniu luk odnalezionych w badanym serwisie budują wektory ataków, które
docelowomająposłużyćdokompromitacjiserwisu.
EtapymetodyBlackbox:
• Pozyskanieinformacjiozasobachinformatycznych,związanychz
funkcjonowaniemserwisuinternetowego(np.enumeracjastrefydns,określenie
wersjiisilnikabazydanych,językówprogramowania,sposobówdostępudo
serwisunapoziomieaplikacyjnymorazsystemowym)
• Analizaznanychpodatnościdlawybranychkomponentówsystemu(np.nie
aktualnejwersjimodułuWordpress)
• PróbaodwzorowaniaśrodowiskawlaboratoriumMGMSystems,celem
przygotowaniawektorówatakównakomponentysystemu
• Przygotowaniescenariuszadlanieinwazyjnychatakównaserwisinternetowy
Klienta
• Przygotowaniescenariuszadlatestówinwazyjnych(oileKlientwyraznanie
zgodę)
• Przeprowadzeniezestawutestówwlaboratorium
• PrzeprowadzenietestówwśrodowiskudocelowymKlienta,powcześniejszym
ustaleniuterminuorazzakresutestóworazprzygotowaniemplanuDisaster
RecoveryśrodowiskaKlienta
• Przygotowanieraportupoaudytwegowrazzokreśleniempoziomuzagrożenia
dlabadanejpodatności,informacjiopodatnościorazsposobierozwiązania
problemu.
Wektoryatakówwykorzystywaneprzytestachbezpieczeństwabadanegosystemu:
Wektorataku
Opis
Typzagrożenia
PathTraversal
RemoteFileInclusion
URLRedirectorAbuse
ServerSideInclude
Atakmanaceluuzyskaniedostępu
dodanychpozagłównymfolderem
aplikacjinaserwerze
Atakmaumożliwićzałączenie
zdalnegoplikuprzezskryptyna
serwerzeiuzyskaniedostępudo
danychwrażliwych
Atakmanacelusprawdzanie,czy
aplikacjęwebowąmożnaużyćdo
przekierowaniaużytkownikówna
zewnętrzne(niebezpiecznestrony
internetowe)
Atakmanacelusprawdzenie,czy
elementywebaplikacji
odpowiadającejzadynamiczne
generowaniezawartościstronysą
podatnenawstrzyknięcie
spreparowanegokodu
umieszczanegoprzedzawartością
(body)wygenerowanejstrony
Wyciekinformacji
Kompromitacjaserwera,naktórym
hostowanajeststronainternetowa
Wyciekinformacji/Manipulacja
informacją
Wykorzystaniedoatakówna
użytkownikówserwisu
Manipulacjainformacją/Dostępdo
fizycznychdanychna
serwerze/Uzyskaniefizycznego
dostępudosystemuoperacyjnego
CrossSiteScripting/Stored/
Reflected
SQLInjection
ForcedDirectoryBrowsing
HeaderPoisoning
ExternalRedirect
ParameterTempering
InformationGathering
Testing:Spiders,robots,and
Crawlers
Searchengine
discovery/Reconnaissance
AnalysisofErrorCodes
AuthenticationTesting
Atakmanacelusprawdzenie
podatnościserwisunatakitypuXSS
(spreparowanieskryptówJS
wywoływanychzadresuserwisu,
celemprzekierowaniaużytkownika
dostrontrzecich,bądź
wstrzyknięciadoużywanychprzez
nichprzeglądarekkodu
pozwalającegonaprzejęciekontroli
nadsystememużytkownika
końcowego)
Próbaatakówprzyużyciu
mechanizmówwstrzyknięciakodu
(spreparowanieżądaniadoserwera
aplikacyjnegomającenacelu
wykonaniewłasnegozapytaniado
bazydanychiuzyskaniedostępudo
danychwrażliwych,bądźteż
zniszczeniedanych/manipulacja
danymi)
Próbawylistowaniadanych,które
mająbyćniewidoczne/niedostępnez
poziomuaplikacjiwebowych
Manipulacjanagłówkamicelem
skierowaniaużytkownikówsystemu
naspreparowanąstronę
wyłudzającądane(np.próba
przekierowaniaużytkownikado
któregowysyłanyjestzsystemuemailzlinkiemdozresetowania
hasła)
Atakmanacelusprawdzenie,czy
aplikacjęwebowąmożnaużyćdo
przekierowaniaużytkownikówna
zewnętrzne(niebezpiecznestrony
internetowe)
Próbawykorzystaniaelementów
webaplikacji(takichjakpolaukryte,
elementyform,adresywywołań,
ciasteczkadozmanipulowania
danychwebaplikacji
Testyuzyskaniainformacjio
komponentachwebaplikacji
(systemuoperacyjnego,wersji
serwerawww,bazydanych,innych
serwisówdziałającychnaserwerze
aplikacyjnym
Testywylistowaniawszelkich
możliwychstruktur,ukrytychprzed
użytkownikiemwebaplikacji
Próbywykorzystaniamechanizmów
wyszukiwaniawbaziedanychdo
atakówwydajnościowych
(wykorzystaniespreparowanych
wzorcówidyrektywywyszukań
wzorców)
Próbaspreparowaniabłędnych
odwołań,napodstawiektórych
możnauzyskaćinformacjeo
wersjachposzczególnych
komponentówaplikacjiwebowej
(serwerwww,bazadanych,etc)
Testymechanizmówautoryzacji,
próbyominięciamechanizmów
autoryzacjiorazuzyskaniadostępu
dodanychużytkowników.
Wykorzystaniedoatakówna
użytkownikówserwisu
Wyciekinformacji/Manipulacja
informacją/Zniszczeniedanych
Wyciekinformacji
Wyciekinformacji/Manipulacja
użytkownikamiserwisu
Wykorzystaniedoatakówna
użytkownikówserwisu
Manipulacjainformacją
Uzyskanieinformacjisensytywnych
okomponentachsystemu
Uzyskaniedanychsensytywnych
Impaktnawydajnośćwebaplikacji
Uzyskanieinformacjisensytywnych
okomponentachsystemu
Manipulacjainformacją/Uzyskanie
nieautoryzowanegodostępu
Testymechanizmówautoryzacji,
próbyominięciamechanizmów
autoryzacjiorazuzyskaniadostępu
dodanychużytkowników.
Testymechanizmówpozwalających
nauzyskaniedanych
zarejestrowanychużytkowników
serwisuaplikacyjnego
Testymechanizmówbruteforcedla
uzyskaniadostępudokonta
użytkownika
Testyuzyskaniadostępuz
pominięciemmechanizmów
logowaniaiautoryzacji
Testypodatnościnauzyskanie
informacjisensytywnych,użycia
mechanizmównotyfikacjido
wysyłaniaspamu,uzyskanialisty
użytkownikówzwykorzystaniem
mechanizmów
resetowania/przypomnieniahasła
aplikacjiwebowej
Testybadającepodatnośćna
wykorzystaniesesjiużytkownikapo
wylogowaniu,zamknięciu
przeglądarkiinternetowej,testy
mechanizmówautomatycznego
wylogowanialubzamknięcia
nawiązanejsesji
Próbauzyskaniainformacjio
sposobieautoryzacjiużytkowników
poprzezanalizę"tokenówsesji"
(ukrytychpól,ciasteczekinumerów
sesji)
Próbywykorzystaniamechanizmów
wyszukiwaniawbaziedanychdo
atakówwydajnościowych
(wykorzystaniespreparowanych
wzorcówidyrektywysqlLIKE)
Wykrycieienumeracja
mechanizmówfirmtrzecichużytych
dostworzeniawebaplikacjiipróba
wykorzystaniadefaultowych
presetówdouzyskania
nieautoryzowanegodostępu
AuthenticationTesting
Testingforuserenumeration
TestingForBruteForce
TestingforBypassing
authenticationschema
TestingforVulnerableremember
passwordandpwdreset
TestingforLogoutandBrowser
CacheManagement
TestingforExposedSession
Variables
TestingforSQLWildcardAttacks
Defaultcredentialsforknown
frameworks
Manipulacjainformacją/Uzyskanie
nieautoryzowanegodostępu
Uzyskaniedanychsensytywnych
Uzyskanienieautoryzowanego
dostępu
Uzyskaniedanychsensytywnych
Uzyskaniedanychsensytywnych/
ataknawydajnośćserwisu
Uzyskaniedanychsensytywnych
Uzyskaniedanychsensytywnych
Impaktnawydajnośćwebaplikacji
Uzyskaniedanychsensytywnych/
Pełnydostępadministracyjny
2. TestyCrystalBox
Testpenetracyjnyzpełnąwiedzą–zespółtestującymapełnydostępdodokumentacji
projektowej,koduźródłowego,konfiguracjiurządzeńsieciowychitd.Wprzypadkuopieraniasię
wyłącznienatejwiedzymożnamówićo„przeglądziekodu”lub„przeglądziekonfiguracji”.
3. Zasoby
Testypenetracyjneaplikacjiweb,prowadzonesąprzezdoświadczonychInżynierów
Systemowych,InżynierówBazodanowych,Programistów,inżynierówsieciowychoraz
osobyzwiązanebezpieczeństwemITodponad20lat.
Kompetencjetechnologicznewzakresiezespołupentesterów:
• SystemyoperacyjneLinux/Unix
• Bazydanych:MySQL,MicrosoftSQL,Oracle,DB2,PostgreSQL,SQLite
• Językiprogramowania:Assembler,ANSIC,C++,ASP,PHP,JavaScript,Java,
Cordova,Python,Perl,Ruby
• Językiproceduralnesilnikówbazdanych:MySQL,MicrosoftSQL,Oracle,
PostgreSQL,
• SerweryHP,Dell,IBMwewszystkichmożliwycharchitekturach
• SilnikiserwerówWWW:Apache,Nginx,Litespeed,MicrosoftIIS
• PlatformywirtualizacjiCitrixXEN,KVM,VMWareESX,MicrosoftHyper-V
• Narzędziawspomagająceprocesutestówpenetracyjnych:PortswiggerBurpSuite,
OWASPZap,Rapid7MetasploitFramework,XenotixXSSExploitFramework