Утилиты для сбора информации и исследования сети в Windows и Linux

Оглавление

1. Как установить Habu в Windows

2. Программа для показа сайтов на одном IP в Windows

3. Программа под Windows для поиска на сайтах по имени пользователя

4. Трассировка в Windows

5. Как просканировать порты в Windows

6. Проверка по всем антивирусом в Windows

7. WHOIS в Windows

8. Быстрый способ определения доменов веб-сайтов в диапазоне IP

9. Как проверить правильность номера банковской карты. Восстановление отсутствующих цифр в номере карты

10. Как найти субдомены сайта в Windows

11. Как узнать IP сайта в Windows

12. Как узнать домен по IP в Windows

13. Получение информации о хостах из Shodan

14. Поиск субдоменов в Windows

15. ARP сканирование и спуфинг в Windows

16. Кодирование и декодирование в Base64 в Windows

17. Извлечение доменов и IP адресов из большого массива информации

18. Проверка работы антивируса

19. Как найти устройства с перенаправлением трафика

20. Вычисление хешей в Windows

21. Как узнать свой IP и IPv6 в Windows

22. Сетевые интерфейсы в Windows

23. Как просмотреть заголовки HTTP ответа сайта в Windows

24. Шифрование Fernet в Windows

25. Операция XOR со строками в Windows

26. Другие команды Habu

27. Решение проблем


Как установить Habu в Windows

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

Всё это мы будем делать на примере Habu — набора разнообразных инструментов.

Программы Habu написаны на Python, поэтому могут работать как на Linux, так и на Windows. Причём особый интерес эти утилиты представляют именно для пользователей Windows, поскольку на этой операционной системе для них отсутствуют альтернативы. По этой причине я буду показывать работу этих программ именно в Windows.

Начать нужно с установки Python и PIP на Windows. Затем выполните команду:

pip install habu validators matplotlib tldextract prompt-toolkit

Как можно увидеть, было установлено много зависимостей.

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

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

Для обновления Habu и всех зависимостей, просто выполните команду установки ещё раз — если будут найдены новые версии пакетов, то они будут обновлены:

pip install habu validators matplotlib tldextract prompt-toolkit

Теперь приступим к знакомству с утилитами Habu — их много, более 70, полный их список, а также опции, вы найдёте на странице https://kali.tools/?p=5172. В этой статье я отобрал самые интересные из этих утилит.

Программа для показа сайтов на одном IP в Windows

На одном сервере могут быть сразу несколько веб-сайтов. Чтобы найти сайты на одном сервере, то есть имеющие один IP адрес, используйте команду вида:

habu.vhosts ДОМЕН

Например, чтобы найти сайты, которые работают на том же сервере, что и сайт suip.biz нужно выполнить команду:

habu.vhosts suip.biz

Для того, чтобы программа не использовала кэш, добавьте опцию -c:

habu.vhosts suip.biz -c

Как видно по скриншоту, программа определяет IP адрес введённого домена и затем с помощью поисковика Bing находит сайты с таким же IP адресом.

Можно вместо домена сразу указать IP адрес:

habu.vhosts 185.117.153.79

Программа под Windows для поиска на сайтах по имени пользователя

С помощью следующей утилиты можно найти профили пользователя в социальных сетях и на популярных сайтах. Для запуска поиска нужно использовать команду вида:

habu.usercheck ИМЯ_ПОЛЬЗОВАТЕЛЯ

Например, для поиска профилей с именем пользователя Mi-Al:

habu.usercheck Mi-Al

Поиск профилей с логином miloserdov:

habu.usercheck miloserdov

Трассировка в Windows

С помощью трассировки можно узнать IP адреса сетевых узлов, через которые проходит пакет до указанного хоста. Для этого применяется команда вида:

habu.traceroute ХОСТ_ИЛИ_IP

К примеру, меня интересует, какой сетевой маршрут от моего компьютера до сайта suip.biz:

habu.traceroute suip.biz

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

Как просканировать порты в Windows

Одной из лучших программ для сканирования портов является Nmap — она поддерживает несколько методов сканирования и в ней много дополнительных функций. Вы можете использовать её, но если вам нужно просто проверить, открыт ли определённый порт, то для этого воспользуйтесь утилитой habu.tcpscan.

Для сканирования портов запустите команду вида:

habu.tcpscan -p ПОРТ1,ПОРТ2 ДОМЕН_ИЛИ_IP

В качестве портов можно указать один порт, несколько портов через запятую или диапазон портов через дефис, например:

habu.tcpscan -p 80,8000-8100 suip.biz

Дополнительно могут пригодиться опции:

  -f TEXT     Флаги для использования (по умолчанию: S)
  -s TEXT     Время между зондами (по умолчанию: отправляет все пакеты вместе)
  -t ЧИСЛО  Таймаут для каждого зонда (по умолчанию: 2 секунды)
  -a          Показать все ответы (по умолчанию: только содержащие флаг SYN)
  -v          Подробный вывод

Проверка по всем антивирусом в Windows

С помощью сервиса Virustotal можно проверить один файл сразу множеством антивирусов. Вы можете делать такую проверку прямо в командной строке Windows, используя утилиту habu.virustotal.

Программа habu.virustotal работает следующим образом: для указанного файла она вычисляет хеш и, без отправки файла, делает запрос, имеется ли в Virustotal отчёт о проверке файла с такой контрольной суммой. Если имеется готовый отчёт, то программа загружает его. Если отчёта нет, то программа отправляет подозрительный файл на Virustotal и ожидает получение отчёта.

Для использования habu.virustotal нужно получить API ключ Virustotal — это бесплатный ключ, его достаточно получить один раз и после этого можно пользоваться без ограничений.

  1. Для получения API ключа Virustotal откройте страницу https://www.virustotal.com/gui/join-us и выполните регистрацию (включая верификацию email адреса).
  2. Войдите в ваш аккаунт и перейдите на страницу https://www.virustotal.com/gui/user/YourUsername/apikey
  3. Найдите раздел "API key".
  4. Сохраните ваш API ключ.

Для использования habu.virustotal, нужно сначала сохранить в конфигурацию полученный ключ, это делается командой вида:

habu.config.set VIRUSTOTAL_APIKEY ПОЛУЧЕННЫЙ_КЛЮЧ

Для проверки выполните:

habu.config.show

Вместо ключа там будут звёздочки — это нормально.

Теперь вы можете проверить любой файл в командной строке, запустив утилиту следующим образом:

habu.virustotal ПУТЬ_ДО_ФАЙЛА

К примеру для проверки файла Documents\test1.pptx с подробным выводом (-v):

habu.virustotal Documents\test1.pptx -v

Пример вывода:

