| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 18.219.127.59
Вы используете: 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 фильм

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

Лучшие инструменты пен-тестера: исследование удаленной системы

Методов для проведения fingerprinting’а довольно много: FIN-сканирование, ICMP-пакетная генерация, исследования полей ICMP и TCP-пакетов. Но большинство из них сводятся к анализу стека TCP/IP на удаленной системе. Попробую объяснить на примере. Допустим, мы наснифали пакет с данными. В его заголовке находится множество полей вроде размера окна, TTL (время жизни пакета данных), DF (бит фрагментации), флага TOS (Type-Of-Service) и т.д. Именно эти данные и используют fingerprinting-утилиты в своей работе. Например, если бит DF не установлен (присуще ОС OpenBSD), то в базе сигнатур отбрасываются все оси, для которых DF указан (обычный метод исключения). Далее под прицел попадает параметр TTL: для FreeBSD и Linux этот параметр равен 64. Опять же, круг потенциальных OS сужается - и так до тех пор, пока не останется минимум претендентов.

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

Nmap

Сайт: nmap.org
Платформа: Unix, MacOS, Win32

Пожалуй, наиболее известным инструментом для активного fingerprinting’а является известнейший сканнер безопасности Nmap. Мы столько раз упоминали эту тулзу и демонстрировали ее в действии, что во всех подробностях рассказывать об ее функционале было, по меньшей мере, неприлично. К счастью, разработчики сделали офигенный подгон и выпустили в июле новую ветку программы c массой полезных нововведений. Тут надо сразу сказать, что Nmap очень многогранный продукт, но нас в данном случае интересуют прежде всего возможности по OS Fingerprinting’у (ключ для запуска -O). Несколько простых экспериментов показали, что алгоритмы и сигнатурные базы у новой версии Nmap’а стали давать более правдивые результаты.

Результат сканирования microsoft.com старой версией сканнера давал едва ли правдивые результаты :).

nmap -O -PN microsoft.com
Starting Nmap 4.76 ...
Running (JUST GUESSING): OpenBSD 4.X (86%)
Aggressive OS guesses: OpenBSD 4.3 (86%)

А вот что говорит обновленный Nmap:

nmap -O -PN microsoft.com
Starting Nmap 5.00 ...
Running (JUST GUESSING): Microsoft Windows 2003 (91%)
Aggressive OS guesses: Microsoft Windows Server 2003 SP2 (91%)

Когда-то для запуска утилиты приходилось вручную компилировать код и работать со сканнером исключительно из командной строки. Сейчас на выбор есть сразу несколько фронтендов, причем один из них - zenmap - входит в состав дистрибутива по умолчанию.

Тем, кто пока мало знаком с ключами для запуска сканнера, он поможет выбрать нужное сканирование, а advanced пользователям позволит сохранить тонкие параметры для сканирования в виде разных профилей. И тех, и других определенно порадует возможность интерпретировать результаты и даже строить графическую топологию сети. Выбрав профиль для сканирования "Intense scan" и натравив сканер на свою точку доступа, я вновь был приятно удивлен. Во-первых, Nmap быстро определил версию ядра на установленном в девайсе линуксе и правильно предположил, что имеет дело с embedded- устройством. По MAC’у был опознан производитель - Asustek. А анализ 80 порта и ответа встроенного HTTP-сервера, на котором крутится админка, позволил определить еще и точную модель устройства - WL500gP!

Продолжаю радоваться :). В версии 5.00 появилось то, о чем мы давно мечтали - скриптовый движок, позволяющий с помощью самописных сценариев автоматизировать самые разнообразные задачи. С помощью таких скриптов можно проводить MSRPC/NetBIOS атаки, осуществлять поиск уязвимых демонов или банально открытых проксей, и даже реализовывать брутфорс для распространенных протоколов. В этом всячески поможет другая новинка - сетевая утилита Ncat, предназначенная для передачи данных, редиректа и отладки сетевых пакетов. А сравнить результаты сканирования разных хостов или одной и той же машины, но в разное время или с разными параметрами, поможет тулза Ndiff. Словом, это не просто новая версия программы. Это по-настоящему значимый релиз одного из лучших инструментов хакера, к которому мы обязательно вернемся, когда будем говорить о сканнерах безопасности и скане портов.

p0f v2

Сайт: camtuf.coredump.cx
Платформа: Unix, MacOS, Win32

В отличие от Nmap, который использу ет алгоритмы для реализации активного fingerprinting’а, p0f работает исключительно пассивно. Т.е. в результате работы не генерирует какого-либо трафика, который может тебя выдать. Это особенно важно, если на удаленной машине установлено более-менее толковое средство IDS (средство определения атак).

Основная задача p0f - определить версию ОС на удаленном хосте, в том числе на:

  • машинах, которые присоединяются к тебе (так называемый SYN режим);
  • машинах, к которым коннетишься ты (режим SYN+ACK);
  • машине, с которой ты не можешь соединиться (режим RST+), из-за того, что файрвол реджектит подключения;
  • машинах, за взаимодействием которых ты можешь наблюдать (исследования существующей сессии без необходимости какого-либо вмешательства с твоей стороны).

Помимо этого утилита владеет несколькими другими полезными фокусами и в разной степени может дать ответ, используется ли в локалке NAT, активен ли файрвол или шейпер, а также рассчитать примерное "расстояние" до удаленного хоста и его аптайм. В результате p0f может рассказать об ОС на удаленном хосте, даже если она находится за файрволом, в то время как любимый Nmap остается не у дел. При этом, еще раз повторяю, утилита не генерирует какого-либо трафика. Никаких lookup’ов, загадочных пакетов, ARIN-запросов - ничего!

Изначально p0f написана для никсов, поэтому под виндой придется либо довольствоваться прекомпилированной версией с офсайта (а она не самая свежая), либо брать в руки исходники и колдовать над своей собственной сборкой. Кстати говоря, разработчики очень просят всячески пополнять базу отпечатков. Для этого достаточно перейти на страницу lcamtuf.coredump.cx/p0f-help и, заполнив несколько полей о своей системе, добавить новую запись.

THC-Amap

Сайт: thc.org/thc-amap
Платформа: Unix, MacOS, Win32

Если хочешь выяснить, какие сервисы установлены на удаленной машине, - просканируй ее порты. В большинстве случаев можно обойтись одним лишь сканнером безопасности (банально Nmap’ом), однако здесь, как и везде, не обошлось без исключений. Каждый знает, что любой стандартный сервис обычно работает на определенном порте: например, FTP на 21, SSH на 22 и т.д. Тем не менее, администраторы частенько прибегают к одной очень простой, но полезной уловке. Чтобы скрыть потенциально уязвимые сервисы, они устанавливают их на нестандартные порты. В этом случае даже добротные сканнеры зачастую обламываются, т.к. не могут определить FTP-сервер, работающий на 31337 порту, даже если он там действительно есть.

Не беда! С задачей на ура справляется сканнер Amap от известной хакерской группы THС. Он с большой вероятностью определит даже те сервисы, которые работают не на своих стандартных портах. Успех достигается за счет того, что программа посылает сервису специальные идентификационные пакеты, после чего анализирует ответ и ищет соответствие в специально составленной базе сигнатур. Таким образом, идентификация осуществляется не по номеру порта, а по "отпечаткам пальцев" сервисов. До неприличия простой механизм позволяет определить SSH-сервер, запущенный на 988 порту, или веб-сервер, установленный на 29-м. Сканнер Amap легко сканирует как один конкретный порт, так и заданный диапазон. Однако для большей эффективности рекомендую использовать его совместно с Nmap’ом.

Алгоритм следующий: сначала Nmap, используя все свои возможности, определяет на удаленной машине открытые порты и записывает результат в файл, далее за работу берется THC-Amap, которому остается проанализировать открытые порты и вывести результат. На практике это можно сделать примерно так:

#nmap -sS -oM results.nmap -p 1-65535 IP-адрес
#amap -i results.nmap -o results.amap -m

Несмотря на то, что релизов не было долгое время, базы программы по-прежнему обновляются и доступны на офсайте.

Httprint

Сайт: www.net-square.com/httprint
Платформа: Linux, MacOS, FreeBSD, Win32

Если привычными средствами распознать ОС на удаленном хосте не получается, можно попробовать заюзать узкоспециализированные утилиты. Например, идентифицировать установленный на другой стороне HTTP-сервер и, таким образом, сделать предположение уже об операционной системе. С такой задачей справится тулза Httprint.

Немного теории. Когда ты коннектишься к любому сервису, то в ответ получаешь баннер, по которому теоретически можно определить используемое ПО. Многие администраторы, однако, намеренно подделывают баннеры с помощью специальных патчей, модулей (например, mod_security.c) и даже специализированного софта вроде ServerMask (www.port80software.com), чтобы сбить с толку хакера.

Однако Httprint этим не проведешь. В своих исследованиях тулза Httprint опирается на уникальные сигнатуры, которые присущи каждой конкретной программе-серверу. Причем база программы не ограничивается сигнатурами для Apache, ISS и прочих известных веб-серверов. В нее также включены и "отпечатки" демонов, на которых запущены админки роутеров, ADSL-модемов, точек доступа и других устройств. Если на сервере используется SSL-соединение, то утилита сама распознает факт использования шифрованного соединения и продолжит сканирование. А заодно - соберет всевозможную инфу, в том числе данные по сертификатам и используемым шифрам.

Списки исследуемых серверов можно импортировать из текстового файла или отчета сканера Nmap. А для увеличения скорости сканирования рекомендуется работать в несколько потоков. Правда, функция multi-threading реализована пока только для линуксовой и виндовых версий программы, а во фряхе работать не будет.

Увы, программа давно не обновляется: последний релиз вышел еще в далеком 2005 году. Это влияет не только на актуальность сигнатур в базе, но и на работоспособность под той же Vista.

NetworkMiner

Сайт: sourceforge.net/projects/networkminer
Платформа: Windows

Эта утилита уже входила в нашу подборку "Сниферы и манипуляция пакетами". Еще бы - ведь NetworkMiner является одним из лучших инструментов для анализа перехваченных данных, сохраненных в формате PCAP. Программа пассивно анализирует дамп с трафиком, четко определяет участников обмена сетевыми данными и распознает операционные системы на каждом из хостов. В качестве данных для анализа выступает размер окна, время жизни пакета, а также уникальный набор флагов. Помимо операционок, NetworkMiner распознает и структурировано выдает инфу об открытых сессиях, активных портах, баннерах различных демонов и вообще об инфраструктуре локальной сети. Не так давно передо мной стояла задача по анализу дампа с данными, перехваченными в беспроводной сети (возможность обработки WLAN-трафика появилась в утилите относительно недавно), и с помощью NetworkMiner я достаточно быстро разобрался, какие машины работают в локалке, на каких ОС крутятся хосты и даже, какое оборудование используется в качестве активных свитчей и точек доступа.

Определение ОС основывается на TCP SYN и SYN+ACK пакетах с использованием базы данных p0f’а и Ettercap. Помимо этого утилита умеет выполнять fingerprinting на основе DHCP-пакетов, используя базу данных программы Satori. Само собой, выполняется и идентификация устройств и по MAC-адресу: соответствующая база позаимствована у Nmap.

ike-scan

Сайт: www.nta-monitor.com/tools/ikescan
Платформа: Unix, MacOS, Win32

