Какие службы в Windows нужны, а какие можно отключить. Отключение ненужных служб Windows Обнаружение ssdp




Службы (Services) - это приложения, запускаемые в фоновом режиме во время загрузки системы или при возникновении определенных событий и обеспечивающие основные функциональные возможности ОС. Как правило, службы не имеют графического интерфейса, поэтому их работа в большинстве своем не заметна для пользователя.

При стандартной установке Windows XP Professional в систему инсталлируется порядка 80-ти разнообразных служб. И несмотря на то, что не все из них запускаются автоматически, количество работающих по умолчанию всё равно кажется слишком завышенным, если учесть, что значительная часть от общего числа уязвимостей, когда-либо обнаруженных в этой ОС, приходится именно на системные службы. К тому же, в домашних условиях во многих работающих по умолчанию службах просто нет никакой необходимости.

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

Просмотреть список всех служб, установленных на компьютере, можно следующим образом:

Пуск (Start) > Панель Управления (Control Panel) > Администрирование (Administrative Tools) > Службы (Services)

Либо запустив из командной строки services.msc:

Пуск (Start) > Выполнить (Run) > копируем в строку: services.msc > нажимаем ОК или клавишу ENTER

Чтобы изменить значение типа запуска, установленное по умолчанию, кликните по нужной службе двойным нажатием мыши и в открывшемся окне свойств в первой закладке - "Общие" ("General") - выберите желаемый "Тип Запуска" ("StartUp Type") :

Ниже приведен основной список служб в алфавитном порядке, для которых "Тип Запуска" рекомендуется установить в положение "Отключено" ("Disabled").

