Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Cartero — Framework di phishing modulare con CLI per clonare siti, inviare email basate su modelli e lanciare campagne di phishing tramite email, SMS, iMessage e LinkedIn. | Kitploit
Strumenti/GitHubGitHub/mrbrutti/cartero
Strumenti di PhishingOSINT per Ingegneria SocialeGenerazione di PayloadPhishingIngegneria Sociale
GitHubmrbrutti/cartero

Cartero

Framework di phishing modulare con CLI per clonare siti, inviare email basate su modelli e lanciare campagne di phishing tramite email, SMS, iMessage e LinkedIn.

Vedi Repository
49455 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Mail

Cartero

URL

http://section9labs.github.io/Cartero/

Descrizione

Un robusto framework di phishing con un'interfaccia CLI completa. Il progetto è nato dalla necessità, maturata in anni di engagement con strumenti che semplicemente non facevano il loro lavoro. Anche se esistono molti progetti in circolazione, non siamo riusciti a trovare una soluzione adatta che ci garantisse sia facilità d'uso che personalizzazione.

Cartero è un progetto modulare suddiviso in comandi che svolgono attività indipendenti (ad es. Mailer, Cloner, Listener, AdminConsole, ecc...). Inoltre ogni sottocomando dispone di opzioni di configurazione ripetibili per configurare e automatizzare il proprio lavoro.

Ad esempio, se volessimo clonare gmail.com, dovremmo semplicemente eseguire i seguenti comandi.```shell ❯❯❯ ./cartero Cloner --url https://gmail.com --path /tmp --webserver gmail_com ❯❯❯ ./cartero Listener --webserver /tmp/gmail_com -p 80 Launching mongodb Puma starting in single mode...

  • Version 2.8.2 (ruby 2.1.1-p76), codename: Sir Edmund Percival Hillary
  • Min threads: 4, max threads: 16
  • Environment: production
  • Listening on tcp://0.0.0.0:80 Use Ctrl-C to stop
root@kitploit:~
Una volta che abbiamo un sito in funzione possiamo semplicemente usare il comando Mailer per inviare email basate su modelli alle nostre vittime:```shell
❯❯❯ ./cartero Mailer --data victims.json --server gmail_com --subject "Internal Memo" --htmlbody email_html.html --attachment payload.pdf --from "John Doe <[email protected]>"
Sending [email protected]
Sending [email protected]
Sending [email protected]

Community

Unisciti alla nostra community Slack su https://carteroslack.herokuapp.com/

Installazione

Installazione automatica

Utilizzando brew 2.1.5 con ruby come libreria ruby predefinita```shell ❯❯❯ curl -L https://raw.githubusercontent.com/Section9Labs/Cartero/master/data/scripts/setup.sh | bash

root@kitploit:~
Utilizzo dell'installazione di Ruby 2.1.5 di RVM```shell
❯❯❯ curl -L https://raw.githubusercontent.com/Section9Labs/Cartero/master/data/scripts/setup.sh | bash -s -- -r

Dipendenze

Ruby```shell

❯❯❯ \curl -sSL https://get.rvm.io | bash -s stable --ruby

root@kitploit:~
##### MongoDB
Cartero utilizza MongoDB + la libreria MongoID per archiviare i dati lato Listener e lato Admin. 

Su OSX:```shell
❯❯❯ brew install mongodb

Su Ubuntu / Kali / Debian```shell ❯❯❯ apt-get install mongodb

root@kitploit:~
Su Arch Linux```
❯❯❯ pacman -Syu mongodb

Framework```shell

❯❯❯ git clone https://github.com/section9labs/Cartero ❯❯❯ cd Cartero ❯❯❯ gem install bundle ❯❯❯ bundle install ❯❯❯ cd bin

root@kitploit:~
### Utilizzo
### Comandi
Cartero è una CLI molto potente e facile da usare.```shell
❯❯❯ ./cartero
Usage: cartero [options]

List of Commands:
    AdminConsole, AdminWeb, Mailer, Cloner, Listener, Servers, Templates

Global options:
        --proxy [HOST:PORT]          Sets TCPSocket Proxy server
    -c, --config [CONFIG_FILE]       Provide a different cartero config file
    -v, --[no-]verbose               Run verbosely
    -p [PORT_1,PORT_2,..,PORT_N],    Global Flag fo Mailer and Webserver ports
        --ports
    -m, --mongodb [HOST:PORT]        Global Flag fo Mailer and Webserver ports
    -d, --debug                      Sets debug flag on/off
        --editor [EDITOR]            Edit Server


Common options:
    -h, --help [COMMAND]             Show this message
        --list-commands              Prints list of commands for bash completion
        --version                    Shows cartero CLI version

Comandi di base

Mongo

Questo è un semplice wrapper per MongoDB che ci permette di avviare e fermare il database con i comandi corrispondenti e sul percorso corretto ~/.cartero.```shell ❯❯❯ ./cartero Mongo Usage: Cartero Mongo [options] -s, --start Start MongoDB -k, --stop Stop MongoDB -r, --restart Restart MongoDB -b, --bind [HOST:PORT] Set MongoDB bind_ip and port

Common options: -h, --help Show this message --list-options Show list of available options

root@kitploit:~
#### Cloner
Un Cloner di siti web che ci consente di scaricare e convertire un sito web in un'applicazione Cartero WebServer.
Possiamo personalizzare rapidamente e facilmente il sito web per raccogliere credenziali, distribuire payload sul server o modificare completamente il sito per qualsiasi numero di scopi.```shell
❯❯❯ ./cartero Cloner
Usage: Cartero Cloner [options]
    -U, --url [URL_PATH]             Full Path of site to clone
    -W, --webserver [SERVER_NAME]    Sets WebServer name to use
    -p, --path [PATH]                Sets path to save webserver
    -P, --payload [PAYLOAD_PATH]     Sets payload path
        --useragent [UA_STRING]      Sets user agent for cloning
        --wget                       Use wget to clone url
        --apache                     Generate Apache Proxy conf

Common options:
    -h, --help                       Show this message
        --list-options               Show list of available options

Per impostazione predefinita, il comando utilizza la nostra implementazione Ruby per scaricare e convertire i link da renderizzare, ma supportiamo anche un'opzione --wget che utilizzerà il comando di sistema wget locale.

Listener

Il listener è responsabile dell'esecuzione del WebServer creato tramite Cloner o di un sito creato manualmente. Per impostazione predefinita, presentiamo un sito web molto semplice se non ne viene fornito uno.```shell ❯❯❯ ./cartero Listener Usage: Cartero Listener [options] -i, --ip [1.1.1.1] Sets IP interface, default is 0.0.0.0 -p [PORT_1,PORT_2,..,PORT_N], Sets Email Payload Ports to scan --ports -s, --ssl Run over SSL. [this also requires --sslcert and --sslkey] -C, --sslcert [CERT_PATH] Sets Email Payload Ports to scan -K, --sslkey [KEY_PATH] Sets SSL key to use for Listener. -V, --views [VIEWS_FOLDER] Sets SSL Certificate to use for Listener. -P, --public [PUBLIC_FOLDER] Sets a Sinatra public_folder -W [WEBSERVER_FOLDER], Sets the sinatra full path from cloner. --webserver --payload [PAYLOAD] Sets a payload download to serve on /download --customapp [CUSTOM_SINATRA] Sets a custom Sinatra::Base WebApp. Important, WebApp name should be camelized of filename

Common options: -h, --help Show this message --list-options Show list of available options

root@kitploit:~
I WebServers supportano chiavi ssl e virtual hosts su più IP, hostname e porte.

#### Server
Per inviare campagne email, dobbiamo configurare i server email e questo comando consente a Cartero di creare, archiviare e elencare i server. Tutti i dati sono memorizzati nella directory di configurazione ~/.cartero.```shell
./cartero Servers
Usage: Cartero Servers [options]
    -a, --add [NAME]                 Add Server
    -e, --edit [NAME]                Edit Server
    -d, --delete [NAME]              Edit Server
    -l, --list                       List servers

Configuration options:
    -T, --type [TYPE]                Set the type
    -U, --url [DOMAIN]               Set the Mail or WebMail url/address
    -M, --method [METHOD]            Sets the WebMail Request Method to use [GET|POST]
        --api-access [API_KEY]       Sets the Linkedin API Access Key
        --api-secret [API_SECRET]    Sets the Linkedin API Secret Key
        --oauth-token [OAUTH_TOKEN]  Sets the Linkedin OAuth Token Key
        --oauth-secret [OAUTH_SECRET]
                                     Sets the Linkedin OAuth Secret Key

Common options:
    -h, --help                       Show this message
        --list-options               Show list of available options

Template

Come per i Server, anche le campagne email necessitano di un Template predefinito per inviare contenuti alle vittime. Questo modulo consente all'attaccante di tenere traccia, creare, elencare e modificare i template utilizzati nella propria campagna.

Nota: l'impostazione dei template qui non è necessaria e Mailer accetta un percorso diretto ai template email dalla CLI.```shell ❯❯❯ ./cartero Templates Usage: Cartero Templates [options] -a, --add [NAME] Add Template -e, --edit [NAME] Edit Template -d, --delete [NAME] Edit Template -l, --list List Templates -h, --help Show this message

root@kitploit:~
#### Mailer
Il comando e componente principale del Cartero Framework -- Consente a Cartero di inviare email personalizzate basate su template a uno o più indirizzi email.

Ogni email può essere personalizzata utilizzando il potente motore di template erb, consentendo agli utenti di creare complesse regole programmatiche all'interno dei template per inviare enormi quantità di email molto mirate.

Per maggiori informazioni su come creare template personalizzati, fare riferimento ai nostri Esempi.```shell
❯❯❯ ./cartero Mailer
Usage: Cartero Mailer [options]
    -D, --data [DATA_FILE]           File containing template data sets
    -S, --server [SERVER_NAME]       Sets Email server to use
    -s, --subject [EMAIL_SUBJECT]    Sets Email subject
    -f, --from [EMAIL_FROM]          Sets Email from
    -r, --reply-to [EMAIL_REPLY_TO]  Sets Email from
    -b, --body [FILE_PATH]           Sets Email Text Body
    -B, --htmlbody [FILE_PATH]       Sets Email HTML Body
    -c, --charset [CHARSET]          Sets Email charset
    -C [CONTENT_TYPE],               Sets Email content type
        --content-type
    -a [FILE_1,FILE_2,..,FILE_N],    Sets Email Attachments
        --attachment
    -p [PORT_1,PORT_2,..,PORT_N],    Sets Email Payload Ports to scan
        --ports

Common options:
    -h, --help                       Show this message
        --list-options               Show list of available options

WebMailer

Questo comando supporta un'alternativa ai server SMTP / IMAP per l'invio di messaggi utilizzando servizi di webmail notoriamente vulnerabili o anonimi tramite richieste web.```shell ❯❯❯ ./cartero WebMailer Usage: Cartero WebMailer [options] -R, --raw [RAW_REQUEST_FILE] Sets WebMail Raw Request -S, --server [SERVER_NAME] Sets WebMail server to use -U, --url [URL:PORT] Sets WebMail server url to use -H [HEADER:VAL\nHEADER:VAL], Sets WebMail Headers to use --headers -C, --cookies [COOKIES] Sets WebMail Cookies to use -D, --data [DATA_FILE] File containing template data sets -s, --subject [EMAIL_SUBJECT] Sets Email subject -f, --from [EMAIL_FROM] Sets Email from -r, --reply-to [EMAIL_REPLY_TO] Sets Email reply-to -b, --body [REQUEST_FILE_PATH] Sets Email Text request query Body -p [PORT_1,PORT_2,..,PORT_N], Sets Email Payload Ports to scan --ports

