| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 3.137.187.121
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
ОС видио Tor Обратная сторона антенна 4.6 PHP Эксплоит Windows Server 2008 qip Virtual chroot kernel proc sysctl tune FreeBSD bridge Boot Disk Bluetooth GEO game directx Emulator Python Shell DDoS червь Conficker вирус троян Лаборатория Касперского пиратство apple iPhone ИТ-отрасль Щеголев Microsoft экономический кризис Twitter социальная сеть анонимность Лицензия Open Source ASP.NET MVC уязвимость MySQL база данных файлообмен закон франция пират Skype мобильный Deutsche Telekom Хакер киберпреступник Trend Micro кибератака Германия робот утечка данных персональные данные ноутбук интернет Китай цензура ядро Linux Торвальдс Windows Vista Acer Linux патент браузер Firefox Internet Explorer Opera Net Applications Safari Intel Linux Foundation Moblin Oracle патч банкомат кардер HSM IBM X-Force Cofee сша кибервойна Эстония Dell ИТ-специалист хакерские атаки Pirate Bay контроль кибербезопасность язык программирования The Pirate Bay Пиратская партия утечка информации приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 Баллмер взлом Пентагон ботнет Украина Facebook Cisco cloud Windows XP нетбук торрент музыка биометрический nokia ФБР IP-адрес CIPAV Comcast sms RSA java Google CAPTCHA Symantec спам конфиденциальная информация инсайдер Perimetrix антивирус тест Anti-Malware Windows 7 операционная система Windows провайдер авторское право RapidShare UNIX свиной грипп шантаж дети EFF BluWiki копирайт экстремизм Panda Security cloud computing McAfee Cybercrime Response Unit Bottle Domains HTTPS ICANN студент шпионское ПО Норвегия школьник New York Times XSS YouTube Warner Music кибершпионаж КНДР Ubuntu свободное ПО AMD ATI касперский Россия РФ сервер хостинг фальшивый антивирус Comodo CA Wi-Fi D-Link суд пароль блог фишинг Одноклассники медведев контрафакт мошенник штраф Sony GPS по Gumblar JAVASCRIPT хакеры вредоносное ПО Yahoo ФАС компьютер Софт MPAA кибероружие PandaLabs Red Hat Минкомсвязи сбой ASUSTeK Computer мошенничество Доктор Веб ВКонтакте Cyber-Arc исходный код PCI DSS МВД фильтр порнография BREIN свобода слова Казахстан GEMA Autodesk сисадмин Gmail кредитная карта кибермошенник LiveJournal шифрование криптография Deep Purple банк нанотехнологии Wikipedia zero-day ColdFusion выборы кража данных DNS BIND Android BASIC атака Black Hat Mac OS X Click Forensics Clampi домен фсб Прокуратура Уголовное дело icq Barrelfish киберпреступность Sophos AT&T ошибка Electa Gamma Knife OpenBSD DARPA военные Сайт Visual Studio 2010 .NET Framework 4 Chrome OS электронная почта турция конференция спамер FTC полиция российская ОС Koobface Великобритания БЕЛОРУССИЯ грузия BSA Bittorrent облачные вычисления Azure Европа Dr.Web Билл Гейтс спецслужбы Cryzip Живой Журнал Royal Bank of Scotland смартфон Canonical Pwn2Own F-Secure Symbian Hotmail фильм

Главная » Статьи » Общие Статьи

Добыватель SMB паролей: теория

Вступление

Мне не хотелось писать о том что знающий уже знает, а незнающий не поймет. Поэтому, прошу, не судить меня строго, статья рассчитана на начинающих и служит высшей цели - продолжению :) Итак, начнем...

Что такое MAC адрес?

Для передачи данных по сети используются пакеты. Помимо заголовка пакета и его содержания, он содержит также информацию для каждого, нижестоящего уровня эталонной модели OSI. В данном случае нас интересует сетевой уровень. Поскольку передаваемые данные должны достигнуть адресата, то так или иначе для идентификации компьютера используется его MAC адрес. MAC - серийный номер сетевой карты, представленный в виде уникального 48 разрядного числа, имеющего следующий формат записи:

