akroBAT

Jan. 21st, 2017 07:57 pm
ewoke: (Default)
[personal profile] ewoke
Вредоносность бат-скриптов (batch-язык, bat-файлы с расширением .bat) заключается в следующем:
- возможна модификация реестра
- -//- файлов

, за примерами подобного говнеца ходить далеко не нужно, https://vk.com/topic-86450324_33107504

АВ не умеет это эмулировать.
(?предполагаю)хуже того, выполнение происходит от доверенного cmd.exe, которому можно многое.


По первому пункту, это добавление чего-либо в автозагрузку, изменение файлассоциаций, отключение редактора реестра или task manager'а.

По второму, тупо удаление, переименовывание (реже) файлов, часто - извлечение (создание) еще одного файла для его запуска, например vbs/js-скрипта.

В продвинутых версиях используется обфускация - это когда для команд или частей команд создаются алиасы, через которые затем исполняется задуманное.


Нас интересует, как это ловить, интерпретируя батник самостоятельно.

И, как в примере с feed the bird, я все же прихожу к выводу, что нет смысла реагировать на отдельные команды, потому что способов сделать гадость (модификацию файлов и/или реестра) множество. Т.о., требуется, по возможности, имитировать выполнение, и по завершению работы, смотреть изменения среды.

Сложности добавляет то, что бат-файл может являться частью другого файла, напр. EXE, речь идет о видоизмененном EXE. Который будучи переименован в EXE, работает как экзешник, а если его переименовать в BAT, то работает как батник.

Сейчас я не хочу забивать себе голову таким.



(подсказка - после MZ идут байты 0D,0A. кроме того, есть ограничение на размер, несколько Кб)

---

По возможности мы производим действия в реальной системе в режиме только-чтение (напр. батник запрашивает через if exist существование какого-либо файла), но если производятся пакостные действия, совершаем их "понарошку", отмечая у себя в записях о произведенных изменениях.

Надо иметь ввиду, что команды могут претерпевать игрища с заглавными буквами (if exist может быть и iF EXiST, и If exiST).



---

Извращений может быть много. Но мы будем двигаться от простого к сложному.

Язык программирования - Си.

/ akrobat - название модуля для проверки батников.

Profile

ewoke: (Default)
ewoke

October 2025

S M T W T F S
   1234
5 67891011
121314 15161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2026 09:24 pm
Powered by Dreamwidth Studios