Aller au contenu

Lister tous les certificats émis

Désormais, tous les certificats intégrant le Certificate Transparency peuvent être facilement retrouvable.

Pour cela, il existe un magnifique outil appelé crt.sh, vous proposant une multitude de filtre permettant d'exporter tous les CRT

Sinon, un petit script en ligne de commande :

#!/usr/bin/env bash
psql=$(which psql)
docker=$(which docker)

if [ -z "$psql" ]; then
    if [ -z "$docker" ]; then
        echo "Ni Docker, ni PostgreSQL... can't do anything for you"
        exit 1
    fi
    psql="docker run -it --rm postgres psql"
fi

if [ -z "${1}" ]; then
    echo "Usage: $0 domain-name"
    exit
fi
Q="select distinct(lower(name_value)) FROM certificate_and_identities cai WHERE plainto_tsquery('$1') @@ identities(cai.CERTIFICATE) AND lower(cai.NAME_VALUE) LIKE ('%.$1')"
$psql -P pager=off -P footer=off -U guest -d certwatch --host crt.sh -c "$Q" | sed -e '$d' -e 's/^ //' -e '1,2d'

Petit usage tout simple :

➜  ~ ./al mydomain.eu
adguard.mydomain.eu
bitwarden.mydomain.eu
bw.mydomain.eu
cloud.mydomain.eu
domo.mydomain.eu
grafana.mydomain.eu
ha.mydomain.eu
home.mydomain.eu
nas.mydomain.eu
netdata.mydomain.eu
nextcloud.mydomain.eu
nodered.mydomain.eu
onlyoffice.mydomain.eu
pihole.mydomain.eu
portainer.mydomain.eu
prometheus.mydomain.eu
pve.mydomain.eu
rss.mydomain.eu
rutorrent.mydomain.eu
shaarli.mydomain.eu
sync.mydomain.eu
unifi.mydomain.eu