Linux как найти уязвимость

Аудит уязвимостей Linux c Vulners.com

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

Откуда мы получаем информацию об уязвимостях Linux? Для этого мы парсим бюллетени вендоров. Покажем процедуру разбора на примере бюллетеня безопасности Debian DSA-3638.

Изначальная информация на странице вендора:

Мы видим, что уязвим source пакет curl на операционной системе версии jessie и уязвимость исправлена в пакете версии 7.38.0-4+deb8u4. Но этой информации не достаточно, чтобы правильно определить уязвимость. curl в данном случае является source-пакетом, то есть на его основе собираются бинарные пакеты. Поэтому нужно найти все бинарные пакеты, собранные из пакета curl:

В итоге мы считаем, что уязвимость есть для всех перечисленных пакетов версии меньше 7.38.0-4+deb8u4

Как работает Аудит? Сначала нам нужно собрать и отправить на сервер информацию о пакетах и ОС. Версия ос содержится в файлах /etc/os-release, /etc/centos-release и других файлах, специфичных для тех или иных операционных систем. В качестве источника информации об установленных пакетах для rpm-based систем достаточно стандартной команды rpm -qa. В случае deb-based системы нужен вывод команды посложнее — dpkg-query -W -f=’$ $ $\n’

В ответ сервер вернет нам информацию о найденных уязвимостях. Рассчет происходит очень быстро. Мы обрабатываем 750 пакетов за 160ms! Можно подумать, что на сервере происходит какая-то магия. Но это не так, все на самом деле очень просто и так работаю практически все сканеры уязвимостей.

Рассмотрим пакет — curl 7.38.0-4+deb8u3 amd64 для Debian Linux. Имя пакета curl. Мы ищем в системы все бюллетени, которые содержат это пакет среди списка уязвимых пакетов. После того, как все такие бюллетени найдены, нужно пройтись по каждому из них и проверить, выполняется ли хотя бы одно из условие из перечисленных в поле affectedPackage. Возьмем для примера пакет DSA-3638:

Здесь указано, что уязвимость имеет место быть в случае, если:

— Операционная система — Debian GNU/Linux («OS»: «Debian GNU/Linux»)
— Версия этой операционной системы — 8 («OSVersion»: «8»)
— Установлен пакет с именем libcurl3-nss («packageName»: «libcurl3-nss»)
— Архитектура уязвимого пакета — любая
— И версия этого пакета меньше, чем 7.38.0-4+deb8u4 («operator»: «lt» и «packageVersion»: «7.38.0-4+deb8u4»)

Если все условия выполнились — пакет подвержен данной уязвимости DSA-3638. Для каждого пакета в системе мы проверяем все условия из бюллетеней и получаем список уязвимостей для системы. Как видите, какой-то сложности или магии в этом нет.

Важно отметить, ни в коем случае нельзя сравнивать версии как числа или строки. Для каждой из систем (debian, redhat, solaris) структура версий отличается. И соответственно отличается механика их сравнения. Для того, чтобы обеспечить достоверность сканирования, необходимо реализовывать сравнение версий ровно по тому же алгоритму, как он сделан в самой операционной системе. К счастью, какой-то тайны в этом нет, есть готовые примеры функций сравнения для того же debian.

На сегодняшний день мы готовы вам предложить веб-интерфейс, с помощью которого можно проверить свой сервер на уязвимости, полноценное API для автоматизации и PoС агента для нашего будущего облачного решения по управлению уязвимостями. Поддерживаются следующие дистрибутивы Linux: RedHat, CentOS, Fedora, Oracle Linux, Ubuntu, Debian.

Графический интерфейс доступен на вкладке Audit.

Аналогично можно работать через Audit API. Задайте список установленных пакетов и версию ОС, а в ответ получите список уязвимостей и описание того почему мы считаем, что уязвимость действительно есть. Вы можете сравнить результаты с результатами своего сканера и попросите своего вендора объяснить расхождения. Ну или пните нас, что мы где-то накосячили 😉

И, наконец, агент для будущего облачного решения по управлению уязвимостями. Мы выступаем за прозрачность работы всех компонент, поэтом сделали агент полнофункциональным. Он не только собирает данные с системы и отправляет их на сервер Vulners-а для анализа и отображения, но и принимает с сервера рассчитанные списки уязвимостей и отображает их в консоли. Агентное решение выбрано не случайно. Оно дает наиболее быстрый и надежный результат, если один раз решить проблемы с автоматической разливкой агентов. Не нужно создавать какие-то учетные записи, открывать сетевые доступы для сканеров и разбираться, высчитывать параметры, и время, когда сканирование не будет забивать канал и тд. На текущий момент это всего лишь python-скрипт, но в дальнейшем будет полноценный пакет для системы.

Читайте также:  Mac os полная переустановка системы

Как видите анализ защищенности Linux, можно делать эффективнее и быстрее и без дорогостоящих сканеров уязвимостей. Мы, конечно, рекомендуем Vulners. Но если вы не хотите отправлять ничего на наш сервер, например волнуетесь за приватность, ты вы можете реализовать данный функционал самостоятельно. Это сделать не сложно. Вам потрубется реализовать функцию сравнения, скачать у нас полный набор данных по операционной системы, например набор для CentOS, и обработать свои данные так, как мы показали выше. Как делать сбор данных вы можете посмотреть в исходном коде нашего агента. Агент у нас открытый и мы были бы рады разивать его вместе с вами! Pull requests welcome! Ждем предложений и пожеланий!

Источник

Найти и не обезвредить: пишем пентесты с Kali Linux

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

Шило в мешке не утаить: по неведению (правда, в некоторых случаях — умышленно) даже крупные корпорации оставляют дыры в своей системе безопасности. Жизненно важно как можно быстрее (1) локализовать их и (2) пофиксить. К счастью, существует множество различных продуктов, которые помогают с первым пунктом. Среди них можно выделить Kali, дистрибутив Linux, разработанный для тестирования систем безопасности. В этой статье я расскажу, как использовать Kali Linux для исследования вашей системы и поиска слабых мест, имитируя атаку злоумышленника.

Дистрибутив Kali включает множество инструментов, каждый из которых имеет открытый исходный код. Достаточно запустить установку дистрибутива и все эти инструменты будут доступны из коробки.

В качестве подопытных я буду использовать две системы:

    kali.usersys.redhat.com: 30 Гб памяти и 6 виртуальных CPU. Эта система будет выполнять сканирование «жертвы» и запускать атаки.

  • vulnerable.usersys.redhat.com: система с Red Hat Enterprise Linux 8 на борту. Вот её нужно будет атаковать.
  • Я не зря упомянул здесь технические характеристики оборудования. Некоторые из наших задач довольно требовательны к железу, особенно — к CPU системы 2, на которой будет работать сканер безопасности WordPress (WPScan).

    Поиск открытых портов

    Я начал с базового сканирования системы 2. Сканируя систему с помощью Nmap, можно узнать, какие порты и службы видны из системы 1, запускающей сканирование.

    Итак, первым делом можно найти несколько «интересных» открытых портов — потенциальных слабых мест. На самом деле, любой открытый порт интересен, потому что с его помощью больше шансов взломать сеть. В этом примере 21, 22, 80 и 443 — это ещё и порты часто используемых служб. Но пока я просто занимаюсь разведкой и пытаюсь получить как можно больше информации о системе, которую хочу взломать.

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

    Здесь нас интересуют следующие строки:

    Поиск информации о пользователях

    Поскольку теперь я знаю, что это сервер WordPress, я могу использовать WPScan для получения информации о потенциальных уязвимостях. Хорошо бы найти несколько имён пользователей и их пароли. Чтобы найти их в данном в экземпляре WordPress, используем опции —enumerate u:

    └─# wpscan —url vulnerable.usersys.redhat.com —enumerate u

    __ _______ _____

    \ \ /\ / /| |__) | (___ ___ __ _ _ __

    \ \/ \/ / | ___/ \___ \ / __|/ _` | ‘_ \

    WordPress Security Scanner by the WPScan Team

    Sponsored by Automattic — https://automattic.com/

    @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart

    [+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]

    [+] Started: Tue Feb 16 21:38:49 2021

    [i] User(s) Identified:

    | Found By: Author Posts — Display Name (Passive Detection)

    | Author Id Brute Forcing — Author Pattern (Aggressive Detection)

    | Login Error Messages (Aggressive Detection)

    | Found By: Author Posts — Display Name (Passive Detection)

    | Author Id Brute Forcing — Author Pattern (Aggressive Detection)

    | Login Error Messages (Aggressive Detection)

    Отлично, найдены два пользователя: admin и pgervase. Я попытаюсь подобрать пароль для пользователя admin, используя словари паролей — текстовый файл с набором возможных вариантов. Я возьму словари из 3 231 и из 3 543 076 137 строк.

    Подбор пароля с атакой по словарю

    Для атаки по словарю можно использовать разные инструменты. Вот два примера команд с Nmap и WPScan:

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

    А вот эта команда WPScan, например, выводит пароль в конце файла:

    Раздел Valid Combinations Found в конце содержит имя пользователя admin и его пароль. На перебор 3 231 строк ушло всего две минуты.

    У меня есть ещё один файл словаря с 3 238 659 984 уникальными записями, что займет гораздо больше времени.

    Nmap выдаёт результат намного быстрее:

    Правда, такое сканирование можно отследить по HTTPD-логам, которые будут обнаружены во взломанной системе:

    Поиск Heartbleed-уязвимости

    Чтобы получить информацию о HTTPS-сервере и SSL/TLS протоколах, я использую команду sslscan:

    Мы видим, что в версиях протоколов, которые используются на сервере, Heartbleed-уязвимость не обнаружена:

    Ну что ж, значит через модуль Heartbeat я не могу получить доступ к оперативной памяти и данным сервера. Что ж… видно не судьба 🙂

    Читайте также:  Как попробовать windows phone

    Советы по предотвращению и защите от взлома

    Можно написать много статей про то, как противостоять атакам хакеров всех мастей. Тут я ограничусь общими рекомендациями:

      Изучайте свою систему: какие порты открыты, какие порты должны быть открыты, кто должен иметь возможность видеть эти порты и какой объём трафика должен проходить через них. Nmap вам в помощь.

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

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

    Создавайте и поддерживайте качественные резервные копии: если злоумышленник взломает одну или несколько ваших систем, возможность восстановить данные без танцев с бубном поможет сэкономить много времени и денег.

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

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

  • Используйте дополнительные инструменты от поставщиков вашего ПО: например, в подписку Red Hat Enterprise Linux входит инструмент Red Hat Insights, который позволяет настроить вашу систему и своевременно предупреждает о потенциальных угрозах безопасности.
  • Полезные материалы (на английском языке)

    То, что описано в этой статье, — лишь вершина айсберга. Чтобы погрузиться глубже, вы можете изучить следующие ресурсы:

    Облачные серверы от Маклауд быстрые и безопасные.

    Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

    Источник

    ИТ База знаний

    Курс по Asterisk

    Полезно

    — Узнать IP — адрес компьютера в интернете

    — Онлайн генератор устойчивых паролей

    — Онлайн калькулятор подсетей

    — Калькулятор инсталляции IP — АТС Asterisk

    — Руководство администратора FreePBX на русском языке

    — Руководство администратора Cisco UCM/CME на русском языке

    — Руководство администратора по Linux/Unix

    Серверные решения

    Телефония

    FreePBX и Asterisk

    Настройка программных телефонов

    Корпоративные сети

    Протоколы и стандарты

    11 утилит сканирования Linux серверов на уязвимости и вредоносы

    Чекап вашего сервера

    Несмотря на то, что системы на базе Linux считаются самыми неуязвимыми, всё же существуют риски, к которым нужно относиться серьезно.

    Онлайн курс по Linux

    Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

    Руткиты, вирусы, программы-вымогатели и многие другие вредоносные программы часто могут атаковать и вызывать проблемы на серверах Linux.

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

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

    Lynis

    Lynis не требует установки. Можно извлечь его из загруженного пакета или tar архива и запустить. Чтобы получить доступ к полной документации и исходному коду, можно скачать его с Git,

    Lynis был создан автором Rkhunter Майклом Боеленом. Она имеет две версии: для домашнего пользования и для предприятий. Обе версии показывают отличные результаты.

    Chkrootkit

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

    Chkrootkit одна из самых популярных программ на базе Unix, которая помогает обнаруживать руткиты в системе. Для обнаружения проблем она использует команды «strings» (команда Linux для просмотра содержимого бинарного файла) и «grep».

    Она может быть запущена как с альтернативной директории, так и внещнего накопителя в случае работы с уже скомпрометированной системой. Различные компоненты chkrootkit занимаются поиском удалённые записи в «wtmp» и «lastlog» файлах, находят записи сниффера или конфигурационных файлов руткитов, а также проверяют на наличие скрытых записей в «/proc» или вызовов программы «readdir».

    Чтобы использовать эту утилиту нужно скачать последнюю версию, распаковать, скомпилировать и запустить.

    Rkhunter

    Майкл Болин разработчик, который создал в 2003 году Rkhunter. Эта очень полезная программа для POSIX систем помогает обнаруживать руткиты и другие уязвимости в системах Linux. Rkhunter тщательно просматривает файлы (скрытые или видимые), каталоги по умолчанию, модули ядра и неправильно настроенные разрешения в поисках слабых мест.

    Читайте также:  Не открываются файлы mac os

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

    ClamAV

    Написанный на C++ ClamAV антивирус с открытым исходным кодом, который помогает выявлять вирусы, трояны и другие виды вредоносных программ. Он полностью бесплатен, ввиду чего очень много пользователей используют его для сканирования персональных данных включая электронную почту на наличие вредоносных файлов любого типа. Он так же может быть использован для сканирования серверов.

    Изначально он был создан только для Unix. Несмотря на это, есть сторонние версии, которые можно использовать на Linux, BSD, AIX, MacOS, OpenVMS, Solaris. ClamAV регулярно выполняет автоматическое обновление баз данных для выявления самых последних угроз. Есть возможность сканирования в режиме командной строки, а также включает в себя расширяемый многопоточный демон, благодаря чему, существенно увеличивается скорость сканирования.

    Он проверяет различные типы файлов на наличие уязвимостей. Антивирус поддерживает все типы сжатых файлов включая RAR, Zip, Gzip, Tar, Cabinet, OLE2, CHM, SIS format, BinHex и почти все типы почтовых систем.

    LMD не ограничивается собственными базами сигнатур. Для лучшего поиска он может использовать базы ClamAV и Team Cymru. Для заполнения своих баз, LMD собирает данные об уязвимостях на пограничных системах обнаружения угроз. Тем самым он генерирует новые сигнатуры для вредоносных ПО, которые активно эксплуатируются в атаках.

    Radare2

    Одной из отличительных особенностей Radare2 является то, что пользователь не должен использовать командную строку для выполнения таких задач, как статический/динамический анализ и использование программного обеспечения. Рекомендуется для любого типа исследований по бинарным данным.

    OpenVAS

    Начиная с версии 4.0, OpenVAS предоставляет непрерывное обновление Сетевой базы Тестирования Уязвимостей обычно менее чем за 24 часа. На июнь 2016 система имеет больше 47 тысяч баз.

    Эксперты безопасности используют OpenVAS из-за возможности быстрого сканирования. Он также отличается превосходной возможностью конфигурирования. Программы OpenVAS могут использоваться на автономных виртуальных машинах для проведения безопасных исследований вредоносных программ. Его исходный код доступен под лицензией GNU GPL. Многие другие средства обнаружения уязвимостей зависят от OpenVAS — именно поэтому его принимают как важнейшую программу в платформах на базе Linux.

    REMnux

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

    Tiger

    В 1992 году Техасский Университет A&M начал работать над Tiger для повышения безопасности компьютеров кампуса. Сегодня же она самая популярная система для Unix-подобных платформ. Уникальность этого решения заключается в том, что оно является не только средством аудита безопасности, но и системой обнаружения вторжений.

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

    Maltrail

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

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

    Созданная для Linux, Windows и macOS, YARA (Yet Another Ridiculous Acronym) является одним из наиболее важных инструментов, используемых для исследования и обнаружения вредоносных программ. Он использует текстовые или двоичные шаблоны для упрощения и ускорения процесса обнаружения, что упрощает и ускоряет решение задачи.

    У YARA есть некоторые дополнительные функции, но для их использования необходима библиотека OpenSSL. Даже если у вас нет этой библиотеки, вы можете использовать YARA для базового исследования вредоносных программ с помощью механизма, основанного на правилах. Также его можно использовать в песочнице Cuckoo — песочнице на основе Python, идеальной для проведения безопасных исследований вредоносного программного обеспечения.

    Как выбрать лучшую утилиту?

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

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

    Онлайн курс по Linux

    Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

    Источник

    Оцените статью