Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implant protobuf update #1215

Merged
merged 2 commits into from Apr 27, 2023
Merged

Implant protobuf update #1215

merged 2 commits into from Apr 27, 2023

Conversation

rkervella
Copy link
Member

The protobuf library got updated sometime last year to store the whole protobuf file as a byte slice literal (prefixed by a GZIP header), where before that the data was stored as a byte slice containing the GZIP compressed version of the protobuf file. This means that when we started using this version, all implant build contained clear string literals that represented the protobuf message names, which was an easy way to fingerprint implant using static signatures.

This PR updates the assets generation to dynamically modify the auto-generated protobuf file for the implant (sliver.pb.go) so it replaces the raw literals with a XOR version of itself.
The XOR key is generated when the file is saved to disk, that way we can have unique keys for each server deployment. This should help reduce some static signatures that took advantage of the change introduced in the latest protobuf package version.

@rkervella rkervella requested a review from a team as a code owner April 27, 2023 22:07
@moloch-- moloch-- merged commit 649960a into master Apr 27, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants