Как удалить acunetix linux

Обновлено: 07.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

На днях довелось очищать сервер Linux от трояна и майнера. Сервер безголовый (только с консолью, без веб панелей или графических интерфейсов), антивирусы и анализаторы вредоносного трафика не установлены. Тем не менее, даже в таких условиях используя стандартные средства Linux можно довольно эффективно искать и деактивировать вредоносное ПО.

Чтобы было интереснее, методы будут опробованы на настоящем вредоносном ПО. На момент написания все ссылки на вредоносное ПО рабочие — можете попробовать себя в анализе, сборе информации о серверах злоумышленника и прочем. Конечно, я исхожу из того, что у вас хватит ума не запускать скаченные файлы двойным кликом и смотреть, что будет дальше. При поиске и деактивации вредоносного ПО (загрузчик, майнер, троян) на рабочем сервере было не до документирования, поэтому последующие скриншоты сделаны в тестовой системе, которую я специально заразил вирусом.

Как найти вирус на сервере Linux

Вредоносные программы, вирусы, трояны, майнеры имеют определённую цель. Для этой цели им необходимо выполнять те или иные действия — именно по этой активности и можно их найти. Кроме того, поскольку программы находятся в системе «нелегально», то им необходимо, во-первых, сохраниться после перезапуска компьютера; во-вторых, запуститься после перезапуска системы. Эти действия также могут выдать их.

В качестве активности вредоносного ПО можно выделить:

  • прослушивание портов или связь с удалёнными компьютерами (характерно для троянов)
  • повышенное потребление ресурсов компьютера (характерно для майнеров, программ для рассылки спама, компьютеров подключённых к ботнету)

Для закрепления в системе программа может:

  • копировать свои файлы и скачивать другое вредоносное ПО
  • добавлять задачи Cron
  • добавлять свои файлы в автозагрузку служб
  • модифицировать файлы профиля, автоматически выполняемые при входе пользователя в систему

Признаки взлома сервера Linux

Нагрузка на центральный процессор

Инструментарий:

Начинаем с анализа использования ЦПУ:


Некий процесс dbused создаёт слишком сильную нагрузку на систему.

Попробуем развернуть дерево процессов (клавиша «c»):


Никакой дополнительной информации по процессу dbused. Попробуем что-то узнать о нём с помощью ps:

Тоже мало толку.


Можно попытаться закрыть процесс, но он вновь сам запустится.

Нагрузка на постоянное хранилище

Инструментарий:

Посмотрим информацию об использовании диска процессами:

Следующая команда с интервалами в 20 секунд показывает все процессы, которые выполняли чтение и запись с диска:

На самом деле, на заражённом сервере найти источник проблемы мне помогла именно предыдущая команда, она в качестве процесса, который делал множество операций чтения/записи показала следующее:

Видимо, из-за недостатка прав (сервер был заражён с правами веб-службы), что-то для вредоносного ПО работало во внештатном режиме.

Открытые порты

Инструментарий:

Чтобы посмотреть установленные соединения (например, троян или часть бота подключились к управляющему компьютеру), выполните следующую команду:

Вывод в моём случае:

Обратите внимание на dbused — он подключён к 194.5.249.24:8080 — это и есть управляющий сервер или, в данном случае, компьютер отвечающий за координацию майнеров (пул). В качестве противодействия, можно заблокировать доступ к 194.5.249.24 с помощью iptables.

Вирус может быть настроен на прослушивания (открытие) порта. Открытые порты можно посмотреть командой:

Анализ открытых файлов

Инструментарий:

Посмотрим, какие есть открытые файлы, связанные с dbused:


Информации достаточно много, например, показаны IP адреса и порты с которыми связывается программа.

Чтобы показать только файлы в привычном смысле, то используйте команду следующего вида:


Как можно увидеть, файл найден, но он уже удалён. Вас не должен смущать тот факт, что исполнимый файл одновременно запущен (и использует ресурсы системы), но при этом является удалённым. В Linux не запрещено удалять используемый файл, он остаётся в кэше памяти и по-настоящему удаляется только когда будут закрыты все программы, используемые данный файл, либо когда процесс завершит свою работу, если это исполнимый файл.

Можно сделать вывод: файл копируется при каждом запуске системы, запускается, а затем удаляется (например, чтобы избежать обнаружения антивирусами). После перезагрузки компьютера всё повторяется вновь.

