„WannaCry” w systemach Linux: jak się zabezpieczyć?


73

Zgodnie z artykułem rapid7 istnieje kilka wrażliwych wersji Samby umożliwiających zdalne wykonanie kodu w systemach Linux:

Podczas gdy ransomworm WannaCry wpłynął na systemy Windows i był łatwy do zidentyfikowania, przy wyraźnych krokach naprawczych, luka w Sambie wpłynie na systemy Linux i Unix i może stanowić poważne techniczne przeszkody w uzyskaniu lub wdrożeniu odpowiednich środków zaradczych.

CVE-2017-7494

Wszystkie wersje Samby od wersji 3.5.0 są podatne na lukę w zabezpieczeniach umożliwiającą zdalne wykonanie kodu, umożliwiającą złośliwemu klientowi przesłanie biblioteki współdzielonej do zapisywalnego udziału, a następnie spowodowanie załadowania i uruchomienia serwera.

Możliwy scenariusz ataku:

Począwszy od dwóch czynników:

  • Luka w Sambie nie została jeszcze naprawiona w niektórych dystrybucjach Linuksa.
  • W niektórych wersjach jądra Linux (na przykład CVE-2017-7308 w standardowym jądrze Ubuntu 4.8.0-41) występuje luka bez łatek.

Osoba atakująca może uzyskać dostęp do komputera z systemem Linux i podnieść uprawnienia przy użyciu lokalnej luki w zabezpieczeniach umożliwiającej uzyskanie dostępu do konta root i zainstalowanie potencjalnego oprogramowania ramsomware w przyszłości, podobnie jak w przypadku fałszywego oprogramowania ransomware WannaCry dla systemu Linux .

Aktualizacja

Najnowszy artykuł „Ostrzeżenie! Hakerzy zaczęli używać„ SambaCry Flaw ”do hakowania systemów Linux” demonstrują, jak używać wady Sambacry do infekowania komputera z systemem Linux.

Prognozy okazały się dość dokładne, ponieważ honeypoty utworzone przez zespół naukowców z Kaspersky Lab przechwyciły kampanię złośliwego oprogramowania wykorzystującą lukę SambaCry do infekowania komputerów z systemem Linux oprogramowaniem do wydobywania kryptowalut.

Inny badacz bezpieczeństwa, Omri Ben Bassat, niezależnie odkrył tę samą kampanię i nazwał ją „EternalMiner” .

Według naukowców nieznana grupa hakerów rozpoczęła porwanie komputerów z systemem Linux zaledwie tydzień po publicznym ujawnieniu błędu Samby i zainstalowaniu ulepszonej wersji „CPUminer”, oprogramowania do wydobywania kryptowalut, które wydobywa cyfrową walutę „Monero”.

Po skompromitowaniu podatnych na ataki maszyn przy użyciu podatności SambaCry, atakujący wykonują dwa ładunki w systemach docelowych:

INAebsGB.so - Odwrotna powłoka zapewniająca zdalny dostęp do atakujących.

cblRWuoCc.so - Backdoor zawierający narzędzia do wydobywania kryptowaluty - CPUminer.

Raport TrendLab opublikowany 18 lipca 2017 r .: Użytkownicy systemu Linux wezwani do aktualizacji, ponieważ nowe zagrożenie wykorzystuje SambaCry

Jak zabezpieczyć system Linux, aby zapobiec atakowi?


22
WannaCry to złośliwe oprogramowanie dla systemu Windows. Wirus unixowy można napisać wykorzystując ten niepowiązany problem z tą niepowiązaną implementacją tego samego protokołu, ale nie ma to nic wspólnego ze złośliwym oprogramowaniem dla systemu Windows. Ten link, który podajesz WannaCry dla Linuksa, jest mistyfikacją, po przejrzeniu źródła wygląda to jak wyjście z jakiegoś graficznego oprogramowania „twórz własne GUI”, bez żadnego rzeczywistego programu, ale GUI, który nic nie robi.
Nikt

2
@ GAD3R za pomocą mojego iPhone'a w trybie Tłumacza / aparatu Google, komentarze w języku chińskim mówią, że źródło nie jest kompletne. Radziłbym przerobić pytanie wokół CVE, usuwając link github, a nie o oprogramowaniu ransomware, które wciąż nie istnieje; lub jeśli nadal chcesz obejść ten pomysł, wyraźne określenie, że link do github to tylko próbka tego pomysłu
Rui F Ribeiro,

