1) Вступление Итак, после публикации двух статей из этой же серии (ссылки на них даны в конце), остался не раскрытым один-единственный аспект - как же всё-таки тихо и незаметно запустить процесс? В этой небольшой статье я продемонстрирую обнаруженный мной при весьма загадочных обстоятельствах способ запуска процесса. А заодно уж, этот метод можно расширить и до того, чтобы малой кровью скрыть программу из списка процессов. Но это я уже оставлю на совесть читателя - искушенный это сделать сможет, а у меня нет никакого желания делать так, чтобы этим мог восполизоваться каждый. PS Я могу ошибаться, но, вроде, этот способ основан на баге винды. 2) Идея Запуска Процесса. Что говорит фаервол при попытке Запуска Процесса? Что программу, дескать, он не знает, и верить ей не хочет. Значит надо влезть в другую программу, которой он доверяет. Но все стандартные способы этого уже давно известны, и давно пресекаются нашими доблестными защитниками. Ладно, не будем увлекаться пустым трёпом и перейдём к делу. Мной (не знаю, первый ли я, кто додумался до такого, или нет - не суть важно) была обнаружна интересная вещь - если программа подгружает библиотеку, устанавливающую ловушку (Hook), а затем завершается, то Библиотека из памяти не выгрыжается Библиотека запускается в контексте процесса, вызвавшего хук Каждый раз выполняется код инициализации библиотеки Исходя из этого, мы можем создать библиотеку, которая бужет выполнять всё нам нужное, добавить в неё хук, а в основной программе только подгружать библиотеку и устанавливать этот Хук, после чего честно заканчивать работу. 3) Реализация Качаем тут (Delphi, заускается обозреватель на яндекс) (прямой линк - http://redxak.net/antifire/AntiFire3.rar) на слиле - http://slil.ru/25805088 (20 кб, не так уж и тяжело...) 4) Ссылки Хитрый обход файрволов. Часть 1. Хитрый обход файрволов. Часть 2. (c)desTiny aka 73ru5, 2008 Antichat.ru/Redxak.net Исключительно в ознакомительных целях! PS Не хотелось, всё-таки спускать в паблик... ну да ладно
Да, кстати: если у вас в приведённой программе фаер ругается на запуск процесса, то жмите "Блокировать" - с некоторого раза он запустится Это издержки паблик версии
Code: Not Found The requested URL /404/ was not found on this server. Apache/2.0.54 (Debian GNU/Linux) PHP/5.2.0-8+etch9~bpo31+1 mod_ssl/2.0.54 OpenSSL/0.9.7e Server at cp.freehostia.com Port 443 Перезалейте исходники
Сегодня проверил на win98 - правда без фаера - заработала весьма странно: Эксплорер открылся, но: 1) Во-первых, один - видимо там отключение хуков работает, можно, наверное, сделать UnHook условным и отрубать не сразу 2) А открылся он потому, что в строке сравнения ...pos('AntiF', s)=0... почему-то s='...ANTIF.EXE'; 3) C фаером не проверял - не было возможности... но... надеемся на лучшее
Не уверен, судя по популярности статьи И я тоже надеюсь, что особого распространения способ не получит... Поэтому и писал всё максимально кратко... PS Так, всё-таки, расскажите же кто-нибудь, это уязвимость винды или так положено?
а при чём здесь винда? она бедная не виновата. способ известен давно, но как то аверы особо ему внимания не уделяют, хотя хз почему. но некоторые продукты все таки детектят такие финты
Спасибо А бага - хотя бы в невыгрузке библиотеки после завершения основного кода - если посмотреть, то в коде хука ничего зловредного не делается, всё происходит при инициализации библиотеки, притом почему-то многократной. А если хуки убрать, то библиотека автоматом выгружается. Но! Замечу, что в моём коде хук отрубается при первом же срабатывании, а библиотека всё ещё висит.
про выгрузку библ надо смотреть подробнее, должна была выгрузиться а многократная инициализация - это приходящие сообщения от просесса, о создании, остановке потоков и т.д. это всё надо фильтровать, тогда 1 раз будет инициализироваться либа
Вот это как раз вряд ли - она инициализируеися, имхо, по одному разу при загрузке в процессы(почему-то не во все?). После этого - она становится частью процесса(проверил методом исследования алресов в памяти). >>>должна была выгрузиться вот именно! А у меня прграмма раньше завершается, чем библиотека начинает работать=)
во-первых, только в те, у которых есть окна и которые обрабатывают мессаги)) т.к. хук на Wh_getmessage. во-вторых, Dll_thread_attach и Dll_thread_detach, будут полюбому приходить библе
ок но это не решает проблем с её выгрузкой... >>Dll_thread_attach и Dll_thread_detach, будут полюбому приходить библ тут вообще непонятно, что будет, учитывая, что библиотека подгружена уже мёртвым тредом...