
Vthunting — это крошечный скрипт, используемый для создания отчёта о результатах сканирования Virus Total и отправки его по email, slack или telegram.
VThunting теперь представлен на VirusTotal.
Virus Total Hunting - это крошечный инструмент на основе VT API версии 3 для выполнения ежедневных, еженедельных или ежемесячных отчетов об охоте на вредоносное ПО. Отчет может быть отправлен по электронной почте, в канал Slack или Telegram. Инструмент также можно использовать в командной строке для получения отчета в любое время. Количество результатов по умолчанию - 10, но его можно увеличить или уменьшить в разделе конфигурации. Этот инструмент работает только с Virus Total Intelligence API.
Ниже приведен пример сгенерированного отчета.
__ _______ _ _ _ _
\ \ / /_ _| | | | |_ _ _ __ | |_(_)_ __ __ _
\ \ / / | | | |_| | | | | '_ \| __| | '_ \ / _` |
\ V / | | | _ | |_| | | | | |_| | | | | (_| |
\_/ |_| |_| |_|\__,_|_| |_|\__|_|_| |_|\__, |
|___/
McAfee ATR | Thomas Roccia | @fr0gger_
Get latest hunting notification from VirusTotal
Latest report from 2018-12-24 10:20:30.158831
-------------------------------------------------------------------------------------
Rule name: FancyBear_ComputraceAgent
Match date: 2018-12-24 17:38:17
SHA256: f5157e5b8afe1f79f29c947449477d13ede3d7341699256e62966474a7ee1eb5
Tags: [apt28, fancybear_computraceagent]
-------------------------------------------------------------------------------------
Rule name: Winexe_RemoteExecution
Match date: 2018-12-24 15:01:15
SHA256: 1e194647c05b0068c31cd443b5bcacc2dd41799e5d21a40e0c58adbad01c28c6
Tags: [winexe_remoteexecution, apt28]
-------------------------------------------------------------------------------------
Rule name: hatman_compiled_python: hatman
Match date: 2018-12-24 00:28:21
SHA256: 14c64fc93ae68f01989db992bf8ee47ffd33edf66223b84f3fae52f9a843a03f
Tags: [triton, hatman, hatman_compiled_python]
-------------------------------------------------------------------------------------
Rule name: Stuxnet_unpacked
Match date: 2018-12-24 15:00:00
SHA256: 86b05279bf4930ffc0c00e4fd22c8ab9e964e8d45d39bfca42e129b95dc33481
Tags: [stuxnet, stuxnet_unpacked]
-------------------------------------------------------------------------------------
Rule name: Stuxnet
Match date: 2018-12-24 14:59:59
SHA256: 86b05279bf4930ffc0c00e4fd22c8ab9e964e8d45d39bfca42e129b95dc33481
Tags: [stuxnet]
-------------------------------------------------------------------------------------
[truncated]
Просто скачайте скрипт:
git clone https://github.com/fr0gger/vthunting
Затем настройте раздел конфигурации с вашими ключами API и информацией:
# Virus Total API
VTAPI = "<API_KEY>"
number_of_result = "" # 10 by default
# Email configuration
smtp_serv = "<SMTP_SERV>"
smtp_port = ""
gmail_login = "<EMAIL>"
gmail_pass = "<APP_PASS>" # pass from APP
gmail_dest = "<DEST_EMAIL>"
# Slack Bot config
SLACK_BOT_TOKEN = "<API>"
SLACK_CHANNEL = "<SLACK_CHANNEL>"
# Telegram Bot config
TOKEN = "<API>"
chat_id = "<CHAT_ID>"
# Microsoft Teams Bot config
TEAMS_CHANNEL_WEBHOOK = ""
Когда конфигурация готова, вы можете запустить файл с помощью:
python vthunting.py --help
usage: vthunting.py [OPTION]
-h, --help Print this help
-r, --report Print the VT hunting report
-s, --slack_report Send the report to a Slack channel
-e, --email_report Send the report by email
-t, --telegram_report Send the report to Telegram
-m, --teams_report Send the report to Microsoft Teams
-j, --json Get full JSON report
Сначала необходимо установить зависимости:
pip install -r requirements.txt
Получите свой ключ API на Virus Total. https://developers.virustotal.com/v3.0/reference
Чтобы создать приложение, вы можете найти документацию здесь: https://support.google.com/accounts/answer/185833
Чтобы сгенерировать токен, вам нужно перейти по этой ссылке и следовать шагам: https://api.slack.com/custom-integrations/legacy-tokens
Чтобы получить токен, вам нужно создать Telegram бота, обратившись к @BotFather, он поможет вам настроить бота и получить токен. После получения токена посетите https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates, чтобы получить ID канала.
Добавьте вебхук-коннектор в канал Microsoft Teams, в который вы хотите получать отчеты. https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using#setting-up-a-custom-incoming-webhook
Если вы хотите иметь доступ к этому скрипту из любого места, вы можете скопировать его без расширения в:
cp vthunting.py /usr/local/bin/vthunting
Вы можете использовать crontab для запуска скрипта и периодического получения отчета.
crontab -e
Ниже приведен пример для получения отчета каждый день в 10:15 утра.
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user command to be executed
15 10 * * * /usr/local/bin/vthunting -r -t -e -s >> vthunt.log
Склонируйте репозиторий и настройте ваш API для отчетности в скрипте. Добавьте ваш VirusTotal API в Dockerfile.
Затем выполните следующие команды:
# Build the container
docker build -t vthunting:latest .
# run the script:
docker run -t vthunting -r
Этот проект лицензирован по лицензии MIT - подробности смотрите в файле LICENSE.md