Giter Site home page Giter Site logo

j3ssie / metabigor Goto Github PK

View Code? Open in Web Editor NEW
1.1K 23.0 166.0 114 MB

OSINT tools and more but without API key

License: MIT License

Go 98.50% Makefile 0.69% Dockerfile 0.81%
osint security pentesting infosec bugbounty ip-osint ip-range asn reconnaissance subdomain

metabigor's Introduction

Metabigor
Metabigor - An Intelligence Tool but without API key


What is Metabigor?

Metabigor is Intelligence tool, its goal is to do OSINT tasks and more but without any API key.

Installation

Pre-built Binaries

You can download pre-built binaries for your platform from the releases page. Choose the appropriate binary for your operating system and architecture, download it, and place it in your PATH.

If the binary fails to execute, consider incorporating this into your environment: export ASSUME_NO_MOVING_GC_UNSAFE_RISK_IT_WITH=go1.20.

Building from Source

To install this project from source, you'll need Go installed on your system. If you haven't installed Go yet, you can follow the official installation instructions here.

git clone https://github.com/j3ssie/metabigor.git
cd metabigor
go install

Main features

  • Searching information about IP Address, ASN and Organization.
  • Wrapper for running rustscan, masscan and nmap more efficient on IP/CIDR.
  • Finding more related domains of the target by applying various techniques (certificate, whois, Google Analytics, etc).
  • Get Summary about IP address (powered by @thebl4ckturtle)

Usage

Discovery IP of a company/organization - metabigor net

The difference between net and netd command is that netd will get the dynamic result from the third-party source while net command will get the static result from the database.

# discovery IP of a company/organization
echo "company" | metabigor net --org -o /tmp/result.txt

# discovery IP of an ASN
echo "ASN1111" | metabigor net --asn -o /tmp/result.txt
cat list_of_ASNs | metabigor net --asn -o /tmp/result.txt

echo "ASN1111" | metabigor netd --asn -o /tmp/result.txt

Finding more related domains of the target by applying various techniques (certificate, whois, Google Analytics, etc) - metabigor related

Note some of the results are not 100% accurate. Please do a manual check first before put it directly to other tools to scan.

Some specific technique require different input so please see the usage of each technique.

Using certificate to find related domains on crt.sh

# Getting more related domains by searching for certificate info
echo 'Target Inc' | metabigor cert --json | jq -r '.Domain' | unfurl format %r.%t | sort -u # this is old command

# Getting more related domains by searching for certificate info
echo 'example Inc' | metabigor related -s 'cert'

Wrapper for running rustscan, masscan and nmap more efficient on IP/CIDR - metabigor scan

This command will require you to install masscan, rustscan and nmap first or at least the pre-scan result of them.

# Only run rustscan with full ports
echo '1.2.3.4/24' | metabigor scan -o result.txt

# Only run nmap detail scan based on pre-scan data
echo '1.2.3.4:21' | metabigor scan -s
cat list_of_ip_with_port.txt | metabigor scan -c 10 --8 -s -o result.txt
cat list_of_ip_with_port.txt | metabigor scan -c 10 --tmp /tmp/raw-result/ -s -o result.txt
echo '1.2.3.4 -> [80,443,2222]' | metabigor scan -R

# Run rustscan with full ports and nmap detail scan based on pre-scan data
echo '1.2.3.4/24' | metabigor scan --pipe | metabigor scan -R 

Using Reverse Whois to find related domains

echo 'example.com' | metabigor related -s 'whois'

Getting more related by searching for Google Analytics ID

# Get it directly from the URL
echo 'https://example.com' | metabigor related -s 'google-analytic'

# You can also search it directly from the UA ID too
metabigor related -s 'google-analytic' -i 'UA-9152XXX' --debug

Get Summary about IP address (powered by @thebl4ckturtle) - metabigor ipc

This will show you the summary of the IP address provided like ASN, Organization, Country, etc.

cat list_of_ips.txt | metabigor ipc --json

Extract Shodan IPInfo from internetdb.shodan.io

echo '1.2.3.4' | metabigor ip -open
1.2.3.4:80
1.2.3.4:443

# lookup CIDR range
echo '1.2.3.4/24' | metabigor ip -open -c 20
1.2.3.4:80
1.2.3.5:80

