Skip to content

0xbitx/DEDSEC_WEEPING_ANGLE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Weeping Angel

Weeping Angel - Initial Access & Post-Exploitation Framework for Linux Systems

DESCRIPTION

Weeping Angel is an Initial Access and Post-Exploitation framework designed for adversary emulation and ethical penetration testing. As a Linux-based tool built for cybersecurity research and authorized red team operations, Weeping Angel leverages Google Calendar as a stealthy Command and Control (C2) server to manage connections with targets through event-based communication.

The framework provides two core capabilities:

Initial Access: Weeping Angel generates sophisticated, polymorphic droppers that can bypass common security controls, delivering the payload to target systems through various vectors including phishing campaigns, supply chain attacks, or direct deployment during authorized assessments. The framework can also generate PDF format payloads, embedding malicious code within seemingly legitimate PDF documents to evade detection and execute initial access vectors through document-based social engineering attacks.

Post-Exploitation: Once access is established, the framework enables comprehensive system reconnaissance, privilege escalation, lateral movement, persistence mechanisms, and data exfiltration — all while maintaining stealth through Google Calendar-based C2 communication.

The tool injects a polymorphic dropper into regular Python code, ensuring each instance is unique by modifying variables, functions, and signatures to evade detection. This adaptive approach means every build incorporates fresh code changes, making it difficult for security tools to identify static patterns. Inspired by APT41 tradecraft, advanced evasion strategies, and modern initial access brokers (IAB) techniques, Weeping Angel provides a robust framework for exploring complete attack lifecycles in controlled, ethical environments.

TOOL BANNER

Key Features:

  • Polymorphic Injection: Automatically modifies code (e.g., variables and functions) in each build to create unique signatures, making it harder for antivirus tools to detect.

  • Junk Code Injection: Injects randomized code blocks and redundant logic into payloads during generation, creating unique structural signatures while preserving original functionality to evade static analysis and signature-based detection.

  • Per-Machine Unique Signatures: Each payload deployed to a victim machine receives a unique ELF binary signature by modifying padding bytes in the executable header, ensuring every instance has a different cryptographic fingerprint.

  • Google Calendar C2: Uses Google Calendar events as a covert channel for backdoor communication, allowing remote command execution on Linux targets.

  • Dropper Builder: Injects a custom dropper into any legitimate Python script, transforming it into a backdoor payload.

  • Linux Backdoor Deployment: Focuses on Linux systems, with features for persistent execution and event-based polling.

  • Signature Evasion: Changes ELF file signatures on-the-fly during deployment, making hash-based detection ineffective across different infected machines.

  • Customizable Beacon Interval: Features configurable, randomized check-in intervals (with adjustable minimum and maximum in seconds) to disrupt predictable timing patterns and make detection by network monitoring systems more difficult.

  • File & Payload Management: Commands to download files from the C2 server to the victim machine and update payloads in memory.

  • Dynamic Script Execution: Execute arbitrary Python scripts delivered from the attacker's C2 on the victim machine.

  • Extensible Payload Framework: Load custom Python exploit modules from a community-driven repository or local library. Users can create, import, and execute third-party payloads (e.g., privilege escalation, data exfiltration, persistence mechanisms) on target machines without modifying the core backdoor code. Supports hot-swappable modules via the C2 channel.

  • PDF Vector Exploitation: Generates a malicious PDF file that auto-executes the backdoor payload upon opening. When the victim clicks or opens the file, the embedded trigger mechanism activates and deploys the payload without requiring additional user interaction or explicit execution permissions.

  • Comprehensive Data Exfiltration Suite:

    • dump_browser: Extracts browser data including saved passwords, cookies, and browsing history.
    • dump_token: Extracts Discord, Chrome, and other application authentication tokens.
    • dump_camera : Takes 1-20 photos using the victim's webcam.
    • dump_audio : Records audio from the microphone for 1-60 seconds.
    • dump_wifi: Extracts saved WiFi credentials (SSIDs and passwords).
    • dump_history: Extracts command history from terminal shells (Bash, Zsh, Fish).
    • keylog <start|stop|dump|status>: Full control of a keystroke logger.
  • Google Drive Data Exfiltration:

    • Structured folder hierarchy for different data types
    • Automatic file organization by victim machine ID
    • Timestamped filenames for forensic tracking
    • Covert channel blending with legitimate Google Drive traffic

Setup (Google Calendar C2)

Follow the steps below to configure your Google Cloud project and enable Google Calendar API for C2 communication.

Part 1 — Google Cloud Project & Service Account (for Calendar C2)

Create a new Google Cloud Project

Screenshot_20260419_220749 Screenshot_20260419_220814
  • From the top bar, click the project dropdown → New Project
