gowitness
is a website screenshot utility written in Golang, that uses Chrome Headless to generate screenshots of web interfaces using the command line, with a handy report viewer to process results. Both Linux and macOS is supported, with Windows support mostly working.
The main goal of gowitness
is to take website screenshots (and do that well!), while optionally saving any information it gathered along the way. That said, a short list of features include:
- Take website screenshots, obviously..., but fast and accurate!
- Scan a list of URLs, CIDRs, Nmap Results, Nessus Results and more.
- Ability to grab and save data (i.e., a request log, console logs, headers, cookies, etc.)
- Write data to many formats (sqlite database, jsonlines, csv, etc.)
- An epic web-based results viewer (if you saved data to SQLite) including a fully featured API!
- And many, many more!
There are a few ways to get gowitness, the simplest (assuming your $GOBIN
path is in your shell $PATH
) will be to use go install
:
go install github.com/sensepost/gowitness@latest
Otherwise, grab a platform specific release binary or compile from source. Then, scan your first target writing the results to a SQLite database and the screenshot to ./screenshots
with:
gowitness scan single --url "https://sensepost.com" --write-db
There are many, many flags and scan types in gowitness
. Just add -h
anywhere and read all about it!
For advanced installation information and other documentation, please refer to the wiki here.
gowitness
would not have been possible without some of these amazing projects: chi, chromedp, go-rod, cobra, gorm, glamour, go-nmap, wappalyzergo, goimagehash.
gowitness
is licensed under a GNU General Public v3 License. Permissions beyond the scope of this license may be available at http://sensepost.com/contact/.