15:53
23/11/2013

Symantec wykrył backdoora dla systemu Linux, który wykorzystuje własny protokół komunikacyjny aby jak najdłużej pozostać niedostrzeżonym na zainfekowanym systemie. Prawdopodobnie to właśnie ten kod został użyty w ataku na serwerownię Hetzner w maju.

SSHD backdoor

Backdoora ciężko jest wykryć ponieważ wstrzykuje swoją transmisje w istniejący ruch SSH (który jest de facto szyfrowany). Złośliwy kod na zainfekowanym serwerze zbiera informacje takie jak hostname, IP address, port, hasło, klucz SSH i nazwę użytkownika, które następnie szyfruje i wysyła do C&C. Komendy od atakującego przesyłane do zainfekowanego hosta odbierane są po wykryciu w komunikacji protokołem SSH specjalnego słowa-klucza “:!;.“, po którym następują komendy dla backdoora.

Linux Backdoor

Linux Backdoor

Symantec zdradza że implementacja takiego backdoora wynikała ze świadomości atakujących iż systemy bezpieczeństwa i monitoringu Hetznera mogą łatwo wychwycić ich aktywność polegającą na tworzeniu nowych plików lub podejrzanego ruchu.

“This backdoor allowed an attacker to perform the usual functionality — such as executing remote commands — however, the backdoor did not open a network socket or attempt to connect to a command-and-control server (C&C). Rather, the backdoor code was injected into the SSH process to monitor network traffic and look for the following sequence of characters: colon, exclamation mark, semi-colon, period (“:!;.”). After seeing this pattern, the back door would parse the rest of the traffic and then extract commands which had been encrypted with Blowfish and Base64 encoded.”

Jak wykryć backdoora na swojej maszynie?

Ponieważ sekwencja :!;. nie jest zapisywana w logach SSH, aby wykryć backdoora trzeba zastosować jedną z poniższych metod:

  • Zrobić zrzut pamięci procesu SSHD i wyszukać w nim następujących ciągów ([VALUE] przyjmuje różne wartości):
    key=[VALUE]
    dhost=[VALUE]
    hbt=3600
    sp=[VALUE]
    sk=[VALUE]
    dip=[VALUE]
  • Skorzystać z tego skryptu

Przeczytaj także:

30 komentarzy

Dodaj komentarz
  1. Przygladam sie bezpieczenstwu od kilkunastu lat. Wszystko wskazuje na to iz zachodzi potrzeba calkowitego przebudowania idei internetu. Botnety latwo mozna by zlikwidowac gdyby kazdy ISP mial zautomatyzowane narzedzi do wykrywania “zombi” I blyskawicznie odcinal takich klientow. (tak jak obecnie jest w PL nakaz trzymania logow). Co do reszty to mysle ze w krotce firmy AV zaoferuja “czyste lacze”. Cala komunikacja bedzie leciala przez “sito”(jaki clod?) I caly syf zostanie odfiltrowany/zablokowany.

    Pozdro

    • Już kilkanaście lat temu twoją wizję wyczyszczonego internetu przedstawiał Tim Berners-Lee, oczywiście jako zagrożenie.

    • Pomysł zryty z odcinaniem zombi – taki Kowalski często nie wie, że mu się jakieś badziewie wkradło i co, ma za to być odcięty? Co najwyżej poinformowanie klienta że wykryto podejrzany ruch z jego komputera wskazujący na taki a taki trojan + ew. “motywacja” w postaci ustawienia prędkości łącza na np. 128kbps do czasu naprawienia przez klienta usterki.

      A Linuks dalej stoi murem – jak zwykle zawiniła dziurawa usługa, nie system jako taki (jak to często jest w wypadku Windowsa, gdzie nawet głupie IE jest integralną częścią systemu i nie da się tego badziewia całkowicie wyp…).

    • Pomysł z odcinaniem dało by się wprowadzić.

      Spowodowało by to rozrost usług pt. “pogotowie antywirusowe” – w końcu gdyby ISP odciął Kowalskiego od netu, ten chciałby szybko odzyskać dostęp do usługi.

      W każdym razie, oprócz znaczącego wzrostu frustracji, nastąpił by też wzrost świadomości internetowiczów.

    • @SuperTux: Twoje rozróżnianie, że tu zawiniła usługa, a tam sam system są z praktycznego punktu widzenia bez znaczenia.

      Poza tym, owszem, możesz “wyp…” sshd z systemu – klient i Twój szef z pewnością będą zachwyceni ;)

    • @SuperTux

      Kilka lat temu istniała w moim mieście lokalna sieć (dopóki nie wykupił jej inny operator), w której podejrzany o infekcję komputer był odcinany nie tylko od internetu, ale również od LANu. Przy próbie skorzystania z dowolnego portalu w internecie, użytkownik dostawał informacje, że wykryto, iż komputer w sieci jest zarażony i może rozsyłać wirusy po sieci oraz instrukcję co ma zrobić, aby oczyścić system z syfu, dostęp do łatek itp. i uzyskać dostęp do sieci. Po takich akcjach, użytkownik był przynajmniej bardziej świadomy, że jego komputer może być zarażony.

    • Wymagałoby to DPI, natomiast moim zdaniem ISP nie powinien
      zbierać żadnych danych użytkowników powyżej warstwy 4.

    • Mowa o GH necie?

    • Stosowałem takie podejście w swojej pierwszej pracy u ISP. Wiesz ile się bluzgów nasłuchałem? Nawet nie wiedziałem iż można wszystko tak powiązać. Przede wszystkim – przeciętny Kowalski nie ma ZIELONEGO pojęcia o IT. Instalacja antywirusa to jest na prawdę szczyt jego możliwości. Co innego instalacja gry którą Kowalski zakupił. Dla Kowalskiego Internet = Internet Explorer. Chrome czy Mozilla to już nie Internet. A wyłączenie usługi bo ma na komputerze syf = masa bluzgów na infolinii + zerwaniem umowy z winy dostawcy (bo przecież bezprawnie wyłączył, nie ważne iż w regulaminie masz wpisane iż odłączasz takie zasyfione komputery) + czarny PR bo przecież się dostawca przyczepia z nie wiadomo jakich przyczyn. Ograniczenie transferu – podobny efekt czyli bluzgi, odszkodowanie, czarny PR. Z szefem przemyśleliśmy sprawę bo na mieście opinia o nas jako dostawcy była słaba, głównie przez takich krzykaczy i ilość nowych klientów systematycznie spadała. Wpadliśmy na inny pomysł gdyż nam zależało na klientach. Pouczyliśmy instalatorów iż jak widzą niekumatego klienta który nie ma AV na kompie to niech instalują Avasta i mówią iż jest to absolutnie konieczne aby Internet działał. Jak widzą zasyfiony komp – niech mówią iż komputer trzeba oddać na serwis i przeinstalować system bo inaczej będzie wolno internet działał. Ilość zombie drastycznie spadała a klienci byli zadowoleni. Jak wykrywaliśmy zombie to cięliśmy co 3 pakiet, wtedy klient dzwonił, jechał instalator na serwis bo niby “antena i kabel do wifi chyba nie bardzo” a potem instalator w trakcie prac instalował AV-a. Co prawda my byliśmy trochę w plecy bo świadczyliśmy za darmo takie usługi ale za to skoczył PR na mieście bo wszyscy byli zadowoleni. Wiem iż część się wkurzy na takie ingerencje ale Wy jesteście ŚWIADOMYMI użytkownikami. Przeciętny Kowalski ledwo ogarnia skróty klawiszowe.

    • Grrrrrrrrrrrrrr.
      Ktoś sobie z czymś nie radzi, to najlepiej odgórnie narzucić “rozwiązanie” WSZYSTKIM.
      A odpowiedzialności za siebie nie uczyli przy dorastaniu?

  2. Dzięki za info. Serwerki sprawdzone (wszędzie czysto), plugin dodany na przyszłość.

  3. “OK: No indication of Fokirtor found.”
    Jea… :P

  4. zastanawiam się jak doszło do zainfekowania, ktoś potrafi mi wyjaśnić? Zwykły laik sobie pomyśli, że trzeba pobrać plik i odpalić go jako root, a przecież w takiej firmie by nie odpalali obcych plików z uprawieniami takimi więc laik zapyta w jaki sposób doszło do infekcji?

    • Też mnie to ciekawi.
      Skoro doszło do zmiany w obszarze pamięci procesu, to:
      a. albo Linux pozwolił komuś bez uprawnień się tam dostać (mam nadzieję że nie)
      b. albo głupota roota pozwala się zainstalować temu backdoorowi
      c. albo proces sam modyfikuje swoją pamięć (co w przypadku sshd nie nastraja pozytywnie – podatność w sshd?)
      Poza odpowiedzią ‘b’ pozwalałoby to przejąć władzę nad maszyną zwykłemu użytkownikowi.
      Szkoda że tak mało szczegółów…

    • Symantec — tak można wywnioskować — analizował tylko próbkę z analizy powłamaniowej, nie cały incydent w Hetznerze. Ewidentnie, do wstrzknięcia backdoora najpierw musiano wykorzystać jakiś exploit dający atakującym odpowiednie prawa. Tu jednak brak na razie jakichkolwiek informacji, co było przyczyną włamania.

    • Skoro binarka jest niezmodyfikowana, to strony podmapowane
      dla sshd musialy zostac zmienione z poziomu jadra albo proces sam
      sie zmodyfikowal. Szczerze powiedziawszy to nie zdziwiłbym się
      jakby admin sam załadował jakies moduly do kernela.

    • Też mnie to zastanawia, jak i także fakt, że to znowu firma symantec “znalazła” zagrożenie na linuksy.

  5. Sposób naprawdę świetny! Ciekawe jak go wrzucili w system – skoro był monitoring plików to utworzenie i uruchomienie procesu nasłuchującego powinno włączyć alarm. Ponadto dostęp innego programu do pamięci procesu, hmmm…

  6. @SuperTux: śledząc różne źródła związane z bezpieczeństwem jestem przekonany, że to raczej fakt niskiej frekwencji Linux’a na biurkach zwykłych Kowalskich jest powodem braku złośliwego oprogramowania i odkrytych podatności.

    • Porównaj sobie jakie zabezpieczenia znajdują się w Linuksie od kilku(nastu) lat, a jakie w Windowsie.

  7. @SuperTux: Linuks jako system to są właśnie wszelkie zintegrowane usługi, przeglądarki, desktopowe kalkulatorki itd w zależności od dystrybucji i rodzaju instalacji. Badziewnego IE nie ma, ale są nie mniej badziewne i dziurawe archaiczne wersje Firefoksa na przykład.
    Stoi murem powiadasz – a czytasz ty w ogóle niebezpiecznika? :)

  8. A czy narzędzia typu chkrootkit, rkhunter lub clamav są w stanie to wykryć? Czy zmieniona jest binarka ssh?

    • W źródle jest wzmianka, że binarka zostaje niezmieniona. Jedynie wszystko “dzieje się” w pamięci.

  9. “OK: No indication of Fokirtor found.” :D
    Ciekawe jak pomysły twórców złośliwego oprogramowania ewoluują :D

  10. A może zrobili to tak, że w ostatnim updacie sshd (na zlecenie) dołączono specjalnie ten backdor, który z gotowych serwerów skontaktował się ze źródłami?
    http://www.ted.com/talks/mikko_hypponen_how_the_nsa_betrayed_the_world_s_trust_time_to_act.html

  11. Ostatnio konfigurowaliśmy serwer jednemu z Klientów. Klient miał założenie: nie wystawić nic z dostępem zdalnym na zewnątrz. Nic, nawet ssh z ograniczonym po IP dostępie itd. Praktyka była taka, że jak prezesowi przestała działać poczta e-mail o 20.00 to dzwonił do admina i admin jechał do firmy sprawdzić logi serwera poczty. Kierunek prawie jak to, że najbezpieczniejszy serwer jest odpięty od sieci i zakopany pod ziemią.

    • Po prostu zatrudniasz adminów na 3×8 i nikt nigdzie nie musi jeździć.

    • @IndorekCenzorek: może jednak 4×8, ludzie chcieli by mieć czasami wolny dzień ;)

  12. ale to klienta admin lokalny jechał :-) nie moi. A tam był … cały jeden :-)

  13. Nie wiem czy czasem ISP osiedlowej kablówki nie stosował właśnie odcinania od internetu bo wykryte zostały jakieś “wirusy” i inne śmieci. Bo miałem przypadek, że ktoś mnie poprosił o sformatowanie komputera, właśnie dlatego, że nie mógł korzystać z internetu.

Twój komentarz

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