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)
- Copyright :copyright: 2020
- Written by: David Kennedy (ReL1K) @HackingDave
- Company: TrustedSec
Description
The Social-Engineer Toolkit is an open-source penetration testing framework designed for social engineering. SET has a number of custom attack vectors that allow you to make a believable attack quickly. SET is a product of TrustedSec, LLC â an information security consulting firm located in Cleveland, Ohio.
DISCLAIMER: This is only for testing purposes and can only be used where strict consent has been given. Do not use this for illegal purposes, period. Please read the LICENSE under readme/LICENSE for the licensing of SET.
Supported platforms:
- Linux
- Mac OS X (experimental)
Installation
Install via requirements.txt
pip3 install -r requirements.txt
python3 setup.py
Install SET
=======
Mac OS X
You will need to use a virtual environment for the Python install if you are using an M2 Macbook with the following instructions in your CLI within the social-engineer-toolkit directory.
# to install dependencies, run the following:
python3 -m venv path/to/venv
source path/to/venv/bin/activate
python3 -m pip install -r requirements.txt
# to install SET
sudo python3 setup.py
Installation
Windows 10 WSL/WSL2 Kali Linux
sudo apt install set -y
Kali Linux on Windows 10 is a minimal installation so it doesn't have any tools installed. You can easily install Social Engineer Toolkit on WSL/WSL2 without needing pip using the above command.
Linux
git clone https://github.com/trustedsec/social-engineer-toolkit/ setoolkit/
cd setoolkit
pip3 install -r requirements.txt
python setup.py
SET Tutorial
For a full document on how to use SET, visit the SET user manual.
Bugs and enhancements
For bug reports or enhancements, please open an issue 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
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