Эвристик батников на .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

 

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


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

  • Сообщения

    • demkd
      А ничего с этим не сделать старые версии windows проблемные там система сама балуется внедрением потоков при очень низком уровне защиты системных процессов, а эцп вообще ничего не гарантирует когда речь заходит о внедренных потоках, зловред вполне может внедрить поток в системный процесс как с помощью подкинутой в правильное место "легитимной" dll, так и просто создав его, а тот уже в свою очередь внедрить в следующий системный и ищи концы среди вот этого вот всего.
      Все это усугубляется тем что тот же SVCHOST.EXE который был когда запущен может оказаться совсем не системным, хотя путь у него будет правильным как и файл будет иметь валидную эцп и запущен он будет якобы services.exe, в 10ке такое провернуть уже сложнее, а вот 7ке легко, потому урезать лог по принципу "оба файла имеют эцп" никак нельзя.
    • PR55.RP55
      uVS v5.0.6v x64 [http://dsrt.dyndns.org:8888]: Windows 7 Home Basic x64 (NT v6.1 SP1) build 7601 Service Pack 1 [C:\WINDOWS] (!) ПРЕДУПРЕЖДЕНИЕ: Ф зафиксировал внедрение потока C:\WINDOWS\SYSTEM32\SERVICES.EXE [428] внедрил поток [380] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [876]   C:\WINDOWS\SYSTEM32\SVCHOST.EXE [1060] внедрил поток [1276] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [336] и т.д.  А есть ли смысл выводить в лог десяток - другой аналогичных записей, если все эти файлы  в базе проверенных и у них легальная цифровая?  
    • demkd
      ---------------------------------------------------------
       5.0.6
      ---------------------------------------------------------
       o Добавлено 4 новых ключа автозапуска в список для проверки.

       o Добавлен новый статус "UWP".
         Его получают пакеты приложений универсальной платформы Windows (Universal Windows Platform Apps).

       o Добавлен новый твик #46: Отключить Windows Terminal и очистить реестр.
         Если Windows Terminal активен, в лог выдается предупреждение.
         При обнаружении подозрительных настроек Windows Terminal в конфигурационных файлах, реестре или в каталогах с фрагментами в лог выводится предупреждение.
         Если подозрительная строка найдена в JSON-файле настроек, то в список автозапуска добавляется этот файл с содержимым со статусом "подозрительный".
         В любом случае рекомендуется отключить Windows Terminal, а еще лучше немедленно удалить это из системы.
         Windows Terminal — крайне уязвимый и неоптимизированный кусок кода.

       o Улучшена функция масштабирования удаленного рабочего стола, повышено качество аппаратного апскейла, добавлен параметр "Резкость".
         (Требуется D2D и DX11 на клиентском компьютере)

       o Исправлена старая ошибка в функции отправки ответов серверной части uVS.
         Из-за ошибки в редких случаях могло происходить подвисание серверной и клиентской частей uVS при работе с удаленной системой.

       o Исправлена ошибка в функции завершения серверной части при выходе из удаленной системы.

       o Оптимизирована функция подключения к удаленной системе.

       o Оптимизирована функция сжатия фреймов для DDAL/DDAw режимов: шрифты теперь не теряют яркость, а картинка DDAL практически неотличима от DDA1/DDA2 на глаз, 
         при этом размер сжатого фрейма вырос лишь незначительно.

       o Добавлена x64 версия report_crash.

       o Обновалена функция сбора дампа при падении uVS, функция перенесена в утилиту report_crash, что позволит
         получить максимально точную информацию о произошедшей ошибке.

       o Временно добавлена аппаратная функция обнаружения разрушения списка автозапуска в памяти uVS, что позволит отлавливать сложные в обнаружении ошибки.
         Есть 5 дампов, по которым не удалось выяснить точное место ошибки и эта функция должна помочь найти проблемное место.
         Функция снижает скорость формирования списка на ~5% на современных процессорах.

       o Исправлена ошибка в функции подсчета удаленных ключей реестра.

       o Исправлена ошибка в функции записи параметров при выходе из uVS.

       o Исправлена ошибка разбора JSON-файлов.

       o Исправлена ошибка проверки переменных окружения загруженного пользователя.

       o Из списка доступных для подключения IP-адресов удалены адреса активных VPN.

       
    • PR55.RP55
      * адрес страницы (ReferrerUrl) и адрес самого файла (HostUrl) в метке появились в Windows 10 версии 1703, их записывают браузеры, например Edge и Chrome. В статье показано, как посмотреть эти данные в Windows 11 https://www.comss.ru/page.php?id=22105
    • Ego Dekker
      ESET Cyber Security 10.0.2100  (macOS 13/14/15/26/27)
                                                                                  ●
              Руководство пользователя ESET Cyber Security 10  (PDF-файл)
                                                           
      Полезные ссылки:
      Технологии ESET
      Удаление антивирусов других компаний
      Как удалить ESET Cyber Security?
×