Kali linux arp poison

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

Список инструментов для тестирования на проникновение и их описание

Описание Habu

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

Некоторые из возможностей:

  • ARP Poisoning
  • ARP Sniffing
  • Обнаружение DHCP
  • DHCP Starvation (атака, при которой злоумышленник занимает все IP адреса)
  • Фальшивый сервер FTP
  • Атака LAND
  • Взлом SNMP
  • Идентификация субдоменов
  • Клонер сертификатов SSL/TLS
  • SYN флудинг
  • Анализ флагов TCP
  • Анализ TCP ISN
  • Сканирование портов TCP
  • Проверка имени пользователя по социальным сетям
  • Идентификация виртуальных хостов
  • Идентификация веб-технологий

Автор: Fabian Martinez Portantier

Справка по Habu

Пакет Habu включает в себя большое количество утилит каждая из которых выполняет одну функцию.

habu.arp.ping

Отправляет ARP пакеты для проверки, присутствует ли хост в локальной сети.

habu.arp.poison

Выполняет ARP спуфинг, то есть отправляет ARP пакеты ‘is-at’ каждой жертве, вызывая отравление (poisoning) их ARP таблиц, чтобы они начали отправлять трафик через вашу систему.

Помните, что если вы хотите полноценную атаку человек-посередине, то вам нужно включить перенаправление (forwarding) пакетов на вашей операционной системе, в результате она будет работать как роутер. На Linux вы можете это сделать используя:

habu.arp.sniff

Прослушивает ARP пакеты и показывает информацию о каждом устройстве в локальной сети.

Колонки: Секунды с последнего пакета | IP | MAC | Производитель

Пример вывода собранных данных:

habu.asydns

Запрашивает DNS доменного имени на основе публичных и приватных RSA ключей используя протокол AsyDNS: https://github.com/portantier/asydns

habu.b64

Кодирует или декодирует данные в base64, работает в точности как команда base64.

habu.cert.clone

Подключается к SSL/TLS серверу, получает сертификат и генерирует сертификат с такими же опциями и значениями полей.

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

habu.cert.names

Подключается к каждому хосту/порту и показывает краткую информацию об именах сертификатов.

Хосты для подключения берутся из двух возможных опций:

1) опция -i (по умолчанию стандартный ввод stdin). Файл, в котором каждая строка это хост или сеть

2) Аргумент, который может быть хостом или сетью

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

habu.config.del

Удаляет КЛЮЧ из конфигурации.

Помните: по умолчанию КЛЮЧ конвертируется в буквы верхнего регистра.

habu.config.set

Установить ЗНАЧЕНИЕ в настройки КЛЮЧА.

Помните: по умолчанию КЛЮЧ конвертируется в буквы верхнего регистра.

habu.config.show

Показать текущую конфигурацию.

Помните: по умолчанию параметры с именем «KEY» спрятаны за звёздочками.

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

habu.crack.luhn

Алгоритм Лу́на (англ. Luhn algorithm) — алгоритм вычисления контрольной цифры номера пластиковой карты в соответствии со стандартом ISO/IEC 7812. Не является криптографическим средством, а предназначен в первую очередь для выявления ошибок, вызванных непреднамеренным искажением данных (например, при ручном вводе номера карты, при приёме данных о номере социального страхования по телефону). Позволяет лишь с некоторой степенью достоверности судить об отсутствии ошибок в блоке цифр, но не даёт возможности нахождения и исправления обнаруженной неточности.

Наиболее распространённые применения для подсчёта контрольной цифры:

  • Номера всех банковских карт
  • Номера некоторых дисконтных карт
  • Коды социального страхования
  • IMEI-коды.
  • Расчёт контрольного знака единого 8-значного номера железнодорожного вагона на РЖД.
  • Расчёт ICCID (англ. integrated circuit card identifier) — уникальный серийный номер SIM-карты.

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

Числами, которые используют алгоритм Luhn для проверки, являются Кредитные карты, IMEI, Национальным Идентификатором Поставщика в Соединенных Штатах, Канадские Номера социального страхования, Идентификационные номера Израиля и Греческие номерами социального страхования (ΑΜΚΑ).

Символ тире ‘‘ игнорируется.

Пропущенные числа обозначьте с помощью символа ‘x‘.

habu.crack.snmp

Запускает snmp-get запросы к IP и сообщает, когда находит допустимую строку community (это простой взломщик SNMP).

Читайте также:  Значки для windows 10 круглые

Используется словарь, который поставляется с инструментом onesixtyone.

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

habu.crtsh

Загружает логи certificate transparency для домена и проверяет с помощью DNS запросов существование каждого домена.

Использует многопоточность для улучшения производительности DNS запросов.

habu.cve.2018.9995

Эксплуатирует уязвимость CVE-2018-9995, присутствующую на различных системах DVR.

Примечание: основывается на оригинальном коде от Ezequiel Fernandez (@capitan_alfa).

habu.cymon.ip

Простой клиент для API cymon.

Печатает JSON результат для запроса к cymon об IP.

habu.cymon.ip.timeline

Простой клиент cymon API.

Печатает результат в JSON запроса timeline к cymon об IP.

habu.data.extract.domain

Извлекает валидные домены из файла или stdin (стандартного ввода).

Опционально, проверяет каждый домен на наличие NS записей для доменов.

habu.data.extract.email

Извлекает email адреса из файла или stdin (стандартного ввода).

habu.data.extract.fqdn

Извлекает FQDN (Полностью квалифицированные доменные имена) из файла или стандартного ввода (stdin).

habu.data.extract.ipv4

Извлекает IPv4 адреса из файла или стандартного ввода (stdin).

habu.data.filter

Фильтрует данные на основе операторов.

habu.decrypt.gppref

Расшифровывает пароль локальных пользователей добавленных через настройки групповой политики Windows 2008.

Это значение является атрибутом cpassword, встроенным в файл Groups.xml, который хранится в общей папке Sysvol контроллера домена.

habu.dhcp.discover

Отправляет DHCP запрос и показывает, какие устройства ответили.

Помните: используя ‘-v‘ вы можете видеть все опции (такие как DNS сервера), включённые в ответы.

habu.dhcp.starvation

Отправляет множество DHCP запросов с поддельных MAC адресов для заполнения всех свободных для аренды IP адресов у DHCP сервера.

Когда все доступные сетевые адреса назначены, сервер DHCP перестаёт отправлять ответы.

В результате могут быть сделаны некоторые атаки, такие как подмена DHCP.

habu.dns.lookup.forward

Выполняет прямой запрос (по имени получает IP адрес) для заданного имени хоста.

habu.dns.lookup.reverse

habu.dns.lookup.reverse [ОПЦИИ] IP_АДРЕС

Выполняет обратное преобразование заданного IP адреса, то есть по IP адресу узнаёт имя хоста.

habu.eicar

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

EICAR (или EICAR-Test-File — от European Institute for Computer Antivirus Research) — стандартный файл, применяемый для проверки, работает ли антивирус. По сути вирусом не является; будучи запущенным как COM-файл DOS, всего лишь выводит текстовое сообщение и возвращает управление DOS. Программа работает в средах, поддерживающих выполнение 16-битного ПО для DOS, таких как MS-DOS, OS/2, Windows 9x и 32-битные Windows NT. Под 64-битными версиями Windows файл не запускается.

habu.expand

Получает некоторые данные об IP адресах.

habu.fernet

Шифрует строку с помощью шифра Fernet.

Использует AES-128-CBC с HMAC

Примечание: вы должны использовать ключ для шифрования с Fernet.

Используйте параметр -k или установите в конфигурации значение FERNET_KEY.

Ключ может быть сгенерирован командой habu.fernet.genkey.

habu.fernet.genkey

Генерирует новый ключ Fernet, опционально записывается

habu.forkbomb

Эта программа выводит исходный код для так называемых fork бомб на различных языках программирования.

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

В настоящее время поддерживаются: bash, batch, c, haskell, perl, php, python, ruby.

habu.fqdn.finder

Использует различные техники для получения действительных FQDN («полностью определённое имя домена») указанных доменов:

1. Проверяет журналы Certificate Transparency

2. Подключается к указанным портам, получает SSL сертификаты и получает из них FQDN

Новая версия также будет делать:

3. Брут-форсить DNS Brute на распространённые имена

4. В начале пробовать DNS Zone Transfer

Результаты проверяются и очищаются от FQDN, которые не преобразовываются с помощью DNS (то есть которые не имеют IP адреса).

habu.gateway.find

Пытается достичь внешний IP, используя каждый хост как роутер. Полезна при поиске роутеров в сети.

Вначале программа использует arping для выявления живых хостов и получения MAC адресов.

Позже создаёт сетевые пакеты и указывает каждый MAC адрес в качестве хоста назначения.

Наконец печатает устройства, которые корректно перенаправили пакеты.

habu.h1.scope

Парсит HackerOne scope specification в формат BurpSuite JSON.

habu.hasher

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

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

habu.host

Собирает информацию о хосте, где запущен habu.

habu.http.headers

Получает HTTP заголовки веб-сервера.

habu.http.options

Получает доступные HTTP методы веб-сервера.

habu.http.tech

Использует базу данных Wappalyzer apps.json для идентификации технологий, используемых в веб-приложении.

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

habu.interfaces

Показывает сетевые интерфейсы, которые доступны в системе.

Читайте также:  Hp laserjet p2035 linux

habu.ip

Получает публичный IP адрес подключения используя сервис https://api.ipify.org.

