Za kulisami Bug Bounty

Autorem tekstu jest Dawid Bałut.

Bug bounty – szacunek, wdzięczność a jednocześnie cwaniactwo i ściema.

no_more_free_bugsZacznijmy od tego czym jest Bug bounty. Jest to program nagród przyznawanych odkrywcom błędów (czyli tak zwanych „bugów”). Ja skupię się w tym artykule na błędach mających wpływ na bezpieczeństwo (serwisów internetowych, aplikacji internetowych, danych na owych podmiotach zawartych). Piszę jako osoba korzystająca z programów bug bounty, a swoje opinie bazuję na współpracy z kilkudziesięcioma korporacjami.

Założeniem programu nagród za odkryte błędy, było zachęcenie ludzi do szukania i zgłaszania błędów twórcom oprogramowania. Istnieją nawet serwisy, które skupiają ludzi się tym zajmujących, jak na przykład Bugcrowd.

Crowdsourcing

Crowdsourcing, czyli praca wykonywana przez tłum ludzi jest rzeczą świetną, bo nie płacisz każdej osobie która szuka błędu. Płacisz tej osobie, która błąd znajdzie. Nie liczy się to czy szukałeś, liczy się to czy znalazłeś.

Programy Bug Bounty

Korporacje takie jak Facebook, Google czy Paypal postanowiły otworzyć taki właśnie program i było to świetną decyzją. Ludzie, gdy widzą, że za dobrze wykonaną robotę czeka ich  wynagrodzenie chętniej podchodzą do tematu.

Firmy zdobywają więc uwagę wszelakich bug hunterów (ludzi szukających podatności) począwszy od black hatów (hakerów, którzy mają niecne zamiary) po zwykłych internautów, którzy chcą spróbować szczęścia. Niektóre firmy oferują nagrody pieniężne, wpis na „Hall of Fame” (stronę poświęconą osobom zasłużonym w programie BB), koszulki i inne gadżety, ale są też cebulaki, którzy oferują eurogąbki.

No dobra założenie jest fajne, prawda? Za znalezione podatności dostaję pieniądze, firma jest bezpieczniejsza, więc oboje mamy profit. Właśnie – założenie, bo w praktyce wygląda to różnie…

Co oferują programy Bug Bounty?

Firmy posiadające program bug bounty dzielą się w zasadzie na dwa typy.

Przeważająca jest ilość takich, które doceniają i szanują resarcherów (osoby zgłaszające błędy), znają wartość ich pracy i tak dalej.  Drugi typ to te firmy, które posiadają program BB po to, żeby sprawiać wrażenie przyjaznej i poprawić sobie PR, a suma sumarum – mają ten program i ludzi z niego korzystających (a raczej chcących korzystać) gdzieś.

scoopitSą też firmy, które nie mają oficjalnego bug bounty, ale w ramach podziękowania coś oferują. Przykładem niech będzie firma scoop.it, która nigdzie nie ma notacji o programie bug bounty, ale za kilkanaście błędów bezpieczeństwa wysłała mi firmową bluzkę. Ocenę tego wynagrodzenia zostawiam Wam, ale moim zdaniem lepsze to niż pakiet eurogąbek 🙂

homeshirtDocenić też muszę gest polskiej firmy – Home.pl, z którą już miałem przyjemność współpracować, a po ostatnim raporcie dostałem taką oto koszulkę (jest świetna).

Dlaczego chwalę Home.pl za ich zachowanie? Dlatego, że wiele firm, szczególnie polskich nie potrafi się zachować jeśli chodzi o współpracę z bug hunterami.

Allegro

Jest taka korporacja, dla której zgłoszenie 42 błędów typu Cross Site Scripting, 2 SQL injection, 2 Infinite Loop i kilku Open redirectów nie zasługuje nawet na podsumowującego maila z podziękowaniem czy  inny kubek. Znaleziska te według bug bounty Google’a, licząc po najniższej stawce wyniosłyby za te „prezenty” ~135 tysięcy dolarów. Oczywiście nie chodzi mi o to, aby Allegro płaciło kilka tysięcy $ za błąd bezpieczeństwa. Chcę tylko zobrazować Wam jak to wygląda.

