[c#] Detect sniffer

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Karibd, 10 May 2015.

  1. Karibd

    Karibd New Member

    Joined:
    10 May 2015
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Собственно, как обнаружить запущенный процесс сниффера?
     
  2. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Самое простое: просмотреть список процессов, классов окон, сервисов, драйверов известных сниферов. Снифер, все таки, не отладчик, для которого зачастую очень актуально "спрятаться" в системе, и для них пишутся плагины для скрытия присутствия. Да и снифать не обязательно нужно прямо в системе, где запущена целевая программа
     
    #2 alexey-m, 10 May 2015
    Last edited: 10 May 2015
  3. Karibd

    Karibd New Member

    Joined:
    10 May 2015
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Просто пройтись по названиям, проверяя совпадение "известными" снифферами/виртуалками? Или есть более изощренный способ?
     
  4. DartPhoenix

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

    Joined:
    15 Sep 2013
    Messages:
    1,107
    Likes Received:
    8,483
    Reputations:
    25
    Можно в Process Explorer поискать именованный мьютекс и по нему находить, его часто юзают чтобы не запускать 2 копии программы. Можно снять md5 если часто обновляется. Все зависит от того с чем имеем дело, какие права на машине и каковы цели.

    UPD: если сниффер не известен, но например он снифает клавиатуру - проверять на наличие хуков, но тут чем меньше у вас прав - тем меньше шансов.
     
    #4 DartPhoenix, 10 May 2015
    Last edited: 10 May 2015
  5. Karibd

    Karibd New Member

    Joined:
    10 May 2015
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Сори - сразу не указал - сниффер сетевых пакетов.

    UPD: Права администратора. Цель - обнаружить анализаторы трафика.
     
    #5 Karibd, 11 May 2015
    Last edited: 12 May 2015
  6. DartPhoenix

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

    Joined:
    15 Sep 2013
    Messages:
    1,107
    Likes Received:
    8,483
    Reputations:
    25
    Если под Венду - то народ юзает winpcap в основном, не изобретая велосипедов. Видел тулзы что работают напрямую с TDI из юзермода. Оба варианта отсеиваются на уровне TDI ибо из кернела можно прицепиться к callback который оповещает о наличии входящих данных и например залогировать кому они достанутся.

    В общем-то вам нужно написать сниффер под winpcap и самому понять как именно он получает ответы, перехватить соответствующий вызов и будет счастье. Но я хоть и не ковырял - думаю он юзает прямые вызовы в ядро минуя хорошо документированный API и само-собой winsock, поэтому попотеть придется неслабо и нужен будет код ring0 чтобы перехватить. + эта затея сильно напоминает firewall, так что взялись вы за сложную штуку :)

    Хотя с другой стороны - лазейки тоже всегда есть. Например поискать winpcap, поставить свой хук и посмотреть кому он вдруг понадобился, ибо прямую работу с TDI нечасто используют наши хеккеры, а winpcap нужен очень ограниченному количеству программ :) Обширный вопрос на самом деле... Хотя может кто - чего придумает. Будем посмотреть.
     
  7. noxjoker

    noxjoker Member

    Joined:
    7 Aug 2009
    Messages:
    189
    Likes Received:
    24
    Reputations:
    0
    Зашифровать информацию и сделать снифер бесполезным.
     
  8. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Нужно именно обнаружить сниффер или скрыть траф? В любом случае, SSL Pinning должен помочь.