Screenshot_20260418_234008
  • Project name: rat-calendar-c2
  • Click Create

Create a Service Account (used by your C2)

Screenshot_20260418_234437
  • Sidebar: IAM & Admin → Service Accounts
  • Click + Create Service Account
Screenshot_20260418_234602
  • Name: c2-server
  • Click Create and Continue
Screenshot_20260418_234722 Screenshot_20260418_234930
  • Role: Owner
  • Click Continue → Done

Generate Service Account Key

Screenshot_20260418_235009
  • Click your new service account

    Screenshot_20260418_235036 Screenshot_20260418_235107
  • Go to Keys tab → Add Key → Create New Key

Screenshot_20260418_235127
  • Select JSON → Create
Screenshot_20260418_235150
  • Save file as: c2_creds.json in your C2 directory

Enable Google Calendar API

Screenshot_20260419_000729
  • Search: Google Calendar API
Screenshot_20260419_000756
  • Select it → Click Enable

Part 2 — Share Calendar with Service Account

Screenshot_20260419_215802
  • Click + Add people and groups
Screenshot_20260419_215332

Part 3 — Google Drive API (for data exfiltration)

Enable Google Drive API

Screenshot_20260418_235931 Screenshot_20260419_000001
  • Search: Google Drive API → Enable

Configure OAuth Consent Screen (required for Drive user auth)

Screenshot_20260419_001648
  • Sidebar: APIs & Services → OAuth consent screen
Screenshot_20260419_001722
  • click: Get started
Screenshot_20260419_001856
  • App name: c2-server
  • User support email: your Gmail -> Next
Screenshot_20260419_002002
  • Audience: External -> Next
Screenshot_20260419_002055
  • Contact Info: your Gmail -> Next
Screenshot_20260419_002226
  • Audience → Add users → enter your Gmail address → Save

Create OAuth Client ID (for Drive exfil)

Screenshot_20260419_002406
  • Sidebar: APIs & Services → Credentials
  • Click + Create Credentials → OAuth Client ID
Screenshot_20260419_002504
  • Application type: Desktop app
  • Name: data exfiltration config
  • Click Create
Screenshot_20260419_002525
  • Download the JSON file → rename to data_exfil.json
  • Place it in your Dedsec directory

Tool Structure:

After completing all steps, your directory should contain:

DEDSEC_WEEPING_ANGLE/
├── c2_creds.json        # Service account key for Calendar C2
├── data_exfil.json      # OAuth credentials for Drive exfiltration
└── dedsec_weeping_angle     # dedsec tool

Setup (for pdf payload)

Screenshot_20260505_093635
  • Create organization (org, personal)
Screenshot_20260505_093758
  • enable (Enable Data API) and (Automatically expose new tables)
Screenshot_20260505_093835
  • Copy Product URL and Publishable Key
Screenshot_20260505_093921
  • Go to Project Settings
Screenshot_20260505_093948
  • select API Keys
Screenshot_20260505_094048
  • Copy Service role secret
Screenshot_20260505_094138
  • Go to Storage
Screenshot_20260505_094209
  • click New bucket
Screenshot_20260505_094346
  • Put "data" as the bucket name, enable public bucket, and click Create.

and update your config.json file with your Project URL, Publishable key, service role secret

Example:

{
    "SUPABASE_URL": "https://gqbdetbewhevkksclbfu.supabase.co",
    "SUPABASE_KEY": "sb_publishable_TvQ2jFqzrPfsKC-krVrwqA_g_xjy9GM",
    "SUPABASE_SERVICE_KEY": "eyJHbgcrOeJIUsI2NiIsInR3cCI6IkpXcCJ9.eyJpc311OilzeXBhymFrZSIsInJlZiI6ImdxYmR5dGJld2hpdmtrZWNsYmd14iwicm9sZSI6InNlcnZpY2Vfcm9sZSIs3mlhdCI2MTc3NzkyMDk4OCwiZXhwIjoyMDkzNDk2OTg4fQ.L4wdbD3QgDv2NHlP6ZU53wpI2jlLZ0TQXfq6vy7VB_A"
}

INSTALLATION

git clone https://github.com/0xbitx/DEDSEC_WEEPING_ANGLE.git
cd DEDSEC_WEEPING_ANGLE
chmod +x dedsec_weeping_angle
sudo ./dedsec_weeping_angle

TESTED ON FOLLOWING

  • Kali Linux
  • Parrot OS

Legal Disclaimer

This tool is intended for educational and security research purposes only. Unauthorized usage may be illegal in your jurisdiction. The author is not responsible for any misuse of this tool.

About

Weeping Angel - Initial Access & Post-Exploitation Framework for Linux Systems

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors