
Инструмент для поддержки отчётности об Authenticode-сертификатах, снижающий нагрузку на пользователей при подготовке отчётов.
Этот инструмент предназначен для снижения трудоёмкости сообщения об аутентифицированных сертификатах (authenticode). Он задуман так, чтобы от репортёра требовалось минимум усилий, но при этом центр сертификации получал большую часть информации, необходимой для принятия решения. Когда это возможно, рекомендуется дополнять отчёт собственными находками, чтобы помочь поставщику сертификатов понять, какие подозрительные индикаторы вы обнаружили.
Начиная с версии 2, добавлена поддержка API VirusTotal. Для работы с VirusTotal API добавлены дополнительные функции. Поведение cert report по умолчанию — запрос к MalwareBazaar, для которого не требуется API-ключ.
В версии 3 добавлена база данных SQLite, в которой хранится информация об отчётах. Её можно использовать для личных ссылок, а также она дополняет отчёт. Подробнее см. в разделе о базе данных ниже!
Используйте pip! pip install certReport или pip3 install certReport
Примечание: в версии 2 требуется указывать параметр --hash (или -#)
Вот пример:
Вызов скрипта с передачей SHA256, как показано ниже:
certReport --hash 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9
Выведет в консоль следующую информацию:
---------------------------------
Greetings,
We identified a malware signed with a SSL.com EV Code Signing Intermediate CA RSA R3 certificate.
The malware sample is available on MalwareBazaar here: https://bazaar.abuse.ch/sample/89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9
Here are the signature details:
Name: A.P.Hernandez Consulting s.r.o.
Issuer: SSL.com EV Code Signing Intermediate CA RSA R3
Serial Number: 2941d5f8758501f9dbc4ba158058c3b5
SHA256 Thumbprint: a982917ba6de9588f0f7ed554223d292524e832c1621acae9ad11c0573df54a5
Valid From: 2024-01-25T16:51:40Z
Valid Until: 2025-01-24T16:51:40Z
The malware was tagged as exe, Pikabot and signed.
MalwareBazaar submitted the file to multiple public sandboxes, the links to the sandbox results are below:
Sandbox / Malware Family / Verdict / Analysis URL
Intezer None unknown https://analyze.intezer.com/analyses/c4915ef4-198f-4aba-81ed-81b29cd4dce6?utm_source=MalwareBazaar
Triage pikabot 10 / 10 https://tria.ge/reports/240222-pqlqkshb2w/
VMRay Pikabot malicious https://www.vmray.com/analyses/_mb/89dc50024836/report/overview.html
Please let us know if you have any questions.
------------------------
Send the above message to the certificate provider.
This report should be sent to SSL.com: https://ssl.com/revoke
Эту информацию необходимо предоставить эмитенту сертификата через соответствующие каналы приёма жалоб (такие как электронная почта или веб-сайт). Соответствующий канал указывается в конце отчёта (см. выше).
В версии 2 появилась возможность запрашивать VirusTotal. Чтобы использовать VirusTotal, сначала настройте свой API-ключ подходящим для вашей операционной системы способом:
On Linux:
echo "export VT_API_KEY=your_api_key_here" >> ~/.bashrc
source ~/.bashrc
On Windows:
setx VT_API_KEY "your_api_key"
On MacOS:
echo "export VT_API_KEY=your_api_key_here" >> ~/.zprofile
source ~/.zprofile
После того как API-ключ задан как переменная окружения, следующая команда сформирует отчёт:
certReport --hash 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9 --service virustotal
Также можно использовать сокращённые параметры:
certReport -# 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9 -s VT
Обе команды вернут следующий отчёт:
---------------------------------
Greetings,
We identified a malware signed with a SSL.com EV Code Signing Intermediate CA RSA R3 certificate.
The malware sample is available on VirusTotal here: https://www.virustotal.com/gui/file/89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9/detection
Here are the signature details:
Name: A.P.Hernandez Consulting s.r.o.
Issuer: SSL.com EV Code Signing Intermediate CA RSA R3
Serial Number: 56 B6 29 CD 34 BC 78 F6
Thumbprint: 743AF0529BD032A0F44A83CDD4BAA97B7C2EC49A
Valid From: 2017-05-31 18:14:37
Valid Until: 2042-05-30 18:14:37
The malware was tagged as a peexe, long-sleeps, spreader, detect-debug-environment, service-scan, overlay, revoked-cert, signed and checks-user-input.
The malware was detected by 50 out of 74 antivirus engines.
The malware was classified as trojan by 30 detection engines.
The file was flagged as pikabot by 23 detection engines, zusy by 6 detection engines and gdfvt by 2 detection engines
This file was found during our investigation and had the following suspicious indicators:
- The file triggered the following high IDS rules:
- ET CNC Feodo Tracker Reported CnC Server group 1
- ET CNC Feodo Tracker Reported CnC Server group 2
Please let us know if you have any questions.
------------------------
Send the above message to the certificate provider.
This report should be sent to SSL.com: https://ssl.com/revoke
Как уже говорилось, рекомендуется добавлять дополнительные пункты списка ближе к концу отчёта. Дополнительные пункты должны включать результаты вашего собственного расследования. Эти детали могут помочь поставщику сертификатов в принятии решения.
Чтобы отправить отчёты в Cert Graveyard, используйте параметр -p. Требуется, чтобы API-ключ CertGraveyard был задан как переменная окружения с именем "CERT_GRAVEYARD_API". API-ключ можно получить на странице своего профиля после входа на TheCertGraveyard.org
Please set your certGraveyard API key by running the doing the following:
On Linux:
echo "CERT_GRAVEYARD_API=your_api_key_here" >> ~/.bashrc
source ~/.bashrc
On Windows:
setx CERT_GRAVEYARD_API "your_api_key"
On MacOS:
echo "export CERT_GRAVEYARD_API=your_api_key_here" >> ~/.zprofile
source ~/.zprofile
В версии 3 в базе данных сохраняется информация обо всех сертификатах, обработанных с помощью certReport. Эта база данных содержит большую часть данных, фигурирующих в отчёте. При запуске команды пользователь может использовать параметр -t и указать семейство вредоносных программ. Если пользователь это делает, отчёт добавит указанное пользователем имя в базу данных и проверит базу данных на наличие других экземпляров этого имени вредоносной программы; при совпадениях отчёт будет дополнен информацией о том, сколько раз эта вредоносная программа уже была зарегистрирована. Например, в нижней части отчёта может быть выведено сообщение вроде следующего:
We have reported this same malware to SSL.com 2 times. We have reported the malware to other providers 10 times.
В текущей версии базу данных необходимо просматривать или управлять ею с помощью средства просмотра баз данных SQLite. Внутри программы её нельзя просмотреть или изменить.
ПРИМЕЧАНИЕ. Если пользователь запускает приложение с тем же хешем, первый экземпляр хеша будет удалён из базы данных и заменён новой информацией.
База данных создаётся в папке в домашнем каталоге пользователя. Папка будет называться "certReport", а база данных — "certReport.db".
Пожалуйста, не стесняйтесь предлагать изменения в скрипт, касающиеся дополнительных адресов электронной почты поставщиков сертификатов или способов отправки отчётов. Половина борьбы при отправке отчёта — найти, куда следует отправлять сертификаты.
Начиная с 2018 года большинство сертификатов больше не крадут, а оформляют на самозванцев (этот случай рассматривается в научной статье здесь: http://users.umiacs.umd.edu/~tdumitra/papers/WEIS-2018.pdf). Я называю их «Impostor Certs». В 2023 году я опубликовал своё исследование 50 сертификатов, использованных одним субъектом. Мои выводы подтвердили, что сертификаты используются для подписи нескольких семейств вредоносных программ: https://squiblydoo.blog/2023/05/12/certified-bad/. В 2024 году я опубликовал статью о сертификатах Impostor после того, как отозвал 100 сертификатов, использованных для подписи одной и той же вредоносной программы; эту статью можно прочитать здесь: https://squiblydoo.blog/2024/05/13/impostor-certs/.
Кратко: несколько субъектов используют один и тот же сертификат, и сообщение о сертификате повышает стоимость подписи для всех субъектов угроз и может повлиять на множество кампаний вредоносного ПО.