Code Monkey home page Code Monkey logo

gosint's Introduction

gOSINT Build Status Build status GitHub stars GitHub forks Twitter Go Report Card Codacy Badge Mentioned in Awesome Pentest

OSINT Swiss Army Knife in Go

Take a look at the develop branch for more updates.

Introduction

gOSINT is a multiplatform OSINT Swiss army knife in Golang. If you want, feel free to contribute and/or leave a feedback!

Like my project? Please consider donation :)

Paypal Badge BTC Badge Monero Badge Ethereum Badge

What gOSINT can do

Currently gOSINT has different modules:

  • git support for mail retriving (using github API, or plain clone and search)
  • Search for mails, aliases and KeyID in PGP Server
  • haveibeenpwned.com/ search for mail in databreach
  • Retrieve Telegram Public Group Message History
  • Search for mail address in source
  • shodan.io search
  • Subdomain enumeration using crt.sh
  • Given a phone number, can retrieve the owner name
  • Search for password relatives to email address :P
  • Reverse Whois given Email Address or Name

A complete features list and roadmap is available under Projects Tab

Installation

Dependencies

gOSINT currently depends from tesseract-ocr so you need to install on your system tesseract-ocr, libtesseract-dev and libleptonica-dev

Install on a go-dependent way (is the easier and faster way)

You can install gOSINT using go get with a simple

go get github.com/Nhoya/gOSINT/cmd/gosint

Install On Windows

Check the AppVeyor Build page for builds

Manual Building

Building On Linux

Build gOSINT on linux is really easy, you just need to install dep, clone the repository and make and make install

Building On Windows

If you have make installed you can follow the Linux instructions (and skip make install) otherwise be sure to have dep installed, clone the directory and run

dep ensure
go build cmd/gosint.go

Running on Docker

gOSINT currently supports container only for the rolling release, after the 1.0.0 release we will start working on a versioned Dockerfile. If you want to try it out:

mkdir gOSINT
wget https://raw.githubusercontent.com/Nhoya/gOSINT/develop/build/package/Dockerfile
docker build gosint .
docker run gosint bash

Usage

usage: gOSINT [<flags>] <command> [<args> ...]

An Open Source INTelligence Swiss Army Knife

Flags:
  --help     Show context-sensitive help (also try --help-long and --help-man).
  --json     Enable JSON Output
  --debug    Enable Debug Output
  --version  Show application version.
  --verify   Verify URL Status Code

Args:
  <url>  Domain URL

Commands:
  help [<command>...]
    Show help.


  git [<flags>] <url>
    Get Emails and Usernames from repositories

    --method=[clone|gh]  Specify the API to use or plain clone
    --recursive          Search for each repository of the user

  pwd [<flags>] <mail>...
    Check dumps for Email address using haveibeenpwned.com

    --get-passwords  Search passwords for mail

  pgp <mail>...
    Get Emails, KeyID and Aliases from PGP Keyring


  shodan [<flags>] <host>...
    Get info on host using shodan.io

    --new-scan  Schedule a new shodan scan (1 Shodan Credit will be deducted)
    --honeypot  Get honeypot probability

  shodan-query <query>
    Send a query to shodan.io


  axfr [<flags>] <url>...
    Subdomain enumeration using crt.sh

    --verify  Verify URL Status Code

  pni <number>...
    Retrieve info about a give phone number


  telegram [<flags>] <group>
    Telegram public groups and channels scraper

    --start=START  Start message #
    --end=END      End message #
    --grace=15     The number of messages that will be considered deleted before the scraper stops
    --dump         Creates and resume messages from dumpfile

  rev-whois <target>
    Find domains for name or email address

Configuration file

The default configuration file is in $HOME/.config/gosint.toml for linux environment and ./config/toml for windows env

You can place it in different paths, load prioriy is:

  • .
  • ./config/ or $HOME/.config/
  • /etc/gosint/

If some API Keys are missing insert it there

PGP module Demo (OUTDATED)

asciicast

Pwnd module Demo (OUTDATED)

asciicast

Telegram Crawler Demo (OUTDATED)

asciicast

Shodan module Demo (OUTDATED)

asciicast

gosint's People

Contributors

gspera avatar nhoya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gosint's Issues

Modules concatenation

gOSINT in has been rewritten almost entirely, replacing modules logic and enhancing performances. This unfortunately caused the concatenation of the module (available in 0.5 stable) is now gone. Since it's a great feature I'm planning to reintegrate it for the new 1.0 release.

Reworking git module

At the moment the git module is limited to git API or memory space.
This can lead to 2 problems:

  • The git website API are too limited and will block the mail fetching + one request per 100 commits is not so good
  • Since the plain search is done cloning the entire repo in memory is not a really good thing with big repos

The possible solution was to implement the equivalent for git clone -n but is not currently supported from go-git and i don't want to depend from a wrapper like https://github.com/libgit2/git2go (pure go is always better), less dependencies, less problems

So I'm waiting the implementation of src-d/go-git/pull/721 to proceed with the reworking

The new module should be way faster and less resource hungry

Lowering dependencies complexity

At the moment gOSINT heavily depends on too many packages, would be good to rewrite some of them as standalone functions (when possible)

Here is a visualization graph for the dev branch
dependencies

How do I uninstall gOSINT?

This tool isn't Cyber enough for my liking, and I can't uninstall it.

Please provide uninstall.sh script

Thanks















:trollface:

Modules suggestion

https://www.criminalip.io/ - Criminal IP is a specialized Cyber Threat Intelligence (CTI) search engine that allows users to search for various security-related information such as malicious IP addresses, domains, banners, etc. It can be widely integrated

Add workers for pagination

After the implementation of pagination for GitHub and BitBucket API (thanks to the report on #1) i was thinking about using some workers to speedup the scraping process.

My idea is to spawn a worker every 5 pages.

Any idea, suggestion and contribution is well accepted.

The current solution available at paginator spawns a goroutine for each page

HIBP Module not working

Since HIBP moved an API and subscription-based model the gOSINT module is not working properly. Working on a workaround ASAP

Build fails when using reproducible build method

Hello, thank you for the work.

When you try to use a reproducble build process, the package fails.

Steps to reproduce:

1. go mod init go.mod
2. go mod tidy
3. go mod download
4. go build -o gosint -v -ldflags="-s -w" cmd/gosint/main.go

Then wait for:

└──╼ $ make gosint_build
go build -o gosint -v -ldflags="-s -w" cmd/gosint/main.go
package command-line-arguments
	cmd/gosint/main.go:7:2: use of internal package github.com/Nhoya/gOSINT/internal/axfr not allowed
package command-line-arguments
	cmd/gosint/main.go:8:2: use of internal package github.com/Nhoya/gOSINT/internal/git not allowed
package command-line-arguments
	cmd/gosint/main.go:9:2: use of internal package github.com/Nhoya/gOSINT/internal/hibp not allowed
package command-line-arguments
	cmd/gosint/main.go:10:2: use of internal package github.com/Nhoya/gOSINT/internal/pgp not allowed
package command-line-arguments
	cmd/gosint/main.go:11:2: use of internal package github.com/Nhoya/gOSINT/internal/pni not allowed
package command-line-arguments
	cmd/gosint/main.go:12:2: use of internal package github.com/Nhoya/gOSINT/internal/reversewhois not allowed
package command-line-arguments
	cmd/gosint/main.go:13:2: use of internal package github.com/Nhoya/gOSINT/internal/shodan not allowed
package command-line-arguments
	cmd/gosint/main.go:14:2: use of internal package github.com/Nhoya/gOSINT/internal/telegram not allowed
package command-line-arguments
	cmd/gosint/main.go:15:2: use of internal package github.com/Nhoya/gOSINT/internal/utils not allowed
make: *** [Makefile:14: gosint_build] Error 1

The change was introduced in https://golang.org/doc/go1.4#internalpackages, would be good if you change the repo name and update the dependencies pointing to the new directory name.

Thank you.

Regards,
Ed

Run in Docker

As with many open-source tools, it's encouraged to create Dockerfile, and compose, to run the project in isolated, container environment.

Shodan Module

Shodan Module is already in the develop version, will be released soon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.