XX-XX-XX-XX-XX-XX

Поскольку Ethernet для передачи данных использует MAC адрес, сфальсифицировав его можно притворится произвольным компьютером в сети. Замечу что речь идет не о слепом спуффинге, поэтому вы должны находится в одном сегменте сети (другими словами в локалке) с подменяемым компьютером. Существует ряд способов, для осуществления данного:

  • в ОС Linux это делается командой "ifconfig eh0 hw ether XX:XX:XX:XX:XX:XX"
  • некоторые драйвера ОС Windows хранят его в реестре:
    HKLM\System\CurrentControlSet\ Services\[адаптер]\Parameters
    NetworkAddress="XX-XX-XX-XX-XX-XX"
    SelectedID="XX-XX-XX-XX-XX-XX"
  • написание или изменение сетевого драйвера. При внесении изменений имеет смысл поискать и заменить переменные OID_802_2_CURRENT_ADDRESS и OID_802_3_PERMANENT_ADDRESS на требуемый MAC.
  • использование ARP

Какой еще ARP?

ARP(Address Resolution Protocol) - протокол определения адресов. Его задача обеспечить конвертирование IP в физический MAC адрес. 

Для установки соединения компьютер посылает широковещательный пакет (на MAC адрес FFFFFFFFFFFFh ), в котором указывает свой IP и MAC адреса, а также IP адрес целевого компьютера. Каждый, получивший пакет (хотя имеет смысл говорить фрейм, но так проще для понимания начинающим) сверяет целевой адрес со своим и в случае их совпадения отвечает пакетом ARP_REPLAY, в котором содержится его MAC адрес. На основе этих данных формируется ARP таблица соответствий IP - MAC, компьютера пославшего запрос. Далее для передачи данных используется MAC взятый с таблицы. Просмотреть таблицу можно, используя утилиту ARP, для этого запустите ее с ключом "-а". 

А безопасность?

Но с безопасностью, данного протокола не все так уж и гладко, что позволяет подменить MAC адрес целевой машины. А если быть поточнее то адрес хранящийся в ARP таблице. Дело в том, что любой компьютер в сети может просто взять, и послать пакет ARP_REPLAY. И тем самым внести изменения в ARP таблицу. Такая атака, носит название ARP Poisonig.

Ее результат - перенаправление трафика, к требуемому хосту. Послать такой пакет(ы) можно программно, используя утилиту ARPInject. Но она не единственна в своем роде, ряд похожих утилит можно найти в соответствующем раздела на PacketStorm.

Более подробную информацию о данной теме вы сможете найти здесь:

http://www.faqs.org/rfcs/rfc826.html
http://www.faqs.org/rfcs/rfc903.html

http://www.faqs.org/rfcs/rfc1293.html

http://www.securityfocus.com/archive/105/298940/2002-11-07/2002-11-13/1

http://www.uinc.ru/articles/15/index.shtml

Для работы программы требуется WinPCap. Также вам может понадобится утилита TCPKill от [privacy].

Ну и что дальше?

Это были основы, пришло время поговорить о протоколах CIFS/SMB. CIFS - протокол разработанный Microsoft, для организации платформо-независимого доступа, к файловым ресурсам сети. Другими словами, он создан, чтобы из линукса спокойно могли лазить по винту Win32 системы. Данный протокол в свою очередь основан на SMB (Server Message Block), отвечающий за коллективное использование файлов сети ОС Windows. Поскольку SMB был разработан в начале 80-х годов в качестве транспортной среды был выбран NetBIOS. Со временем данный протокол стал функционировать и под TCP/IP, однако за ним осталась привычка при установлении сетевых соединений использовать службу имен NetBIOS, для перевода имени сервера в IP. В данном случае сервер - компьютер к которому происходит подключение.