Однако в качестве общего правила нужно принять, что необходимо отключить все неиспользуемое!

  • Беспроводная настройка (Wireless Zero Configuration) - отключаем за полной ненадобностью в том случае, если у вас нет адаптеров беспроводной связи, и вы не собираетесь использовать "нулевую" конфигурацию беспроводной сети (WZCS key handling).
  • Веб-клиент (WebClient) - позволяет приложениям Windows создавать, сохранять и изменять файлы, находящиеся на серверах WebDAV* (использование Web Publishing Wizard для публикации данных в Интернет). На просмотр ресурсов в Интернете отключение этой службы никак не влияет, поскольку она используется только для WebDAV-подключений, к тому же программы, которым этот сетевой протокол необходим, как правило, имеют встроенные перенаправители WebDAV, работающие независимо от службы "Веб-клиент" (MS06-008).
  • Диспетчер очереди печати (Print Spooler) - отвечает за обработку, планирование и распределение документов, предназначенных для печати. Обязательно отключаем в том случае, если у вас нет принтера (MS05-043, US-CERT VU#914617).
  • Диспетчер сеанса справки для удаленного рабочего стола (Remote Desktop Help Session Manager) - управляет возможностями удаленного помощника. Отключите, если не используете эту функцию (MS05-041).
  • Диспетчер сетевого DDE** (Network DDE DSDM) - управляет общими ресурсами сетевого динамического обмена данными (DDE).
  • Маршрутизация и удаленный доступ (Routing and Remote Access) - обеспечивает многопротокольные функции маршрутизации, подключения удаленного доступа и удаленного доступа по сети VPN (MS06-025).
  • Модуль поддержки NetBIOS через TCP/IP (TCP/IP NetBIOS Helper Service) - данная служба необходима при совместном использовании ресурсов и сетевой печати. Отключите, если у вас нет необходимости в этих функциях.
  • Обозреватель компьютера (Computer Browser) - обеспечивает функционирование списка Windows-доменов, компьютеров в масштабе всей сети и других аппаратных устройств, совместимых с протоколом NetBIOS. Для обычных пользователей и домашних компьютеров эта служба полностью бесполезна (MS05-007).
  • Оповещатель (Alerter) - посылает выбранным пользователям и компьютерам административные оповещения. В домашних условиях служба не нужна (CVE-1999-0630).
  • Планировщик заданий (Task Scheduler) - позволяет составлять расписание для запуска программ, скриптов или резервного копирования (Пуск/Start > Программы/Programs > Стандартные/Accessories > Служебные/System Tools > Назначенные задания/Scheduled Tasks). Если вы никогда не используете назначенные задания, то отключите эту службу.
  • Сервер (Server) - выполняет основные функции сервера: обеспечивает совместное использование файлов, принтеров, именованных каналов в сети. Если у вас нет необходимости открывать доступ к вашим файлам и принтерам, обязательно отключаем (MS06-035, MS06-040, MS06-063).
  • Сервер папки обмена (ClipBook) - позволяет просматривать содержимое папки буфера обмена удаленным пользователям.
    Просмоторщик буфера обмена*** (ClipBook Viewer) открывается следующим образом: Пуск (Start) > Программы (Programs) > Стандартные (Accessories) > Окно папки обмена (ClipBook Viewer); либо в верхнем меню программы Acrobat Reader: Window > Clipboard Viewer. Если вы не хотите ни с кем обмениваться этой информацией, то отключите данную службу.
  • Сетевой вход в систему (Net Logon) - данная служба обеспечивает безопасность проверки подлинности пользователя при подключении его компьютера к домену. Если ваш компьютер не входит в домен, отключите её.
  • Служба индексирования (Indexing Service) - индексирует содержимое и свойства файлов на локальном и удаленных компьютерах, что позволяет производить поиск любого слова или фразы, которые содержатся в документах пользователя. Обычный поиск файлов после отключения этой службы не замедляется (MS06-053).
  • Служба обнаружения SSDP (SSDP Discovery Service) - выполняет поиск устройств UPnP**** в домашней сети. Обязательно отключаем в случае, если вы не работаете с сетевыми устройствами (MS01-059).
  • Служба сообщений (Messenger) - отправляет и получает сообщения, переданные администратором или службой оповещений. При отсутствии сети (и соответственно администратора) абсолютно бесполезна (никакого отношения к программе Windows/MSN Messenger, эта служба не имеет). Также желательно отключить для того, чтобы запретить net send сообщения для скрытия вашего компьютера от автоматизированных спам рассылок (MS03-043).
  • Служба сетевого DDE (Network DDE) - обеспечивает сетевой транспорт и безопасность для динамического обмена данными (DDE) для программ, выполняющихся на локальном или удаленных компьютерах.
  • Службы терминалов (Terminal Services) - предоставляет возможность нескольким пользователям интерактивно подключаться к компьютеру, является основой для удаленного рабочего стола (включая удаленное администрирование), быстрого переключения пользователей и удаленного помощника (MS05-041, MS07-006).
  • Службы IPSEC (IPSEC Services) - данная служба обычно используется для шифрования IP-трафика между рабочей станцией и доменом, а также для VPN-соединений. Если вы не входите в домен и у вас нет VPN-сети, данную службу можно отключить.
  • Удаленный реестр (Remote Registry Service) - позволяет удаленным пользователям изменять параметры реестра на вашем компьютере.
  • Узел универсальных PnP-устройств (Universal Plug and Play Device Host) - обеспечивает поддержку и управление UPnP-устройствами. Отключите, если вы не подключаете к своей сети какие-либо устройства UPnP (MS01-059).
  • NetMeeting Remote Desktop Sharing (NetMeeting Remote Desktop Sharing) - обеспечивает удаленный доступ соответствующим пользователям к рабочему столу Windows с других компьютеров с помощью программы Windows NetMeeting (программа NetMeeting предназначена для проведения аудио и видеоконференций в сети). Отключаем, если не используется (MS05-041, MS04-011).
  • Telnet (Telnet) - обеспечивает возможность соединения и удалённой работы в системе по протоколу Telnet (Teletype Network) с помощью командного интерпретатора. Не использует шифрование и поэтому очень уязвим для атак при применении его в сети (MS05-003).

_________________________

* WebDAV (Web Distributed Authoring and Versioning) - это современный и защищённый сетевой протокол высокого уровня, расширяющий и работающий поверх HTTP (Hypertext Transfer Protocol) для управления и более удобной работы с файлами и документами между компьютерами в Интернет.

** Динамический обмен данными (DDE) был одной из первых технологий, с помощью которой оказался возможным обмен информацией между приложениями. Позднее механизм DDE был заменен на автоматизацию OLE; тем не менее, DDE все еще поддерживается для совместимости с устаревшими приложениями.

*** Буфер обмена находится в активном состоянии в течение всего времени вашей работы в Windows. К примеру, когда вы выделяете текст или какие-то графические элементы внутри программы и затем даете команду "Копировать" ("Copy") или "Вырезать" ("Cut"), вы перемещаете всю выбранную информацию в буфер обмена (Clipboard). По команде "Вставить" ("Paste") содержимое буфера обмена копируется в приложение.

**** UPnP (Universal Plug and Play) - это универсальная автоматическая настройка и подключение сетевых устройств друг к другу, в результате чего сеть (например, домашняя) может стать доступной большему числу людей.

Изменено 2 сентября, 2007 пользователем Saule

В Windows NT/2000/XP/Vista/Seven службы - это программы, которые выполняются в фоновом режиме и не имеют пользовательского интерфейса. Многие службы – важные компоненты системы, без которых не возможна правильная работа операционной системы. Но отключение некоторых служб не причинит вреда системе. И при этом позволит уменьшить нагрузку на процессор и сэкономить память. Это службы, не требующиеся для реализации функциональности какой-то конкретной машины, которая настроена на определенные задачи. К примеру, если компьютер не подключен к сети Интернет, то для него нет необходимости в службе «Сетевые подключения» и прочих службах, связанных с сетью.

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

В данной статье будут описаны службы «Speed Disk Service», «Norton Unerase Protection», «AVP Control Centre Service» и т.д., появляющиеся после установки соответствующих им компонентов. Разобраться с ними пользователю предстоит самостоятельно.

Необходимо учитывать, что в Windows можно настроить службы для каждой учетной записи. Таким образом, если компьютером пользуется несколько человек, и каждому он необходим для собственных нужд то каждый может оставить те службы, которыми именно он будет пользоваться.

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

Перед работой со службами введите в командной строке «services.msc», либо выберете соответствующий пункт в меню «Пуск». Откройте «Панель управления», далее «Администрирование» > «Службы». В колонке «Состояние» показано текущее состояние службы (отключена или работает), в колонке «Тип запуска» показано, будет ли служба автоматически запускаться при загрузке Windows. Для того чтобы отключить службу, кликните по ней дважды и в графе «Тип запуска» установите «Отключено». Здесь же можно отключить службу для незамедлительного прекращения работы.

Ниже описаны службы, которые можно отключить, но только если вы не пользуетесь соответствующими функциями компьютера.

"Служба обнаружения SSDP" , "Узел универсальных PnP-устройств " – это службы, которые предназначены для подключения к компьютеру «умной» бытовой техники. У большинства российских граждан такой техники просто нет. Эти службы можно отключить.

"Автоматическое обновление" , "Адаптер производительности WMI" , "Модуль поддержки смарт-карт" , "Смарт-карты" , "Серийный номер переносного медиа-устройства"
– В российских условиях эти службы применяются довольно редко. Подробное описание служб ищите в специализированных источниках.

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

"Планировщик заданий" – можно отключить, если вы не планируете запускать приложения, заданные расписанием.

"Источник бесперебойного питания" – Эту службу можно отключить, если вы не пользуйтесь источником бесперебойного питания.

"Клиент отслеживания изменившихся связей " - для жесткого диска не применяется файловая система NTFS, то можно удалить эту службу.

"Теневое копирование том а " – эту службу можно удалить, если в компьютере используется не RAID-массив, а обычный жесткий диск.

"Диспетчер очереди печати" – если к компьютеру не подключен принтер, эту службу можно удалить.

"Беспроводная настройка" – если у вас не ноутбук, либо же ноутбук без Wi-Fi адаптера, предназначенного для подключения к сети по радиоканалу, то эту службу можно удалить.

– при удалении этой службы интернет браузер не будет предпринимать попытки подключения к интернету при просмотре страниц с обновляющимися элементами.

"Служба индексирования " – при удалении этой службы уменьшится место, занимаемое системой на диске, ускорится открытие файлов, система, но поиск при помощи внутренних средств проводника будет проводиться медленнее. Отключив эту службу, нажмите Win+R, и, запустив программу ciadv.msc удалите индексные файлы, освободив, таким образом, место на жестком диске.

"Службу регистрации ошибок", "Журналы и оповещения производительности" , "Уведомление о системных событиях" -можно отключить, так большинству пользователей не приходится вести протоколы системных ошибок.

"NetMeeting Remote Desktop Sharing Telnet", "Диспетчер сетевого DDE", "Диспетчер сеанса справки для удаленного рабочего стола", "Обозреватель компьютеров", "Диспетчер учетных записей безопасности", "Рабочая станция", "Модуль поддержки NetBIOS через TCP/IP", "Оповещатель", "Сервер папки обмена", "Сетевой вход в систему", "Служба сообщений", "Служба сетевого DDE", "Сервер", "Служба сетевого расположения NLA", "Службы криптографии", "Службы терминалов", "Удаленный реестр", "Фоновая интеллектуальная служба передачи" - можете отключить эти службы, если у вас нет локальной сети.

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

"QoS RSVP", "DNS-клиент", "DHCP-клиент", "Диспетчер отгрузки", "Брандмауэр интернета", "Веб-клиент", "Телефония", "Служба шлюза уровня приложения", "Защищенное хранилище", "Службы IPSEC", "Маршрутизация и удаленный доступ", "Сетевые подключения", "Диспетчер подключений удаленного доступа" - эти службы можно отключить, если у компьютера нет ни модема, ни локальной сети.

"Служба времени Windows" - если вы не собираетесь синхронизировать через интернет часы вашего компьютера с атомными часами.

"Служба COM записи компакт-дисков IMAPI" - сли вместо встроенных в Windows средств записи дисков вы используйте специализированную программу (WinOnCD или Nero Burning ROM), то можете удалить эту службу.

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

Отключение ненужных служб приводит к увеличению быстродействия - и, конечно, экономии оперативной памяти. Система не будет отвлекаться на ненужные вам задачи. Кроме того, повысится и безопасность - если какие-то службы, позволяющие подключаться к компьютеру извне, просто не работают - то и подключение невозможно. Пояснения будут даваться на примере Windows XP, Windows Vista и Windows Seven - службы во всех системах схожие и разнятся, в основном, названиями. Отличия названий будут указаны особо, для Windows XP также приведу английские названия служб (по всей видимости, пользователей английских Vista/Seven в России крайне мало - да и службы, опять же, называются примерно одинаково).

Автоматические обновления (Automatic updates)

Vista/Seven: Центр обновления Windows

Если вам не нужны обновления и лишние проблемы, с ними связанные - можете отключить эту службу. Стабильные сборки систем, как правило, свободны от серьёзных ошибок и могут использоваться сколь угодно долгое время без всяких обновлений. Чаще всего, обновления включают в себя исправления ошибок в системах безопасности, которые домашнему компьютеру, не включенному ни в какую сеть, вообще не нужны. В Vista/Seven я часто сталкивался с тем, что после обновлений система долго не может загрузиться (или вообще выпадает в осадок) - так что, для своих клиентов я, чаще всего, сразу отключаю эту службу.

В некоторых случаях, отключение службы обновлений в Vista/Seven приводит к невозможности установки некоторых системных вещей - например, .Net framework 3.5. Для установки надо включить службу, а потом её снова можно отключить. В XP подобных проблем не припомню за всю историю использования.

Беспроводная настройка (Wireless zero configuration)

Vista/Seven: Служба автонастройки WLAN

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

Брандмауэр Windows/Общий доступ к Интернету (Windows firewall/Internet connection sharing (ICS))

Сам по себе брандмауэр абсолютно бесполезен и, по сути, ни от чего особенно не защищает (разве что проблемы лишние создаёт - например, с multicast-потоками IPTV). Лучше установить сторонний файрвол, или попросту отключить брандмауэр, т.к. у большинства провайдеров сеть Windows network всё равно не работает, а оставшиеся опасные вещи типа удалённого доступа можно просто отключить. Если ваш компьютер используется в качестве шлюза в интернет для другой домашней машины - отключать брандмауэр нельзя, т.к. именно он занимается общим подключением к интернету.

Веб-клиент (WebClient)

Описание гласит, что "данная служба позволяет манипулировать файлами в интернете". Какими и как - понятия не имею; за 10+ лет служба так и не пригодилась.

Диспетчер очереди печати (Print spooler)

Vista/Seven: Диспетчер печати

Если в системе нет ни одного принтера - отключите.

Только Vista/Seven: Защитник Windows

Непонятно, зачем нужен, если есть нормальный антивирус. По сути, следит в основном за исходными компонентами Windows (Internet Explorer, Windows add-ons и т.п.). Я, например, не пользуюсь ими ни в одной из систем. С выпуском комплексной защиты Microsoft Security Essentials было объявлено, что от "защитника" можно отказаться. В XP "защитник" отсутствует, но его можно бесплатно доустановить. Опять же, неясно - зачем...

Модуль поддержки NetBIOS через TCP/IP (TCP/IP NetBIOS helper)

Если ваш компьютер не включен в сеть с другими, общающимися по Windows Network - смело отключайте.

Только XP/Vista: Обозреватель компьютеров (Computer browser)

Если компьютер, как и в предыдущем случае, не входит в сеть Windows с другими - служба не нужна.

Определение оборудования оболочки (Shell hardware detection)

Отключение данной службы значительно повышает безопасность системы - после этого перестают автоматически открываться флэшки, компакт-диски и т.д. А значит, исключается автозапуск вредоносного кода с завирусованного носителя информации. Опытный пользователь и сам в состоянии зайти на съёмное устройство без всяких "услужливых" автозапусков.

Рабочая станция (Workstation)

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

Сервер (Server)

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

Только XP: Служба восстановления системы (System restore service)

В принципе, если вы отключите восстановление в настройках компьютера - служба отключится сама. Кроме того, восстановление иногда может спасти завирусованную машину. Если же вы чувствуете силу джедая, как я - отключайте. Мне эта служба не понадобилась за 10+ лет ни разу.

Служба индексирования (Indexing service)

Vista: Поиск Windows

Seven: Windows search

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

Служба обнаружения SSDP (SSDP discovery service)

Vista/Seven: Обнаружение SSDP

Позволяет обнаруживать UPnP-устройства в сети. Если вы подключили дома роутер и ваш компьютер стал показывать его в сетевом окружении как "Шлюз интернета" - это именно оно. И оно совершенно никому не надо.

Только XP: Служба удалённого доступа (Telnet)

Зачем удалённый доступ к домашней машине? Только если он вам действительно нужен.

Служба шлюза уровня приложения (Application layer gateway service)

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

Службы IPsec (IPsec services)

Vista/Seven: Агент политики IPsec

Если ваш провайдер не балуется VPN-соединениями (или вы сами ими не балуетесь) - смело отключайте.

Службы терминалов (Terminal services)

Seven: Службы удалённых рабочих столов

Обеспечение работы быстрого переключения пользователей (см. ниже) и удалённого доступа к компьютеру (remote desktop). Если ни то, ни другое вам не нужно - отключайте. В Windows XP точно не приводит ни к каким последствиям, Vista/Seven - обширно не тестировал.

Только XP: Совместимость быстрого переключения пользователей (Fast user switching compatibility)

Если на вашем компьютере один пользователь - можете отключить. В Windows XP это однозначно не приводит ни к каким проблемам; на Vista/Seven отдельной службы нет - видимо, не предусмотрено.

Только XP: Справка и поддержка (Help and support)

Кому-нибудь когда-нибудь помогала эта "справка"?

Темы (Themes)

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

Удалённый реестр (Remote registry)

Как следует из описания, позволяет удалённым пользователям манипулировать реестром на компьютере. Разумеется, домашней машине это совершенно без надобности.

Центр обеспечения безопасности (Security center)

Постоянно напоминает о том, что сознательный пользователь и так знает. Абсолютно ненужная вещь для тех, кто хоть что-нибудь понимает в системе (и читает эту статью).

Какие службы ещё можно отключить?

DHCP-клиент (DHCP Client)

Если ваше сетевое подключение настроено вручную (имеет статический IP-адрес) - служба не нужна.

Windows audio

Название говорит само за себя. Если на вашем компьютере нет звука (или он не нужен) - можно отключить.

Служба времени Windows (Windows time)

Если вас не особенно заботит синхронизация времени через интернет - можно отключить. Я, правда, предпочитаю всё-таки синхронизировать системное время.

Служба загрузки изображений Windows (WIA) (Windows Image Acquisition (WIA))

Служба предназначена для получения изображений со сканеров, фотоаппаратов и т.п. Если вы не подключаете напрямую данные устройства (используете для копирования карты памяти) - служба не нужна.

Какие службы нельзя отключать, даже если очень хочется

Журнал событий (Event log)

Vista/Seven: Журнал событий Windows

Кажется, что службу можно безболезненно отключить - при настроенной системе в этот журнал никогда и не заглядываешь. Однако, я был свидетелем тому, как при отключенной службе... Не работало WiFi-соединение. Как это объяснить - не знаю; просто запомнил на всю жизнь. Даже если у вас нет WiFi - это не значит, что данный казус не проявит себя где-нибудь ещё.

Планировщик задач (Task scheduler)

Vista/Seven: Планировщик заданий

Казалось бы, если вы не используете планирование заданий (я, к примеру, практически никогда не использую), то служба не нужна. Однако, в Windows XP она, помимо основной задачи, занимается ещё и prefetch-сервисом - создаёт специальные файлы в системной директории /prefetch, которые позволяют значительно ускорить загрузку операционной системы и программ. Отключать её крайне не рекомендуется. Насчёт Vista/Seven опыта нет, т.к. в них есть отдельная служба Superfetch; возможно, планировщик можно и отключить - но утверждать не буду.

Остальные не очень нужные службы во всех системах после установки имеют тип загрузки "вручную". Т.е., они не запускаются без необходимости, но иногда могут понадобиться - поэтому, отключать их не стоит.

Решение

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

WARNING

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

Как сервис она была придумана много лет назад. В ее основе лежит протокол SMTP, функционирующий на двадцать пятом TCP-порту. Принцип его работы выглядит примерно так. Мы, используя свой почтовый клиент, подключаемся к почтовому серверу (Mail Transfer Agent) по SMTP и говорим, что хотим отправить письмо на такой-то адрес. MTA принимает от нас письмо и подключается к тому MTA-серверу (опять по SMTP), куда мы посылаем письмо. IP-адрес удаленного MTA наш MTA получает из MX-записи той доменной зоны, куда мы шлем письмо (то, что идет в email после @). Найти MX-запись (читай - MTA) для любого домена очень просто:

Nix: dig MX any_host_name.com Win: nslookup -type=mx any_host_name.com

Ты даже сам можешь отправить письмо, используя ncat или Telnet. Все, что потребуется, - это четыре команды: HELO, MAIL TO, RCPT TO, DATA (хотя есть ряд ограничений в зависимости от настроек сервера). Также стоит отметить, что каждое письмо имеет заголовки и тело сообщения. Заголовки только частично отображаются конечному пользователю (например, «Subject:») и используются, например, при возврате письма из-за проблем в конечном MTA.

Но самое важное, что фактически письмо проходит больше чем через один MTA и каждый из них добавляет ряд своих заголовков. Причем здесь все очень и очень «разговорчивы». Например, если письмо приходит из какой-то корпоративной сети к нам на почту, то мы, скорее всего, увидим в заголовках IP-адрес оправившего его пользователя (то есть того, кто подключился к внутреннему MTA в корпоративной сети) и версию используемого почтового клиента. Далее мы увидим данные уже самого MTA: IP-адрес (или имя в корпоративном домене), версию серверного ПО. А после этого очень часто - аналогичную запись, но уже по другому сетевому интерфейсу MTA.

Вдобавок к этому можно часто увидеть версию корпоративного антивируса, проверяющего всю почту, или применяемого спам-фильтра, а также характеристики детекта спама. Все это можно задействовать для более заточенных атак с использованием социальной инженерии. Например, в определенных ситуациях мы можем заранее «отслеживать» вероятность, что наше письмо попадет в спам. Кстати, если ты посылаешь письмо через какой-то веб-сайт (например, mail.ru), то твой IP тоже можно будет увидеть в заголовках.

Как же посмотреть эти заголовки? Очень просто. Все почтовые клиенты поддерживают их. Например, в Thunderbird - . В Gmail - стрелка «Еще» - показать оригинал. При анализе заголовков Received (то есть списке участвовавших в пересылке письма) нужно помнить, что они идут в обратном порядке. А для упрощения парсинга их рекомендую воспользоваться каким-нибудь онлайн-сервисом (которых немало), например E-Mail Header Analyzer .

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


Получить список доменов

Решение

Продолжим сбор информации. Давай представим себе компанию, которую мы хотим поломать снаружи. Одна из первых задач для пентеста через интернет - получить список доменных имен / виртуальных хостов. Методов много, и они стары как мир: обратный резолв IP, перебор имен, гуглохакинг. И ни один из них не дает полного результата, так что попробуем использовать их все вместе, попутно добавив чего-нибудь новенького:).

