Skip to content

A modular information gathering tool with support for many sources of OSINT.

License

Notifications You must be signed in to change notification settings

Hacktix/OpenKeyscore

Repository files navigation

OpenKeyscore

A modular information gathering tool with support for many sources of OSINT.

The Concept

OpenKeyscore is a relatively simple command line tool that automatically scrapes the internet for publicly available information based on the data you feed it. In the process of doing so, it builds a network of information, using the following key components:

Nodes

A "node" is an abstract term for a piece of information. Pretty much anything can be a node: A Username, an Email Address, a Location Name, etc. The data that the user initially inputs is converted to nodes on startup. These nodes are then "fed" to so-called "Processors" which query publicly available OSINT sources for more information. If anything is found, the processor returns more nodes, which are then again fed to other processors, and so on.

Processors

A "processor" is a class which is capable of consuming pre-determined types of nodes and querying OSINT sources using information from the consumed nodes. The data returned from the external endpoint is then processed (hence the name "Processor") and converted into more nodes which can then be fed to other processors.

Quickstart

In order to get started, you will need to create a KeyScore Data file (.ksd by default). This file is a basic text file, and should have the following format:

<NODE_TYPE>:<PARAM>
<NODE_TYPE>:<PARAM1>:<PARAM2...>

The amount of parameters required depends on the node type. If the : character is required to be part of the parameter data itself, you can escape it using a backslash: \:

Once you have created the file, you can start OpenKeyscore by using the following command: python3 openkeyscore.py yourfile.ksd

For more detailed options, please refer to the following documentation:

Common Node Types

Node Type Parameter
Username A username used in any service
Email A standard email address
Website A domain name or URL to a website

Command Line Options

Option Description
-d | --depth The maximum amount of "child nodes" counted from the initial set of nodes before the scanner stops. Default: 5
--html An optional filename of an HTML file which will be generated by PyVis to visualize the scanners findings.
-l | --log-level The minimum log level which should be output. Default: INFO

Disclaimer

This software is intended for educational and security research use. Under no circumstances should the author of this software be held accountable for any damages caused by the use of this software. The software itself exclusively utilizes publicly available information during its operation and therefore does not violate any laws or terms and conditions.

About

A modular information gathering tool with support for many sources of OSINT.

Topics

Resources

License

Stars

Watchers

Forks

Languages