MeshCentral - Authenticode Module and Automatic Agent Signing

This week is a crazy feature and in many ways an industry first for this type of software. Last week, the first ever purely NodeJS implementation of Authenticode signing was built and added to MeshCentral making it capable of signing Windows executables from any operating system. On top of that, MeshCentral now generates a code signing certificate as part of its standard certificates and automatically signs the Windows Agents. There is even an option to automatically lock the signed agent to only connect to the server that signed the agent. The net result is a Window agent that is uniquely signed to its server. In detail:

  • MeshCentral code signing certificate. MeshCentral already generates many certificates when it first runs: Root, Agent, MPS and HTTPS. With the latest release, a code signing certificate is also generated, issued from the generated self-signed server root certificate. This private code signing certificate is not globally trusted unless the server root cert is trusted. A purchased code signing certificate from a certificate authority (CA) is still needed if you want a correctly signed agent. What’s new is that the new generated code signing certificate is now used by default to sign the Windows agents.
  • Automatic signing of Windows agents. MeshCentral will now automatically sign the Windows agents and place the resulting binaries in the “meshcentral-data/signedagents” folder. On server startup, MeshCentral will check that the agents in the folder are correctly signed, and the hash matches the expected value. If there is something not right, the agent will be resigned and replaced insuring that the agents being used match the server’s code signing certificate and signing settings.
  • Sign-locking the agent. The Mesh Agent has a feature to check that its own signature includes instructions to lock the agent to only connect to a specific server. With the latest automated signing built-into MeshCentral, you can make use of the agent’s sign-locking feature. Just add “AgentSignLock”: true in the settings section of the config.json and the server will add the right signature parameters to lock the agent to the server. This provides extra trust that a signed agent can’t be miss-used.
  • Authenticode-JS. The Authenticode module in MeshCentral is an industry first. Before this, there where no purely NodeJS implementations of Authenticode signing available. Its usage goes beyond MeshCentral and so, the module was made available as its own standalone tool. Called Authenticode-JS on NPM, its can be used both as a module and as a command line tool and allows anyone to look at signature information, sign or un-sign an executable and even to generate a self-signed certificate for code signing. This should be super useful to many; a YouTube demonstration of this tool has already premiered on the MeshCentral YouTube channel.

Many other features have been added and bug fixes included. As usual, feedback is appreciated. If you see any problems or need support on something, please create a new issue on GitHub or help other users. For more information, visit the portal at https://meshcentral.com.

Enjoy!
Ylian
MeshCentral, Blog, Twitter,
Reddit, GitHub, YouTube.






Popular posts from this blog

Starting work at Microsoft

MeshCentral - Windows ARM64, NodeJS v11, NPM Packages

MeshCentral - New Windows Agents - Installation Dialog, Customization and Server Lock