Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Jak łatwo można zhakować duże serwisy (debugger na produkcji = remote code execution)

03 października 2015, 13:08 | Aktualności | 0 komentarzy

Patreon to popularna w USA platforma crowdfundingowa pozwalająca artystom na pozyskiwanie funduszy wspierających ich pracę twórczą. W wyniku niedawnego włamania informacje o użytkownikach strony oraz wiele danych technicznych zostało wykradzione i upublicznione.

Patreon -- wykradzione dane krążą w Internecie

Patreon — wykradzione dane krążą w Internecie (źródło: twitter.com/amlolzz)

Ostatecznie okazało się, że upublicznione dane zawierają nie tylko szczegóły dotyczące użytkowników platformy (nazwy, adresy e-mail, skróty haseł utworzone z wykorzystaniem funkcji BCrypt), ale właściwie pełny zrzut bazy danych oraz kody źródłowe. Wszystkie prywatne dane zgromadzone w całym serwisie stały się z dnia na dzień publiczne…

Oczywiście zakres wykradzionych danych wskazuje od razu, że nie był to „zwykły” atak typu SQL injection. Rzeczywiście, mamy tutaj do czynienia ze znacznie ciekawszym przypadkiem, który obrazuje, jak fatalne mogą być zabezpieczenia nawet tych dużych i znaczących serwisów internetowych…

Debugger na produkcji

Prawdopodobną przyczyną wycieku danych były rażące zaniedbania programistów, którzy w produkcyjnej wersji aplikacji pozostawili włączony i zupełnie otwarty debugger narzędzia Werkzeug.

web_app.debug = patreon.config.debug
web_app.run('0.0.0.0', port=args.port, use_reloader=False)

Powyższa konfiguracja zapisana w aplikacji spowodowała, że praktycznie każdy mógł w prosty sposób uzyskać bezpośrednio w przeglądarce dostęp do konsoli pozwalającej na wykonanie dowolnego kodu… wystarczyło tylko wykorzystać lub sprowokować jakiś błąd samej aplikacji.

Przykładowa konsola debuggera

Przykładowa konsola debuggera

Pomimo oczywistego ryzyka, wbrew wszelkim dobrym praktykom oraz wbrew ostrzeżeniom zawartym w dokumentacji, taka właśnie konfiguracja trafiła do produkcyjnego zastosowania…

Even though the interactive debugger does not work in forking environments (which makes it nearly impossible to use on production servers), it still allows the execution of arbitrary code. This makes it a major security risk and therefore it must never be used on production machines.

Co więcej, w związku z tym, że publiczny debugger został zauważony przez Shodana, na kilka dni przed kradzieżą danych firma Patreon została ostrzeżona przed ryzykiem związanym z powyższą podatnością. Niestety, nie zdążyła w odpowiedni sposób zareagować…

Werkzeug Shodan

Co najgorsze, za pomocą banalnego zapytania do Shodana możliwe jest łatwe odnalezienie tysięcy przykładów potencjalnie podobnie skonfigurowanych serwisów. Powyższy przykład dobitnie pokazuje więc, że włamania do dużych serwisów internetowych często nie stanowią dla potencjalnego intruza zbyt dużego wyzwania…

— Wojciech Smol

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz