SQL Injection

MOVEit Transfer — Zero-Day SQL Injection, masowa kradzież danych

Co się stało

31 maja 2023 roku Progress Software ujawnił krytyczną podatność SQL injection w MOVEit Transfer — oprogramowaniu do zarządzanego transferu plików (MFT) używanym przez banki, służbę zdrowia i agencje rządowe. Grupa ransomware Cl0p wykorzystywała ją od 27 maja, na dni przed dostępnością łatki. Wstrzykiwali SQL przez nagłówki X-siLock-Step1 i X-siLock-Step2, aby zrzucić całą bazę danych, a następnie użyli drugiej podatności (CVE-2023-35036), aby eskalować do dostępu do systemu plików.

Przyczyna

SQL injection w końcówce API podobnej do SOAP. Endpoint /guestaccess.aspx akceptował specjalnie spreparowane nagłówki, które były bezpośrednio interpolowane w zapytaniach SQL bez parametryzacji. Atakujący mógł wyodrębnić zawartość bazy danych, w tym metadane plików, poświadczenia użytkowników i klucze Azure blob storage. Druga luka pozwalała na zapis webshelli na dysku przez spreparowane nazwy plików.

Kto został dotknięty

  • 2 700+ organizacji potwierdzonych jako skompromitowane
  • 95+ milionów osób, których dane skradziono
  • Shell, British Airways, BBC, PwC
  • U.S. Department of Energy, Department of Health
  • Szacowane okupy: 75–100 milionów dolarów

Jak to wykryto

Huntress i Mandiant odkryli eksploitację podczas badania anomalnego zachowania serwerów MOVEit. Atakujący byli wewnątrz środowisk klientów, kradnąc dane, podczas gdy CVE było wciąż analizowane. Analiza śledcza ujawniła wektor SQL injection w logach IIS pokazujących nietypowe żądania HTTP do /guestaccess.aspx.

Jak to naprawiono

Progress wydał łatki w ciągu 48 godzin od pierwszego ujawnienia. Trzy CVE, trzy łatki, jeden produkt — wszystkie odkryte w ciągu dwóch tygodni.

Lekcje dla Twojego SaaS

  • Każdy endpoint transferu plików to cel. Jeśli Twój SaaS obsługuje upload, download lub transfer plików, te endpointy zasługują na najdokładniejszą kontrolę bezpieczeństwa.
  • Ryzyko dostawcy to Twoje ryzyko. Jeśli używałeś MOVEit jako dostawca i nie wiedziałeś o tym — nadal byłeś odpowiedzialny.
  • Tygodnie mają znaczenie. Cl0p exploitował zero-day przez 4 dni przed ujawnieniem. Jeśli Twój dostawca nie monitoruje anomalii we własnych produktach — Ty jesteś warstwą detekcji.