17:25
7/1/2018

W dyskach Western Digital znaleziono i publicznie opisano poważne błędy, które pozwalają zdalnie (zarówno przez internet jak i z sieci lokalnej) przejąć kontrolę dyskiem i skasować z niego dane. Producent wiedział o tych błędach od pół roku, ale mimo to, według odkrywcy błędów, nie udostępnił do tej pory żadnej aktualizacji. Dlatego, jeśli posiadasz dysk WD z serii My Cloud, to jeszcze zanim doczytasz do końca tego artykułu, natychmiast go wyłącz go.

Tajne konto z hasłem “abc12345cba”

O błędach w dyskach WD My Cloud, popularnym także w Polsce rozwiązaniu typu NAS, poinformował James Bercegay. Jak można wyczytać z jego opisu, 6 dziur odkrył jeszcze w czerwcu 2017 roku i zgłosił je do Western Digital. Niestety, nie otrzymał na swoje zgłoszenie żadnej odpowiedzi. Dlatego błędy postanowił upublicznić, zwłaszcza że jeden z nich został w międzyczasie niezależnie odkryty przez innego badacza.

Najciekawszym z błędów jest backdoor — konto o loginie mydlinkBRionyg i haśle abc12345cba. Dane zapisane zostały na stałe w pliku /cgi-bin/nas_sharing.cgi. Konto to można wykorzystać do zalogowania się do NAS-a i wykonania dowolnej komendy. Oto przykładowe żądanie:

GET /cgi-bin/nas_sharing.cgi?dbg=1&cmd=51&user=mydlinkBRionyg&passwd=YWJjMT
IzNDVjYmE&start=1&count=1;touch+/tmp/gulftech; HTTP/1.1

Co gorsze, atak ten można przeprowadzić zdalnie o (ile WD My Cloud jest podpięty do internetu) ale także poprzez zaproszenie na złośliwą stronę internetową jakiegokolwiek użytkownika, który znajduje się w tej samej podsieci co WD My Cloud. Na użytkowniku odpowiednie żądanie logowania i wykonania złośliwej komendy wymusza się poprzez ramkę lub obrazek, np. taki:

<img src="http://wdmycloud/cgi-bin/nas_sharing.cgi?dbg=1&cmd=51&user=mydlin
kBRionyg&passwd=YWJjMTIzNDVjYmE&start=1&count=1;rm+-rf+/;">

Jedyna trudność to odgadnięcie nazwy urządzenia — trzeba “strzelać” jak właściciel mógł je nazwać. Kilka “pewniaków” dla nazw zaszyliśmy w kodzie HTML tego artykułu. Jeśli macie dysk My Cloud i nie posłuchaliście naszej rady z pierwszego akapitu, to sprawdźcie co Wam zrobiliśmy :)

To co jeszcze jest ciekawe w tej podatności, to fakt, że w loginie do konta znalazła się nazwa innego producenta sprzętu sieciowego, firmy D-Link. Okazuje się, że WD My Cloud korzysta z tego samego kodu, co urządzenie D-Link DNS-320L ShareCenter. Jeśli posiadacie D-Link DNS-320L upewnijcie się, że macie firmware wyższy niż 1.0.6 — bo do tej wersji w D-Linku znajdowało się to samo tajne konto.

Możliwość wgrania dowolnego pliku (webshell)

Drugi z błędów znajduje się w pliku /usr/local/modules/web/pages/jquery/uploader/multi_uploadify.php i umożliwia wgranie na WD My Cloud dowolnego pliku (w tym webshella) poprzez błąd w parsowaniu danych zwracanych przez funkcję gethostbyaddr używaną przez producenta NAS-a na kontrolowanym przez atakującego nagłówku HTTP Host.

O bardzo podobnej klasie ataków (i o kilkudziesięciu innnych) opowiadamy na naszych szkoleniach z Atakowania i Ochrony Webaplikacji. Opinie uczestników z ostatnich terminów tego szkolenia znajdziecie tutaj, a najbliższe takie szkolenie odbędzie się 18-19 stycznia w Warszawie — wpadajcie :)