«Новенькое» - это сбор информации об именах с помощью SSL. Итак, давай вспомним основу. При подключении по SSL к любому серверу он возвращает нам свой сертификат. Сертификат - это набор полей (в том числе и открытый ключ сервера), подписанный корневым центром сертификации. В нем также есть поле CN (Common Name), где содержится имя сервера, на который выдан данный сертификат. Это уже что-то.

Например, когда мы сканируем по IP-адресам сеть и находим какой-то HTTP-сервер, то часто мы можем получить от него ответ с ошибкой (403). Все правильно, ведь мы не знаем, что указывать в заголовке Host HTTP-запроса. Тут-то нам и пригодится имя сервера. Посмотрим в SSL-сертификат, и вуаля - мы уже знаем, что подставить в заголовок.

Но это еще не все. Есть еще одно малоизвестно поле того же сертификата - SubjectAltName‎. Оно позволяет задавать альтернативные имена. То есть фактически один ключик может быть использован для совсем разных имен. Смотри рисуночки, и все станет ясно.

Получается, что вроде бы из «секьюрити»-фишки мы достаем крупицы интересующей нас информации. Отмечу еще из личного опыта, что иногда в сертификаты попадает информация и о внутренних именах хостов.

Атаковать с использованием техники session puzzling

Решение

