Стать этическим хакером не так просто, как стать разработчиком программного обеспечения или программистом. Этический хакер, он же тестировщик на проникновение, должен хорошо разбираться в различных областях. Это не просто глубокое знание языков программирования C, C++, Python, PHP и т.д. Для того чтобы начать работать в области этического взлома, необходимо также обладать продвинутыми знаниями Linux/Unix Environment.
Kali Linux поставляется с массой предустановленных инструментов для тестирования на проникновение - около 600 инструментов. Для начинающего тестировщика на проникновение это звучит ужасно. Как можно освоить или использовать все эти инструменты? На самом деле, вам не нужно осваивать все эти инструменты, более того, в Kali Linux встроено множество инструментов, которые имеют ту же концепцию и назначение. Но среди них всегда есть лучшие. В этой статье я расскажу о 25 лучших инструментах Kali Linux для начинающих тестировщиков. Но если вы только что установили Kali Linux, прежде чем читать дальше, рекомендуем вам ознакомиться с этой статьей - это хороший старт в Kali.
Топ-25 лучших инструментов Kali Linux, которые я перечислил ниже, основан на функциональности, а также на их последовательности в цикле или процедуре тестирования на проникновение. Если вы уже ознакомились с предыдущей статьей, посвященной циклу тестирования на проникновение, то, по сути, существует четыре процедуры: Разведка, Сканирование, Эксплуатация и Постэксплуатация. Здесь я перечислил снизу вверх 25 лучших инструментов Kali Linux, начиная с анонимности.
АНОНИМНОСТЬ
Во время тестирования на проникновение очень важно подготовиться к сохранению анонимности. Не обманывайте себя, раскрывая свою личность во время взлома, прикройте ее!
MacChanger
Есть несколько причин, по которым смена MAC-адреса важна. Я использую MacChanger при тестировании беспроводной сети с включенной MAC-фильтрацией и необходимостью присвоить беспроводному адаптеру разрешенный MAC-адрес. Или просто нужно сменить MAC-адрес на произвольный во время тестирования. Чтобы использовать MacChanger, выполните следующую команду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | macchanger [options] networkDevice The options are: -h, --help Print this help -V, --version Print version and exit -s, --show Print the MAC address and exit -e, --ending Don't change the vendor bytes -a, --another Set random vendor MAC of the same kind -A Set random vendor MAC of any kind -p, --permanent Reset to original, permanent hardware MAC -r, --random Set fully random MAC -l, --list[=keyword] Print known vendors -b, --bia Pretend to be a burned-in-address -m, --mac=XX:XX:XX:XX:XX:XX --mac XX:XX:XX:XX:XX:XX Set the MAC XX:XX:XX:XX:XX:XX |
Например, я использую для подключения к сети устройство WLAN1, чтобы изменить стандартный MAC-адрес WLAN1 на полностью случайный, я ввожу команду:
1 | macchanger -r wlan1 |
ProxyChain
Прокси-цепочки прикрывают и выполняют любую работу. Добавьте команду "proxychains" для каждого задания, это означает, что мы включаем службу Proxychains. Например, я хочу запустить ProxyChain для покрытия NMAP. Команда выглядит следующим образом:
1 | proxychains nmap 74.12.68.101 -v -T4 |
Но прежде чем использовать ProxyChains, необходимо сначала настроить его, добавив IP прокси и другие вещи.
СБОР ИНФОРМАЦИИ
TraceRoute
Traceroute - это инструмент диагностики компьютерных сетей, предназначенный для отображения маршрута соединения и измерения транзитных задержек пакетов в IP-сети.
1 | traceroute site.com |
WhatWeb
WhatWeb - это утилита для определения отпечатков пальцев веб-сайтов. Она идентифицирует веб-сайты, включая системы управления контентом (CMS), блог-платформы, пакеты статистики/аналитики, библиотеки JavaScript, веб-серверы и встроенные устройства. WhatWeb имеет более 1700 подключаемых модулей, каждый из которых распознает что-то свое. WhatWeb также определяет номера версий, адреса электронной почты, идентификаторы учетных записей, модули веб-фреймворков, ошибки SQL и многое другое.
1 | whatweb site.com |
Whois
WHOIS - это база данных, управляемая локальными интернет-регистраторами. Это протокол запросов и ответов, который широко используется для запросов к базам данных, хранящим информацию о зарегистрированных пользователях интернет-ресурсов, таких как доменное имя или блок IP-адресов, но также используется для получения более широкого спектра другой персональной информации о владельце домена.
1 | whois site.com |
Maltegoce (Maltego Community Edition)
Maltegoce - это инструмент для сбора разведывательной информации, который предназначен для обнаружения и сбора данных о цели (компании или человеке) и визуализации собранных данных в виде графика для анализа. Прежде чем приступить к работе с Maltegoce, необходимо зарегистрироваться в Maltego Community Edition здесь: https://www.paterva.com/web7/community/community.php.
После регистрации откройте терминал и введите "maltegoce". Подождите некоторое время, пока он запустится. После завершения загрузки появится окно с предложением войти в систему Maltego Community Edition.
Войдите в систему, используя только что зарегистрированную учетную запись. После входа в систему необходимо определиться с типом "машины", которая будет работать против цели.
- Company Stalker (собирает разведданные)
- Footprint L1 (базовая разведка)
- Footprint L2 (умеренная разведка)
- Footprint L3 (интенсивная и наиболее полная раведка).
Выберем Footprint L3.
Введите имя целевого домена.
Результат должен выглядеть следующим образом: отображается все найденное и визуализируется в виде графика.
NMAP
Network Mapper (NMap) - это инструмент, используемый для обнаружения сетей и аудита безопасности. Моя любимая опция в NMAP - "-script vuln", она указывает NMAP на аудит безопасности каждого открытого порта на цели с помощью NSE. Например:
1 | nmap kali.org --script vuln |
Для просмотра полного списка возможностей NMAP обратитесь к странице справки.
1 | nmap --help |
Dirbuster / Dirb
Dirb - это инструмент для поиска скрытых объектов, файлов и каталогов на сайте. Dirb работает, запуская атаку на веб-сервер по словарю и анализируя ответ. DIRB поставляется с набором предварительно сконфигурированных списков слов, расположенных в каталоге /usr/share/dirb/wordlists/. Для запуска dirb используйте следующий шаблон команды:
1 2 | dirb [TARGET] [WORDLISTS_FILE] dirb http://www.site.com /usr/share/dirb/wordlists/vulns/apache.txt |
Анализ уязвимостей
Nikto
Nikto - это инструмент для оценки состояния веб-серверов и веб-приложений, позволяющий найти потенциальные проблемы и уязвимости в системе безопасности. Nikto сканирует 6700 потенциально опасных файлов/программ. Чтобы запустить Nikto, введите следующую команду:
1 | nikto -h [имя хоста или IP-адрес] |
АНАЛИЗ ВЕБ-ПРИЛОЖЕНИЙ
SQLiv
SQLiv - это простой и мощный сканер уязвимостей SQL-инъекций. По умолчанию SQLiv в Kali Linux не установлен. Чтобы установить его, выполните следующие команды:
1 2 | git clone https://github.com/Hadesy2k/sqliv.git cd sqliv && sudo python2 setup.py -i |
После установки просто введите в терминале:
1 | sqliv -t [TARGET_URL] |
BurpSuite
Burp Suite - это набор инструментов, объединенных в единый пакет, который выполняет тестирование безопасности веб-приложений, начиная с начального картирования и анализа поверхности атаки приложения и заканчивая поиском и эксплуатацией уязвимостей. Основной особенностью Burpsuite является возможность работы в качестве перехватывающего прокси-сервера (см. рисунок ниже). Burpsuite перехватывает трафик между веб-браузером и веб-сервером.
Чтобы открыть Burpsuite, введите в терминале команду "burpsuite".
1 | burpsuite |
OWASP-ZAP
OWASP ZAP - это Java-инструмент для тестирования безопасности веб-приложений. Он имеет интуитивно понятный графический интерфейс и мощные функции, позволяющие выполнять такие действия, как фаззинг, скриптинг, спайдинг, проксирование и атаки на веб-приложения. Кроме того, он расширяем за счет ряда подключаемых модулей. Таким образом, это универсальный инструмент для тестирования веб-приложений.
Чтобы открыть OWASP ZAP, наберите в терминале "owasp-zap".
1 | owasp-zap |
HTTRACK
Httrack - это клонер веб-сайтов/веб-страниц, с точки зрения тестирования на проникновение он используется в основном для создания поддельных веб-сайтов или фишинга на сервере злоумышленника. Запустите мастер httrack, набрав в терминале :
1 | httrack |
Вам будет предложено ввести некоторые необходимые настройки. Например, имя проекта, базовый путь проекта, установка целевого URL и настройка прокси.
JoomScan и WPScan
JoomScan - это инструмент анализа веб-приложений для проверки и анализа CMS Joomla, а WPScan - это сканер уязвимостей CMS WordPress. Для проверки того, какая CMS установлена на целевом сайте, можно воспользоваться либо ONLINE CMS Scanner, либо дополнительным инструментом "CMSMap". (https://github.com/Dionach/CMSmap). Узнав целевую CMS, Joomla или WordPress, можно принять решение об использовании JoomsScan или WPScan.
Запустите JoomScan:
1 | joomscan -u victim.com |
Запустить WPScan:
1 | wpscan -u victim.com |
АНАЛИЗ БАЗ ДАННЫХ
SQLMap
SQLMAP автоматизирует процесс обнаружения и эксплуатации уязвимостей SQL-инъекций и захвата баз данных. Для использования SQLMap необходимо найти URL сайта, уязвимого к SQL-инъекциям, для чего можно воспользоваться SQLiv (см. список №) или Google dork. После того как вы получили URL-адрес, уязвимый для SQL-инъекций, откройте терминал и выполните следующий шаблон команды:
Получить список баз данных
1 | sqlmap -u "[VULN SQLI URL]" --dbs |
Получить список таблиц
1 | sqlmap -u "[VULN SQLI URL]" -D [DATABASE_NAME] --tables |
Получить список столбцов
1 | sqlmap -u "[VULN SQLI URL]" -D [DATABASE_NAME] -T [TABLE_NAME] --columns |
Получить данные
1 | sqlmap -u "[VULN SQLI URL]" -D [DATABASE_NAME] -T [TABLE_NAME] -C [COLUMN_NAME] --dump |
Допустим, у нас есть уязвимая SQL-инъекция, это http://www.vulnsite.com/products/shop.php?id=13. и мы уже получили базы данных, таблицы и столбцы. Если мы хотим получить данные, то команда выглядит следующим образом:
1 | sqlmap -u "http://www.vulnsite.com/products/shop.php?id=13" -D vulnsiteDb -T vulnsiteTable -C vulnsiteUser --dump |
В большинстве случаев данные зашифрованы, и для их расшифровки необходим другой инструмент. Ниже приведена другая процедура получения пароля в открытом виде.
ПАРОЛЬНЫЕ АТАКИ
Hash-Identifier и findmyhash
Hash-identifier - это инструмент для идентификации различных типов хэшей, используемых для шифрования данных и, в частности, паролей. Findmyhash - это инструмент для взлома зашифрованных паролей или данных, используемых в онлайн-сервисах. Например, мы получили зашифрованные данные: 098f6bcd4621d373cade4e832627b4f6. Прежде всего необходимо определить тип хэша. Для этого запустите в терминале программу "hash-identifier" и введите в нее значение хэша.
Hash-identifier обнаружил, что расшифрованные данные используют хэш-алгоритм MD5. После того как тип хэша стал известен, для взлома данных мы используем другую утилиту - findmyhash. Теперь наберите в терминале:
1 | findmyhash MD5 -h 098f6bcd4621d373cade4e832627b4f6 |
Результат будет выглядеть следующим образом:
Crunch
Crunch - это утилита для создания пользовательских списков слов, в которых можно указать стандартный набор символов или заданный вами набор символов. crunch может генерировать все возможные комбинации и перестановки.
Основной синтаксис crunch выглядит следующим образом:
1 | crunch <min> max<max> <characterset> -t <pattern> -o <output filename> |
Теперь рассмотрим, что входит в приведенный выше синтаксис.
- min = Минимальная длина пароля.
- max = Максимальная длина пароля.
- characterset = Набор символов, который будет использоваться при генерации паролей.
- -t <паттерн> = Заданный шаблон генерируемых паролей. Например, если вы знаете, что день рождения цели - 0231 (31 февраля), и подозреваете, что она использует свой день рождения в пароле, вы можете сгенерировать список паролей, который заканчивается на 0231, задав crunch шаблон @@@@@@@0321. Это слово сгенерирует пароли длиной до 11 символов (7 переменных и 4 фиксированных), которые все заканчиваются на 0321.
- -o <outputfile> = сохранить список слов в файл с заданным именем.
John The Ripper (OFFLINE PASSWORD CRACKING SERVICE)
John The Ripper - одна из самых популярных программ для тестирования и взлома паролей, так как объединяет в одном пакете несколько программ для взлома паролей, автоматически определяет типы хэшей паролей и включает в себя программу для взлома паролей. В Linux файл "passwd", расположенный по адресу /etc/passwd, содержит всю информацию о пользователях. Хеш SHA-зашифрованного пароля каждого из найденных пользователей хранится в файле /etc/shadow.
THC Hydra (ONLINE PASSWORD CRACKING SERVICE)
Hydra - самый быстрый сетевой взломщик логинов, поддерживающий множество протоколов атаки. THC Hydra поддерживает такие протоколы: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB(NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 и v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC и XMPP.
АТАКА НА БЕСПРОВОДНЫЕ СЕТИ
Aircrack-NG Suite
Aircrack-ng - это пакет сетевого программного обеспечения, состоящий из сканера, сниффера пакетов, взломщика WEP и WPA/WPA2-PSK и инструмента анализа беспроводных локальных сетей стандарта 802.11. В состав пакета Aircrack-NG входят:
- aircrack-ng Взлом ключей WEP с использованием атаки Флюрера, Мантина и Шамира (FMS), атаки PTW и словарных атак, а также WPA/WPA2-PSK с использованием словарных атак.
- airdecap-ng Расшифровывает зашифрованные WEP или WPA файлы захвата с помощью известного ключа.
- airmon-ng Перевод различных карт в режим монитора.
- aireplay-ng Инжектор пакетов (Linux, а также Windows с драйверами CommView).
- airodump-ng Сниффер пакетов: Помещает воздушный трафик в файлы pcap или IVS и показывает информацию о сетях.
- airtun-ng Создатель виртуального туннельного интерфейса.
- packetforge-ng Создание зашифрованных пакетов для инъекций.
- ivstools Инструменты для слияния и преобразования.
- airbase-ng Включает в себя методы атаки на клиента, в отличие от точек доступа.
- airdecloak-ng Удаляет маскировку WEP из pcap-файлов.
- airolib-ng Хранит и управляет списками ESSID и паролей, а также вычисляет парные мастер-ключи.
- airserv-ng Позволяет получить доступ к беспроводной карте с других компьютеров.
- buddy-ng Сервер-помощник для easside-ng, работающий на удаленном компьютере.
- easside-ng Инструмент для связи с точкой доступа без ключа WEP.
- tkiptun-ng Атака на WPA/TKIP.
- wesside-ng Автоматический инструмент для восстановления ключа wep.
Fluxion
Fluxion - мой любимый инструмент для атак на "злых двойников". Fluxion не выполняет атаку "грубой силы" для взлома ключа. Fluxion создает открытую точку доступа-близнеца целевой (Wi-Fi) сети. При попытке подключения к этой сети появляется фальшивая страница аутентификации с запросом ключа. Когда жертва вводит ключ, Fluxion перехватывает его и проверяет, является ли ключ действительным паролем, сопоставляя ключ и рукопожатие. Чтобы установить Fluxion, выполните следующие команды:
1 2 | git clone --recursive https://github.com/FluxionNetwork/fluxion.git cd fluxion |
Откройте мастер установки Fluxion, набрав:
1 | ./fluxion.sh |
При первом запуске fluxion выполнит проверку зависимостей и установит их автоматически. После этого можно долго работать с инструкциями мастера fluxion.
ИНСТРУМЕНТЫ ЭКСПЛУАТАЦИИ
Инструментарий социального инженера (SET)
Social-Engineer Toolkit - это фреймворк с открытым исходным кодом для тестирования на проникновение, предназначенный для социальной инженерии. SET имеет ряд собственных векторов атак, таких как фишинг, spear-phishing, вредоносные USB, массовая рассылка и т.д. Данный инструментарий является бесплатным продуктом компании Trustedsec.com. Чтобы начать использовать SET, наберите в терминале "seetolkit".
1 | seetolkit |
ФРЕЙМВОРК METASPLOIT
Фреймворк Metasploit изначально задумывался как сопровождаемый фреймворк, автоматизирующий процесс эксплойта, а не проверяющий его вручную. Metasploit - популярный фреймворк, имеющий богатый набор модулей, ориентированных на различные цели, такие как Unix, BSD, Apple, Windows, Android, WebServers и т.д.
СНИФФИНГ И СПУФИНГ
WireShark
Wireshark - очень популярный инструмент сетевого анализатора, который наиболее широко используется для аудита сетевой безопасности. Для общей фильтрации пакетов в Wireshark используются фильтры отображения. Вот некоторые полезные фильтры, в том числе фильтры для перехвата пароля.
Bettercap
BetterCAP - это мощная и портативная утилита для проведения различных типов MITM-атак на сеть, манипулирования HTTP-, HTTPS- и TCP-трафиком в реальном времени, поиска учетных данных и многого другого. По своей концепции BetterCAP схож с ettercap, но, по моему опыту сравнения возможностей обеих программ, Bettercap победил.
Bettercap способен победить SSL/TLS, HSTS, HSTS Preloaded. Он использует SSLstrip+ и DNS-сервер (dns2proxy) для реализации частичного обхода HSTS. При этом SSL/TLS-соединения разрываются. Однако последующее соединение между клиентом и злоумышленником не использует SSL/TLS-шифрование и остается расшифрованным.
При частичном обходе HSTS клиент перенаправляется с доменного имени посещаемого хоста на поддельное доменное имя путем отправки HTTP-запроса перенаправления. Клиент перенаправляется на доменное имя с дополнительным символом "w" в www или web. в доменном имени, например, web.site.com. Таким образом, веб-хост не рассматривается как член списка хостов, предварительно загруженных в HSTS, и клиент может получить доступ к нему без SSL/TLS. Поддельные доменные имена затем разрешаются в реальные и корректные IP-адреса специальным DNS-сервером, который ожидает этих изменений в доменных именах. Недостатком этой атаки является то, что клиенту приходится начинать соединение по HTTP из-за необходимости HTTP-переадресации. Bettercap предустановлен в Kali Linux.
Чтобы осуществить MitM с помощью Bettercap, рассмотрим такой пример. Атакующий и жертва находятся в одной подсети в сети wifi. IP-адрес жертвы составляет: 192.168.1.62. IP-адрес маршрутизатора: 192.168.1.1. Злоумышленник использует свой беспроводной сетевой интерфейс WLAN1. Цель злоумышленника - подслушать и подделать цель. Для этого злоумышленник вводит команду:
1 | bettercap -I wlan1 -O bettercap.log -S ARP --proxy --proxy-https --gateway 192.168.1.1 --target 192.168.1.62 |
- -I сетевой интерфейс (WLAN1)
- -O Записать все сообщения в файл с именем bettercap.log
- -S Активировать модуль spoofer
- --proxy Включить HTTP-прокси и перенаправлять на него все HTTP-запросы
- --proxy-https Включение HTTPS-прокси и перенаправление на него всех HTTPS-запросов
- --gateway IP-адрес маршрутизатора
- --target IP-адрес жертвы, для нескольких целей, разделенных запятой, пробел не нужен
- -P Использовать парсер для отображения определенного отфильтрованного сообщения. (POST - отображение пакетов POST-запросов).
После того как жертва войдет в службу авторизации, bettercap перехватывает ее учетные данные.
ПОСТ ЭКСПЛУАТАЦИИ И....ЛУЧШИЙ ИНСТРУМЕНТ В KALI LINUX!
ФРЕЙМВОРК METASPLOIT
Фреймворк Metasploit является ЛУЧШИМ инструментом в KALI LINUX. Metasploit имеет множество модулей:
Эксплойт (Exploit)
Эксплойт - это метод, с помощью которого злоумышленник использует недостаток в системе, сервисе, приложении и т.д. Обычно злоумышленник использует его для того, чтобы сделать с конкретной системой/сервисом/приложением, которое он атакует, то, что разработчик/исполнитель не планировал делать. Это похоже на неправильное использование. Это то, что злоумышленник использует для получения доступа к системе.
Эксплойты всегда сопровождаются полезной нагрузкой
Полезная нагрузка (Payload)
Полезная нагрузка - это часть кода, которая выполняется в успешно эксплуатируемой системе. После успешной работы эксплойта фреймворк внедряет полезную нагрузку через эксплуатируемую уязвимость и заставляет ее выполняться в целевой системе. Таким образом, злоумышленник проникает внутрь системы или может получить данные из скомпрометированной системы с помощью полезной нагрузки.
Вспомогательный функционал (Auxiliary)
Обеспечивает дополнительную функциональность, такую как фаззинг, сканирование, разведка, dos-атака и т.д. Вспомогательный модуль сканирует систему на предмет наличия баннеров или ОС, производит фаззинг или DOS-атаку на цель. Он не внедряет полезную нагрузку, как эксплойты. Это означает, что вы не сможете получить доступ к системе, используя вспомогательный код.
Шифраторы (Encoders)
Кодировщики используются для обфускации модулей, чтобы избежать обнаружения их механизмами защиты, такими как антивирус или брандмауэр. Это широко используется при создании черного хода. Бэкдор кодируется (даже несколько раз) и отправляется жертве.
Постэксплуатация (Post)
Эти модули используются для постэксплуатации. После взлома системы мы можем углубиться в нее, послать бэкдор или использовать ее в качестве стержня для атаки на другие системы с помощью этих модулей.
METASPLOIT поставляется с различными интерфейсами:
- msfconsole - Интерактивная оболочка на языке curses для выполнения всех задач.
- msfcli - Вызывает функции msf из самого терминала/cmd. Не изменяет терминал.
- msfgui - Графический пользовательский интерфейс Metasploit Framework.
- Armitage - Еще один графический инструмент, написанный на java, для управления пентестами, выполняемыми с помощью MSF.
- Web-интерфейс - Веб-интерфейс, предоставляемый компанией rapid7 для Metasploit Community.