Эвристик батников на .bat - Безопасность средствами операционной системы - Форумы Anti-Malware.ru Перейти к содержанию

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

 

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


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

  • Сообщения

    • PR55.RP55
      Добавить в меню команду: Удалить записи\сетевые адреса соответствующие поисковому запросу. * В списке может быть 10-20 записей\ссылок на левые сайты. Создавать критерии, не всегда нужно\выгодно... А отдавать команды по каждой ссылке большой расход времени и нервов.  
    • demkd
      Это внеплановое обновление для разбора необычного случая с внедренными потоками, соответственно релиз задерживается. ---------------------------------------------------------
       5.0.RC2
      ---------------------------------------------------------
       o При обнаружении внедренного потока в процессе в лог печатается точное
         время создания потока и ТОП 10 наиболее вероятных виновников.
         (!) Только для потоков не имеющих привязки к DLL.
         (!) Функция требует активного отслеживания процессов. (Твик #39)

       o Изменен способ адресации мониторов при работе с удаленным рабочим столом.
         Теперь выбирается не логический номер монитора, а его порядковый номер,
         что позволяет избежать проблем при обновлении драйверов на видеокарту
         без закрытия окна удаленного рабочего стола.

       o В окно удаленного рабочего стола добавлена кнопка "Меню", она открывает
         на удаленном компьютере окно с кнопками быстрого доступа к часто используемым
         настройкам системы и системным утилитам.
         Утилиты из этого окна запускаются на удаленном компьютере под текущим пользователем.

       
    • demkd
      С большой вероятностью эта версия и станет v5.0
      Все что было запланировано реализовано. ---------------------------------------------------------
       5.0.RC1
      ---------------------------------------------------------
       o В окно запуска добавлен пункт меню "Перезагрузить в интерфейс встроенного ПО [UEFI]"
         Доступно начиная с Win10.

       o В окно запуска добавлен выбор основного шрифта.

       o Пополнено окно дополнительных настроек.

       o В функцию удаления временных файлов добавлено 4 каталога с временным файлами Windows.
         o \Windows\Downloaded Program Files
         o \ProgramData\Microsoft\Windows\WER\ReportArchive   
         o \ProgramData\Microsoft\Windows\WER\ReportQueue
         o \ProgramData\Microsoft\Windows\WER\Temp
         Функция больше не выводит в лог пути до отсутствующих каталогов.

       o Исправлена критическая ошибка инициализации режима DDA,
         она могла проявляться на чипсетах AMD при подключении
         физического монитора к компьютеру, который был отключен или физически
         не подключен на этапе загрузки системы, при этом меняются логические
         номера дисплеев и 1-го дисплея обычно не существует, поэтому
         если вы подключились и 1-й дисплей показывает черный квадрат то
         стоит попробовать переключиться на 2-й и т.п.
         (!) В этом случае не работает программный способ вывода дисплея из сна,
         (!) поэтому в текущей версии движения мыши в любом случае передаются на
         (!) удаленный компьютер, что гарантировано пробуждает спящий дисплей
         (!) при переключении на него.

       o Исправлена ошибка создания загрузочного диска под Windows 11 24H2,
         по неизвестной причине в этой редакции Windows dism из пакета ADK
         не способен без ошибок сформировать загрузочный образ диска,
         поэтому все операции с образом диска теперь выполняет штатный dism из системного каталога.

       o Исправлена ошибка для определения пути до драйвера CDD.DLL при анализе
         ключей безопасного режима.

       
    • PR55.RP55
      Критическая уязвимость в ASUS DriverHub https://www.comss.ru/page.php?id=16443
    • PR55.RP55
      Изменения для драйверов Windows 11: новые сертификаты и отказ от метаданных https://www.comss.ru/page.php?id=16408
×