Kali linux radmin уязвимость

Найти и не обезвредить: пишем пентесты с 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)

    Читайте также:  Почему не работает клавиатура после установки windows

    | 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 я не могу получить доступ к оперативной памяти и данным сервера. Что ж… видно не судьба 🙂

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

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

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

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

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

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

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

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

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

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

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

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

    Источник

    Сканируем сеть на предмет наличия уязвимости CVE-2019-0708 (BlueKeep) с помощью модуля Metasploit и утилиты rdpscan в ОС Kali Linux 2019.2

    Ранее мы писали о выпущенных обновлениях для закрытия уязвимости CVE-2019-0708 Remote Desktop Services Remote Code Execution Vulnerability. Развёртывание этих обновлений не вызывает само по себе какой-то сложности. Однако, учитывая серьёзность уязвимости, будет совсем не лишним провести дополнительное сканирование всех своих сетей на предмет выявления всё ещё уязвимых хостов. Для проведения подобных проверок есть разные методики и инструменты. В этой заметке мы рассмотрим то, как выполнить сканирование сетей с помощью scanner-модуля из состава комплекса Metasploit, поставляемого в специальном дистрибутиве ОС Kali Linux 2019.2. Помимо этого, в этой же ОС, мы выполним сборку и использование дополнительной утилиты сканирования rdpscan.

    Читайте также:  Как открыть протокол ms windows store
    Разворачиваем Kali Linux

    Те, кто до сих пор не знаком со специализированным дистрибутивом ОС Kali Linux, могут получить базовую информацию об этой сборке из статьи Википедии. Для проведения разовых проверок уровня информационной безопасности сетей или отдельной взятых хостов или сервисов с помощью ПО, входящего в состав Kali Linux, можно воспользоваться Live-Boot режимом без установки этой ОС на диск какого-либо компьютера.

    В нашем случае для задач тестирования развёрнута выделенная виртуальная машина Hyper-V Gen2 на хосте виртуализации с ОС Windows Server 2012 R2.

    Скачать загружаемый образ актуальной версии Kali Linux «без СМС и регистраций» можно с официального сайта проекта: Kali Linux Downloads

    Установка Kali Linux на диск виртуальной машины не составит никакого труда для администратора, который уже имел дело с программой установки Linux Debian.

    Сразу после установки нам потребуется выпустить систему в Интернет для возможности обновления всех предустановленных пакетов, в число которых входит и интересующий нас комплекс Metasploit. Обновление выполняется стандартным для APT-систем способом:

    Разумеется, чтобы обновление пакетов работало, в систему должны быть подключены репозитории Kali Linux:

    Возможно также и полное обновление Kali Linux с предыдущих версий, как это описано, например, здесь:

    Убедившись в том, что пакетная база системы обновлена, можем переходить к использованию предустановленных в Kali инструментов, например, к интересующему нас комплексу Metasploit.

    Используем модуль Metasploit

    Входим в интерактивный режим работы со специальной консолью Metasploit:

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

    Среди имеющихся опций нас могут заинтересовать опции логирования, выполняемых в консоли действий — ConsoleLogging и SessionLogging. Как видим, в конфигурации по умолчанию эти опции выключены. Включаем логирование консоли и каждой сессий и сохраняем настройки:

    Логи консоли по умолчанию сохраняются в домашнем каталоге текущего пользователя в расположении:

    /.msf4/logs/console.log . Логи сессий в подкаталоге

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

    После повторного входа проверяем то, что заданные нами ранее настройки логирования включены:

    Справедливости ради стоит отметить тот факт, что мой небольшой опыт использования этой консоли в Kali Linux так и не позволил воспользоваться логами сессий. Сессионные логи, не смотря на выставленные опции логирования, так ни разу и не создались. Возможно, это какое-то ограничение данной свободно распространяемой версии Metasploit, а возможно для включения сессионного логирования требуется какое-то дополнительное «шаманство», о котором я просто не знаю.

    Как бы там ни было, получить лог работы консоли можно и сторонними средствами. Например, можно использовать логирование SSH-сессии, имеющееся в клиенте PuTTY для Windows, открыв свойства текущего подключения и указав опции логирования сессии.

    Читайте также:  Ibook author для windows

    Логирование процесса сканирования сетей может быть важным для последующей обработки результатов в том случае, если объём сканирования существенен и занимает немало времени. Ведь у администратора не всегда есть возможность наблюдать за длительным процессом сканирования.

    Вернёмся к консоли Metasploit и с помощью команды search выполним поиск модуля сканирования уязвимости BlueKeep по её названию командой вида:

    В ответ мы получим имя модуля сканирования, который нас интересует.

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

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

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

    Теперь только остаётся запустить процесс сканирования с помощью простой команды:

    На консоль будет ведена информация о результатах сканирования и обнаруженных уязвимых хостах:

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

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

    Собираем и используем утилиту rdpscan

    Загрузить актуальную версию уже скомпилированной утилиты rdpscan под операционные системы Windows и macOS можно по ссылке: Github — robertdavidgraham — rdpscan – releases. Однако в нашем случае для задачи сканирования используется выделенная система на базе Kali Linux, поэтому нам потребуется выполнить загрузку и самостоятельную сборку этой утилиты из исходных колов под Linux.

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

    В Kali Linux актуальной версии пакеты git и build-essential уже предустановлены, поэтому в нашем случае в систему будет доустановлен только пакет libssl-dev.

    Создадим в домашнем каталоге текущего пользователя отдельный подкаталог и загрузим в него исходные коды утилиты rdpscan:

    Перейдём в каталог с исходными кодами и вызовем процедуру сборки утилиты:

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

    Посмотрим то, какие опции умеет для работы принимать эта утилита:

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

    Выполним простой запуск сканирования небольшой сети, выполняемый в 10 потоков:

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

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

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

    Ну и опять же, анализируем лог сканирования и безотлагательно принимаем меры по устранению уязвимости обнаруженных хостов.

    В качестве заключения могу отметить, что из моего скромного опыта использования выше обозначенного модуля сканирования BlueKeep в Metasploit и утилиты rdpscan, оба инструмента выполнили свою задачу с одинаковым результатом. Поэтому выбор инструмента сканирования в данном случае — дело сугубо субъективное.

    Источник

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