Common options: -h, --help Show this message --list-options Show list of available options

root@kitploit:~
Il comando può essere utilizzato in due modi principali. Uno utilizzando un comando grezzo come quello che otteniamo intercettando il traffico con un proxy web (ad es. Burp Proxy) e/o utilizzando il comando servers disponibile su Cartero.

#####Esempio di server webmail per send-mail.org```json
{
    "name": "send-email",
    "type": "webmail",
    "options": {
        "url": "http://send-email.org/send",
        "method": "POST",
        "cookies": "",
        "headers": {
            "Host": "send-email.org",
            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:29.0) Gecko/20100101 Firefox/29.0",
            "Accept": "application/json, text/javascript, */*; q=0.01",
            "Accept-Language": "en-US,en;q=0.5",
            "Accept-Encoding": "gzip, deflate",
            "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
            "X-Requested-With": "XMLHttpRequest",
            "Referer": "http://send-email.org/",
            "Content-Length": "126",
            "Connection": "keep-alive",
            "Pragma": "no-cache"
        }
    },
    "confirmation" : "Your message was sent!"
}

Usando questa richiesta preconfigurata, possiamo facilmente inviare messaggi usando gli stessi dataset per Mailer e usando lo stesso tipo di template. Un esempio è disponibile in /templates/mail/sample.web

#####Comando di esempio:```shell ❯❯❯ ./cartero WebMailer -S webmail -D ~/sample.json -b ../templates/mail/sample.web -r [email protected]

root@kitploit:~
#### LinkedIn
Il comando LinkedIn è la prima aggiunta di Social Network al Cartero Framework. Questo plugin consente agli attaccanti di utilizzare la piattaforma sociale per inviare messaggi e attaccare gli utenti, il tutto direttamente da LinkedIn.```shell
❯❯❯ ./cartero LinkedIn
Usage: Cartero LinkedIn [options]
    -D, --data [DATA_FILE]           File containing template data sets
    -S, --server [SERVER_NAME]       Sets Email server to use
    -s, --subject [MESSAGE_SUBJECT]  Sets LinkedIn Message subject
    -b, --body [FILE_PATH]           Sets LinkedIn Message Body
    -l, --list [CONNECTIONS|GROUPS]  List json of (connections or groups)
        --send [MESSAGE|GROUP_UPDATE]
                                     Send one or more (message/s or group/s updates)
    -o, --save [FILE_PATH]           Sets LinkedIn Message Body

Common options:
    -h, --help                       Show this message
        --list-options               Show list of available options

Il comando richiede un'API per sviluppatori e una chiave OAuth sul profilo dell'attaccante. Questa può essere facilmente ottenuta su https://www.linkedin.com/secure/developer. e un nuovo modello di server può essere creato con il comando Server.

IMessage

Consente a Cartero, su OS X, di inviare iMessage agli indirizzi delle vittime proprio come le email, ma questi appariranno su ogni dispositivo iDevice che hanno registrato con Apple.

Contesto: dopo aver letto alcune notizie su come gli spammer cinesi stiano abusando del fatto che i messaggi iMessage vengono visualizzati su tutti i dispositivi collegati all'account, è stato sviluppato un comando rapido per consentire agli utenti di Cartero di avere anche questa funzionalità disponibile nel Framework.

Importante: per ora funzionerà solo su OSX.```shell ❯❯❯ ./cartero IMessage Usage: Cartero IMessage [options] IMPORTANT: This command only works on OSX

root@kitploit:~
-D, --data [DATA_FILE]           File containing template data sets
-A, --attachment [ATTACHMENT]    Sets iMessage file path to send
-b, --body [BODY_FILE]           Sets iMessage message
-m, --message [MESSAGE]          Sets iMessage message

Common options: -h, --help Show this message --list-options Show list of available options

root@kitploit:~
iMessage non consente di inviare un singolo messaggio contenente sia testo che allegati, ma quando entrambi sono forniti, il messaggio verrà diviso e inviato come due messaggi separati.
#####Comando di esempio```shell
❯❯❯ ./cartero IMessage --data /Users/cartero/Desktop/test.json -b ../templates/mail/sample.imsg -a /Users/cartero/Downloads/jon.jpg

GoogleVoice

Se hai un account GoogleVoice e vuoi inviare SMS automaticamente, questo potrebbe essere un buon modo per farlo. Segue la stessa infrastruttura di tutti gli altri comandi.````shell ❯❯❯ ./cartero GoogleVoice Usage: Cartero GoogleVoice [options] -D, --data [DATA_FILE] File containing template data sets -S, --server [SERVER_NAME] Sets SMS server to use -b, --body [FILE_PATH] Sets SMS Text Body -m, --message [MESSAGE] Sets SMS message -u, --username [USER] Sets Google Voice Username -p, --password [PWD] Sets Google Voice password

Common options: -h, --help Show this message --list-options Show list of available options

root@kitploit:~
#### Twilio
Se hai un account Twilio e vuoi inviare SMS automaticamente, questo potrebbe essere un altro modo per inviare SMS. Vale la pena notare che si tratta di un servizio a pagamento e richiede un token di accesso valido (sid) e un segreto (secret_token). Per maggiori informazioni, consulta il sito web di Twilio all'indirizzo https://www.twilio.com/sms/api````shell
❯❯❯ ./cartero Twilio
Usage: Cartero Twilio [options]
    -D, --data [DATA_FILE]           File containing template data sets
    -S, --server [SERVER_NAME]       Sets SMS server to use
    -f, --from [NUMBER]              Sets SMS from number to use
    -b, --body [FILE_PATH]           Sets SMS Text Body
    -m, --message [MESSAGE]          Sets SMS message
    -u, --sid [SID]                  Sets Twilio Username
    -p, --token [TOKEN]              Sets Twilio password
    -A, --attachment [PATH_1||PATH_2||PATH_3]    Sets Twilio MMS URL image paths to send

Common options:
    -h, --help                       Show this message
        --list-options               Show list of available options

AdminWeb

L'interfaccia Web Admin è una semplice applicazione web che consente all'attaccante di recuperare informazioni su tutte le campagne.```shell ❯❯❯ ./cartero AdminConsole Usage: Cartero AdminConsole [options] -i, --ip [1.1.1.1] Sets IP interface, default is 0.0.0.0 -p [PORT_1,PORT_2,..,PORT_N], Sets Email Payload Ports to scan --ports -s, --ssl Run over SSL. [this also requires --sslcert and --sslkey] -C, --sslcert [CERT_PATH] Sets Email Payload Ports to scan -K, --sslkey [KEY_PATH] Sets Email Payload Ports to scan

Common options: -h, --help Show this message --list-options Show list of available options

root@kitploit:~
#### AdminConsole
La Admin Console è uno strumento CLI che consente di elencare le informazioni raccolte su Persons, Campaigns, Hits e Credentials.```shell
❯❯❯ ./cartero AdminConsole
Usage: Cartero AdminConsole [options]
    -p, --persons [LATEST_N]         Display the list of persons that responded
    -i, --hits [LATEST_N]            Display the list of hits
    -c, --creds [LATEST_N]           Display the list of Credentials
    -a, --all                        Sets Email Payload Ports to scan
    -f, --filter                     flag to search by parameters
        --email [EMAIL]              Display the list of hits
        --campaign [CAMPAIGN]        Display the list of hits
        --ip [IP_ADDRESS]            Display the list of hits

Common options:
    -h, --help                       Show this message
        --list-options               Show list of available options

Creazione dei comandi

