Skip to content

Nhoya/gOSINT

Repository files navigation

gOSINT Build Status GitHub stars GitHub forks Twitter Go Report Card Codacy Badge

OSINT framework in Go

Take a look at the develop branch for more updates.

Introduction

gOSINT is a small OSINT framework in Golang. If you want, feel free to contribute and/or leave a feedback!

Like my project? Consider donation :)

Paypal Badge BTC Badge Monero Badge

What gOSINT can do

  • Find mails from git repository
  • Find Dumps for mail address
  • Search for mail address linked to domain/mail address in PGP keyring
  • Retrieve Info from domain whois (waiting to be implemented)
  • Search for mail address in source code
  • Retrieve Telegram Public Groups History

Building

You can use the building script, just clone the directory and execute it

git clone https://github.com/Nhoya/gOSINT
./build.sh

The package will be installed in /usr/local/bin

You can then call gOSINT from command line

$ gOSINT --help

Manual Building

Dependecies

Before building gOSINT manually you need to solve the dependencies:

go get "github.com/deckarep/golang-set"
go get "github.com/nhoya/goPwned"
go get "github.com/jessevdk/go-flags"
go get "gopkg.in/src-d/go-git.v4"
go get "github.com/jaytaylor/html2text"

git clone https://github.com/Nhoya/gOSINT && cd gOSINT && go build

Modules

Currently gOSINT is still an early version and few modules are supported

  • git support for mail retriving (using github API, bitbucket API or RAW clone and search)
  • Search for mails in PGP Server
  • https://haveibeenpwned.com/ search for mail in databreach
  • Retrive Telegram Public Group Messages
  • WHOIS support (the module is ready but has to be integrated)
  • Search for mail address in source
  • https://shodan.io search
  • Social Media search
  • Search Engine search

Usage

Usage:
  gOSINT [OPTIONS]

Application Options:
  -m, --module=[pgp|pwnd|git|plainSearch|telegram] Specify module
  -v, --version                                    Print version
      --url=                                       Specify target URL
      --gitAPI=[github|bitbucket]                  Specify git website API to use (for git module,optional)
  -c, --clone                                      Enable clone function for plainSearch module (need to specify repo URL)
      --mail=                                      Specify mail target (for pgp and pwnd module)
      --grace=                                     Specify telegram messages grace period (default: 15)
  -g, --tgroup=                                    Specify Telegram group/channel name
  -s, --tgstart=                                   Specify first message to scrape
  -e, --tgend=                                     Specify last message to scrape
      --dumpfile                                   Create and resume messages from dumpfile
      --ask-confirmation                           Ask confirmation before adding mail to set (for plainSearch module)
  -p, --path=                                      Specify target path (for plainSearch module)
  -f, --full                                       Make deep search using linked modules

Help Options:
  -h, --help                                       Show this help message

Examples

Currently gOSINT supports the following actions

gOSINT -m git --url=[RepoURL] --gitAPI [github|bitbucket] (optional)

retrieve mail from git commits

gOSINT -m git --url [RepoURL] --gitAPI [github|bitbucket] (optional) -f

pass the result to pgp search and pwnd module

gOSINT -m pwnd --mail [targetMail]

search for breaches where targetMail is preset

gOSINT -m pgp --mail [targetMail]

search for others mail in PGP Server

gOSINT -m pgp --mail [targetMail] -f

pass the result to haveibeenpwn module

gOSINT -m sourceSerch --path [targetDirectory]

search for mails in source code (recursively)

gOSINT -m sourceSearh --path [targetDirectory] --ask-confirmation

ask confirmation before adding mail to search results

gOSINT -m sourceSearch --path [targetDirectory] -f

pass the result to pgp search and haveibeenpwnd modules

gOSINT -m sourceSearch --clone --url [targetRepository]

clone and search mail in repository source

gOSINT -m sourceSearch --clone --url [targetRepository] -f

pass the resoult to pgp search and haveibeenpwnd modules

gOSINT -m sourceSearch --clone --url [targetRepository] --ask-confirmation

ask confirmation before adding mail to search results

gOSINT -m telegram --tgroup | -g [PublicGroupName]

retrieve message history for telegram public group

gOSINT -m telegram --tgroup | -g [PublicGroupName] --dumpfile

the output will be stored in a file, if the file is already populated it will resume from the last ID

gOSINT -m telegram --tgroup | -g [PublicGroupName] --dumpfile -s [masageID] -e [messageID]

Set start and end messages for scraping

PGP module Demo

asciicast

Pwnd module Demo

asciicast

Telegram Crawler Demo

asciicast