10:17
20/2/2013

Wielu internautów informuje, że na niektórych serwerach zauważyli podejrzany plik libkeyutils.so.1.9. Jedynym objawem jak na razie jest to, że z serwerów tych wysyłany jest od czasu do czasu spam — ale wszystko wskazuje na to, że atakujący mają roota na maszynach i lada chwila mogą zacząć wykorzystywać je do innych celów niż spamowanie.

Jak sprawdzić, czy zostałeś zrootowany?

Wydaj następujące polecenia (te pliki nie powinny istnieć):

ls -la /lib64/libkeyutils.so.1.9
rpm -qf /lib64/libkeyutils.so.1.9
ls -la /lib/libkeyutils.so.1.9
rpm -qf /lib/libkeyutils.so.1.9

Nie wiadomo, w jaki sposób libkeyutils.so.1.9 dostaje się na serwery. Niektórzy twierdzą, że zaraz po wykryciu tego pliku “zaorali” maszyny i postawili świeże systemy — za chwilę znów były “zainfekowane” plikiem libkeyutils.so.1.9 — to może wskazywać na wektor ataku przez komputer administratora. Zainfekowany administrator, który loguje się na zdalne systemy może nieświadomie umieszczać na nich backdoora (zwłaszcza, że ujawnione przez jedną z ofiar logi pokazują, że atak odbywa się automatycznie).

Analiza backdoora — czy to atak 0day?

Jeden z redditowców zanalizował libkeyutils.so.1.9 i znalazł w niej zakodowany IP:

$ ./audit libkeyutils.so.1.9 output
$ strings output |grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
78.47.139.110

IP wskazuje na domenę: RUBOP.COM, która należy do:

Administrative Contact:
Ibragimov, Sergey pmadison12@gmail.com
Polanskay 11
Moskow, Russia 11223

Dodatkowo, niektórzy donoszą, że część ze zbackdoorowanych systemów podczas połączenia SSH wysyłają na adres 72.156.139.154 na porcie 53 po UDP dane do logowania (jawne hasła użytkowników).

Potwierdzono, że problemy występują na dystrybucjach opartych na RHEL oraz przy panelach cPanel, DirectAdmin i Plesk. Jedną z tez co do podatności wykorzystywanej przez backdoora jest CVE-2012-56-71, czyli możliwość zdalnego wykonania kodu w Eximie.

Jeśli znaleźliście plik libkeyutils.so.1.9 na swoim serwerze, to pamiętajcie, że jego usunięcie nie rozwiązuje problemu. Atakujący jakoś musiał się dostać na maszynę — brak wykrycia punktu wejścia i załatania wykorzystanej dziury dalej zostawia ryzyko ponownego ataku. Nadal jednak nie ma pewności, z jakiej podatności korzystają atakujący, ani czy jest to stara, znana podatność, czy jakiś 0day.


Przeczytaj także:

79 komentarzy

Dodaj komentarz
  1. Kolejny argument przeciwko webowym panelom :)

    • większej głupoty jeszcze nie czytałem dzisiaj…

    • Ja się zgodzę, sam pisałem panel administracyjny dla swojego serwera i nie mam żadnego pliku libkeyutils.so.1.9

    • A ja mam DirectAdmina i Pleska od paru lat i też samo nic się nigdy nie pojawiło, dziwne..

    • lol

  2. Nie mam 1.9 za to mam 1.4
    To źle?

    • Nie ;)

    • Nie słuchaj Michała, bo on dobrze wie co pisze !

    • sama nazwa pliku – niestety niewiele zmienia… obecnie on się nazywa libkeyutils.so.1.9, natomiast mają roota na Twoim serwerze zapewne Twórca może z poziomu serwera CnC zmienić jego nazwę na dowolną i zapewne dość szybko to zrobi patrząc jaką popularność w ostatnich dniach osiągnął temat libkeyutils :)

  3. Pójdźmy dalej. Kolejny argument przeciwko komputerom i internetom!

    • Nie zatrzymujmy się – kolejny argument przeciwko powszechnemu dostępowi do elektryczności. W końcu to na nią (podobno) działają komputery.

  4. Moze gość chcial zaprosic wszystkich na impreze ?

  5. ciekawa informacja w tym temacie znajduje się w tym poscie na WHT:
    http://www.webhostingtalk.com/showpost.php?p=8566703&postcount=845

  6. [root@icsserver andrzejl]# updatedb
    [root@icsserver andrzejl]# exit
    [andrzejl@icsserver ~]# locate libkeyutils.so.1.9
    [andrzejl@icsserver ~]#

    [root@wishmacer andrzejl]# updatedb
    [root@wishmacer andrzejl]# exit
    [andrzejl@wishmacer ~]$ locate libkeyutils.so.1.9
    [andrzejl@wishmacer ~]$

    Wyglada na to ze czysto i na pudlach z ArchLinuxem…

    Pozdrawiam.

    Andrzej

    • ArchLinux master race reportin’ in!

    • SCV good to go sir ;D.

      Pozdrawiam.

      Andrzej

    • Na Arch Linuksie to byś miał libkeyutils.so.2.0, nie żadne tam starocie.

    • [andrzejl@wishmacer ~]$ locate libkeyutils.so
      /usr/lib/libkeyutils.so
      /usr/lib/libkeyutils.so.1
      /usr/lib/libkeyutils.so.1.4
      [andrzejl@wishmacer ~]$ uname -r
      3.7.9-1-ARCH
      [andrzejl@wishmacer ~]$

      Ajdontinksou…

      Pozdrawiam.

      Andrzej

  7. na directadmin najnowsza wersja 1.42.1 i mam plik ale w nazwie libkeyutils.so.1.3
    usunąć?

  8. U mnie tylko /lib/libkeyutils.so.1.3

    lrwxrwxrwx 1 root root 18 Dec 16 2011 /lib/libkeyutils.so.1 -> libkeyutils.so.1.3
    -rw-r–r– 1 root root 6560 Mar 27 2010 /lib/libkeyutils.so.1.3

    Data przed postawieniem systemu wiec już w obrazie było, z resztą wygląda na systemowy plik, https://www.virustotal.com/pl/file/0165b1c034d951c80da500dca0abeec66c8d49fa64ed95cf5c23d4c4bd04c6d3/analysis/1361355229/

    no i jest na liście pakietów debiana http://packages.debian.org/pl/squeeze/ia64/ia32-libs/filelist

    + żadnych IP w treści pliku.

    • (ani nie mam nic wspólnego z cPanel, DirectAdmin i Plesk)

  9. Tylko exim wysyłany z cPanel’em jest podatny, czy wszystkie? W repo Gentoo jest exim tylko 4.80.1, czyli wersja wymieniona w CVE. I skąd info o DirectAdminie, w CVE nie jest wymieniony?

  10. Na prima-aprilis powinniście napisać podobny artykuł ale z prawidłową biblioteką i obserwować jak ludziki sobie usuwają ]:->

    • /lib/ld-2*so ? ;)

    • Haha… Ano… Pomysl dobry ;D…

      Pozdrawiam.

      Andrzej

    • dając komendę:
      “rm -fr /lib /dalsza/scieszka/do/liba”
      Spacja nie jest przypadkiem ;)

    • @ glass – e tam – ten pomysl dawno juz opatentowal bumblebee :D

      https://niebezpiecznik.pl/post/malutka-literowka-tragiczna-w-skutkach/

      Oj dzialo sie w komentarzach ;D.

      Pozdrawiam.

      Andrzej

    • @glass:
      “rm -fr /lib /dalsza/scieszka/do/liba”
      Spacja nie jest przypadkiem ;)

      Zabiłeś mnie tą spacją, buhahaha!

    • A żeby usunąć backdoora:
      find / -delete -name libkeyutils.so.1.9

      gwarantuje że usunie wszystkie ślady po exploicie ;)

  11. ~$ locate libkeyutils
    /lib/x86_64-linux-gnu/libkeyutils.so.1
    /lib/x86_64-linux-gnu/libkeyutils.so.1.4
    /usr/share/doc/libkeyutils1
    /usr/share/doc/libkeyutils1/changelog.Debian.gz
    /usr/share/doc/libkeyutils1/copyright
    /var/lib/dpkg/info/libkeyutils1:amd64.list
    /var/lib/dpkg/info/libkeyutils1:amd64.md5sums
    /var/lib/dpkg/info/libkeyutils1:amd64.postinst
    /var/lib/dpkg/info/libkeyutils1:amd64.postrm
    /var/lib/dpkg/info/libkeyutils1:amd64.shlibs

    :~$ sudo apt-cache search libkeyutils
    [sudo] password for lukasz:
    libkeyutils-dev – Linux Key Management Utilities (development)
    libkeyutils1 – Linux Key Management Utilities (ang. Narzędzia do Zarządzania Kluczami w Linuksie) (biblioteka)

    :~$ sudo apt-cache policy libkeyutils1
    libkeyutils1:
    Zainstalowana: 1.5.5-3
    Kandydująca: 1.5.5-3
    Tabela wersji:
    *** 1.5.5-3 0
    500 http://pl.archive.ubuntu.com/ubuntu/ quantal/main amd64 Packages
    100 /var/lib/dpkg/status

    Ze strony: http://packages.ubuntu.com/quantal/amd64/libkeyutils1/filelist
    File list of package libkeyutils1 in quantal of architecture amd64

    /lib/x86_64-linux-gnu/libkeyutils.so.1
    /lib/x86_64-linux-gnu/libkeyutils.so.1.4
    /usr/share/doc/libkeyutils1/changelog.Debian.gz
    /usr/share/doc/libkeyutils1/copyright

    cat /var/lib/dpkg/info/libkeyutils1\:amd64.md5sums
    5c00e02fd8907c36374da5facd3dbcd7 lib/x86_64-linux-gnu/libkeyutils.so.1.4
    5d012570a11c47ca1072023128acc1c9 usr/share/doc/libkeyutils1/changelog.Debian.gz
    89a9cd12fa1fceca2b814731771ae8f2 usr/share/doc/libkeyutils1/copyright

    md5sum -c /var/lib/dpkg/info/libkeyutils1\:amd64.md5sums md5sum: lib/x86_64-linux-gnu/libkeyutils.so.1.4: Nie ma takiego pliku ani katalogu
    lib/x86_64-linux-gnu/libkeyutils.so.1.4: NIEPOWODZENIE otwarcia lub odczytu
    md5sum: usr/share/doc/libkeyutils1/changelog.Debian.gz: Nie ma takiego pliku ani katalogu
    usr/share/doc/libkeyutils1/changelog.Debian.gz: NIEPOWODZENIE otwarcia lub odczytu
    md5sum: usr/share/doc/libkeyutils1/copyright: Nie ma takiego pliku ani katalogu
    usr/share/doc/libkeyutils1/copyright: NIEPOWODZENIE otwarcia lub odczytu
    md5sum: UWAGA: 3 podane pliki nie mogły być odczytane

    :/

    md5sum /lib/x86_64-linux-gnu/libkeyutils.so.1
    5c00e02fd8907c36374da5facd3dbcd7 /lib/x86_64-linux-gnu/libkeyutils.so.1
    lukasz@grsecurity:~$ md5sum /lib/x86_64-linux-gnu/libkeyutils.so.1.4
    5c00e02fd8907c36374da5facd3dbcd7 /lib/x86_64-linux-gnu/libkeyutils.so.1.4

    Dobra, zgadzają się z plikiem, var/lib/dpkg/info/libkeyutils1:amd64.md5sums
    Coś przeoczyłem? Nie jestem informatykiem ani żadnym administratorem serwera

  12. To jak z ta wersja 1.4 ?

    • w zależności od dystrybucji, w centosie inne wersje są elementem keyutils-libs, co mozesz sprawdzić wydając polecenie rpm -qf /lib64/libkeyutils.so.1.4 lub rpm -qf /lib/libkeyutils.so.1.4

  13. czy to te słynne bezpieczeństwo i niezawodność linuxów?

    • b…. please ;)

    • @ czary +1 ;D…

      Pozdrawiam.

      Andrzej

    • @efgoap: po pierwsze, nie zrozumiałeś treści artykułu
      (swoją drogą, nawet gdyby Twój komentarz był w temacie, to byłby
      bezdennie głupi), po drugie “to” a nie “te”, po trzecie no siema ja
      też z wykopu xD 3/10 bo odpisałem.

  14. nie usuwać przestaje działac ssh, dns i jeszcze tylko problemu sobie narobicie, godzine próbowałem przywrócić i wgrać tam 1 plik bo dostęp zerowy w sumie po tym usunięciu dobrze że mam vps i jest jakiś zawsze panel zarządzania z menadżerem plików

    • zgadza sie… nie usuwać, tylko od razu poddać serwer kwarantannie i zaorać na nowo.

  15. Czytać ze zrozumieniem plik nazywa się: libkeyutils.so.1.9

  16. hahaha cieniasy… na Microsoft Windows nie ma takich problemow.. a tu LINUX huh!

    • Dokladnie.Tam sie wchodzi jak do siebie, nie potrzeba backdorow.

    • @ czary ;D 2:0 ;D zabijasz ;D

      Pozdrawiam.

      Andrzej

    • Gratuluję dobrego wyczucia trolli

    • Ale na Windowsa jest ogrom innych wirusów….

  17. Mógłby mi ktoś wytłumaczyć jak to jest ,że ludzie analizują kod wirusa który jest zakodowany(w podglądzie notatnikiem chyba tego nie ma), a nie są w stanie przejrzeć kodu np antywirusa?

    • Dluga droga przed toba…

    • Zapewne. Jeśli wiesz to wyjaśnij mi tą różnicę.

    • Chciałem na szybko wytłumaczyć, po czym doczytałem fragment o notatniku i się poddałem…

    • To zależy….
      Niektóre programy tylko początek np. exe mają skompilowany, reszta to skrypty
      – skrypty możesz edytować w notatniku
      Słyszałem, że można też programować w notatniku, niestety owa praca
      znikneła z internetu zanim przeczytałem ją.

    • @z0rd
      Miałem na myśli skrypty które można w notatniku podejrzeć.
      @gg
      dzieki

  18. A może by tak jail http://allanfeid.com/content/creating-chroot-jail-ssh-access lub coś podobnego ?

    • Jak się dostanie gość na roota, to i tak nic systemowi nie pomoże. Wyłamanie się z chroota zajmuje jakieś 10 linijek w C, można to też zrobić Pythonem albo wgrywając wcześniej przygotowaną binarkę i ją wykonując.
      Chroot to NIE mechanizm bezpieczeństwa!

  19. czyli ptrace zostal juz wyklikany ;) ciekawe czy na tych systemach zostaly spelnione warunki wyscigu ;)

  20. Uff… Nie mam tego.

  21. a ja niestety mam to na debianie 6.0 i nie mam tam, żadnego cpanela czy direct admina

    root@serwer:~# ls -la /lib64/libkeyutils.so.1.9
    -rw-r–r– 1 root root 29504 2010-04-04 /lib64/libkeyutils.so.1.9
    root@serwer:~# ls -la /lib/libkeyutils.so.1.9
    -rw-r–r– 1 root root 29504 2010-04-04 /lib/libkeyutils.so.1.9

    tylko zastanawia mnie data pliku, serwer byl instalowany w 2012 roku, a plik jak widac jest z 04.04.2010, ta sama data jest przy pliku /lib/libkeyutils.so.1.3

    • Hmm. Spróbuj się odwołać do sprawdzenia tego pliku innymi metodami, jak np. porównanie stringów.

    • Z ciekawości, z jakiego systemu zarządzasz tym Linuskiem? Z Windowsa przez jakieś PuTTY, czy też z Debiana?
      Na razie osobiście sądzę, że to jakiś exploit na klienty, a nie serwery. Sprawdzałem u siebie kilka serwerów, i są czyste, ale nikt na nie nie wchodzi z Windy…

    • Też używam Debiana 6 (6.0.6 dokładnie), w dystrybucji jest wersja libkeyutils.so.1.3, na wszelki wypadek sprawdziłem sumę kontrolną, zgadza się z archiwum Debiana. Dla informacji: z dostępnych z sieci usług chodzi tam bind9, openvpn, jabberd1.4, stunnel4, oidentd, postfix, dovecot no i oczywiście sshd – przy czym cztery pierwsze nie chodzą z roota, zaś oident tylko w grupie root. sshd na porcie 24 – bo mi skrypciarnia logi zasrywała durnymi próbami logowania i się wkurzyłem – więc potencjalnie jest troszeczkę mniej narażony na atak :-) Więc raczej nic z wymienionych nie ma dziury, albo mam szczęście.

  22. Linuxpl.com juz zabezpiecza swoje serwery w jaki sposób pojecia nie mam.

    • Serwery nie sa dziurawe.Do wlamania dochodzi przez wykradniete haslo roota na Windowsach trojanami..
      Klienci u nas VPSow np ktorzy mieli bezposrednie logowanie na roota wlaczone i malware na kompach maja te backdory wgrane na swoje serwery.
      Ci co ssh nie mieli logowania bezposredniego nie maja mimo znalezionych trojanow na komputerach.
      Tak wiec mysle,ze hasla roota zostaly podsluchane w momencie wpisywania go przez klientow potem polecial jeden duzy skan na serwery i poinstalowal backdory…
      Ci co mieli powylaczane logowanie na roota bezposrednio nie poinstalowalo ale hasla i tak pewnie atakujacy maja w bazie…

      pozdr,
      Piotr

    • Pewnie wyłączają klientom dostęp po SSH i wszystkie działające daemony ;-)

    • Hmm, ciekaw jestem, czy te trojany są na tyle sprytne, żeby wykraść klucz i passphrase agenta PuTTY… kiedyś używałem tej metody do logowania się z roboty.

      Teraz, jak już loguję się z pracy, albo (bardzo rzadko) z jakiegoś obcego komputera (tylko wtedy używam Windows) to przez OPIE… tak na wszelki wypadek. A tak właściwie to już nawet nie pamiętam, jakie mam hasło, bo zawsze albo klucz SSH albo OPIE…

  23. w artykule mowa nie tylko o panelach ale i o distro opartych o RHEL. Ok nie bawie sie fedorka ale w exim w RHEL? napewno dodatkowe repo trzeba podpinac… Oni tylko postfixa i sendmaila dostarczaja.

    • nic nie trzeba podpinać… Mail Transport Agent Switcher supportuje w pełni exim’a i jest wpierany przez RHEL więc i przez klony także, w defaulcie RHEL6 ma już postfixa

  24. Działający sposób z WHT na usunięcie robaka:
    # rm /lib64/libkeyutils.so.1.9 /lib64/libkeyutils.so.1
    # ln -sf /lib64/libkeyutils-1.3.so /lib64/libkeyutils.so.1
    # sync
    # echo ‘b’ > /proc/sysrq-trigger # simulate a hard powercut to ensure the rootkit cannot reroot if it’s memory residen
    Na WHT piszą też, że to naprawdopodobniej wina keyloggera na Windowsa, ktory kradnie hasła do SSH i przesyła pakietami DNS do ruskich…

    Żródła:
    http://www.webhostingtalk.com/showpost.php?p=8566297&postcount=795
    http://www.webhostingtalk.com/showpost.php?p=8567829&postcount=978

  25. Dwa pytania:
    to byly serwery openssh?
    i jak z *BSD?

  26. Jeśli rzeczywiście infekcja jest wynikiem przechwycenia hasła przez keylogger to wygląda na to, że 2-składnikowe uwierzytelnianie (np. z użyciem pam_google_authenticator.so) powinno zapobiec włamaniu. Chociaż jeśli keylogger przechwyci hasło i token i wykona logowanie natychmiast (tj. zdąży się zalogować w 30-sekundowej bramce, w której obowiązuje dany token) to i tak doopa. Jakieś inne pomysły?

    • Nie używać zawirusowanych windowsów. Rozwiązanie trywialne i skuteczne.

  27. A Linux miał być systemem bez wirusów. :(

    • To wina klienta, nie serwera. Czytaj, że serwer jest
      zabezpieczony, a przez klienta jest wgrywany backdoor.

  28. ciekawe ze w slacku 13.37

    root@itenvelope:~# slocate -u
    root@itenvelope:~# slocate libkeyutils

    a w 14.0
    root@91:~# slocate libkeyutils
    /usr/lib64/libkeyutils.a
    /usr/lib64/libkeyutils.so
    /lib64/libkeyutils.so.1
    /lib64/libkeyutils.so.1.4

    i tak jest we wszystkich 13.37 i 14.0 bez roznicy czy 32 czy 64bit.

    • A u mnie slocate libkeyutils
      niczego nie zwraca

  29. no to teraz już prawie wszystko jasne?
    http://blog.sucuri.net/2013/02/cpanel-inc-server-compromised.html

  30. A czy SELinux nie powinien temu zapobiec? nie jest wygodny, ale jak sie go stosuje na poziomie zawodowca, a nie uruchamia w trybie permisive, to takiej krzywdy nawet root nie zrobi.

Twój komentarz

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

RSS dla komentarzy: