Linux에서 cli를 사용하여 Windows "exe" 파일에서 서명 데이터를 추출하는 방법

Linux에서 cli를 사용하여 Windows "exe" 파일에서 서명 데이터를 추출하는 방법

당신이 가면바이러스토탈 링크, 파일 정보라는 탭이 있습니다(내 생각엔 네덜란드어로 되어 있는 것 같습니다). 라는 파일이 보일 것입니다.

"Authenticode signature block and FileVersionInfo properties"

Linux cli를 사용하여 헤더 아래의 데이터를 추출하고 싶습니다. 예:

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

Camera.exe어떻게 든 데이터를 추출하기 위해 Windows 10에서 사용했습니다 .

파일 의 압축을 풀고 읽을 수 없는 데이터가 많이 포함된 파일과 읽을 수 있는 일부 텍스트가 있는 파일을 .exe찾았습니다 . 이는 대략 위와 같은 출력이었습니다.CERTIFICATE

.exeLinux에서 cli를 사용하여 Windows 파일에서 서명을 추출하는 방법

답변1

Linux에는 다음과 같은 도구가 있습니다.osslsigncodeWindows Authenticode 서명을 처리할 수 있습니다. 바이너리의 서명을 확인하면 예제에 표시된 것과 유사한 출력이 생성됩니다 vcredist_x86.exe.

$ 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

서명을 추출할 수도 있습니다.

osslsigncode extract-signature vcredist_x86.exe vcredist_x86.sig

답변2

당신은 또한 볼 수 있습니다https://github.com/msdhedhi/VerifyWinFileDigitalSignature

다음은 Windows PE 파일의 디지털 서명(32비트 및 64비트)을 추출하고 확인하는 Java 코드입니다.

관련 정보