Логические уязвимости - это всегда весело. Они бывают простыми и сложными, но их объединяет одно - необходимость правильно подумать. Вот только есть с ними и небольшая проблема: их как-то не особо типизируют (возможно, как раз-таки потому, что они все такие разнообразные:)). Ну да ладно. Хочу рассказать тебе об интересной технике (или виде уязвимостей, это уж как посмотреть), которую презентовали относительно недавно, пару лет назад. Название ей - session puzzling или session variable overloading (по версии OWASP).

Для начала давай вспомним, как веб-приложения аутентифицируют и авторизуют пользователя (HTTP ведь stateless).

  1. Юзер входит на сайт.
  2. Юзер вводит логин и пароль и отправляет на сервер.
  3. Сервер проверяет эти данные и, если все верно, пускает его во внутреннюю часть, при этом отправляя юзеру cookie в HTTP-ответе.
  4. Когда юзер переходит на какую-то еще страницу, браузер добавляет к запросу куки. Сервер по данной куке понимает, что юзер уже аутентифицирован, и работает в соответствии с этой мыслью.

Все выглядит вполне четко, но здесь пропущен важный момент. Он состоит в том, что сервер хранит у себя информацию о сессии конкретного пользователя. То есть приходит кука от юзера, он берет ее и смотрит (в памяти, в БД - в зависимости от ПО), а что же к ней у него «привязано». Простейший пример: он может хранить имя пользователя в сессии. И по куке получать из сессии имя и точно знать, кто к нему обратился в данный момент.

Вообще, в сессии хранят обычно «временную» информацию, а что-то более-менее постоянное - уже в БД. Например, логично хранить имя юзера в сессии, а вот его «роль» можно хранить в БД и запрашивать только по необходимости. Здесь, на самом деле, многое зависит от конкретного приложения и разработчика ПО.

Например, хранение большого объема данных в сессии может привести к исчерпанию либо памяти веб-сервера (Tomcat), либо свободного места на жестком диске (PHP). С другой стороны, обращения в БД требуют больше времени. Обусловлен выбор обычно производительностью, и о безопасности здесь редко думают (конечно, ведь как можно повлиять на то, что хранится на серверной стороне?).

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

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

Но добавим к этому страницу с восстановлением пароля, на которой ты должен ввести свое имя (1), а система в ответ задаст секретный вопрос (2), на который ты должен будешь ввести правильный ответ для сброса пароля (3). И, как ты вероятно уже понял, для того чтобы провести по этой последовательности тебя (от 1 до 3), сервер должен также воспользоваться сессией и хранить в ней имя пользователя.

Так вот, атака будет заключаться в том, что, когда мы заходим на страницу восстановления и вводим имя пользователя администратора, сервер в сессии отмечает, что юзер - админ, и выводит для админа секретный вопрос. Все! Мы можем ничего не вводить, а просто перейти на приватный раздел сайта. Сервер посмотрит сессию, увидит, что имя пользователя админа, и даст нам доступ. То есть во время восстановления пароля мы «поставили» необходимое нам значение и дальше пошли бороздить приватные части. Бага здесь и в том, что сайт использует одно имя переменной и при аутентификации, и при восстановлении пароля.

Сначала может показаться, что данный тип уязвимости - редкость. На самом деле это не так. Я лично находил такие в достаточно распространенных продуктах. Вот только не знал тогда, что это так называется.

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

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

Если заинтересовался или хочешь попробовать на специальном уязвимом приложении - прошу к авторам изначального ресерча .

Провести атаку с подделкой Host

Решение

Еще один пример почти логической веб-уязвимости. Она основана на возможности подделки заголовка Host HTTP-запроса. Точнее, на отсутствии его проверки веб-сайтом при его последующем использовании. Но по порядку.

Когда ты вводишь в браузере какое-то имя сайта, он подключается к полученному из имени IP-адресу и в HTTP-запросе обязательно использует заголовок «Host:», в котором указывает это имя. Часто веб-приложения берут значение из Host для построения путей до ресурсов (скриптов, картинок и прочего). Вероятно, это позволяет им работать без привязки к конкретному названию сайта. Вроде как таким образом работает Joomla, Drupal.

Вообще, с точки зрения безопасности, это немного странная, но неопасная ситуация. Казалось бы, да, подставив свое доменное имя в Host, мы можем сделать так, чтобы на ресурс загрузились бы наши JS-скрипты (считай - XSS). Но заставить чужой браузер сделать то же самое (то есть вставить неверный Host), по сути, невозможно. Так что с точки зрения SOP здесь все вроде вполне нормально.

Но недавно я прочитал интересный пример эксплуатации данной фичи. Представь себе страницу восстановления пароля. Вводишь имя почты, и на нее отправляется ссылка со случайным токеном для смены пароля (классическая ситуация). Так вот, мы также можем подставить свой Host в запросе, и тогда письмо, которое придет пользователю, будет содержать наш домен! И как только пользователь кликнет на данную ссылку, на наш домен он перейдет вместе с токеном, который мы можем быстренько использовать для смены пароля.

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

Но все же в этой атаке что-то точно есть.


Поломать UPnP

Решение

Universal Plug and Play (UPnP) - это набор сетевых протоколов, которые были созданы для упрощения взаимного нахождения различными девайсами, а также для их взаимодействия. Девайсом в данном случае может быть почти все что угодно: роутер, принтер, smartTV, какие-то сервисы Windows… И хотя, возможно, термин UPnP кажется тебе незнакомым, фактически он очень и очень распространен.

С точки зрения примера взаимодействия можно посмотреть в сторону Skype или BitTorrent и Wi-Fi-роутеров. Первые с помощью UPnP могут найти роутер и отправить ему набор команд на проброс какого-то внешнего порта вовнутрь. Очень удобно получается: никаких заморочек с ручной настройкой port forwarding’а.

Но если посмотреть на это с нашей хакерской точки зрения, то здесь есть чем поживиться… UPnP как технология появился еще в начале 2000-х и, возможно, потому имеет приличный ряд огрехов с точки зрения безопасности. Отсутствие аутентификации, например. Но давай обо всем по порядку.

UPnP основывается на нескольких протоколах, а также, что важнее, на определенной логической последовательности:

Обнаружение устройств. И для этого используется протокол SSDP (Simple Service Discovery Protocol - UDP, 1900-й порт). Каждое устройство, поддерживающее UPnP и предоставляющее какой-то сервис, систематически отправляет SSDP Notify пакет на 1900 UDP на multicast-адрес 239.255.255.250. Формат данных пакетов - HTTP.

В нем он сообщает поддерживаемые стандарты, а также TCP-порт и URL до описания (XML) каждого из своих сервисов. Например, http://192.168.0.1:1900/igd.xml описывает возможности сервиса InternetGatewayDevice.

Кроме прослушки 239.255.255.250, мы «насильно» можем посылать M-SEARCH запросы на тот же 1900-й порт. UPnP-серверы должны будут ответить на данный запрос. Отвечают все тем же Notify-пакетом.

Итак, первая задача - это, по сути, получение списка UPnP-серверов, а также URL’ов до XML’ек, с полным описанием функциональных возможностей каждого из сервисов сервера. Это важно, так как и порт, и URL’ы могут быть различными у разных производителей.

Определение возможностей. Итак, из SSDP мы получаем список сервисов со ссылкой на их описание в формате XML. Для доступа к ним уже используется обычный HTTP. В данном файле идет описание каждого из сервисов, а также ссылки на XML-файлы со списком возможных действий для каждого из них. То есть в данном случае XML’ки - это просто статические описания всех возможностей сервисов, а также перечень входных точек в сервисы и необходимых данных для выполнения действий.

Контроль. Получив данные XML’ки, мы уже можем создавать SOAP-пакеты и посылать их на сервер по HTTP, выполняя, таким образом, какие-то действия на сервере.

Аутентификация, как я уже говорил, отсутствует, и сервер выполнит все действия, которые ему придут в SOAP-запросе.

В 2008 году GNUCitizen даже выложили специальную SWF’ку . Эта SWF’ка (Flash) посылала SOAP-запрос на роутер (его IP необходимо указать), чтобы тот прокинул произвольный внешний порт на порт хоста юзера-жертвы. И получается, что, как только юзер-жертва открывал сайт с данной SWF, флеш «пропиливал» дырку в роутере до юзера и мы могли его атаковать. Очень удобно!

К сожалению, данный способ больше не работает: с тех пор ужесточилась песочница Flash’а и мы уже не можем посылать произвольные POST-запросы (самое главное, нам надо добавить еще заголовок SOAPAction) на любой другой хост (так как сначала произойдет запрос на разрешающие правила в crossdomain.xml).

Итак, теперь, я думаю, мы видим, как это все работает. Давай еще посмотрим, что можно с этим сделать.

Во-первых, это прошитые возможности SOAP’а. Кроме примера с пробросом портов, есть случаи, когда мы можем сменить настройки роутера и выставить свой DNS-сервер. А это уже ого-го! Тут все зависит от конкретного устройства, сервисов и нашей фантазии.

Во-вторых, это приличный инф-дисклоуз: IP-адреса, версия девайса и UPnP-библиотек и прочее (в SSDP, HTTP-сервере и XML’ках) Вдобавок к этому многие прошитые возможности также могут нам что-то рассказать. Пароли, например. Как-то во время внешнего пентеста обнаружили доступный SSDP и накопали пучок приватной инфы о внутренностях компании.

В-третьих, мы можем поломать сами сервисы. Год назад Rapid7 сделали прикольнейшее исследование UPnP . Они просканили интернет на SSDP и на SOAP (на стандартных портах), пофингерпринтили их. Оказалось, что большинство UPnP-серверов построено на четырех SDK. Из них выделяются MiniUPnP и Portable UPnP (libupnp), на которых «держится» больше половины. Но что важнее, почти все серверы используют устаревшие версии библиотек, в каждой из которых есть пучок уязвимостей, в том числе приводящих к RCE. Причем и в SOAP’е, и в SSDP.

Кроме того, в этом исследовании показано, как на самом деле много таких устройств торчит наружу, хотя бы SSDP. То есть даже если тот же SOAP закрыт, мы можем захватить удаленный контроль над устройством через SSDP.

Конечно, здесь надо отметить, что с удаленным сплоитингом может быть не очень просто, так как устройства эти часто построены на всяких MIPS, ARM, что точно все затрудняет. К тому же придется бороться еще и с механизмами защиты памяти ОС (тот же ASLR). Но все-таки это возможно.

Что же нам надо, чтобы все поломать?

Тулз на деле немного. В метасплоите есть модуль для поиска UPnP (и детекта CVE по ним). Плюс есть два «комбайна», позволяющих выполнять SOAP-команды. Это Miranda и Umap . Оба написаны на Python’е, только под *nix и при этом не очень хорошо работают.

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