mirror of
https://github.com/Binject/awesome-go-security.git
synced 2024-11-24 08:42:29 +02:00
239 lines
16 KiB
Markdown
239 lines
16 KiB
Markdown
# awesome-go-security
|
|
|
|
A dedicated place for cool golang security projects, frameworks, libraries, and software.
|
|
|
|
Pulled from collections such as [awesome-go](https://github.com/avelino/awesome-go) and [awesome-golang-security](https://github.com/guardrailsio/awesome-golang-security)
|
|
|
|
|
|
## Auth
|
|
|
|
* [saml2aws](https://github.com/Versent/saml2aws) - CLI tool which enables you to login and retrieve AWS temporary credentials using a SAML IDP
|
|
|
|
|
|
## Encryption
|
|
|
|
* [bencrypt](https://github.com/awgh/bencrypt) - Encryption Abstraction Layer and Utilities.
|
|
* [holeysocks](https://github.com/audibleblink/HoleySocks) - Cross-Platform Reverse Socks Proxy in Go.
|
|
* [gokrb5](https://github.com/jcmturner/gokrb5) - Pure Go Kerberos library for clients and services.
|
|
* [go-tunnel](https://github.com/opencoff/go-tunnel) - TLS/SSL Tunnel - A modern STunnel replacement written in golang.
|
|
* [memguard](https://github.com/awnumar/memguard) - A pure Go library for handling sensitive values in memory.
|
|
* [nacl](https://github.com/kevinburke/nacl) - Go implementation of the NaCL set of API's.
|
|
* [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library.
|
|
* [saltpack](https://github.com/keybase/saltpack) - Modern crypto messaging format.
|
|
* [simple-scrypt](https://github.com/elithrar/simple-scrypt) - Scrypt package with a simple, obvious API and automatic cost calibration built-in.
|
|
* [sio](https://github.com/minio/sio) - Go implementation of the Data At Rest Encryption ([DARE](https://blog.minio.io/data-at-rest-encryption-done-right-7446c644ddb6)) format.
|
|
* [hashid](https://github.com/JamesHovious/hashid) - Given a string determine the possible hashing algorithms used to produce that string.
|
|
* [crunchy](https://github.com/muesli/crunchy) - Finds common flaws in passwords. Like cracklib
|
|
|
|
## Packers / Obfuscators
|
|
|
|
* [Amber](https://github.com/EgeBalci/Amber) - Amber is a reflective PE packer for bypassing security products and mitigations.
|
|
* [gscript](https://github.com/gen0cide/gscript) - Framework to rapidly implement custom droppers for all three major operating systems
|
|
* [gobfuscate](https://github.com/unixpickle/gobfuscate) - Obfuscate Go binaries and packages
|
|
* [goupx](https://github.com/pwaller/goupx) - Fix golang compiled binaries on x86_64 so that they can be packed with UPX.
|
|
* [stegify](https://github.com/DimitarPetrov/stegify) - Go tool for LSB steganography, capable of hiding any file within an image.
|
|
* [obfs4](https://github.com/Yawning/obfs4) - Yawning Angel courtesy mirror of the obfourscator
|
|
* [strobfus](https://github.com/znly/strobfus) - String obfuscation
|
|
|
|
|
|
## Private Key Infrastructure
|
|
|
|
* [acmetool](https://github.com/hlandau/acme) - ACME (Let's Encrypt) client tool with automatic renewal.
|
|
* [certigo](https://github.com/square/certigo) - A utility to examine and validate certificates in a variety of formats
|
|
* [CloudFlare SSL](https://github.com/cloudflare/cfssl) - CFSSL is CloudFlare's PKI/TLS swiss army knife. It is both a command line tool and an HTTP API server for signing, verifying, and bundling TLS certificates.
|
|
|
|
|
|
## SSH
|
|
|
|
* [ssh-vault](https://github.com/ssh-vault/ssh-vault) - encrypt/decrypt using ssh keys.
|
|
* [pam-ussh](https://github.com/uber/pam-ussh) - uber's ssh certificate pam module.
|
|
|
|
|
|
## File Transfer
|
|
|
|
* [dnd](https://github.com/0xcaff/dnd) - A web based drag and drop file transfer tool for sending files across the internet.
|
|
* [grab](https://github.com/cavaliercoder/grab) - Go package for managing file downloads.
|
|
* [onionbox](https://github.com/ciehanski/onionbox) - Send and recieve files through TOR
|
|
* [proxyd](https://github.com/hkparker/proxyd) - proxyd proxies data between TCP, TLS, and unix sockets
|
|
|
|
|
|
## Recon
|
|
|
|
* [goca](https://github.com/gocaio/goca) - Goca Scanner https://goca.io
|
|
|
|
|
|
## Phishing
|
|
|
|
* [evilginx2](https://github.com/kgretzky/evilginx2) - Standalone man-in-the-middle attack framework used for phishing login credentials along with session cookies, allowing for the bypass of 2-factor authentication.
|
|
* [gophish](https://github.com/gophish/gophish) - Open-Source Phishing Toolkit
|
|
* [modlishka](https://github.com/drk1wi/Modlishka) - Modlishka. Reverse Proxy. Phishing NG.
|
|
* [phishery](https://github.com/ryhanson/phishery) - An SSL Enabled Basic Auth Credential Harvester with a Word Document Template URL Injector
|
|
|
|
|
|
## Command and Control
|
|
|
|
* [chashell](https://github.com/sysdream/chashell) - Chashell is a Go reverse shell that communicates over DNS.
|
|
* [chisel](https://github.com/jpillora/chisel) - Chisel is a fast TCP tunnel, transported over HTTP, secured via SSH.
|
|
* [GoAT](https://github.com/petercunha/GoAT) - GoAT (Golang Advanced Trojan) is a trojan that uses Twitter as a C&C server
|
|
* [gobot2](https://github.com/SaturnsVoid/GoBot2) - Second Version of The GoBot Botnet, But more advanced.
|
|
* [goDoH](https://github.com/sensepost/goDoH) - A DNS-over-HTTPS Command & Control Proof of Concept.
|
|
* [goredshell](https://github.com/ahhh/goredshell) - A cross platform tool for verifying credentials and executing single commands
|
|
* [hershell](https://github.com/lesnuages/hershell) - Multiplatform reverse shell generator.
|
|
* [hideNsneak](https://github.com/rmikehodges/hideNsneak) - a CLI for ephemeral penetration testing
|
|
* [keyserver](https://github.com/leoloobeek/keyserver) - Easily serve HTTP and DNS keys for proper payload protection.
|
|
* [liberetto](https://github.com/apcera/libretto) - Libretto is a Golang library to create Virtual Machines (VMs) on any cloud and Virtual Machine hosting platforms such as AWS, Azure, OpenStack, vSphere, or VirtualBox.
|
|
* [merlin](https://github.com/Ne0nd0g/merlin/) - Merlin is a cross-platform post-exploitation HTTP/2 Command & Control server and agent written in golang.
|
|
* [shellz](https://github.com/evilsocket/shellz) - shellz is a small utility to track and control your ssh, telnet, web and custom shells and tunnels.
|
|
* [squidshell](https://github.com/tomsteele/shellsquid) - A dynamic HTTP and DNS reverse proxy
|
|
* [ratnet](https://github.com/awgh/ratnet) - Ratnet is a prototype anonymity network for mesh routing and embedded scenarios.
|
|
* [Venom](https://github.com/Dliv3/Venom) - A Multi-hop Proxy for Penetration Testers Written in Go
|
|
* [holepunch-client](https://github.com/function61/holepunch-client) - Totally self-contained SSH reverse tunnel written in Go
|
|
* [Platypus](https://github.com/WangYihang/Platypus) - A modern multiple reverse shell sessions manager written in go
|
|
* [GoMet](https://github.com/mimah/GoMet) - Multi-platform backdoor in Go. TCP forwarding, socks5, tunneling, shell, download, exec
|
|
|
|
|
|
## Web Framework Hardening
|
|
|
|
* [beego-security-headers](https://github.com/gosecguy/beego-security-headers) - Beego framework filter for easy security headers management.
|
|
* [badactor](https://github.com/jaredfolkins/badactor) - An in-memory application driven jailer written in Go.
|
|
* [goth](https://github.com/markbates/goth) - Provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
|
|
* [hsts](https://github.com/StalkR/hsts) - Go HTTP Strict Transport Security library
|
|
* [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware.
|
|
* [jwt](https://github.com/robbert229/jwt) - Clean and easy to use implementation of JSON Web Tokens (JWT).
|
|
* [jwt](https://github.com/pascaldekloe/jwt) - Lightweight JSON Web Token (JWT) library.
|
|
* [nosurf](https://github.com/justinas/nosurf) - CSRF protection middleware for Go.
|
|
* [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
|
|
* [osin](https://github.com/openshift/osin) - Golang OAuth2 server library.
|
|
* [paseto](https://github.com/o1egl/paseto) - Platform-Agnostic Security Tokens implementation in GO (Golang)
|
|
* [gorilla/csrf](https://github.com/gorilla/csrf) - Provides Cross-Site Request Forgery (CSRF) prevention middleware for Go web applications & services.
|
|
* [gorilla/securecookie](https://github.com/gorilla/securecookie) - Encodes and decodes authenticated and optionally encrypted cookie values for Go web applications.
|
|
* [secure](https://github.com/unrolled/secure) - Secure is an HTTP middleware for Go that facilitates most of your security needs for web applications.
|
|
|
|
|
|
## Web Application Testing
|
|
|
|
* [gobuster](https://github.com/OJ/gobuster) - Directory/file & DNS busting tool written in Go.
|
|
* [gofuzz](https://github.com/braaaax/gofuzz) - Aims to reproduce wfuzz's functionality and versatility. Based on gobuster.
|
|
* [recursebuster](https://github.com/C-Sto/recursebuster) - Rapid content discovery tool for recursively querying webservers, handy in pentesting and web application assessments
|
|
* [url2img](https://github.com/gen2brain/url2img) - HTTP server with API for capturing screenshots of websites.
|
|
* [madns](https://github.com/awgh/madns) - DNS server for pentesters.
|
|
* [rescope](https://github.com/root4loot/rescope) - Parse scope definitions to Burp Suite / ZAP compatible formats for import
|
|
* [Wuzz](https://github.com/asciimoo/wuzz) - Interactive cli tool for HTTP inspection.
|
|
|
|
## Network Scanners
|
|
|
|
* [amass](https://github.com/OWASP/Amass) - In-depth DNS Enumeration and Network Mapping
|
|
* [bettercap](https://github.com/bettercap/bettercap) - The Swiss Army knife for 802.11, BLE and Ethernet networks reconnaissance and MITM attacks.
|
|
* [furious](https://github.com/liamg/furious) - Golang IP/port scanner with SYN (stealth) scanning and device manufacturer identification
|
|
* [goddi](https://github.com/NetSPI/goddi) - goddi (go dump domain info) dumps Active Directory domain information
|
|
* [nextnet](https://github.com/hdm/nextnet) - nextnet is a pivot point discovery tool written in Go.
|
|
* [vulns](https://github.com/future-architect/vuls) - Vulnerability scanner for Linux/FreeBSD, agentless, written in Go
|
|
* [xray](https://github.com/evilsocket/xray) - XRay is a tool for recon, mapping and OSINT gathering from public networks.
|
|
* [subjack](https://github.com/haccer/subjack) - Subdomain Takeover tool written in Go
|
|
* [flightsim](https://github.com/alphasoc/flightsim) - A utility to generate malicious network traffic and evaluate controls
|
|
* [Cameradar](https://github.com/Ullaakut/cameradar) - An scanner with RTSP stream access tool that comes with its library
|
|
|
|
## Network Analysis
|
|
|
|
* [netcap](https://github.com/dreadl0ck/netcap) - The Netcap (NETwork CAPture) framework efficiently converts a stream of network packets into highly accessible type-safe structured data that represent specific protocols or custom abstractions.
|
|
* [goshark](https://github.com/sunwxg/goshark) - Package goshark use tshark to decode IP packet and create data struct to analyse packet.
|
|
* [gosnmp](https://github.com/soniah/gosnmp) - Native Go library for performing SNMP actions.
|
|
* [gopassivedns](https://github.com/Phillipmartin/gopassivedns) - PassiveDNS in Go.
|
|
* [nfp](https://github.com/awgh/nfp) - Network Finger Printer
|
|
|
|
|
|
## Exploit Development
|
|
|
|
* [binjection](https://github.com/Binject/binjection) - Injects additional machine instructions into various binary formats.
|
|
* [pwn](https://github.com/UlisseMini/pwn) - Pwntools for go!
|
|
* [monkey](https://github.com/bouk/monkey) - Monkey patching in Go
|
|
* [usercorn](https://github.com/lunixbochs/usercorn) - Dynamic binary analysis via platform emulation
|
|
|
|
|
|
## Detection Engines
|
|
|
|
* [fleet](https://github.com/kolide/fleet) - A flexible control server for osquery [fleets](https://kolide.com/fleet)
|
|
* [go-yara](https://github.com/hillu/go-yara) - Go Bindings for [YARA](https://github.com/plusvic/yara), the "pattern matching swiss knife for malware researchers (and everyone else)".
|
|
* [honeytrap](https://github.com/honeytrap/honeytrap) - Advanced Honeypot framework.
|
|
* [malace](https://github.com/maliceio/malice) - VirusTotal Wanna Be - Now with 100% more Hipster
|
|
* [sgt](https://github.com/OktaSecurityLabs/sgt) - Osquery Mangement Server
|
|
* [osquery-go](https://github.com/kolide/osquery-go) - Go bindings for osquery
|
|
|
|
|
|
## Chat Bots
|
|
|
|
* [marvin](https://github.com/awgh/marvin) - IRC bot with Markov spew, answering machine, and mixed drink recipes.
|
|
* [alfred](https://github.com/demisto/alfred) - A Slack bot to add security info to messages containing URLs, hashes and IPs.
|
|
* [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go.
|
|
* [flottbot](https://github.com/target/flottbot) - A chatbot framework written in Go. All configurations are made in YAML.
|
|
* [gohubsbot](https://gitlab.com/rek2/gohubsbot) - A minimal bridge bot between Mozilla Hubs and the Matrix chat protocol
|
|
|
|
## System Information
|
|
|
|
* [goinfo](https://github.com/matishsiao/goInfo) - get os information use golang
|
|
* [gopsutil](https://github.com/shirou/gopsutil) - psutil for golang
|
|
|
|
|
|
## General Post Exploitation
|
|
|
|
* [dlgs](https://github.com/gen2brain/dlgs) - Go cross-platform library for displaying dialogs and input boxes
|
|
* [goreddeath](https://github.com/ahhh/GoRedDeath) - Experimenting with destructive file attacks in Go.
|
|
* [goredloot](https://github.com/ahhh/GoRedLoot) - A tool to collect secrets (keys and passwords) and stage (compress and encrypt) them for exfiltration.
|
|
* [goredspy](https://github.com/ahhh/GoRedSpy) - Post exploitation desktop screensho / user monitoring tool
|
|
* [PandorasBox](https://github.com/Adversis/PandorasBox) - Security tool to quickly audit Public Box files and folders.
|
|
|
|
|
|
## Windows Specific
|
|
|
|
* [amsi](https://github.com/garethjensen/amsi) - Golang implementation of Microsoft Antimalware Scan Interface
|
|
* [go-acl](https://github.com/hectane/go-acl) - Go library for manipulating ACLs on Windows.
|
|
* [go-execute-assembly](https://github.com/lesnuages/go-execute-assembly) - Allow a Go process to dynamically load .NET assemblies.
|
|
* [go-ole](https://github.com/go-ole/go-ole) - Go bindings for Windows COM using shared libraries instead of cgo.
|
|
* [gosecretsdump](https://github.com/C-Sto/gosecretsdump) - Fast hash dumper for NTDS.dit files
|
|
* [go-winio](https://github.com/Microsoft/go-winio) - This repository contains utilities for efficiently performing Win32 IO operations in Go.
|
|
* [ldap](https://github.com/go-ldap/ldap) - Basic LDAP v3 functionality for the GO programming language.
|
|
* [winrm](https://github.com/masterzen/winrm) - Command-line tool and library for Windows remote command execution in Go.
|
|
* [wmi](https://github.com/StackExchange/wmi) - Package wmi provides a WQL interface to Windows WMI.
|
|
* [taskmaster](https://github.com/capnspacehook/taskmaster) - Windows Task Scheduler Library for Go.
|
|
* [gordp](https://github.com/Madnikulin50/gordp) - Rdp client on pure GoLang
|
|
* [w32](https://github.com/JamesHovious/w32) - A wrapper of Windows APIs for Go
|
|
* [goWMIExec](https://github.com/C-Sto/goWMIExec) - Pash the Hash, execute a command on a target machine using WMI by providing an NTLM hash for the specified user.
|
|
|
|
## MacOS Specific
|
|
|
|
* [damage](https://github.com/itchio/damage) - A toolkit for creating and manipulating DMGs
|
|
* [racoon](https://github.com/groob/racoon) - loop through a munki manifest and install everything
|
|
|
|
|
|
## Linux Specific
|
|
|
|
* [ftrace](https://github.com/evilsocket/ftrace) - Go library to trace Linux syscalls using the FTRACE kernel framework.
|
|
* [netstat](https://github.com/drael/GOnetstat) - Netstat implementation in Go.
|
|
* [opensnitch](https://github.com/evilsocket/opensnitch) - OpenSnitch is a GNU/Linux port of the Little Snitch application firewall.
|
|
* [passwd](https://github.com/willdonnelly/passwd) - A Go parser for the /etc/passwd file.
|
|
|
|
## Container Specific
|
|
|
|
* [kube-auto-analyzer](https://github.com/nccgroup/kube-auto-analyzer) - Kubernetes Auto Analyzer.
|
|
* [amicontained](https://github.com/genuinetools/amicontained) - Container introspection tool.
|
|
|
|
## Data Parsing
|
|
|
|
* [cacador](https://github.com/sroberts/cacador) - Indicator extractor of IOCs
|
|
|
|
|
|
## Static Code Analysis
|
|
|
|
* [go-callvis](https://github.com/TrueFurby/go-callvis) - go-callvis is a development tool to help visualize call graph of a Go program using interactive view.
|
|
* [go-diff](https://github.com/sergi/go-diff) - Diff, match and patch text in Go
|
|
* [gosec](https://github.com/securego/gosec) - Inspects source code for security problems by scanning the Go AST.
|
|
* [gometalinter](https://github.com/alecthomas/gometalinter) - Concurrently run Go lint tools and normalise their output.
|
|
|
|
|
|
## Assembly
|
|
|
|
* [avo](https://github.com/mmcloughlin/avo) - Generate x86 Assembly with Go
|
|
* [c2goasm](https://github.com/minio/c2goasm) - C to Go Assembly
|
|
* [shellcode](https://github.com/Binject/shellcode) - Shellcode library as a Go package
|
|
|