Конференция "Сети" » Как перехватить API функции (Connect, Bind) и изменить их парамет [D7, WinXP]
 
  • MALAN © (25.02.09 14:25) [0]
    Некий процесс в системе хочет соединиться с XXX.XXX.XXX.XXX:YYYYY (IP:PORT), а для этого вызывает команду Connect с IP адресом и номером порта. Необходимо чтобы программа перехватчик изменила параметры команды Connect так чтобы если YYYYY = 25, то соединение перенаправлялось на локальный порт который слушает программа перехватчик, а отттуда уже изменённые данные отправлялись бы куда надо.

    Перерыл много инфы, и хотя задача вроде бы не сложная, но в силу своей тупости и малого опыта ничего конкретного сделать не смог.
    Насколько я понял есть несколько вариантов (изменение  Winsock.dll, сплайсинг), наиболее вменяемый это внедрение специальной DLL во все создаваемые процессы (http://www.rsdn.ru/article/baseserv/InjectDll.xml).
    Но как должна выглядеть эта DLL, чтобы она могла модифицировать комманду Connect, а оригинальную отправлять программе перехватчику?
  • Anatoly Podgoretsky © (25.02.09 15:04) [1]
    > MALAN  (25.02.2009 14:25:00)  [0]

    Это называется файрвол.
    Говоришь не сложная задача, ну-ну.
  • Сергей М. © (25.02.09 15:41) [2]

    > MALAN ©   (25.02.09 14:25)  


    Клиент где находится, в корп. лок.сети или подключен непосредственно к сети провайдера ?
  • Rouse_ © (25.02.09 17:33) [3]
    Тут пример перехвата recv, wsarecv и wsarecvex через правку таблицы импорта, переделай на сплайсинг и на connect

    http://forum.sources.ru/index.php?showtopic=86903
  • MALAN © (25.02.09 18:20) [4]
    >Сергей М. ©   (25.02.09 15:41) [2]

    >Клиент где находится, в корп. лок.сети или подключен непосредственно к >сети провайдера ?

    всё находится на локальной машине, топология сети значения не имеет

    >Anatoly Podgoretsky ©   (25.02.09 15:04) [1]

    >Это называется файрвол.
    >Говоришь не сложная задача, ну-ну.

    Скорее уж прокси-сервер
  • Сергей М. © (25.02.09 19:55) [5]

    > топология сети значения не имеет
    >


    Да ты что ?
    А мужики-то и не знали ..

    Как же не имеет, если, например, есть возможность доступа к интересующему трафику на подконтрольном шлюзе или прокси-серверу сети ?
  • MALAN © (25.02.09 20:12) [6]
    >Сергей М. ©   (25.02.09 19:55) [5]

    меня интересует только трафик идущий от/к программам запущенным на локальной машине, если ещё точнее, то почта
  • Сергей М. © (25.02.09 20:20) [7]
    Вот я и спрашиваю - идет ли этот трафик непосредственно через интерфейс провайдера или на пути к интерфейсу провайдера в сети имеется подконтрольный тебе шлюз и/или прокси ?
  • MALAN © (25.02.09 20:35) [8]
    >Сергей М. ©   (25.02.09 20:20) [7]

    А какая собственно разница? Перехват-то должен происходить на сеансовом уровне модели OSI и на той же самой локальной машине, структура сети не должна влиять на работу программы... работа программы-перехватчика должна быть похожа на реализацию атаки "человек-посередине" (ну т.е. посередине будет не человек, а программа, но принцип вообщем-то тот же)
  • Сергей М. © (25.02.09 20:53) [9]

    > MALAN ©   (25.02.09 20:35) [8]


    > какая собственно разница?


    Ты действительно тупой или прикидываешься ?)

    Одно дело - совершенно штатным и легальным образом задействовать SMTP/POP3/IMAP-фильтр на хосте-шлюзе в своей ЛВС, мимо которого не пройдет ни один байт внешнего трафика, и совсем другое дело - заниматься ректальным внедрением всякого рода "шпионских" DLL во вс е подряд процессы, не имея при этом никакой гарантии успешности начатой кампании !

    И если тебе нужно просто подслушать трафик на лок.машине, то что-то куда-то внедрять нет никакой необходимости - есть готовая легальная проверенная WinPCap, она чудесно справляется со шпионскими делами
  • MALAN © (25.02.09 21:14) [10]
    Сергей М. ©   (25.02.09 20:53) [9]

    >Ты действительно тупой или прикидываешься ?)

    >Одно дело - совершенно штатным и легальным образом задействовать SMTP/>POP3/IMAP-фильтр на хосте-шлюзе в своей ЛВС

    >И если тебе нужно просто подслушать трафик на лок.машине, то что-то >куда-то внедрять нет никакой необходимости - есть готовая легальная >проверенная WinPCap, она чудесно справляется со шпионскими делами

    А я где-то написал что мне нужно просто "подслушать траффик"? Я же русским по белому пишу, нужно модифицировать информацию (заметьте, не пакеты, а саму информацию, в частности текст письма, добавлять заголовки) причём, прозрачно для почтовых программ, а для этого перехват лучше осуществлять на сеансовом уровне просто перенаправляя соединение, и программа эта должна находится не на шлюзе, а на локальной машине
  • Сергей М. © (26.02.09 08:31) [11]

    > не пакеты, а саму информацию


    Информацию эту несут как раз те самые пакеты.

    http://www.wasm.ru/article.php?article=netfilter
  • Сергей М. © (26.02.09 08:32) [12]

    > как должна выглядеть эта DLL


    Что значит "как" ?
    Обычно должна выглядеть - DLL она и есть DLL..
  • MALAN © (26.02.09 08:42) [13]
    >Сергей М. ©   (26.02.09 08:31) [11]

    >Информацию эту несут как раз те самые пакеты.

    Кто бы мог подумать:))

    >Что значит "как" ?
    >Обычно должна выглядеть - DLL она и есть DLL..

    Насколько я знаю обычная DLL состоит из набора вызываемых функций, и загрузочного кода, который исполняется автоматически при подключении DLL, вот меня и интересует что должен содержать этот исполняемый код
  • Сергей М. © (26.02.09 09:16) [14]

    > кода, который исполняется автоматически при подключении
    > что должен содержать этот исполняемый код


    Подготовить все необходимое для гарантированного получения управления при вызове впоследствии тех или иных требуемых API-функций, что же еще ?
  • Сергей М. © (26.02.09 09:18) [15]

    > что должен содержать этот исполняемый код


    Вот это самое все необходимое для подготовки он и должен содержать.
  • Anatoly Podgoretsky © (26.02.09 12:28) [16]
    > MALAN  (25.02.2009 18:20:04)  [4]

    При (http) прокси сервере ни о каком интернете и речи нет, и даже об локалке, все заканчивается прокси сервером, клиент никуда кроме этой машиные не подключается.
  • Сергей М. © (26.02.09 12:36) [17]

    > Anatoly Podgoretsky ©   (26.02.09 12:28) [16]


    Его почтовый трафик заботит, а не гипертекстовый..

    Причем так до сих пор и партизанит : непонятно как этот хост ходит в тырнет - то ли прямиком к провайдеру маршрут лежит, то ли через корпоративный прокси и/или шлюз ..
  • MALAN © (26.02.09 20:54) [18]
    Сергей М. ©   (26.02.09 12:36) [17]

    >Причем так до сих пор и партизанит : непонятно как этот хост ходит в >тырнет - то ли прямиком к провайдеру маршрут лежит, то ли через >корпоративный прокси и/или шлюз ..

    Ну хорошо, напрямую провайдеру... что дальше?:)
  • brother © (27.02.09 06:18) [19]
    > Ну хорошо, напрямую провайдеру... что дальше?:)

    пиши программу!
 
Конференция "Сети" » Как перехватить API функции (Connect, Bind) и изменить их парамет [D7, WinXP]
Есть новые Нет новых   [134437   +29][b:0][p:0.001]