Nieporozumieniem jest dla mnie sytuacja kiedy zgłasza się kilkadziesiąt błędów w sztandarowych produktach mających ogromny wpływ na bezpieczeństwo danych i użytkowników, i nie otrzymuje się odpowiedzi.

Logo Allegro

Już mówię z czego to wynika – z zapatrzenia w siebie, kompleksów i poczucia wstydu, że ktoś kto nie zna infrastruktury i na portalach na które wchodzi po raz pierwszy w życiu znajduje ogrom błędów. Tak więc sugeruję  schować ego w kieszeń, bo mamy wspólny cel – poprawę bezpieczeństwa.

Nie ma tu ani czasu ani sensu na niepoważne zachowania. Powinniśmy współpracować… Ale przecież lepiej mieć w nosie badaczy bezpieczeństwa (z ang. security researcher, bowiem tak określa się osoby badające bezpieczeństwo), a później płakać – bo wycieki danych, bo włamania, bo hakują bo coś tam jeszcze się stało, niedobre hakiery!

Jeśli nie szanuje się czyjejś pracy, to nie ma co później oczekiwać, że ta sama osoba, którą źle się potraktowało, znowu pokornie zgłosi błędy. Tak to nie działa, bo na szczęście bug hunterzy mają godność i szacunek dla własnej pracy.

Mimo, że zdarzają się zagraniczne portale, które stosują metodę „łataj i nie odpowiadaj” to i tak „Nasze” firmy w tym przodują. Do powyższej metody stosują się przede wszystkim portale oferujące usługi e-poczty (o2 / wp / Interia), e-wydawnictwa(Merlin), Groupon (gratulacje za SQLi, które wiszą przez kilka miesięcy), o bankach nie wspominając – ci wymiatają konkurencję…

Jakie firmy polecam Wam do współpracy?

Facebook, Google, PayPal (choć często ściemniają, nie zaliczają, jeśli wyślesz kilka błędów to zaliczą Ci jeden, resztę określą jako dubel, a po przelaniu środków na Twoje konto PayPal zablokują je uniemożliwiając Ci wybranie pieniędzy 🙂 ) czy Barracuda™.

Kto nie czuje idei bug bounty?

Z firm, z którymi korespondowałem to Pinterest, Valve, Blizzard, Ubisoft, AT&T, Dailymotion, Grupa Allegro, banki.

Chociaż może i Valve Cię nie „oleje”, i wyśle Ci to co mnie za 2 XSSy (1 stored na steamcommunity, drugi reflected na steam store)…

topor_steam

Dawid Bałut

Włamy po PageRank

Forum Security NewsJak informuje strona znanego systemu katalogu linków PHPLd, natrafili na ślad grupy, która włamując się na strony z wysokim PageRankiem, oferuje wysoko płatne usługi publikowania tam linków:

Google PageRank Hacked by Directory Network

Przykładowa strona, na której znajdziecie ukryte linki:

http://www.mfa.fo/ (PageRank 6)

Google od 8 miesięcy ignoruje raporty, dzięki czemu przestępcy mogli zarobić olbrzymie pieniądze za dostęp do stron z tak wysokim PageRankiem.

Wywiad z pentesterem

Cześć, przedstaw się naszym czytelnikom, skąd jesteś i czym się zajmujesz w te upalne dni?

Dawid BałutHey, nazywam się Dawid Bałut, mieszkam rzut pakietem od Wrocławia :). W upalne dni zajmuję się dostarczaniem sporej ilości wody do organizmu, a w te mniej upalne bug huntingiem, czyli w moim przypadku szukaniem luk bezpieczeństwa na portalach internetowych.

Kiedy zaczęła się twoja przygoda z hackingiem?

Sztuka infiltracji - Kevin MitnickJakoś na początku maja ubiegłego roku. Brat będąc w empiku, kupił po przecenie „Sztukę infiltracji” Mitnicka. Leżała na półce przez dobre dwa miesiące, aż pewnego dnia był w mojej miejscowości problem z elektrycznością. Z braku laku wyciągnąłem książkę i przy świeczkach przeczytałem całą za jednym strzałem. Temat hackingu zaciekawił mnie na tyle, że następnego dnia zacząłem troszkę o tym googlować. Kilka dni później dostałem od brata kolejną książkę, tym razem Kevina Poulsena – „Haker: Prawdziwa historia szefa cybermafii”. Lektura traktuje o przygodach genialnego Hakera – Maxa Butlera, który aktualnie odsiaduje trzynastoletni wyrok i opuści więzienie w 2019 roku.  Ta lektura wywołała u mnie taki apetyt, że musiałem wiedzieć jak to wszystko działa. No i dalej sprawy potoczyły się same…