Все, чем занимается эта уникальная в своем роде утилита, - это распознает факт использования VPN-соединения. Один из самых простых способов распознавания виртуальных частных сетей основывается на посылке специального IKE-пакета на каждую машину в сети. Большинство хостов, использующих VPN, отконфигурировано таким образом, что в ответ на такой пакет отошлют ответ и, тем самым, выдадут свое присутствие. Подобных методов определения VPN-сети ike-scan - несколько. Ты скажешь: "При чем тут fingerprinting?". Причина есть. Определив VPN-серверы, мы можем собрать массу информацию о них. А используя приемы fingerprinting’а, реализованные в ike-scan, можно определить операционные системы на машинах, объединенных в виртуальную частную сеть, а в случае аппаратного решения - производителя девайса.

Xprobe2

Сайт:  xprobe.sourceforge.net
Платформа: Unix

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

Важным нововведением в последних версиях является модуль для обнаружения honeypot и систем с намеренно модифицированными параметрами стека TCP/IP. Для обхода ограничений используются алгоритмы нечеткой логики и собственные методики разработчиков. Помимо этого, в расчет берутся различные параметры поведения сетевых устройств. Например, pf, входящий в состав OpenBSD известен тем, что возвращает разные значения в поле TTL, когда за ним находится другая система. В режиме сканирования TCP-портов (указывается флагом -T) Xprobe пытается найти и зафильтрованные брандмауэром сервисы. Аналогичным образом производится проверка UDP-портов, которая активируется флагом -U.

Примечательно, что Xprobe2 изначально реализовывала лишь один метод fingerprinting’а с помощью ICMP-запросов. Поддержка других механизмов, а также специальный fuzzing механизм, помогающий идентифицировать неизвестные системы или хосты с измененными параметрами стека TCP/IP, появились позже. Надо сказать, что операционную систему, используемую на сервере, Xprobe определяет довольно-таки точно, а если в процессе появились спорные моменты, то в отчет войдет также список наиболее вероятных ОС с процентным соотношением вероятности.

Satori

Сайт: myweb.cableone.net/xnih
Платформа: Windows, Linux

Автор Satori потратил немало времени, разрабатывая приемы для активого OC fingerprinting’а, пока не осознал, насколько много информации можно получить, основываясь лишь на пассивном исследовании. В результате на свет появилась тулза, которая использует драйвер WinPCap, прослушивает сетевой интерфейс и определяет версии ОС на машинах в локалке, основываясь на обработке перехваченных пакетов. Satori очень четко определяет версию Windows, устройства производства HP (использующие HP Swith Protocol), девайсы Cisco (за счет пакетов CDP-протокола). Немалый вклад в результат, полученный с помощью Satori, дают методы, основанные на исследовании DHCP. Кстати говоря, на официальном сайте программы выложены классные статьи, в которых детально раскрываются методы для определения ОС. Теория подкрепляется практикой. Помимо Satori, на странице разработчика ты найдешь утилиту SAM, которая использует активное сканирование для определения удаленной ОС путем отправки ARP-пакетов в сеть.

SinFP

Сайт: www.gomor.org/bin/view/Sinfp/WebHome
Платформа: Unix, Windows

SinFP представляет собой новый подход к идентификации ОС, когда вместо исследования системы в целом, прощупываются отдельные сервисы. Тулза последовательно опрашивает указанные порты и только на основе опроса выдвигает предположение об установленной на удаленной машине системе. В то время, как Nmap осуществляет идентификацию всего хоста и может легко быть обведен вокруг пальца за счет измененных параметров TCP/IP-стека, SinFP использует сигнатурный анализ по конкретным портам. Прога написана на Perl, причем в случае необходимости ее можно использовать и в своих проектах, подключив модуль с одноименным названием. Его легко найти в CPAN: search.cpan.org/~gomor/Net-SinFP. Приятно, что с недавнего времени SinFP работает не только под никсами, но еще и под виндой.

WWW

Описание алгоритмов для реализации пассивного fingerprint’а, используемых утитой p0f - project.honeynet.org/papers/finger.

Документ по активному ICMP fingerprint - www.sys-security.com/html/papers.html.

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

21:13
Обновить


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

Поиск


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