Zdalne uruchomienie kodu w oprogramowaniu Microsoft Office Online Server

kapitanhack.pl 2 lat temu

Badacze bezpieczeństwa z MDSec odkryli w chmurowej wersji pakietu Microsoft Office ciekawą lukę, która pozwoliła im przejąć uprawnienia administracyjne i przeprowadzić wektor ataku umożliwiający zdalne uruchomienie komend na serwerze.


Co to jest Microsoft Office Online?

Ci z Was, którzy korzystają z usług chmurowych Microsoft, na pewno spotkali się z tą funkcjonalnością. Dla zainteresowanych tematem wyjaśniamy, iż Microsoft Office Online Server udostępnia oparte na przeglądarce wersje programów Word, PowerPoint, Excel i OneNote. Pojedyncza farma Office Online Server może obsługiwać użytkowników uzyskujących dostęp do plików pakietu Office za pośrednictwem programu SharePoint Server, programu Exchange Server, folderów udostępnionych i witryn sieci Web.

Źródło: Microsoft.com

Podatność RCE w Office Online Server

Podczas rutynowego testu penetracyjnego firma MDSec wykryła w zabezpieczeniach lukę typu Server-Side Request Forgery (SSRF), która w odpowiednich warunkach może zostać wykorzystana do zdalnego wykonania kodu na samym serwerze Office Online. Jak twierdzą badacze, luka ta występuje w oprogramowaniu Office Online Server w wersjach 16.0.10338.20039 i poniżej.

Chodzi tutaj tak naprawdę o podatność w punkcie końcowym, czyli witrynie programu na serwerze Office Online, zlokalizowanej pod końcowym adresem „/op/view.aspx”. Jest to zasadniczo część aplikacji webowej odpowiadającej za pobieranie dokumentów pakietu Office z zasobów zdalnych i wyświetlanie ich w przeglądarce.

Badacze zastosowali tutaj klasyczny atak typu „Server-Side Request Forgery (SSRF)” i wykorzystali protokół HTT(s) oraz lokalizację dostępną po UNC do przeprowadzenia sfałszowanego żądania z aplikacji do serwera – „wystarczyło wysłać do witryny proste, nieuwierzytelnione żądanie GET”.

Poniższy przykład ilustruje, w jaki sposób zasoby wewnętrzne mogą być identyfikowane dzięki ataków opartych na czasie w celu zweryfikowania prawidłowych adresów IP:

Źródło: MDSec

Podczas analizy zauważono ponadto, iż połączenia z Office Online Server były wykonywane przy użyciu konta komputera hosta, co ułatwiało uwierzytelnianie wymuszone. Stwarzało to kilka interesujących możliwości wykorzystania, ponieważ konto komputera może być przekazywane do innych zasobów, takich jak LDAP (aby dodać poświadczenia w tle) lub usługi certyfikatów Active Directory (w celu odzyskania certyfikatu klienta do uwierzytelnienia PKINIT).

Odkrywcy podatności napisali: „Zakładając, iż Office Online Server jest w stanie uzyskać dostęp do serwera SMB kontrolowanego przez atakującego, SSRF można przesłać do ntlmrelayx, a następnie przekazać do ADCS, jak pokazano poniżej:

Źródło: MDSec

Badacze pokazali także, jak dzięki certyfikatu możliwe jest uzyskanie biletu TGT dla serwera:

Źródło: MDSec

Następnie, korzystając z biletu TGT, można wysłać żądanie s4u2Self w celu otrzymania sfałszowanego biletu usługi dla serwera, co prowadzi do uprawnień administratora lokalnego na hoście Office Online Server:

Źródło: MDSec

Znalazcy podatności stwierdzili, iż „podobny efekt końcowy można prawie na pewno osiągnąć, wykorzystując ntlmrelayx do przekazywania do LDAP i wykonywania ataku na dane uwierzytelniające w tle”.


Jak sobie radzić z problemem?

Gdy MDSec poinformował Microsoft o luce, ten uznał, iż może ona mieć zastosowanie jedynie w punkcie końcowym (witrynie), więc nie zamierza jej naprawiać.

Ponad dwa tygodnie po ujawnieniu podatności przez badaczy producent z Redmond opublikował środki łagodzące. Jak podano, serwery połączone z Internetem powinny „zablokować porty i wszystkie konta w tej farmie, aby miały jak najmniej uprawnień”. Ponadto ustawienie flagi OpenFromUNCEnabled na wartość false może wyłączyć tę funkcję.

Idź do oryginalnego materiału