6 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Kali Linux: подробный обзор дистрибутива

Kali Linux был разработан Мати Ахарони и Девоном Кернсом из Offensive Security путем переписывания BackTrack. BackTrack была их предыдущей операционной системой информационной безопасности.

Первой версией Kali Linux была Kali 1.0.0, представленная в марте 2013 года. В настоящее время Offensive Security финансирует и поддерживает Kalin Linux.

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

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

  • Сбор информации
  • Анализ уязвимости
  • Беспроводные атаки
  • Веб-приложения
  • Инструменты эксплуатации
  • Стресс-тестирование
  • Атаки паролем
  • Поддержание доступа
  • Обратный инжиниринг
  • Инструменты отчетности
  • Аппаратный взлом

Официальный сайт Kali Linux.

Сетевые сервисы Кали Линукс: MySQL

Это вид базы данных с поддержкой соединения отдельных записей. Почти всегда идёт в связке с языком программирования PHP и предыдущим веб-сервером Apache для создания динамических веб-приложений. В процессе тестирования на проникновение администратор может использовать MySQL для хранения результатов тестирования (информация по уязвимостям или картам сети). Запустим сервис командой:

и сразу проверим на работоспособность:

Я работаю из-под root-а, поле пароля оставил пустым, просто нажав на Enter:

Для выхода из базы данных наберите команду:

Чтобы остановить всю службу MySQL наберите в терминале:

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

А вот этого я вам не советую пока делать – нас такой тип доступа вполне устраивает.

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

7.1. Определение политики безопасности

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

Обычно лучше всего начать с определения конкретной цели. Для этого полезно найти ответы на следующие вопросы:

  • Что вы пытаетесь защитить? Политика безопасности будет различаться в зависимости от того, хотите вы защитить компьютеры или данные. В последнем случае, кроме того, нужно точно знать — что это за данные.
  • От чего вы защищаетесь? Это утечка конфиденциальных данных? Случайная потеря данных? Потеря доходов, вызванная сбоем в работе некоей службы?
  • От кого вы защищаетесь? Меры безопасности будут сильно различаться, например, при защите от ошибки обычного пользователя системы и при защите от серьёзно настроенной внешней группы хакеров.

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

▍Безопасность — это процесс

Брюс Шнайер, всемирно известный эксперт по безопасности (причём, не только по компьютерной ), пытается бороться с одним из важнейших мифов в области безопасности, заявляя: «Безопасность — это процесс, а не результат». То, что защищают, меняется со временем, то же самое происходит и с угрозами, и с инструментами, которые доступны потенциальным атакующим. Даже если политика безопасности изначально была идеально спроектирована и реализована, никогда не следует довольствоваться достигнутым. Компоненты рисков развиваются и ответные меры должны развиваться соответствующим образом.

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

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

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

Читать еще:  Поддельная точка доступа wifi через dnsmasq

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

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

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

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

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

3. Установка

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

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

Maltego

Maltego является специализированным разведывательным ПО. Она предназначена для сбора информации с различных баз данных, а также представления в удобном для понимания формате. Также она позволяет выявить основные связи между кусками информации и установить ранее неизвестные отношения между ними.

Данная программа может:

  • Может нарыть информацию и указать взаимосвязи между
    • людьми(группами людей), их контактами(email, аккаунты на социалках, телефонные номера, адреса)
    • компаниями
    • веб-сайтами
    • Элементами интернет-инфраструктуры(доменные имена, DNS записи, IP адреса, сетевые блоки)
    • документами
    • фразами, надписями
  • Это все линкуется с помощью встроенного ИИ
  • Написана на Java, что есть очень гуд в плане переносимости
  • Удобный GUI, управления визуализацией взаимосвязей

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

Для кого Parrot

Parrot — это операционная система, созданная для тестирования на проникновение, компьютерной криминалистики, обратной инженерии, хакингу, приватности/анонимности и криптографии. Основывается на Debian и разрабатывается Frozenbox network.

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

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

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

Читать еще:  Чистая установка Ubuntu. Подробная пошаговая инструкция

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

Основные сетевые сервисы Кали Линукс: краткий обзор

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

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

Информация предоставлена исключительно в ознакомительных целях. Не нарушайте законодательство!

Сканирование

Для начала просканируем IP-адрес с помощью Nmap (будем считать, что сканируем шлюз):

У Nmap довольно много функций для сканирования, которые можно комбинировать, например:

  • сканировать TCP и UDP порты;
  • определять сервисы;
  • собирать баннеры и многое другое.

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

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

И, разумеется, выполним сканирование UDP портов:

Помимо этого, стоит обратить внимание на специальный скрипт vulscan, который может расширить возможности Nmap до функционала сканера уязвимостей, используя базы exploit-db, CVE, OpenVAS и т.д.

Для таких сервисов, как SSH, FTP, MySQL, MSSQL, RDS и т.д. можно попробовать провести атаку методом перебора для получения учетных записей. Если использовать инструмент Hydra, то для этого достаточно указать в параметре -l имя пользователя (или список имен), в -p — словарь с паролями, а также атакуемый сервис и адрес цели. Более подробно о том, как проводить атаки методом перебора (brute-force) и с использованием какого инструментария, мы писали в этой статье.

MSSQL (1433 порт)

В последнем случае выбрали Patator, поскольку Hydra на данный момент не имеет возможности подбирать пароли к RDS. Имя пользователя для перебора указываем в параметре user , а словарь указываем через параметр FILE0 . Также добавляем параметр -x , в котором указываем фильтрацию по коду ответа и игнорируем все ответы с кодом 131 .

Рекомендуется, помимо этого, использовать и сканеры уязвимостей, такие как OpenVAS или Nessus. Они сканируют целевой хост и ищут всевозможные «точки входа», предоставляя детальный отчет. Например, OpenVAS сканирует открытые порты, посылает специальным образом сформированные пакеты для имитации атаки или даже авторизуется на узле, получает доступ к консоли управления и выполняет на нем команды. По завершении OpenVAS анализирует собранные данные и делает выводы о наличии каких-либо проблем с безопасностью, связанные, в большинстве случаев, с отсутствием последних обновлений или же неправильной настройкой (misconfiguration).

Веб-ресурсы

Для сканирования веб-приложений на уязвимости есть различные инструменты, доступные в Kali Linux. Как правило, используются специализированные сканеры, рассчитанные под конкретные цели. Например, если веб-приложение использует CMS WordPress, то для его анализа можно использовать сканер WPScan, который способен определить версию используемой CMS, установленные компоненты, а также плагины. Если какие-то из компонентов будут иметь уязвимости, то дополнительно в выводе можно увидеть ссылки на описание уязвимостей и эксплойтов.

Ключ —random-user-agent может понадобиться для изменения заголовка User Agent , чтобы попытаться обойти средства защиты при сканировании. Тем не менее, мы рекомендуем временно вносить адрес, с которого производится сканирование, в список исключений для более точного анализа.

Еще два популярных сканера веб-приложений — Nikto и Wapiti, станут хорошими помощниками при проведении поверхностного аудита веб-приложения на наличие уязвимостей.

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

Wapiti в своем арсенале имеет методики для определения инъекций; XSS; CRLF багов (HTTP Response Splitting); ошибок в обработке файлов (RFI/LFI, fopen, readfile) и т.д. Запустить его можно командой:

# wapiti http://example.com/about -u -v 2 -o /home/outfile.html , где:

  • -u — подсвечивать найденные уязвимости цветом;
  • -v 2 — показывать все уязвимости;
  • -o — путь для создания отчета.
Читать еще:  Кали Линукс: общая папка VirtualBox с гостевой Windows

IPSec

Бывает так, что все основные порты при сканировании либо закрыты, либо фильтруются, но открыт 500 (UDP) порт для установки IPSec-соединения, позволяя развить вектор атаки и получить доступ ко внутренним ресурсам компании. Используя утилиту ikeforce, можно проводить атаки на community-строки для IPSec. Также при использовании ikeforce существует возможность получения хеша для bruteforce-атаки в режиме offline. Пример использования в режиме enumiration :

# python ikeforce.py 192.168.60.50 -e -w wordlist.txt -t 5 2 1 2

  • -e — режим enumiration ;
  • -w — путь к словарю для перебора;
  • -t — выбора параметров шифрования, типов хэша, авторизации и тд.

OpenVPN

Ситуация, аналогичная с IPSec. Только в случае с OpenVPN, скорее всего, будет открыт 1194 (UDP) порт, что также может стать вектором для атаки злоумышленниками. Используя скрипт openvpn-brute, можно проводить атаки методом перебора с целью получения учетной записи для подключения к VPN и, соответственно, доступа к менее защищенным внутренним корпоративным ресурсам.

  • ovpn_dict — путь к словарю с именем пользователя и паролями для перебора, написанными через двоеточие;
  • Office-2.conf — путь к файлу конфигурации для подключения к VPN.

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

С помощью одних, например, Wifite, можно полностью автоматизировать тестирование беспроводной сети. При использовании других, например, Aircrack-ng, все этапы проведения тестирования придется провести вручную.

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

Если нужный адаптер подобран, то можно приступать к тестированию. Для начала необходимо перевести устройство в режим мониторинга командой:

где wlan0 — название беспроводного адаптера (может отличаться). Если все правильно, то название интерфейса изменится с добавлением в него слова mon . Теперь можно сканировать беспроводной эфир на наличие корпоративной точки доступа:

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

  • /root/1.cap — путь до сохраненного файла хендшейка;
  • -w — ключ указания словаря с паролями для перебора.

Если в качестве протокола защиты используется WPA2-Enterprise , рекомендую обратить внимание на инструмент eaphammer, предназначенный для проведения тестирований этого протокола.

Заключение

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

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

Тестирование на проникновение — одно из основных направлений деятельности нашей компании, коллектив которой представлен специалистами с опытом работы в сфере более 10 лет.

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

Оставайтесь здоровыми и защищенными!

  • Hekpo
  • 6636
  • Penetration testing

Читать дальше >>

Оставить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Команды Linux для управления системой

  1. df . Отображает объём вашего диска, и сколько на нём осталось свободного места.
  2. free . Отображает объём доступной и занятой оперативной памяти.
  3. uname . Отображает сведения о системе Если ввести uname , терминал сообщит только Linux. Но команда uname -a выводит сведения об имени компьютера и версии ядра.
  4. uptime . Сообщает, как долго запущена ваша система.
  5. whereis . Отображает расположение исполняемого файла нужной программы.
  6. whoami . Называет имя пользователя.

Сетевые сервисы Кали Линукс: SSH

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

service ssh start

Останавливаем службу на тот же манер:

service ssh stop

И, наконец, настроим на автозапуск:

update-rc.d ssh defaults

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

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector