Convert Figma logo to code with AI

trustedsec logosocial-engineer-toolkit

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

15,108
3,399
15,108
9

Top Related Projects

Metasploit Framework

The Rogue Access Point Framework

12,245

fsociety Hacking Tools Pack – A Penetration Testing Framework

16,485

An automated phishing tool with 30+ templates. This Tool is made for educational purpose only ! Author will not be responsible for any misuse of this toolkit !

13,637

Osintgram is a OSINT tool on Instagram. It offers an interactive shell to perform analysis on Instagram account of any users by its nickname

Quick Overview

The Social-Engineer Toolkit (SET) is an open-source penetration testing framework designed for social engineering. It's a powerful tool used by security professionals to assess and test an organization's security posture, particularly focusing on the human element of cybersecurity.

Pros

  • Comprehensive suite of social engineering tools and attack vectors
  • Regularly updated with new features and security patches
  • User-friendly command-line interface
  • Integrates well with other penetration testing tools

Cons

  • Potential for misuse by malicious actors
  • Requires responsible usage and proper authorization
  • Some modules may trigger antivirus software
  • Learning curve for new users unfamiliar with penetration testing

Getting Started

  1. Clone the repository:

    git clone https://github.com/trustedsec/social-engineer-toolkit.git
    
  2. Navigate to the SET directory:

    cd social-engineer-toolkit
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Run SET:

    python setoolkit
    

Note: Always ensure you have proper authorization before using SET. It should only be used for ethical hacking and authorized penetration testing purposes.

Competitor Comparisons

Metasploit Framework

Pros of Metasploit Framework

  • Extensive exploit database with regular updates
  • Modular architecture allowing easy integration of new exploits
  • Robust scripting capabilities with the Meterpreter payload

Cons of Metasploit Framework

  • Steeper learning curve for beginners
  • More resource-intensive compared to lightweight alternatives
  • Potentially overwhelming for simple penetration testing tasks

Code Comparison

Social-Engineer Toolkit:

# Example of a simple phishing attack setup
choice = input("Select attack vector (1-3): ")
if choice == "1":
    site = input("Enter the website to clone: ")
    import clone_site
    clone_site.clone(site)

Metasploit Framework:

# Example of setting up a reverse shell exploit
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.100
set LPORT 4444
exploit

The Social-Engineer Toolkit focuses on social engineering attacks with a user-friendly interface, while Metasploit Framework provides a comprehensive suite of exploitation tools with more advanced capabilities. SET is more accessible for beginners, whereas Metasploit offers greater flexibility and power for experienced penetration testers.

The Rogue Access Point Framework

Pros of Wifiphisher

  • Focused specifically on WiFi attacks, providing specialized tools
  • User-friendly graphical interface for easier operation
  • Regularly updated with new phishing scenarios and attack vectors

Cons of Wifiphisher

  • Limited scope compared to the broader range of social engineering tools in SET
  • Less flexibility in customizing attacks outside of WiFi-specific scenarios
  • Smaller community and fewer contributors

Code Comparison

Wifiphisher (Python):

def start(self):
    self.template = phishinghttp.TemplateManager()
    self.em = extensions.ExtensionManager(self.network_manager)
    self.fm = interfaces.ForceManager(self.network_manager)
    self.em.set_extensions(self.args.extensions)

Social-Engineer-Toolkit (Python):

def user_menu():
    print_info("Select from the menu:")
    show_menu = create_menu(text.main_text, text.main_menu)
    while True:
        user_choice = input(setprompt(["1"], ""))
        if user_choice == "quit" or user_choice == "exit":
            exit_set()

Both repositories use Python and focus on security testing, but Wifiphisher is more specialized for WiFi attacks, while SET offers a broader range of social engineering tools. Wifiphisher's code emphasizes network management and phishing templates, while SET's code showcases its menu-driven interface for various attack vectors.

12,245

fsociety Hacking Tools Pack – A Penetration Testing Framework

Pros of fsociety

  • More user-friendly interface with a menu-driven system
  • Includes a wider range of tools for various hacking and penetration testing tasks
  • Regular updates and active community contributions

Cons of fsociety

  • Less focused on social engineering compared to SET
  • May lack some of the advanced features and customization options found in SET
  • Potentially less stable due to the broader scope of tools included

Code Comparison

SET (Python):

#!/usr/bin/env python
import os
import sys
import subprocess
import re

fsociety (Python):

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
from time import sleep

Both projects use Python and share similar basic imports. SET appears to use Python 2, while fsociety uses Python 3. fsociety includes a sleep function import, suggesting more time-based operations or user interface pauses.

SET is more focused on social engineering tactics and has a longer development history. It offers in-depth customization for specific social engineering scenarios. fsociety, inspired by the TV show Mr. Robot, provides a broader toolkit for various hacking tasks, making it more appealing to beginners or those looking for an all-in-one solution. However, it may lack the specialized depth that SET offers in social engineering techniques.

