Red team tool that emulates the SolarWinds CI compromise attack vector.

SolarSploit

Sample malicious program that emulates the SolarWinds attack vector.

  1. Listen for processes that use the go compiler
  2. Wait for a syscall to open a main.go file
  3. Pause compiler process.
  4. Modify contents of main.go, cache legitimate copy.
  5. Start compiler
  6. Replace contents of trojanized file with the original.

How to use

Warning this software will modify files in your system. Use in a non-production environment only. This does not work 100% of the time. I think there are some issues with the way Go handles threading, which occasionally causes the tracing to fail. If you have a fix please submit a PR.

  1. compile program go build .
  2. Run solarsploit as root
  3. In another terminal compile a Go program that includes a file name of main.go
  4. Solarsploit will inject the following init function
func init() {
	fmt.Println("Your code is hacked")
}

How to mitigate

Set the IMA policy to tcb GRUB_CMDLINE_LINUX="ima_policy=tcb ima_hash=sha256 ima=on"

Inspect the IMA log and compare the SHASUM hash of the input files to the value in the logs. Then, verify the log by calculating the aggregate of all of the IMA checksums to the value in PCR register 10 of the TPM device; they should match.

Screenshot from 2021-09-28 23-18-24

ref: https://github.com/testifysec/go-ima

Similar Resources

 🚀 cpwd is create password tool

 🚀 cpwd is create password tool

cpwd 🚀 cpwd is create password tool Install source code git clone https://github.com/songqii/cpwd_code.git cd $GOPATH/src/cpwd_code go build brew br

Dec 29, 2021

goKryptor is a small and portable cryptographic tool for encrypting and decrypting files.

goKryptor goKryptor is a small and portable cryptographic tool for encrypting and decrypting files. This tool supports XOR and AES-CTR (Advanced Encry

Dec 6, 2021

Command Line Tool for decrypting armored pgp messages

Decrypt-PGP-Message A simple command line tool for decrypting armored pgp messages How to build? make build How to use? Usage: -key=path to your pr

Nov 4, 2021

A tool for secrets management, encryption as a service, and privileged access management

A tool for secrets management, encryption as a service, and privileged access management

Deploy HCP Vault & AWS Transit Gateways via Terraform https://medium.com/hashicorp-engineering/deploying-hcp-vault-using-the-hcp-terraform-provider-5e

Nov 23, 2021

A base dependence for most tool in DAS

das-lib Quick View This repo is a base dependence for most tool in DAS. It includes but not limited to the following features: Assembly transaction Wi

Nov 2, 2022

A mining pool proxy tool, support BTC, ETH, ETC, XMR mining pool, etc.

Tier2Pool A mining pool proxy tool, support BTC, ETH, ETC, XMR mining pool, etc. Build I use Ubuntu as a demo. sudo update sudo apt install git make s

Jul 29, 2022

Block-top - Tool to watch block production

block top Continuously watch the block production from one or many (or all) lead

Jan 24, 2022

A tool that creates requests with the given urls and converts its response to md5 hash.

Response Converter A tool that creates requests with the given urls and converts its response to md5 hash. Prerequisites Before you begin you must hav

Nov 20, 2022

Google-pay-decryptor - Google Pay payload decryptor Tool

Google Pay Decryptor Tool Tired of looking for information about cryptography an

Mar 20, 2022
A dead simple tool to sign files and verify digital signatures.

minisign minisign is a dead simple tool to sign files and verify signatures. $ minisign -G

Dec 16, 2022
hack-browser-data is an open-source tool that could help you decrypt data from the browser.
hack-browser-data is an open-source tool that could help you decrypt data  from the browser.

hack-browser-data is an open-source tool that could help you decrypt data ( password|bookmark|cookie|history|credit card|download

Dec 23, 2022
mkcert is a simple tool for making locally-trusted development certificates
mkcert is a simple tool for making locally-trusted development certificates

A simple zero-config tool to make locally trusted development certificates with any names you'd like.

Jan 5, 2023
CLI Tool to remove unwanted connections from your Chia Node based on Geo IP Location.

chia-bouncer Tiny CLI tool to remove unwanted connections from your Chia Node based on the Geo IP Location (Country). The Tool is written in golang an

Jun 25, 2021
Sekura is an Encryption tool that's heavily inspired by the Rubberhose file system.

It allows for multiple, independent file systems on a single disk whose existence can only be verified if you posses the correct password.

Oct 16, 2022
EVM frontrunning tool

CAKE SNIPER FRONTRUNNING BOT =================================================== BEFORE STARTING: This bot require you to run the GETH client + use

Jan 9, 2023
ddlcpad, *Doki Doki Literature Club Plus Asset Decrypter*, is a tool to decrypt the encrypted asset file on the Doki Doki Literature Club Plus. Writing in golang.

ddlcpad įŽ€äŊ“中文 What is this ddlcpad is short of Doki Doki Literature Club Plus Asset Decrypter You can decrypt the *.cy file from Doki Doki Literature C

Nov 27, 2022
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

Jan 7, 2023
An easy tool to apply transactions to the current EVM state. Optimized for MEV.

sibyl A more embedded version of fxfactorial/run-evm-code. This tool makes it easy to apply transactions to the current EVM state. Call it a transacti

Dec 25, 2022
Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs
Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs

e7mon Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs. However, the execution client should be

Dec 20, 2022