Процесс подключения происходит в 4-и этапа:
( А - запрос, Б - ответ )

1.А Клиент посылает запрос на создание NetBIOS сессии, по 139-му порту. 
1.Б Сервер, если все впорядке, возвращает идентификатор сесси.

2.А Посылается пакет NegProt, клиент сообщает поддерживаемую версию SMB
2.Б Ответ - информация о настройках SMB сервера(доменное имя, макс. подключения и т.д.)

3.А Посылка логина/пароля для получения доступа к сетевым ресурсам
3.Б Сервер посылает в ответ SesSetupX пакет, и тем самым дает знать о правильности логина/пароля

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

4.А Посылается tconX пакет, с именем ресурса к которому требуется получить доступ.
4.Б Сервер отвечает о результате попытки доступа.

А что с паролями?

Дело в том, что доступ к ресурсам имеет два уровня. Первый:

  • Share Level - имя ресурса и есть пароль
  • User Level - для получения доступа к ресурсу требуются логин и пароль

Таким образом для получения доступа к SMB ресурсам необходимо передавать логин/пароль по сети. Это может быть организовано 2-мя способами: с шифрованием и без. Шифрование производится только если оно поддерживается сервером (об этом можно узнать из бита SecurityMode в ответе на NegProt пакет клиента). Для получения пароля есть (как всегда :)) два способа:

  1. перехватить зашифрованный пароль вместе с ключом, и начать брутфорсить...
  2. заставить клиента поверить, что сервер не поддерживает шифрование и тем самым спровоцировать его на отсылку паролей в открытом виде.

Давайте взглянем на второй вариант. Доится нужного эффекта можно воспользовавшись... ARP Poisonig! Теперь, надеюсь, все стало на свои места. Воспользуемся данной технологией, чтобы перенаправить весь трафик от клиента/сервера к серверу/клиенту на себя. Поэтому схема подключения немного преобразится:

(В - наши действия)

0.В Сообщаем клиенту что мы сервер

1.А Клиент посылает запрос на создание NetBIOS сессии
1.В Мы его принимаем, но серверу не шлем

2.А Посылается пакет NegProt, клиент сообщает поддерживаемую версию SMB
2.В Мы его принимаем, и шлем серверу
2.Б Ответ - информация о настройах SMB сервера(флаг поддержки шифрования, ключ шифрования)
2.В' Мы его принимаем, заменяем флаг (ставим в 0) и ИЗМЕНЕННЫЙ шлем клиенту

3.А Посылка НЕ ЗАШИФРОВАННОГО логина/пароля для получения доступа к сетевым ресурсам
3.В Принимаем, запоминаем пароль, шифруем его уже известным ключом и шлем серверу
3.Б Сервер посылает в ответ SesSetupX пакет, и тем самым дает знать о правильности логина/пароля
3.В' Можем им воспользоваться, чтобы проверить правильность передаваемого пароля

4.А Посылается tconX пакет, с именем ресурса к которому требуется получить доступ.
4.В Пересылаем его на сервер
4.Б Сервер отвечает о результате попытки доступа.
4.В' Пересылаем клиенту

Таким образом, мы можем узнать пароли для удаленного доступа к сетевым ресурсам Win32 системы. Дополнительно о протоколе SMB и CIFS вы сможете прочитать:

http://www.phrack.org/show.php?p=60&a=11
http://www.snia.org/tech_activities/CIFS/CIFS-TR-1p00_FINAL.pdf

http://us6.samba.org/samba/ftp/specs/cifsrap2.txt

http://www.faqs.org/rfcs/rfc1001.html

http://www.faqs.org/rfcs/rfc1002.html
 

Послесловие

Предложенные вашему вниманию исходники с документацией, могут стать хорошей основой для написания "добывателя SMB паролей". А мне пожалуй пора отдохнуть...

Категория: Общие Статьи | Добавил: aka_kludge (14.11.2008)
Просмотров: 2318 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

09:04
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск


Copyright tHR - TeAM 2024 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика