social-engineer-toolkit
The Social-Engineer Toolkit (SET) repository from TrustedSec - All new versions of SET will be deployed here.
Top Related Projects
Metasploit Framework
The Rogue Access Point Framework
fsociety Hacking Tools Pack – A Penetration Testing Framework
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 !
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
-
Clone the repository:
git clone https://github.com/trustedsec/social-engineer-toolkit.git -
Navigate to the SET directory:
cd social-engineer-toolkit -
Install dependencies:
pip install -r requirements.txt -
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.
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.
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.
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
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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.
Top Related Projects
Metasploit Framework
The Rogue Access Point Framework
fsociety Hacking Tools Pack – A Penetration Testing Framework
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 !
Osintgram is a OSINT tool on Instagram. It offers an interactive shell to perform analysis on Instagram account of any users by its nickname
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot