
Uno strumento per supportare la segnalazione dei certificati Authenticode, riducendo lo sforzo richiesto agli individui per segnalarli.
Questo strumento è pensato per ridurre lo sforzo necessario per segnalare certificati Authenticode. Il suo scopo è richiedere il minimo sforzo possibile a chi effettua la segnalazione, fornendo comunque all'autorità di certificazione la maggior parte delle informazioni necessarie per prendere una decisione. Quando possibile, si consiglia di integrare il rapporto con i risultati delle proprie analisi, per aiutare il fornitore del certificato a conoscere gli indicatori sospetti individuati.
A partire dalla versione 2, abbiamo aggiunto il supporto per l'utilizzo dell'API di VirusTotal. Per consentire l'uso dell'API di VirusTotal, abbiamo aggiunto funzioni aggiuntive. Il comportamento predefinito di certReport è interrogare MalwareBazaar, che non richiede una chiave API.
Nella versione 3, abbiamo aggiunto un database SQLite che memorizza le informazioni sui rapporti. Può essere utilizzato come riferimento personale, ma integra anche il rapporto. Per maggiori informazioni, consulta la sezione sul database qui sotto!
Usa pip! pip install certReport oppure pip3 install certReport
Nota: nella versione 2 è obbligatorio fornire l'opzione --hash (o -#)
Ecco un esempio:
Chiamare lo script passando uno SHA256 in questo modo:
certReport --hash 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9
Verranno stampate le seguenti informazioni sulla console:
---------------------------------
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
Queste informazioni devono essere fornite all'emittente del certificato tramite i canali di segnalazione appropriati (come email o sito web). Il canale appropriato è indicato alla fine del rapporto (vedi sopra).
Nella versione 2 è diventato possibile interrogare VirusTotal. Per usare VirusTotal, configura prima la tua chiave API utilizzando il metodo appropriato per il tuo sistema operativo:
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
Una volta configurata la chiave API come variabile d'ambiente, il seguente comando genererà un rapporto:
certReport --hash 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9 --service virustotal
In alternativa, le opzioni possono essere semplificate:
certReport -# 89dc50024836f9ad406504a3b7445d284e97ec5dafdd8f2741f496cac84ccda9 -s VT
Entrambi i comandi restituiranno il seguente rapporto:
---------------------------------
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
Come già detto in precedenza, si consiglia di aggiungere ulteriori punti elenco verso la fine del rapporto. I punti elenco aggiuntivi dovrebbero includere i risultati delle proprie indagini. Questi dettagli possono fornire un supporto decisionale al fornitore del certificato.
Per inviare i rapporti al Cert Graveyard, usa l'opzione -p. È necessario avere una chiave API di CertGraveyard impostata come variabile d'ambiente denominata "CERT_GRAVEYARD_API". La chiave API può essere ottenuta dalla pagina del tuo profilo quando accedi a 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
Nella versione 3, un database memorizza le informazioni su tutti i certificati elaborati con certReport. Questo database contiene la maggior parte dei dettagli presenti nel rapporto. Quando si esegue il comando, l'utente può usare l'opzione -t e fornire una famiglia di malware. In tal caso, il rapporto aggiungerà il nome fornito dall'utente al database e verificherà se nel database esistono altre occorrenze di quel nome di malware; in caso di corrispondenze, integrerà il rapporto con informazioni su quante volte quel malware è stato segnalato. Ad esempio, potrebbe stampare un messaggio come il seguente in fondo al rapporto:
We have reported this same malware to SSL.com 2 times. We have reported the malware to other providers 10 times.
A partire dalla versione attuale, il database deve essere visualizzato o gestito con un visualizzatore di database SQLite. Non può essere visualizzato o gestito all'interno del programma.
NOTA: se l'utente esegue l'applicazione con lo stesso hash, la prima occorrenza dell'hash verrà rimossa dal database e sostituita con le nuove informazioni.
Il database viene creato in una cartella nella directory home dell'utente. La cartella si chiamerà "certReport" e il database si chiamerà "certReport.db".
Sentiti libero di suggerire modifiche allo script per aggiungere indirizzi email dei fornitori di certificati o metodi di segnalazione. Metà della battaglia nella segnalazione consiste nel trovare dove i certificati devono essere inviati.
A partire dal 2018, la maggior parte dei certificati non viene più rubata, ma viene rilasciata a impostori (questa tesi è sostenuta in un articolo accademico qui: http://users.umiacs.umd.edu/~tdumitra/papers/WEIS-2018.pdf). Io li chiamo "Impostor Certs". Nel 2023, ho pubblicato la mia ricerca su 50 certificati utilizzati da un singolo attore. I miei risultati hanno confermato che i certificati vengono usati per firmare più famiglie di malware: https://squiblydoo.blog/2023/05/12/certified-bad/. Nel 2024, ho pubblicato un articolo sui certificati impostore, dopo aver revocato 100 certificati usati per firmare lo stesso malware; l'articolo può essere letto qui: https://squiblydoo.blog/2024/05/13/impostor-certs/.
In sintesi, più attori usano lo stesso certificato e segnalare un certificato aumenta il costo della firma per tutti i threat actor, con un potenziale impatto su più campagne malware.