Book Image

Security with Go

By : John Daniel Leon, Karthik Gaekwad
Book Image

Security with Go

By: John Daniel Leon, Karthik Gaekwad

Overview of this book

Go is becoming more and more popular as a language for security experts. Its wide use in server and cloud environments, its speed and ease of use, and its evident capabilities for data analysis, have made it a prime choice for developers who need to think about security. Security with Go is the first Golang security book, and it is useful for both blue team and red team applications. With this book, you will learn how to write secure software, monitor your systems, secure your data, attack systems, and extract information. Defensive topics include cryptography, forensics, packet capturing, and building secure web applications. Offensive topics include brute force, port scanning, packet injection, web scraping, social engineering, and post exploitation techniques.
Table of Contents (15 chapters)

Creating a TCP proxy

Much like the HTTP proxy in Chapter 9, Web Applications, a TCP level proxy can be useful for debugging, logging, analyzing traffic, and privacy. When doing port scans, host discovery, and enumeration, a proxy can be useful to hide your location and source IP address. You may want to hide where you are coming from, disguise who you are, or just use a throwaway IP in case you get blacklisted for performing the requests.

The following example will listen in on a local port, forward a request to a remote host, and then send the response of the remote server back to the client. It will also log any requests.

You can test out this proxy by running the server in the previous section and then setting up the proxy to forward to that server. When the echoing server and the proxy server are running, use the TCP client to connect to the proxy server:

package main

import...