Интернет Windows Android

Лучшие инструменты пен-тестера: сканеры безопасности. Эффективный поиск сетевых уязвимостей с Nessus Scanner Поиск уязвимостей в сетевых устройствах

Сканеры уязвимостей автоматизируют аудит безопасности и могут играть важную роль в вашей ИТ-безопасности, сканируя вашу сеть и веб-сайты для разных рисков безопасности. Эти сканеры также могут генерировать список приоритетов тех, которые вы должны исправлять, а также описывать уязвимости и предоставлять меры по их устранению. Также возможно, что некоторые из них могут автоматизировать процесс устранения уязвимостей
10 лучших инструментов для оценки уязвимостей

  • Comodo HackerProof
  • OpenVAS
  • Nexpose Community
  • Nikto
  • Tripwire IP360
  • Wireshark
  • Aircrack
  • Nessus Professional
  • Retina CS Community
  • Microsoft Baseline Security Analyzer (MBSA)
  1. Comodo HackerProof
    Comodo HackerProof считается революционным инструментом сканирования уязвимостей, который позволяет преодолеть проблемы безопасности. Ниже приведены некоторые основные преимущества, которые вы можете получить от HackerProof:
  • Ежедневное сканирование уязвимостей
  • Включены инструменты сканирования PCI
  • Предотвращение Drive-by attack
2. OpenVAS
Это инструмент с открытым исходным кодом, который служит в качестве центральной службы, которая предоставляет инструменты оценки уязвимостей для сканирования уязвимостей и управления уязвимостями.
  • OpenVAS поддерживает различные операционные системы
  • Механизм сканирования OpenVAS постоянно обновляется с помощью тестов на уязвимость сети
  • OpenVAS-сканер - это комплексный инструмент оценки уязвимостей, определяющий проблемы, связанные с безопасностью на серверах и других устройствах сети
  • Услуги OpenVAS бесплатны и обычно лицензируются по лицензии GNU General Public License (GPL)
3. Nexpose Community
Сканер уязвимостей Nexpose, разработанный Rapid7, представляет собой инструмент с открытым исходным кодом, используемый для сканирования уязвимостей и проведения широкого спектра проверок сети.
  • Nexpose может быть встроен в структуру Metaspoilt
  • Он учитывает возраст уязвимости, например, какой вредоносный набор используется в нем, какие преимущества он использует и т. Д. И исправляет проблему на основе ее приоритета
  • Он способен автоматически обнаруживать и сканировать новые устройства и оценивать уязвимости при доступе к сети
  • Он контролирует уязвимость в режиме реального времени, ознакомляя себя с последними опасностями с новыми данными
  • Большинство сканеров уязвимостей обычно классифицируют риски, использующие средний или высокий или низкий масштаб
4. Nikto
Nikto - это очень популярный веб-сканер с открытым исходным кодом, используемый для оценки вероятных проблем и уязвимостей.
  • Он также используется для проверки устаревших версий сервера, а также для проверки какой-либо конкретной проблемы, которая влияет на работу сервера
  • Nikto используется для проведения различных тестов на веб-серверах для сканирования различных элементов, таких как несколько опасных файлов
  • Он не считается "тихим" инструментом и используется для тестирования веб-сервера за минимальное время
  • Он используется для сканирования различных протоколов, таких как HTTPS, HTTP и т. д. Этот инструмент позволяет сканировать несколько портов определенного сервера.
5. Tripwire IP360
Компания Tripwire IP360, разработанная компанией Tripwire Inc, считается лучшим решением для оценки уязвимости, которое используется различными предприятиями для управления рисками их безопасности.
  • Он использует широкомасштабное представление сетей для выявления всех уязвимостей, конфигураций, приложений, сетевых хостов и т. Д.
  • Он использует открытые стандарты, чтобы помочь в интеграции управления рисками и уязвимости в несколько процессов бизнеса
6. Wireshark
Wireshark - широко используемый анализатор сетевых протоколов, который считается самым мощным инструментом инструментария специалистов по безопасности.
  • Wireshark используется в различных потоках, таких как правительственные учреждения, предприятия, учебные заведения и т. д., Чтобы заглядывать в сети на низком уровне
  • Он фиксирует проблемы в Интернете и выполняет анализ в автономном режиме
  • Он работает на разных платформах, таких как Linux, masOS, Windows, Solaris и т. д.
7. Aircrack
Aircrack, также известный как Aircrack-NG, представляет собой набор инструментов, используемых для оценки безопасности сети WiFi.
  • Инструменты используются в сетевом аудите
  • Он поддерживает несколько ОС, таких как Linux, OS X, Solaris, NetBSD, Windows и т. Д.
  • Он фокусируется на различных областях безопасности WiFi, таких как мониторинг пакетов и данных, тестирование драйверов и карт, повторные атаки, взлом и т. Д.
  • С Aircrack можно получить потерянные ключи, захватив пакеты данных
8. Nessus Professional
Инструмент Nessus - это запатентованный и запатентованный сканер уязвимостей, созданный Tenable Network Security.
  • Это предотвращает проникновение сетей из хакеров путем оценки уязвимостей в самое ближайшее время
  • Он может сканировать уязвимости, которые позволяют удаленно взломать конфиденциальные данные из системы
  • Он поддерживает широкий спектр ОС, Dbs, приложений и нескольких других устройств среди облачной инфраструктуры, виртуальных и физических сетей
  • Он был установлен и используется миллионами пользователей во всем мире для оценки уязвимости, проблем с конфигурацией и т. Д.
