alphasec
PowerShell protip 0064
in 𝕏

(irm crt.sh -b @{output="json";q="cia.gov"}).name_value|sort -u - lista domen w cia.gov na podstawie rejestrowanych certyfikatów

tty1 · powershell
PS> (irm crt.sh -b @{output="json";q="cia.gov"}).name_value|sort -u
#Powershell#RedTeam#BlueTeam#Recon

Serwis crt.sh, to jeden z serwisów umożliwiających przeszukiwanie tzw. Certificate Transparency Logs. W skrócie, kiedy rejestrowany jest publiczny certyfikat SSL/TLS dla danej domeny (i nie tylko), trafia on do zbiorczego loga, który dostępny jest również publicznie.

Powyższy jednolinijkowiec z wykorzystaniem cmdletu Invoke-RestMethod posiadającym alias irm konsumuje JSON API udostępnione przez crt.sh. Na końcu sortuje wyniki i usuwa powtórzenia ( Sort-Object -Unique, w skrócie sort -u).

Zdarza się jednak, że serwis crt.sh nie wyrabia z naszymi zapytaniami, rzucając błędem 502 czy 404, warto więc obsłużyć wyjątki, co mogłoby wyglądać jak poniżej.

for (;;) {
    try {
        (irm crt.sh -b @{output="json";q="cia.gov"}).name_value|sort -u
        break
    } catch {
        Write-Host -NoNewline "." -ForegroundColor Red
        Start-Sleep 1
    }
}

Naturalnie, aż się prosi, żeby zamknąć to w prostą funkcję:

function Invoke-CrtShSearch($domain) {
    for (;;) {
        try {
            (irm crt.sh -b @{output="json";q=$domain}).name_value|sort -u
            break
        } catch {
            Write-Host -NoNewline "." -ForegroundColor Red
            Start-Sleep 1
        }
    }
}

Invoke-CrtShSearch cia.gov
(irm crt.sh -b @{output="json";q="cia.gov"}).name_value|sort -u - lista domen w cia.gov na podstawie rejestrowanych certyfikatów

Przydatne linki

# aptm.in/protip/0065 analogiczna wersja dla Basha, protip ↗ certificate.transparency.dev/howctworks/ wyjaśnienie idei logów CT, web ↗ crt.sh omawiany serwis umożliwiający przeszukiwanie logów CT, web ↗ developers.facebook.com/tools/ct/search/ zasób Facebooka umożliwiający przeszukiwanie logów CT; dodatkowo jest możliwość subskrybowania zapytania, wtedy informacje o nowych certyfikatach otrzymamy jako powiadomienie w aplikacji FB(!), web ↗ transparencyreport.google.com/https/certificates przeszukiwanie logów na stronach Google. web ↗
← poprzedni protip 0063 ••• Wszystkie protipy następny → protip 0065
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: