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

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
      даже скомплировалось, но интереса никакого не представляет, проще использвать WMI для этого, который и в XP работает в отличии от этого примера,  еще и работает криво, даже набортную видео память правильно определить не смогло, 4Gb рисует вместо 11gb. а это вообще не в тему.
    • PR55.RP55
      Возможно будет полезно. 1) Обнаружение GPU intel с примером кода. https://software.intel.com/ru-ru/articles/gpu-detect-sample 2) Использование GPU - Visual Studio  в плане тестирования. https://msdn.microsoft.com/ru-ru/library/mt126195.aspx    
    • demkd
      это если пользоваться regedit-ом, впрочем там невозможно обнулить dacl там можно его сделать пустым, что приведет к обратному - недоступности ключа для всех пользователей кроме владельца, если убивать dacl программно то ничего не появляется его просто нет и ключ доступен для всех. Сами исправят когда-нибудь, я им не пользуюсь. Увы, но майнеры работают напрямую с библиотеками amd opencl или с cuda nvidia или просто с opencl какой зацепят включая интеля, через них можно получить общую загрузку gpu для родной карты, но не раскладку по процессам, ну разве что за исключением nvidia quadro у них есть свои бибилиотки и там вроде как можно что-то вытянуть, но опять же только для quadro.
      Да и это не актуально, я набросал на коленке небольшую тестовую утилиту через direct-x, все довольно точно считает и в 10-ке и в 7-ке, вряд ли оно конечно будет работать в XP, но оно и не надо впрочем желающие протестируют, добавлю в след. версии uVS, будет считать аналогично CPU с момента запуска процесса, такой подход майнеров CPU/GPU выявляет замечательно, они грузят постоянно, а значит и процент близкий 100 выходит, на фоне практически нуля для всех остальных процессов.
    • PR55.RP55
      Dragokas Да, сегодня искал по данному вопросу информацию. https://ru.bmstu.wiki/Кража_веб-страниц,_запускаемых_в_браузере_пользователя,_с_использованием_уязвимостей_графического_процессора + Ещё будет полезна информация полученная по:  tasklist  [ Память ] https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/tasklist  
    • Dragokas
      Раз уж в них такие нестыковки по показаниям GPU, проще наверное взять исходники какого-нибудь консольного майнера. Там обычно отображаются и учитываются все такие нагрузки, уже заточена поддержка под несколько видеокарт и даже можно задать ограничения. Можно начать с NiceHashMiner - там внутри папки есть все наиболее популярные майнеры и дальше уже смотреть, у какого из них есть исходник, в крайнем случае списаться с автором.
×