Как пользоваться Kali Linux в WSL (подсистеме Windows для Linux): подборка лучших программ (ч. 1)
Инструменты Kali Linux в WSL
В этой статье мы узнаем, что можно делать в Kali Linux в WSL (подсистеме Windows для Linux) и соберём подборку лучших инструментов для новичков
Надеюсь, вы уже познакомились с предыдущими статьями, посвящённым WSL:
- Как установить Kali Linux с Win-KeX (графический интерфейс) в WSL2 (подсистему Windows для Linux)
- WSL (подсистема Windows для Linux): подсказки, инструкции, решения проблем
- Метапакеты Kali Linux (смотрите раздел «Метапакеты для WSL (подсистемы Windows для Linux)»)
Следующая статья не про WSL, но то, что написано в ней обязательно нужно знать любому пользователю Linux:
Итак, теперь, когда вы уже установили всё как нужно по данным инструкциям, просто откройте командную строку Windows (или PowerShell) и запустите Kali Linux.
kali
Практически все рассмотренные в данной и последующих частях инструменты являются утилитами командной строки, то есть для них не нужен графический интерфейс. Если вам нужно открыть одновременно несколько консолей Kali Linux, то просто откройте несколько окон CMD или PowerShell и в каждом из них введите
kali
Тем не менее, для данной статьи я буду использовать Kali Linux с графическим интерфейсом — просто чтобы чувствовать «дух Kali Linux». Поэтому в дистрибутиве я запускаю команду:
kex
Если не получилось подключиться с первого раза, то делаем так:
kex --stop kex
Работу начинаем с полного обновления системы и инструментов:
sudo apt update && sudo apt full-upgrade -y
Подборка лучших инструментов для новичков Kali Linux в WSL
Рассмотренные в этой части инструменты и утилиты я разделил на три группы:
- Поиск и эксплуатация уязвимостей
- Сбор информации
- Исследование сети
В дистрибутивах WSL неплохо работают разнообразные сетевые инструменты, но нет доступа к аппаратной составляющей компьютера и периферийным устройствам — по этой причине мы не сможем запустить инструменты для аудита безопасности беспроводных сетей.
Для большинства инструментов будут даны ссылки на дополнительные материалы с подробными описаниями программ, опций и инструкциями. При желании вы сможете изучить любой инструмент более подробно.
1. Поиск и эксплуатация уязвимостей
WPScan (Проверка сайтов WordPress в Kali Linux)
Для проверки сайтов, работающих на WordPress, используется программа WPScan. Эта программа может определить старые версии WordPress, тему оформления, установленные плагины, показать известные уязвимости в плагинах и темах оформления WordPress.
Начнём с обновления базы данных (нужно делать один раз после загрузки компьютера):
wpscan --update
Для проверки сайтов запустите команду вида:
wpscan --url АДРЕС_САЙТА -e p,vt,u
Например, если я хочу проверить сайт minecraftz.ru, то команда следующая:
wpscan --url minecraftz.ru -e p,vt,u
Пример результатов сканирования:
Дополнительная информация по использованию программы:
sqlmap (Поиск уязвимости SQL-инъекция)
Программа sqlmap пригодиться тем веб-мастерам, которые программируют и пишут код сервисов, CMS, сайтов. С помощью sqlmap можно найти уязвимость SQL-инъекция.
SQL-инъекция — это одна из самых серьёзных уязвимостей веб-приложений. При запуске программы нужно указать тестируемый параметр, пример:
sqlmap -u https://САЙТ.ru/rubrika.php?id=31
Пример найденной SQL-инъекции:
sqlmap --url 'http://nov-akl.ru/index.php?docid=531242'
На сайте всё очень плохо, найдено сразу три разновидности SQL-инъекций:
- boolean-based blind
- time-based blind
- UNION query
Добавим опцию —dbs чтобы увидеть список баз данных:
sqlmap --url 'http://nov-akl.ru/index.php?docid=531242' --dbs
Итак, доступно три базы данных:
[*] information_schema [*] laws15 [*] test
С помощью опции -D указываем интересующую нас базу данных, а опцией —tables мы говорим, что хотим просмотреть список таблиц в этой БД:
sqlmap --url 'http://nov-akl.ru/index.php?docid=531242' -D laws15 --tables
Всего одна таблица под названием «docs_region».
Загрузим себе на память базу данных laws15:
sqlmap --url 'http://nov-akl.ru/index.php?docid=531242' -D laws15 --dump
Дополнительная информация по использованию программы:
- Инструкция по использованию sqlmap. Ч.1: Основы работы (GET)
- Инструкция по использованию sqlmap. Ч.2: Продвинутое сканирование и эксплуатация (POST, после аутентификации, AJAX/jQuery)
- Инструкция по использованию sqlmap. Ч.3: Залив бэкдора, выполнение системных команд, изменение данных в БД
- Использование sqlmap для инъекции в адресе страницы сайта (URI). Произвольные точки инъекции
- sqlmap в энциклопедии Kali.Tools
Nikto (сканирование веб-серверов и сайтов)
Nikto – это инструмент оценки веб-серверов. Он предназначен для поиска различных дефолтных и небезопасных файлов, конфигураций и программ на веб-серверах любого типа.
Для сканирования с Nikto нужно запустить команду вида:
nikto -h https://САЙТ.RU
Обратите внимание, что протокол также нужно указать.
Пример запуска сканирования сайта forum.comp-web-pro.ru:
nikto -h https://www.forum.comp-web-pro.ru/
Показываемая информация может быть как о серьёзных ошибках, так и о менее важных недочётах (например, не установлены заголовки безопасности HTTP протокола).
Дополнительная информация по использованию программы:
2. Сбор информации
WhatWeb (Узнаём используемые веб-технологии)
Вы можете проверить, что об используемых вашим сайтом технологиях может узнать хакер. Либо сами можете посмотреть технологии, которые применяются на другом сайте. Это делается программой WhatWeb.
Для этого используйте команду вида:
whatweb SITE.RU
К примеру, я хочу узнать о сайте suay.ru:
whatweb suay.ru
Дополнительная информация по использованию программы:
- Идентификация технологий, на которых работает веб-сайт (базовое и продвинутое использование WhatWeb)
- WhatWeb в энциклопедии Kali.Tools
Wig (Простой сбор информации о веб-приложениях)
Wig — это инструмент по сбору информации о веб приложениях, который идентифицирует ряд систем управления контентом (CMS) и другие административные приложения.
Установим программу:
sudo apt install wig
Для проверки сайта запустите команду вида:
wig https://SITE.RU
Проверим, что удастся найти о сайте hackware.ru:
wig https://hackware.ru
Дополнительная информация по использованию программы:
testssl.sh (Проверка правильности настройки SSL сертификата)
С помощью программы testssl.sh можно проверит, всё ли в порядке с вашим SSL сертификатом, правильно ли он установлен, не содержит ли настройка SSL вероятности использования уязвимых шифров и т.д.
Установим программу:
sudo apt install testssl.sh
Для проверки запустите команду вида:
testssl SITE.RU
Проверим правильность настройки TLS/SSL сайта suay.ru:
testssl suay.ru
Дополнительная информация по использованию программы:
whois (Как узнать, занят ли домен)
Предположим, вы хотите узнать, занято ли доменное имя, но не хотите доверять посторонним сервисам и сайтам. Вы можете сделать проверку прямо на своём компьютере!
Это можно сделать, например, с помощью команды whois. Запустите её следующим образом:
whois САЙТ.RU
Допустим, я хочу узнать, занят ли домен w-e-b.site:
whois w-e-b.site
Если домен уже кем-то зарегистрирован, то будет выведена соответствующая информация о регистрации. Если же домен никем не используется, то будет выведено, что домен не найден (возможны варианты: данные не найдены, записи не найдены и т. д.). Примеры записей, если домен не существует:
- No entries found
- No Data Found
- The queried object does not exist: DOMAIN NOT FOUND
- и т.д.
Также обязательно будет выведена информация о серверах имён (NS) и, (зависит от конкретного домена), могут быть показаны другие данные, вплоть до имени и номера телефона владельца домена.
Как посмотреть HTTP заголовки
В HTTP заголовках может содержаться информация о редиректе, о сервере и прочее. Вы можете посмотреть HTTP заголовки следующей командой:
curl -I SITE.RU
Просмотр HTTP заголовков при обращении к сайту suay.ru:
curl -I suay.ru
Пример вывода:
HTTP/1.1 302 Moved Temporarily Server: nginx Content-Type: text/html; charset=iso-8859-1 Connection: keep-alive Location: https://suay.ru/ Date: Mon, 21 Sep 2020 13:36:47 GMT X-Page-Speed: 1.13.35.2-0 Cache-Control: max-age=0, no-cache
Выполняется редирект, об этом говорит строка Location: https://suay.ru/.
Как узнать IP адрес сайта
Нет ничего проще, чем узнать IP адрес любого сайта. Для этого выполните команду вида:
dig SITE.RU +short
К примеру, я хочу узнать IP адрес сайта suay.ru:
dig suay.ru +short
Как узнать все DNS записи сайта
Все DNS записи сайта можно получить командой вида:
dig SITE.RU ANY @8.8.8.8
Пример для сайта suay.ru:
dig suay.ru ANY @8.8.8.8
Бывает, что некоторые серверы имён отказываются обслуживать запрос если в нём указано ANY, то есть показать все записи. Это не является большой проблемой, так как можно посмотреть все записи просто указывая их по одной в команде вида:
dig SITE.RU ЗАПИСЬ @8.8.8.8 +short
Популярные типы записей:
- A
- AAAA
- NS
- SOA
- MX
- PTR
- CAA
- TXT
- SRV
- CNAME
- DNAME
- DS
- RRSIG
- NSEC
Примеры:
dig w-e-b.site A @8.8.8.8 +short dig w-e-b.site AAAA @8.8.8.8 +short dig w-e-b.site NS @8.8.8.8 +short dig w-e-b.site SOA @8.8.8.8 +short
Смотрите также: Введение в DNS терминологию, компоненты и концепции.
3. Исследование сети
Nmap (Как проверить открытые порты)
Проверку открытых портов можно сделать программой Nmap.
В самих по себе открытых портах нет ничего плохого. Например, для работы веб-сервера необходимы открытые порты 443 и 80. То есть для используемых служб порты должны быть открыты.
Порты следует закрыть для неиспользуемых служб. Например, если вам не нужен FTP сервер, то порт 21 не должен быть открыт, если вы не используете SSH, то порт 22 не должен быть открыт.
Если вы обнаружили открытый порт с необычным номером, то это может означать, что сервер взломан и хакер установил на этом порту бэкдор.
В первую очередь следует проверять свои собственные сервера (VPS), поскольку на виртуальных хостингах обычно открыто много портов и хостер это делает для каких-то своих нужд.
Для проверки открытых портов используется команда Nmap.
Команда запускается следующим образом:
nmap IP_или_САЙТ
В этом случае будут проверены самые часто используемые порты. Если вы хотите проверить вообще все порты, то запустите команду так:
nmap IP_или_САЙТ -p-
Проверка открытых портов сервера, на котором работает сайт suip.biz:
nmap suip.biz
Дополнительная информация по использованию программы:
- Уроки по Nmap. Урок 1: Для чего нужен Nmap, что нового в версии 7, примеры опций
- Уроки по Nmap. Урок 2: Примеры сбора информации скриптами NSE
- Сканер портов под Windows
- Рецепты nmap
- Nmap в энциклопедии Kali.Tools
traceroute (Трассировка маршрута для поиска проблем и исследования сети)
Трассировка маршрута пакета до сетевого хоста показывает все промежуточные узлы, через которые проходит пакет, пока доберётся до указанной цели. То есть с помощью трассировки можно узнать, по каким узлам, с какими IP адресами, передаётся пакет прежде чем быть доставленным до точки назначения.
Трассировка может применяться для выявления связанных с работой компьютерной сети проблем, а также для исследования сети (определения структуры сети, поиска промежуточных сетевых узлов).
Установим программу:
sudo apt install traceroute
Чтобы сделать трассировку, нужно указать удалённый хост — это может быть IP адрес сервера или компьютера или просто адрес сайта:
traceroute САЙТ_ИЛИ_IP
Например, чтобы сделать трассировка до сервера, на котором запущен сайт w-e-b.site:
traceroute w-e-b.site
Читайте также «Трассировка сетевого маршрута».
ping (для проверки доступности серверов и поиска проблем сети)
Программа ping отправляет на указанный хост запрос и показывает время ответа (если ответ пришёл). В случае возникновения ошибки, программа ping выводит её.
Такое поведение позволяет проверить, есть ли доступ до определённого хоста, а также выявить некоторые проблемы сети, такие как потеря пакетов и большие задержки.
Для использования запустите команду вида:
ping САЙТ_ИЛИ_IP
Например:
ping w-e-b.site
В отличие от версии ping для Windows, которая отправляет 4 пакета и автоматически завершает работу, в Linux ping (если вы не установили иное опцией) будет отправлять пакеты до бесконечности. Чтобы завершить работу этой или иной утилиты командной строки, нажмите Ctrl+c.
Первая часть получилась достаточно объёмной и насыщенной, а ведь я не затронул даже одну третью часть того, о собирался рассказать. Поэтому обязательно будут следующие части!
Продолжение: Как пользоваться Kali Linux в WSL (подсистеме Windows для Linux): подборка лучших программ (ч. 2)
Связанные статьи:
- Инструкция по использованию sqlmap. Ч.1: Основы работы (GET) (42.5%)
- Инструкция по использованию sqlmap. Ч.2: Продвинутое сканирование и эксплуатация (POST, после аутентификации, AJAX/jQuery) (42.5%)
- Использование sqlmap для инъекции в адресе страницы сайта (URI). Произвольные точки инъекции (41.4%)
- Инструкция по использованию sqlmap. Ч.3: Залив бэкдора, выполнение системных команд, изменение данных в БД (39.3%)
- Инструкция по использованию Router Scan by Stas’M. Часть первая: Опции и анонимность сканирования (39.2%)
- Полное руководство по Active Directory, от установки и настройки до аудита безопасности. Ч. 5: Добавление компьютеров в Active Directory. Проверка и удаление из Active Directory (RANDOM - 3.8%)