Krytyczna podatność DirectAdmin

Michał Jaszczak 2018-04-16

Jeśli jesteście użytkownikami DirectAdmina lepiej sprawdźcie, z jakiej wersji korzystacie. Te poniżej 1.52 posiadają krytyczną podatność, która powinna zostać załatana. W poniższym artykule znajdziecie informację o tym, jak sprawdzić wersję oraz jakie kroki należy przedsięwziąć, jeśli Wasz DirectAdmin został zainfekowany.

W ostatnim okresie pojawiła się łatka do krytycznej podatności DirectAdmina oznaczonej segfault (SECURITY) CVE-2017-18045. Informacje na jej temat znajdziecie na stronie DirectAdmin https://www.directadmin.com/features.php?id=2036 oraz CVE  http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-18045 .

Luka ta daję możliwość uzyskania nieautoryzowanego dostępu do serwera na koncie root.
Zgodnie z naszymi ustaleniami jedną z możliwości jej wykorzystania jest instalacja koparki kryptowalut.
Luka dotyczy wersji DirectAdmin poniżej 1.52.

Zalecamy pilną aktualizację, którą można przeprowadzić przez konsolę SSH lub przez panel Direct Admin. 

Jak sprawdzić wersję Direct Admin i uaktualnić ją do najnowszej przez Panel?

1) Zanim zaczniecie wprowadzać zmiany zróbcie backup serwera.

2) Logujemy się do DirectAdmin i klikamy na „Licencje / Uaktualnienia”.

DirectAdmin1
3) Następnie klikamy „Uaktualnij DirectAdmina”.

Direct Admin2

Jak sprawdzić, czy nie zostałem zainfekowany?

Może się okazać, że przed przeprowadzeniem aktualizacji, Wasz serwer został zainfekowany. Jak to sprawdzić?

W konsoli, jako root, należy uruchomić poniższe polecenie:

# grep CMD_CHANGE_FTP_PASSWORD /var/log/directadmin/*.log

Jeżeli polecenie zwróci w odpowiedzi linijki podobne do poniższych:

/var/log/directadmin/2018-Apr-02.log:02/04/2018:10:35:10  x.x.x.x POST /CMD_CHANGE_FTP_PASSWORD HTTP/1.1  (null)
/var/log/directadmin/2018-Mar-10.log:10/03/2018:12:23:54  x.x.x.x POST /CMD_CHANGE_FTP_PASSWORD HTTP/1.1  (null)

oraz dodatkowo po zastosowaniu komendy "top", wyświetli nam się proces, który praktycznie cały czas wykorzystuje 100% CPU, daje to duże prawdopodobieństwo, że nasz serwer może być zainfekowany.

Przykładowy podejrzany proces, który podszywa się pod proces systemowy, a nim nie jest, oznaczyliśmy na poniższym obrazie:

Komenda top

Co zrobić jeśli serwer jest zainfekowany?

W pierwszej kolejności nalezy zrobić backup systemu, ktory w razie ewentualnych i nieprzewidzianych wydarzeń pozwoli przywrócić system do stanu wyjściowego.

Nastepnie wykonujemy update do najnowszej wersji DirectAdmina.

W analizowanym przypadku koparka kryptowalut ukryła się w pliku /usr/sbin/eixm. Wiemy również,że niechciane oprogramowanie może ukrywać się w jednym z poniższych plików:

/usr/sbin/userntectl
/usr/bin/chgae
/usr/sbin/eixm
/usr/bin/newrgp

Pliki te nalezy usunąć. Proszę zwrócić uwagę na literówki, aby nie usunąć prawdziwych plików systemowych. 

Uruchamiają one w pamięci dodatkowy proces o zmienionej nazwie przypominającej proces systemowy np. Postfix, exim lub w naszym przypadku chronyd.

Poniżej zamieszczamy zrzut drzewa procesów uzyskany poleceniem pstree -p:

Pstree1

pstree2

W opisywanym przypadku, aby usunąć infekcję należało:

1) Zatrzymać powyższe procesy komendą kill -9 {process_id}
2) Usunąć linię uruchamiająca jeden ze wspomnianych wyżej plików (w naszym przypadku był to eixm) z /etc/rc.local.
3) Jeśli z jakiegoś powodu, wcześniej nie usunęliście plików to zróbcie to teraz.

Po wykonaniu tych działań Wasz system powinien być wolny od infekcji.

Pragniemy zaznaczyć, że powyższe porady mają charakter informacyjny. Powyzsze sugestie zadziałały w badanym przez nasz przypadku, istnieje jednak możliwośc,że w niektórych sytuacjach nie przyniosą one efektu.

Jeśli ktoś z Was boi się wykonać powyższe porady we własnym zakresie, zapraszamy do kontaktu z nami.

Hosting z dyskami SSD

Szukasz szybkiego hostingu z dyskami SSD? Dobrze trafiłeś.

Pakiety hostingowe Kylos to sprawdzone i niezawodne rozwiązanie dla Twojej strony.

Darmowy okres próbny pozwoli Ci sprawdzić naszą ofertę, bez ponoszenia kosztów.

 

Sprawdź nas

Mogą Cię również zainteresować

comments powered by Disqus