Como posso extrair dados assinaturas de um arquivo 'exe' do Windows no Linux usando cli

3

Se você acessar o link VirusTotal , há uma guia chamado informações de arquivo (eu acho; o meu é holandês). Você verá um cabeçalho chamado

"Authenticode signature block and FileVersionInfo properties"

Eu quero extrair os dados sob o cabeçalho usando o Linux cli. Exemplo:

Signature verification Signed file, verified signature
Signing date 7:43 AM 11/4/2014
Signers
[+] Microsoft Windows
[+] Microsoft Windows Production PCA 2011
[+] Microsoft Root Certificate Authority 2010
Counter signers
[+] Microsoft Time-Stamp Service
[+] Microsoft Time-Stamp PCA 2010
[+] Microsoft Root Certificate Authority 2010

Eu usei o Camera.exe no Windows 10 para, de alguma forma, extrair os dados.

Eu extraí o arquivo .exe , e encontrei um arquivo CERTIFICATE nele, há muitos dados ilegíveis, mas também algum texto, eu posso ler, que é - aproximadamente - o mesmo como na saída acima.

Como posso extrair assinaturas de um arquivo Windows .exe no Linux usando cli

    
por blade19899 15.03.2016 / 12:01

2 respostas

5

No Linux há uma ferramenta chamada osslsigncode que pode processar assinaturas do Authenticode do Windows. Verificar a assinatura de um binário produz uma saída semelhante à que você mostra no seu exemplo; em um vcredist_x86.exe eu tenho que entregar eu recebo:

$ osslsigncode verify vcredist_x86.exe
Current PE checksum   : 004136A1
Calculated PE checksum: 004136A1

Message digest algorithm  : SHA1
Current message digest    : 0A9F10FB285BA0064B5537023F8BC9E06E173801
Calculated message digest : 0A9F10FB285BA0064B5537023F8BC9E06E173801

Signature verification: ok

Number of signers: 1
        Signer #0:
                Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation
                Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Signing PCA

Number of certificates: 7
        Cert #0:
                Subject: /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority
                Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority
        Cert #1:
                Subject: /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority
                Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority
        Cert #2:
                Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Signing PCA
                Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority
        Cert #3:
                Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Corporation
                Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Signing PCA
        Cert #4:
                Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/OU=nCipher DSE ESN:D8A9-CFCC-579C/CN=Microsoft Timestamping Service
                Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Timestamping PCA
        Cert #5:
                Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/OU=nCipher DSE ESN:10D8-5847-CBF8/CN=Microsoft Timestamping Service
                Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Timestamping PCA
        Cert #6:
                Subject: /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Timestamping PCA
                Issuer : /OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft Root Authority

Succeeded

Você também pode extrair a assinatura:

osslsigncode extract-signature vcredist_x86.exe vcredist_x86.sig
    
por 15.03.2016 / 12:58
0

Você também pode conferir link

Este é o código java que escrevi um tempo atrás, o qual extrai e verifica a assinatura digital de um arquivo do windows PE (32 bits e 64 bits)

    
por 16.09.2017 / 19:13