habu.ip2asn

Использует сервис Team Cymru ip2asn для получения информации о публичном IPv4/IPv6.

habu.ip.geolocation

Получает данные о расположении IP адреса от https://ipapi.co/.

habu.ip.internal

Получает локальные(ые) IP адреса сетевых интерфейсов в системе.

habu.isn

Создаёт TCP подключения и печатает номера начальных последовательностей TCP для каждого из них.

Обратите внимание: вы можете получить графическое представление (чтобы это работало нужен пакет matplotlib) для лучшего понимания случайности, для этого укажите опцию ‘-g‘.

habu.jshell

Контролирует веб-браузер через Websockets.

Привязывается к порту (по умолчанию 3333) и прослушивает HTTP подключения.

При подключении отправляет JavaScript код, который открывает WebSocket, который может использоваться для отправки команд к подключённому браузеру.

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

Используя habu.jshell вы можете полностью контролировать веб-браузер.

habu.karma

Используется сервис Karma: https://karma.securetia.com для проверки IP по различным спискам репутации и анализа угроз.

Примечание: вы можете использовать имя хоста или IP в качестве хоста для запроса.

habu.karma.bulk

Показывает, какие IP адреса в чёрном списке используя онлайн сервис Karma.

habu.land

Эта команда реализует атаку LAND, которая отправляет пакеты, в которых в качестве исходного адреса указан ненастоящий адрес, а такой же IP адрес как и конечный IP. Также использует одинаковые порты отправки и назначения.

Это очень старая атака и может использоваться для вызова Отказа в обслуживании на старых системах, таких как Windows NT 4.0. Больше информации здесь: https://en.wikipedia.org/wiki/LAND

Примечание: каждая точка (.) представляет собой отправленный пакет. С помощью опции ‘-c‘ вы можете указать, как много пакетов отправить. По умолчанию программа никогда не остановится. Также вы можете указать порт назначения используя опцию ‘-p

habu.nc

habu.nc [OPTIONS] ХОСТ ПОРТ

Некоего рода заменитель netcat/ncat.

Эта команда эмулирует поведение популярных инструментов netcat и ncat.

habu.nmap.excluded

Печатает случайный порт, который отсутствует в файле nmap-services, то есть который автоматически не сканируется программой nmap.

Полезно при настройке своих служб вроде SSH или RDP, если вы хотите, чтобы они работали на нестандартных портах, которые не будут автоматически просканированы nmap.

habu.nmap.open

Считывает файл отчёта nmap и печатает открытые порты.

Из сгенерированного отчёта nmap извлекает только открытые и выводит их в виде результирующего списка, в котором найденные открытые порты перечислены через запятую.

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

Поддерживаются и определяются 3 формата вывода (nmap, gnmap и xml).

habu.nmap.ports

Считывает отчёт nmap и выводит просканированные порты.

Из сгенерированного файла вывода nmap находит и выводит список всех протестированных портов при условии, что в настройках запуска команды nmap было указано сохранять в отчёт информацию как об открытых, так и о закрытых портах. Если в отчёте имеется информация только об открытых портах, то эта команда ведёт себя также как и habu.nmap.open, то есть покажет только открытые порты.

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

Поддерживаются и определяются 3 формата вывода (nmap, gnmap и xml).

habu.ping

Классический инструмент пингования, которые отправляет запросы ICMP echo.

habu.protoscan

Отправляет IP пакеты с различным содержимом полем протокола для определения, какие протоколы 4 уровня доступны.

Вывод показывает, какие протоколы не вызвали ICMP ответ ‘protocol-unreachable’.

habu.select

Выбирает указанные поля из вывода в формате JSON.

habu.server.ftp

Простой фальшивый FTP сервер, который служит цели только кражи учётных данных пользователя.

habu.shodan

Простой клиент shodan API.

Печатает результат запроса к shodan в формате JSON.

habu.shodan.query

Простой API клиент для запросов к shodan.

Печатает результаты в формате JSON запросов к shodan.

habu.synflood

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

Некоторые очень старые системы могут испытывать Отказ в обслуживании при использовании этого приёма.

Каждая точка — это отправленный пакет.

Вы можете использовать опции ‘-2‘ и ‘-3‘ для подделки адресов уровней 2/3 (канального и межсетевого, то есть MAC и IP адресов).

Если вы используете их, каждое подключение будет отправлено со случайного адреса второго уровня (MAC) и/или адреса уровня 3 (IP).

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

Примечание: если вы отправляете пакеты с вашего реального IP адреса и вы хотите держать ваши подключения полуоткрытыми, вам нужно настроить файервол не отправлять пакеты RST (сброса соединения).

Читайте также:  Как переключиться между двумя windows

habu.tcpflags

Отправляет TCP пакеты с различными флагами и говорит, какие ответы получены.

