Куча говна / Говнокод #24391 Ссылка на оригинал

0

  1. 1
Давайте обсуждать написание вирья.

Запостил: Doctor_Who Doctor_Who, (Updated )

Комментарии (30) RSS

  • Давайте флудить и троллить.

    Есть исходник вирья -- выкладывай. Поржём вместе. А если нет, то на нет и суда нет.
    Ответить
  • Не хочу быть высмеянным, поэтому, постить ничего не буду.

    Вот раньше писались хорошие вирусы. Сейчас же, когда народ вконец отупел и обленился, инет наводнили примитивные рулонные троянцы за авторством корыстной, меркантильной, невоспитанной и наглой школоты. Попраны все истины POC. Кое-где я видел объявление о платной разработке malware (на заказ).
    Создателям хороших, вкусных вирусов (как правило, опытные ассемблерщики) сейчас не менее 40-45 лет, а то и все 50.
    Ответить
    • Вирусы было легко писать под DOS. Никакой защиты, можно было отрываться по полной.

      1. Сейчас 64-битная винда не загружает драйверы с недействительной цифровой подписью, поэтому драйвера мы заразить не можем. У 32-битной винды проверка подписи опциональна. Как в других ОС, нужно уточнить.

      2. Вирус имеет такие же права доступа, как заражённая им программа. Если заражённая программа запущена от имени рядового пользователя, она может срать далеко не в любые файлы. Нужно либо искать дырки в защите, либо просить запустить её от имени админа.

      3. Защищённый режим не позволяет срать в память произвольного процесса. Программы могут быть запущены в разных виртуальных пространствах и не видеть память друг друга. Засрать можно только память тех программ, которые в одном пространстве с запущенной, и то можно схлопотать от защиты.

      Обход этих защит требует серьёзной квалификации, а не хуяк-хуяк-в-продакшен.
      Ответить
      • Ну раз уж у нас тут урок информатики, давайте я поучавствую

        >>, поэтому драйвера мы заразить не можем
        На самом деле можем: при установке драйвер будет ругаться на отсутствие подписи .cat файла, при загрузке можно сказать "bcdedit /set testsigning on"
        https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option

        >>Как в других ОС, н
        Если не считать всякий SecuteBoot, то в Linux и FreeBSD ты можешь загрузить любой модуль ядра (modprobe и kldload соответственно) если ты рут.
        В OpenBSD динамическая загрузка модулей отсутствует, и потому ты должен пересобирать ядро (и линковать туды свой вир)

        >>либо просить запустить её от имени админа.
        Если программа запущена от амдина, вошедшего интерактивно (не как сервис и не как доступ по сети) то она все равно подвержена UAC: у нее отнимут примерно все привелегии (никогда не могу написать это слово правильно), если ее запустят не через AppInit, то-есть через явное согласие пользовтаеля на UAC.

        Так же стоит поамнить что многие сервера явно понижают свои привелегии.

        >>Засрать можно только память тех программ, которые в одном пространстве с запущенной
        Ну две программы наврядли будут делить адресное пространство (иметь одну и ту же таблицу страниц), но можно быть для одной из них модулем или как-то ее обмануть и заставить загрузить твою .dll.

        Бывают ьак же программы с shared mem, но такие секции обычно не исполняют - там просто данные лежат.
        Ответить
        • >> при загрузке можно сказать "bcdedit /set testsigning on"

          Нужны активные действия пользователя/админа, как и в случае включенной UAC.
          Ответить
          • ты можешь сам поправить BCD програмно, но надо быть админом под uac.

            К частью для маминых хакеров, умамыкомптютерщики часто отключают UAC чтобы не нажимать лишние кнопки
            Ответить
            • UAC отключают не только для того, чтобы не нажимать лишние кнопки. Некоторые старые программы (написанные во времена Win2k) вообще не запускаются при включенном UAC. Никаких окошек с предупреждениями, просто молча вылетают при старте.
              Ответить
        • А зачем лезть куда-то вглубь? Раньше может и надо было ради своей крутости палить микросхемы и выводить компьютеры из строя, а также придумывать хитрую логику распространения. Сейчас это не требуется. Данные пользователя доступны и без административной учётки. Их можно скачать и использовать, зашифровать и попросить выкуп или просто удалить (хотя, это просто пакость, толку от этого не будет). От имени пользователя можно рассылать спам, возиться с криптовалютой и делать прочие вычисления. А друзьям перешлют вредоносное ПО сами пользователи, если в него встроить игру.
          Ответить
    • Внедрение кода:

      1. В программе нужно найти место для инъекции. Для этого придётся дизассемблировать фрагмент кода жертвы. На RISC-процессорах с постоянной длиной инструкций это сделать легче, чем на CISC.

      2. Внедрённый код (тело вируса) должен получить доступ к API операционной системы. В "ДОС" для доступа к функциям достаточно было вызвать прерывание. В "Windows" и в "Linux" нужно копать таблицу импорта программы-жертвы в надежде, что найдутся нужные функции (в винде достаточно найти LoadLibrary и GetProcAddress из kernel32.dll).
      Ответить
      • ABI линукс документирован, так что ты можешь вызвать любой сискол вообще не загружая ни одной функции.
        ABI винды нет, там надо честно линковаться с нужной либой и дергать ее функции

        Хакеры могут реверсинженернуть сисколы винды, но тогда вирус может оказаться непереносим
        Ответить
        • Верно, это и осложняет дизассемблирование на x86. Нужно начинать с точки входа в программу и считать длины. Во-первых, мы же не будем пихать джамп на вирус самой первой инструкцией, потому что это сразу же распознает эвристика антивируса. Во-вторых, нам же нужно вернуть управление оригинальной программе, да ещё и так, чтобы юзер ничего не заметил. Значит, нужно восстанавливать функционал оригинального кода на месте заплатки.
          Ответить
        • Кстати, а есть ли зловреды, которые перешивают микрокод?
          Ответить
          • На Win98 был CIH. Потом, когда китаец открыл исходники, появилось множество модификаций.
            Ответить
      • Не стоит ковырять эксель. Это крайне неактуально.

        1. Упакованный файл будет неминуемо испорчен.
        2. слетит цифровая подпись либо файл не пройдёт внутреннюю проверку по hash/контрольной сумме. Это хоть и редко, но бывает.
        3. на зараженный файл будут ругаться мало-мальски все антивирусы.

        Кстати, на сайте delfcode.ru есть пример заражения файла расширением последней секции - вирус скидывает своё тело туда и перестраивает точку входа, чтобы первым получать управление. Я долго изучал эти исходники, но отказался от них. Файл можно заразить гораздо более простым способом, без вмешательства в его структуру. Потом эти хамовитые ублюдки предали меня - в тот момент, когда я так нуждался в их помощи. А я в отместку не поделился с ними своим оригинальным способом заражения файла, с сохранением иконки. Я намеренно скомпроментировал свою учётку и больше никогда их не посещал.
        Ответить
        • Можно заражать и другие форматы. Есть бомбочки для .bat/.cmd-файлов, есть для .sh-файлов.

          Надо попробовать перечислить всё, что только можно заразить хотя бы теоретически.
          Ответить
  • Давайте обсуждать возможность написания вирья для "Андроида".

    Есть ли смысл устанавливать так называемые "антивирусы" для мобильных ОС или это наебахтунг, потому что вирусов для них не существует?
    Ответить
      • Вот да. Ну троянец - продукт одноразовый. Мавр сделал своё дело, мавр может уходить. А вирус должен ещё своё тело передать программам, о которых почти ничего не знает.
        Ответить
      • Вот да. Ну троянец - продукт одноразовый. Мавр сделал своё дело, мавр может уходить. А вирус должен ещё своё тело передать программам, о которых почти ничего не знает.
        Ответить
    • Говорят, вирусов для "Linux" не существует. Это правда? Если да, то почему. "Android" же на основе "Linux" сделан.
      Ответить
      • Более того, "Android" для каждой программы создаёт отдельного юзера (есть правда несколько системных программ, которые используют общего юзера). В нём без рута ничего интересного не сделаешь.
        Ответить
        • Сделал кое-что интересное с твоим анусом. Возьми у мамки в сумочке зеркальце и посмотри, что ТАМ.
          Ответить
        • По такой логике существуют только DOS и некоторые версии Windows (Windows 3.x и старше не существуют, потому что для них нет вирусов).
          Ответить
    • Ни разу не встречал вирусов на своём ведроеде. Троянов тоже.
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8