I comandi hanno un framework abbastanza semplice. I comandi di esempio del framework sono memorizzati in Cartero/lib/cartero/commands/*.rb e ~/.cartero/commands/*.rb.```ruby module Cartero module Commands class CommandName < ::Cartero::Command

description( name: "Long Command Name Here", description: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", author: ["Author Name <noname [©] cartero.com>"], type:"General", license: "LGPL", references: [ "https://section9labs.github.io/Cartero", "https://section9labs.github.io/Cartero" ] )

def initialize super do |opts| #OptionsParser options available here. opts.on("-x", "--xoption [DATA_FILE]", String, "Description of command option") do |data| @options.xoption = data end opts.on("-y", "--yoption [DATA_FILE]", String, "Description of command option") do |data| @options.xoption = data end # help() option already provided. # --list-options for auto-complete automatic. end end

def setup # This will be hooked and run before run(). # It is meant as a method so the commands can run everything before that. end

def run # Everything that will run. end

def after # This is the place to run clean-up code. end end end end

root@kitploit:~
### Modelli email
Le email sono semplici file txt o file HTML limitati, a seconda del formato utilizzato. Cartero consente la creazione di template complessi tramite la libreria ruby erb e un'interfaccia CLI per aiutare a costruire e creare template per entrambi i formati.

I file possono essere ampiamente personalizzati per la campagna tramite erb, che fornisce sostituzione dinamica e decisioni programmatiche in fase di esecuzione.

Un'altra importante funzionalità è il payload cifrato self[:payload] che dovrebbe essere aggiunto in ogni modello di email e che consente a Cartero di identificare l'entità sorgente indipendentemente da inoltri o clic multipli. Questo piccolo payload è cifrato utilizzando una chiave generata casualmente, consentendo agli attaccanti di mantenere i propri dati sorgente al sicuro e lontani dal rilevamento.

**FILE DI DATI DI ESEMPIO**```json
[{
    "email": "[email protected]",
    "name": "John Doe"
}, {
    "email": "[email protected]",
    "name": "Gas Hill"
}, {
    "email": "[email protected]",
    "name": "John Doe 2"
}, {
    "email": "[email protected]",
    "name": "Jane Doe - Hotmail",
    "subject": "Hotmail Test 123"
}]

TEMPLATE HTML DI ESEMPIO```html

Hello Spear Phishing World <%= self[:name] %>,

This is an automated email to your email <%= self[:email] %>.

<% if self[:ports] %> <% self[:ports].each do |port| %> /image?key=<%= self[:payload] %>"> <% end %> <% end %>

root@kitploit:~
**MODELLO DI CAMPIONE DI TESTO**```txt
Hola <%= self[:name] %>,
This email needs to be displayed as HTML.
This is an automated email to your email<%= self[:email] %>.
In addition, this email can also be displayed securely
on http://192.168.1.216:8080/click?key=<%= self[:payload] %>

cheers,

<%= self[:from_name] %>

Server

I server possono essere gestiti tramite il comando Servers, che consente di aggiungere, modificare ed eliminare server. Nota: i server possono essere modificati manualmente in ~/.cartero/servers/*.json

####smtp```json { "name": "gmail", "type": "smtp", "options": { "address": "smtp.yourserver.com", "port": 25, "user_name": "user", "password": "password", "authentication": "plain", "domain": "localhost.localdomain" } }

root@kitploit:~
####linkedin```json
{
  "name": "linkedin",
  "type": "linkedin",
	"options": {
	  "api_access": "api_access",
	  "api_secret": "api_secret",
	  "oauth_token": "oauth_token",
	  "oauth_secret": "oauth_secret"
	}
}

####webmail```json { "name": "webmail-sample", "type": "webmail", "options": { "url": "http://www.send-email.com/data/send/email", "method": "POST", "cookies": "sdajsda09s7das923i3j2l131;21381903810", "headers": { "x-forward": "asdadadasad" } }, "confirmation" : null }

root@kitploit:~
### CHANGELOG
- [CHANGELOG](https://github.com/mrbrutti/cartero/blob/HEAD/CHANGELOG.md)

### TODO
- [TODO](https://github.com/mrbrutti/cartero/blob/HEAD/TODO.md)
Scarica lo strumento