Podczas tworzenia nowych aplikacji nie zawsze wszystko działa jak należy. #od0dopentestera
Czasami trzeba coś przeanalizować.
Ale co jeśli przez pomyłkę w ostatecznej wersji produktu pozostawimy opcje służące do rozwiązywania problemów?
Jeżeli używasz narzędzia Flask to wiesz, że podczas tworzenia aplikacji udostępnia on Wekzeug Debugger.
Jeżeli gdzieś kod działa nieprawidłowo to zamiast komunikatu błędu otrzymujemy interaktywny interfejs służący do dynamicznej analizy programu.
Możemy wyświetlać wartości zmiennych oraz wykonywać dowolny kod – również złośliwy.
Tak zaatakowano kiedyś serwis Patreon.
Udostępnianie tego interfejsu w Internecie było na tyle częste, że autor modułu zdecydował się na zmiany w kodzie.
Od teraz, aby móc korzystać z konsoli, należy podać specjalny kod składający się z dziewięciu cyfr.
Są one wyświetlane za każdym razem gdy uruchamiamy naszą aplikację.
Teoretycznie problem rozwiązany – nikt nie wykona zdalnego kodu bez znajomości odpowiedniej kombinacji.
Tylko, że kod ten nie jest losowy.
Nie zmienia się z każdym uruchomieniem, ponieważ jest powiązany z konkretnym komputerem.
Jeśli więc często coś poprawiamy, nie musimy za każdym razem sprawdzać konsoli w poszukiwaniu odpowiedniego tekstu.
Tylko, że takie rozwiązanie niesie pewne konsekwencje.
Jeżeli na naszej stronie znajduje się błąd pozwalający na odczytanie dowolnego pliku z dysku serwera – możemy mieć kłopoty.
Kod PIN w głównej mierze oparty jest na wartości adresu MAC serwera oraz tak zwanym machine_id.
W przypadku Linuxa dane te znajdują się w plikach /sys/class/net/%nazwainferfejsu%/address oraz /etc/machine-id.
Znając algorytm oraz wartości tych plików możemy odtworzyć kod PIN i wykonać złośliwy kod na serwerze.
Szersze wytłumaczenie znajduje się w materiale video na YouTube.
Jest to przykład jak wygląda atakowanie nowoczesnych aplikacji.
Czasami pentester potrzebuje znaleźć więcej niż jeden błąd aby osiągnąć swój cel.
Subskrybuj kanał na YouTube
Masz pytanie na temat bezpieczeństwa? Zadaj je na grupie od 0 do pentestera na Facebooku.
Podcast o bezpieczeństwie dostępny na Google i Apple Podcasts oraz Spotify i Anchor.
Jeżeli chcesz być wołany dodaj się do Mirkolisty.
#bezpieczenstwo #programowanie #informatyka #it #nauka #technologia #ciekawostki #gruparatowaniapoziomu #biznes #webdev #security #it #programowanie #programista15k #python