Od kiedy zajmujesz się pentestami?

Tak „na poważnie” to od początku tego roku. Bodajże 14 stycznia dostałem pierwsze zlecenie na przeprowadzenie testu penetracyjnego średniego rozmiaru komercyjnej Webaplikacji.  Jakiś czas później dostałem zlecenie zbadania sprawy włamania na sporego rozmiaru forum i przeprowadzenie pentestu. Od tego czasu do dziś trafiło się kilka kolejnych zleceń 🙂

Skończyłeś jakieś studia informatyczne czy jesteś samoukiem?

Od A do Ż samoukiem. Poziom edukacji, której miałem (nie)przyjemność doświadczyć nie za bardzo przekonał mnie do kontynuowania zdobywania wykształcenia. Wiem już co chcę w życiu robić, mam jasno wyznaczone cele i sukcesywnie do nich zmierzam. Mam nadzieję, że wszystko będzie szło zgodnie z planemJ

W jakich projektach dotąd brałeś udział i na jakich znanych stronach znalazłeś luki?

Hmm, z tych ostatnich to będą: Facebook, PayPal, Apple, Amazon, Steam, Slideshare, Pinterest, Pocket, Scoop.it, natomiast z polskich: Interia, wp.pl, o2, groupon, helion, merlin, kilka banków i co najmniej po jednym bugu na każdym z portali Grupy Allegro.

Facebook Bug Bounty

Czy podzielasz opinię, że niezamówiony pentest powinien być karalny?

Poniekąd. Ciężko odpowiedzieć na to pytanie ogólnie, ale według mnie powinno to wyglądać w ten sposób, że jeśli ktoś znajduje błąd i go zgłasza, powinien otrzymać co najmniej podziękowania. Na pewno niezamówiony pentest nie powinien wyglądać tak, że rzucamy się na stronę, dosujemy, robimy dumpa bazy, kradniemy konta użytkowników i wgrywamy backdoora. Za takie coś jak najbardziej powinna przysługiwać kara. Często haker chce dać nauczkę programiście/adminowi w wyniku czego, jedyną osobą, która faktycznie obrywa jest użytkownik (na przykład przy zrzucie i sprzedaży bazy danych, w której zawarte są personalia użytkownika).

Jednak nieporozumieniem jest sytuacja kiedy zgłaszam komuś błąd i jestem straszony sądem. Zgłaszam błąd, załataj go i ewentualnie podziękuj. Niczego więcej nie wymagam, bo to niezamówiony pentest, ale hej – informuję Cię o tym, że dałeś ciała i nie zabezpieczyłeś strony poprawnie. Wyręczyłem Cię z trudnej roboty, może nawet właśnie zaoszczędziłeś pieniądze, które miałeś wydać na pentest. Miej trochę honoru i nie unoś się dumą tylko popraw się!

BugOczywiście są programy bug bounty, gdzie niezamawiany pentest jest według wyników nagradzany, co jest super, ale częściej znajduje się błędy na „zwykłych” stronach. Jeśli używam danej strony, to chciałbym żeby moje dane były tam bezpieczne. Jednak trzeba mieć umiar i być ostrożnym by przypadkiem nie wyrządzić szkód, czyli np. nie zdosować serwera. Nasze dobre intencje mogą przynieść katastrofalne skutki, więc uważajmy na to jakie payloady wklepujemy.

Nie chcę robić z bug hunterów świętych krów, ale trochę szacunku im się należy. A niektóre krążące porównania, jak np. to „To tak jakby ktoś włamał Ci się do domu i powiedział, że masz słaby zamek w drzwiach” – są po prostu żałosne. My wskazujemy, że masz słaby zamek w drzwiach, ale do tego domu nie wchodzimy. Ciesz się, że znajdują to ludzie tacy jak my, bo równie dobrze mógł to znaleźć ktoś, kto wszedłby i ukradł ci telewizor.

Jak reagują firmy, u których znalazłeś luki na stronach? Czy zgłoszone błędy są szybko poprawiane?

