
🐸 Определите что угодно. pyWhat позволяет легко идентифицировать email-адреса, IP-адреса и многое другое. Передайте ему файл .pcap или текст, и он расскажет вам, что это такое! 🧙♀️
➡️ Discord ⬅️
Самый простой способ идентифицировать что угодно
pip3 install pywhat && pywhat --help
Что это такое?
Представьте: вы натыкаетесь на загадочный текст 🧙♂️ 0x52908400098527886E0F7030069857D2E4169EE7 или dQw4w9WgXcQ и задаётесь вопросом, что это. Что вы делаете?
С what всё, что вам нужно сделать, — это спросить what "0x52908400098527886E0F7030069857D2E4169EE7", и what вам ответит!
Задача what — определить, чем является что-либо. Будь то файл или текст! Или даже hex-код файла! А как насчёт текста внутри файлов? Это у нас тоже есть! what работает рекурсивно, он определит всё в тексте и не только!
$ pip3 install pywhat
или
# устанавливает дополнительные зависимости, которые могут повысить скорость
$ pip3 install pywhat[optimize]
$ brew install pywhat
Или для наших поклонников MacPorts:
$ sudo port install pywhat

Вы натыкаетесь на новый образец вредоносного ПО под названием WantToCry. Вы вспоминаете Wannacry и то, что его остановили, потому что исследователь нашёл в коде kill-switch.
Когда регистрировался домен, жёстко прописанный в Wannacry, вирус останавливался.
Вы используете What, чтобы определить все домены в вредоносном ПО, и через API регистратора доменов регистрируете их все.

Допустим, у вас есть файл .pcap из сетевой атаки. What может его определить и быстро найти вам:
С what вы можете определить важные вещи в pcap за секунды, а не минуты.
Вы можете использовать PyWhat для поиска того, что принесёт вам деньги через bug bounty, например:
Запустите PyWhat с:
pywhat --include "Bug Bounty" TEXT
Чтобы сделать это.
Вот несколько примеров 👇
# Скачать все репозитории
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
# Будет выводить, когда что-то найдёт.
# Проходит по всем файлам в текущем каталоге.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
# Рекурсивно скачать все веб-страницы сайта
wget -r -np -k https://skerritt.blog
# Будет выводить, когда что-то найдёт.
# Проходит по всем файлам в текущем каталоге.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
PS: Мы поддерживаем не только фильтры bug bounty! Запустите pywhat --tags
Всякий раз, когда у вас есть файл и вы хотите найти в нём полезные структурированные данные, What — для вас.
Или если вы натыкаетесь на какой-то фрагмент текста и не знаете, что это, What вам скажет.
Открытие файлов Вы можете передать путь к файлу через what 'this/is/a/file/path'. What достаточно умён, чтобы понять, что это файл!
А как насчёт целого каталога? What справится и с этим! Он рекурсивно найдёт файлы и выведет всё, что вам нужно!
Несколько входных данных Вы можете передать сразу несколько файлов, каталогов или текстов, например what file1 file2 this/is/a/directory 'some text' или find . -name '*.log' -exec what {} +. What показывает файл каждого совпадения, совпадения в тексте находятся под text, а --json возвращает всё в одном JSON-объекте.
Unicode Файлы и текст, передаваемые в What, могут быть в UTF-8, UTF-16 или UTF-32 с меткой порядка байтов, как текстовые файлы «Unicode», которые сохраняет Windows. What также ищет строки UTF-16 в бинарных файлах (как strings -el), именно так программы Windows хранят большую часть своего текста. Символы, которые ваш терминал не может отобразить, выводятся как escape-последовательности, например \u20bf, вместо аварийного завершения.
Иногда вас интересует только то, что связано с AWS. Или с bug bounty, или с криптовалютами!
Вы можете фильтровать вывод с помощью what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog. Используйте what --help, чтобы получить больше информации.
По умолчанию what показывает только совпадения с редкостью 0.1 или выше, так как совпадения с меньшей редкостью часто являются ложными срабатываниями. Например, ID видео YouTube сам по себе, как dQw4w9WgXcQ, может быть любыми 11 случайными символами, поэтому what dQw4w9WgXcQ ничего не находит, но what --rarity 0: dQw4w9WgXcQ его показывает. Ссылки на YouTube, как https://youtu.be/dQw4w9WgXcQ или youtube.com/watch?v=dQw4w9WgXcQ&t=42s, показываются по умолчанию.
Чтобы увидеть все фильтры, запустите pywhat --tags! Вы также можете комбинировать их, например, чтобы увидеть все криптовалютные кошельки без Ripple, можно сделать:
pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
Имена регулярных выражений работают как теги, и многие регулярные выражения имеют более короткие альтернативные имена, например BTC Wallet для Bitcoin (₿) Wallet Address или ARN для Amazon Resource Name (ARN). Чтобы увидеть только кошельки Bitcoin и Ethereum:
pywhat --include "BTC Wallet,ETH Wallet" TEXT
Запустите pywhat --names, чтобы увидеть имя каждого регулярного выражения с его альтернативными именами.
Сортировка Вы можете сортировать вывод с помощью what -k rarity --reverse TEXT. Используйте what --help, чтобы получить больше информации.