Может использовать для анализа как различные реализации TCP/IP стэка и конфигурации отвечают на пакеты с различными комбинациями флагов.

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

Также опцией ‘-r‘ вы можете определить, какие флаги вы хотите, чтобы присутствовали в показываемых пакетах ответа.

Следующей командой вы увидите все возможные комбинации, которые имеют установленный флаг FIN (F) и генерирует ответы, которые содержат флаг RST (R).

habu.tcpscan

Сканер портов TCP.

Выводит порты, которые сгенерировали ответ с флагом SYN или (или используется флаг -a), все порты, которые сгенерировали ответ.

Это очень простой сканер, если сравнивать с nmap.

habu.traceroute

Выявляет все сетевые узлы через которые проходит, пакет пока доберётся до пункта назначения. Принцип работы основывается на отправки пакетов с различным небольшим временем жизни и получении сообщений ttl-zero-during-transit

Примечание: в Интернете до одного и того же хоста может быть несколько действительных путей.

Примечание: лучше если использовать порт, который открыт на удалённой системе.

habu.usercheck

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

habu.version

habu.vhosts

Использует запросы к Bing для получения списка веб-сайтов, которые размещены на одном IP адресе.

habu.virustotal

Отправляет файл в VirusTotal https://www.virustotal.com/ и выводит отчёт о проверки файла на вирусы в формате JSON.

Примечание: перед отправкой файла, проверит, был ли файл проанализирован ранее (отправит sha256 этого файла), если отчёт существует, то настоящий файл отправляться не будет, а будет показан последний отчёт.

habu.web.report

Создаёт отчёт, который включает HTTP заголовки веб-сайта.

Опционально, использует Firefox или Chromium для создания скриншота веб-сайтов.

В качестве ожидаемого формата должен быть один URL на строку.

Создаёт директорию с именем ‘report’ в который записывает полученный контент.

habu.web.screenshot

Исполььзует Firefox или Chromium для создания скриншота веб-сайта.

habu.whois.domain

Простой клиент whois для проверки доменных имён.

habu.whois.ip

Простой whois клиент для проверки IP адресов (IPv4 и IPv6).

habu.xor

Шифрование с помощью XOR.

Помните: XOR не является сколько-нибудь надёжным шифрованием. Если вам нужно сильное шифрование, то используйте алгоритмы вроде AES. Для этого вы можете использовать модуль habu.fernet.

Руководство по Habu

Страница man отсутствует.

Примеры запуска Habu

Показать все устройства в локальной сети, их MAC адреса, IP адреса и производителя устройства:

Чтобы узнать MAC адрес устройства в локальной сети по известному IP адресу:

Для вычисления хешей файла yandex.nmap.txt по различным алгоритмам:

Для вычисления хешей строки СТРОКА по различным алгоритмам:

Получение всех заголовков ответа сайта https://yandex.ru:

Чтобы показать все интерфейсы в системе и их MAC и IP адреса:

Чтобы узнать свой публичный IP адрес:

Чтобы узнать свой публичный IPv6 адрес:

Для получения краткой информации об IP, об организации к которой он принадлежит и о диапазоне, в который входит указанный IP адрес:

Вывод информации о всех сетевых интерфейсах в системе и MAC адресах с IP адресами:

Создать 15 (-c 15) TCP подключений и начертить граф (-g) номеров начальных последовательностей TCP для каждого из них:

Сканирование TCP портов 22, 23, 80, 443 (-p 22,23,80,443) на хосте 45.77.113.133 с интервалом отправки пакетов в 1 секунду (-s 1):

Выполнить трассировку до хоста suip.biz:

Поиск имени пользователя miloserdov по социальным сетям и другим популярным веб-сайтам:

Выполнить проверку на вирусы файла test.cap:

Создать отчёт по сайту https://suip.biz, этот отчёт будет содержать заголовки ответа, а также скриншот страницы веб-сайта, сделанный с помощью веб-браузера Firefox:

Установка Habu

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

Установка в BlackArch

Программа предустановлена в BlackArch.

Установка в Windows

Для работы некоторых функций (например, для трассировки) нужна установленная программа Winpcap или Npcap. Подробности об этих программах и для чего они нужны, вы можете прочитать в начале статьи «Взлом Wi-Fi без пользователей в Windows (с использованием Wireshark и Npcap для захвата PMKID)».

Вы можете установить отдельно Npcap или более старый вариант Winpcap, но ещё одним вариантом является установка Wireshark в Windows, которая поставляется с Npcap.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты Habu

Устройства в локальной сети:

Рассчёт хеша файла по нескольким алгоритмам:

Заголовки ответа HTTP запроса:

Поиск имени пользователя по социальным сетям и популярным сайтам:

Ответ по веб-сайту, который включает заголовки ответа и скриншот сайта:

Источник

Оцените статью