# get raw JSON response
echo '1.2.3.4' | metabigor ip -json

Demo

asciicast


Painless integrate Metabigor into your recon workflow?

OsmedeusEngine

This project was part of Osmedeus Engine. Check out how it was integrated at @OsmedeusEngine

Credits

Logo from flaticon by freepik

Disclaimer

This tool is for educational purposes only. You are responsible for your own actions. If you mess something up or break any laws while using this software, it's your fault, and your fault only.

License

Metabigor is made with ♥ by @j3ssiejjj and it is released under the MIT license.

Donation

paypal

"Buy Me A Coffee"

metabigor's People

Contributors

adilsoybali avatar j3ssie avatar noraj avatar the-debarghya 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

metabigor's Issues

Censys "unexpected keyword argument 'follow' "

(Metabigor) ubuntu@ip-172-17-34-190:~/tmp/Metabigor$ ./metabigor.py -s censys -q 'test' -o listone --debug

                    '@:           +#.
                  .@@@@@        ;@@@@+
                  @@. ;@';#@@#;`@@``+@.
                  @'   @@@@@@@@@@.  `@#
                  @+  @@#.    .#@@  `@+
                  #@'@@;        :@@.@@
                   @@@;  .,      :@@@:
                    @#  #@@@`     #@`
                   ;@. .@+,@@     .@;
                   #@  ,@, @@      @#
                   @@   @@@@;      @@
                   @@   `@@;       @@
                   @@           .++@#
                  #@@.         +@@@@@.
                 `@'@#        '@#  :@@
                 +@`+@:       @@    :@:
                 @@  @@:      @'     @@
                 ;@.  @@#.    @+    `@+
                  @#   +@@@@@@@@`   #@`
                  '@#. `+@@@@#;@@+;@@+
                   '@@@@@#     .@@@@'
                     ;@+`

              Metabigor v1.0 by @j3ssiejjj

                      ¯\_(ツ)_/¯

[] Loading session from: config.conf
[DEBUG] {'target': None, 'disable_pages': None, 'Credentials_censys': 'lillo74:xxx', 'debug': True, 'store_content': None, 'Cookies_fofa': 'None', 'Credentials_shodan': 'username:password', 'source_list': None, 'outdir': '.', 'Credentials_fofa': 'username:password', 'raw': 'raw', 'Credentials_zoomeye': 'username:password', 'Cookies_censys': 'None', 'brute': None, 'source': 'censys', 'module': 'custom', 'output': 'listone', 'Cookies_zoomeye': 'None', 'query': 'test', 'relatively': False, 'config': 'config.conf', 'Cookies_shodan': 'None'}
[
] Query: test
--~~~[ Starting scraping from Censys ]~~~--
[DEBUG] Checking session for Censys
[DEBUG] https://censys.io/account
[-] Look like Censys session is invalid.
[*] Reauthen using credentials from: config.conf
[DEBUG] https://censys.io/login
[DEBUG] lillo74:xxx
Traceback (most recent call last):
File "./metabigor.py", line 211, in
main()
File "./metabigor.py", line 207, in main
parsing_argument(args)
File "./metabigor.py", line 50, in parsing_argument
source_parsing(options)
File "./metabigor.py", line 76, in source_parsing
single_query(options)
File "./metabigor.py", line 129, in single_query
censys.Censys(options)
File "/home/ubuntu/tmp/Metabigor/modules/censys.py", line 22, in init
self.logged_in = self.check_session()
File "/home/ubuntu/tmp/Metabigor/modules/censys.py", line 38, in check_session
new_cookie = self.do_login()
File "/home/ubuntu/tmp/Metabigor/modules/censys.py", line 266, in do_login
self.options, really_login_url, cookies, data, follow=False)
TypeError: send_post() got an unexpected keyword argument 'follow'

cannot load hash/maphash

$ go run main.go
build command-line-arguments: cannot load hash/maphash: malformed module path "hash/maphash": missing dot in first path element

Error, no inicia sesión

Especifique mis credenciales en el config.conf pero recibo la siguiente respuesta:
[] Loading session from: config.conf
[DEBUG] {'config': 'config.conf', 'query': '143.0.101.21', 'outdir': '.', 'module': 'custom', 'target': None, 'debug': True, 'relatively': False, 'brute': None, 'disable_pages': None, 'store_content': None, 'output': 'output', 'raw': 'raw', 'source': 'shodan', 'source_list': None, 'Cookies_shodan': 'None', 'Cookies_censys': 'None', 'Cookies_fofa': 'None', 'Cookies_zoomeye': 'None', 'Credentials_shodan': 'usuariodeshodan:passworddeshodan', 'Credentials_censys': 'usuariodeshodan:passworddeshodan', 'Credentials_fofa': 'username:password', 'Credentials_zoomeye': 'username:password'}
[
] Query: 143.0.101.21
--~~~[ Starting scraping from Shodan ]~~~--
[DEBUG] Checking session for Shodaan
[DEBUG] https://account.shodan.io/
[-] Look like shodan session is invalid.
[*] Reauthen using credentials from: config.conf
[DEBUG] https://account.shodan.io/login
[DEBUG] usuariodeshodan:passworddeshodan
Traceback (most recent call last):
File "./metabigor.py", line 211, in
main()
File "./metabigor.py", line 207, in main
parsing_argument(args)
File "./metabigor.py", line 50, in parsing_argument
source_parsing(options)
File "./metabigor.py", line 76, in source_parsing
single_query(options)
File "./metabigor.py", line 126, in single_query
shodan.Shodan(options)
File "/Users/xxx/git/Metabigor/modules/shodan.py", line 24, in init
self.logged_in = self.check_session()
File "/Users/xxx/git/Metabigor/modules/shodan.py", line 43, in check_session
new_cookie = self.do_login()
File "/Users/xxx/git/Metabigor/modules/shodan.py", line 281, in do_login
self.options, really_login_url, cookies, data, follow=False)
TypeError: send_post() got an unexpected keyword argument 'follow'

ZoomEye

root@kali:~/Metabigor# ./metabigor.py -s zoomeye -q 'app:"tomcat"'

                    '@:           +#.  
                  .@@@@@        ;@@@@+ 
                  @@. ;@';#@@#;`@@``+@.
                  @'   @@@@@@@@@@.  `@#
                  @+  @@#.    .#@@  `@+
                  #@'@@;        :@@.@@ 
                   @@@;  .,      :@@@: 
                    @#  #@@@`     #@`  
                   ;@. .@+,@@     .@;  
                   #@  ,@, @@      @#  
                   @@   @@@@;      @@  
                   @@   `@@;       @@  
                   @@           .++@#  
                  #@@.         +@@@@@. 
                 `@'@#        '@#  :@@ 
                 +@`+@:       @@    :@:
                 @@  @@:      @'     @@
                 ;@.  @@#.    @+    `@+
                  @#   +@@@@@@@@`   #@`
                  '@#. `+@@@@#;@@+;@@+ 
                   '@@@@@#     .@@@@'  
                     ;@+`
        
              Metabigor v1.0 by @j3ssiejjj

                      ¯\_(ツ)_/¯

[] Loading session from: config.conf
[
] Query: app:"tomcat"
--~~~[ Starting scraping from zoomeye ]~~~--
[-] Look like ZoomEye session is invalid.
Traceback (most recent call last):
File "./metabigor.py", line 211, in
main()
File "./metabigor.py", line 207, in main
parsing_argument(args)
File "./metabigor.py", line 50, in parsing_argument
source_parsing(options)
File "./metabigor.py", line 76, in source_parsing
single_query(options)
File "./metabigor.py", line 132, in single_query
zoomeye.ZoomEye(options)
File "/root/Metabigor/modules/zoomeye.py", line 27, in init
self.logged_in = self.check_session()
File "/root/Metabigor/modules/zoomeye.py", line 46, in check_session
del self.headers['Cube-Authorization']
KeyError: 'Cube-Authorization'
root@kali:~/Metabigor#

Something in this import Issue `go4.org/unsafe/assume-no-moving-gc`

slax@SLAXO:~$ metabigor
panic: Something in this program imports go4.org/unsafe/assume-no-moving-gc to declare that it assumes a non-moving garbage collector, but your version of go4.org/unsafe/assume-no-moving-gc hasn't been updated to assert that it's safe against the go1.19 runtime. If you want to risk it, run with environment variable ASSUME_NO_MOVING_GC_UNSAFE_RISK_IT_WITH=go1.19 set. Notably, if go1.19 adds a moving garbage collector, this program is unsafe to use.

goroutine 1 [running]:
go4.org/unsafe/assume-no-moving-gc.init.0()
        /home/slax/go/pkg/mod/go4.org/unsafe/[email protected]/untested.go:25 +0x1f4

SyntaxError: invalid syntax

home@ubuntu:~/main/Metabigor# ./metabigor.py -s fofa -q "test"
Traceback (most recent call last):
File "./metabigor.py", line 7, in
from core import config
File "/root/main/Metabigor/core/config.py", line 11, in
from . import utils
File "/root/main/Metabigor/core/utils.py", line 42
print(f'{GR}' + '-'*40)
^
SyntaxError: invalid syntax

[feature] dockerized version

Hello, would you accept a PR to dockerize this application?
I personally like the possibility to run software in containers so I don't have to worry about installing them on my system.

Inventory notification

Metabigor has been inventoried on Rawsec's CyberSecurity Inventory.

https://inventory.rawsec.ml/tools.html#Metabigor

What is Rawsec's CyberSecurity Inventory?

An inventory of tools and resources about CyberSecurity. This inventory aims to help people to find everything related to CyberSecurity.

More details about features here.

Note: the inventory is a FLOSS (Free, Libre and Open-Source Software) project.

Why should you care about being inventoried?

Mainly because this is giving visibility to your tool and improve its referencing.

Badges

The badge shows to your community that your are inventoried. It looks good but also shows you care about your project, that your tool is referenced.

Feel free to claim your badge here: http://inventory.rawsec.ml/features.html#badges, it looks like that Rawsec's CyberSecurity Inventory, but there are several styles available.

Want to thank us?

If you want to thank us, you can help make our open project better known by tweeting about it! For example: Twitter URL

So what?

That's all, this message is just to notify you if you care. Else you can close this issue.

"google-chrome" executable file not found in $PATH

Running this on VPS:

$ lsb_release -a
Description:	Ubuntu 20.04 LTS
Release:	20.04
Codename:	focal

With example command and verbose -v flag:

$ echo "Tesla" | metabigor net -v --org
[0000]  INFO Metabigor beta v1.4 by @j3ssiejjj
[0000]  INFO Store log file to: /tmp/mtg-log/metabigor.log
[0000]  INFO [*] Starting get IP Info for Organization: Tesla
[0000]  INFO Get data from: http://asnlookup.com/api/lookup?org=Tesla
[0000]  INFO Get data from: https://bgp.he.net/search?search%5Bsearch%5D=Tesla&commit=Search
[0000]  INFO Get data from: https://bgpview.io/search/Tesla
[0000]  INFO ERRR: exec: "google-chrome": executable file not found in $PATH
[0000]  INFO ERRR: exec: "google-chrome": executable file not found in $PATH
...<CIDR results redacted>...

Doubt about installation

Hello,

I follow the steps to install metabigor , after run

go get -u github.com/j3ssie/metabigor

I've configured the variables, but I run metabigor don't run, I have this sudo metabigor -h sudo: metabigor: command not found

export GOROOT=/home/myuser/programming/go/go-1.4
export GOPATH=/home/myuser/programming/go/packages
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Can anyone help me ?

A greeting and thanks

unsafe runtime due to `go4.org/unsafe/assume-no-moving-gc`

echo "ASN1111" | metabigor netd --asn -o /tmp/result.txt

panic: Something in this program imports go4.org/unsafe/assume-no-moving-gc to declare that it assumes a non-moving garbage collector, but your version of go4.org/unsafe/assume-no-moving-gc hasn't been updated to assert that it's safe against the go1.21 runtime. If you want to risk it, run with environment variable ASSUME_NO_MOVING_GC_UNSAFE_RISK_IT_WITH=go1.21 set. Notably, if go1.21 adds a moving garbage collector, this program is unsafe to use.

goroutine 1 [running]:
go4.org/unsafe/assume-no-moving-gc.init.0()
/root/go/pkg/mod/go4.org/unsafe/[email protected]/untested.go:25 +0x1da
`

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.