Перейти к содержанию

Recommended Posts

Kira_the_first

Однажды вечером, я решил написать небольшой сигнатурно-ориентированный эвристический анализатор для батников(на бат естественно), и у меня это получилось. 
Создание программы заняло один вечер, и где-то треть или даже половина времени на разработку заняла отладка(глупая недокументированная синтаксическая ошибка, которая никак себя не проявляла).
Язык программы: английский, для солидности что-ли (вдруг на зарубежные залью, хз). Если вы знаете английский на уровне прикладных программ, то сможете увидеть пару фичей и приколов.
 
Ссылка на скачку архива с тестовыми файлами: https://yadi.sk/d/6AIyb05y3LuxdW

Возможно будут ещё версии, так что всех скачавших прошу оставить отзыв о программе, чтобы я мог её улучшить(нужно ИИ создавать как никак, и виртуализировать среду....а хотя, хрена с два я это на бат то сделаю).

Безымянный.png

  • Downvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
PR55.RP55

}.BAT
}.BAT.EXE
\OK.BAT
\OK.BAT.EXE
\VK.BAT
\VK.BAT.EXE
BROWSER.BAT
BROWSER.BAT.EXE
BROWSER0.BAT
BROWSER1.BAT
BROWSER2.BAT
BROWSER3.BAT
BROWSER4.BAT
BROWSER5.BAT
BROWSER6.BAT
BROWSER7.BAT
BROWSER8.BAT
BROWSER9.BAT
CHROME.BAT
CHROME.BAT.EXE
FIREFOX.BAT
FIREFOX.BAT.EXE
FIREFOXPORTABLE.BAT
FIREFOXPORTABLE.BAT.EXE
KОMЕTА.BАT
KОMЕTА.BАT.EXE
IEXPLORE.BAT
IEXPLORE.BAT.EXE
LAUNCHER.BAT
LАUNСHЕR.BАT.EXE
OPERA.BAT
OPERA.BAT.EXE
PUNTO.BAT
PUNTO.BAT.EXE

\EULA.BAT
\ROAMING\SVCHOST.BAT
\IЕХPLОRЕ.BАT.EXE
\LАUNСHЕR.BАT.EXE

------------

Ну и левое расположение, доп атрибуты, сама по себе левая программа её директория типа:

\ASK.COM\

\APPDATA\LOCAL\SVSHOST\

( Здесь счёт на сотни, а то и на тысячи записей )

+

Размер:  0 байт.

Файл к нему идёт: Автозапуск

Tasks + Run ( все ключи запуска ) + ярлыки от программ\браузеров, двойное расширение.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Kira_the_first

Это вы продемонстрировали мне технологию "разбивки вируса на составные части" (забыл как термин называется, ну и фиг с ним)? Если да, то сигнатурно "сканировать" файл запуска не имеет смысла, и даже файлы по отдельности (файл запуска не даст ничего, а разбавленные команды не дадут приплюсовываний к общей картине). Сам по себе запуск(start, call и прочее) - не вредоносен, вредоносно то, что он запускает - поэтому сигнатурный детект на запуск быть не должен. Делать исключением файлы с 0 байт и перехватывать(хукать) ключи реестра и директории нерентабельно для эвристика батников(это уже какой-то "антивирус" получиться:)), его цель - выносить вердикт о чистоте файла ещё до его запуска; да и лишний код только место занимать будет: зачем искать в коде предполагаемого вируса ключи автозапуска(которые могут отредактировать/криптануть немного/заюзать другие ключи и т.д.), если можно просто сказать "этот файл редактирует реестр, будьте предельно внимательны")?

И да, этот эвристик создан тестировать только батники, и пример сканируемых файлов(в которых может быть нужный код) приведён в нём же.

Отредактировал Kira_the_first

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
PR55.RP55

Вы хотите разработать проект под некую идеальную ситуацию.

т.е.:  Только для .bat файлов... игнорируя все прочие скрипты, расширения.

Только для случаев когда файл ещё не запускался...

Не отслеживая связь файла с записями в реестре - а именно с ключами автозапуска, с назначенными заданиями, не учитывая директории\местоположения файла ( съёмный USB диск, дисковод ), прочие файлы в директории - с которыми .bat файл может взаимодействовать, известные не легитимные\вредоносные продукты и их каталоги, атрибуты ( скрытый, системный, только для чтения )

Например в антивирусной программе Олега Зайцева - AVZ реализован механизм 1+1+1-?=