На самом деле, полученная информация не является бесполезной. Кроме сделанных выводов, что имеется механизм воссоздания вредоносного файла, можно сделать что-нибудь в этом роде:

В результате будет создан файл заглушка, который невозможно удалить и переписать. При следующем запуске ОС это может помешать вирусу нормально скопировать и запустить свою копию.

Для просмотра вообще всех открытых (настоящих) файлов, можно использовать следующую команду:

Для просмотра открытых файлов в определённой директории:

Возможно, вы сумеете обнаружить аномалии в системе.


Как узнать, какой процесс создаёт файл

Инструментарий:

Создадим правило для отслеживания изменений файла /usr/bin/dbused

Перезагрузим компьютер и после появления файла проверим, кто его создал и запустил:

Запущенные службы

Инструментарий:

Просмотр активных служб, запущенных с помощью Systemctl:

К автозагрузке с помощью Systemctl мы ещё вернёмся чуть ниже.

Поиск следов закрепления вредоносного ПО

Поиск недавно созданных файлов

Инструментарий:

Поиск файлов в указанной папке, которые были изменены менее 1 дня назад:


Чтобы найти все файлы, которые были изменены ровно 50 дней назад:

Чтобы найти все файлы, к которым был получен доступ ровно 50 дней назад:

Чтобы найти все файлы, которые были модифицированы более 50 дней назад и менее 100 дней назад:

Чтобы найти файлы, свойства которых (права доступа, владелец, группа) были изменены за последний час:

Чтобы найти файлы, которые были модифицированы за последний час:

Чтобы найти все файлы, доступ к которым был сделан за последний час:

Поиск служб в автозагрузке

Инструментарий:

Если вы хотите посмотреть только юниты, добавленные в автозагрузку, то используйте следующую конструкцию:


Посмотрите на две службы с именами:

На самом деле, вредоносное ПО может модифицировать файлы Systemctl и заменить собой любую службу или выбрать менее вызывающее название, но в данном случае очевидно, что это посторонние сервисы.

Можно посмотреть, что там внутри:


Говорит нам о том, что файл вируса спрятан в /bin/sysdr.

Поиск в директориях /etc/systemd/system/ и /usr/lib/systemd/system/ файлов созданных за последний день:

Знакомые нам файлы:

  • /etc/systemd/system/pwnrige.service
  • /usr/lib/systemd/system/pwnrigl.service

Поиск по содержимому файлов (по тексту)

Инструментарий:

Поиск строк sysdr или cp в директориях /etc/systemd/system/ и /usr/lib/systemd/system/:


Расписания задач Cron

Инструментарий:

Следующие две команды покажут содержимое задач Cron для всех пользователей:

Более гибкий вариант, не рассчитывает на имена пользователей:


Обратите внимание, как прочно укоренился вирус в системе:

Этот набор команд, который должен выполняться с периодичность 1 раз в минуту, прописан в следующих файлах:

Автоматически выполняемые скрипты

Инструментарий:

В Linux имеются скрипты, которые выполняются автоматически при входе пользователя в систему.

Некоторые из этих скриптов общие для всех пользователей, некоторые — у каждого пользователя свои:

Если вы не знаете, что именно нужно искать, то используйте следующую команду, которая выведет содержимое для всех файлов всех пользователей:


Посмотрите какая неприятность — в файле /root/.bash_profile найдена следующая строка:

Анализ таймеров

Инструментарий:

Вывод списка всех активных таймеров:

Анализ логов

Эта статья не совсем про Indicator of Compromise (IOC) и анализ атак, ставших причиной компрометации системы, поэтому не будем на этом сейчас останавливаться. Тем не менее, вас может заинтересовать:

Деактивация вируса в Linux

Попробуем собрать всё воедино и убрать службы из автозагрузки, удалить все исполнимые файлы и файлы автозапуска, сразу после этого перезагружаем компьютер, чтобы процесс вируса (если он ещё активен), не успел создать всё это заново:


Вместо успешного завершения блока команд и перезагрузки компьютера мы получили ошибку «Операция не позволена» для ряда файлов.

Причина в том, что с помощью атрибута файла «i» файлы заблокированы от удаления даже с помощью sudo. Подробности смотрите в статье «Атрибуты файлов в Linux». Чтобы разблокировать файлы, нужно использовать команду вида:

Получаем новую последовательность команд для деактивации вируса:

Если процесс вируса ещё активен, то в дополнение к команда очистки, можно завершить процесс вредоносного ПО с помощью kill.

Инструментарий:

Как вы могли обратить внимание, среди нашего инструментария только обычные утилиты Linux. Конечно, имеются системы предотвращения вторжений, Indicator of Compromise (IOC) (индикаторы компрометации), антивирусы, анализаторы вредоносного трафика и другой вредоносной активности. Но такие программы не всегда установлены и, на самом деле, не всегда требуются чтобы найти и даже устранить причину проблемы.

Ещё вы могли обратить внимание на скрипт, который скачивается планировщиком задач Cron — это загрузчик (Downloader), написан на Bash. Даунлоадеры — это небольшие программы, которые обычно сами не делают каких-либо деструктивных действий, но при этом загружают в операционную систему вирусы, трояны и другие вредоносные программы. В данном случае загрузчик скачивает и запускает троян ботнета и майнер. Сам загрузчик пытается закрепиться в системе и, более того, пытается заразить другие машины — ищет имена пользователей и ключи для входа в другие системы. В общем, скрипт весьма любопытный — в следующей части мы изучим его. Изучение захваченных скриптов, файлов, команд полезно не только для саморазвития — они также могут дать подсказки, каким ещё образом вирус мог попытаться закрепиться в системе.

Целью считается веб-сайт, веб-приложение, сервер или сетевое устройство.

Применяются следующие правила:

Правила действительны для Acunetix On-Premise и Acunetix Online.

Можно ли изменить настройки цели?

Имя хоста или IP-адрес не могут быть изменены после создания цели. Все остальные параметры могут быть изменены в любое время.

Что такое цель, читайте в разделе «Лицензирование».

Тип лицензии

Со сравнительной таблицей функционала можно ознакомиться по ссылке.

Размер минимальной закупки

Действительно для Acunetix On-Premise и Acunetix Cloud.

Как обновить версию программы с Acunetix v12 до Acunetix v13?

Только для Acunetix On-Premise. Acunetix Online обновляется автоматически.

Перейти в меню «Настройки» -> «Updates».

Если вы используете Acunetix v12, вы можете обновиться до Acunetix v13. Для этого:

    последнюю версию Acunetix.
  1. Создайте резервную копию файлов <C:\ProgramData\Acunetix 12>.
  2. Удалите Acunetix v12 без удаления баз данных (в соответствующем меню «Удаления»).
  3. Установите Acunetix v13 на той же машине, что и Acunetix v12. Мастер установки обнаружит старую версию и автоматически обновит её, сохранив все текущие настройки.
  4. После скачивание Acunetix UI вам будут доступны все цели, настроенные в Acunetix v12, а также результаты сканирования и отчёты.

Обновление

По умолчанию, Acunetix автоматически проверяет наличие обновлений, устанавливает новые обновления в фоновом режиме без какого-либо взаимодействия с пользователем.

Конечно, такое поведение может быть сконфигурировано с помощью навигации в меню «Настройки» -> «Обновления продукта».

В Acunetix, также, может быть установлено: «Сообщите мне о новых обновлениях продукта» или «Автоматически не проверять наличие обновлений» [Не рекомендуется].

Acunetix Online обновляется автоматическию.

Как активировать ключ Acunetix Online?

После покупки подписки на Acunetix Online вы получаете лицензионный ключ. Его необходимо активировать. Для этого:

Если у вас ещё нет аккаунта, вам нужно зарегистрироваться на сайте Acunetix онлайн, прежде чем начать сканирование.

Что такое Acunetix AcuSensor?

Устанавливается опционально. Для каждого веб-сайта генерируется уникальный агент AcuSensor по соображениям безопасности.

Что такое Acunetix AcuMonitor?

