Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Wykradanie medycznych danych przy pomocy Azure Health Bot
Piątkowy wieczór to ulubiony czas administratorów oraz badaczy bezpieczeństwa. Zgłoszenia w tym czasie są chyba najbardziej frustrujące a z drugiej strony, początek weekendu to ulubiony czas hackerów na zabawę w bug bounty. Tym razem użytkownik portalu Twitter/X @Yanir_, opublikował krótki wpis oraz post na blogu w którym opisuje jak był w stanie wielokrotnie wykradać informacje medyczne z wielu organizacji przez bota Azure.
Błąd został poetycko określony mianem lethal injecti0n i okazuje się, że do jego naprawienia potrzebne było kilka iteracji ;).
Firmy zaczęły wykorzystywać usługę Azure Health Bot, która pozwala budować czaty dla pacjentów. Potencjalnie tego typu usługa może mieć dostęp do krytycznych danych z punktu widzenia atakujących (oraz ubezpieczycieli :) ).
Yanir najpierw znalazł podatność typu path traversal, która pozwoliła mu odczytać szczegóły pozwalające na uwierzytelnienie się do bota skonfigurowanego przez inne organizacje.
Wykorzystując znalezione informacje znalazł metodę na wykonanie kodu na serwerze. Po krótkim rekonesansie udało się ustalić, że wykonywane operacje mają miejsce wewnątrz piaskownicy (ang. sandbox). Dalszy fingerprinting usługi pozwolił na określenie, że jest to Node.js vm2. Udało się uzyskać RCE z uprawnieniami roota w ograniczonym środowisku, które jednak było współdzielone między klientami (ang. tenant).
To dało z kolei dostęp dodanych botów innych organizacji oraz dostęp do wewnętrznego API. Okazuje się, że Microsoft został powiadomiony o zaistniałej możliwości i szybko naprawił podatność typu sandbox escape w ciągu niespełna 24h. Jednak nieskutecznie. Badacz wracał jeszcze dwukrotnie z innymi metodami ucieczki z sandboxa aż do finalnego naprawienia problemu przez zastąpienie vm2 biblioteką isolated-vm.
W wyniku zgłoszenia serii podatności, badacz otrzymał nagrodę w wysokości $203,000 a Microsoft przeprojektował swoją usługę poprawiając sandboxing oraz przede wszystkim oddzielając dane klientów. Teraz konfiguracja i dane bota każdej organizacji znajdują się w oddzielnej maszynie wirtualnej.
~fc