{
    "md5": "11d9310ba2f59639c1b252b12466ce40",
    "permalink": "https://www.virustotal.com/file/2a95f1c2aa3a0629054bef973787d144156a38659cc2a1be56eb8f764b387af5/analysis/1575116510/",
    "positives": 0,
    "resource": "2a95f1c2aa3a0629054bef973787d144156a38659cc2a1be56eb8f764b387af5",
    "response_code": 1,
    "scan_date": "2019-11-30 12:21:50",
    "scan_id": "2a95f1c2aa3a0629054bef973787d144156a38659cc2a1be56eb8f764b387af5-1575116510",
    "scans": {
        "ALYac": {
            "detected": false,
            "result": null,
            "update": "20191130",
            "version": "1.1.1.5"
        },
        "AVG": {
            "detected": false,
            "result": null,
            "update": "20191130",
            "version": "18.4.3895.0"
        },
        "Ad-Aware": {
            "detected": false,
            "result": null,
            "update": "20191130",
            "version": "3.0.5.370"
        },
        "AegisLab": {
            "detected": false,
            "result": null,
            "update": "20191130",
            "version": "4.2"
        },
        "AhnLab-V3": {
            "detected": false,
            "result": null,
            "update": "20191130",
            "version": "3.16.5.25880"
        },
        "Alibaba": {
            "detected": false,
            "result": null,
            "update": "20190527",
            "version": "0.3.0.5"
        },
………………………………….
………………………………….
………………………………….
………………………………….
………………………………….

В полученной информации в первую очередь обратите внимание на строку:

    "positives": 0,

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

Далее идёт информация по результатам сканирования каждым антивирусом.

WHOIS в Windows

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

В Linux программой whois можно пользоваться прямо из командной строки. Но в Windows такая утилита отсутствует.

С помощью команд вида:

habu.whois.domain ДОМЕН
habu.whois.ip IP_АДРЕС

Вы можете получить записи WHOIS, соответственно, для домена и IP адреса.

Например:

habu.whois.domain kali.tools

Быстрый способ определения доменов веб-сайтов в диапазоне IP

Если на удалённом компьютере, к которому выполняется подключение по IP адресу, найден веб-сервер, то иногда непросто определить, какой именно домен у этого сайта?

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

Именно такой приём использует habu.cert.names. Эта программа может работать с диапазонами IP адресов и очень быстро для каждого веб-сервера получать доменное имя сайта, который на нём работает.

Для запуска сканирования используйте команду вида:

habu.cert.names СЕТЬ

Пример:

habu.cert.names 185.117.153.0/24

Как проверить правильность номера банковской карты. Восстановление отсутствующих цифр в номере карты

В номерах банковских картах, а также в некоторых других номерах используется контрольная цифра, рассчитанная с помощью Алгоритма Луна.

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

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

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

К примеру, номер карты 4276100014796930, это правильный номер или нет?

Для проверки нужно запустить habu.crack.luhn следующим образом:

habu.crack.luhn 4276100014796930

Если ничего не будет выведено, значит номер неправильный.

Проверим теперь номер карты 4276100013796930:

habu.crack.luhn 4276100013796930

Программа в ответ показала нам этот номер, значит такой номер карты является валидным.

Рассмотрим пример, когда неизвестны одна или несколько цифр в номере карты. В этом случае запишем вместо отсутствующих номеров символ x, например:

habu.crack.luhn 4276-1000-13xx-6930

В этом случае будут выведены все варианты возможных (правильных) номеров:

Как найти субдомены сайта в Windows

Субдомены — это домены третьего и последующих уровней. Например, для сайта suip.biz субдоменами являются www.suip.biz, test.suip.biz, en.suip.biz и т.д.

Есть разные способы поиска субдоменов — как брутфорс, так и с использованием различных сервисов, накопивших статистику. Одним из самых быстрых и эффективных способов является анализ логов Certificate Transparency. Поиск субдоменов выполняется быстро, но требуется некоторое время для их проверки (имеют ли они IP адреса).

Для поиска субдоменов запустите команду вида:

habu.crtsh ДОМЕН

Например, для поиска субдоменов сайта ebay.com:

habu.crtsh ebay.com

Несколько полезных опций, которые вы можете использовать с этой утилитой:

  -c      Отключить кэш
  -n      Отключить DNS проверку субдоменов
  -v      Подробный вывод

Как узнать IP сайта в Windows

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

Для определения IP и IPv6 любого сайта запустите команду вида:

habu.dns.lookup.forward ДОМЕН

Например, чтобы узнать IP адрес сайта w-e-b.site:

habu.dns.lookup.forward w-e-b.site

Как узнать домен по IP в Windows

Говоря про утилиту habu.cert.names я уже упомянул, что по IP не всегда легко определить работающие на сервере сайты без использования внешних сервисов. Утилита habu.cert.names использует хитрый приём, извлекая доменное имя из сертификата. С помощью утилиты habu.dns.lookup.reverse также можно быстро узнать домен по IP. Для этого запустите команду вида:

habu.dns.lookup.reverse IP_АДРЕС

Например:


habu.dns.lookup.reverse 157.245.118.66

Получение информации о хостах из Shodan

Сервис Shodan сканирует IP адреса, открытые порты и собирает банеры служб. С помощью этого сервиса можно узнать информацию о запущенных процессах на хостах, доступных из Интернета.

Как и в случае с habu.virustotal, для Shodan нужно предварительно получить API ключ. Достаточно зарегистрироваться — бесплатного ключа нам вполне хватит. Перейдите на сайт https://account.shodan.io/, выполните регистрацию и найдите свой API ключ.

Теперь нужно добавить API в конфигурацию Habu командой вида:

habu.config.set SHODAN_APIKEY КЛЮЧ

Для проверки выполните:

habu.config.show

Вместо ключа там будут звёздочки — это нормально.

Для запросов к Shodan имеется две утилиты — одна предназначена для получения информации о доменах и запускается следующим образом:

habu.shodan ДОМЕН

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

habu.shodan.query IP_АДРЕС

Пример запроса информации к Shodan о домене suip.biz:

habu.shodan suip.biz

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

habu.shodan.query 185.117.153.79

Поиск субдоменов в Windows

Опять возвращаемся к субдоменам и виртуальным хостам. Модуль habu.fqdn.finder использует сразу множество техники для сбора информации о периметре:

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

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

3. Пробует DNS Zone Transfer

Для работы этого модуля также требуется API ключ Shodan.

Вы можете запустить программу без опций, но тогда она будет долго работать ничего не показывая — может показаться, что она зависла. Для вывода текущих выполняемых задач используйте опцию -v. Другие опции:

-t ЧИСЛО                  Время для ожидания каждого подключения
-v                        Подробный вывод
--debug                   Вывод отладочных сообщений
--connect / --no-connect  Получить FQDN из SSL сертификатов
--brute / --no-brute      Запустить DNS брут-форс доменов
--links / --no-links      Извлечь FQDN из ссылок веб-сайта
--xfr / --no-xfr          Пробовать выполнить DNS zone transfer в отношении доменов
--ctlog / --no-ctlog      Пробовать получить FQDN из журналов Certificate 
                          Transparency
--json                    Напечатать вывод в формате JSON

Пример запуска исследования периметра сайта ebay.com с подробным выводом информации:

habu.fqdn.finder ebay.com -v

ARP сканирование и спуфинг в Windows

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

Если запустить ARP снифинг, то вы сможете увидеть, какие устройства присутствуют в локальной сети и какие у них IP и MAC адреса:

habu.arp.sniff

С помощью модуля habu.arp.poison можно выполнять атаку ARP спуфинг, которая является первым этапом атаки человек-посередине.

Кодирование и декодирование в Base64 в Windows

Кодировка Base64 позволяет представить любые данные — текст или бинарные файлы в виде последовательности печатных символов. То есть в результате бинарные данные, которые невозможно напечатать или включить в документ или email из-за наличия специальных символов, можно передать в виде обычной печатной строки.

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

С помощью утилиты habu.b64 вы сможете кодировать в строки и файлы в Base64, а также декодировать строки и файлы из Base64.

Для кодирования строк используйте конструкцию вида:

echo СТРОКА_ДЛЯ_КОДИРОВАНИЯ | habu.b64

Для кодирования файлов используйте команду вида:

habu.b64 ФАЙЛ_ДЛЯ_КОДИРОВАНИЯ

Например, для кодирования в Base64 файла test.txt:

habu.b64 test.txt

В результате я получил строку:

0J/QvtC30LTRgNCw0LLQu9GP0Y4gLSDQstGLINGA0LDRgdGI0LjRhNGA0L7QstCw0LvQuCDRgdC+0LTQtdGA0LbQuNC80L7QtSDRjdGC0L7Qs9C+INGE0LDQudC70LAh

Для декодирования нужно добавить к команде опцию -d, например:

echo 0J/QvtC30LTRgNCw0LLQu9GP0Y4gLSDQstGLINGA0LDRgdGI0LjRhNGA0L7QstCw0LvQuCDRgdC+0LTQtdGA0LbQuNC80L7QtSDRjdGC0L7Qs9C+INGE0LDQudC70LAh | habu.b64 -d > file.txt

Декодированные данные будут выведены прямо в терминал — они могут быть в кодировке, которую не поддерживает терминал, либо быть бинарными, поэтому я использую конструкцию > ИМЯ_ФАЙЛА для перенаправления вывода (> file.txt) в файл, то есть декодированные данные будут сохранены в файле.

Извлечение доменов и IP адресов из большого массива информации

Если вам нужно извлечь доменные имена или IP адреса из большого количества логов, документов, отчётов, исходного кода или любых текстовых файлов, то вам помогут утилиты

  • habu.data.extract.domain
  • habu.data.extract.ipv4

На примере habu.data.extract.domain посмотрим, как можно получить список доменов. Команда curl скачивает исходный код страницы. То есть в следующей команде вначале мы получаем исходный код веб-страницы https://mi-al.ru/waytopay/, а затем извлекает все найденные в коде домены:

curl -s https://mi-al.ru/waytopay/ | habu.data.extract.domain

Проверка работы антивируса

Модуль habu.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 файл не запускается.

Разумеется, EICAR не проверяет, насколько оперативно разработчики реагируют на вирусы и насколько качественно излечиваются заражённые файлы — для этого нужен «зоопарк» свежих вирусов. Его задача другая: продемонстрировать работоспособность антивирусной системы и указать, какие объекты проверяются антивирусом, а какие — нет. Например:

  • Есть подозрение, что компьютер заражён. Действует резидентный монитор, или вирус сумел его отключить?
  • Обычный почтовый червь наподобие VBS.LoveLetter должен для заражения пройти несколько стадий: прийти на почтовый сервер по протоколу SMTP; загрузиться на компьютер по протоколу POP3; записаться в базу почтового клиента; по команде пользователя распаковаться во временный файл и запуститься. На какой стадии он будет замечен?
  • Существует много способов «протащить» вредоносную программу мимо «глаз» антивируса: закодировать в Base64, вложить в OLE-объект Microsoft Word, в RAR, JPEG, сжать упаковщиком наподобие UPX. Что из этого антивирус распакует?
  • Кроме того, антивирусы бывают не только локальные, но и сетевые — проверяющие сетевой трафик; при ошибке конфигурирования они будут либо загружать сервер излишней работой, либо, наоборот, пропускать вредоносные файлы.
  • Просто чтобы увидеть реакцию антивируса: так, в старых версиях антивируса Касперского при обнаружении вируса был громкий свиной визг.

Для того, чтобы проверить, какова будет реакция антивируса, конечно, можно применить и «живой» вирус — но это «как поджигание урны для проверки пожарной сигнализации». Для этого и был предложен стандартизированный файл, не несущий вредоносной нагрузки.

Пример использования:

habu.eicar > virus.exe

Как найти устройства с перенаправлением трафика

Следующая команда на первый взгляд может показаться малополезной — в качестве аргумента они принимает диапазон сети и показывает IP адрес роутера. Например:

habu.gateway.find 192.168.1.0/24

Пример вывода:

192.168.1.1 14:9d:09:d0:04:7e Huawei Technologies Co.,Ltd

Но на самом деле всё немного сложнее: программа не просто ищет роутер, а проверяет все устройства в локальной сети на возможность перенаправления трафика.

К примеру, на другом компьютере, который работает на Linux, я включаю перенаправления трафика:

sudo sysctl -w net.ipv4.ip_forward=1

И вновь запускаю сканирование на компьютере с Windows:

habu.gateway.find 192.168.1.0/24

Теперь я получаю сразу два результата:

192.168.1.4 c0:b6:f9:da:af:3e Intel Corporate
192.168.1.1 14:9d:09:d0:04:7e Huawei Technologies Co.,Ltd

Включение перенаправления трафика может являться началом атаки человек-посередине. То есть при обнаружении с такой функцией другого устройства, помимо роутера, следует отнестись к нему внимательнее.

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

Вычисление хешей в Windows

С помощью habu.hasher можно найти контрольные суммы как строки, так и файла.

habu.hasher ФАЙЛ

Пример:

habu.hasher test.txt

Как узнать свой IP и IPv6 в Windows

Чтобы узнать свой внеший IP адрес в Windows больше не нужно заходить на сторонние сервисы, просто выполните команду:

habu.ip

Если вы хотите узнать свой внешний IPv6, то выполните следующую команду:

habu.ip -6

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

habu.ip.internal

Сетевые интерфейсы в Windows

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

habu.interfaces

Как просмотреть заголовки HTTP ответа сайта в Windows

С помощью утилиты habu.http.headers можно увидеть, какие заголовки использует целевой веб-сайт и какие кукиз устанавливает. Например:

habu.http.headers https://yandex.ru

Шифрование Fernet в Windows

Создайте свой ключ Fernet командой:

habu.fernet.genkey

Пример вывода:

oThsmgmxlGslnelGXMPPcFrpk4Jyf4rSGNdAO8mABrc=

Теперь сохраните его в конфигурации:

habu.config.set FERNET_KEY oThsmgmxlGslnelGXMPPcFrpk4Jyf4rSGNdAO8mABrc=

Для проверки выполните:

habu.config.show

Для шифрования используйте конструкцию:

echo "Хочу зашифровать эту строку" | habu.fernet

Пример вывода:

gAAAAABd44yL6_y2nT2BGkcmszkHBmN-uj3t9nqBBLzlNYL3QGBWLMXHGQx3dYmNZRensu0bG6OCsBeQX4Gxc1TuAAesQKFQn3zmHEwwccQ28UZV3XoqGvHNAJQqJZOYsrlFZNV-XTGN

Если вы не установили значение ключа в конфигурации, то укажите его с помощью опции -k:

echo "Хочу зашифровать эту строку" | habu.fernet -k oThsmgmxlGslnelGXMPPcFrpk4Jyf4rSGNdAO8mABrc=

Также можно шифровать файлы и устанавливать время жизни верификации, для этого используйте опции:

--ttl ЧИСЛО  Время жизни для верификации метки времени
-i ИМЯ_ФАЙЛА    Файл ввода (по умолчанию: stdin)
-o ИМЯ_ФАЙЛА    Файл вывода (по умолчанию: stdout)

Для расшифровки используйте опцию -d:

echo "gAAAAABd44yL6_y2nT2BGkcmszkHBmN-uj3t9nqBBLzlNYL3QGBWLMXHGQx3dYmNZRensu0bG6OCsBeQX4Gxc1TuAAesQKFQn3zmHEwwccQ28UZV3XoqGvHNAJQqJZOYsrlFZNV-XTGN" | habu.fernet -d

Хотя с расшифровкой нелатинских символов у меня возникла ошибка.

Операция XOR со строками в Windows

С помощью операции XOR двух строк можно зашифровать текст паролем. Данное шифрование является симметричным и слабым. Шифрование с помощью XOR можно использовать в некритических случаях как простейший способ скрыть исходную строку (например, от автоматических сканеров).

Если взять строки и выполнить между ними операцию XOR, то результате получиться бессмысленный набор символов. Затем если между этой бессмысленной строкой и любой из первоначальных строк вновь выполнить операцию XOR, то получиться вновь начальная строка.

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

В результате получается бессмысленный набор символов, которые можно расшифровать этим же паролем выполняя эту же операцию XOR. Подробности смотрите в статье «ASCII и шестнадцатеричное представление строк. Побитовые операции со строками».

Для шифрования используйте любой пароль, который нужно указать с опцией -k. Поскольку полученная строка весьма вероятно будет иметь непечатные символы, то её лучше не выводить в терминал, а сохранить в файл — это делается опцией -o или с помощью перенаправления:

Например, следующая команда зашифрует строку my secret string паролем mypassword и сохранит в файл crypted.bin.

echo "my secret string" | habu.xor -k mypassword > crypted.bin

Следующая команда зашифрует файл test.txt и сохранит его зашифрованную версию в test.bin:

habu.xor -k mypassword -i test.txt -o test.bin

Для расшифровки достаточно выполнить ту же самую операцию — указать исходный пароль, а в качестве ввода зашифрованный файл:

habu.xor -k mypassword -i test.bin

И:

habu.xor -k mypassword -i crypted.bin

На скриншоте выше вы видите, что в терминал выводятся крякозяблы — различные бинарные данные, которые интерпретируются как непечатные символы. Чуть раньше мы познакомились с утилитой habu.b64, которая позволяет представить бинарные данные в виде строки печатных символов — мы можем воспользоваться ей!

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

habu.xor -k mypassword -i test.txt | habu.b64

В результате я получил строку печатных символов:

veag36PEp9uj5L3JoNOjyKbgo+pNVFCxwaL8T6Pkvcmh4KL7p9ej4Lz5oN+jwaffot+9wVCw8qPJv8a02KjwscWjz7/OtNOpxUGi/qbtotq9yqDfU6Lzv8K01KnLscNS

Для её расшифровки достаточно выполнить обратное преобразование — из кодировки base64 в бинарные данные, а затем расшифровать с помощью того же пароля, которым она была зашифрована:

echo "veag36PEp9uj5L3JoNOjyKbgo+pNVFCxwaL8T6Pkvcmh4KL7p9ej4Lz5oN+jwaffot+9wVCw8qPJv8a02KjwscWjz7/OtNOpxUGi/qbtotq9yqDfU6Lzv8K01KnLscNS" | habu.b64 -d | habu.xor -k mypassword

Другие команды Habu

Мы рассмотрели только некоторые команды из пакета Habu. Полный список вы найдёте на странице https://kali.tools/?p=5172. Кроме уже рассмотренных, особенно хотелось бы выделить следующие:

  • habu.cymon.ip
  • habu.data.extract.domain
  • habu.data.extract.email
  • habu.data.extract.fqdn
  • habu.expand
  • habu.host
  • habu.nmap.open
  • habu.ping
  • habu.protoscan
  • habu.web.report
  • habu.web.screenshot

Некоторые из них довольно специфичные, некоторые не совсем корректно работают в Windows на момент написания — но в любом случае стоит к ним приглядеться при работе в Linux, либо в будущих обновлениях Windows они могут работать должным образом.

Решение проблем

[БУДЕТ ДОБАВЛЕНО ЧУТЬ ПОЗЖЕ]

 

 

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

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

Ваш e-mail не будет опубликован.