
사이트 클로닝, 템플릿 기반 이메일 전송, 이메일·SMS·iMessage·LinkedIn을 통한 피싱 캠페인 실행을 위한 CLI 기반 모듈형 피싱 프레임워크
http://section9labs.github.io/Cartero/
강력한 피싱 프레임워크로, 완전한 기능을 갖춘 CLI 인터페이스를 제공합니다. 이 프로젝트는 수년간의 업무 수행 과정에서 제대로 작동하지 않는 도구들에 대한 필요성에서 탄생했습니다. 비슷한 프로젝트가 많지만, 사용 편의성과 커스터마이징 기능을 모두 갖춘 적절한 솔루션을 찾을 수 없었습니다.
Cartero는 독립적인 작업을 수행하는 명령들(예: Mailer, Cloner, Listener, AdminConsole 등)로 나뉜 모듈형 프로젝트입니다. 또한 각 하위 명령에는 작업을 구성하고 자동화할 수 있는 반복 가능한 구성 옵션이 있습니다.
예를 들어, gmail.com을 클론하려면 다음과 같은 명령을 실행하기만 하면 됩니다.```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...
사이트가 구축되어 실행되면 Mailer 명령을 사용하여 피해자에게 템플릿 이메일을 간단히 보낼 수 있습니다:```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]
https://carteroslack.herokuapp.com/에서 Slack 커뮤니티에 가입하세요.
기본 ruby 라이브러리로 brew 2.1.5 ruby 사용```shell ❯❯❯ curl -L https://raw.githubusercontent.com/Section9Labs/Cartero/master/data/scripts/setup.sh | bash
RVM 2.1.5 ruby 설치 사용```shell
❯❯❯ curl -L https://raw.githubusercontent.com/Section9Labs/Cartero/master/data/scripts/setup.sh | bash -s -- -r
❯❯❯ \curl -sSL https://get.rvm.io | bash -s stable --ruby
##### MongoDB
Cartero는 데이터를 Listener 및 Admin 측에 저장하기 위해 MongoDB + MongoID 라이브러리를 사용합니다.
OSX에서:```shell
❯❯❯ brew install mongodb
Ubuntu / Kali / Debian에서```shell ❯❯❯ apt-get install mongodb
Arch Linux에서```
❯❯❯ pacman -Syu mongodb
❯❯❯ git clone https://github.com/section9labs/Cartero ❯❯❯ cd Cartero ❯❯❯ gem install bundle ❯❯❯ bundle install ❯❯❯ cd bin
### 사용법
### 명령어
Cartero는 매우 강력하고 사용하기 쉬운 CLI입니다.```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
MongoDB용 간단한 래퍼로, 올바른 ~/.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
#### Cloner
웹사이트를 다운로드하여 Cartero WebServer 애플리케이션으로 변환할 수 있는 웹사이트 클로너입니다.
웹사이트를 빠르고 쉽게 사용자 지정하여 자격 증명을 수집하거나 서버 페이로드를 제공하거나, 다양한 목적을 위해 사이트를 완전히 수정할 수 있습니다.```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
기본적으로 이 명령은 링크를 다운로드하고 변환하여 렌더링하기 위해 저희 Ruby 구현을 사용하지만, 로컬 wget 시스템 명령을 사용하는 --wget 옵션도 지원합니다.
리스너는 Cloner를 통해 생성된 WebServer 또는 수동으로 생성된 사이트를 실행하는 역할을 담당합니다. 기본적으로 아무것도 제공되지 않으면 매우 간단한 웹사이트를 제공합니다.```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
WebServers는 여러 IP, 호스트 이름 및 포트에서 SSL 키와 가상 호스트를 지원합니다.
#### 서버
이메일 캠페인을 보내려면 이메일 서버를 설정해야 하며, 이 명령을 사용하면 Cartero가 서버를 생성, 저장 및 나열할 수 있습니다. 모든 데이터는 ~/.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
서버와 마찬가지로, 이메일 캠페인도 피해자에게 콘텐츠를 보내기 위해 사전 정의된 템플릿이 필요합니다. 이 모듈을 통해 공격자는 캠페인에서 사용 중인 템플릿을 추적, 생성, 목록 확인, 편집할 수 있습니다.
참고: 여기서 템플릿을 설정할 필요는 없으며, Mailer는 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
#### Mailer
Cartero Framework의 주요 명령이자 구성 요소입니다. Cartero가 맞춤형 템플릿 이메일을 하나 이상의 이메일 주소로 보낼 수 있게 해줍니다.
각 이메일은 강력한 erb 템플릿 엔진을 사용하여 사용자 지정할 수 있으며, 사용자는 템플릿 내에서 복잡한 프로그래밍 규칙을 만들어 대량의 매우 타겟팅된 이메일을 보낼 수 있습니다.