Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Cartero — Framework modular de phishing con CLI para clonar sitios, enviar correos electrónicos con plantillas y lanzar campañas de phishing a través de correo electrónico, SMS, iMessage y LinkedIn. | Kitploit
Herramientas/GitHubGitHub/mrbrutti/cartero
Herramientas de PhishingOSINT para Ingeniería SocialGeneración de PayloadsPhishingIngeniería Social
GitHubmrbrutti/cartero

Cartero

Framework modular de phishing con CLI para clonar sitios, enviar correos electrónicos con plantillas y lanzar campañas de phishing a través de correo electrónico, SMS, iMessage y LinkedIn.

Ver Repositorio
4945hace 5 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Mail

Cartero

URL

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

Description

Un robusto framework de phishing con una interfaz CLI completa. El proyecto nació de la necesidad a lo largo de años de trabajo con herramientas que simplemente no hacían su trabajo. Aunque hay muchos proyectos disponibles, no pudimos encontrar una solución adecuada que nos ofreciera a la vez facilidad de uso y personalización.

Cartero es un proyecto modular dividido en comandos que realizan tareas independientes (p. ej., Mailer, Cloner, Listener, AdminConsole, etc...). Además, cada subcomando tiene opciones de configuración repetibles para configurar y automatizar tu trabajo.

Por ejemplo, si quisiéramos clonar gmail.com, simplemente tendríamos que ejecutar los siguientes comandos.```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 vez que tengamos un sitio en funcionamiento, podemos simplemente usar el comando Mailer para enviar correos electrónicos con plantillas a nuestras víctimas:```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]

Comunidad

Únete a nuestra comunidad de Slack en https://carteroslack.herokuapp.com/

Instalación

Instalación automatizada

Usando brew 2.1.5 ruby como biblioteca ruby predeterminada```shell ❯❯❯ curl -L https://raw.githubusercontent.com/Section9Labs/Cartero/master/data/scripts/setup.sh | bash

root@kitploit:~
Usando la instalación de ruby 2.1.5 de RVM```shell
❯❯❯ curl -L https://raw.githubusercontent.com/Section9Labs/Cartero/master/data/scripts/setup.sh | bash -s -- -r

Dependencias

Ruby```shell

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

root@kitploit:~
##### MongoDB
Cartero utiliza la librería MongoDB + MongoID para almacenar datos en el lado del Listener y de Admin.

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

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

root@kitploit:~
En 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:~
### Uso
### Comandos
Cartero es una CLI muy potente y fácil de usar.```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

Comandos básicos

Mongo

Este es un simple Wrapper para MongoDB que nos permite iniciar y detener la base de datos con los comandos correspondientes y en la ruta correcta ~/.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 clonador de sitios web que nos permite descargar y convertir un sitio web en una aplicación Cartero WebServer.
Podemos personalizar rápida y fácilmente el sitio web para recolectar credenciales, alojar payloads en el servidor, o modificar completamente el sitio para cualquier cantidad de propósitos.```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

Por defecto, el comando utiliza nuestra implementación en Ruby para descargar y convertir enlaces para su renderizado, pero también admitimos una opción --wget que usará el comando local del sistema wget.

Listener

El listener es responsable de ejecutar el WebServer creado a través de Cloner o un sitio creado manualmente. Por defecto, presentamos un sitio web muy simple si no se proporciona ninguno.```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:~
Los WebServers soportan claves ssl y hosts virtuales a través de múltiples IP, nombres de host y puertos.

#### Servers
Para enviar campañas de correo electrónico necesitamos configurar servidores de correo electrónico y este comando permite a Cartero crear, almacenar y listar servidores. Todos los datos se almacenan en el directorio de configuración ~/.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

Plantillas

Al igual que los Servidores, las campañas de correo electrónico también necesitan una Plantilla predefinida para enviar contenido a las víctimas. Este módulo permite al atacante realizar un seguimiento, crear, listar y editar las plantillas utilizadas en su campaña.

Nota: Establecer plantillas aquí no es necesario y Mailer acepta una ruta directa a las plantillas de correo electrónico desde la 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
El comando y componente principal en el Cartero Framework: permite a Cartero enviar correos electrónicos personalizados mediante plantillas a una o más direcciones de correo.

Cada correo electrónico se puede personalizar utilizando el potente motor de plantillas erb, lo que permite a los usuarios crear reglas programáticas complejas dentro de las plantillas para enviar grandes cantidades de correos electrónicos muy específicos.