Hehe, niektórzy wcale nie reagują ;]. Pewna firma hostingowa straszyła mnie sądem i mimo, że napisałem jej szczegóły błędów, to SQL injection wisi tam od ponad roku.

Kiedyś dostałem zlecenie zrobienia pentestu strony stworzonej na zamówienie i gdy znalazłem masę podatności, wysłałem je do klienta, otrzymując wiadomość, że producent oprogramowania twierdzi, że to głupie zabawy i  błędy (XSSy, SQLi) nijak nie wpływają na bezpieczeństwo serwisu.  Co więcej, później testując stronę tego producenta wyszło, że sami mają bSQLi 🙂

Żal jest tylko tego, że takie firmy inkasują spore kwoty za wykonanie strony, a oddają produkt tandetny, który można położyć w piętnaście minut. W moim świetle czarną sławą okryło się już kilka firm, w tym Groupon, który nie naprawił podesłanych błędów od około pół roku. Zgłosiłem dwa XSSy i dwa SQL injection, załatali tylko po jednym z nich nawet nie odzywając się do mnie. Już mam gdzieś wyniosłe uprzejmości, ale do cholery z ich serwisu korzysta masa ludzi. Czy dane użytkowników coś dla nich znaczą?

Mimo wszystko denerwuje mnie sytuacja, w której korporacja fixuje błędy i nie wysyła chociażby głupiego „dziękuję”. Przykładem niech będą Pinterest (3 x stored XSS) i Steam (1 x reflected XSS na steamcommunity.com; 1 x reflected na store.steampowered.com), choć tendencję do łatania po cichu mają też banki, co jest dla mnie niedorzeczne…

Na szczęście są ludzie, z którymi miło się współpracuje, jak na przykład Response Team LinkedIn czy Facebooka, gdzie w przeciągu 2 dni dziury zostają załatane i czujesz, że ktoś jest Ci wdzięczny za wykonaną robotę.

Scoop.it wysłał mi nawet firmową bluzkę 🙂 przypadku dużych korporacji, większość naprawia błędy w 2-3 dni robocze, choć PayPalowi zajmuje to średnio 3 miesiące a GA 2 tygodnie. Małe, ale zagranicznie firmy (np. Pocket) odpowiadają i łatają podatności bardzo szybko. Szczególnie mili są developerzy z Doliny Krzemowej. Mentalność polskich firm niestety zostawia wiele do życzenia.

Szyfrujesz swoje dyski?

Hard DrivePewnie. I nie chodzi tutaj wcale o to, że mam coś do ukrycia przed wymiarem sprawiedliwości. Przykładowo: wychodzę do pracy/na zakupy/etc., wracam i komputera nie ma. Co może zrobić złodziej, gdy mój dysk jest niezaszyfrowany? Narobić ogromnego syfu w moim życiu, a także zdobyć dostęp do poufnym informacji przechowywanych na moim komputerze, jak na przykład szczegóły dotyczące znalezionych podatności/przetwarzanych raportów w ramach bug bounty/0-day`e/itp. Bardzo nieprzyjemna sytuacja – w tym momencie tracę wszystko…
A co może zrobić gdy mój dysk jest zaszyfrowany? Wyrzucić go, kupić nowy i korzystać z komputera.

Opowiedz naszym czytelnikom jak wyglądała rekrutacja do Allegro, gdzie znalazłeś ogłoszenie, na jakie stanowisko aplikowałeś, jakiego rodzaju zadania miałeś wykonać?
Ofertę znalazłem na stronie Allegro, w zakładce „Kariera”. Pojawiło się tam stanowisko „Młodszy specjalista ds. bezpieczeństwa”, no to stwierdziłem, że dobre i to – bo od czegoś korporacyjną karierę zacząć trzeba.
Logo Allegro
Osoba na tym stanowisku miała zajmować się „pilnowaniem bezpieczeństwa serwisu”, wewnętrznymi pentestami itp.

Najpierw rozmowa telefoniczna, wszystko super, umówiliśmy się na rozmowę kwalifikacyjną w Poznaniu. W międzyczasie, postanowiłem, że przygotuję sobie pewne fundamenty pod rozmowę i zacząłem szukać bugów na serwisach grupy allegro.

Nie ograniczyłem się tylko do samego Allegro, ale rzuciłem okiem na każdy portal z tej listy: https://pl.wikipedia.org/wiki/Grupa_Allegro . Kilkadziesiąt XSS’ów, CSRFy i 2 SQL injection.

Pojechałem na spotkanie i w gronie składającym się  ze mnie, managera, jednego pracownika działu bezpieczeństwa i kobiety z Human Resources, przeprowadzona została godzinna rozmowa kwalifikacyjna.

Babka z HR’u powiedziała mi, że najdalej po dwóch tygodniach otrzymam informację z wynikiem rekrutacji, nawet jeśli będzie to wynik negatywny. Zadowolony jednak z lekkim niedosytem ze względu na niski poziom rozmowy technicznej,  wróciłem do domu. Czekałem dwa tygodnie – zero kontaktu, mówię no dobra mogło się troszkę przeciągnąć. Po trzecim tygodniu wysłałem maila do pani z HR, zero odpowiedzi. Wysłałem maila do managera, z którym miałem rozmowę i miał być moim przełożonym  i zero kontaktu. Minął miesiąc, wysłałem kolejnego maila z zapytaniem co jest grane. Również nie otrzymałem żadnej odpowiedzi. Później wysłałem jeszcze 2 maile, aż w końcu wielmożne Allegro, odezwało się do mnie po ponad dwóch miesiącach z informacją, że na moje miejsce zatrudniona została inna osoba. Kompletny nieprofesjonalizm… I nie mam żadnych pretensji o to, że nie zostałem zatrudniony, bo może faktycznie ktoś bardziej im się spodobał, ale to zachowanie – całkowite olanie mnie, nie odpowiadanie na maile, było wręcz żałosne. I kto by pomyślał, nie 😉 ? Allegro, taka miła firma…

Jak skończyła się historia z Allegro?

Niesmakiem i niechęcią do Allegro. Przykro jest, gdy ktoś traktuje Cię jak śmiecia, tym bardziej, gdy wcześniej poświęciłeś kilka nocek, na bug hunting w ich portalach. Niby i tak jestem zadowolony, że chociaż je załatali – przynajmniej dane użytkowników są bezpieczniejsze.

Czy w przeszłości inne firmy podobnie Cię potraktowały?

Jedna firma, dla której pracowałem tydzień „na okresie próbnym”, po czym kontakt się urwał i nie otrzymałem żadnej odpowiedzi odnośnie sprawy. Wysłałem maila z zapytaniem – „Co dalej?” i głucho na linii ;] Firmo, jeśli się nie nadaję to mi po prostu o tym napisz,  a nie zachowujesz się jak dziecko i unikasz rozmowy.

Czy zamierzasz nadal aplikować do innych firm czy może skupiasz się na indywidualnych zleceniach?

Ja aplikować już nie zamierzam. Praca albo znajdzie mnie sama, albo nadal będę skupiał się na indywidualnych zleceniach, choć marzę o pracy w Dolinie Krzemowej 🙂

Czy można utrzymać się z pentestingu?

Jeśli masz skąd brać zlecenia to tak. Do tego potrzeba trochę znajomości i odrobinę szczęścia. W wolnym czasie można pobawić się w programy bug bounty i czasem wyciągnąć parę złotych.

Helion

Chociaż miałem taką historię… Helion po tym jak wysłałem im XSS’a występującego w silniku wyszukiwarki używanej na każdej ich stronie i kilka innych bugów – wysłał mi książkę natomiast później zaproponował mi przeprowadzenie pentestu w zamian za „dobrego ebooka” 😀 Więc z takich zleceń raczej się nie utrzymasz 😉

Jaki rodzaj luki jest twoim ulubionym i dlaczego?

Niewątpliwie najbardziej lubię XSSy i SQLi. Ze względu na bardzo szeroki zakres payloadów i kombinacji, jakich trzeba użyć by wyexploitować podatność :).

Niektórzy programiści mają tak abstrakcyjne pomysły, że trzeba się trochę napocić zanim uda się coś zrobić i to mi się podoba. Lubię się bawić i eksperymentować ze znalezionymi lukami. XSS i SQLi dają mi właśnie taką możliwość.

Oczywiście jest kilka ciekawych ataków, których rozbrajanie sprawia mi dużą przyjemność, jak np. CSRF i rozbrajanie/obchodzenie algorytmu, według którego generowany jest token zabezpieczający, ale to wyżej wymienione stoją na piedestale.

Fajne są też bugi, których całkowicie się nie spodziewam, tzn. kombinuję i szukam jakiegoś injectiona, a znajduję na przykład podatność na atak typu DOS. Nie chodzi mi o puszczenie botnetu na stronę, czy benchmarka do bazy danych, a błąd w logice aplikacji, która pozwala ją wyłożyć/zamulić.

Kilka dni temu znalazłem taką właśnie podatność na Amazonie. Odpowiednio modyfikując zapytanie, otrzymywałem request wykonujący się ponad sześć minut i zamulający przy okazji przeglądarkę (request zwracał ponad sto pięćdziesiąt tysięcy linii tekstu i zjadał 25% CPU. 25% gdyż taki limit na zużycie ma Firefox, którego używam).

amazon

Z jakich narzędzi korzystasz?

99% pracy wykonuję ręcznie. Nie raz spotkałem się z takimi przypadkami błędów, których nawet najznakomitszy automat nie byłby w stanie wykryć (przynajmniej tak mi się wydaje). Developerzy mają tyle pomysłów, że nie da się wszystkich zebrać i wrzucić w skaner. Co prawda czasem napiszę w Pythonie soft potrzebny do konkretnej operacji, ale jest tego naprawdę niewiele i częściej służy do funu aniżeli do ciężkiej pracy :). Testuję i na bieżąco widzę jak działa, i jak odpowiada mi aplikacja – payloady i sposoby exploitacji dobieram według konkretnej sytuacji. Najprościej mówiąc – skaner podatności nie potrafi myśleć i nie ma takiej heurystyki jak człowiek.

Czego zwykle słuchasz w głośnikach przy pracy?

Często jest to – cokolwiek, byleby zagłuszyć dźwięki otoczenia. Gdy potrzebuję się mocno skupić , to puszczam jakieś składanki  drum&bass, jeśli potrzebuję polotu – słucham Beethovena, jeśli jest to tylko standardowe skanowanie (ofc manualne)/szukanie znanych bugów, to delektuje się albumami Presleya, Queenu i innych zespołów tego pokroju. Wielbię taką muzę 🙂

Uprawiasz jakieś sporty oprócz szukania luk na stronach?

Jeśli można to uznać za sport, to wkurzanie programistów. A tak na poważnie to czasem biegam – to tyle. Kiedyś miałem dość długą przygodę z kulturystyką, ale zdrowie pokrzyżowało mi plany i nie było już okazji wrócić do dawnej pasji. 

Co miałbyś do powiedzenia ludziom, którzy chcieliby robić to co ty, jakieś złote rady?

Jeżeli ktoś chce coś robić, to niech to robi i nie ogląda się na innych – to złota rada.  Zastanawiaj się czy chcesz raportować daną podatność i jakie to może konsekwencje. Nie odkrywaj wszystkich swoich kart. Dorzucę jeszcze myśl, którą kierował się Steve Jobs – „Stay hungry, stay foolish”.

Kontakt z panem Dawidem – GG:11647945

Magazyn Xploit

Na rynku polskim pojawił się nowy magazyn hackerski wydawnictwa Linux New Media – Xploit. Wszyscy znamy i kochamy konkurencyjny i działający dłużej magazyn Hakin9 (Software Wydawnictwo) i jego podejście do autorów, więc myślałem, że będzie to jakaś lepsza alternatywa.

XploitZ informacji uzyskanych z redakcji dowiedziałem się jednak, że nie różnią się zbytnio od Hakin9 jeśli chodzi o kwestię wynagrodzenia – stawka 100 zł za 4,5 tyś znaków (wychodzi ok 1,5 strony), nie wiem czy to aż tak zachęcająca propozycja, zwłaszcza, że magazyn jest tylko w polskiej wersji językowej, a prestiżem raczej nie dorównuje Science i publikowanie w nim artykułów raczej nie przyniesie komuś miedzynarodowego uznania.

Z drugiej jednak strony może to być jednak ciekawa alternatywa dla ludzi, którzy mają coś do przekazania, a nie chcą tracić czasu pisząc do idiotów z Hakin9.

Strona domowa – http://www.xploit.pl