8
@ GAD3R Tak, jeśli ktoś może uzyskać dostęp do mojego systemu zdalnie z wysokimi uprawnieniami, o wiele mniej kłopotu sprawia po prostu użycie natywnych narzędzi Linuksa do szyfrowania mojego dysku twardego i napisanie graficznego interfejsu użytkownika QT w mistyfikacji. Wszystkie rzeczywiste funkcje (tj. Rozpowszechnianie) WannaCry zależą od exploitów Windows. Wzmianka o „WannaCry” jest przynętą na klikanie, czystą i prostą.
Nikt

6
@ Nikt Szczerze mówiąc, wierzę, że OP działa w dobrej wierze i nie zdaje sobie sprawy, że jest to tylko GUI; nie jesteśmy chińskimi tubylcami, aby czytać komentarze, a jak sam mówi, nie jest zbytnio zaznajomiony z czytaniem kodu źródłowego; IMO podobieństwa między dwiema podatnościami, podając czasy są również odpowiednie. Daj trochę luzu. Niemniej jednak implikacje samego CVE są niepokojące.
Rui F Ribeiro

3
IMO Nie polecam zamykania pytania, jeśli ktoś ma inny pomysł, śmiało. Przerobiłem tekst pytania, aby nie wspominać o oprogramowaniu ransomware, które nie zostało jeszcze stworzone. Obejście, o którym wspomniałem, było przynajmniej przydatne w dotychczasowym systemie.
Rui F Ribeiro

Odpowiedzi:


102

Ta nowa luka w Sambie jest już nazywana „Sambacry”, natomiast sam exploit wspomina o „Eternal Red Samba”, ogłoszonej na Twitterze (sensacyjnie) jako:

Błąd Samby, wyzwalacz jednowierszowy metasploit to po prostu: simple.create_pipe ("/ path / to / target.so")

Potencjalnie dotknięte wersje Samby pochodzą z wersji Samba 3.5.0 do 4.5.4 / 4.5.10 / 4.4.14.

Jeśli Twoja instalacja Samby spełnia opisane poniżej konfiguracje, poprawka / aktualizacja powinna zostać wykonana jak najszybciej, ponieważ istnieją już exploity , inne exploity w modułach Python i metasploit .

Co ciekawe, istnieją już dodatki do znanego honeypota z projektu honeynet , dionaea zarówno do wtyczek WannaCry, jak i SambaCry .

Wygląda na to, że samba płacze już jest (ab) używana do instalowania większej liczby krypto-górników „EternalMiner” lub w przyszłości podwoi się jako dropper złośliwego oprogramowania .

honeypoty utworzone przez zespół naukowców z Kaspersky Lab przechwyciły kampanię złośliwego oprogramowania wykorzystującą lukę SambaCry do infekowania komputerów z systemem Linux oprogramowaniem do wydobywania kryptowalut. Inny badacz bezpieczeństwa, Omri Ben Bassat, niezależnie odkrył tę samą kampanię i nazwał ją „EternalMiner”.

Zalecane obejście dla systemów z zainstalowaną Sambą (które również znajduje się w zawiadomieniu CVE) przed aktualizacją, dodaje smb.conf:

nt pipe support = no

(i restartowanie usługi Samba)

Ma to na celu wyłączenie ustawienia, które włącza / wyłącza możliwość nawiązywania anonimowych połączeń z usługą Windows Windows o nazwie potoki. Od man samba:

Ta globalna opcja jest używana przez programistów, aby zezwolić lub zabronić klientom Windows NT / 2000 / XP nawiązywania połączeń z rurami SMB IPC $ specyficznymi dla NT. Jako użytkownik nigdy nie powinieneś zastępować wartości domyślnej.

Jednak z naszego wewnętrznego doświadczenia wynika, że ​​poprawka nie jest kompatybilna ze starszymi? Wersje Windows (przynajmniej niektórzy klienci Windows 7 wydają się nie współpracować z nt pipe support = no), i dlatego ścieżka naprawcza może w skrajnych przypadkach przejść do instalacji, a nawet kompilacji Samby.

Mówiąc dokładniej, ta poprawka wyłącza wyświetlanie udziałów w klientach Windows, a jeśli zostaną zastosowane, muszą ręcznie określić pełną ścieżkę udziału, aby móc z niego korzystać.