9. Retina CS Community
Retina CS - это консоль с открытым исходным кодом и веб-панелью, которая помогла упростить и централизовать управление уязвимостями.
  • Благодаря своим возможностям, таким как отчетность о соответствии, исправление и соответствие конфигурации, Retina CS обеспечивает оценку межплатформенной уязвимости
  • Он включает автоматическую оценку уязвимости для БД, веб-приложений, рабочих станций и серверов
  • Retina CS представляет собой приложение с открытым исходным кодом, которое обеспечивает полную поддержку виртуальных сред, таких как интеграция vCenter, сканирование виртуальных приложений и т. Д.
10. Microsoft Baseline Security Analyzer (MBSA)
MBSA - это бесплатный инструмент Microsoft, который идеально подходит для обеспечения безопасности компьютера Windows на основе спецификаций или рекомендаций, установленных Microsoft.
  • MBSA позволяет повысить уровень безопасности, исследуя группу компьютеров для любой неправильной конфигурации, отсутствующих обновлений и любых патчей безопасности и т. Д.
  • Он может сканировать только обновления для системы безопасности, пакеты обновления и накопительные пакеты обновлений, оставляя в стороне критические и дополнительные обновления
  • Он используется организациями среднего и малого размера для управления безопасностью своих сетей
  • После сканирования системы MBSA представит несколько решений или предложений, связанных с устранением уязвимостей

Проблема эпидемии сетевых червей актуальна для любой локальной сети. Рано или поздно может возникнуть ситуация, когда в ЛВС проникает сетевой или почтовый червь, который не детектируется применяемым антивирусом. Сетевой вирус распространяется по ЛВС через не закрытые на момент заражения уязвимости операционной системы или через доступные для записи общие ресурсы. Почтовый вирус, как следует из названия, распространяется по электронной почте при условии, что он не блокируется клиентским антивирусом и антивирусом на почтовом сервере. Кроме того, эпидемия в ЛВС может быть организована изнутри в результате деятельности инсайдера. В данной статье мы рассмотрим практические методики оперативного анализа компьютеров ЛВС с применением различных средств, в частности с помощью авторской утилиты AVZ.

Постановка задачи

В случае обнаружения эпидемии или некой нештатной активности в сети администратор должен оперативно решить минимум три задачи:

  • обнаружить зараженные ПК в сети;
  • найти образцы вредоносной программы для отправки в антивирусную лабораторию и выработки стратегии противодействия;
  • принять меры для блокирования распространения вируса в ЛВС и его уничтожения на зараженных компьютерах.

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

Рассмотрим более подробно решение каждой из поставленных задач.

Поиск зараженных ПК

Для поиска зараженных ПК в сети можно применять как минимум три методики:

  • автоматический удаленный анализ ПК - получение информации о запущенных процессах, загруженных библиотеках и драйверах, поиск характерных закономерностей - например процессов или файлов с заданными именами;
  • исследование трафика ПК с помощью сниффера - данный метод очень эффективен для отлова спам-ботов, почтовых и сетевых червей, однако основная сложность в применении сниффера связана с тем, что современная ЛВС строится на базе коммутаторов и, как следствие, администратор не может осуществлять мониторинг трафика всей сети. Проблема решается двумя путями: запуском сниффера на маршрутизаторе (что позволяет осуществлять мониторинг обмена данными ПК с Интернетом) и применением мониторинговых функций коммутаторов (многие современные коммутаторы позволяют назначить порт мониторинга, на который дублируется трафик одного или нескольких портов коммутатора, указанных администратором);
  • исследование нагрузки на сеть - в данном случае очень удобно применять интеллектуальные коммутаторы, которые позволяют не только оценивать нагрузку, но и удаленно отключать указанные администратором порты. Данная операция существенно упрощается при наличии у администратора карты сети, на которой имеются данные о том, какие ПК подключены к соответствующим портам коммутатора и где они расположены;
  • применение ловушек (honeypot) - в локальной сети настоятельно рекомендуется создать несколько ловушек, которые позволят администратору своевременно обнаружить эпидемию.

Автоматический анализ ПК в сети

Автоматический анализ ПК можно свести к трем основным этапам:

  • проведение полного исследования ПК - запущенные процессы, загруженные библиотеки и драйверы, автозапуск;
  • проведение оперативного обследования - например поиск характерных процессов или файлов;
  • карантин объектов по определенным критериям.

Все перечисленные задачи можно решить при помощи авторской утилиты AVZ, которая рассчитана на запуск из сетевой папки на сервере и поддерживает скриптовый язык для автоматического обследования ПК. Для запуска AVZ на компьютерах пользователей необходимо:

  1. Поместить AVZ в открытую для чтения сетевую папку на сервере.
  2. Создать в этой папке подкаталоги LOG и Qurantine и разрешить пользователям запись в них.
  3. Запустить AVZ на компьютерах ЛВС при помощи утилиты rexec или логон-скрипта.

Запуск AVZ на шаге 3 должен производиться при таких параметрах:

\\my_server\AVZ\avz.exe Priority=-1 nw=Y nq=Y HiddenMode=2 Script=\\my_server\AVZ\my_script.txt

В данном случае параметр Priority=-1 понижает приоритет процесса AVZ, параметры nw=Y и nq=Y переключают карантин в режим «сетевой запуск» (в этом случае в папке карантина для каждого компьютера создается подкаталог, имя которого совпадает с сетевым именем ПК), HiddenMode=2 предписывает запретить пользователю доступ к GUI и управлению AVZ, и, наконец, самый важный параметр Script задает полное имя скрипта с командами, которые AVZ выполнит на компьютере пользователя. Скриптовый язык AVZ достаточно прост для использования и ориентирован исключительно на решение задач обследования компьютера и его лечения. Для упрощения процесса написания скриптов можно использовать специализированный редактор скриптов, который содержит оперативную подсказку, мастер создания типовых скриптов и средства проверки корректности написанного скрипта без его запуска (рис. 1).

