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