Innym znanym obejściem jest upewnienie się, że udziały Samby są zamontowane z noexecopcją. Zapobiegnie to wykonaniu plików binarnych znajdujących się w zamontowanym systemie plików.

Oficjalna łatka źródłowego kodu bezpieczeństwa znajduje się tutaj na stronie bezpieczeństwa samba.org .

Debian już wypchnął wczoraj (24/5) aktualizację za drzwi i odpowiednią notę ​​bezpieczeństwa DSA-3860-1 samba

Aby sprawdzić, czy luka została usunięta w Centos / RHEL / Fedora i pochodnych, wykonaj:

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset

Istnieje teraz nmapskrypt wykrywający: samba-vuln-cve-2017-7494.nse do wykrywania wersji Samby lub znacznie lepszy nmapskrypt sprawdzający, czy usługa jest podatna na ataki pod adresem http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve -2017-7494.nse , skopiuj go, /usr/share/nmap/scriptsa następnie zaktualizuj nmapbazę danych lub uruchom w następujący sposób:

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>

Długoterminowe środki ochrony usługi SAMBA: protokołu SMB nigdy nie należy oferować bezpośrednio w Internecie w ogóle.

Oczywiste jest również, że SMB zawsze był zawiłym protokołem i że tego rodzaju usługi powinny być zaporowe i ograniczone do sieci wewnętrznych [do których są obsługiwane].

Gdy potrzebny jest zdalny dostęp, zarówno do domu, jak i specjalnie do sieci korporacyjnych, dostęp ten powinien być lepiej realizowany przy użyciu technologii VPN.

Jak zwykle w takich sytuacjach opłaca się zasada uniksowa polegająca na instalowaniu i aktywowaniu tylko minimalnych wymaganych usług.

Z samego exploita:

Exploit Eternal Red Samba - CVE-2017-7494.
Powoduje, że podatny serwer Samba ładuje bibliotekę współdzieloną w kontekście root.
Poświadczenia nie są wymagane, jeśli serwer ma konto gościa.
Aby móc wykorzystać zdalnie, musisz mieć uprawnienia do zapisu w co najmniej jednym udziale.
Eternal Red skanuje serwer Samby w poszukiwaniu udziałów, do których może pisać. Określa również pełną ścieżkę udziału zdalnego.

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }

Wiadomo również, że systemy z włączoną funkcją SELinux nie są podatne na exploit.

Zobacz 7-letnią wadę Samby, która pozwala hakerom na zdalny dostęp do tysięcy komputerów z systemem Linux

Według wyszukiwarki komputerowej Shodan ponad 485,000 komputerów obsługujących Sambę ujawniło port 445 w Internecie, a według badaczy z Rapid7, ponad 104 000 punktów końcowych narażonych na działanie Internetu wydaje się działać na wrażliwych wersjach Samby, z czego 92 000 to działające nieobsługiwane wersje Samby.

Ponieważ Samba jest protokołem SMB zaimplementowanym w systemach Linux i UNIX, niektórzy eksperci twierdzą, że jest to „wersja EternalBlue dla systemu Linux” używana przez ransomware WannaCry.

... czy powinienem powiedzieć SambaCry?

Biorąc pod uwagę liczbę podatnych systemów i łatwość wykorzystania tej luki, wada Samby może zostać wykorzystana na dużą skalę z możliwościami działania.

Sieci domowe z urządzeniami pamięci masowej (NAS) [które również działają w systemie Linux] również mogą być podatne na tę lukę.

Zobacz także W Sambie od 7 lat czai się błąd w wykonywaniu kodu. Łata teraz!

Siedmioletnia wada, zindeksowana jako CVE-2017-7494, może być niezawodnie wykorzystana za pomocą tylko jednego wiersza kodu do wykonania złośliwego kodu, o ile zostanie spełnionych kilka warunków. Wymagania te obejmują wrażliwe komputery, które:

(a) udostępnić port 445 do udostępniania plików i drukarek w Internecie,
(b) skonfigurować udostępnione pliki, aby mieć uprawnienia do zapisu, oraz
(c) użyć znanych lub domyślnych ścieżek serwera dla tych plików.

Po spełnieniu tych warunków zdalni napastnicy mogą przesłać dowolny wybrany kod i spowodować, że serwer go wykona, być może z nieograniczonymi uprawnieniami roota, w zależności od podatnej platformy.

