Kali Linux – бесплатная операционная система семейства Linux, основана на дистрибутиве Debian. Разработчики ядра: Мати Ахарони, Дейвон Кернс и Рафаель Хертзог. Первый релиз состоялся 13 марта 2013 года. Поддерживается и финансируется американской компанией Offensive Security. Распространяется в виде 32 и 64-разрядной версий. Доступен для Windows 10 в Microsoft Store. Существует также Kali Linux для мобильных устройств. Операционная система приобрела огромную популярность в области исследований информационной безопасности. В данной статье я расскажу как быстро установить Kali Linux себе на компьютер, провести базовую настройку системы и научиться проводить аудиты уязвимостей на своем сайте или сервере с помощью утилит Kali.
- Установка Kali Linux
- Почему Kali?
- Базовая настройка Kali Linux
- Настроить часовой пояс
- Обновить систему
- Отключить автоблокировку экрана
- Добавить раскладку клавиатуры
- Установить софт
- Очистить систему от мусорных файлов
- Установить и настроить VPN
- Open VPN
- Windscribe VPN
- Решение проблем
- Как сбросить пароль входа в Linux?
- Не работает двойное нажатие по тачпаду в Kali Linux (решение)
- Не работает Wi-Fi Broadcom в Kali Linux (решение)
- Горячие клавиши Kali Linux
- Утилиты и сканеры уязвимостей в Kali Linux
- NMAP
- WhatWeb
- WPScan
- JoomScan
- Droopescan
- Nikto
- Dirb
- SQLmap
- Iptodomain
- Traceroute
- Telnet
- Как защитить сайт на WordPress от хакерских взломов и атак?
- Выводы
Установка Kali Linux
Весь процесс установки проходит в 4 шага и заберет у вас не более 15-20 минут:
- Скачиваем ISO-образ с официального сайта;
- Клонируем ISO на USB-накопитель с помощью программы balena.Etcher;
- Вставляем “флешку” в компьютер и загружаемся с USB;
- В загрузочном меню Kali выбираем Graphic Install.
Дальше начнется стандартная установка Linux.
Вы также можете установить себе программу для виртуализации операционных систем VirtualBox и скачать уже полностью готовую к использованию виртуальную машину Kali Linux (сборка от Offensive Security), а потом просто импортировать ее.
Почему Kali?
- Концептуальность, визуальная привлекательность – приятный, элегантный, интуитивно понятный, современный веб-интерфейс на базе XFCE (среда рабочего стола Linux), к которому довольно быстро привыкаешь. Особенно понравилась мягкая, полупрозрачная консоль. Все шрифты в системе сглаженные – antialising включен по умолчанию. Дизайн веет мистицизмом, силой и энергией. Кстати, Кали (з санскр. Kālī – “темная”) в индуизме – богиня вечной силы, времени, изменений, смерти и очищения. А Кали Югой в индуистском временном цикле называют эпоху тирании и разрушения.
- Поддержка драйверов разных устройств – я ставил Kali на стареньком ноутбуке (без интернета) – установилось все, включая драйверы для встроенной видеокарты (на других дистрибутивах постоянно возникали какие-то проблемы). Не удалось только автоматически установить Wi-Fi, но это решилось выполнением пару команд (см. ниже).
- Быстродействие – с помощью Kali вы сможете реанимировать устаревший ПК. Потому что, Kali – довольно легкая операционная система, не требует мощного, высокопроизводительного “железа”, шустро запускается на любых платформах. В ней не будет никаких зависаний, чего не скажешь про “тяжеловеса” Ubuntu. Поэтому, смело рекомендую Kali как альтернативный вариант для всех обладателей “древних” компьютеров.
- Функциональность – данный дистрибутив прекрасно оптимизирован и настроен на максимальную производительность, функциональность. С точки зрения удобства сбора информации, проведения различных исследований, тестов – Kali нет равных. Анализ доменов, анализ серверов, анализ сетевых портов и другой удаленной IT-инфраструктуры – выполняются здесь “на одном дыхании”. Все необходимые утилиты уже включены в состав дистрибутива (более 600 предустановленных). Кроме того, существует неизмеримое количество других дополнений. Не даром, Kali Linux считается “иконой” кибербезопасности, с ее помощью можно проинспектировать любую сетевую IT-систему до “дыр”, это лучшая среда для проведения “пентестов” (pentest – penetration test) – тестов на проникновение.
Интересный факт: Операционная система КАLI LINUX в 2015 году “засветилась” на экранах телезрителей в американском сериале Mr. Robot (премия “Золотой Глобус” за лучший телевизонный сериал), который повествует о молодом талантливом инженере кибербезопасности. Элиот ведет ночную жизнь киберпреступника, с целью уничтожения мультикорпораций – они по его мнению управляют миром и рушат его. В сериале показано несколько инструментов Kali Linux – Bluesniff, Bluetooth Scanner (btscanner), John the Ripper, Metasploit Framework, Nmap, Shellshock.
Базовая настройка Kali Linux
Настроить часовой пояс
Кликните правой кнопкой мыши по времени на Панели задач и выберите пункт Properties. В открывшимся окне выставите настройки, к примеру:
- Timezone: Europe/Kiev;
- Layout: LCD;
- Clock Options: Display seconds, Show AM/PM.
Обновить систему
Откройте Terminal (Ctrl+Alt+T), залогиньтесь под root и выполните команду:
apt-get update && apt-get upgrade
* В случае ошибки с зависимостями (dependencies), сделайте так:
sudo apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade
Отключить автоблокировку экрана
Перейти в меню: Settings-> Power Manager -> Display -> Display power management – перевести радиокнопку в положение Выкл. На вкладке Security выбрать Automatically lock the session -> Never.
Добавить раскладку клавиатуры
Меню: Settings -> Keyboard -> Layout, снять галочку с Use system defaults и с помощью кнопки “Add” добавить необходимые языковые раскладки. Чтобы раскладки отобразились на Панели задач – кликните по ней правой кнопкой мыши, далее Panel -> Add New items, выберите Keyboard Layouts и нажмите “Add”. Здесь также можно добавлять другие модули для отображения на Панели.
Установить софт
sudo apt-get install doublecmd-gtk
// Double Commander (аналог Total Commander)
sudo apt-get install putty
// SSH клиент
sudo apt-get install filezilla filezilla-common -y
// FTP-клиент
sudo apt-get install unrar unace rar p7zip zip unzip p7zip-full p7zip-rar file-roller
// пачка архиваторов
apt-get install chromium
// веб-браузер, аналог Google Chrome
apt-get install nethogs -y
// NetHogs – утилита для мониторинга сети
Предлагаю дополнительно установить еще несколько “канцелярских” программ, например TOR и Telegram Desktop:
- Скачиваем архивы с официальных сайтов;
- Распаковываем
tar xvf <имя_пакета>
- Запускаем выполняемые файлы, копируем ярлыки на рабочий стол.
Очистить систему от мусорных файлов
После всех установок рекомендуется “почистить” Linux командами:
sudo apt-get autoremove -y
sudo apt-get autoclean -y
sudo apt-get clean -y
Установить и настроить VPN
Тестируя разные методы проникновения или проводя аудиты кибербезопасности своих сайтов – рекомендую использовать VPN, который позволит точно смоделировать атаку и за одно исключит попадания вашего “родного” IP в black-листы или блокировку со стороны фаервола (WAF) собственного сервера.
Open VPN
OpenVPN (Open Virtual Private Network) – open-source реализация технологии VPN. В Kali Linux OpenVPN-клиент установлен по умолчанию.
Команда применения:
sudo openvpn filename.ovpn
Файлы конфигурации бесплатных VPN-серверов, оптимизированных под скоростной “серфинг”, можно скачать на сервисе OpenVpnBook.
Закрывается OpenVPN-соединение горячими клавишами в терминале – Ctrl+C.
Windscribe VPN
Windscribe – популярный VPN-сервис, который существует в разных версиях (платный/бесплатный) и поддерживает разные операционные системы, в том числе и Linux (Ubuntu/Debian/Fedora/CentOS). Всем желающим дарит 10 Гб трафика по VPN.
Подробная инструкция как установить Windscibe VPN на Linux>>
Создать VPN-подключение можно и стандартными средствами Linux. Для этого на Панели задач перейдите в настройки интернет-соединения и выберите “VPN connections” -> “Configure VPN” .
Решение проблем
Как сбросить пароль входа в Linux?
Если забыл пароль и хочешь изменить:
- Загружаемся, заходим в загрузчик GRUB, выбираем Advanced Linux Boot
- Нажимаем E и меняем в коде вместо ro на rw и дописываем после него (вместо quiet splash) init=/bin/bash
- Нажимаем F10
- В командной строке набираем: passwd username
- Меняем пароль
- Перезагружаемся: exec /sbin/init
Не работает двойное нажатие по тачпаду в Kali Linux (решение)
В Кали Линукс двойное нажатие тачпада почему-то отключено. Несмотря на то, что некоторые советуют выполнить настройки в терминале – после “ребута” они слетают, поэтому рекомендую воспользоваться стандартным методом: Start-> Settings ->Mouse and Touchpad, перейти на вкладку Touchpad и активировать чекбокс “Tap touchpad to click”. После перезагрузки настройки сохранятся.
Не работает Wi-Fi Broadcom в Kali Linux (решение)
1. Сначала проверяем, есть ли wi-fi (wlan0) в системе:
sudo iwconfig
2. Если wlan0 не найден, значит драйвер устройства не установлен.
Но для начала нужно узнать его модель:
lspci
3. Смотрим Network и находим модель. В моем случае – Broadcom BCM4311.
4. Устанавливаем драйвер:
apt-get install firmware-b43-installer
reboot
Результат: Wi-Fi заработал.
Горячие клавиши Kali Linux
- F1 – справка;
- F10 – левое меню;
- Ctrl + Alt + T – открыть терминал;
- Ctrl + Shift + W – свернуть терминал;
- Ctrl + Shift + Q – закрыть терминал;
- Alt+Tab – переключение между приложениями;
- Alt + F1 – открыть окно;
- Alt + F2 – открыть окно поиска приложений;
- Alt + F4 – закрыть окно;
- Alt + F7 – перемещение окна;
- Alt + F8 – изменить размер окна;
- Alt + F10 – переключить режим максимизации;
- Ctrl + Alt + D – минимизировать все окна;
- Alt + Space – меню окна;
- Print – сделать скриншот;
- Alt + Print – снимок экрана окна;
- Shift + Print – скриншот выделенной области;
- Ctrl + Print – скопировать снимок экрана в буфер обмена;
- Ctrl + Alt + Print – скриншот окна в буфер обмена;
- Shift + Ctrl + Print – снимок экрана с области в буфер обмена;
- Shift + Ctrl + Alt + R – записать короткое видео экрана;
Утилиты и сканеры уязвимостей в Kali Linux
Примечание: Описания и примеры к ниже перечисленным утилитам взяты из свободной документации Kali Linux. Выкладываются автором строго для ознакомления, с целью научиться самостоятельно проводить аудиты кибербезопасности и защищаться от кибератак. Не пытайтесь использовать данные инструменты в несанкционированных целях, дабы не нарушить закон. Автор не несет ответственности за любой возможный вред, причиненный материалами данной статьи.
NMAP
Nmap (Network Mapper) – популярная утилита для анализа сетевых портов (проверка на доступность), протоколов, исследования интернет-сетей, устройств, проверки кибербезопасности и других задач, связанных с получением данных об удаленной IT-инфраструктуре. Один из важнейших инструментов пентестера.
Примеры команд:
nmap -sS IPaddress
– покажет все открытые и закрытые порты сервера;nmap -O -osscan-guess IPaddress
– покажет порты, версию операционной системы;nmap -sV IPaddress
– проверка сервисов на портах, вывод их версий и многое другое;nmap -A IPaddress
– агрессивное сканирование сервера;
Приложение также распространяется для ОС Windows под названием – Zenmap. Официальный сайт>>
WhatWeb
WhatWeb Package – набор установленных в Kali Linux сканеров и плагинов (более 1700) для идентификации интернет-ресурсов. Распознает веб-технологии, их точные версии и идентификаторы, включая Web-hosting, Web-server, Framework, CMS version, JS, jQuery, PHP version, Cookies, Email, OpenGraph ID, Google Analytics ID и многое другое. Показывает физическое расположение сервера (IP-адрес, страна). Показывает иногда такие вещи (если данные открыты), которые вы никогда не найдете в разных Chrome-расширениях, таких, как Wappalyzer, SEO tools и др. Применяется хакерами на этапах разведки.
Чем будет полезна утилита обычным пользователям? Позволяет локализировать дыры в безопасности сайта или сервера.
Примеры выполняемых команд:
sudo whatweb example.com
– получение краткой информации по технологиям, используемым на сайте;sudo whatweb -v example.com
– вывод полной информации с описанием плагинов и технологий по указанному домену;sudo whatweb -a 3 example.com example2.com example3.com
– агрессивное сканирование 3-го уровня нескольких веб-сайтов (используется для определения точной версии CMS и плагинов);
Полная документация по WhatWeb>>
WPScan
WPScan – самая мощная и популярная утилита для сканирования сайтов, созданных на CMS WordPress. Благодаря своему автоматизму, позволяет в несколько кликов заполучить всю необходимую информацию, требуемую для поиска уязвимостей WordPress (название темы, список и версии плагинов, анализ robots.txt, анализ XML-RPC и WP-Cron, расположение служебных папок и файлов и т.д, и т.п.). Утилита будет полезной для всех обладателей WP-сайтов, т.к. позволяет самостоятельно смоделировать хакерскую атаку и проверить – подлежит сайт взлому или нет. Данной утилитой можно даже побаловаться в Windows (делается это благодаря установленному компоненту Ruby + консоли PowerShell). В интернете доступна онлайн-версия WPScan.
Примеры команд:
sudo wpscan --url example.com
– сбор общей информации по WP-сайту;sudo wpscan --url example.com --enumerate u
– узнать список пользователей (аккаунтов) WordPress-сайта;sudo wpscan --url example.com -passwords '/slovar.txt'
– тест на риск взлома WP-сайта посредством брутфорс-атак;sudo wpscan --url example.com -passeords '/slovar.txt' --random-user-agent
– применить “маску” рандомного юзер-агента (если на сервере срабатывает WAF);
Для формирования собственной базы словарей можно использовать такие приложения как: Cupp, Crunch.
JoomScan
JoomScan – еще одна “забавная” утилита для тестирования безопасности CMS от разработчиков Open Web Application Security Project (OWASP). Только на сей раз уже Joomla. Конечно, утилита не такая мощная и популярная как WPScan, но тоже “вываливает” достаточно много информации.
Установка:
git clone https://github.com/rezasp/joomscan.git
cd joomscan
perl joomscan.pl
Пример команд:
perl joomscan.pl --url example.com
– выведет общую информацию по CMS Joomla (версия, модули, компоненты, плагины и их уязвимости, URL админки, содержимое robots.txt и прочее);perl joomscan.pl -u example.com --ec
– перечислит все установленные компоненты;
Droopescan
Все то же самое, только для Drupal’а.
Установка:
sudo apt-get python3-pip
pip install droopescan
Команда выполнения:
droopescan scan drupal -u http://example.com
Nikto
Легендарный сканер серверов на предмет уязвимостей (SQL-инъекции, XSS, XXE, SSRF и др.). Инструмент уже включен в среду Kali Linux. Его особенность – работает по типу “червя”, умеет детально “поковырять” сервер в поиске скрытой информации. Покажет и подскажет, каких HTTP-заголовков на сервере не хватает.
Команда:
nikto -h IPaddress
Dirb
Dirb – отличная утилита для аудита кибербезопасности, которая просканирует все папки и файлы вашего сайта на доступность в интернете. Поможет проверить все уязвимости файловой системы вашего сайта или сервера. Например, благодаря, этой утилите я нашел открытые админки к PhpMyAdmin и вовремя закрыл доступ от всех “желающих”. Если оставлять доступы к формам авторизации – рано или поздно их начнут “брутфорсить” и взломают или “задидосят” сайт. Так что эта программа очень полезная для защиты веб-ресурсов от несанкционированного доступа.
Установка:
sudo apt-get install dirb
Применение:
dirb IP-addess
dirb domain
Аналоги Dirb: Dirhunt, Dirbuster.
SQLmap
SQLmap – инструмент для аудита кибербезопасности, осуществляет анализ уязвимостей и тестирование на проникновение в SQL-базу данных.
Установка:
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
cd sqlmap-dev/
./sqlmap.py --wizard
Применение:
sqlmap --url="https://example.com"
sqlmap --url="https://example.com" --cookie="paste cookie for url" --dbs --batch
sqlmap -r /file_with_http_headers -D nowasp --tables --batch --random-agent --tamper=space2comment --level=5
Iptodomain
Инструмент для проверки IP домена. Позволяет также найти все сайты, расположенные на одном IP.
Установка:
git clone https://github.com/jevalenciap/iptodomain.git
cd iptodomain/
python2 iptodomain.py
Команды:
dig +short example.com
– покажет IP-адрес указанного домена;python ipdomain.py -i IPaddress -f IPaddress -w /путь_к_файлу_для_сохранения_результатов
– покажет все домены на заданном IP (или его диапазоне);
Полученные домены можно прогнать в различных чекерах, например в Массовой проверке ИКС.
Traceroute
Простенькая утилита для диагностики интернет-соединения, измерения задержек передачи пакетов в IP-сети. Удивительно, но не нашел ее в “джентльменском наборе” Кали.
Установка:
sudo apt-get install traceroute
Команда:
traceroute example.com
– покажет количество узлов при передаче пакетов от хоста до сервера, и назад.
Telnet
Утилита осуществляет связь с сервером по протоколу Telnet (Terminal Network). Может быть полезной в решении определенных задач, например сканировании портов.
Установка:
sudo apt-get install telnet
Команда:
telnet IPaddress
– установить Telnet-соединение по указанному IP-адресу;telnet IPaddress 22
– установить Telnet-соединение по указанному IP-адресу на конкретном порте;
Ознакомиться с полным списком утилит для Kali Linux>>
Как защитить сайт на WordPress от хакерских взломов и атак?
Мои рекомендации по безопасности сайтов на WordPress:
- Используйте стойкий пароль, состоящий из 12-ти и более разных символов с разным регистром (UPPERCASE/lowercase);
- Не используйте аккаунты со стандартными “юзернеймами” с личной информацией (напр. admin, root, maria1975 и т.п.) – генерируйте сложные, “запутанные” имена, скомбинированные с различных символов разного регистра;
- Обязательно установите SSL-сертификат (подойдет Lets Encrypt) и переведите сайт на HTTPS-протокол (если еще этого не сделали);
- Используйте капчу на сайте, поставьте ее на вход в админ-панель (Google ReCaptcha, WP Captcha);
- Измените URL-адрес страницы авторизации (можете установить плагин – Hide login WP);
- Включите двухфакторную (2FA) авторизацию;
- Удалите readme.html и license.txt в корне сайта (“крошки” от установки WordPress);
- Попросите хостера или системного администратора установить и настроить firewall на сервере (fail2ban, iptables);
- Установите полезные security-плагины для WordPress (Wordfence, WPScan, IThemes Security, Sucuri, Zerber, Acunetix, All in One Security etc.);
- Создайте правильный файл robots.txt в корне своего сайта и запретите поисковым ботам индексировать служебные файлы, разделы, директории сайта (например, wp-admin, wp-login.php, wp-config.php, wp-settings.php, и даже не слушайте тех, кто говорит, мол robots.txt создавать необязательно);
- Проверьте конфигурацию файла .htaccess, закройте в нем доступ к wp-config.php;
- Внимательно проверьте права доступа на все файлы и папки сайта (755 – обычные папки, 644 – обычные файлы, 601 – файлы конфигурации, 777 – только для объектов, которые в этом нуждаются);
- Измените стандартный префикс базы данных (по умолчанию – wp_);
- Не используйте разные “бесплатные” темы и плагины, скачанные с неизвестных сайтов;
- Регулярно обновляйте CMS WordPress и все что с ней связано (разработчики постоянно “фиксят” баги и устраняют уязвимости);
- Научитесь делать резервные копии сайта (в случае удаления/перехвата информации или взлома – сможете оперативно восстановить);
- Как доп. вариант, перейдите на Cloudflare.
Интересный факт: CMS WordPress – самый популярный движок в мире. И не только среди пользователей или разработчиков сайтов, но и хакеров в том числе. По статистике, за все существования в WordPress было обнаружено более 300+ критических уязвимостей. Ежемесячно более 132 миллиона спам-комментариев рассылается на сайты WordPress. Компания Revisium провела масштабное исследование, которое показало, что из 2350 шаблонов в более 50% обнаружены различные шеллы, “черви”, шпионские скрипты и другие malwares. В 2012 году сайт Reuters был взломан из-за устаревшой версии WordPress (v. 3.1.1.).
Выводы
Скажу честно, в Windows после освоения Kali опытному IT/WEB-специалисту делать нечего (имхо). И даже Ubuntu смотрится как какой-то неповоротливый “толстяк”, напичканный “фаст-фудом”. Кто еще не пробовал Kali – не тяните, сделайте это сейчас. Для меня она стала “глотком свежего воздуха”. Для вас станет ступенью к качественно новому профессиональному уровню, особенно если вы до сих пор “сидите на Окнах”. А если хотите стать крутым IT Cybersecurity-специалистом – вы просто обязаны знать Kali Linux. Мне лично, данный дистрибутив много в чем помог, особенно в поиске уязвимостей безопасности VPS-серверов, облачной инфраструктуры, клиентских веб-сайтов, а также многочисленных багов WordPress/Joomla/Drupal, на которые раньше просто не обращал внимание.