Рис. 1. Редактор скриптов AVZ

Рассмотрим три типовых скрипта, которые могут пригодиться в ходе борьбы с эпидемией. Во-первых, нам потребуется скрипт для исследования ПК. Задача скрипта - произвести исследование системы и создать протокол с результатами в заданной сетевой папке. Скрипт имеет следующий вид:

ActivateWatchDog(60 * 10);

// Запуск сканирования и анализа

// Исследование системы

ExecuteSysCheck(GetAVZDirectory+

‘\LOG\’+GetComputerName+’_log.htm’);

//Завершение работы AVZ

В ходе выполнения данного скрипта в папке LOG (предполагается, что она создана в каталоге AVZ на сервере и доступна пользователям для записи) будут создаваться HTML-файлы с результатами исследования компьютеров сети, причем для обеспечения уникальности в имя протокола включается имя исследуемого компьютера. В начале скрипта располагается команда включения сторожевого таймера, который принудительно завершит процеcc AVZ через 10 минут в случае, если в ходе выполнения скрипта возникнут сбои.

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

// Включение сторожевого таймера на 10 минут

ActivateWatchDog(60 * 10);

// Поиск вредоносной программы по имени

QuarantineFile(‘%WinDir%\smss.exe’, ‘Подозрение на LdPinch.gen’);

QuarantineFile(‘%WinDir%\csrss.exe’, ‘Подозрение на LdPinch.gen’);

//Завершение работы AVZ

В этом скрипте задействуется функция QuarantineFile, которая совершает попытку карантина указанных файлов. Администратору остается только проанализировать содержимое карантина (папка Quarantine\сетевое_имя_ПК\дата_каратина\) на наличие помещенных в карантин файлов. Следует учесть, что функция QuarantineFile автоматически блокирует помещение в карантин файлов, опознанных по базе безопасных AVZ или по базе ЭЦП Microsoft. Для практического применения данный скрипт можно усовершенствовать - организовать загрузку имен файлов из внешнего текстового файла, проверять найденные файлы по базам AVZ и формировать текстовый протокол с результатами работы:

// Поиск файла с указанным именем

function CheckByName(Fname: string) : boolean;

Result:= FileExists(FName) ;

if Result then begin

case CheckFile(FName) of

1: S:= ‘, доступ к файлу блокируется’;

1: S:= ‘, опознан как Malware (‘+GetLastCheckTxt+’)’;

2: S:= ‘, подозревается файловым сканером (‘+GetLastCheckTxt+’)’;

3: exit; // Безопасные файлы игнорируем

AddToLog(‘Файл ‘+NormalFileName(FName)+’ имеет подозрительное имя’+S);

//Добавление указанного файла в карантин

QuarantineFile(FName,’подозрительный файл’+S);

SuspNames: TStringList; // Список имен подозрительных файлов

// Проверка файлов по обновляемой базе данных

if FileExists(GetAVZDirectory + ‘files.db’) then begin

SuspNames:= TStringList.Create;

SuspNames.LoadFromFile(‘files.db’);

AddToLog(‘База имен загружена - количество записей = ‘+inttostr(SuspNames.Count));

// Цикл поиска

for i:= 0 to SuspNames.Count - 1 do

CheckByName(SuspNames[i]);

AddToLog(‘Ошибка загрузки списка имен файлов’);

SaveLog(GetAVZDirectory+’\LOG\’+

GetComputerName+’_files.txt’);

Для работы данного скрипта необходимо создать в папке AVZ доступные пользователям для записи каталоги Quarantine и LOG, а также текстовый файл files.db - каждая строка данного файла будет содержать имя подозрительного файла. Имена файлов могут включать макросы, наиболее полезные из которых - %WinDir% (путь к папке Windows) и %SystemRoot% (путь к папке System32). Другим направлением анализа может стать автоматическое исследование списка процессов, запущенных на компьютерах пользователей. Информация о запущенных процессах есть в протоколе исследования системы, но для автоматического анализа удобнее применять следующий фрагмент скрипта:

procedure ScanProcess;

S:= ‘’; S1:= ‘’;

// Обновление списка процессов

RefreshProcessList;

AddToLog(‘Количество процессов = ‘+IntToStr(GetProcessCount));

// Цикл анализа полученного списка

for i:= 0 to GetProcessCount - 1 do begin

S1:= S1 + ‘,’ + ExtractFileName(GetProcessName(i));

// Поиск процесса по имени

if pos(‘trojan.exe’, LowerCase(GetProcessName(i))) > 0 then

S:= S + GetProcessName(i)+’,’;

if S <> ‘’ then

AddLineToTxtFile(GetAVZDirectory+’\LOG\_alarm.txt’, DateTimeToStr(Now)+’ ‘+GetComputerName+’ : ‘+S);

AddLineToTxtFile(GetAVZDirectory+’\LOG\_all_process.txt’, DateTimeToStr(Now)+’ ‘+GetComputerName+’ : ‘+S1);

