Giter Club home page Giter Club logo

verify-sigs's Introduction

ABSTRACT

verify_sigs contains library functions to compute and validate hashes on different file types, and signatures on PECOFF Authenticode-signed binaries.

DEPENDENCIES

You need pyasn1 == 0.13b or >= pyasn1-0.1.4rc4 and Cryptography to parse and validate signatures. libssl-dev To exercise some demonstrator code, you may need pefile. Cryptograpy: https://cryptography.io pyasn1: http://pyasn1.sourceforge.net/ pefile: https://github.com/erocarrera/pefile

DETAILS

Currently the following hashing methods are supported:

  • generic files: md5, sha1, sha256, sha512
  • PE-COFF authenticode (windows executables, drivers, dll's, ...): md5, sha1

fingerprint.py The actual library of hashing algorithms, deployable as library and on 'naked' client systems, running under python 2.7. See embedded docstrings and tests for usage scenarios. Does not use third party libraries.

fingerprinter_test.py Set of tests on the fingerprinter, using pregenerated data.

generate_test_data.py Run-once code supposed to be run by hand, creates some of the files in test_data, that then need to be checked in.

auth_data.py Basic container for authenticode data, as represented in ASN.1 together with accessor and validator functions. Currently provides limited validation, in particular certificate chain validation is missing.

auth_data_test.py Set of tests on auth_data, assuring that pregenerated data still produces the same reuslts.

pecoff_blob.py Container for PECOFF format part of authenticode blobs, as provided by the fingerprinter library in the SignedData structure.

print_pe_certs.py Exercises authenticode validation routines, prints out hashes and certs.

THANKS

Many thanks to Darren and Michael for motivating me to work through tangled standards. Many thanks to Ero for pefile, and to Ilya Etingof for pyasn1, very useful examples code for x509 and pkcs7 parsing, and finally for extending the parser to handle 'any' type!

Germano Caronni, 2012/4/26 [email protected] , [email protected]

verify-sigs's People

Contributors

rafiot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.