Zdravím Vás,

jmenuji se Marek Tóth a zabývám se IT bezpečností, především se zaměřuji na hledání bezpečnostních zranitelností ve webových aplikacích. O tuto oblast se aktivněji zajímám od roku 2018.

Ve svém volném čase se snažím dělat internet o trochu bezpečnějším místem a hledám webové zranitelnosti, které by mohl někdo zneužít. Nálezy následně reportuji prostřednictvím bug bounty programu nebo je zasílám přímo konkrétní společnosti.

Pracovní zkušenosti

05/2022 - do současnosti Vulnerability Researcher, Excello
03/2020 - 04/2022 Penetrační Tester (Etický Hacker), Avast
01/2019 - 02/2020 QA Engineer, Avast
03/2017 - 10/2018 QA Engineer, Mall
10/2016 - 02/2017 Software Tester, Tipsport
07/2015 - 09/2016 Customer & Technical Support, Tipsport

Přednášky

Automatické vyplňování ve správci hesel byste si měli vypnout
05/08/2021, OWASP Czech Chapter Meeting

Vysvětlena rizika při použití autofillu ve správci hesel (blog)
- 9 ze 16 prohlížečů a správců hesel mělo zapnuté automatické vyplňování v základním nastavení
- celkově u 11 ze 16 prohlížečů a správců hesel bylo možné ukrást uložené heslo do jednoho kliku myší

Prezentováno v angličtině

Česká e-shopová řešení z pohledu bezpečnosti & Krádež cookies na Seznam.cz
01/12/2020, OWASP Czech Chapter Meeting

Česká e-shopová řešení z pohledu bezpečnosti (blog)
- více než 34 500 převážně českých e-shopů mělo poměrně kritickou zranitelnost (krádež databáze, změna cen produktů, kompletní převzetí správy eshopu)

Krádež cookies na Seznam.cz (blog)
- útočník získal přístup do emailu oběti, pokud přihlášený uživatel otevřel stránku obsahující útočníkův kód
- potenciálně zranitelných 8 milionů aktivních e-mailových schránek

Prezentováno v angličtině - online

Workshopy

Tipy a triky pro testování webových aplikací
08/11/2020, Digitální akademie: Testování, Czechitas

Zaměřeno na časté chyby vývojářů a opomíjené testovací scénáře testerů
Chyby ukázány na produkčních webech Alza.cz, Aboutyou.cz a Mall.cz
Během workshopu nalezena bezpečnostní/business chyba na https://moje.czechitas.cz (changelog)

Napsali o mně

Pronajímané e-shopy většinou nejsou bezpečné. Zranitelných bylo 34 500 - Seznam Zprávy
Seznam měl vážnou chybu ve svém e-mailu. Útočník se mohl dostat do schránek uživatelů - Živě.cz
Seznam měl vážnou zranitelnost, šlo se dostat do e-mailů uživatelů - Lupa.cz
Seznam umožňoval únos sezení - Instaluj.cz
Seznam.cz byl děravý, bylo možné ukrást účet. Tím i přístup do e-mailu a k dalším službám - rychlofky.cz

Cesta k IT bezpečnosti

Oblast IT bezpečnosti mě zajímala už od dětství, v té době jsem tomu vůbec nerozuměl a byl jsem jen tzv. script kiddie. Například už na základní škole jsem našel SQL injection v přihlašovacím formuláři na stránkách školy, ale vůbec jsem neměl ponětí jak to funguje - prostě jsem zkusil něco, co jsem našel na internetu. Během práce na zákaznické podpoře jsem se snažil hledat bezpečnostní zranitelnosti, ale stále jsem narážel na neznalost v oboru. Nacházel jsem buď malé bezpečnostní nedostatky („highlightem“ mojich znalostí byl v té době Clickjacking 🙂) nebo jsem nacházel jen uživatelské chyby, což mě přivedlo k pozici testera.

Z počátku jsem věnoval pozornost nové pozici v IT, snažil jsem se hledat co nejvíce vývojářských chyb, ale stále ve mně něco hlodalo. Vadilo mi, že často mé nahlašované bugy nemají výraznější dopad na uživatele nebo na společnost. Chtělo to změnu, a na jaře 2018 jsem začal aktivněji hledat informace o security testování. Po několika měsících samostudia a zkoušení formou pokus-omyl se začaly dostavovat první zajímavější výsledky.

Od roku 2019 se o oblast bezpečnosti webových aplikací zajímám na denní bázi s tím, že v daném roce jsem začal i s bug bounty programy. Prvně se jednalo o Hacktrophy, později to byl Hackerone. Z mého pohledu jsou zkušenosti z bug bounty programů největším přínosem pro testera. Nejenom, že získá praktické zkušenosti z různých webových aplikací, ale je také nucen přemýšlet nad rizikem nalezené zranitelnosti a nad kombinací zvyšující celkový dopad... aneb no significant impact, no money 💰

Hledání zranitelností

Jak jsem již uvedl, tak mé praktické začátky byly na bug bounty platformě Hacktrophy. Ceník z jednoho bug bounty programu, se kterým jsem několik týdnů pracoval, vypadal například takto. Dodnes čerpám z této zkušenosti a stále mám zakotveno, že pokud se nejedná o zranitelnost s významným dopadem, tak to nemá cenu zapisovat. V případě mé současné pracovní pozice se toho samozřejmě držet nemohu, ale pokud se jedná o nahlašování cizím společnostem, tak se vždy snažím nahlašovat pouze závažnější zranitelnosti.

U webových aplikací se momentálně zaměřuji především na hledání client-side zranitelností s tím, že mým cílem je dopad typu Account Takeover, Session Hijacking, API/Bearer/JWT Token Stealing. Cílím tedy na zranitelnosti umožňující absolutní nebo omezenou kontrolu nad účtem. Jelikož se jedná o zranitelnosti na klientské straně, tak je nutná interakce od uživatele, a proto vždy usiluji o to, aby mým výsledkem byl maximálně odkaz bez další akce od uživatele - už otevřením odkazu chci po uživateli hodně.🙂

Vždy se snažím vyhledávat takové zranitelnosti, které jsou hůře detekovatelné a daly by se primárně použít na lidi v IT. Pokud by to na ně fungovalo, tak bych měl jistotu, že by byl útok funkční i na lidi mimo IT obor. S obraceným přístupem by to bylo sice snazší, ale nedalo by se to tak použít. Řídím se tedy často pravidlem: Pokud by použitá technika útoku na mě nefungovala, tak ji dále neřeším a přemýšlím nad jiným způsobem. Napíšu-li to jinak - jsem hodně orientovaný na dopad (impact). Jestliže z 1000 lidí bude útok funkční u 10 lidí, tak tento způsob neřeším a soustředím na techniku, která by fungovala na zbývajících 990 lidí. Minimálně by měla být má nalezená zranitelnost funkční pro více než 50% všech uživatelů dané webové aplikace.🙂