Авторские статьи Заканчиваем с фаерволами! (Часть 3)

Discussion in 'Статьи' started by desTiny, 18 May 2008.

  1. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    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 Не хотелось, всё-таки спускать в паблик... ну да ладно :)
     
    #1 desTiny, 18 May 2008
    Last edited: 19 May 2008
    6 people like this.
  2. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Да, кстати: если у вас в приведённой программе фаер ругается на запуск процесса, то жмите "Блокировать" - с некоторого раза он запустится :)
    Это издержки паблик версии :)
     
  3. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    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
    Перезалейте исходники
     
    #3 0verbreaK, 19 May 2008
    Last edited: 19 May 2008
  4. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
     
  5. PandoraBox

    PandoraBox Elder - Старейшина

    Joined:
    6 May 2007
    Messages:
    262
    Likes Received:
    176
    Reputations:
    7
    Перезалей куда нибудь сервер не отвечает...
     
  6. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    ладно, ладно...
    http://slil.ru/25805088
    (20 кб - кто не любит слил, не так всё страшно :))
     
  7. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Сегодня проверил на win98 - правда без фаера - заработала весьма странно:
    Эксплорер открылся, но:
    1) Во-первых, один - видимо там отключение хуков работает, можно, наверное, сделать UnHook условным и отрубать не сразу
    2) А открылся он потому, что в строке сравнения ...pos('AntiF', s)=0... почему-то s='...ANTIF.EXE';
    3) C фаером не проверял - не было возможности... но... надеемся на лучшее ;)
     
  8. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Как всегда, было интересно, респект desTiny+++
     
    3 people like this.
  9. console done

    console done New Member

    Joined:
    13 Apr 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    что щас начнётся :// и опять не вольно задумываешься о замене виндовс на что-то другое.
     
  10. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Не уверен, судя по популярности статьи :)
    И я тоже надеюсь, что особого распространения способ не получит... Поэтому и писал всё максимально кратко...


    PS Так, всё-таки, расскажите же кто-нибудь, это уязвимость винды или так положено?
     
  11. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    а при чём здесь винда? :) она бедная не виновата.
    способ известен давно, но как то аверы особо ему внимания не уделяют, хотя хз почему. но некоторые продукты все таки детектят такие финты :)
     
    1 person likes this.
  12. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Спасибо :)
    А бага - хотя бы в невыгрузке библиотеки после завершения основного кода - если посмотреть, то в коде хука ничего зловредного не делается, всё происходит при инициализации библиотеки, притом почему-то многократной.

    А если хуки убрать, то библиотека автоматом выгружается.
    Но! Замечу, что в моём коде хук отрубается при первом же срабатывании, а библиотека всё ещё висит.
     
  13. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    про выгрузку библ надо смотреть подробнее, должна была выгрузиться :)
    а многократная инициализация - это приходящие сообщения от просесса, о создании, остановке потоков и т.д. это всё надо фильтровать, тогда 1 раз будет инициализироваться либа :)
     
  14. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Вот это как раз вряд ли - она инициализируеися, имхо, по одному разу при загрузке в процессы(почему-то не во все?).
    После этого - она становится частью процесса(проверил методом исследования алресов в памяти).

    >>>должна была выгрузиться
    вот именно! А у меня прграмма раньше завершается, чем библиотека начинает работать=)
     
  15. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    во-первых, только в те, у которых есть окна и которые обрабатывают мессаги)) т.к. хук на Wh_getmessage.
    во-вторых, Dll_thread_attach и Dll_thread_detach, будут полюбому приходить библе :)
     
  16. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    ок :) но это не решает проблем с её выгрузкой...

    >>Dll_thread_attach и Dll_thread_detach, будут полюбому приходить библ

    тут вообще непонятно, что будет, учитывая, что библиотека подгружена уже мёртвым тредом...