16,485

An automated phishing tool with 30+ templates. This Tool is made for educational purpose only ! Author will not be responsible for any misuse of this toolkit !

Pros of zphisher

  • Simpler and more focused on phishing attacks specifically
  • Easier to set up and use for beginners
  • More frequently updated with new phishing templates

Cons of zphisher

  • Less comprehensive feature set compared to SET
  • Limited to phishing attacks only, not a full social engineering toolkit
  • Fewer customization options for advanced users

Code comparison

SET (Python):

def start_web_server(self, port):
    try:
        import SimpleHTTPServer, SocketServer
        class ReuseTCPServer(SocketServer.TCPServer): allow_reuse_address = True
        self.web_server = ReuseTCPServer(("0.0.0.0", int(port)), SimpleHTTPServer.SimpleHTTPRequestHandler)
        self.web_server.serve_forever()
    except Exception as e:
        print(f"Error starting web server: {str(e)}")

zphisher (Bash):

start_localhost() {
    echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Initializing... ${GREEN}( ${CYAN}http://127.0.0.1:$port ${GREEN})"
    setup_site
    { sleep 1; clear; banner_small; }
    echo -e "\n${RED}[${WHITE}-${RED}]${GREEN} Successfully Hosted at : ${GREEN}${CYAN}http://127.0.0.1:$port ${GREEN}"
    capture_data
}

Both repositories focus on social engineering and phishing attacks, but SET offers a broader range of tools and techniques, while zphisher specializes in phishing site creation and management. SET is more suitable for advanced users and comprehensive social engineering campaigns, whereas zphisher is more accessible for quick phishing attacks.

13,637

Osintgram is a OSINT tool on Instagram. It offers an interactive shell to perform analysis on Instagram account of any users by its nickname

Pros of Osintgram

  • Focused specifically on Instagram OSINT, providing targeted functionality
  • User-friendly command-line interface for easy interaction
  • Regularly updated to keep pace with Instagram's API changes

Cons of Osintgram

  • Limited to Instagram, while Social-Engineer-Toolkit covers multiple platforms
  • Fewer attack vectors and social engineering tools compared to SET
  • May require more manual analysis of gathered data

Code Comparison

Osintgram (Python):

def printPost(self, post):
    print(f"Id: {post.identifier}")
    print(f"Photo: {post.display_url}")
    print(f"Caption: {post.caption}")
    print(f"Number of comments: {post.comment_count}")
    print(f"Number of likes: {post.like_count}")

Social-Engineer-Toolkit (Python):

def gen_payload(choice, port):
    msf_payload = choice
    ran = generate_random_string(5)
    filewrite = open(setdir + "/payload.rc", "w")
    filewrite.write("use multi/handler\n")
    filewrite.write("set payload " + msf_payload + "\n")
    filewrite.write("set LHOST 0.0.0.0\n")
    filewrite.write("set LPORT " + port + "\n")
    filewrite.write("set ExitOnSession false\n")
    filewrite.write("exploit -j\n")
    filewrite.close()

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

The Social-Engineer Toolkit (SET)

The Social-Engineer Toolkit is an open-source penetration testing framework for authorized social-engineering assessments. SET provides guided attack vectors for security teams that need to test user awareness, validate controls, and run consent-based red-team exercises.

SET is a TrustedSec project written by David Kennedy (ReL1K) / @HackingDave.

Responsible Use

SET is only for authorized testing where explicit permission and scope have been established. Do not use SET against systems, accounts, networks, or people without consent. Review the license in readme/LICENSE before using or distributing SET.

Supported Platforms

  • Linux
  • macOS, experimental
  • Windows through WSL/WSL2 Kali or another supported Linux environment

SET 8.1.3 targets Python 3.11 through Python 3.13.

Installation

Kali Linux / WSL

sudo apt update
sudo apt install set -y

From Source

git clone https://github.com/trustedsec/social-engineer-toolkit/ setoolkit/
cd setoolkit
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .

For the legacy system-wide layout, run the installer with elevated privileges:

sudo python3 setup.py

The legacy installer copies SET to /usr/local/share/setoolkit, writes /etc/setoolkit/set.config, and creates /usr/local/bin/setoolkit.

Usage

Launch the interactive console:

sudo setoolkit

From a source checkout, you can also run:

sudo ./setoolkit

The full user manual is available at readme/User_Manual.pdf.

Development

python -m pip install -e .
python -m pip install pytest
python -m compileall -q .
pytest -q

Security Reports

Please report vulnerabilities through the process in SECURITY.md. Do not open public issues for exploitable vulnerabilities.

Bugs and Enhancements

For non-sensitive bug reports or enhancement requests, open an issue at https://github.com/trustedsec/social-engineer-toolkit/issues with SET version, platform, Python version, and reproduction steps.