Haaukins is a highly accessible and automated virtualization platform for security education, it has three main components (Docker, Virtualbox and Golang), the communication and orchestration between the components managed using Go programming language.
The main reason of having Go environment to manage and deploy something on Haaukins platform is that Go’s easy concurrency and parallelism mechanism. Want to get more insight about architecture of Haaukins visit architecture page
Our primary aim to involve anyone who desire to learn capturing the flag concept in cyber security which is widely accepted approach to learn how to find vulnerability on a system.
Despite of all existing platform, Haaukins provides its own virtualized environment to you with operating system which designed to find vulnerabilities.
Prerequisites
The following dependencies are required and must be installed separately in order to run daemon in your local environment.
There is no prerequisites for installing client to your environment.
Note: Linux can be used in virtualized environment as well.
Installation
To install daemon or client of Haaukins, there are some options, via binary files, which are ready to use, visit releases page.
More information about installation process, checkout following pages ;
Getting Dependencies
Haaukins platform uses go modules since version 1.6.4, hence it is quite easy to manage dependencies, you just need to run go mod download
Testing
Make sure that you are in $GOPATH/src/github.com/aau-network-security/haaukins/ directory, to run all test files, following command can be used
go test -v -short ./…
Re-compile proto
Haaukins platform uses gRPC on communication of client and daemon, so after updating the protocol buffer specification (i.e. daemon/proto/daemon.proto), corresponding golang code generation is done by doing the following:
cd $GOPATH/src/github.com/aau-network-security/haaukins/daemon/ protoc -I proto/ proto/daemon.proto –go_out=plugins=grpc:proto
In order to release a new version, run the script/release/release.go script as follows (choose depending on type of release):
$ go run $GOPATH/src/github.com/aau-network-security/haaukins/scripts/release/release.go major
$ go run $GOPATH/src/github.com/aau-network-security/haaukins/scripts/release/release.go minor
$ go run $GOPATH/src/github.com/aau-network-security/haaukins/scripts/release/release.go patch
The script will do the following:
VERSION and commit to gitHEAD with the new versionTravis automatically creates a release on GitHub and deploys on server.
Note: by default the script uses the ~/.ssh/id_rsa key to push to GitHub. You can override this settings by the HKN_RELEASE_PEMFILE env var.
Artificial Intelligence (AI) is changing how industries operate, automating processes, and driving new innovations. However,…
Image credit:pexels.com If you think back to the early days of personal computing, you probably…
In an era defined by technological innovation, the way people handle and understand money has…
The online world becomes more visually driven with every passing year. Images spread across websites,…
General Working of a Web Application Firewall (WAF) A Web Application Firewall (WAF) acts as…
How to Send POST Requests Using curl in Linux If you work with APIs, servers,…