Para obtener más información sobre cómo crear plantillas personalizadas, consulta nuestros Ejemplos.```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

Este comando admite una alternativa a los servidores SMTP / IMAP mediante el envío de mensajes utilizando servicios de webmail vulnerables o anónimos conocidos a través de solicitudes 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:~
El Comando se puede utilizar de dos formas principales. Una usando un comando sin procesar, como el que obtenemos al interceptar el tráfico con un proxy web (p. ej., Burp Proxy), y/o usando el comando servers disponible en Cartero.

#####Ejemplo de servidor de webmail para 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 esta solicitud preconfigurada, podemos enviar fácilmente mensajes usando los mismos conjuntos de datos para Mailer y usando el mismo tipo de plantillas. Un ejemplo está disponible en /templates/mail/sample.web

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

root@kitploit:~
#### LinkedIn
El comando LinkedIn es la primera incorporación de red social al Cartero Framework. Este plugin permite a los atacantes usar la plataforma social para enviar mensajes y atacar a usuarios, todo desde 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

El comando requiere una API de desarrollador y una clave oauth en el perfil del atacante. Esto se puede obtener fácilmente en https://www.linkedin.com/secure/developer. y se puede crear una nueva plantilla de servidor con el comando Server.

IMessage

Permite a Cartero, en OS X, enviar iMessages a direcciones de víctimas igual que correos electrónicos, pero estos aparecerán en todos los iDevices que tengan registrados con Apple.

Antecedentes: Después de leer algunas noticias sobre cómo los spammers chinos están abusando del hecho de que los mensajes iMessage se muestran en todos los dispositivos vinculados a la(s) cuenta(s), se desarrolló un comando rápido para permitir que los usuarios de Cartero también tengan esta característica disponible en el Framework.

Importante: Esto solo funcionará en OSX, por ahora```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 no permite enviar un solo mensaje que contenga texto y archivos adjuntos, pero cuando se proporcionan ambos, el mensaje se dividirá y se enviará como dos mensajes individuales.
#####Comando de ejemplo```shell
❯❯❯ ./cartero IMessage --data /Users/cartero/Desktop/test.json -b ../templates/mail/sample.imsg -a /Users/cartero/Downloads/jon.jpg

GoogleVoice

Si tienes una cuenta de GoogleVoice y quieres enviar SMS automáticamente, esta podría ser una buena forma de hacerlo. Sigue la misma infraestructura que todos los demás comandos.````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
Si tienes una cuenta de Twilio y quieres enviar SMS automáticamente, esta podría ser otra forma de enviar SMS. Vale la pena señalar que este es un servicio de pago y requiere un token de acceso válido (sid) y un secreto (secret_token). Para obtener más información, consulta el sitio web de Twilio en 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

La interfaz web de administración es una aplicación web sencilla que permite al atacante recuperar información sobre todas las campañas.```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 Consola de Administración es una herramienta CLI que permite listar información sobre Personas, Campañas, Hits y Credenciales recopiladas.```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

Building Commands

Los comandos tienen un marco bastante simple. Los comandos de ejemplo del Framework se almacenan en Cartero/lib/cartero/commands/*.rb y en ~/.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:~
### Plantillas de correo
Los correos electrónicos son archivos txt simples o archivos HTML limitados, dependiendo del formato utilizado. Cartero permite la creación de plantillas complejas a través de la librería erb de ruby y una interfaz CLI que ayuda a construir y generar ambos formatos.

Los archivos pueden personalizarse ampliamente para la campaña mediante erb, que proporciona sustitución dinámica y decisiones programáticas en tiempo de ejecución.

Otra característica importante es el self[:payload] cifrado que debe añadirse en cada plantilla de correo, lo que permite a Cartero identificar la entidad de origen independientemente de múltiples reenvíos o clics. Este pequeño payload se cifra utilizando una clave generada aleatoriamente, lo que permite a los atacantes mantener sus datos de origen seguros y lejos de la detección.

**ARCHIVO DE DATOS DE MUESTRA**```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"
}]

PLANTILLA DE MUESTRA HTML```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:~
**PLANTILLA DE MUESTRA DE TEXTO**```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] %>

Servidores

Los servidores se pueden gestionar mediante el comando Servers, que permite añadir, editar y eliminar servidores. Nota: los servidores se pueden editar manualmente en ~/.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)
Descargar herramienta