• This repository has been archived on 24/Jan/2023
  • Stars
    star
    1,636
  • Rank 28,579 (Top 0.6 %)
  • Language
    Go
  • License
    GNU General Publi...
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Golang for Security Professionals

Hacking with Go

This is my attempt at filling the gap in Go security tooling. When starting to learn Go, I learned from a lot of tutorials but I could find nothing that is geared towards security professionals.

These documents are based on the Gray/Black Hat Python/C# series of books. I like their style. Join me as I learn more about Go and attempt to introduce Go to security denizens without fluff and through practical applications.

Table of Contents

Code

FAQ

Why not use Python?
Python reigns supreme in security and for good reason. It's a powerful programming language. There are a lot of supporting libraries out there both in security and for general use. However, I think Go has its merits and can occupy a niche.

Why not use other tutorials?
There are a lot of tutorials for Go out there. None are geared towards security professionals. Our needs are different, we want to write quick and dirty scripts that work (hence Python is so successful). Similar guides are available in Python and other programming languages.

Why not just use Black Hat Go?
There's a book named Black Hat Go by No Starch in production. Looking at the author list, I cannot compete with them in terms of experience and knowledge. That is a proper book with editors and a publisher while I am just some rando learning as I go. It does not take a lot of CPU power to decide the book will be better.

But the book is not out yet. Today is December 6th 2017 and the book is marked for release in August 2018. The book page does not have any released chapters or material. We can assume it's going to be similar to the other gray|black hat books. This repository and that book are inevitably going to have a lot of overlap. Think of this as warm up while we wait.

Update February 2020: Black Hat Go has been released. Please see the code samples at https://github.com/blackhat-go/bhg.

Rewrite in Rust/Haskell
Honestly I will be very much interested in a similar guide for Rust/Haskell geared for security people. Please let me know if you create one.

Feedback

I am always interested in feedback. There will be errors and there are always better ways to code. Please create an issue here. If this has helped you please let me know, it helps with the grind.

Other resources

There are tons of Go resources online. I am going to try not to re-hash what has been already created. Hacking with Go is not meant to be self-contained. When in doubt, use one of these resources or just search.

The following links helped me get started:

Similar resources to Hacking with Go:

License

More Repositories

1

Hugo-Octopress

Port of the classic Octopress theme to Hugo
CSS
140
star
2

Hugo-Shortcodes

Parsia's Hugo Shortcodes
HTML
97
star
3

eslinter

Manual JavaScript Linting is a Bug
Java
49
star
4

Go-Security

My Go security projects
Go
47
star
5

Parsia-Clone

Clone me and get your own authentic Parsia-Clone today.
CSS
43
star
6

Parsia-Code

Contains random code and some of my older projects
Python
28
star
7

golnk

Golang package for parsing Windows shell link binary (lnk or Windows shortcut) files.
Go
27
star
8

SSH-Scanner

Simple SSH vulnerability scanner based on SSH Harvester
Go
12
star
9

evil-electron

Backdoored Electron app.asar
JavaScript
12
star
10

parsiya.net

Source for my personal website
HTML
10
star
11

bug-diaries

A extension for Burp's free edition that mimics the pro edition's custom scan issues.
Java
8
star
12

extract-sni

Extracts SNIs from a pcap and generates output usable in `etc/hosts` file and Burp config for proxying non-proxy-aware thick clients using HTTPs.
Go
7
star
13

borrowedtime

Borrowed Time is a project and note management tool.
Go
5
star
14

personal-semgrep-server

Personal Semgrep Server for learning Rust.
Rust
5
star
15

burputils

A work-in-progress collection of utilities for creating Burp extensions in Python.
Python
4
star
16

EvilSwing

Pseudo-backdoored Jar File
Java
4
star
17

fearless-concurrency

Fight the Borrow Checker. Don't succumb to its tyranny.
Rust
3
star
18

burp-sample-extension-java

Sample Burp Extension in Java
Java
3
star
19

code-wsl-rce

Proof of Concept for CVE-2021-43891
JavaScript
3
star
20

semgrep-hotspots

Repository for my Semgrep hot spot rules
C++
2
star
21

go-helpers

My Go utility code.
Go
2
star
22

net-remoting

C#
2
star
23

malwareadventure

Small python game written in PAWS
Python
2
star
24

kubernetes-is-illegal-here.com

Source for kubernetes-is-illegal-here.com
HTML
1
star
25

tlsdump

Learning Golang by creating a TLS terminating proxy
Go
1
star
26

get-progamming-with-node-js

Code for "Get Programming with Node.js" book
JavaScript
1
star
27

parsiya.io

parsiya.io modified layout
HTML
1
star
28

Hugo-Octopress-Test

Demo website of vanilla Hugo-Octopress
HTML
1
star
29

begbounty.com

Source for begbounty.com
HTML
1
star
30

sublime-config

Instruction and config files for my Sublime Text setup - deprecated - use the URL instead
1
star
31

Octopress-Blog

Source for my old Octopress website
Ruby
1
star
32

parsiya.fa

Source for my Farsi blog.
CSS
1
star
33

gonepm

Golang package to detect backdoored packages in alternate npm registries.
Go
1
star