Профилирование операционной системы (часть 1)
- Профилирование операционной системы (часть 4)
Понимание того, как работает операционная система, означает знание того, как она взаимодействует. Но что, если это общение что-то выдает?
Профилирование операционной системы
Возможно, вы знакомы с терминами «архитектура» и «профилирование хоста». Что означают эти термины? Что ж, это то, что эта серия статей ответит вам и позволит вам сделать это. Эта информация будет полезна системным администраторам, которым слишком часто приходится брать на себя работу по обеспечению сетевой безопасности. Тем, кто также ищет способы углубить свои знания в области компьютерной безопасности, будет полезно прочитать эту серию.
Что мы будем делать в ходе этой серии, так это научиться различать операционные системы, а также как идентифицировать запущенные службы на компьютере. Другими словами, как профилировать как архитектуру компьютера, так и хост, т.е. сам компьютер, по тому, что на нем работает с точки зрения служб. Возможно, вы слышали о таких программах, как P0f, которые будут определять для вас операционные системы, в основном пассивно. Что ж, такие программы, как P0f, действительно хороши. Однако есть одна проблема. Вы опять отвлекаетесь от информации. Вы могли бы сказать, что это похоже на программирование для Windows.
Очень важно понимать как бы «основы». В этом случае основой будет то, как ваша операционная система реагирует как на обычные, так и на необычные стимулы. Теперь нас интересует, как отреагирует Microsoft Windows. То, как он отреагирует, будет довольно показательным. Мы будем знать, что это такое, например: Win 9x или W2K/XP и тому подобное. В дополнение к этому мы также, возможно, отметим некоторые интересные характеристики стека TCP/IP, относящиеся к работе в сети. Все это и многое другое будет раскрыто в ближайшее время. Подготовка к этому упражнению на самом деле довольно проста. У меня есть образы VMware W2K Pro, Win XP Pro и W2K3 Standard. Кроме того, я также буду использовать экстраординарный инструмент для создания пакетов Hping. Я обнаружил, что версия для Windows содержит ошибки, поэтому я использовал версию для Linux. Но имейте в виду, что есть порт для Windows.
Давайте продолжим
Прямо тогда. Когда исходная информация раскрыта, как насчет того, чтобы приступить к задаче архитектурного профилирования и профилирования хоста. В качестве стимула для компьютера с Windows 2000 Pro я отправлю три различных типа пакетов. Реакция коробки с Windows 2000 Pro — это то, что мы будем изучать на уровне пакетов. Это, как вы скоро увидите, даст нам много информации. Буду генерировать три типа пакетов: RST, ACK и пакет SYN. На этой ноте давайте перейдем к этому.
Синтаксис команды для Hping, который я использовал для создания одного пакета SYN, выглядит следующим образом:
Я отправил пакет SYN на TCP-порт 135 в надежде попасть на порт, который не фильтруется брандмауэром. В используемых для этого лабораторных условиях такой фильтрации не было. Давайте посмотрим, что было отправлено и получено тогда.
Теперь, как вы можете видеть, я подчеркнул несколько мест в двух вышеупомянутых пакетах. Самый верхний пакет был сгенерирован мной, а затем отправлен на адрес 192.168.1.103 и на его порт 135. Пакет непосредственно над этим абзацем — это ответ Windows 2000 Pro на одинокий пакет SYN, отправленный ей на прослушиваемый TCP-порт 135. Вы увидите в подчеркнутых частях выше в ответе 192.168.1.103, что он вернул SYN/ACK, потому что там есть служба прослушивания. Ну, это все очень стандартно, поэтому давайте перейдем к другим интересным полям, содержащимся в пакете, отправленном обратно с 192.168.1.103.
Во-первых, мы видим, что существует «ttl» или значение времени жизни, равное 128. Это значение связано с Windows 2000/XP и 2003. Из предоставленной мной гиперссылки вы можете видеть, что Netware также имеет это значение ttl по умолчанию.. Что ж, в нашем случае мы заранее знаем, что это Windows 2000 Pro, поэтому не будем на этом останавливаться. О чем еще говорит значение ttl, равное 128? Есть ли что-то полезное, что вы могли бы почерпнуть из этого. Это говорит вам что-нибудь о том, где в сети находится этот компьютер? Чтобы избавить вас от волнений, мы можем сказать, что компьютер, на который мы наткнулись, находится в том же сегменте, что и мы. Другими словами, мы находимся в одной сети. Мы знаем это, потому что значение ttl еще не было уменьшено маршрутизатором. Вы можете подумать, что да, но поверьте мне, это еще одна часть головоломки, если вы тестируете сеть на проникновение.
После этого у нас есть выигрыш или размер окна, который имеет значение 64240. Размер окна, если вы помните из предыдущих статей, измеряется в байтах и говорит вам, сколько буферизованной памяти есть у компьютера для отправляемых на него данных. Теперь это значение не попадает в диапазон того, что отображается по предоставленной мной гиперссылке. Не вдаваясь в другие сетевые условия для такого большого размера выигрыша, давайте просто отложим это на мгновение. Далее следует значение mss, равное 1460. mss или максимальный размер сегмента — это максимальное количество данных, которые компьютер хочет получить в любом отдельно взятом пакете. Это значение не отображается в списке, доступном по предоставленной гиперссылке, но опыт подсказывает мне, что оно характерно для Win 32. Через некоторое время мы увидим это в XP и 2K3.
Заворачивать
На этом я прерву статью и продолжу вторую часть, продолжив обсуждение других пакетов, которые мы сгенерируем и увидим в этой статье. Мы также рассмотрим некоторую информацию о профилировании хоста и способы ее получения. Это еще больше поможет нам определить, какие именно операционные системы и службы мы просматриваем на активно проверяемом компьютере. На этой ноте, увидимся во второй части!
- Профилирование операционной системы (часть 4)