- Windows: как закрыть порт 445, особенности и рекомендации
- За что отвечают порты 445 и 139 в ОС Windows
- Чем опасны открытые порты
- Выясняем, открыты ли порты
- Как закрыть порты в Windows 10/8/7
- Закрываем порты через брандмауэр
- Закрываем порты через командную строку
- Закрываем порты через реестр Windows
- Заключительные советы
- Угнать за 60 секунд: Метод добычи удаленного дедика под управлением Windows
- Содержание статьи
- Готовим операционную
- Виды shell: полезная нагрузка meterpreter и другие
- Захват сервера
- Заключение
- History
- Мирослав Берков
Windows: как закрыть порт 445, особенности и рекомендации
Вирус WannaCry, он же WannaCrypt или Wanna Decryptor, поразил виртуальный мир в мае 2017 года. Вредоносная программа проникала в локальные сети, заражая один компьютер за другим, шифровала файлы на дисках и требовала от пользователя перевести вымогателям от $300 до $600 за их разблокировку. Аналогичным образом действовал вирус Petya, получивший едва ли не политическую известность летом 2017 года.
Оба сетевых вредителя проникали в операционную систему компьютера-жертвы через одну и ту же дверь — сетевые порты 445 или 139. Вслед за двумя крупными вирусами и более мелкие виды компьютерной заразы начали эксплуатировать эту уязвимость. Что же это за порты, которые сканируют все, кому не лень?
За что отвечают порты 445 и 139 в ОС Windows
Данные порты используются в системе Windows для совместной работы с файлами и принтерами. Первый порт отвечает за работу протокола Server Message Blocks (SMB), а через второй работает протокол Network Basic Input-Output System (NetBIOS). Оба протокола позволяют компьютерам под управлением Windows подключаться по сети к «расшаренным» папкам и принтерам поверх основных протоколов TCP и UDP.
Начиная с Windows 2000, совместная работа с файлами и принтерами по сети осуществляется в основном через порт 445 по прикладному протоколу SMB. Протокол NetBIOS использовался в более ранних версиях системы, работая через порты 137, 138 и 139, и данная возможность сохранилась в более поздних версиях системы в качестве атавизма.
Чем опасны открытые порты
Открытые порты 445 и 139 представляет собой незаметную, но значимую уязвимость в Windows. Оставляя данные порты незащищенными, вы широко распахиваете дверь на свой жесткий диск для непрошеных гостей вроде вирусов, троянов, червей, а также для хакерских атак. А если ваш компьютер включен в локальную сеть, то риску заражения вредоносным программным обеспечением подвергаются все ее пользователи.
Фактически, вы открываете совместный доступ к своему жесткому диску любому, кто сумеет получить доступ к данным портам. При желании и умении злоумышленники могут просмотреть содержимое жесткого диска, а то и удалить данные, форматировать сам диск или зашифровать файлы. Именно это и делали вирусы WannaCry и Petya, эпидемия которых прокатилась по миру этим летом.
Таким образом, если вы заботитесь о безопасности своих данных, будет не лишним узнать, как закрыть порты 139 и 445 в Windows.
Выясняем, открыты ли порты
В большинстве случаев порт 445 в Windows открыт, так как возможности совместного доступа к принтерам и файлам автоматически включаются еще при установке Windows. Это можно легко проверить на своей машине. Нажмите сочетание клавиш Win + R, чтобы открыть окно быстрого запуска. В нем введите “cmd” для запуска командной строки. В командной строке наберите “netstat –na” и нажмите Enter. Данная команда позволяет просканировать все активные сетевые порты и вывести данные об их статусе и текущих входящих подключениях.
Через несколько секунд появится таблица статистики по портам. В самом верху таблицы будет указан IP-адрес порта 445. Если в последнем столбце таблицы будет стоять статус “LISTENING”, то это означает, что порт открыт. Аналогичным образом можно найти в таблице порт 139 и выяснить его статус.
Как закрыть порты в Windows 10/8/7
Существует три основных метода, позволяющих закрыть порт 445 в Windows 10, 7 или 8. Они не сильно отличаются друг от друга в зависимости от версии системы и достаточно просты. Можно попробовать любой из них на выбор. Этими же способами можно закрыть и порт 139.
Закрываем порты через брандмауэр
Первый метод, позволяющий закрыть 445 порт в Windows, является наиболее простым и доступен практически любому пользователю.
- Перейдите в Пуск > Панель управления > Брандмауэр Windows и нажмите на ссылку Дополнительные параметры.
- Нажмите Правила для входящих исключений > Новое правило. В отобразившемся окне выберите Для порта > Далее > Протокол TCP > Определенные локальные порты, в поле рядом введите 445 и нажмите Далее.
- Далее выберите Блокировать подключение и опять нажмите Далее. Установите три галочки, снова Далее. Укажите название и, при желании, описание нового правила и нажмите Готово.
Теперь возможность входящего соединения на порт 445 будет закрыта. Если необходимо, аналогичное правило можно создать и для порта 139.
Закрываем порты через командную строку
Второй метод включает в себя операции с командной строкой и больше подходит для продвинутых пользователей Windows.
- Нажмите Пуск и в строке поиска в нижней части меню наберите “cmd”. В отобразившемся списке кликните правой кнопкой мыши на cmd и выберите Запуск от имени администратора.
- В окно командной строки скопируйте команду netsh advfirewall set allprofile state on. Нажмите Enter.
- Затем скопируйте следующую команду: netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=445 name=»Block_TCP-445″. Нажмите Enter еще раз.
В результате выполнения процедуры так же будет создано правило брандмауэра Windows для закрытия порта 445. Некоторые пользователи, впрочем, сообщают, что данный метод не работает на их машинах: при проверке порт остается в статусе “LISTENING”. В этом случае следует попробовать третий способ, который также достаточно прост.
Закрываем порты через реестр Windows
Блокировать соединения на порт 445 можно также путем внесения изменений в системный реестр. Использовать данный метод следует с осторожностью: реестр Windows является основной базой данных всей системы, и случайно допущенная ошибка может привести к непредсказуемым последствиям. Перед работой с реестром рекомендуется сделать резервную копию, например, с помощью программы CCleaner.
- Нажмите Пуск и в строке поиска введите “regedit”. Нажмите Enter.
- В дереве реестра перейдите в следующий каталог: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters.
- В правой части окна отобразится список параметров. Нажмите правой кнопкой мыши в свободной области списка и выберите Создать. В раскрывающемся меню выберите Параметр DWORD (32-bit) или Параметр DWORD (64-bit) в зависимости от типа вашей системы (32-битная или 64-битная).
- Переименуйте новый параметр в SMBDeviceEnabled, а затем дважды кликните по нему. В отобразившемся окне Изменение параметра в поле Значение замените 1 на 0 и нажмите OK для подтверждения.
Этот способ является наиболее эффективным, если точно следовать приведенной выше инструкции. Следует отметить, что он относится только к порту 445.
Для того чтобы защита была эффективнее, после внесения изменений в реестр можно также отключить службу Windows Server. Для этого выполните следующее:
- Нажмите Пуск и в строке поиска введите «services.msc». Откроется список системных служб Windows.
- Найдите службу Server и дважды кликлите по ней. Как правило, она располагается где-то в середине списка.
- В отобразившемся окне в раскрывающемся списке Тип запуска выберите Отключена и нажмите ОК.
Заключительные советы
Приведенные выше методы (за исключением третьего) позволяют закрыть не только порт 445, но и порты 135, 137, 138, 139. Для этого при выполнении процедуры просто заменяйте номер порта на нужный.
Если вам впоследствии понадобится открыть порты, просто удалите созданное правило в брандмауэре Windows или измените значение созданного в реестре параметра с 0 на 1, а потом включите обратно службу Windows Server, выбрав в списке Тип запуска значение Автоматически вместо Отключена.
Важно! Необходимо помнить, что порт 445 в Windows отвечает за совместный доступ к файлам, папкам и принтерам. Таким образом, если вы закроете данный порт, вы больше не сможете «расшарить» общую папку для других пользователей или распечатать документ по сети.
Если ваш компьютер включен в локальную сеть и данные функции необходимы вам для работы, следует воспользоваться сторонними средствами защиты. К примеру, активируйте сетевой экран вашего антивируса, который возьмет под контроль все порты и будет осуществлять их мониторинг на предмет несанкционированного доступа.
Выполняя приведенные выше рекомендации, можно обезопасить себя от незаметной, но серьезной уязвимости в Windows и защитить свои данные от многочисленных видов зловредного программного обеспечения, которое способно проникнуть в систему через порты 139 и 445.
Угнать за 60 секунд: Метод добычи удаленного дедика под управлением Windows
Содержание статьи
Считается, что с каждой новой версией Windows становится все защищеннее и защищеннее. Даже специалисты АНБ США приложили свою тяжелую руку к улучшению безопасности винды. Но так ли хорошо защищена ОС Windows в действительности? Давай проверим вместе. На практике!
Готовим операционную
Сейчас я покажу тебе метод добычи удаленного дедика под управлением Windows средствами Metasploit Framework с использованием уязвимости MS08-067. Почему-то эксплуатация этого бага в настоящее время пользуется большой популярностью среди хакеров Ближнего Востока и Северной Африки, о чем свидетельствуют многочисленные записи и обсуждения в Facebook (facebook.com/#!/group.php?gid=73074814856), хотя на страницах ВКонтакте, посвященных тому же самому MSF (vk.com/club16499787), царит полная тишина. В большинстве случаев уязвимыми являются все системы, работающие под управлением Windows XP Professional SP2 и SP3 (полный список операционок, подверженных риску, ты можешь найти на kb.cert.org/vuls/id/827267). Но как я понял из написанного, все программные продукты мелкомягких могут быть скомпрометированы путем эксплуатации данного бага и по сей день.
Перейдем к делу — качаем последний релиз Metasploit Framework на официальном сайте metasploit.com (или ищем на диске). Перед его установкой на компьютере отключаем антивирус. В комплект Metasploit Framework включен свой собственный сетевой сканер портов, хотя для поиска подключенных к сети машин под управлением ОС Windows мы можем использовать и внешний сканер nmap, который также добавлен в дистрибутив и устанавливается одновременно с Metasploit Framework. Итак, запускаем сканер nmap, отметив порт 445, поскольку именно он нам и нужен для дальнейшей эксплуатации уязвимости службы сервера. А что, собственно, мы будем сканировать? Ответ достаточно прост — например, можно взять и просканировать IP-префиксы своего провайдера, которые мы с легкостью узнаем на сайте bgp.he.net в разделе «Prefixes IP v4».
Для использования полученных префиксов в сканере nmap, необходимо их предварительно скопировать в файл — например, my_isp.txt, и поместить файл в рабочий каталог с nmap. Итак, поехали, команда запуска сканера будет выглядеть следующим образом:
nmap -T4 -A -v -PE -PS445 -PA445 -iL my_isp.txt
Отлично, в результате сканирования мы получили список хостов с запущенной службой сервера, которую видно из внешней сети, причем она ничем не прикрыта, хотя мелкомягкие еще в 2008 году настоятельно рекомендовали блокировать доступ из интернета к этому сервису. Интересно, что по каждому хосту nmap выдает подробную информацию о типе установленной ОС.
Виды shell: полезная нагрузка meterpreter и другие
В настоящее время считается, что полнофункциональный Meterpreter (МР) существует только под Windows, но на самом деле это не совсем так. Существует еще несколько версий MP, реализованных на PHP и JAVA. Впрочем, ты и сам можешь стать автором «полезной нагрузки» — например, скомпилировать TCL-сценарий shell-кода для Cisco IOS с помощью утилиты tclpro.exe и в дальнейшем использовать его для жестоких игр с железными кошками. Как так? Сам не понимаю :).
Стандартную полезную нагрузку MP можно использовать почти со всеми Windows-эксплойтами, включенными в Metasploit Framework, выбрав одну из следующих полезных нагрузок:
Кратко поясню суть каждой.
- bind_meterpreter— резервирует порт на целевой машине и ожидает соединения. После установления соединения происходит загрузка Meterpreter’a на целевой хост, текущее соединение продолжает использоваться для связи с удаленной машиной.
- reverse_meterpreter— сама соединяется с предварительно заданным хостом по указанному порту для дальнейшей загрузки Meterpreter’a. Затем установленное соединение используется для связи с удаленной машиной. Все хорошо, но для успешной реализации данного метода нам понадобится реальный IP-адрес (или устанавливай проброс нужных тебе портов через NAT).
- find_tag— осуществляет поиск дескриптора службы, обработанной эксплойтом, и использует его для загрузки Meterpreter’a на удаленную машину, после чего существующее соединение будет использовано для связи с ней. Этот вид полезной нагрузки является особенно интересным, поскольку тут не требуется открывать новое соединение — таким образом, существует возможность обхода практически любых конфигураций брандмауэров.
- bind_tcp— это обычный командный интерпретатор типа cmd.exe, естественно, без всяких дополнительных наворотов, как у Meterpreter`a. Он просто резервирует порт на целевой машине и загружает стандартную оболочку.
В зависимости от цели исследования системы может быть использована любая из этих полезных нагрузок. Так чего же мы ждем? Выбираем цель из списка, полученного в результате сканирования nmap, и подключаемся к ней. Для простоты эксперимента будем использовать простой командный интерпретатор в качестве полезной нагрузки.
msf > use exploit/windows/smb/ms08_067_netapi
msf exploit> set PAYLOAD windows/vncinject/bind_tcp
PAYLOAD => windows/vncinject/bind_tcp
msf exploit(ms08_067_netapi) > set RHOST 192.168.0.3
RHOST => 192.168.0.3
msf exploit(ms08_067_netapi) > exploit
Если уязвимость на удаленной машине существует, то мы получим доступ к шеллу (cmd.exe) этого компьютера, и в окне появится сообщение о том, что сессия успешно установлена. В случае, когда msf определил ОС как Windows 7, можно попробовать использовать 64-разрядные полезные нагрузки, которые имеются в соответствующем разделе (ищем через меню GUI), или вызвать нагрузку через консоль. Пример работы эксплойта с полезной нагрузкой можно посмотреть на видео (ищи ролик на нашем диске).
Захват сервера
Теперь из списка хостов, сгенерированных nmap, выберем IP-адрес под управлением ОС Windows 2003 Server — это и будет наша искомая цель (ведь ты, как настоящий сетевой гуру, хотя бы раз в жизни должен поиметь свой собственный дедик!). Для работы с сервером будем использовать все тот же эксплойт (exploit/windows/smb/ms08_067_netapi) и полезную нагрузку bind_meterpreter. В результате мы получаем доступ к командной оболочке через Meterpreter, после чего добавляем нового пользователя с помощью сценария token_adduser, предварительно повысив свои привилегии на удаленной машине до уровня SYSTEM с помощью команды use priv. Ну вот — у нас есть дедик, к которому ты можешь подключаться, используя удаленный рабочий стол. На нем мы можем установить прокси-сервер, FTP и многоемногое другое. В ходе эксперимента у меня получилось набрать пять дедиков примерно в течение часа. Я думаю, это круто!
Заключение
Если кто-то хочет просто жать на кнопку «exploit», чтобы Metasploit сразу выдавал готовые дедики, то скажу сразу — этого не будет: метод все равно требует времени и терпения. Уязвимость далеко не нова, и производители ПО уже приняли меры по ее локализации.
Так, если на удаленной машине установлен антивирус или правильно сконфигурирован центр обеспечения безопасности Windows, то скорее всего доступ к порту 445 из внешней сети получить просто не удастся. В частности, антивирус Касперского отреагирует на изменение системных файлов, своевременно информируя об этом пользователя. Хотя атака из локальной сети, скорее всего, приведет к тому, что система будет полностью скомпрометирована. Несмотря ни на что, все еще остается довольно широкое поле для экспериментов с безопасностью Windows, и ты можешь внести свой вклад в это дело. Непоправимый вклад :).
History
23 октября 2008 года Microsoft выпускает «Бюллетень по безопасности MS08-067». Речь шла об уязвимости в службе сервера, которая делает возможным удаленное выполнение произвольного кода (958644). Успешная эксплуатация этой уязвимости может позволить хакерам скомпрометировать целевую систему под управлением ОС Windows. Да что тут говорить, уязвимость MS08-067 активно используется взломщиками и в настоящее время. Самым известным червем, использующим эту уязвимость, является Conficker/Downadup в различных его модификациях.
Компания Microsoft в свое время даже объявляла премию в размере $250 000 за информацию, которая будет способствовать поимке создателя этого червячка. «Но ведь это далекое прошлое!», — возразишь ты и будешь отчасти прав. Но только отчасти, так как сегодня ситуация не сильно изменилась.
Мирослав Берков
«Сетевой призрак», признанный автор журнала «Хакер»