Исследование процессов в данном скрипте выполнено в виде отдельной процедуры ScanProcess, поэтому ее несложно поместить в собственный скрипт. Процедура ScanProcess строит два списка процессов: полный список процессов (для последующего анализа) и список процессов, которые, с точки зрения администратора, считаются опасными. В данном случае для демонстрации в качестве опасного рассматривается процесс с именем ‘trojan.exe’. Информация об опасных процессах добавляется в текстовый файл _alarm.txt, данные обо всех процессах - в файл _all_process.txt. Легко заметить, что можно усложнить скрипт, добавив в него, к примеру, проверку файлов процессов по базе безопасных файлов или проверку имен исполняемых файлов процессов по внешней базе. Подобная процедура применяется в скриптах AVZ, используемых в «Смоленскэнерго»: администратор периодически изучает собранную информацию и модифицирует скрипт, добавляя в него имя процессов запрещенных по политике безопасности программ, например ICQ и MailRu.Agent, что позволяет оперативно проверить наличие запрещенного ПО на изучаемых ПК. Другое применение списка процессов - поиск ПК, на которых отсутствует обязательный процесс, например антивирус.

В завершение рассмотрим последний из полезных скриптов анализа - скрипт автоматического карантина всех файлов, которые не опознаются по базе безопасных AVZ и по базе ЭЦП Microsoft:

// Выполнение автокарантина

ExecuteAutoQuarantine;

Автоматический карантин изучает запущенные процессы и загруженные библиотеки, службы и драйверы, около 45 способов автозапуска, модули расширения браузера и проводника, обработчики SPI/LSP, задания планировщика, обработчики системы печати и т.п. Особенностью карантина является то, что файлы в него добавляются с контролем повторов, поэтому функцию автокарантина можно вызывать многократно.

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

Исследование трафика

Исследование трафика можно проводить тремя способами:

  • вручную при помощи снифферов;
  • в полуавтоматическом режиме - в данном случае сниффер собирает информацию, и затем его протоколы обрабатываются либо вручную, либо некоторым ПО;
  • автоматически при помощи систем обнаружения вторжений (IDS) типа Snort (http://www.snort.org/) либо их программных или аппаратных аналогов. В простейшем случае IDS состоит из сниффера и системы, анализирующей собираемую сниффером информацию.

Система обнаружения вторжений является оптимальным средством, так как позволяет создавать наборы правил для обнаружения аномалии в сетевой активности. Второе ее преимущество состоит в следующем: большинство современных IDS позволяют размещать агенты мониторинга трафика на нескольких узлах сети - агенты собирают информацию и передают ее. В случае же применения сниффера очень удобно пользоваться консольным UNIX-сниффером tcpdump. Например, для мониторинга активности по порту 25 (протокол SMTP) достаточно запустить сниффер с командной строкой вида:

tcpdump -i em0 -l tcp port 25 > smtp_log.txt

В данном случае ведется захват пакетов через интерфейс em0; информация о захваченных пакетах будет сохраняться в файле smtp_log.txt. Протокол сравнительно просто анализировать вручную, в данном примере анализ активности по порту 25 позволяет вычислить ПК с активными спам-ботами.

Применение Honeypot

В качестве ловушки (Honeypot) можно использовать устаревший компьютер, производительность которого не позволяет применять его для решения производственных задач. Например, в сети автора в качестве ловушки успешно применяется Pentium Pro c 64 Мбайт оперативной памяти. На этот ПК следует установить наиболее распространенную в ЛВС операционную систему и выбрать одну из стратегий:

  • Установить операционную систему без пакетов обновлений - она будет индикатором появления в сети активного сетевого червя, эксплуатирующего любую из известных уязвимостей для данной операционной системы;
  • установить операционную систему с обновлениями, которые установлены на других ПК сети - Honeypot будет аналогом любой из рабочих станций.

Каждая из стратегий имеет как свои плюсы, так и минусы; автор в основном применяет вариант без обновлений. После создания Honeypot следует создать образ диска для быстрого восстановления системы после ее повреждения вредоносными программами. В качестве альтернативы образу диска можно использовать системы отката изменений типа ShadowUser и его аналогов. Построив Honeypot, следует учесть, что ряд сетевых червей ищут заражаемые компьютеры путем сканирования диапазона IP, отсчитываемого от IP-адреса зараженного ПК (распространенные типовые стратегии - X.X.X.*, X.X.X+1.*, X.X.X-1.*), - следовательно, в идеале Honeypot должен быть в каждой из подсетей. В качестве дополнительных элементов подготовки следует обязательно открыть доступ к нескольким папкам на Honeypot-системе, причем в данные папки следует положить несколько файлов-образцов различного формата, минимальный набор - EXE, JPG, MP3.

Естественно, что, создав Honeypot, администратор должен отслеживать его работу и реагировать на любые аномалии, обнаруженные на данном компьютере. В качестве средств регистрации изменений можно применять ревизоры, для регистрации сетевой активности можно использовать сниффер. Важным моментом является то, что у большинства снифферов предусмотрена возможность настройки отправки оповещения администратору в случае обнаружения заданной сетевой активности. Например, в сниффере CommView правило предполагает указание «формулы», описывающей сетевой пакет, или задание количественных критериев (отправка более заданного количества пакетов или байт в секунду, отправка пакетов на неопознанные IP- или MAC-адреса) - рис. 2.

Рис. 2. Создание и настройка предупреждения о сетевой активности

В качестве предупреждения удобнее всего использовать сообщения электронной почты, отправляемые на почтовый ящик администратора, - в этом случае можно получать оперативные оповещения от всех ловушек в сети. Кроме того, если сниффер позволяет создавать несколько предупреждений, есть смысл дифференцировать сетевую активность, выделив работу с электронной почтой, FTP/HTTP, TFTP, Telnet, MS Net, повышенный трафик более 20-30 пакетов в секунду по любому протоколу (рис. 3).

Рис. 3. Письмо-оповещение, высылаемое
в случае обнаружения пакетов, соответствующих заданным критериям

При организации ловушки неплохо разместить на ней несколько применяемых в сети уязвимых сетевых служб или установить их эмулятор. Простейшим (и бесплатным) является авторская утилита APS, работающая без инсталляции. Принцип работы APS сводится к прослушиванию множества описанных в ее базе портов TCP и UDP и выдаче в момент подключения заранее заданного или случайно генерируемого отклика (рис. 4).

Рис. 4. Главное окно утилиты APS

На рисунке приведен скриншот, снятый во время реального срабатывания APS в ЛВС «Смоленскэнерго». Как видно на рисунке, зафиксирована попытка подключения одного из клиентских компьютеров по порту 21. Анализ протоколов показал, что попытки периодические, фиксируются несколькими ловушками в сети, что позволяет сделать вывод о сканировании сети с целью поиска и взлома FTP-серверов путем подбора паролей. APS ведет протоколы и может отправлять администраторам сообщения с отчетами о зарегистрированных подключениях к контролируемым портам, что удобно для оперативного обнаружения сканирования сети.

При создании Honeypot полезно также ознакомиться с онлайн-ресурсами по данной теме, в частности с сайтом http://www.honeynet.org/. В разделе Tools данного сайта (http://www.honeynet.org/tools/index.html) можно найти ряд инструментов для регистрации и анализа атак.

Дистанционное удаление вредоносных программ

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

  • по ряду независимых от администратора сети причин образы могут не дойти до антивирусной лаборатории;
  • недостаточная оперативность антивирусной лаборатории - в идеале на изучение образцов и их внесение в базы уходит не более 1-2 часов, то есть в пределах рабочего дня можно получить обновленные сигнатурные базы. Однако не все антивирусные лаборатории работают столь оперативно, и обновления можно ждать несколько дней (в редких случаях - даже недель);
  • высокая работоспособность антивируса - ряд вредоносных программ после активации уничтожают антивирусы или всячески нарушают их работу. Классические примеры - внесение в файл hosts записей, блокирующих нормальную работу системы автообновления антивируса, удаление процессов, службы и драйверов антивирусов, повреждение их настроек и т.п.

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

// Удаление файла

DeleteFile(‘имя файла’);

ExecuteSysClean;

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

// Антируткит

SearchRootkit(true, true);

// Управление AVZGuard

SetAVZGuardStatus(true);

// Удаление файла

DeleteFile(‘имя файла’);

// Включение протоколирования BootCleaner

BC_LogFile(GetAVZDirectory + ‘boot_clr.log’);

// Импорт в задание BootCleaner списка файлов, удаленных скриптом

BC_ImportDeletedList;

// Активация BootCleaner

// Эвристическая чистка системы

ExecuteSysClean;

RebootWindows(true);

Данный скрипт включает активное противодействие руткитам, применение системы AVZGuard (это блокиратор активности вредоносных программ) и системы BootCleaner. BootCleaner - это драйвер, выполняющий удаление заданных объектов из KernelMode в ходе перезагрузки, на ранней стадии загрузки системы. Практика показывает, что подобный скрипт в состоянии уничтожить подавляющее большинство существующих вредоносных программ. Исключение составляют malware, меняющие имена своих исполняемых файлов при каждой перезагрузке, - в данном случае обнаруженные в ходе исследования системы файлы могут быть переименованы. В этом случае потребуется лечение компьютера вручную или создание собственных сигнатур вредоносной программы (пример реализующего сигнатурный поиск скрипта описан в справке AVZ).

Заключение

В данной статье мы рассмотрели некоторые практические методики борьбы с эпидемией ЛВС вручную, без использования антивирусных продуктов. Большинство описанных методик также могут применяться для поиска постороннего ПК и троянских закладок на компьютерах пользователей. При возникновении затруднений с поиском вредоносных программ или созданием скриптов лечения администратор может воспользоваться разделом «Помогите» форума http://virusinfo.info или разделом «Борьба с вирусами» форума http://forum.kaspersky.com/index.php?showforum=18. Изучение протоколов и помощь в лечении осуществляются на обоих форумах бесплатно, анализ ПК ведется по протоколам AVZ, и в большинстве случаев лечение сводится к выполнению на зараженных ПК скрипта AVZ, составленного опытными специалистами данных форумов.

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

Здесь на помощь приходят сканеры уязвимостей Linux. Инструменты анализа уязвимостей - это один из самых важных компонентов системы безопасности каждой компании. Проверка приложений и систем на наличие старых уязвимостей - обязательная практика. В этой статье мы рассмотрим лучшие сканеры уязвимостей, с открытым исходным кодом, которые вы можете использовать для обнаружения уязвимостей в своих системах и программах. Все они полностью свободны и могут использоваться как обычными пользователями, так и в корпоративном секторе.

OpenVAS или Open Vulnerability Assessment System - это полноценная платформа для поиска уязвимостей, которая распространяется с открытым исходным кодом. Программа основана на исходном коде сканера Nessus. Изначально этот сканер распространялся с открытым исходным кодом, но потом разработчики решили закрыть код, и тогда, в 2005 году, на основе открытой версии Nessus был создан OpenVAS.

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

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

2. Nexpose Community Edition

Это еще один инструмент поиска уязвимостей linux с открытым исходным кодом, разрабатываемый компанией Rapid7, это та же самая компания, которая выпустила Metasploit. Сканер позволяет обнаруживать до 68000 известных уязвимостей, а также выполнять более 160000 сетевых проверок.

Версия Comunity полностью свободна, но она имеет ограничение, на одновременное сканирование до 32 IP адресов и только одного пользователя. Также лицензию нужно обновлять каждый год. Здесь нет сканирования веб-приложений, но зато поддерживается автоматическое обновление базы уязвимостей и получение информации об уязвимостях от Microsoft Patch.

Программу можно установить не только в Linux, но и в Windows, а управление выполняется через веб-интерфейс. С помощью него вы можете задать параметры сканирования, ip адреса и прочую необходимую информацию.

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

3. Burp Suite Free Edition

Burp Suite - это сканер веб-уязвимостей, написанный на Java. Программа состоит из прокси-сервера, паука, инструмента для генерации запросов и выполнения стресс тестов.

С помощью Burp вы можете выполнять проверку веб-приложений. Например, с помощью прокси сервера можно перехватывать и просматривать весть проходящий трафик, а также модифицировать его при необходимости. Это позволит смоделировать многие ситуации. Паук поможет найти веб-уязвимости, а инструмент генерации запросов - стойкость веб-сервера.

4. Arachni

Arachni - это полнофункциональный фреймворк для тестирования веб-приложений, написанный на Ruby, который распространяется с открытым исходным кодом. Он позволяет оценить безопасность веб-приложений и сайтов, выполняя различные тесты на проникновение.

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

5. OWASP Zed Attack Proxy (ZAP)

OWASP Zed Attack Proxy - еще один комплексный инструмент для поиска уязвимостей в веб-приложениях. Поддерживаются все, стандартные для такого типа программ возможности. Вы можете сканировать порты, проверять структуру сайта, искать множество известных уязвимостей, проверять корректность обработки повторных запросов или некорректных данных.

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

6. Clair

Clair - это инструмент поиска уязвимостей linux в контейнерах. Программа содержит список уязвимостей, которые могут быть опасны для контейнеров и предупреждает пользователя, если были обнаружены такие уязвимости в вашей системе. Также программа может отправлять уведомления, если появляться новые уязвимости, которые могут сделать контейнеры небезопасными.

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

7. Powerfuzzer

Powerfuzzer - это полнофункциональный, автоматизированный и очень настраиваемый веб-сканер, позволяющий проверить реакцию веб-приложения на некорректные данные и повторные запросы. Инструмент поддерживает только протокол HTTP и может обнаруживать такие уязвимости, как XSS, SQL инъекции, LDAP, CRLF и XPATH атаки. Также поддерживается отслеживание ошибок 500, которые могут свидетельствовать о неверной настройке или даже опасности, например, переполнении буфера.

8. Nmap

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

Выводы

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

На завершение вы можете посмотреть видео о том что такое сканеры уязвимостей и зачем они нужны:

Сравнительный анализ сканеров безопасности. Часть 1: тест на проникновение (краткое резюме)

Alexander Antipov

В настоящем документе представлены результаты сравнения сетевых сканеров безопасности в ходе проведения тестов на проникновение в отношении узлов сетевого периметра.


Лепихин Владимир Борисович
Заведующий лабораторией сетевой безопасности Учебного центра «Информзащита»

Все материалы отчета являются объектами интеллектуальной собственности учебного центра «Информзащита». Тиражирование, публикация или репродукция материалов отчета в любой форме запрещены без предварительного письменного согласия Учебного центра «Информзащита».

Полный текст исследования:
http://www.itsecurity.ru/news/reliase/2008/12_22_08.htm

1. Введение

Сетевые сканеры безопасности подходят для сравнения как нельзя лучше. Они все очень разные. И в силу специфики задач, для решения которых они предназначены, и в силу их «двойного» назначения (сетевые сканеры безопасности могут быть использованы как для защиты, так и «для нападения», а взлом, как известно, задача творческая), наконец, ещё и потому, что за каждым таким инструментом стоит полёт «хакерской» (в изначальном смысле этого слова) мысли его создателя.

При выборе условий сравнения за основу был взят подход «от задач», таким образом, по результатам можно судить, насколько тот или иной инструмент пригоден для решения поставленной перед ним задачи. Например, сетевые сканеры безопасности могут быть использованы:

  • для инвентаризации сетевых ресурсов;
  • в ходе проведения «тестов на проникновение»;
  • в процессе проверки систем на соответствие различным требованиям.

В настоящем документе представлены результаты сравнения сетевых сканеров безопасности в ходе проведения тестов на проникновение в отношении узлов сетевого периметра. При этом оценивались:

  • Количество найденных уязвимостей
  • Число ложных срабатываний (False Positives)
  • Число пропусков (False Negatives)
  • Причины пропусков
  • Полнота базы проверок (в контексте данной задачи)
  • Качество механизмов инвентаризации и определения версий ПО
  • Точность работы сканера (в контексте данной задачи)

Перечисленные критерии в совокупности характеризуют «пригодность» сканера для решения поставленной перед ним задачи, в данном случае – это автоматизация рутинных действий в процессе контроля защищённости сетевого периметра.

2. Краткая характеристика участников сравнения

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

В опросе приняло участие около 500 респондентов (посетителей портала ).

На вопрос об используемых сканерах безопасности в своих организациях, подавляющее большинство респондентов ответило, что они используют хотя бы один сканер безопасности (70%). При этом в организациях, практикующих регулярное применение сканеров безопасности для анализа защищенности своих информационных систем, предпочитают использовать более одного продукта данного класса. 49 % респондентов ответило, что в их организациях используется два и более сканера безопасности (Рис. 1).


1 . Распределение организаций опрошенных респондентов по числу используемых сканеров безопасности

Причины, по которым используется более одного сканера безопасности, заключаются в том, что организации относятся с недоверием к решениям одного «вендора» (61%), а также в тех случаях, когда требуется выполнение специализированных проверок (39%), которые не могут быть выполнены комплексным сканером безопасности (Рис. 2).

2 . Причины использования более одного сканера безопасности в организациях опрошенных респондентов

Отвечая на вопрос, для каких целей используются специализированные сканеры безопасности, большинство респондентов ответило, что они используются в качестве дополнительных инструментов анализа защищенности Web-приложений (68%). На втором месте, оказались специализированные сканеры безопасности СУБД (30%), а на третьем (2%) утилиты собственной разработки для решения специфического круга задач по анализу защищенности информационных систем (Рис. 3).


3 . Цели применения специализированных сканеров безопасности в организациях опрошенных респондентов

Результат опроса респондентов (рис. 4) о конечных продуктах, имеющих отношение к сканерам безопасности, показал, что большинство организаций предпочитают использовать продукт Positive Technologies XSpider (31%) и Nessus Security Scanner (17%).


Рис. 4. Используемые сканеры безопасности в организациях опрошенных респондентов

Для участия в тестовых испытаниях были отобраны сканеры, представленные в таблице 1.

Таблица 1. Сетевые сканеры безопасности, использованные в ходе сравнения

Название

Версия

http://www.nessus.org/download

MaxPatrol

8.0 (Сборка 1178)

http://www.ptsecurity.ru/maxpatrol.asp

Internet Scanner

http://www-935.ibm.com/services/us/index.wss/offering/iss/a1027208

Retina Network Security Scanner

http://www.eeye.com/html/products/retina/index.html

Shadow Security Scanner (SSS)

7.141 (Build 262)

http://www.safety-lab.com/en/products/securityscanner.htm

NetClarity Auditor

http://netclarity.com/branch-nacwall.html

Итак, первый тест сфокусирован на задаче оценки защищённости систем на устойчивость к взлому.

3. Подведение итогов

Аналогичным образом были посчитаны результаты по остальным узлам. После подсчёта итогов получилась следующая таблица (табл. 2).

Таблица 2. Итоговые результаты по всем объектам сканирования

Показатель

Internet Scanner

Shadow Security Scanner

NetClarity
Auditor

Идентификация сервисов и приложений, баллы

Найдено уязвимостей, всего

Из них ложных срабатываний
(false positives)

Найдено правильно
(из 225 возможных)

Пропуски
(false negatives)

Из них по причине отсутствия в базе

Из них вызванные необходимостью аутентификации

По другим причинам

3.1 Идентификация сервисов и приложений

По результатам определения сервисов и приложений баллы были просто просуммированы, при этом за ошибочное определение сервиса или приложения вычитался один балл (рис. 5).


Рис. 5. Результаты идентификации сервисов и приложений

Наибольшее количество баллов (108) набрал сканер MaxPatrol, чуть меньше (98) – сканер Nessus. Действительно, в этих двух сканерах процедура идентификации сервисов и приложений реализована очень качественно. Данный результат можно назвать вполне ожидаемым.

Следующий результат – у сканеров Internet Scanner и NetClarity. Здесь можно упомянуть, что, например, Internet Scanner ориентируется на использование стандартных портов для приложений, этим во многом и объясняется его невысокий результат. Наконец, наихудшие показатели у сканера NetClarity. Хотя он неплохо справляется с идентификацией сервисов (всё-таки он основан на ядре Nessus 2.x), его общий низкий результат можно объяснить тем, что он идентифицировал не все открытые порты.

3.2 Идентификация уязвимостей

На рис. 6 представлено общее число найденных всеми сканерами уязвимостей и число ложных срабатываний. Наибольшее число уязвимостей было найдено сканером MaxPatrol. Вторым (правда, уже со значительным отрывом) опять оказался Nessus.
Лидером по количеству ложных срабатываний оказался сканер Shadow Security Scanner. В принципе, это объяснимо, выше были приведены примеры ошибок, связанные как раз с его проверками.


Рис. 6. Найденные уязвимости и ложные срабатывания

Всего на всех 16 узлах всеми сканерами было найдено (и впоследствии подверждено ручной проверкой) 225 уязвимостей. Результаты распределились так, как на рис. 7. Наибольшее число уязвимостей – 155 из 225 возможных – было выявлено сканером MaxPatrol. Вторым оказался сканер Nessus (его результат практически в два раза хуже). Следующим идёт сканер Internet Scanner, затем NetClarity.
В ходе сравнения были проанализированы причины пропусков уязвимостей и были отделены те, которые были сделаны по причине отсутствия проверок в базе. На следующей диаграмме (рис. 8) представлены причины пропусков уязвимостей сканерами.


Рис. 7. Найденные уязвимости и пропуски


Рис. 8. Причины пропусков уязвимостей

Теперь несколько показателей, получившихся в результате подсчётов.

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


Рис. 9. Точность работы сканеров

Из этой диаграммы видно, что наивысшая точность (95%) достигнута сканером MaxPatrol. Хотя число ложных срабатываний у него не самое низкое, такой показатель точности достигнут за счёт большого количества найденных уязвимостей. Следующим по точности определения идёт Internet Scanner. Он показал самое низкое число ложных срабатываний. Самый низкий результат у сканера SSS, что неудивительно при таком большом количестве ложных срабатываний, которое было замечено в ходе сравнения.

Ещё один расчётный показатель – это полнота базы (рис. 10). Он рассчитан как отношение числа уязвимостей, найденных правильно, к общему числу уязвимостей (в данном случае - 225) и характеризует масштабы «пропусков».


Рис. 10. Полнота базы

Из этой диаграммы видно, что база сканера MaxPatrol наиболее адекватна поставленной задаче.

4. Заключение

4.1 Комментарии к результатам лидеров: MaxPatrol и Nessus

Первое место по всем критериям данного сравнения достаётся сканеру MaxPatrol, на втором месте – сканер Nessus, результаты остальных сканеров существенно ниже.

Здесь уместно вспомнить один из документов, подготовленный национальным институтом стандартов и технологий США (NIST), а именно - «Guideline on Network Security Testing». В нём говорится, что в ходе контроля защищённости компьютерных систем рекомендуется использовать как минимум два сканера безопасности.

В полученном результате, по сути, нет ничего неожиданного и удивительного. Не секрет, что сканеры XSpider (MaxPatrol) и Nessus пользуются популярностью как среди специалистов по безопасности, так и среди «взломщиков». Это подтверждают и приведённые выше результаты опроса. Попробуем проанализировать причины явного лидерства MaxPatrol (частично это касается и сканера Nessus), а также причины «проигрыша» других сканеров. Прежде всего – это качественная идентификация сервисов и приложений. Проверки, основанные на выводах (а их в данном случае использовалось довольно много), сильно зависят от точности сбора информации. А идентификация сервисов и приложений в сканере MaxPatrol практически доведена до совершенства. Вот один показательный пример.
Вторая причина успеха MaxPatrol – полнота базы и её адекватность поставленной задаче и вообще «сегодняшнему дню». По результатам заметно, что база проверок в MaxPatrol значительно расширена и детализирована, в ней «наведён порядок», при этом явный «крен» в сторону web-приложений компенсируется и расширением проверок в других областях, например, произвели впечатление результаты сканирования представленного в сравнении маршрутизатора Cisco.

Третья причина – качественный анализ версий приложений с учётом операционных систем, дистрибутивов и различных «ответвлений». Можно также добавить и использование разных источников (базы уязвимостей, уведомления и бюллетени «вендоров»).

Наконец, можно ещё добавить, что MaxPatrol имеет очень удобный и логичный интерфейс, отражающий основные этапы работы сетевых сканеров безопасности. А это немаловажно. Связка «узел, сервис, уязвимость» очень удобна для восприятия (Прим. ред. это субъективное мнение автора сравнения). И особенно для данной задачи.

Теперь о недостатках и «слабых» местах. Поскольку MaxPatrol оказался лидером сравнения, то и критика в его адрес будет «максимальной».

Во-первых, так называемый «проигрыш в мелочах». Имея очень качественный движок, важно предложить и соответствующий дополнительный сервис, например, удобный инструментарий, позволяющий что-то сделать вручную, средства поиска уязвимостей, возможность «тонкой» настройки системы. MaxPatrol продолжает традицию XSpider и максимально ориентирован на идеологию «нажал и заработало». С одной стороны это неплохо, с другой стороны – ограничивает «дотошного» аналитика.

Во-вторых, остались «неохваченными» некоторые сервисы (можно судить об этом по результатам данного сравнения), например, IKE (порт 500).

В-третьих, в некоторых случаях не хватает элементарного сопоставления результатов двух проверок друг с другом, например, как в описанном выше случае с SSH. Т. е. нет выводов, основанных на результатах нескольких проверок. Например, операционная система узла host4 была определена как Windows, а «вендор» сервиса PPTP классифицирован как Linux. Можно сделать выводы? Например, в отчёте в области определения операционной системы указать, что это «гибридный» узел.

В-четвёртых, описание проверок оставляет желать лучшего. Но здесь следует понимать, что MaxPatrol находится в неравных условиях с другими сканерами: качественный перевод на русский язык всех описаний – очень трудоёмкая задача.

Сканер Nessus показал, в целом, неплохие результаты, а в ряде моментов он был точнее сканера MaxPatrol. Главная причина отставания Nessus – это пропуски уязвимостей, но не по причине отстуствия проверок в базе, как у большинства остальных сканеров, а в силу особенностей реализации. Во-первых (и этим обусловлена значительная часть пропусков), в сканере Nessus наметилась тенденция развития в сторону «локальных» или системных проверок, предполагающих подключение с учётной записью. Во-вторых, в сканере Nessus учтено меньше (в сравнении с MaxPatrol) источников информации об уязвимостях. Это чем-то похоже на сканер SSS, основанный по большей части на базе SecurityFocus.

5. Ограничения данного сравнения

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

  • Проведение аудита систем с использованием учётной записи
  • Оценка соответствия требованиям стандарта PCI DSS
  • Сканирование Windows-систем

Кроме того, планируется сделать сравнение сканеров и по формальным критериям.

В ходе данного сравнения был протестирован только сам «движок» или, выражаясь современным языком, «мозг» сканера. Возможности в плане дополнительного сервиса (отчёты, запись информации о ходе сканирования и т. п.) никак не оценивались и не сравнивались.

Также не оценивались степень опасности и возможности по эксплуатации найденных уязвимостей. Некоторые сканеры ограничились «незначительными» уязвимостями низкой степени риска, другие же выявили действительно критичные уязвимости, позволяющие получить доступ к системе.