У каждого из команды ][ - свои предпочтения по части софта и утилит для
пентеста. Посовещавшись, выяснилось, что выбор так разнится, что можно
составить настоящий джентльменский набор из проверенных программ. На том и
решили. Чтобы не делать сборную солянку, весь список мы разбили на темы. Поиск
уязвимостей - это определенно одна из интереснейших тем.

Подставив кавычку в нужном месте - и нашел возможность для инъекции?
Проснись! Давно прошли времена, когда пионерские способы помогали найти ошибки
даже в серьезных проектах. Поиск уязвимых мест стал намного более изощренным,
как и техники для успешной эксплуатации уязвимостей. Если раньше худо-бедно
можно было все реализовать вручную, то теперь без вспомогательных инструментов
не обойтись. Последние не только выполнят муторную работу за тебя, но и
подскажут, как можно воспользоваться багой, а в некоторых случаях - даже
автоматизируют процесс эксплуатации. Итак, приступим?

Nikto

Прога написана на Perl'е, поэтому вся работа осуществляется из командной
строки. Помимо поиска уязвимых сценариев, Nikto попробуем определить
версию веб-демона, отыскать файлы с открытыми паролями, а также выполнить
десяток других проверок. Полноценная поддержка прокси (с возможностью
авторизации), а также SSL-соединения при правильном подходе гарантируют твою
безопасность. Правда, о незаметном сканированию придется забыть. С самого начала
разработчики сделали упор на скорость скана, не заморачиваясь по поводу
stealth-методов. С другой стороны, Nikto поддерживает ряд методик для
обмана IDS, реализованных в библиотеке LibWhisker, но, увы, и они по большей
части устарели.

IBM Rationa Appscan

HP WebInspect

Acunetix Web Security Scanner

Еще один коммерческий сканнер, который вместе с AppScan и WebInspect, входит
в тройку самых-самых. Продукт серьезно раскрученный, но ему ни за что ни удалось
бы добиться такой популярности, если бы не убойный функционал. Acunetix Web
Security Scanner представляет собой полностью автоматизированный сканнер
уязвимостей. Сначала программа исследует и формирует структуру сайта,
обрабатывая все найденные ссылки и собирая информация обо всех обнаруженных
файлах. Затем приступает к тестированию всех веб-приложения, моделируя ввод
данных с использованием фаззера, использованием подстановок различных параметров
и сниппетов, которые могут помочь задетектить брешь в защите. Среди доступных
для обнаружения уязвимостей все виды SQL injection, Cross site scripting, CRLF
injection и т.д. Важно, что сканнер производит анализ с умом, учитывает
специфику удаленной системы - но для этого для сканирования необходимо выбрать
правильный профиль.

Burp Suite

Paros Proxy

Wapiti 2.1.0

ProxyStrike

Активная веб-прокси для поиск уязвимостей в веб-сценариях, с которыми в
данный момент ты имеешь дело. Это особенно актуально для сложных приложений,
построенный на базе JS и Ajax: ведь никакой скрипт не может полностью
сымитировать работу пользователя и проследить за всеми этапами выполнения
приложения. На данный момент разработчиками реализованы модули для поиска SQL-инъекций, XSS и локальных инклудов. Сам процесс использования утилиты выглядит
очень просто. ProxyStrike работает в виде обычной прокси, которая висит
по умолчанию на 8008 порту, но помимо стандартных для прокси действий, она в
фоном режиме выполняет фаззинг параметров, который ты передаешь на сервер. В
результате твоя работы с веб-приложением ничем не выделяется, хотя на самом деле
в этот же самый момент происходят активные действия.

Архитектура приложения изначально серьезно расширяема, и ты можешь сам
реализовать нужный функционал, написав соответствующий плагин.

XSpider

sqlmap

sqlmap - это уже более узкоспециализированная утилита, предназначенная
специально для автоматизации SQL инжекций. Написанная на Python'е тулза может
обнаружить на сайте и эксплуатировать любые SQL инжекции в веб-приложениях.
Причем поддерживаются самые разные методики, включая самые сложные слепые
инъекции. Если sqlmap обнаружил SQL-инъекцию, будь уверен - что-то да ты
накопаешь. Впрочем, ничего не стоит использовать ее в связке с более
универсальными сканнерами. Если Appscan или, скажем, продукт от Acunetix нашел
SQL-уязвимость, ничего не стоит натравить на уязвимый сценарий sqlmap.

sqlsus

Специальная утилита для реализации инъекций в базы данных MySQL. С помощью
sqlsus ты намного проще сможешь эксплуатировать найденный баг, получив
структуру базы, внедрив SQL запрос, скачав с сервера нужные файл, закачав бэкдор
и т.д. и т.п. Примечательно, что в качестве инструмента для хранения полученных
дампов используется база SQLite, что чрезвычайно удобно. Можно например сделать
копию базы, таблицы или колонки с уязвимого сервера себе в локальную SQLite базы
и полноценно работать с ней. Помимо этого, в sqlsus реализована несколько других
полезных фич. Если ты не можешь обратиться к базе information_schema, или если
ее не существует, тулза поможет пробрутфорсить название таблиц и колонок. В
арсенале sqlsus и инструменты для реализации Blind-инъекций. Впрочем, для
реализации этого вида атак лучше заюзать следующую утилиту.

bsqlbf-v2

Эта тулза специально разработана для эксплуатирования слепых SQL-инъекций.
Причем изначально поддерживалась только MySQL, но в обновленной версии
реализованы методики для 3 других СУБД: MS SQL, PostrgeSQL, Oracle. bsqlbf
написана на Perl и принимает SQL запросы через командную строку и способна
реализовать инъекцию в целочисленные и строковые поля. Всего поддерживается 6
видов слепых инъекций, тип атаки обозначается с помощью ключа для запуска
"-type":

В данном примере эксплуатируется уязвимость ORACLE dbms_export_extension
exploit, позволяющая с помощью слепой инъекции выполнить произвольную команду.

Способы удаления приложений в Linux отличаются от Windows - они более разнообразные. Приложения можно удалить как минимум трема способами - «Менеджер программ», «Менеджер пакетов Synaptic» и консоль. В Windows способ один — менеджер программ (унинсталлеры), отличаются они только интерфейсом.

«Менеджер программ»

Самое простое и похожее на Windows решение — это «Менеджер программ». Он всегда установлен по умолчанию в разных дистрибутивах Linux. На вид менеджеры приложений немного отличаться, но работают они одинаково.

1. Запустите «Менеджер программ». Для это откройте строку поиска («Alt+F1» или «Alt+F2») и вводите «Менеджер программ» или «Software Manager».

2. Выберите категорию «Все пакеты».

3. Зайдите во вкладку «Вид» менеджера и выберите «Установленные приложения».

4. Перед вами все установленные программы. Кликните по ненужной и увидите кнопку «Удалить».

«Менеджер пакетов Synaptic» Принцип работы менеджера пакета немного отличается от менеджера программ. Несмотря на то, что он может показаться сложным, многие предпочитают именно его.

Каждое приложение в Linux — это один или несколько зависимых пакетов. В «Менеджере программ» вы скачиваете стандартный набор пакетов для программы. В Synaptic приложение можете «собирать». Удаление приложений имеет свои особенности.

1. Запустите Synaptic. Воспользуйтесь строкой поиска. Если менеджера пакетов нет, установите его — найдите в менеджере программ или введите в консоли «sudo apt-get install synaptic».

2. Слева внизу выберите пункт «Состояние». Слева вверху появится список опций, там выбирайте «Установленные». Перед вами все установленные пакеты.

3. Нажимаете правой кнопкой по любому и выбираете «Отметить для полного удаления». 4. Отметив пакеты, которые хотите удалить или переустановить, нажмите «Применить» (вверху на панели инструментов). Synaptic начнет выполнять очередь поставленных перед ним заданий. Преимущество Synaptic в том, что вам не нужно удалять программы по одной — отмечаете действия с разными пакетами и выполняете все сразу. Также можете увидеть и установить рекомендуемые пакеты для программы. Но в данном случае от пользователя требуется некий опыт, так как можно затереть нужные системные пакеты.

Терминал (консоль)

Терминал — это, пожалуй, самый быстрый способ удалить то или иное приложение. Главное — знать точное название пакета.
1. Открываете консоль (Ctrl+Alt+T);
2. Удалим, к примеру, программу gparted. Вводим команду: «sudo apt-get remove gprarted». «Enter».

Чистим систему от мусора

Если много экспериментировать с пакетами, или, скажем, установка пакетов прерывалась, то в системе может собраться мусор: нарушенная индексация пакетов, зависимости и пакеты deb, которые не используются. Для этого время от времени выполняйте 4 простых команды:
1. Обновляем индексацию доступных пакетов: «sudo apt-get update»;
2. Обновляем установленные пакеты: «sudo apt-get upgrade»;
3. Удаляем пакеты «.deb», которые не используются: «sudo apt-get autoclean»;
4. Удаляем зависимости пакетов, которые были удалены: «sudo apt-get autoremove».

Читайте также: