- Найти и не обезвредить: пишем пентесты с Kali Linux
- Kali и другие подобные инструменты помогают обнаружить уязвимости в вашем ПО. И лучше, если первыми их найдёте вы, а не злоумышленники.
- Поиск открытых портов
- Поиск информации о пользователях
- Подбор пароля с атакой по словарю
- Поиск Heartbleed-уязвимости
- Советы по предотвращению и защите от взлома
- Полезные материалы (на английском языке)
- Как проверить процессы Кали Линукс.
- Введение. Самая простая из команд.
- Теперь взглянем на все процессы Кали Линукс. Наберём:
- Процессы Кали: «Диспетчер задач» Линукс
- Обзор Kali Linux 2021.2
- Установка
- ▍ Обычное железо и Live boot
- ▍ Виртуальные машины
- ▍ Мобильные средства
- ▍ Контейнеры
- ▍ Облако
- Особенности и характеристики Kali 2021.2
- ▍Kaboxer
- ▍ Kali-Tweaks v1.0
- ▍ Bleeding-Edge
- ▍ Привилегированные порты
- ▍ Kali NetHunter
- ▍ Новые приложения
- ▍ Графика и рабочий экран
- ▍ Raspberry Pi
- ▍ Разное
Найти и не обезвредить: пишем пентесты с Kali Linux
Kali и другие подобные инструменты помогают обнаружить уязвимости в вашем ПО. И лучше, если первыми их найдёте вы, а не злоумышленники.
Шило в мешке не утаить: по неведению (правда, в некоторых случаях — умышленно) даже крупные корпорации оставляют дыры в своей системе безопасности. Жизненно важно как можно быстрее (1) локализовать их и (2) пофиксить. К счастью, существует множество различных продуктов, которые помогают с первым пунктом. Среди них можно выделить Kali, дистрибутив Linux, разработанный для тестирования систем безопасности. В этой статье я расскажу, как использовать Kali Linux для исследования вашей системы и поиска слабых мест, имитируя атаку злоумышленника.
Дистрибутив Kali включает множество инструментов, каждый из которых имеет открытый исходный код. Достаточно запустить установку дистрибутива и все эти инструменты будут доступны из коробки.
В качестве подопытных я буду использовать две системы:
- kali.usersys.redhat.com: 30 Гб памяти и 6 виртуальных CPU. Эта система будет выполнять сканирование «жертвы» и запускать атаки.
Я не зря упомянул здесь технические характеристики оборудования. Некоторые из наших задач довольно требовательны к железу, особенно — к 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 я не могу получить доступ к оперативной памяти и данным сервера. Что ж… видно не судьба 🙂
Советы по предотвращению и защите от взлома
Можно написать много статей про то, как противостоять атакам хакеров всех мастей. Тут я ограничусь общими рекомендациями:
- Изучайте свою систему: какие порты открыты, какие порты должны быть открыты, кто должен иметь возможность видеть эти порты и какой объём трафика должен проходить через них. Nmap вам в помощь.
Используйте лучшие и передовые практики: то, что считается передовой практикой сегодня, перестанет быть таковой в будущем. Важно быть в курсе новейших достижений в области информационной безопасности.
Грамотно настраивайте ваши продукты и их окружение: например, вместо того, чтобы позволять злоумышленнику постоянно атаковать вашу систему WordPress, заблокируйте его IP-адрес и ограничьте количество попыток входа в систему. Правда, блокировка IP-адреса часто оказывается бесполезной, потому что злоумышленники могут использовать разные адреса. Однако эту настройку легко включить, и она поможет отразить хотя бы некоторые атаки.
Создавайте и поддерживайте качественные резервные копии: если злоумышленник взломает одну или несколько ваших систем, возможность восстановить данные без танцев с бубном поможет сэкономить много времени и денег.
Проверяйте свои логи: как показывают приведённые выше примеры, команды сканирования и прочие проникающие манипуляции могут оставлять множество логов. Если вы заметили их вовремя, вы успеете защититься от взлома.
Обновляйте свою систему, приложения и любые дополнительные модули: специалисты Института стандартов и технологий США уверены, что «обновления обычно являются наиболее эффективным способом устранения уязвимостей и часто могут стать единственным по-настоящему эффективным решением».
Полезные материалы (на английском языке)
То, что описано в этой статье, — лишь вершина айсберга. Чтобы погрузиться глубже, вы можете изучить следующие ресурсы:
Облачные серверы от Маклауд быстрые и безопасные.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
Источник
Как проверить процессы Кали Линукс.
В статье описываются команды, с помощью которых можно посмотреть запущенные процессы Кали Линукс в текущем сеансе, проверить потребление процессами оперативной памяти, нагрузку на процессор, рассмотрим сортировку процессов по степени приоритета и т.д.
Введение. Самая простая из команд.
Как и другие операционные системы, Кали является мультипроцессовой системой. А это значит, что на фоне запущенных в системе процессов существует своеобразный программный инструмент, позволяющий правильно распределять нагрузку оптимально в отношении исполняемых Кали задач: он решает какой процесс будет использоваться процессором и в какой промежуток времени. Если программа не отвечает или пользователь желает перебросить силы процессора на определённую задачу, без этих команд не обойтись.
Всё начинается с загрузки. Всякий раз по включении Кали вы видите список проверяемых служб, процессов и скриптов, которые запускаются вместе с системой. Большинство из них и есть сама система: скрипты инициализации, программы-демоны (это не ужасающий термин, а вполне устоявшееся определение родом из UNIX систем, означающий фоновый, скрытый от глаз пользователя процесс)… Со многими из них работать вообще никогда не придётся. Другое дело родительские процессы, которые позволяют запускать и контролировать процессы дочерние — запускаемые и контролируемые родительскими. С ними иногда приходится работать напрямую. Терминал нам в помощь.
Каждому из процессов в текущем сеансе присвоен свой персональный идентификатор или PID. С ним можно работать также как с названием процесса. Начнём с простого в порядке повышения информативности — наберём в окне терминала:
Только что запущенное окно отобразит текущие процессы, связанные с текущим терминалом (выходом на конкретное задание или устройство). Это всегда bash и ps. Терминал говорит вам, что вы сейчас смотрите на текстовую командную оболочку Bourne-Again Shell (bash — оболочка, предложенная господами Бурном и Эгейном) и хотите увидеть список процессов ps, которые к данному терминалу присоединены. Окно терминала разбито на несколько столбцов, где:
- PID — номер процесса (не по порядку)
- TTY — среда текстового ввода/вывода (вообще-то это сокращение от teletype, но в этимологию линукс-команд лучше не вдаваться; хотя это многое порой объясняет). Сейчас под аббревиатурой TTY скрывается само окно терминала.
- PTS/X — pseudo terminal slave — ведомый псевдо терминал. Разница между TTY и PTS состоит в типе соединения с системой или компьютером. Первое — это устройства, которые соединены с компьютером напрямую: мышь, клавиатура, другое оборудование. PTS — это то, что связано с компьютером через сетевой протокол. Но и у тех и у других задача одна — подключаться к шеллу вашей Кали с целью вводить команду на управление компьютером под началом ОС. С каждым новым открытым окном терминала и те и другие значения будут меняться:
- TIME — сколько времени потрачено системой на исполнение процесса
- CMD — форма процесса
Теперь взглянем на все процессы Кали Линукс. Наберём:
Вот это я понимаю список. Как видно, описание процессов разбавил ещё один столбец, да и, ко всему прочему, добавились новые символы. Разберёмся.
С PID нам всё ясно. Однако почти все процессы под TTY заполнены знаками вопроса ?. Это означает, что ни один из этих процессов не связан ни с одним из терминалов сеанса Кали. Новый столбец STAT указывает на статус или состояние процесса. R — запущен, S — спит, T — остановлен, l — мультипоточный и т.д. Не все дополнительные флаги вам придётся увидеть, однако для полноты статьи какие процессы Кали принимают вид я справочно приведу (в алфавитном порядке латиницы):
- D — постоянно спящий режим (обычно для устройств ввода-вывода)
- R — запущенный или готовый к сиюминутному запуску процессов
- S — спящий процесс (в ожидании какого-то события для остановки или завершения)
- T — остановленный процесс
- X — заблокированный процесс
- Z — «зомби-процесс» (остановленный принудительно, но по некоторым причинам системой не возобновлённый)
Ко всему прочему к этим флагам могут быть доставлены дополнительные флаги:
- Но и это ещё не всё. Если наберёте команду:
процессы Кали Линукс предстанут в ещё подробном описании. Здесь добавились столбцы использования процессом мощностей процессора (CPU) и оперативной памяти (MEM), время запуска каждого из процессов START, объём виртуальной памяти VSZ и, наконец, RSS — абсолютное значение объёма памяти, отнимаемой у RAM.
Процессы Кали: «Диспетчер задач» Линукс
Нет, это не тот, что в Windows, однако структура подачи данных напомнит виндовозам Диспетчер задач. Наберите команду:
и процессы Кали будут разбиты по другой структуре. Столбцы будут содержать известную вам информацию в том порядке, сколько ресурсов потребляют:
Однако характерной чертой скрипта можно назвать именно шапку вывода терминала, в которой показан абзац с не менее важными параметрами:
- top — время запуска задачи
- up — время работы Кали в текущем сеансе
- user — количество пользователей, которые пользуеются сеансом
- load average — среднее время ожидания процессом (-ами) на запуск (десятые и сотые доли означают, что процессор не загружен)
- Tasks: running (sleeping, stopped и т.д.) — исполняемые задачи и их текущий статус; запущены ли, остановлены и .т.д.
- Cpu — загрузка процессора (с описанием, сколько в общей доле тратится на пользовательские процессы us, системные sy, простой процессора id и другие)
- KiB Mem — объёмы общей, задействованной и простаиваемой памяти
- KiB Swap — объём виртуальной (на манер таковой в Windows) свеп-памяти, отбираемой при нехватке у HDD.
Ну что… В любой момент для любой из команд вы можете воспользоваться справкой или же покинуть окно через quit.
Источник
Обзор Kali Linux 2021.2
В начале июня состоялся релиз дистрибутива для цифровой криминалистики и тестирования систем безопасности Kali Linux 2021.2. Эта операционная система является клоном Debian, используя репозиторий Testing с наиболее свежими пакетами. Новые iso образы становятся доступными для загрузки каждые три месяца, предыдущим релизом был 2021.1, а следующим будет 2021.3. Собственные наработки, созданные в рамках проекта, выложены на Гитлабе.
Kali Linux вобрал в себя солидный опыт разработки операционных систем для проверки возможностей несанкционированного доступа к ресурсам ИТ. Начало было положено в августе 2004-го с выходом WhiteHat Knoppix. Затем было несколько выпусков WHAX и BackTrack, под капотом SlackWare Live CD. С марта 2013 г․ под руководством Мати Ахарони и Девона Кернса из Offensive Security выходит Kali Linux v1.0, уже на базе Debian.
Установка
Kali Linux предоставляет множество вариантов для установки, начиная простой рабочей станцией и заканчивая мобильными и встроенными устройствами. Рабочим столом по-умолчанию является Xfce, однако можно выбрать и другие DE:
▍ Обычное железо и Live boot
Имеются iso образы и торренты для платформ:
- AMD64 ;
- Intel 386 ;
- ARM64 iso образ для чипов Apple M1 .
Все образы доступны в трех вариантах:
- weekly, самые свежие и в то же время нестабильные пакеты;
- installer, стандартный оффлайновый набор ПО;
- netinstaller, все пакеты скачиваются во время установки. Не доступен для установки с Live USB;
▍ Виртуальные машины
Можно скачать 64-битные образы и торренты для VMWare и Virtualbox . Для беглого ознакомления с возможностями Kali Linux это пожалуй самый оптимальный вариант. Образ для VMWare имеет размер в 2.6 GiB, для Virtualbox — чуть побольше, 3.8 GiB. Кроме того доступны образы VM для Vagrant.
На данный момент имеются образы для следующих устройств на чипах ARM:
- 1 (Original);
- 2, 3, 4 и 400 (32-бит);
- 2 (v1.2), 3, 4 и 400 (64-бит);
- Zero;
- Zero W.
❒ Pine64
▍ Мобильные средства
Проект Kali NetHunter — это первая платформа тестирование на проникновение с открытым исходным кодом для устройств под управлением ОС Android. В наборе имеется множество уникальных функций, недоступных на других аппаратных платформах. Специфика NetHunter состоит в том, что с его помощью можно осуществлять проверки безопасности и попытки проникновения на мобильных устройствах. Примеры использования могут включать в себя следующие сценарии:
- Точка доступа Mana Evil в один клик.
- BadUSB атака типа MITM через эмуляцию работы USB устройства. Подключив NetHunter к компьютеру жертвы, тот перенаправляет сетевой трафик через себя.
- Взлом Bluetooth;
Рис. 1 Kali NetHunter.
Кали NetHunter может быть установлен на эти мобильные устройства:
❒ Gemini PDA (Nougat 5.x)
❒ Nexus, все модели начиная с 5-й модели и заканчивая 10-й (Lollipop)
- OnePlus One (11);
- OnePlus 2 (Nougat 5.x);
- OnePlus 2 (Pie 9.0);
- OnePlus (AnyKernel Pie 9.0);
- OnePlus (AnyKernel 10);
- OnePlus (OxygenOS 10);
- OnePlus 7;
- OnePlus 7 Pro (OxygenOS 10);
- OnePlus Nord (11).
❒ Samsung
- Galaxy Tab S4 (LTE)(Oreo 8.0);
- Galaxy Tab S4 (WiFi)(Oreo 8.0).
❒ Sony XPeria Z1
- Davinci Miui (10);
- Xiaomi Mi A3 (LineageOS 18.1).
❒ ZTE
▍ Контейнеры
Есть сборки для Docker и LXC/LXD, установка производится штатными средствами контейнерного ПО.
Kali-docker образы доступны для платформ arm64 , armhf и amd64 .
▍ Облако
Образы Kali Cloud можно по-быстрому развернуть в инфраструктуре различных облачных провайдеров:
Особенности и характеристики Kali 2021.2
Главная особенность Kali Linux — наличие полноценной подборки специальных приложений для проверки взлома и проникновения. Их общее количество превышает 600 и они разнесены по следующим категориям:
- Сбор информации: nmap и его разновидности, goofile, p0f и пр․;
- Анализ уязвимости: cisco-torch, BED, DotDotPwn и пр․;
- Атаки на беспроводное соединение: Aircrack-ng, Kismet, Pyrit и пр․;
- Веб-приложения: Blind Elephant, hURL, Nikto, Paros, и пр․;
- Инструментарий эксплуатации: commix, routersploit, Social-Engineer Toolkit и пр․;
- Стресс-тесты: DHCPig, t50, Reaver и пр․;
- Аналитический инструментарий: ddrescue, pdf-parser, iPhone-Backup-Analyzer и пр․;
- Охота на пароль: Hashcat, THC-Hydra, John the Ripper, wordlists и пр․;
- Прослушивание и подделка: _hexinject, mitmproxy, Wireshark и пр․;
- Обратная разработка: apktool, javasnoop, Valgrind и пр․;
- Поддержание доступа: dns2tcp, HTTPTunnel, pwnat и пр․;
- Аппаратный взлом: Arduino, dex2jar, smali и пр․;
- Средства для отчетности: cherrytree, dos2unix, Metagoofil и пр.
Одно из новых впечатлений, еще на этапе установки ОС, это замена супер-пользователя root с паролем tor на kali / kali. Объективности ради надо заметить, что изменение произошло в предыдущем релизе Kali. Это не так просто, как кажется, так как многие серверные приложения крепко привязаны к привилегиям root-а. Некоторые операционные системы давно уже отказались от root, в частности Ubuntu Linux обесточила супер пользователя с незапамятных времен.
▍Kaboxer
Представлен Kaboxer 1.0, (от Kali Application Boxeri), с помощью которого громоздкие приложения можно упаковать в контейнер и далее интегрировать с ОС и штатным менеджером пакетов. Вся прелесть в том, что для пользователя всё прозрачно, программа скомпонованная таким образом устанавливается точно так же из aptitude install package-name . На данный момент с помощью Kaboxer распространяются лишь эти приложения:
- Covenant — клиент-серверная сетевая служба;
- Firefox Developer Edition — тяжелое графическое приложение для веб-разработчиков;
- Zenmap — приложение использует Python 2.
▍ Kali-Tweaks v1.0
Анонсирована утилита Kali-Tweaks в помощь пользователям дистрибутива для легкой и корректной настройки операционной системы под свои нужды. Это вполне согласуется с философией Kali Linux — полностью отдавать себе отчет в своих действиях. С помощью Kali-Tweaks можно задать конфигурацию для компонент:
Рис 2. Kali-Tweaks.
- мета-пакеты;
- сетевые репозитории, это позволяет добавить, или удалить установку новейших и экспериментальных пакетов из древа;
- командная строка и консоль, например выбрать между Bash и Zsh;
- виртуализация.
▍ Bleeding-Edge
Ветка репозитория Bleeding Edge существует с марта 2013 г. В дословном переводе это означает кровоточащий край, смысл термина в обозначении самого острого края (острие науки передовой край), отдаленной границы, там где опасно. Соответственно, пакеты из этой ветки никак нельзя назвать стабильными. В текущем выпуске Kali Linux полностью переработан бэкенд репозитория.
Рис. 3 В kali-tweaks можно подключить репозиторий bleeding-edge.
▍ Привилегированные порты
В Unix/Linux системах по умолчанию только root имеет доступ на открытие TCP/IP портов в интервале 1-1024, их еще называют привилегированными. Можно по-разному обходить это ограничение, например перенаправлять привилегированный порт на обычный.
Но этот способ плохо масштабируем и может привести к путанице. Благо, теперь не надо перебрасывать порты, так как обычный пользователь может запускать приложения, которые открывают сокет на привилегированных TCP/IP портах. Это стало возможным благодаря специальному патчу на ядро Linux, без него функционал не будет доступен.
▍ Kali NetHunter
В новой версии были такие обновления:
- поддержка Android 11;
- улучшение в работе Magisk root;
- повышена совместимость благодаря динамическим партициям;
- улучшения в модуле Bluetooth;
- включены патчи rtl88xxau для более старых версий ядра.
▍ Новые приложения
Вот список новинок текущего релиза:
- CloudBrute — Разузнать об инфраструктуре компании, найти файлы и приложения в облачной среде.
- Dirsearch — Обнаружить файлы и директории на веб-серверах.
- Feroxbuster — Простое, быстрое, рекурсивное обнаружение содержимого интернет ресурса.
- Ghidra — Платформа обратной разработки.
- Pacu — Платформа для эксплойтов AWS.
- Peirates — Проникновение в среду Kubernetes.
- Quark-Engine — Рейтинговая система оценки вредоносных программ для Android.
- VSCode a.k.a. Visual Studio Code Open Source, редактор кода с открытыми исходниками.
▍ Графика и рабочий экран
В терминале появилось возможность быстрого переключения по горячей клавише Ctrl+p между однострочным и двустрочным приглашением PS1.
Рис 4. Переключение режимов PS1 терминала Xfce.
Переработана панель быстрого запуска Xfce, из нее убрали экранный рекордер kazam, добавив текстовый редактор и веб-браузер. Появились новые обои рабочего стола и экрана входа в DE. Для приложений терминала Xfce и файлового менеджера Thunar появилась опция запуска с правами root.
Рис 5. Root терминал Xfce.
▍ Raspberry Pi
- kalipi-config — своего рода raspi-config на стероидах для облегчения начальной настройки Kali Linux на Raspberry Pi.
- kalipi-tft-config — для облегчения начальной настройки TFT дисплеев на Rapberry Pi.
- Заявлено повышение производительности на 1500%.
- Ядро Linux обновилось до версии 5.4.83.
- На Raspberry Pi 4 и Raspberry Pi 400 полноценно заработал Bluetooth.
- Время первой загрузки сократилось с 20 до 15 с.
▍ Разное
Помимо этого были и другие изменения и исправления в разных местах. Устранены дефекты в приложении терминала и pkexec. Помимо этого:
- Wireshark теперь могут запускать и непривилегированные пользователи;
- новый Win-Kex v2.10 теперь поддерживает многоэкранный режим;
- пакет Parallels Tools вышел из Technical Preview для устройств на чипах Apple M1.
Источник