Jest już dostępny moduł do metasploita automatyzujący ten atak, a jak można zauważyć na Shodanie, obecnie jest ponad 8000 tego typu dysków podpiętych do internetu

…z czego ponad 200 w Polsce:

Pozostałe błędy

Pozostałe 4 błędy są mniejszej wagi:

  • CSRF. W przypadku gdy zalogowany administrator odwiedzi złośliwą stronę, zawierającą np. taki link jak poniższy, zepsuje sobie NAS-a:

    http://wdmycloud/web/dsdk/DsdkProxy.php?;rm -rf /;

  • DoS. Każdy użytkownik (nawet niezalogowany) może wymusić zmianę domyślnego języka wszystkim innym użytkownikom. Ciężko korzysta się z urządzenia po koreańsku — a język ten ustawia się takim żądaniem:

    http://wdmycloud/cgi-bin/login_mgr.cgi?cmd=cgi_language&f_language=7

  • Enumeracja użytkowników. Nazwy użytkowników można pozyskać poprzez następujące żądanie:

    GET /api/2.1/rest/users? HTTP/1.1

Które urządzenia z serii WD MyCloud są podatne?

Oto lista urządzeń, które posiadają wyżej wymienione dziury:

MyCloud do wersji 2.30.165
MyCloudMirror do wersji 2.30.165
My Cloud Gen 2
My Cloud PR2100
My Cloud PR4100
My Cloud EX2 Ultra
My Cloud EX2
My Cloud EX4
My Cloud EX2100
My Cloud EX4100
My Cloud DL2100
My Cloud DL4100

Błędy nie występują w urządzeniach serii “MyCloud 04.X” [UPDATE: a także wersji MyCloud 2.30.174]

Mam WD My Cloud — co robić, jak żyć?

Odłącz urządzenie od internetu i lokalnej sieci (routera). Podepnij się do NAS-a bezpośrednio z komputera, na którym nie masz dostępu do internetu. Zgraj potrzebne dane na zewnętrzny dysk i korzystaj z takiej “kopii bezpieczeństwa” do momentu kiedy Western Digital nie udostępni patcha. Pierwsze serwisy technologiczne już podchwytują temat, więc zapewne zaraz rozpęta się mała burza w internecie i — miejmy nadzieję — to skłoni WD do wydania aktualizacji. [UPDATE: Wedle najnowszych informacji na stronie odkrywcy błędu, wersja firmware MyCloud 2.30.174 rozwiązuje ww. problemy — jeśli ja zaaplikujecie, dajcie znać w komentarzach, czy któryś z ww. ataków działa.]

Jeszcze raz podkreślmy, że samo odłączenie urządzenia od internetu, ale pozostawienie w sieci lokalnej nie rozwiązuje problemu. Każdy kto ma dostęp do tej sieci albo zaprosi kogoś kto taki dostęp ma na swoją stronę, będzie w stanie przejąć kontrolę nad urządzeniem i np. skasować z niego dane.


Aktualizacja 7.01.2018, 17:55
Jeden z czytelników informuje nas, że na stornie znalazcy błędu pojawiła się aktualizacja opisu błędów, inna niż ta, która jest na Exploit-DB (podlinkowana przez nas wyżej). Badacz w aktualizacji zaleca upgrade do wersji MyCloud 2.30.174 — jeśli ją zaaplikujecie, dajcie znać, czy któryś z powyższych ataków działa.


Aktualizacja 9.01.2018, 12:23
Firma WD potwierdza, że ww. patch rozwiązuje problem:

zgłoszone krytyczne luki w zabezpieczeniach zostały załatane w aktualizacji firmware’u w 2017 (w wersji v2.30.172). W kolejnych aktualizacjach usunięto również pomniejsze błędy. Zdecydowanie zachęcamy klientów do kontaktowania się ze wsparciem technicznym Western Digital (https://support.wdc.com) w celu uzyskania pomocy w kwestii aktualizowania naszych urządzeń.
Przypominamy też, że zawsze należy dbać, by na urządzeniu zainstalowane było najnowsze oprogramowanie – rekomendowanym rozwiązaniem jest korzystanie z funkcji automatycznych aktualizacji. Zalecamy również wdrożenie klasycznych dobrych praktyk z dziedziny bezpieczeństwa, takich jak regularne tworzenie kopii zapasowych danych czy ochronę hasłami, a także zabezpieczenie routera za pomocą którego korzystamy z osobistej chmury lub urządzenia NAS.

Przeczytaj także:

37 komentarzy

Dodaj komentarz
  1. > to skłoni WD do wydania aktualizacji
    A może jakiś patch “na gorąco”? Przemontować /dev/mtdblockX do zapisu, wyedytować odpowiednie pliki pozbywając się luk, zapisać i przemontować z powrotem do odczytu, nie unieruchamiając urządzenia na czas oczekiwania?

  2. Po co od razu wyłączać? Można np. przepiąć do osobnego VLAN-u (jeśli ktoś ma w domu normalny router, a nie mydelniczkę z kreatorami www zamiast konsoli) i wyblokować ruch do interfejsu administracyjnego.

    Albo nawet jeśli ktoś ma mydelniczkę, ale 2 sztuki, to może odseparować ten NAS od reszty sieci za pomocą drugiej mydelniczki, przepuszczając tylko porty udp/137, udp/138, tcp/139 i tcp/445.

    • Klim jak zwykle nie zrozumial wpisu…

    • Zrozumiał. Podatny jest interfejs administracyjny tych NAS-ów (jak i wielu innych). Ale jeśli zablokujemy dostęp do niego *także swoim własnym komputerom*, wówczas nic nam nie grozi.

    • Ale to jest dla normalnych ludzi zabawka a nie dla takich co jadą z konsoli.
      My sobie robimy nas-a na jakichś fajnych platformach wkładamy w to 20 dysków w Raidzie i mamy uciechę. normalni kupują pudełko stawiają i zapominają….

      A swoją drogą po co Ci konsola? Żeby zabrzmieć mądrzej?
      A podpięcie go do osobnego vlanu jest średnim pomysłem bo z założenia ma być do niego pełny dostęp z sieci dla każdego urządzenia.

    • Ciekawe jak jest cors ustawiony, bo jeśli jest ustawiony wildcard (w zasadzie skoro jest podatność na csrf to chyba można założyć że tak) to js z dowolnej odwiedzonej strony może przez xhr dostać się do api, jedynie trzeba trafić z ip, ale to już tylko security through obscurity czyli żadne security. ;)

    • Mi konsola m.in. po to, aby móc sterować kilkudziesięcioma MikroTikami z jednego miejsca, z użyciem kluczy ssh, aby nie tracić czasu na zabawy z przeglądarkami. No i aby za pomocą Zonemastera replikować całkowicie automatycznie dane z centralnej bazy DHCP i DNS. Ale nawet mając hipotetycznie tylko jeden router domowy, nie wyobrażam dzisiaj powrotu na mydelniczkę.

    • przeciez mikrotiki to tani sprzet dla amatorow, nie bryluj chopie jak jestes amatorem

  3. Posaidam WD PR4100 z czterema dyskami po 8TB i do tego jeszcze po USB podpięty jeden dodatkowy 8TB :( … więc raczej zgrać tego nie zgram nigdzie …

    W przypadku mojego modelu NAS WD PR4100 najnowsza aktualizacja jest to Firmware Release 2.30.172 (11/16/2017) nowszego nie ma https://support.wdc.com/downloads.aspx?g=2706&lang=pl#firmware i taki mam zainstalowany … nie wiem czy to mnie chroni czy nie od piątku już są odłączone od internetu :( co strasznie utrudnia życie.

    Czekam aż oficjalnie WD coś odpisze zostawiłem im pytanie na ich facebooku już w piątek z linkiem do tematu was jako serwis też tam oznaczyłem.

  4. No właśnie po co wyłączać – wystarczy tylko nie udostępniać na “zewnątrz” do Internetu. Poza tym być może wiele osób ma te dyski pracujące właśnie tylko w sieci lokalnej LAN, na potrzeby wewnętrzne a więc bezpieczne. No chyba, że to firma z wieloma pracownikami o nieznanych zamiarach – to inna sprawa.

    • Kolejny, który nie czyta ze zrozumieniem. Przeczytaj jeszcze raz a dowiesz się może w końcu, dlaczego nawet w sieci lokalnej dwój dysk sieciowy nie jest bezpieczny. Myślenie nie boli.

  5. Mam WD Mycloud Ex2 ultra z 2.30.174. Backdoor adminowy nie działa. Reszty niestety nie potrafię przetestować.

    Co robicie użytkownikom?

    • Tym niegrzecznym urywamy nóżki

  6. Mam WD MyCloud 4TB ze starym softem 2.10.310 i nie mogę się zalogować (zarówno www jak i SSH) z loginem i hasłem, które podaliście. Piszecie, że obejmuje MyCloud do wersji 2.30.165. A nie przypadkiem od wersji 2.30.165?

    • Wersje 2.X i 4.X są inne, 2 jest nowsza, 4 starsza

  7. Do wersji 2.30.174 zaktualizowało się automatycznie: “Ostatnia aktualizacja – 2017 listopad 30 03:02:09”. Więc zadziałali jednak wcześniej niż sugerujecie.

  8. Przy wersji v04.05.00-320 dziala tylko enumeracja. Reszta to error 404.

  9. Cofam swój poprzedni komentarz. Tak sobie namieszałem, że teraz zdalnie w ogóle nie mogę się dostać na dysk, www i SSH nie odpowiada. Dobrze, że nie mam na nim nic ważnego i backupy wszystkiego mam w 3 miejscach. Ciekawe czy na stałe jest to cegła, czy da się to naprawić.

    • Można odceglić twardo wmuszając obraz fw z innego egzemplarza… możesz musieć ewentualnie skorygować później tablicę partycji – z tego co widzę, obrazy są głównie do urządzeń wielkości 2TB.

  10. 2.30.174 zalatwia temat

  11. “Gulftech.org2 now added 2.30.174 as “not vulnerable” ? However on 2.30.174 some things still look unpatched:

    01 – Unrestricted file upload -> Content of multi_uploadify.php looks unchanged to me / probably vulnerable
    02 – Hard coded backdoor -> Were not able to reproduce / probably not vulnerable
    03.1 – Cross site request forgery -> Were not able to reproduce / probably not vulnerable
    03.2 – Command injection -> no idea
    03.3 – Denial of service -> Reproducable / vulnerable
    03.4 – Information disclosure -> Reproducable / vulnerable”

    http://gulftech.org/advisories/WDMyCloud%20Multiple%20Vulnerabilities/125

  12. Ta wtopa powinna być przestrogą dla wszystkich, aby nie kupować urządzeń od firm, które już wielokrotnie stały na bakier z bezpieczeństwem, czyli D-Link i WD. Do tej grupy można by jeszcze dorzucić Netgear oraz Linksys, które generalnie mocno mają w poważaniu swoich klientów…

  13. W urządzeniu WD My Cloud Mirror Gen1, z firmware 2.11.168 (11/28/2017) nie udało mi się odtworzyć opisanych błędów. Jest to najnowsza wersja fw dla pierwszej generacji tego urządzenia.

    Na stronie WD jest informacja o załataniu prawdopodobnie tej dziury: https://support.wdc.com/downloads.aspx?g=907&lang=en#firmware

    “Resolved critical security vulnerabilities that potentially allowed unauthorized file deletion, unauthorized command execution and authentication bypass.”

    Przeszukałem też dysk urządzenia z poziomu konsoli i nie znalazłem pliku nas_sharing.cgi, o którym mowa w artykule.

    • U mnie podobnie, WDMyCloudEX2 ostatnia wersja 2.11.168 nie można się zalogować przez na podany login

  14. 2.30.174 (11/16/2017) to aktualizacja dla części urządzeń WD (m.in. My Cloud EX2 Ultra). Dla części pozostałych (m.in. WD My Cloud) ta sama aktualizacja (ten sam dzień publikacji, identyczny opis zmian) nosi numer 2.30.172
    Linki:
    https://support.wdc.com/downloads.aspx?g=911&lang=pl#firmware
    https://support.wdc.com/downloads.aspx?g=904&lang=pl#firmware

  15. Czy są informację aby podatność dotyczyła również poprzednika My Clouda czyli WD Arkeia?

  16. A co robicie tym, co nie odłączyli dysków ? :)

    • A tym tylko akumulator na jaja ;)

  17. Czyli drugi największy producent dysków twardych zaaplikował backdoora w oprogramowaniu, o którym został poinformowany pół roku temu i nic z tym nie zrobił. I teraz ja mam uwierzyć, że oni tego nie zrobili specjalnie, żeby wiedzieć co ludzie trzymają na nasach. Może i nie zrobili, ale ja nigdy niczego od nich nie kupię.

    Jestem w ogóle za wprowadzeniem prawa, które zamykałoby do więzień ludzi odpowiedzialnych za takie zaniedbania czy też celowe działanie.

  18. Podpowiem tylko, że jeśli ktoś postanowił (jak ja) pozbyć się domyślnego interfejsu i serwować z NASa strony WWW, to wygląda na to, że ominie go spora część z w/wym. dziur (jeśli nie wszystkie). Wygląda na to, że wszystkie dziury siedzą albo w konfiguracji UI, albo w samych plikach UI.

    Podpowiem, że tylko przez administrację drogą SSH można usunąć też z pozoru nieusuwalne konto Guest z nielimitowanym dostępem r/w — stamtąd tylko szybka edycja httpd.conf i po temacie…?

  19. Nie rozumiem. U mnie wersja to niby:”Wersja oprogramowania układowego 04.05.00-320″ Jak to się ma do jakichś 2.30.xx? To nie to urządzenie czy jak? I nie widzę nic, co niby mi zrobiliście. Jako niekumaty proszę o wyjaśnienie.

    • Podbijam pytanie. Również mam wersję v04.05.00-320 z 28.11.2017 i nie widzę aktualizacji dostępnej dla mojego urządzenia (WDMyCloud). Mam urządzenie starszej generacji dla którego nie ma wersji 2.X?

  20. >Najciekawszym z błędów jest backdoor — konto o loginie i haśle

    Przecież to żaden “błąd”, tylko “feature” na użytek producenta. Takie ukryte konta w oprogramowaniu (obojętnie czy wbudowanym, natywnym czy webowym) to bardzo powszechna praktyka, są tworzone “na wszelki wypadek” (praktyczne zastosowania bywają różne, od celów serwisowych po “dyscyplinowanie” klienta migającego się od zapłaty itp.).

    • No właśnie, w starych BIOS-ach też były hasła serwisowe. :)

  21. Wygląda na to, że poprzednia aktualizacja nie rozwiązywała wszystkich problemów, bo kilka dni temu pojawiła się wersja 2.30.181 usuwająca podatność CVE-2017-17560, czyli możliwość wgrania dowolnego pliku – https://support.wdc.com/downloads.aspx?g=911

  22. Dzisiaj w nocy dostalem alerty mailowe z My Cloud, ze oprogramowanie zaktualizowalo sie do wersji 2.30.181.0110.2018. Sek w tym, ze nawet na stronie WD nie ma o tym sofcie slowa. Ma ktos tak samo?

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.