Biorąc pod uwagę łatwość i niezawodność exploitów, dziura ta jest warta jak najszybszego zatkania. To tylko kwestia czasu, zanim atakujący zaczną aktywnie atakować.

Również Rapid 7 - łatanie CVE-2017-7494 w Sambie: It's the Circle of Life

I jeszcze więcej SambaCry: Sequel Linuksa do WannaCry .

Konieczne fakty

CVE-2017-7494 ma wynik CVSS na poziomie 7,5 (CVSS: 3.0 / AV: N / AC: H / PR: L / UI: N / S: U / C: H / I: H / A: H) 3.

Zakres zagrożenia

Zapytanie shodan.io „port: 445! Os: windows” pokazuje około miliona hostów innych niż Windows, które mają tcp / 445 otwarte dla Internetu, z czego ponad połowa istnieje w Zjednoczonych Emiratach Arabskich (36%) i USA (16%). Chociaż wiele z nich może działać w łatanych wersjach, mieć zabezpieczenia SELinux lub w inny sposób nie spełniać kryteriów niezbędnych do uruchomienia exploita, możliwa powierzchnia ataku dla tej luki jest duża.

PS Poprawka zatwierdzenia w projekcie github SAMBA wydaje się być zatwierdzona 02a76d86db0cbe79fcaf1a500630e24d961fa149


2
Zapraszamy. Dodałbym, że w mojej strefie czasowej działałem wczoraj w sprawie bezpieczeństwa Debiana około godziny 9 rano
Rui F Ribeiro

6
Jednak w przeciwieństwie do Windows, Samba nie jest domyślnie włączona w większości dystrybucji Linuksa, prawda?
raphael

1
@ raphael Rzeczywiście, ale jeśli dostanę grosz za każdy serwer, który znalazłem z zainstalowanym pełnym zestawem podstawowych płyt DVD ... Zredagowałem nieco odpowiedź, aby rozwiązać ten pomysł.
Rui F Ribeiro,

9
O ile mogę stwierdzić, skrypt nmap sprawdza tylko wersję samby, nie jeśli jesteś podatny na ataki. AFAICT, aby wykorzystać tę lukę, należy umieć przesyłać pliki na serwer. Luka nie jest tak poważna jak Eternalblue Windows. Jeśli zezwalasz na przesyłanie plików przez Internet bez uwierzytelniania, masz problem z tym, czy samba jest podatna na ataki, czy nie.
Stéphane Chazelas

1
@ StéphaneChazelas dzięki, nie miałem jeszcze czasu na sprawdzenie skryptu
Rui F Ribeiro

21

Większość z nas obsługujących serwery Samby prawdopodobnie działa w sieciach LAN, za zaporami ogniowymi i nie wystawia swoich portów bezpośrednio na świat zewnętrzny.

Byłoby to okropną praktyką, gdybyś to zrobił, i niewybaczalne, gdy istnieją proste, skuteczne i darmowe (jak w piwie i mowie) rozwiązania VPN, takie jak OpenVPN. Protokół SMB nie został zaprojektowany z myślą o otwartym Internecie (do cholery, protokół TCP / IP pojawił się nawet w późniejszym etapie tego protokołu) i powinien być traktowany jako taki. Dodatkowa propozycja jest uruchomiony firewall zasady dotyczące rzeczywistego gospodarza wymiany plików, który Whitelist tylko lokalne (i ostatecznie VPN) adresów sieciowych na wszystkich portach SMB ( 139/TCP, 445/TCP, 137/UDPi 138/UDP).

Ponadto, jeśli pozwala na to twój przypadek użycia, powinieneś rozważyć uruchomienie Samby bez uprawnień (jako, powiedzmy, sambaużytkownika, który nie jest pseudonimem root). Rozumiem, że nie jest tak łatwo łączyć ograniczenia NT ACL z ACL POSIX z tą konfiguracją, ale jeśli jest to możliwe w konkretnej konfiguracji, to jest to właściwa droga.

Wreszcie, nawet przy takim „blokowaniu” nadal zaleca się stosowanie łatki, jeśli możesz (ponieważ istnieją skrzynki NAS, w których może to nie być wykonalne), i sprawdzenie, czy konkretny przypadek użycia działa z nt pipe supportustawionym na no.


4
„Jest dostępny tylko w intranecie” - zapewne tak myśleli niektórzy administratorzy w firmach, w których rozpowszechniała się WannaCry.
Carsten S
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.