Go to file
Christopher Talib 8645eccdbd First commit 2020-09-13 23:07:25 +02:00
cmd First commit 2020-09-13 23:07:25 +02:00
models First commit 2020-09-13 23:07:25 +02:00
views First commit 2020-09-13 23:07:25 +02:00
.gitignore First commit 2020-09-13 23:07:25 +02:00
LICENSE.txt First commit 2020-09-13 23:07:25 +02:00
README.md First commit 2020-09-13 23:07:25 +02:00
go.mod First commit 2020-09-13 23:07:25 +02:00
go.sum First commit 2020-09-13 23:07:25 +02:00
server.go First commit 2020-09-13 23:07:25 +02:00

README.md

Alaska - Go client for Certstream

Alaska is a small wrapper around the Go client for Certstream. It allows you to get the certificates in real time and save them in a SQLite database. There is an small front end in React (imported remotely) and an API with Gin Gonic.

Install

git clone github.com/christalib/alaska
go build cmd/alaskad.go
go build server.go

You need a version of Go that has go modules.

Run

You can run only the server as:

./server

If you don't have already a database, it will create a certs.db database for you and run the appropriate migrations.

And there is a command line tool to allow you to get the certstream stream:

./alaskad

After, visit http://localhost:3000 to see the main page. There is a small extract of data but the interesting part is the API.

API

Alaska doesn't return you the entire model from Certstream for the moment. It creates a simpler model that focuses on threat hunting (and can and/or will be improved):

type Certificate struct {
	gorm.Model
	Aggregated  string `json:"aggregated"`
	C           string `json:"C"`
	ST          string `json:"ST"`
	L           string `json:"L"`
	O           string `json:"O"`
	OU          string `json:"OU"`
	CN          string `json:"CN"`
	Fingerprint string `json:"fingerprint"`
}

/api/certs

Returns 100 random certs from your database.

/api/certs/:name

This will run a search on the CN field or the fingerprint field and return you a possible result.

Milestones

  • Search implemented in the frontend
  • Better frontend
  • Fullest models
  • Upstream filters that don't save domains from a list
  • Customizable configuration

License

GNU General Public License v3.0