Convert Figma logo to code with AI

kpcyrd logosn0int

Semi-automatic OSINT framework and package manager

1,977
177
1,977
51

Top Related Projects

8,358

Adversary Emulation Framework

The Social-Engineer Toolkit (SET) repository from TrustedSec - All new versions of SET will be deployed here.

SpiderFoot automates OSINT for threat intelligence and mapping your attack surface.

E-mails, subdomains and names Harvester - OSINT

10,989

Incredibly fast crawler designed for OSINT.

20,301

Fast and customizable vulnerability scanner based on simple YAML based DSL.

Quick Overview

sn0int is an advanced, semi-automatic OSINT (Open Source Intelligence) framework and package manager. It's designed for gathering intelligence about various targets, including IP addresses, domain names, URLs, email addresses, phone numbers, and social media accounts. sn0int is highly extensible and allows users to write their own modules in Lua.

Pros

  • Highly extensible with custom Lua modules
  • Comprehensive OSINT capabilities for various target types
  • Built-in package manager for easy module sharing and installation
  • Powerful command-line interface for efficient operation

Cons

  • Steep learning curve for beginners
  • Requires some programming knowledge to create custom modules
  • Limited graphical user interface options
  • May require additional setup for certain modules or data sources

Getting Started

To get started with sn0int, follow these steps:

  1. Install sn0int:

    cargo install sn0int
    
  2. Run sn0int:

    sn0int
    
  3. Add a target:

    db add domain example.com
    
  4. Run a module:

    run dns-resolve
    
  5. View results:

    select * from ipaddr
    

For more detailed instructions and advanced usage, refer to the official documentation at https://sn0int.readthedocs.io/.

Competitor Comparisons

8,358

Adversary Emulation Framework

Pros of Sliver

  • More comprehensive C2 framework with advanced features like dynamic code generation
  • Supports multiple protocols (DNS, HTTP, MTLS) for communication
  • Active development with frequent updates and community support

Cons of Sliver

  • Steeper learning curve due to more complex functionality
  • Requires more resources to run and manage
  • Primarily focused on post-exploitation, less suited for OSINT

Code Comparison

sn0int (Rust):

pub fn run() -> Result<()> {
    let args = cli::parse();
    let config = Config::load(&args)?;
    let db = Database::establish(&config)?;
    // ...
}

Sliver (Go):

func main() {
    appDir := assets.GetRootAppDir()
    serverConfig := configs.ServerConfigFromFile(appDir)
    server, err := core.StartServer(serverConfig)
    // ...
}

Both projects use different languages and have distinct purposes. sn0int is an OSINT framework written in Rust, while Sliver is a C2 framework written in Go. The code snippets show their respective entry points, highlighting the difference in focus and implementation.

The Social-Engineer Toolkit (SET) repository from TrustedSec - All new versions of SET will be deployed here.

Pros of social-engineer-toolkit

  • Comprehensive suite of social engineering tools
  • Well-established project with a large user base
  • Regularly updated with new features and improvements

Cons of social-engineer-toolkit

  • Primarily focused on social engineering attacks
  • Less modular and extensible compared to sn0int
  • May require more setup and configuration for specific tasks

Code Comparison

sn0int:

pub fn run() -> Result<()> {
    let args = cli::parse();
    let config = Config::load()?;
    let db = Database::connect(config.database.as_str())?;
    // ...
}

social-engineer-toolkit:

def main():
    # print main menu
    show_main_menu = create_menu(text.main_text, text.main_menu)
    while True:
        main_menu_choice = input(show_main_menu).lower()
        # ...

Both projects use different programming languages and have distinct architectures. sn0int is written in Rust and focuses on modularity, while social-engineer-toolkit is written in Python and provides a menu-driven interface for various social engineering tools.

SpiderFoot automates OSINT for threat intelligence and mapping your attack surface.

Pros of SpiderFoot

  • More extensive and diverse set of modules for OSINT gathering
  • User-friendly web interface for easier operation and result visualization
  • Larger community and more frequent updates

Cons of SpiderFoot

  • Heavier resource consumption, especially for large-scale scans
  • Steeper learning curve due to the vast array of features and options

Code Comparison

SpiderFoot (Python):

class sfp_example(SpiderFootPlugin):
    def handleEvent(self, event):
        eventName = event.eventType
        srcModuleName = event.module
        eventData = event.data
        # Plugin logic here

sn0int (Rust):

pub fn run(ctx: &mut Args, opts: &Opts) -> Result<()> {
    let args = ctx.args();
    let client = reqwest::Client::new();
    // Module logic here
}

Summary

SpiderFoot offers a more comprehensive OSINT toolkit with a user-friendly interface, making it suitable for users who need a wide range of data sources and visualization options. However, it may require more resources and have a steeper learning curve.

sn0int, written in Rust, is likely more efficient in terms of resource usage and may be easier to pick up for users familiar with command-line tools. It might be more suitable for targeted, specific OSINT tasks or for integration into other workflows.

The choice between the two depends on the user's specific needs, technical expertise, and available resources.

E-mails, subdomains and names Harvester - OSINT

Pros of theHarvester

  • More focused on email and domain harvesting
  • Supports a wider range of search engines and APIs
  • Easier to use for beginners with a simpler command-line interface

Cons of theHarvester

  • Less extensible compared to sn0int's plugin system
  • Limited data processing and analysis capabilities
  • Fewer advanced features for OSINT workflows

Code Comparison

theHarvester:

def start(self):
    self.process()
    self.store_results()
    self.output_results()

sn0int:

fn run(&mut self) -> Result<()> {
    self.setup()?;
    self.execute()?;
    self.teardown()
}