т.е. само по себе явление не представляет угрозы но в сочетании, это угроза, или же наоборот некий факт перевешивает весь негатив и нейтрализует детектор ( например файл подписан легальной\известной ЭЦП )

Если уж на то пошло, то здесь может быть именно механизм теста.

т.е. пользователь проверив файл получает отчёт - файл делает то-то и то-то... Но в этом тоже мало смысла. Будет в отчёте строка:  Изменение ключа реестра RUN* и ?  Если пользователь продвинут он и сам разберётся, что, к чему. А если у него нет этих компетенций\знаний\умений то ему ваш анализ...

Разве он поймёт ?

Сейчас не 1992 год.  Если анализатор делать для себя - для саморазвития\обучения\самообучения - это одно. А если мы говорим именно о проверке... Есть возможность комплексного анализа.

Это и VirusTotal сканер и Comodo File Verdict Service и аналогичные продукты типа:  herdprotect.com; threatinfo.net; reasoncoresecurity.com  и Crystal Security

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
      Антивирусы были обновлены до версии 13.1.16. В числе прочего добавлены совместимость с Windows 10 20H1 и поддержка Windows 10 20H2.
    • Ego Dekker
      Программа для удаления продуктов ESET обновилась до версии 9.0.1.0. Для просмотра всех команд запустите утилиту с параметром /help. 
    • santy
      1. на самом деле можно и не удалять, а редактировать единственный критерий для создания запросов. Было бы только удобно формировать такой запрос.... например, "все объекты с цифровой, которая не входит в белый список". здесь ты одним значением не найдешь их фильтруя все объекты сквозным образом по ИНФО, как минимум необходимо два условия, а значит и два значения вводить для запроса. 2. подсветки нет, но это наверное не самое главное. для скорости анализа важно, (хотя бы строку из инфо, которая соответствует критерию).... когда ИНФО содержит много информации. для формирования скрипта- не критично. 3. старых и новых критериев нет. все действующие. ненужные удалить. хотя может и полезно было бы ставить check "отключить" или "включить" данное правило в базе.
        вся эта работа выполняется на стадии формирования списка объектов автозапуска. все исполняемые файлы, которые встречаются по ссылкам в реестре, в cmdLine, и проч. Если ты набрал в поиске по наименованию "cmd.exe", ты уже нашел данный объект в списке со всей его историей (ИНФО), собранной на стадии формирования образа автозапуска.... в какие параметры, ссылки входит в реестре или в cmdLine. цитата "выше Разве?" взята из предложения по деструктивным действиям чистых файлов, когда эти деструктивные действия находятся с помощью критериев, но чистый хэш снимает статус, подтверждающий дейструктивность действия данного файла в анализируемой системе.
    • PR55.RP55
      Недостатки uVS:
      1) Невозможно задать временный критерий. После поиска созданный критерий нужно удалять... Решение: При создании критерия добавить чек бокс:  НЕ вносить изменений в snms [ V ] 2) В Инфо. нет подсветки по типу поиска в браузере ( подсветить всё найденное ) 3) Поиск идёт по всем критериям -  по старым и по новым. Когда критериев много ( а их много ) такой поиск теряет смысл. Разве ? Нет смысла искать в других полях по: каталог; имя производителя; цифровой подписи; хэш. Напомню:  " Пока что вижу эти: wmic.exe, vssadmin.exe, cmd.exe, svchost.exe + powershell.exe+ netsh.exe конечно, остальные можно по мере поступления добавить.  "      
    • santy
      1. уточни, о каком функционале по ИНФО идет речь. одно дело фильтрующий поиск, т.е. список объектов фильтруется (сейчас) по определенному полю, и поиск выполняется сразу после введения одного символа, далее, уже по двум добавленным символам. и т.д. запрос же выполняется после введения некоторого значения. (не единственного символа.) запросов в таком виде сейчас нет, они могли бы быть, если будет реализована функция фильтрации по единственному критерию. (т.е. в этом случае мы получаем результат не по всем критериям, а по одному из списка) ----- здесь не факт, что фильтрующий поиск будет работать настолько быстро при проверке введенного символа по всем полям. 2. приведи примеры, когда введенное значение имеет смысл фильтровать по всем полям ИНФО. скажем если мы ищем имя файла, то нет смысла его искать в качестве вхождения в другие поля, аналогично и имя каталога, и имя производителя, и цифровой подписи, хэшей. и т.д. т.о. может получиться, что мы только увеличим время обновления зафильтрованного списка, и не получив ожидаемого лучшего результата.
×