Skip to main content

Deprecated

It is recommended to use the certReport pypi package exclusively. This is no longer being maintained.

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: certGraveyard.org

To use the API, an API key is required. The API key is generated for you the first time you log in and is visible on the profile.

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.

Metadata

Release files for certReportCentral 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for certReportCentral 0.1.1
File Size Uploaded Provenance Actions
certreportcentral-0.1.1.tar.gz 5.4 kB Without provenance Details for certreportcentral-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for certReportCentral 0.1.1
File Interpreter ABI Platform Actions
certreportcentral-0.1.1-py3-none-any.whl Python 3 none any Details for certreportcentral-0.1.1-py3-none-any.whl

Total release size: 11.1 kB

Release files / certreportcentral-0.1.1.tar.gz

Download URL certreportcentral-0.1.1.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e0fc6e76b19f6078b84d7788485bef6d597be0f122dcef3d8794fd97177809ac
BLAKE2b-256 checksum
How to use checksums
d1c34d0643ef0e2784818304f9d849b6ddd97971591db55aba21fcba89dcaeff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / certreportcentral-0.1.1-py3-none-any.whl

Download URL certreportcentral-0.1.1-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a67573c2d9ef07fe607571a86b0276cbdf55a23c50731ac73567547bcecc81a1
BLAKE2b-256 checksum
How to use checksums
5c807cdb72cc4999ec7c7697576818e9be4d532177d7be2d20c09076549207c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for certReportCentral 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page