theHarvester focuses on a straightforward process-store-output workflow, while sn0int uses a more modular setup-execute-teardown approach, reflecting its plugin-based architecture.

Both tools are valuable for OSINT, but sn0int offers more flexibility and advanced features for experienced users, while theHarvester excels in quick email and domain harvesting tasks. The choice between them depends on the specific requirements of the OSINT investigation and the user's level of expertise.

10,989

Incredibly fast crawler designed for OSINT.

Pros of Photon

  • Focused on web crawling and information gathering from websites
  • Includes features for extracting emails, social media accounts, and other data
  • Supports multiple output formats including JSON and CSV

Cons of Photon

  • More limited scope compared to sn0int's broader OSINT capabilities
  • Less extensible without a plugin system or scripting support
  • May require more manual analysis of results

Code Comparison

Photon (Python):

def photon(url, level, threads, delay, timeout, cook):
    # ... (crawling logic)
    for url in urls:
        # Extract information from URL
    return extracted_data

sn0int (Rust):

fn run() -> Result<()> {
    let args = Args::parse();
    let db = Database::connect(&args.database)?;
    let engine = Engine::new(db, args)?;
    engine.run()
}

The code snippets highlight the different approaches:

  • Photon focuses on web crawling and data extraction
  • sn0int provides a more comprehensive framework for OSINT operations

Both tools serve different purposes within the realm of information gathering and analysis, with Photon being more specialized for web crawling and sn0int offering a broader set of OSINT capabilities.

20,301

Fast and customizable vulnerability scanner based on simple YAML based DSL.

Pros of nuclei

  • Extensive template library for various security checks and vulnerabilities
  • Highly customizable and extensible scanning engine
  • Active community and frequent updates

Cons of nuclei

  • Steeper learning curve for creating custom templates
  • Can be resource-intensive for large-scale scans
  • Primarily focused on web application security

Code comparison

nuclei:

id: example-template
info:
  name: Example Template
  author: John Doe
  severity: info
requests:
  - method: GET
    path:
      - "{{BaseURL}}/example"

sn0int:

-- Example module
function run(arg)
    local url = url_join(arg, '/example')
    local req = http_request(url, {
        method='GET',
    })
    local r = http_send(req)
    if last_err() then return end
    -- Process response
end

Key differences

  • nuclei uses YAML-based templates for defining scans, while sn0int uses Lua scripts
  • nuclei is more focused on web application security, whereas sn0int is a broader OSINT framework
  • sn0int provides a more programmatic approach to information gathering and analysis
  • nuclei offers a larger collection of pre-built templates for common vulnerabilities

Both tools are valuable for security professionals, with nuclei excelling in web application security scanning and sn0int offering a versatile platform for OSINT and reconnaissance tasks.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

sn0int crates.io Documentation Status irc.hackint.org:6697/#sn0int @sn0int @sn0int@chaos.social registry status

sn0int (pronounced /snoɪnt/) is a semi-automatic OSINT framework and package manager. It's used by IT security professionals, bug bounty hunters, law enforcement agencies and in security awareness trainings to gather intelligence about a given target or about yourself. sn0int is enumerating attack surface by semi-automatically processing public information and mapping the results in a unified format for followup investigations.

Among other things, sn0int is currently able to:

  • Harvest subdomains from certificate transparency logs and passive dns
  • Mass resolve collected subdomains and scan for http or https services
  • Enrich ip addresses with asn and geoip info
  • Harvest emails from pgp keyservers and whois
  • Discover compromised logins in breaches
  • Find somebody's profiles across the internet
  • Enumerate local networks with unique techniques like passive arp
  • Gather information about phonenumbers
  • Harvest activity and images from social media profiles
  • Basic image processing

sn0int is heavily inspired by recon-ng and maltego, but remains more flexible and is fully opensource. None of the investigations listed above are hardcoded in the source, instead they are provided by modules that are executed in a sandbox. You can easily extend sn0int by writing your own modules and share them with other users by publishing them to the sn0int registry. This allows you to ship updates for your modules on your own instead of pull-requesting them into the sn0int codebase.

For questions and support join us on IRC: irc.hackint.org:6697/#sn0int

asciicast

Installation

Packaging status

Archlinux

pacman -S sn0int

Mac OSX

brew install sn0int

Debian/Ubuntu/Kali

There are prebuilt packages signed by a debian maintainer:

sudo apt install curl sq
curl -sSf https://apt.vulns.sexy/kpcyrd.pgp | sq dearmor | sudo tee /etc/apt/trusted.gpg.d/apt-vulns-sexy.gpg > /dev/null
echo deb http://apt.vulns.sexy stable main | sudo tee /etc/apt/sources.list.d/apt-vulns-sexy.list
apt update

Docker

docker run --rm --init -it -v "$PWD/.cache:/cache" -v "$PWD/.data:/data" ghcr.io/kpcyrd/sn0int

Alpine

apk add sn0int

OpenBSD

pkg_add sn0int

Gentoo

layman -a pentoo
emerge --ask net-analyzer/sn0int

NixOS

nix-env -i sn0int

For everything else please have a look at the detailed list.

Getting started

Rationale

This tool was written for companies to help them understand their attack surface from a blackbox point of view. It's often difficult to understand that something is easier to discover than some people assume, putting them at risk of false security.

It's also designed to be useful for red team assessments and bug bounties, which also help companies to identify weaknesses that could result in a compromise.

Some functionality was written to do the same thing for individuals to raise awareness about personal attack surface, privacy and how much data is publicly available. These issues are often out of scope in bug bounties and sometimes by design. We believe that blaming the user is the wrong approach and these issues should be addressed at the root cause by the people designing those systems.

License

GPLv3+