Skip to main content

This is a CLI tool for reporting abused code-signing certificates to the certCentral repository.

Project description

CertReportCentral

This tool complements CertReport. CertReport generates a report locally for user submission. CertReportCentral reports the certificate to a public database.

This tool is intended to reduce the load of effort required to report authenticode certificates. It is intended to take the smallest amount of effort from the reporter, but provide the certificate authority with most the information they need to make a decision. Once submitted, your report will be processed and the status will be viewable on the website. More details to come.

Installing

Use pip! pip install certReportCentral or pip3 install certReportCentral

Usage

Note: In version 2, it is required to provide the --hash (or -#) switch Here is an example: Calling the script and passing in a SHA256 like this:
certReport --hash 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9

Once ran, it will parse and submit the information to certCentral and will be processed.

Using VirusTotal

In version 2, it became possible to query VirusTotal. To use VirusTotal first set up your API key using the appropriate method for your operating system:

        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

Once the API key is configured as an environment variable the following command will generate a report:

certReport --hash 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9 --service virustotal

Alternatively, the switches can be simplified:

certReport -# 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9 -s VT

Contributing

Please feel free to suggest changes to the script for additional certificate provider email addresses or methods of reporting. Half of the battle in reporting is finding where certificates should be submitted.

Why Report?

Starting in 2018, the majority of certificates were no longer stolen, but they are issued to impostors (this case is argued in a scholarly article here: http://users.umiacs.umd.edu/~tdumitra/papers/WEIS-2018.pdf). I call these "Impostor Certs". In 2023, I published my research into 50 certificates used by one actor. My findings confirmed that certificates are used to sign multiple malware families: https://squiblydoo.blog/2023/05/12/certified-bad/. In 2024, I published an article on Impostor certs, after having revoked 100 certificates used to sign the same malware, that article can be read here: https://squiblydoo.blog/2024/05/13/impostor-certs/.

The TLDR is that multiple actors use the same certificate and reporting a certificate raises the cost of signing for all threat actors and it can impact multiple malware campaigns.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certreportcentral-0.1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certReportCentral-0.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file certreportcentral-0.1.tar.gz.

File metadata

  • Download URL: certreportcentral-0.1.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for certreportcentral-0.1.tar.gz
Algorithm Hash digest
SHA256 683995da53df12f96cccd2d01eeb1f1ab03c26195504ad6da7e712aa7d74a300
MD5 72030de0de46a5202e50042a05184ffb
BLAKE2b-256 63414a0c175d0879263d0c1e1a71e3885ccfb919657cc8cb90f1cd067f622e84

See more details on using hashes here.

File details

Details for the file certReportCentral-0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for certReportCentral-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f15044c5a04d6b7193d2ad2db01d5590997619683fcde172cfe025f3506b3185
MD5 65a8344c622d61fc939c185ac8585297
BLAKE2b-256 c74d1f4666e179d6761c078cf3ba5459e7ef610a7867c47850ae9aefe5b64e53

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page