Я разрабатываю Хабу, чтобы научить (и учиться) некоторым концепциям о питоне и взломе сети.
Некоторые методы, реализованные в текущей версии:
Разработка этого программного обеспечения поддерживается Securetia SRL (https://www.securetia.com/)
Различные полезные сценарии использования подробно описаны в https://fportantier.github.io/hacking-with-habu/
У следующего плейлиста YouTube есть видео, которые показывают установку и использование:
https://www.youtube.com/watch?v=rgp9sellyqe&list=pl4hznx8vnfxqsvnw7x-bxon0dgxndfnvd
Если вы хотите обсудить некоторые функции Habu, возможные улучшения и т. Д., Вы можете использовать группу Habu Telegram: https://t.me/python_habu
Проблемы и запросы на привлечение должны быть отправлены в github Repo: https://github.com/fportantier/habu
Рекомендуемый способ установить:
$ python3 -m pip install -upgrade git+https: //github.com/fportantier/habu.git
Это должно работать на любой системе, в которой установлен Python 3.
Примечание. В некоторых системах (например, Microsoft Windows) вы должны настроить команду, чтобы указать на правильный путь исполняемого Python.
Теперь у нас есть команда для обновления непосредственно с GIT Repo и очистить любую старую команду, которая больше не существует или была переименована в переименование.
$ habu.upgrade
Все команды реализуют опцию '-help', который показывает помощь, аргументы, параметры и значения по умолчанию.
Почти все команды реализуют режим словеса с опцией «-v». Это может дать вам дополнительную информацию о том, что делает Хабу.
Использование: habu.arp.ping [опции] ip Отправьте пакеты ARP, чтобы проверить, жив ли он в локальной сети. Пример: # habu.arp.ping 192.168.0.1 Ether / ARP находится в A4: 08: F5: 19: 17: A4 говорит 192.168.0.1 / Padding Параметры: -i текстовый интерфейс для использования -В словесной выход -Покажите это сообщение и выход.
Использование: habu.arp.poison [варианты] жертва. Отправить ARP 'IS-At' Packets каждой жертве, отравляя свои таблицы ARP для Отправьте трафик в свою систему. Примечание. Если вы хотите полного рабочего человека в средней атаке, вам нужно Включить переадресацию пакета в вашей операционной системе, чтобы вести себя как маршрутизатор. Вы можете сделать это, используя: # echo 1>/proc/sys/net/ipv4/ip_forward Пример: # habu.arpoison 192.168.0.1 192.168.0.77 Ether / ARP находится в F4: 96: 34: E5: AE: 1B говорит 192.168.0.77 Ether / ARP находится в F4: 96: 34: E5: AE: 1B говорит 192.168.0.70 Ether / ARP находится в F4: 96: 34: E5: AE: 1B говорит 192.168.0.77 ... Параметры: -i текстовый интерфейс для использования -В словеса -Покажите это сообщение и выход.
Использование: habu.arp.sniff [Options] Слушайте пакеты ARP и покажите информацию для каждого устройства. Столбцы: Секунды от последнего пакета | Ip | Mac | Продавец Пример: 1 192.168.0.1 A4: 08: F5: 19: 17: A4 Sagemcom Широкополосная связь SAS 7 192.168.0.2 64: BC: 0C: 33: E5: 57 LG Электроника (мобильная связь) 2 192.168.0.5 00: C2: C6: 30: 2C: 58 Intel Corporate 6 192.168.0.7 54: F2: 01: DB: 35: 58 Samsung Electronics Co., Ltd Параметры: -i текстовый интерфейс для использования -Покажите это сообщение и выход.
Использование: habu.asydns [варианты]
Запрашивает доменное имя DNS на основе публичных и частных клавиш RSA с помощью
Протокол ASYDNS https://github.com/portantier/asydns
Пример:
$ habu.asydns -v
Генерация ключа RSA ...
Загрузка ключа RSA ...
{
"IP": "181.31.41.231",
«Имя»: «07286E90FD6E7E6BE61D6A7919967C7CF3BBBB23A36EDBC72B6D7C53.A.ASYDNS.ORG"
}
$ dig +short 07286e90fd6e7e6be61d6a7919967c7cf3bbbb23a36edbc72b6d7c53.a.asydns.org
181.31.41.231
Параметры:
-u Text API URL
-g заставит генерацию новой пары ключей
-r отозвать открытый ключ
-В словесной выход
-Покажите это сообщение и выход.
Использование: habu.b64 [Options] [f] Кодирует или декодирует данные в Base64, как и командная база64. $ echo классно | Habu.B64 Yxdlc29tzqo = $ echo yxdlc29tzqo = | habu.b64 -d потрясающий Параметры: -Д декодирует вместо кодирования -Покажите это сообщение и выход.
Использование: habu.cert.clone [Options] HostName Port KeyFile certFile Подключитесь к серверу SSL/TLS, получите сертификат и генерируйте Сертификат с одинаковыми параметрами и значениями поля. Примечание. Сгенерированный сертификат недействителен, но может использоваться для социальных инженерные атаки Пример: $ habu.certclone www.google.com 443 /tmp/key.pem /tmp/cert.pem Параметры: -Copy-extensions Копировать расширения сертификата (по умолчанию: false) -Экспирация Сгенерировать Сертификат с истекшим сроком действия (по умолчанию: false) -В словеса -Покажите это сообщение и выход.
Использование: habu.cert.crtsh [Options] Домен Загружает журналы прозрачности сертификата для домена и проверить с помощью DNS запросы, если существует каждый субдомен. Использует многопоточное чтение для повышения производительности запросов DNS. Пример: $ habu.crtsh securetia.com alt.securetia.com Другое.securetia.com www.securetia.com Параметры: -c отключить кеш -n Отключить проверку субдомена DNS -В словесной выход -JSON Печать вывода в формате JSON -Покажите это сообщение и выход.
Использование: habu.cert.names [Options] [Сеть] Подключается к каждому хосту/порту и показывает сводку имен сертификатов. Хосты, к которым подключены, взяты из двух возможных вариантов: 1. -I опция (по умолчанию: stdin). Файл, в котором каждая строка является хостом или сетью 2. Аргумент, который может быть хостом или сетью Если вы используете оба метода, хосты и сети объединены в один список. Пример: $ habu.cert.names 2.18.60.240/29 2.18.60.241 443 is-microsoft.com microsoft.com privacy.microsoft.com 2.18.60.242 443 aod-ssl.itunes.apple.com aod.itunes.apple.com aodp-ssl.itunes.apple.com 2.18.60.243 443 *.mlb.com mlb.com 2.18.60.244 443 [SSL: TLSV1_ALERT_INTERNAL_ERROR] TLSV1 ОБЕСПЕЧЕНИЕ ВНУТРЕННЯЯ Ошибка (_SSL.C: 1056) 2.18.60.245. 2.18.60.246 443 *.blog.sina.com.cn *.dmp.sina.cn aod.itunes.apple.com aodp-ssl.itunes.apple.com aod-ssl.itunes.apple.com *.blog.sina.com.cn CERT2-CN-Public-UBiservices.ubi.com cert2-cn-public-ws-biservices.ubi.com *.dmp.sina.cn is-microsoft.com microsoft.com *.mlb.com mlb.com Privacy.microsoft.com Параметры: -p Текстовые порты для подключения (список запятой) -i входной файл имени файла (по умолчанию: stdin) -t время поплачена, чтобы дождаться каждого соединения -В словесной выход -JSON Печать вывода в формате JSON -Покажите это сообщение и выход.
Использование: habu.config.del [опции] Ключ Удалить ключ из конфигурации. Примечание. По умолчанию ключ преобразуется в верхний регистр. Пример: $ habu.config.del dns_server Параметры: -Покажите это сообщение и выход.
Использование: habu.config.set [Options] Значение ключа Установите значение на ключ конфигурации. Примечание. По умолчанию ключ преобразуется в верхний регистр. Пример: $ habu.config.set dns_server 8.8.8.8 Параметры: -Покажите это сообщение и выход.
Использование: habu.config.show [Options]
Покажите текущую конфигурацию.
Примечание. По умолчанию параметры с «ключом» в их имени затеняются.
Пример:
$ habu.config.show
{
"DNS_SERVER": "8.8.8.8",
"Fernet_key": "*************
}
Параметры:
-k,-show-keys показывают также значения ключей
-Опция текста ... записать в конфигурацию (значение ключа)
-Покажите это сообщение и выход.
Использование: habu.crack.luhn [опции] Номер Имея известные значения для подтвержденного числа Luhn, получить возможное Неизвестные числа. Числа, которые используют алгоритм Luhn для проверки, являются кредитные карты, Imei, Национальный идентификатор поставщика в Соединенных Штатах, канадский социальный Номера страхования, идентификационные номера Израиля и греческие номера социального страхования (Αμκα). Персонажи «-» игнорируются. Определите недостающие числа с символом «X». Ссылка: https://en.wikipedia.org/wiki/luhn_algorithm Пример: $ habu.crack.luhn 4509-xx08-3160-6445 4509000831606445 4509180831606445 4509260831606445 4509340831606445 4509420831606445 4509590831606445 4509670831606445 4509750831606445 4509830831606445 4509910831606445 Параметры: -Покажите это сообщение и выход.
Использование: habu.crack.snmp [опции] IP Запускает запросы SNMP-GET по отношению к IP и сообщает вам, когда найдет действительный Строка сообщества (это простой взломщик SNMP). Используемый словарь распределен с инструментом OneSixtyone https://github.com/trailofbits/onesixtyone Пример: # habu.crack.snmp 179.125.234.210 Сообщество найдено: частное Сообщество найдено: публичное Примечание. Вы также можете получать сообщения, такие как <Universal > <Class 'scapy.asn1.asn1.asn1 _class _metaclass' >, я не знаю, как подавить их пока. Параметры: -p цельный порт для использования -c Текстовое сообщество (по умолчанию: список большинства используемых) -s остановка после первого матча -В словеса -Покажите это сообщение и выход.
Использование: habu.crypto.fernet [Параметры] Шифр папоротника. Использует AES-128-CBC с HMAC Примечание. Вы должны использовать ключ для шифра с папоротником. Используйте -K Paramenter или установите значение конфигурации Fernet_key. Ключи можно сгенерировать с помощью команды habu.crypto.fernet.genkey Ссылка: https://github.com/fernet/spec/blob/master/spec.md Пример: $ "Я хочу защитить эту строку" | habu.crypto.fernet GAAAAABBXNCGOCULLUVNRELYTBECWNEK9IQ5JBKQ9JAN3WIIBUZPQPUGV5OWVNC6XFIA ... $ echo gaaaaabbxncgoculluvnrelytbecwnek9iq5jbkq9jan3wiibuzpqpugv5owvnc6xfia ... | habu.crypto.fernet -d Я хочу защитить эту строку Параметры: -К текстовый ключ -Д дешифрует вместо шифрования -TTL Integer Time, чтобы жить для проверки временной метки -i входной файл имени файла (по умолчанию: stdin) -О выходной файл имени файла (по умолчанию: stdout) -Покажите это сообщение и выход.
Использование: habu.crypto.fernet.genkey [Options] Создайте новый ключ папоротника, при желании напишите его ~/.habu.json Пример: $ habu.crypto.fernet.genkey xgvwcivjwe9uq7nbvwo796ii4dsgd623qot9gwqnuhg = Параметры: -w Напишите этот ключ к ~/.habu.json -Покажите это сообщение и выход.
Использование: habu.crypto.gppref [Параметры] Пароль Обшифрует пароль местных пользователей, добавленных через групповую политику Windows 2008 Предпочтения. Это значение - атрибут «cpassword», встроенный в файл Groups.xml, Хранится в доле контроллера домена. Пример: # habu.crypto.gppref azvjmxh/j9kru5n0czx1ubplsujzfe8j7doltpd8tlk TestPassword Параметры: -Покажите это сообщение и выход.
Использование: habu.crypto.hasher [Options] [f]
Вычислите различные хэши для входных данных, которые могут быть файлом или потоком.
Пример:
$ habu.crypto.hasher readme.rst
MD5 992A833CD162047DAAA6A236B8AC15AE README.RST
RIPEMD160 0566F9141E65E57CAE93E0E3B70D1D8C2CCB0623 README.RST
SHA1 D7DBFD2C5E2828EB22F776550C826E4166526253 README.RST
SHA256 6BB22D927E1B6307CED616821A1877B6CC35E ... README.RST
SHA512 8743F3EB12A11CF3EDCC16E400FB14D599B4A ... README.RST
Whirlpool 96BCC083242E796992C0F3462F330811F9E8C ... readme.rst
Вы также можете указать, какой алгоритм использовать. В таком случае выход
Только значение рассчитанного хэша:
$ habu.hasher -a md5 readme.rst
992A833CD162047DAAA6A236B8AC15AE README.RST
Параметры:
-a [MD5 | SHA1 | SHA256 | SHA512 | RIPEMD160 | Whirlpool]
Только этот алгоритм (по умолчанию: все)
-Покажите это сообщение и выход.
Использование: habu.crypto.xor [опции] XOR CIPHER. Примечание: XOR не является «безопасным шифром». Если вам нужен сильный крипто Алгоритмы, такие как AES. Вы можете использовать Habu.fernet для этого. Пример: $ habu.xor -k mysecretkey -i /bin /ls> xorde $ habu.xor -k mysecretkey -i xored> uxord $ sha1sum /bin /ls uxored $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB /BIN /LS $ 6FCF930FCEE1395A1C95F87DD38413E02DEFF4BB UXORED Параметры: -К ключ шифрования текста -i входной файл имени файла (по умолчанию: stdin) -О выходной файл имени файла (по умолчанию: stdout) -Покажите это сообщение и выход.
Использование: habu.data.enrich [варианты]
Обогатить данные, добавляя интересную информацию.
Пример:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | Habu.data.enrich
[
{
"Активид": "8.8.8.8",
«Семья»: «iPaddress»,
"ASN": "15169",
"net": "8.8.8.0/24",
"CC": "Us",
"RIR": "Арин",
"Asname": "Google - Google LLC, США"
},
{
"Активид": "8.8.4.4",
«Семья»: «iPaddress»,
"ASN": "15169",
"net": "8.8.4.0/24",
"CC": "Us",
"RIR": "Арин",
"Asname": "Google - Google LLC, США"
}
]
Параметры:
-i входной файл имени файла (по умолчанию: stdin)
-В словесной выход
-Покажите это сообщение и выход.
Использование: habu.data.extract.domain [опции] [Infile] Извлеките достоверные домены из файла или stdin. При желании проверьте каждый домен на наличие регистров NS. Пример: $ cat /var/log/some.log | habu.data.extract.domain -c Google.com ibm.com redhat.com Параметры: -c проверьте, определены ли домен NS -серверы -В словесной выход -J json вывод -Покажите это сообщение и выход.
Использование: habu.data.extract.email [Options] [Infile] Извлеките адреса электронной почты из файла или stdin. Пример: $ cat /var/log/auth.log | habu.data.extract.email [email protected] [email protected] [email protected] Параметры: -В словесной выход -J json вывод -Покажите это сообщение и выход.
Использование: habu.data.extract.fqdn [опции] [Infile] Извлеките FQDN (полностью квалифицированные доменные имена) из файла или stdin. Пример: $ cat /var/log/some.log | habu.data.extract.fqdn www.google.com ibm.com fileserver.redhat.com Параметры: -c проверьте, разрешается ли имя хоста -В словесной выход -J json вывод -Покажите это сообщение и выход.
Использование: habu.data.extract.ipv4 [Options] [Infile] Извлеките адреса IPv4 из файла или stdin. Пример: $ cat /var/log/auth.log | habu.data.extract.ipv4 172.217.162.4 23.52.213.96 190.210.43.70 Параметры: -J, -JSON JSON -u, -Unique Удалить дубликаты -В словесной выход -Покажите это сообщение и выход.
Использование: habu.data.filter [Options] Field [gt | lt | eq | ne | ge | le | in | Содержит | define
ed | undefined | true | false] [значение]
Фильтрующие данные на основе операторов.
Ссылка на оператор:
GT: Больше, чем
LT: меньше, чем
Уравнение: равна
NE: не равен
GE: пригнетая или равная, чем
LE: меньше или равным, чем
В: Внутри списка значений (или внутри сети)
Содержит: содержит значение (или сетевой адрес)
определено: значение определено
неопределенное: значение не определено
Верно: значение верно
Неверно: значение ложное
Пример:
$ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich | habu.data.filter cc EQ US
[
{
"Item": "8.8.8.8",
"Семья": "ipv4_address",
"ASN": "15169",
"net": "8.8.8.0/24",
"CC": "Us",
"RIR": "Арин",
"Asname": "Google - Google LLC, США"
}
]
Документы: https://fportantier.github.io/hacking-with-habu/user/data-manipulation.html#data-enrichment
Параметры:
-i входной файл имени файла (по умолчанию: stdin)
-В словесной выход
-Не отрицайте сравнение
-Покажите это сообщение и выход.
Использование: habu.data.select [Options] Field Выберите поле из ввода JSON. Пример: $ cat /var/log/auth.log | habu.data.extract.ipv4 | habu.data.enrich | habu.data.filter cc EQ US | habu.data.select Asset 8.8.8.7 8.8.8.8 8.8.8.9 Параметры: -i входной файл имени файла (по умолчанию: stdin) -В словесной выход -JSON JSON Вывод -Покажите это сообщение и выход.
Использование: habu.dhcp.discover [Options] Отправьте запрос DHCP и покажите, какие устройства ответили. ПРИМЕЧАНИЕ. Использование '-V' вы можете увидеть все варианты (например, серверы DNS), включенные на ответах. # habu.dhcp_discover Ether / ip / udp 192.168.0.1:bootps> 192.168.0.5:bootpc / bootp / dhcp Параметры: -i текстовый интерфейс для использования -Т целое время (секунды), чтобы ждать ответов -В словесной выход -Покажите это сообщение и выход.
Использование: habu.dhcp.starvation [варианты] Отправить несколько запросов DHCP с кованых MAC -адресов, чтобы заполнить DHCP Серверная аренда. Когда будут назначены все доступные сетевые адреса, сервер DHCP Не отправляйте ответы. Таким образом, могут быть сделаны некоторые атаки, такие как подделка DHCP. # habu.dhcp_starvation Ether / ip / udp 192.168.0.1:bootps> 192.168.0.6:bootpc / bootp / dhcp Ether / ip / udp 192.168.0.1:bootps> 192.168.0.7:bootpc / bootp / dhcp Ether / ip / udp 192.168.0.1:bootps> 192.168.0.8:bootpc / bootp / dhcp Параметры: -i текстовый интерфейс для использования -Т целое время (секунды), чтобы ждать ответов -s целочисленное время (секунды) между запросами -В словесной выход -Покажите это сообщение и выход.
Использование: habu.dns.lookup.forward [options]
Выполните вперед поиск данного имени хоста.
Пример:
$ habu.dns.lookup.forward Google.com
{
"IPv4": "172.217.168.46",
"IPv6": "2A00: 1450: 400A: 802 :: 200E"
}
Параметры:
-В словесной выход
-Покажите это сообщение и выход.
Использование: habu.dns.lookup.reverse [параметры] ip_address
Выполните обратный поиск данного IP -адреса.
Пример:
$ $ habu.dns.lookup.reverse 8.8.8.8
{
"HostName": "Google-Public-DNS-A.Google.com"
}
Параметры:
-В словесной выход
-Покажите это сообщение и выход.
Использование: habu.eicar [варианты] Распечатайте испытательную строку EICAR, которая может использоваться для тестирования противоматурных двигателей. Более подробная информация: http://www.eicar.org/86-0-indended-use.html Пример: $ habu.eicar X5o! P%@ap [4 xzp54 (p^) 7cc) 7} $ eicar-standard-antivirus-test-file! $ H+h* Параметры: -Покажите это сообщение и выход.
Использование: habu.forkbomb [варианты] [bash | pactor | c | haskell | perl | php | python | ruby]
Ярлык, чтобы вспомнить, как использовать вилочные бомбы на разных языках.
В настоящее время поддерживается: Bash, Batch, C, Haskell, Perl, PHP, Python, Ruby.
Пример:
$ habu.forkbomb c
#include <unistd.h>
int main ()
{
пока (1)
{
вилка();
}
возврат 0;
}
Параметры:
-Покажите это сообщение и выход.
Использование: habu.fqdn.finder [опции] [домены] ...
Использует различные методы для получения допустимых FQDN для указанных доменов.
1. Попробуйте все FQDN с передачами зоны DNS
2. Проверьте на наличие журналов прозрачности сертификата
3. Подключитесь к указанным портам, получите сертификаты SSL и получите от них FQDN
4. Подключитесь к веб -сайтам и получайте FQDN на основе ссылок на веб -сайт
5. DNS Брутная сила для общих имен
Результаты очищаются для удаления FQDN, которые не разрешаются DNS
Пример:
$ habu.fqdn.finder educationit.com
Barometrosalarial.educaCionit.com
blog.educacionit.com
ci.educacionit.com
Educationit.com
intranet.educacionit.com
lecdev.educacionit.com
lecweb.educacionit.com
mail.educacionit.com
plantillas.educacionit.com
www.educacionit.com
Параметры:
-t время поплачена, чтобы дождаться каждого соединения
-В словесной выход
-Debug Debug Вывод
-Connect /---не-подключения GET от известных FQDNS OPER PORTS SSL STERTICATES
-Брут /--безловный пробег DNS DNS Brute Force против доменов
-LINKS /-НЕ-СВЯЗИ.
-xfr /-no-xfr Попробуйте сделать передачу зоны DNS против доменов
-ctlog /----ctlog Попробуйте получить FQDN от прозрачности сертификата
Журналы
-JSON Печать вывода в формате JSON
-Покажите это сообщение и выход.
Использование: habu.gateway.find [Options] Сеть Попробуйте добраться до внешнего IP -адреса, используя любой хост, имеет маршрутизатор. Полезно найти маршрутизаторы в вашей сети. Во -первых, использует Arping, чтобы обнаружить живые хосты и получить MAC -адреса. Позже создайте сетевой пакет и поместите каждый MAC -адрес в качестве пункта назначения. Наконец, распечатайте устройства, которые правильно пересылали пакеты. Пример: # habu.find.gateway 192.168.0.0/24 192.168.0.1 A4: 08: F5: 19: 17: A4 Sagemcom 192.168.0,7 B0: 98: 2B: 5d: 22: 70 Sagemcom 192.168.0,8 B0: 98: 2B: 5D: 1F: E8 SageMcom Параметры: -i текстовый интерфейс для использования -Хост текстового хоста для достижения (по умолчанию: 8.8.8.8) -TCP использовать TCP вместо ICMP -Dport Integer Range Port для TCP (по умолчанию: 80) -Timeout Integer Timeout за секунды (по умолчанию: 5) -В словесной выход -Покажите это сообщение и выход.
Использование: habu.host [варианты]
Соберите информацию о хосте, где работает Хабу.
Пример:
$ habu.host
{
"Ядро": [
"Linux",
"Демо123",
"5.0.6-200.fc29.x86_64",
"#1 SMP Ср. 3 апреля 15:09:51 UTC 2019",
"x86_64",
"x86_64"
],
"распределение": [
"Fedora",
"29",
"Двадцать девять"
],
"LIBC": [
"Glibc",
"2.2.5"
],
"Arch": "x86_64",
"Python_version": "3.7.3",
"OS_NAME": "Linux",
"CPU": "x86_64",
"static_hostname": "demo123",
"fqdn": "demo123.lab.sierra"
}
Параметры:
-В словесной выход.
-Покажите это сообщение и выход.
Использование: habu.http.headers [Options] Сервер
Получите заголовки HTTP веб -сервера.
Пример:
$ habu.http.headers http://duckduckgo.com
{
"Сервер": "nginx",
«Дата»: «Солнце, 14 апреля 2019 г. 00:00:55 по Гринвичу»,
"Контент-тип": "Текст/html",
"Длина контента": "178",
"Connection": "Keep-Alive",
«Местоположение»: «https://duckduckgo.com/»,
"X-Frame-Options": "Самооригин",
«Контент-безопасность-политика»: «по умолчанию-SRC https: Blob: Data:« Небезопасно «небезопасно» »,
«X-XSS-защита»: «1; mode = block»,
"X-Content-Type-Options": "Носниф",
"Переправочная политика": "Происхождение",
«Ожидается-CT»: "max-age = 0",
«Истекает»: «Пн, 13 апреля 2020 г. 00:00:55 по Гринвичу»,
«Контроль кэша»: «Макс-возраст = 31536000»
}
Параметры:
-В словесной выход
-Покажите это сообщение и выход.
Использование: habu.http.options [Options] Сервер
Получите доступные HTTP -методы веб -сервера.
Пример:
$ habu.http.options -v http://google.com
{
"Разрешено": "Get, Head"
}
Параметры:
-В словесной выход
-Покажите это сообщение и выход.
Использование: habu.http.tech [Options] URL Использует базу данных Wappalyzer Apps.json для определения технологий, используемых в Интернете приложение. Ссылка: https://github.com/aliasio/wappalyzer Примечание. Этот инструмент отправляет только один запрос. Итак, это стелс, а не подозрительный. $ habu.web.tech https://woocomerce.com Google Tag Manager неизвестен MySQL неизвестен Nginx неизвестно PHP неизвестен Прототип неизвестен Требуется неизвестно Woocommerce 3.8.0 WordPress 5.2.4 Yoast seo 10.0.1 Параметры: -Кэш /--нет -формат [txt | csv | json] выходной формат -В словесной выход -Покажите это сообщение и выход.
Использование: habu.icmp.ping [опции] ip Классический инструмент Ping, который отправляет ECHO ECHO ICMP. # habu.icmp.ping 8.8.8.8 IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Reply 0 / Padding IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Reply 0 / Padding IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Reply 0 / Padding IP / ICMP 8.8.8.8> 192.168.0.5 Echo-Reply 0 / Padding Параметры: -i текст интерфейс для использования (по умолчанию: Auto) -c целое число, сколько пакетов отправляет (по умолчанию: Infinit) -t целочисленный тайм -аут за секунды (по умолчанию: 2) -В целочисленное количество секунд между пакетами (по умолчанию: 1) -В словеса -Покажите это сообщение и выход.
Использование: habu.ip.asn [опции] ip
Используйте службу команды Cymru IP2ASN, чтобы получить информацию о публичном IPv4/IPv6.
Ссылка: https://www.team-cymru.com/ip-asn-mapping.html
$ habu.ip.asn 8.8.8.8
{
"ASN": "15169",
"net": "8.8.8.0/24",
"CC": "Us",
"RIR": "Арин",
"Asname": "Google - Google LLC, США",
«Страна»: «Соединенные Штаты»
}
Параметры:
-Покажите это сообщение и выход.
Использование: habu.ip.geolocation [Параметры] ip_address
Получите геолокацию IP -Address от https://ipapi.co/.
Пример:
$ habu.ip.geolocation 8.8.8.8
{
"IP": "8.8.8.8",
"Город": "Маунтин -Вью",
...
"ASN": "AS15169",
"org": "Google LLC"
}
Параметры:
-В словесной выход.
-Покажите это сообщение и выход.
Использование: habu.ip.internal [варианты]
Получите локальный IP -адрес (ES) локальных интерфейсов.
Пример:
$ habu.ip.internal
{
"lo": {
"IPv4": [
{
"Addr": "127.0.0.1",
"Сеть": "255.0.0.0",
"Peer": "127.0.0.1"
}
],
"link_layer": [
{
"Addr": "00: 00: 00: 00: 00: 00",
"Peer": "00: 00: 00: 00: 00: 00"
}
],
"IPv6": [
{
"addr": ":: 1",
«Сеть»: «FFFF: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF/128»
}
]
},
...
Параметры:
-В словесной выход.
-Покажите это сообщение и выход.
Использование: habu.ip.public [опции] Получить публичный IP -адрес соединения с https://api.ipify.org. Пример: $ habu.ip.public 80.219.53.185 Параметры: -4, -IPV4 Распечатайте ваш общедоступный адрес IPv4 (по умолчанию) -6, -ipv6 Распечатайте ваш общедоступный адрес IPv6 -j, -Json печатать вывод в формате JSON -Покажите это сообщение и выход.
Использование: Habu.karma [Options] Host
Используйте сервис кармы https://karma.securetia.com, чтобы проверить IP против
Различные списки интеллекта / репутации.
$ habu.karma www.google.com
www.google.com -> 64.233.190.99
[
"hphosts_fsa",
"hphosts_psh",
"hphosts_emd"
]
Примечание. Вы можете использовать имя хоста или IP хоста для запроса.
Параметры:
-Покажите это сообщение и выход.
Использование: habu.karma.bulk [варианты] [Infile] Покажите, какие IP -адреса находятся внутри черных списков, используя карму онлайн услуга. Пример: $ cat /var/log/auth.log | habu.extract.ipv4 | habu.karma.bulk 172.217.162.4 spamhaus_drop, alienvault_spamming 23.52.213.96 Clean 190.210.43.70 Alienvault_malicious Параметры: -JSON JSON Вывод -Bad Show только записи в черных списках -В словесной выход -Покажите это сообщение и выход.
Использование: habu.land [Options] IP Эта команда реализует земельную атаку, которая отправляет пакеты, которые подходят IP -адрес источника, чтобы быть тем же, что и IP -адрес. Также использует Тот же источник и порт назначения. Атака очень старая и может быть использована для отказа в службе на старом Системы, такие как Windows NT 4.0. Более подробная информация здесь: https://en.wikipedia.org/wiki/land # sudo habu.land 172.16.0.10 ............ Примечание: каждая точка (.) - отправленный пакет. Вы можете указать, сколько пакетов отправляют с опцией '-c'. По умолчанию никогда не останавливается. Кроме того, вы можете указать Порт назначения, с опцией '-p'. Параметры: -c целое число, сколько пакетов отправляет (по умолчанию: Infinit) -p целочисленный порт для использования (по умолчанию: 135) -i текстовый интерфейс для использования -В словеса -Покажите это сообщение и выход.
Использование: habu.nc [опции] хост -порт Некоторая замена NetCat/NCAT. Исполнение эмулирует ощущение этих популярных инструментов. Пример: $ habu.nc -crlf www.portantier.com 80 Подключено к 45,77.113.133 80 Голова / http / 1.0 Http/1,0 301 перенесено навсегда Дата: Чт, 26 июля 2018 г. 21:10:51 Сервер: OpenBSD httpd Соединение: Закрыть Контент-тип: текст/HTML Длина контента: 443 Местоположение: https://www.portantier.com/ Параметры: -семья [4 | 6 | 46] Семейство IP-адреса -SSL включить SSL -CRLF Используйте CRLF для последовательности EOL -Потокол [TCP | UDP] протокол уровня 4 для использования -Источник источника текста-источника IP для использования -Порт источника исходного порта в области целочисленного диапазона -Покажите это сообщение и выход.
Использование: habu.net.contest [Параметры] Попробуйте подключиться к различным службам и проверить, смогут ли они достичь их, используя ваш подключение к Интернету. Пример: $ habu.net.contest DNS: Верно FTP: Верно SSH: Верно Http: true Https: true Параметры: -Покажите это сообщение и выход.
Использование: habu.net.interfaces [Параметры] Покажите сетевые интерфейсы, доступные в системе. Пример: # habu.interfaces # Имя Mac inet inet6 0 ETH0 80: FA: 5B: 4B: F9: 18 1 lo 00: 00: 00: 00: 00: 00 127.0.0.1 :: 1 2 WLAN0 F4: 96: 34: E5: AE: 1B 192.168.0.6 Нет 3 vboxnet0 0a: 00: 27: 00: 00: 00 192.168.56.1 Fe80 :: 800: 27ff: fe00: 0 Параметры: -J вывод в формате JSON -Покажите это сообщение и выход.
Использование: habu.nmap.excluded [Options] Отпечатает случайный порт, которого нет в файле NMAP-Services, так что не Оканируется автоматически NMAP. Полезно для таких услуг, как SSH или RDP, которые непрерывно сканируются на их порты по умолчанию. Пример: # habu.nmap.excluded 58567 Параметры: -l целочисленного диапазона самого низкого порта для рассмотрения -h целочисленный диапазон самый высокий порт для рассмотрения -Покажите это сообщение и выход.
Использование: habu.nmap.open [Options] ScanFile Прочитайте отчет NMAP и распечатайте открытые порты. Распечатайте порты, которые были получены выход. Вы можете использовать его для быстрого повторного использования списка портов для ввода других инструменты. Поддерживает и обнаруживает 3 выходных формата (NMAP, GNMAP и XML) Пример: # habu.nmap.open cartantier.nmap 22,80,443 Параметры: -p [tcp | udp | sctp] Протокол (default = tcp) -Покажите это сообщение и выход.
Использование: habu.nmap.ports [Options] ScanFile Прочитайте отчет NMAP и распечатайте протестированные порты. Распечатайте порты, которые были протестированы, считывая сгенерированный вывод NMAP. Вы можете использовать его для быстрого повторного использования списка портов для ввода других инструменты. Поддерживает и обнаруживает 3 выходных формата (NMAP, GNMAP и XML) Пример: # habu.nmap.ports cartantier.nmap 21,22,23,80,443 Параметры: -p [tcp | udp | sctp] Протокол (default = tcp) -Покажите это сообщение и выход.
Использование: habu.protoscan [Options] IP Отправить IP -пакеты с различным содержанием поля протокола, чтобы угадать, какой слой 4 протокола доступны. Выход показывает, какие протоколы не генерируют «непоколебимый протокол» Ответ ICMP. Пример: $ sudo python cmd_ipscan.py 45.77.113.133 1 ICMP 2 IGMP 4 Ipencap 6 TCP 17 UDP 41 IPv6 47 Gre 50 особенно 51 AH 58 IPv6_icmp 97 Эфип 112 VRRP 115 L2TP 132 SCTP 137 MPLS_IN_IP Параметры: -i текстовый интерфейс для использования -t целовой тайм -аут для каждого зонда (по умолчанию: 2 секунды) -Все протоколы расследуют (по умолчанию: определено в /и т. Д. /Протоколы) -В словесной выход -Покажите это сообщение и выход.
Использование: habu.server.ftp [опции]
Основной фальшивый FTP -сервер, который единственная цель украсть учетные данные пользователя.
Поддерживает SSL/TLS.
Пример:
# sudo habu.server.ftp ---SSL ---SSL-cert /tmp/cert.pem ---Ssl-key /tmp/key.pem
Слушание в порту 21
Принятое соединение от ('192.168.0.27', 56832)
Условия, собранные с 192.168.0.27! Фабиан 123456
Параметры:
-К -текстовый адрес для привязки (по умолчанию: все)
-p целое число, какой порт использовать (по умолчанию: 21)
-SSL включить SSL/TLS (по умолчанию: false)
-SSL-Cert Text SSL/TLS CERT-файл
-SSL-ключ текст SSL/TLS-файл ключа
-В словеса
-Покажите это сообщение и выход.
Использование: habu.shodan [Options] IP Простой клиент Shodan API. Отпечатает результат json shodan Query. Пример: $ habu.shodan 216.58.222.36 ASN AS15169 ISP Google HostNames EZE04S06-in-F4.1E100.net, GRU09S17-in-F36.1e100.net Country_code нас Region_code Ca Городская гора org Google OPEN_PORTS TCP/443, TCP/80 Параметры: -Кэш /--нет -В словесной выход -формат [txt | csv | json | nmap] выходной формат -Покажите это сообщение и выход.
Использование: habu.shodan.query [Options] Запрос
Простой клиент Shodan API.
Отпечатает результат json shodan Query.
Пример:
$ habu.shodan 8.8.8.8
{
"Имена хостов": [
"Google-public-dns-a.google.com"
],
"Country_code": "Us",
"org": "Google",
"данные": [
{
"ISP": "Google",
"Транспорт": "UDP",
«Данные»: «Рекурсия: включено»,
"ASN": "AS15169",
"Порт": 53,
"Имена хостов": [
"Google-public-dns-a.google.com"
]
}
],
"Порты": [
53
]
}
Параметры:
-c отключить кеш
-В словесной выход
-О выходной файл имени файла (по умолчанию: stdout)
-Покажите это сообщение и выход.
Использование: habu.tcp.flags [Параметры] IP Отправляйте пакеты TCP с разными флагами и расскажите, какие ответы получают. Его можно использовать для анализа, как различные реализации стека TCP/IP и конфигурации отвечают на пакет с различными комбинациями флагов. Пример: # habu.tcp_flags www.portantier.com S -> SA Fs -> sa Fa -> r SA -> r По умолчанию команда отправляет все возможные комбинации флагов. Ты можешь укажите, какие флаги должны быть когда -либо присутствовать (уменьшение количества Возможные комбинации), с опцией '-f'. Кроме того, вы можете указать, какие флаги вы хотите присутствовать на ответе пакеты, чтобы показать, с опцией '-r'. С следующей командой вы видите все возможные комбинации, в которых есть FIN (F) Flag Set и генерирует ответ, который содержит флаг RST (R). Пример: # habu.tcp_flags -f f -r r www.portantier.com FPA -> r FSPA -> r Fau -> r Параметры: -p целочисленный порт для использования (по умолчанию: 80) -f Текстовые флаги, которые должны быть отправлены когда -либо (по умолчанию: пух со всеми флагами) -r текстовый фильтр по флагам ответов (по умолчанию: покажите все ответы) -В словеса -Первая остановка на первом ответе, который соответствует -Покажите это сообщение и выход.
Использование: habu.tcp.isn [опции] ip Создайте соединения TCP и распечатайте номера начальных последовательностей TCP для каждого один. $ sudo habu.tcp.isn -c 5 www.portantier.com 1962287220 1800895007 589617930 3393793979 469428558 Примечание: вы можете получить графическое представление (нуждается в Matplotlib Пакет) Использование опции '-g', чтобы лучше понять случайность. Параметры: -p целочисленный порт для использования (по умолчанию: 80) -c целое число, сколько пакетов для отправки/получения (по умолчанию: 5) -i текстовый интерфейс для использования -g График (требует Matplotlib) -В словесной выход -Покажите это сообщение и выход.
Использование: habu.tcp.scan [опции] ip Сканер порта TCP. Распечатать порты, которые сгенерировали ответ с флагом SYN или (если показано Используйте -a) Все порты, которые генерировали ответ. Это действительно просто по сравнению с NMAP, но кто сравнивает? Пример: # habu.tcp.scan -p 22,23,80,443 -S 1 45,77.113.133 22 S -> SA 80 с -> sa 443 с -> sa Параметры: -p Текстовые порты для использования (по умолчанию: 80) Пример: 20-23,80,135 -i текстовый интерфейс для использования -f текстовые флаги для использования (по умолчанию: S) -s TEXT Time between probes (default: send all together) -t INTEGER Timeout for each probe (default: 2 seconds) -a Show all responses (default: Only containing SYN flag) -v Verbose output --help Show this message and exit.
Usage: habu.tcp.synflood [OPTIONS] IP Launch a lot of TCP connections and keeps them opened. Some very old systems can suffer a Denial of Service with this. Reference: https://en.wikipedia.org/wiki/SYN_flood Пример: # sudo habu.tcp.synflood 172.16.0.10 ................. Each dot is a packet sent. You can use the options '-2' and '-3' to forge the layer 2/3 addresses. If you use them, each connection will be sent from a random layer2 (MAC) and/or layer3 (IP) address. You can choose the number of connections to create with the option '-c'. The default is never stop creating connections. Note: If you send the packets from your real IP address and you want to keep the connections half-open, you need to setup for firewall to don't send the RST packets. Параметры: -i TEXT Wich interface to use (default: auto) -c INTEGER How many packets send (default: infinit) -p INTEGER Port to use (default: 135) -2 Forge layer2/MAC address (default: No) -3 Forge layer3/IP address (default: No) -v Verbose --help Show this message and exit.
Usage: habu.traceroute [OPTIONS] IP TCP traceroute. Identify the path to a destination getting the ttl-zero-during-transit messages. Note: On the internet, you can have various valid paths to a device. Пример: # habu.traceroute 45.77.113.133 IP / ICMP 192.168.0.1 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror IP / ICMP 10.242.4.197 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror / Padding IP / ICMP 200.32.127.98 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror / Padding Полем IP / ICMP 4.16.180.190 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror Полем IP / TCP 45.77.113.133:http > 192.168.0.5:ftp_data SA / Padding Note: It's better if you use a port that is open on the remote system. Параметры: -p INTEGER Port to use (default: 80) -i TEXT Interface to use --help Show this message and exit.
Usage: habu.upgrade [OPTIONS] Upgrade habu (from https://github.com/fportantier/habu) Параметры: --help Show this message and exit.
Usage: habu.usercheck [OPTIONS] USERNAME
Check if the given username exists on various social networks and other
popular sites.
$ habu.usercheck portantier
{
"aboutme": "https://about.me/portantier",
"disqus": "https://disqus.com/by/portantier/",
"github": "https://github.com/portantier/",
"ifttt": "https://ifttt.com/p/portantier",
"lastfm": "https://www.last.fm/user/portantier",
"medium": "https://medium.com/@portantier",
"pastebin": "https://pastebin.com/u/portantier",
"pinterest": "https://in.pinterest.com/portantier/",
"twitter": "https://twitter.com/portantier",
"vimeo": "https://vimeo.com/portantier"
}
Параметры:
-c Disable cache
-v Verbose output
-w Open each valid url in a webbrowser
--help Show this message and exit.
Usage: habu.version [OPTIONS] Параметры: --help Show this message and exit.
Usage: habu.vhosts [OPTIONS] HOST
Use Bing to query the websites hosted on the same IP address.
$ habu.vhosts www.telefonica.com
www.telefonica.com -> 212.170.36.79
[
'www.telefonica.es',
'universitas.telefonica.com',
'www.telefonica.com',
]
Параметры:
-c Disable cache
-p INTEGER Pages count (Default: 10)
-f INTEGER First result to get (Default: 1)
--help Show this message and exit.
Usage: habu.virustotal [OPTIONS] INPUT
Send a file to VirusTotal https://www.virustotal.com/ and print the report
in JSON format.
Note: Before send a file, will check if the file has been analyzed before
(sending the sha256 of the file), if a report exists, no submission will
be made, and you will see the last report.
$ habu.virustotal meterpreter.exe
Verifying if hash already submitted: f4826b219aed3ffdaa23db26cfae611979bf215984fc71a1c12f6397900cb70d
Sending file for analysis
Waiting/retrieving the report...
{
"md5": "0ddb015b5328eb4d0cc2b87c39c49686",
"permalink": "https://www.virustotal.com/file/c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23/analysis/1526850717/",
"positives": 49,
"resource": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23",
"response_code": 1,
"scan_date": "2018-05-20 21:11:57",
"scan_id": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23-1526850717",
"scans": {
"ALYac": {
"detected": true,
"result": "Trojan.CryptZ.Gen",
"update": "20180520",
"version": "1.1.1.5"
},
... The other scanners ...
},
"sha1": "5fa33cab1729480dd023b08f7b91a945c16d0a9e",
"sha256": "c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23",
"total": 67,
"verbose_msg": "Scan finished, information embedded"
}
Параметры:
-v Verbose output
--help Show this message and exit.
Usage: habu.web.report [OPTIONS] [INPUT_FILE] Makes a report that includes HTTP headers of websites. Optionally, uses Firefox or Chromium to take a screenshot of the websites. The expected format is one url per line. Creates a directory called 'report' with the content inside. $ echo https://www.portantier.com | habu.web.report Параметры: -v Verbose output -s Take a screenshot for each website -b [firefox|chromium-browser] Browser to use for screenshot. --help Show this message and exit.
Usage: habu.web.screenshot [OPTIONS] URL Uses Firefox or Chromium to take a screenshot of the website. $ habu.web.screenshot https://www.portantier.com Параметры: -b [firefox|chromium-browser] Browser to use for screenshot. -o TEXT Output file. (default: screenshot.png) --help Show this message and exit.
Usage: habu.whois.domain [OPTIONS] DOMAIN Simple whois client to check domain names. Пример: $ habu.whois.domain google.com registrar MarkMonitor, Inc. whois_server whois.markmonitor.com creation_date 1997-09-15 04:00:00 expiration_date 2028-09-14 04:00:00 name_servers ns1.google.com, ns2.google.com, ns3.google.com, ns4.google.com emails [email protected], [email protected] dnssec unsigned org Google LLC country US state CA Параметры: --json Print the output in JSON format --csv Print the output in CSV format --help Show this message and exit.
Usage: habu.whois.ip [OPTIONS] IP Simple whois client to check IP addresses (IPv4 and IPv6). Пример: $ habu.whois.ip 8.8.4.4 asn 15169 asn_registry arin asn_cidr 8.8.4.0/24 asn_country_code US asn_description GOOGLE - Google LLC, US asn_date 1992-12-01 Параметры: --json Print the output in JSON format --csv Print the output in CSV format --help Show this message and exit.