Заход на удалённый компьютер зная открытый конкретный порт
Киньте ссылки, хочу разобраться как этот заход реализуется
и за счёт каких средств?
И что такое порты?
НЕ БАНЬТЕ ЭТО СООБЩЕНИЕ.
Я уже заколебался свой вопрос фрмулировать.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как подключится к чужому компьютеру зная ip и открытый порт ?
Доброго времени суток) Помогите мне пожалуйста, у меня есть враг, хочу ему отомстить)) У меня есть.
Открытый порт
Почему uTorrent пишет, что мой порт открыт для входящих соединений, хотя я нахожусь за двумя NAT.
Отправить данные на открытый порт
Как написать программу какая будет отправлять файлы на открытый порт другого пк. В с++ новичок но.
Открытый порт на Squid и Iptables
Добрый день форумчани. Прошу помочь с решением вопроса. Решили перейти с Proxy server windows на.
Почетный модератор
11329 / 4301 / 444
Регистрация: 12.06.2008
Сообщений: 12,385
Не понятно, что ты хочешь. просто подключиться можешь через telnet
Например, telnet 127.0.0.1 80 означает подключиться к IP 127.0.0.1 на порт 80
Регистрация: 01.12.2008
Сообщений: 112
Да не выходит это подключение.
выскакивает cmd с надписью 127.0.0.1
затем проходит некоторое время и опять стандартная cmd.
Пробовал сканировать порты- то же самое.
Кроме того, что 23 закрыт, нашёл три открытых.
НО НИ ОДНА ПРОГА, НИ ТЕЛЬНЕТ НЕ ПОМОГАЕТ ЗАЙТИ.
В частности putty, teamviewer, tightVNC.
НЕ ЗНАЮ ЧЁ ДЕЛАТЬ.
Почетный модератор
11329 / 4301 / 444
Регистрация: 12.06.2008
Сообщений: 12,385
Какие порты? Может, они не связаны ни с telnet, ни с SSH. Плохо, что telnet не показывает, удалось подключиться или нет. а показывает только данные.
3077 / 531 / 11
Регистрация: 29.08.2008
Сообщений: 1,687
Humanoid, я с ним в этом разделе воевал. Вертолетчик просто сам не понимает чего он хочет.
Регистрация: 01.12.2008
Сообщений: 112
Если телнет без указания порта, т.е. 23(по-умолчанию), то
telnet -a 192.168.6.69 говорит что 23 порт не доступен
tracert даёт следующее
Трассировка маршрута к 192.168.6.69 с максимальным числом прыжков 30
1 2 ms 4 ms 2 ms 91.144.140.70
2 2 ms 2 ms 2 ms host140-202.kzn.ertelecom.ru [91.144.140.202]
3 2 ms 3 ms 2 ms 91.144.140.73
4 91.144.140.73 сообщает: Заданный узел недоступен.
Добавлено через 2 минуты 48 секунд
Поиск хоста 192.168.6.69
Сканирование.
Хост:192.168.6.69: порт :21 (ftp) открыт
Хост:192.168.6.69: порт :25 (smtp) открыт
Хост:192.168.6.69: порт :110 (pop3) открыт
Хост:192.168.6.69: порт :119 (nntp) открыт
Хост:192.168.6.69: порт :143 (imap) открыт
Начальный порт: 1
Конечный порт : 1024
Сканирование закончено.
Добавлено через 1 минуту 21 секунду
Воитель, ЗАЙТИ Я ХОЧУ НА УДАЛЁННЫЙ КОМП.
КАК ЕЩЁ СКАЗАТЬ.
НИКАК НЕ ПОЛУЧАЕТСЯ.
Добавлено через 3 минуты 3 секунды
Humanoid, Отреагируй пожалуйста, я тут информации добавил.
Почетный модератор
11329 / 4301 / 444
Регистрация: 12.06.2008
Сообщений: 12,385
Я не понимаю что ты имеешь ввиду под выражением «зайти на комп». расшаренные ресурсы посмотреть? Тогда в проводнике в адресной строке напиши \\192.168.6.69
Но судя по той инфе, там ftp сервер запущен. попробуй в браузере ftр://192.168.6.69
Только, это либо что-то *nix’овое, либо он вообще не доступен, а эти порты какая-то твоя программа подделывает. У всех виндовсов всегда открыты порты 135, 139. а у XP ещё и 445. очень подозрительно, что тут их нет.
Регистрация: 01.12.2008
Сообщений: 112
Спасибо, что отреагировал.
«Зайти»- работать, или хотя бы какие-нибудь файлы копировать.
А может этот ip быть «серым».
Посоветуй др. сканеры портов.
Если поможет
(И ещё , иногда у меня прямой доступ на этот комп, т.е. непосредственно перед монитором можно посидеть и поделать что-то.)
Добавлено через 10 минут 56 секунд
bombus, Вот один телепат нашёлся.
3077 / 531 / 11
Регистрация: 29.08.2008
Сообщений: 1,687
Сообщение от Вертолётчик
bombus, Вот один телепат нашёлся.
дык, я же вам говорил, что надо немного подождать и вы потом пообщаетесь.
Регистрация: 01.12.2008
Сообщений: 112
bombus, Слушай, а ты- молодец
Почетный модератор
11329 / 4301 / 444
Регистрация: 12.06.2008
Сообщений: 12,385
Сообщение от Вертолётчик
А может этот ip быть «серым».
Может. 192.168.*.* — это адрес локальной сети. А судя по всему, ты подключаешься к нему через интернет. Если это действительно так, то к нему не получится подключиться из инета. только смущает то, что удалось какие-то порты там просканировать. Но как я говорил, это может быть из-за некоторых программ. Например, pop3 и smtp наверняка ложные. так делают некоторые антивирусы (например spider mail от drweb’а).
Сообщение от Вертолётчик
Посоветуй др. сканеры портов.
Лично я использую Essential NetTools, но он платный.
Сообщение от Вертолётчик
Если поможет
(И ещё , иногда у меня прямой доступ на этот комп, т.е. непосредственно перед монитором можно посидеть и поделать что-то.)
Тогда проще туда установить какой-нибудь BackDoor (что-то вроде трояна). но это обсуждать на форуме нельзя.
И bombus прав — если бы более чётко задавал вопросы, то сэкономил бы кучу времени. А так приходится догадки строить.
Что можно сделать с открытыми портами?
Допустим, я знаю IP и несколько открытых портов TPC. Что я могу сделать? Ну например получить какие то данные, или может быть подключиться к файловой системе и что то изменять?
Вопрос немного странный, но я просто не разбираюсь в этой теме и хотел бы разобраться.
☀ПуФыСтЫй ЗаЙкА☀
С огромной долей вероятности, ничего ты с ними (портами) или с ним (удалённым компом) не сможешь сделать.
Так как если бы мог, то подобные вопросы не задавал.
Каждый из нас может просканировать порты удалённого или своего собственного компьютера — для этого много ума не нужно.
Для этого даже не нужно устанавливать никакого ПО: в сети достаточно соответствующих сервисов для сканирования.
Далее.
Многое зависит от номера открытого порта.
Например, ты обнаружл, что на удалённой машине открыт порт 22.
Этому порту по-умочанию соответствует апротокол SSH.
То есть с большой долей вероятности удалённая машина управляется ОС Linux и подключение к ней осуществляется по ппротоколу ssh на 22 порту. Вполне можно проникнуть вовнуть этой машины при соблюдении нескольких условий:
1. на твоей машине должно быть устанослено соответствующее ПО для подключения,
2. ты должен каким-то образом уснать логин и пароль для подключения,
3. часто для ssh-подключения необходим ключ (или сертификат) — его тоже нужно раздобыть.
Если все три условия выполнены — принимай меры для предотврвщения собственного деанона и заходи ма удалённую машину.
Ты- красавчик ))
Поспешу тебя немного огорчиить. Открытый 22 порт — явление не редкое в нынешних условиях. Устройства, на которых установлен Linux в таких случаях представляют собою всякий бытовой хлам типа спутниковых ресиверов, холодильников и кофеварок.
У серьёзных машин ssh протокол может висеть не на дефолтном 22 порту, а на других. Ведь админы серверов — люди не глупые.
В этом случае, если тебе нужна определённая машина, воспользуйся программами для анализа удалённой машины. На форуме много тем, посвящённых обзору таких программ.
Аналогичный пример можно привести с портом 3980 — порт протокола RDP. Обнаружив открытым такой порт становится понятно, что удалённая машина управляется Виндой (могут быть исключения: на линуксе также можно поднять данный протокол. Но это — скорее извращение или какие-то эксперименты админов серверов). Для подключения к удалённой машине по этому протоколу в windows можно ничего не устанавливать — необходимое ПО идёт в комплекте из коробки. В линуксах тебе придётся установить и настроить клиент RDP. Получив логин и пароль можешь заходить на удалённую машину (не забывай о собственной безопасности).
Надеюсь, логика понятна ))
Как получить логины и пароли от соответствующих служб, от админок и прочего — не спрашивай.
Потому что здесь нет однозначного ответа.
Процесс получения этих данных и является сутью хакинга.
У каждого свои наработки, свой опыт.
Sunnych
Mod. Forensics
Gold Team
01.06.2018 276 1 438
Наращиваем потенциал nmap (nmap+vulscan) Brutespy — аraвтоматизация брутфорс-атак vander «статьи» powershell for hackers «статьи» а это когда попадаете внутрь [Шпаргалка] Разведка и аудит сервера Вы сами должны определить вектор сбора максимальных данных, а после методы подходящие для данного случая (читать, разбираться, строит план — и только потом действовать).
GusBot
Заблокирован
03.07.2018 22 1
С огромной долей вероятности, ничего ты с ними (портами) или с ним (удалённым компом) не сможешь сделать.
Так как если бы мог, то подобные вопросы не задавал.
Каждый из нас может просканировать порты удалённого или своего собственного компьютера — для этого много ума не нужно.
Для этого даже не нужно устанавливать никакого ПО: в сети достаточно соответствующих сервисов для сканирования.
Далее.
Многое зависит от номера открытого порта.
Например, ты обнаружл, что на удалённой машине открыт порт 22.
Этому порту по-умочанию соответствует апротокол SSH.
То есть с большой долей вероятности удалённая машина управляется ОС Linux и подключение к ней осуществляется по ппротоколу ssh на 22 порту. Вполне можно проникнуть вовнуть этой машины при соблюдении нескольких условий:
1. на твоей машине должно быть устанослено соответствующее ПО для подключения,
2. ты должен каким-то образом уснать логин и пароль для подключения,
3. часто для ssh-подключения необходим ключ (или сертификат) — его тоже нужно раздобыть.
Если все три условия выполнены — принимай меры для предотврвщения собственного деанона и заходи ма удалённую машину.
Ты- красавчик ))
Поспешу тебя немного огорчиить. Открытый 22 порт — явление не редкое в нынешних условиях. Устройства, на которых установлен Linux в таких случаях представляют собою всякий бытовой хлам типа спутниковых ресиверов, холодильников и кофеварок.
У серьёзных машин ssh протокол может висеть не на дефолтном 22 порту, а на других. Ведь админы серверов — люди не глупые.
В этом случае, если тебе нужна определённая машина, воспользуйся программами для анализа удалённой машины. На форуме много тем, посвящённых обзору таких программ.
Аналогичный пример можно привести с портом 3980 — порт протокола RDP. Обнаружив открытым такой порт становится понятно, что удалённая машина управляется Виндой (могут быть исключения: на линуксе также можно поднять данный протокол. Но это — скорее извращение или какие-то эксперименты админов серверов). Для подключения к удалённой машине по этому протоколу в windows можно ничего не устанавливать — необходимое ПО идёт в комплекте из коробки. В линуксах тебе придётся установить и настроить клиент RDP. Получив логин и пароль можешь заходить на удалённую машину (не забывай о собственной безопасности).
Надеюсь, логика понятна ))
Как получить логины и пароли от соответствующих служб, от админок и прочего — не спрашивай.
Потому что здесь нет однозначного ответа.
Процесс получения этих данных и является сутью хакинга.
У каждого свои наработки, свой опыт.
Открываем порт в Windows для работы программы
Случилась ситуация с не доступностью web интерфейса программы мониторинга определённых ресурсов сервера. Открываем порт по которому работает web интерфейс и программа начинает работать.
Не надо сразу бежать и открывать порт, если у вас, что-то не работает. Я рассказываю свой случай и прежде чем открыть порт, я установил причину, по которой web интерфейс не был доступен.
Для начала в настройках вашей программы смотрим — какой порт нужен для корректной работы. В документации моей программы явно был указан необходимый порт.
Проверяем открытые порты
Когда вы знаете какой порт вам нужен, проверяем открыт он в операционной системе или нет.
Открываем командную строку Windows или в современных версиях PowerShell, как это сделать описано в этой статье ранее.
netstat -a
Будет выведен весь список и состояние.
Список самых распространённых состояний:
LISTENING – порт ожидает входящих соединений
ESTABLISHED – соединение установлено
CLOSE_WAIT – ожидание закрытия из за отключения удалённого абонента
TIME_WAIT – порт закрыт, но ожидает входящие пакеты
SYN_SENT – устанавливается соединение
Чтоб узнать какая программа, какой порт использует. запустите терминал или командную строку от имени администратора и воспользуйтесь следующей командой:
netstat -n -b
Результат будет примерно таким
Открываем порт необходимый нам для работы программы
Убедившись, что нужный вам порт закрыт. Вы все-же решили открыть нужный вам порт. Алгоритм ваших действий следующий:
Открываем брандмауэр, в Windows 10 нужно постараться, чтоб его найти. Для простоты набирайте в поиске Монитор брандмауэра
Когда откроется брандмауэр, слева выбираем Правила для входящих подключений. Справа, в окне действий выбираем создать правило. В открывшемся окне выбираем для порта и нажимаем «далее»
На следующем шаге выбираем Протокол, в нашем случае Протокол ТСР
И указываем в окне нужный порт.
На следующем этапе указываем Разрешить подключение и нажимаем «Далее«
На странице профиль указываем какой нужно, в моем случае оставляю по умолчанию.
На странице Имя и описание — любое понятное для Вас, чтоб Вы потом могли понять для чего вы его создавали.
После перезагружаем систему.
Если есть, что добавить или поделиться опытом — пишите в комментариях.
Как подключиться к открытому порту
Как новичок в автомобильном деле, я могу часами биться в попытках использовать свои элементарные инструменты (молоток, клейкая лента, гаечный ключ и т.д.) для решения какой-либо проблемы. Когда все мои попытки с крахом проваливаются, и я буксирую свою развалюху к настоящему механику, он неизменно достает из большой коробки с интрументами какую-нибудь штуковину, и сразу складывается впечатление, что решение проблемы не требует много усилий. Искусство сканирования портов очень на это похоже. Эксперты понимают дюжины различных приемов сканирования портов и выбирают для конкретной задачи подходящий (или комбинацию из нескольких). Неопытные пользователи и script kiddies, пытаются решить все задачи с помощью используемого по умолчанию SYN сканирования. Т.к. Nmap является бесплатной, то единственным барьером на пути к овладению техникой сканирования портов является знание. Это все же лучше чем в мире автомобилей, где, когда вам наконец-то удается определить, что вам необходимо какое-либо устройство, вам еще надо будет заплатить за него тысячу долларов.
Большинство типов сканирования доступны только привилегированным пользователям, потому что посылаются и принимаются сырые пакеты, что требует прав пользователя root на Unix системах. Под Windows рекомендуется работать с учетной записью администратора, хотя иногда Nmap работает и с непривилегированными пользователя, когда в ОС уже загружена утилита WinPcap. Требование root привилегий было серьезным ограничением, когда Nmap была выпущена в свет в 1997, т.к. многие пользователи имели доступ только к разделяемым аккаунтам. Сейчас мир изменился. Компьютеры стали дешевле, многие пользователи имеют постоянный доступ в Интернет, а Unix системы для домашних компьютеров (включая Linux и Mac OS X) теперь широко распространены. Также теперь доступна Windows версия Nmap, что позволяет запускать ее на еще большем количестве компьютеров. По этим причинам, пользователям нет необходимости запускать Nmap с разделяемых аккаунтов. Это большая удача, т.к. функции требующие привилегированного доступа делают Nmap намного более мощной и гибкой.
Когда Nmap предпринимает попытку выдать правильные результаты, надо иметь ввиду, что вся информация базируется на пакетах, возвращенных целевыми машинами (или брандмауэром перед ними). Такие хосты могут быть ненадежными и посылать ответы с целью ввести Nmap в забдуждение. Намного более распространным случаем являются не совместимые с RFC хосты, которые отвечают на запросы Nmap не так, как должны. Сканирования типа FIN, NULL и Xmas наиболее восприимчивы к такого рода проблемам. Такие сложности специфичны только для определенных типов сканирования, и поэтому обсуждаются в посвященных им разделах.
В этом разделе описываются около дюжины способов сканирования портов поддерживаемых Nmap. В любой момент времени вы можете использовать только один метод; исключение составляет UDP сканирование ( -sU ), которое может быть скомбинировано с любым типом TCP сканирования. В качестве памятки имейте ввиду, что различные опции сканирования портов задаются в форме -s , где это символ из названия какого-либо типа сканирования, обычно первый. Единственное исключение это FTP bounce сканирование ( -b ). По умолчанию Nmap осуществляет SYN сканирование; этот тип сканирования заменяет сканирование с использованием соединения для пользователей не имеющих достаточных привилегий для отправки сырых пакетов (требует root доступа в Unix), или если были заданы цели в формате IPv6. Среди описанных ниже типов сканирования, непривилегированные пользователи могут осуществлять только сканирование с использованием соединения и FTP bounce сканирование.
-sS (TCP SYN сканирование)
SYN это используемый по умолчанию и наиболее популярный тип сканирования. На то есть несколько причин. Он может быть быстро запущен, он способен сканировать тысячи портов в секунду при быстром соединении, его работе не препятствуют ограничивающие бранмауэры. Этот тип сканирования относительно ненавящив и незаметен, т.к. при таком сканировании TCP соединение никогда не устанавливается до конца. Он работает с любым TCP стеком, не завися от каки-либо особенностей специфичной платформы, как это происходит при сканированиях типа FIN/NULL/Xmas, Maimon и idle сканировании. Он также предоставляет ясную и достоверную дифференциацию между состояниями открыт , закрыт и фильтруется .
Эту технику часто называют сканированием с использованием полуотрытых соединений, т.к. вы не открываете полного TCP соединения. Вы посылаете SYN пакет, как если бы вы хотели установить реальное соединение и ждете. Ответы SYN/ACK указывают на то, что порт прослушивается (открыт), а RST (сброс) на то, что не прослушивается. Если после нескольких запросов не приходит никакого ответа, то порт помечается как фильтруемый. Порт также помечается как фильтруемый, если в ответ приходит ICMP сообщение об ошибке недостижимости (тип 3, код 1,2, 3, 9, 10 или 13).
-sT (TCP сканирование с использованием системного вызова connect)
Это используемый по умолчанию тип TCP сканирования, когда недоступно SYN сканирование. Это происходит в случае, когда у пользователя нет привилегий для использования сырых пакетов или при сканировании IPv6 сетей. Вместо того, чтобы использовать сырые пакеты, как это происходит при большинстве других типов сканирования, Nmap «просит» операционную систему установить соединение с целевой машиной по указанному порту путем системного вызова connect . Это такой же высокоуровневый системный вызов, используемый браузерами, P2P клиентами и другими приложениями для установки соединения. Этот вызов является частью программируемого интерфейса, известного как Berkeley Sockets API. Вместо того, чтобы считывать ответы в форме сырых пакетов, Nmap использует этот API для получения информации о статусе каждой попытки соединения.
При доступности SYN сканирования, оно, безусловно, будет являться лучшм выбором. У Nmap имеется меньше возможностей контролирования высокоуровнего вызова connect по сравнению с сырыми пакетами, что делает его менее эффективным. Системный вызов завершает соединения по открытым портам, вместо того, чтобы использовать полуоткрытые соединения, как в случае с SYN сканированием. Таким образом на получение той же самой информации потребуется больше времени и пакетов, да к тому же целевые машины скорее всего запишут это соединение в свои логи. То же самое сделает и порядочная IDS, хотя большинство машин не имеют такой системы защиты. Многие службы на вашей Unix системе будут добавлять запись в системный лог (syslog), а также сообщение об ошибке, когда Nmap будет устанавливать и закрывать соединение без отправления данных. Некоторые службы даже аварийно завершают свою работу, когда это происходит, хотя это не является обычной ситуацией. Администратор, который увидит в логах группу записей о попытке установки соединения от одной и той же системы, должен знать, что его машина подверглась такому типу сканирования.
-sU (Различные типы UDP сканирования)
В то время как большинство сервисов Интернета используют TCP протокол, UDP службы также широко распространены. Тремя наиболее популярными являются DNS, SNMP и DHCP (используют порты 53, 161/162 и 67/68). Т.к. UDP сканирование в общем случае медленнее и сложнее TCP, то многие специалисты по безопасности игнорируют эти порты. Это является ошибкой, т.к. существуют UDP службы, которые используются атакующими. К счастью, Nmap позволяет инвентаризировать UDP порты.
UDP сканирование запускается опцией -sU . Оно может быть скомбинировано с каким-либо типом TCP сканирования, например SYN сканирование ( -sS ), чтобы использовать оба протокола за один проход.
UDP сканирование работает путем посылки пустого (без данных) UDP заголовка на каждый целевой порт. Если в ответ приходит ICMP ошибка о недостижимости порта (тип 3, код 3), значит порт закрыт . Другие ICMP ошибки недостижимости (тип 3, коды 1, 2, 9, 10 или 13) указывают на то, что порт фильтруется . Иногда, служба будет отвечать UDP пакетом, указывая на то, что порт открыт . Если после нескольких попыток не было получено никакого ответа, то порт классифицируется как открыт|фильтруется . Это означает, что порт может быть открыт, или, возможно, пакетный фильтр блокирует его. Функция определения версии ( -sV ) может быть полезна для дифференциации действительно открытых портов и фильтруемых.
Большой проблемой при UDP сканировании является его медленная скорость работы. Открытые и фильтруемые порты редко посылают какие-либо ответы, заставляя Nmap отправлять повторные запросы, на случай если пакеты были утеряны. Закрытые порты часто оказываются еще большей проблемой. Обычно они в ответ возвращают ICMP ошибку о недостижимости порта. Но в отличии от RST пакетов отсылаемых закрытыми TCP портами в ответ на SYN или сканирование с установкой соединения, многие хосты ограничивают лимит ICMP сообщений о недостижимости порта по умолчанию. Linux и Solaris особенно строги в этом плане. Например, ядро Linux 2.4.20 огранивает количество таких сообщений до одного в секунду (в net/ipv4/icmp.c ).
Nmap обнаруживает такого рода ограничения и соответственно сокращает количество запросов, чтобы не забивать сеть бесполезными пакетами, которые все равно будут отброшены целевой машиной. К сожалению, при ограничении в стиле Linux (один пакет в секунду) сканирование 65,536 портов займет более 18 часов. К способам увеличения скорости UDP сканирования относятся: параллельное сканирование нескольких хостов, сканирование в первую очередь только наиболее популярных портов, сканирование из-за брандмауэра и использование —host-timeout дял пропуска медленных хостов.
-sN ; -sF ; -sX (TCP NULL, FIN и Xmas сканирования)
Эти три типа сканирования используют (другие типы сканирования доступны с использованием опции —scanflags описанной в другой секции) незаметную лазейку в TCP RFC, чтобы разделять порты на открытые и закрытые . На странице 65 RFC 793 говорится, что « если порт назначения ЗАКРЫТ . входящий сегмент не содержащий RST повлечет за собой отправку RST в ответ. » На следующей странице, где обсуждается отправка пакетов без установленных битов SYN, RST или ACK, утверждается что: « вы вряд ли с этим столкнетесь, но если столкнетесь, то сбросьте сегменти и вернитесь к исходному состоянию. »
Когда сканируется система отвечающая требованиям RFC, любой пакет, не содержащий установленного бита SYN, RST или ACK, повлечет за собой отправку RST в ответ в случае, если порт закрыт, или не повлечет никакого ответа, если порт открыт. Т.к. ни один из этих битов не установлен, то любая комбинация трех оставшихся (FIN, PSH и URG) будет являться правильной. Nmap использует это в трех типах сканирования:
Null сканирование ( -sN )
Не устанавливаются никакие биты (Флагов в TCP заголовоке 0)
FIN сканирование ( -sF )
Устанавливается только TCP FIN бит.
Xmas сканирование ( -sX )
Устанавливаются FIN, PSH и URG флаги.
Эти три типа сканирования работают по одной схеме, различия только в TCP флагах установленных в пакетах запросов. Если в ответ приходит RST пакет, то порт считается закрытым , отсутствие ответа означает, что порт открыт|фильтруется . Порт помечается как фильтруется , если в ответ приходит ICMP ошибка о недостижимости (тип 3, код 1, 2, 3, 9, 10 или 13).
Ключевой особенностью этих типов сканирования является их способность незаметно обойти некоторые не учитывающие состояние (non-stateful) брандмауэры и роутеры с функцией пакетной фильтрации. Еще одним преимуществом является то, что они даже чуть более незаметны, чем SYN сканирование. Все же не надо на это полагаться — большинство современных IDS могут быть сконфигурированы на их обнаружение. Большим недостатком является то, что не все системы следуют RFC 793 дословно. Некоторые системы посылают RST ответы на запросы не зависимо от того, открыт порт или закрыт. Это приводит к тому, что все порты помечаются как закрытые . Основными системами ведущими себя подобным образом являются Microsoft Windows, многие устройства Cisco, BSDI и IBM OS/400. Хотя такое сканирование применимо к большинству систем, основанных на Unix. Еще одним недостатком этих видов сканирования является их неспособность разделять порты на открытые и фильтруемые , т.к. порт помечается как открыт|фильтруется .
-sA (TCP ACK сканирование)
Этот тип сканирования сильно отличается от всех других тем, что он не способен определить открый порт open (или даже открытый|фильтруемый ). Он используются для выявления правил брандмауэров, определения учитывают ли он состояние или нет, а также для определения фильтруемых ими портов.
Пакет запроса при таком типе сканирования содержит установленным только ACK флаг (если не используется —scanflags ). При сканировании нефильтруемых систем, открытые и закрытые порты оба будут возвращать в ответ RST пакет. Nmap помечает их как не фильтруемые , имея ввиду, что они достижимы для ACK пакетов, но неизвестно открыты они или закрыты . Порты, которые не отвечают или посылают в ответ ICMP сообщение об ошибке (тип 3, код 1, 2, 3, 9, 10 или 13), помечаются как фильтруемые .
-sW (TCP Window сканирование)
Этот тип сканирования практически то же самое, что и ACK сканирование, за исключением того, что он использует особенности реализации различных систем для разделения портов на открытые и закрытые, вместо того, чтобы всегда при получении RST пакета выводить не фильтруется . Это осуществляется путем анализа TCP Window поля полученного в ответ RST пакета. В некоторых системах открытые порты используют положительное значение этого поля (даже в RST пакетах), а закрытые — нулевое. Поэтому вместо того, что все время при получении RST пакета в ответ помечать порты как не фильтруемые , при Window сканировании порты помечаются как открытые или закрытые , если значение поля TCP Window положительно или равно нулю соответственно.
Этот тип сканирования основывается на особенностях реализации меньшинства систем в Интернете, поэтому вы не можете все время доверять ему. В общем случае в системах, не имеющих таких особенностей, все порты будут помечаться как закрытые . Конечно, это возможно, что у машины действительно нет открытых портов. Если большинство просканированных портов закрыты , и лишь несколько распространненых портов (таких как 22, 25, 53) фильтруются , то скорее всего результатам сканирования можно доверять. Иногда, системы будут вести себя прямо противоположным образом. Если в результате сканирования будет найдено 1000 открытых портов и 3 закрытых или фильтруемых, то как раз эти 3 могут оказаться действительно открытыми.
-sM (TCP сканирование Мэймона (Maimon))
Этот тип сканирования носит имя своего первооткрывателя, Уриела Мэймона (Uriel Maimon). Он описал эту технику в журнале Phrack Magazine, выпуск #49 (Ноябрь 1996). Версия Nmap с поддержкой этого типа сканирования была выпущена через два номера. Техника практически такая же как и при NULL, FIN и Xmas сканированиях, только в качестве запросов используются запросы FIN/ACK. Согласно RFC 793 (TCP), в ответ на такой запрос должен быть сгенерирован RST пакет, если порт открыт или закрыт. Тем не менее, Уриел заметил, что многие BSD системы просто отбрасывают пакет, если порт открыт.
—scanflags (Заказное TCP сканирование)
Действительно продвинутым пользователям Nmap не нужды ограничивать себя заранее приготовленными типами сканирования. С помощью опции —scanflags вы можете разработать свой тип сканирования путем задания специфичных TCP флагов. Используйте свое воображение, обходя системы обнаружения вторжений, чьи производители просто просмотрели справочное руководство Nmap, путем задания собственных правил!
Аргументом опции —scanflags может быть числовое значение, например, 9 (PSH и FIN флаги), но использование символьных имен намного проще. Используйте любые комбинации URG , ACK , PSH , RST , SYN и FIN . Например, опцией —scanflags URGACKPSHRSTSYNFIN будут установлены все флаги, хотя это и не очень полезно для сканирования. Порядок задания флагов не имеет значения.
В добавлении к заданию желаемых флагов, вы также можете задать тип TCP сканирования (например, -sA или -sF ). Это укажет Nmap на то, как необходимо интерпретировать ответы. Например, при SYN сканировании отсутствие ответа указывает на фильтруемый порт, тогда как при FIN сканировании — на открытый|фильтруемый . Nmap будет осуществлять заданный тип сканирования, но используя указанные вами TCP флаги вместо стандартных. Если вы не указываете тип сканирования, то по умолчанию будет использоваться SYN.
-sI [ : ] («ленивое» idle сканирование)
Этот продвинутый метод сканирования позволяет осуществить действительно незаметное TCP сканирование портов цели (имеется ввиду, что никакие пакеты не отсылаются на целевую машину с вашего реального IP адерса). Вместо этого, на зомби машине используется предсказуемая последовательность генерации ID IP фрагментов для сбора информации об открытых портах цели. Системы IDS будут считать, что сканирование производится с заданной вами зомби машины (которая должна работать и удовлетворять определенным критериям). Этот тип сканирования слишком сложен для описания в этом справочном руководстве, поэтому я написал и выложил подробное описание на https://nmap.org/book/idlescan.html .
Помимо его незаметности (в силу своей природы), этот тип сканирования также позволяет определять основанные на IP доверительные отношения между машинами. Список открытых портов показывает открытые порты с точки зрения зомби машины. Поэтому вы можете попробовать просканировать цель используя различные зомби машины, которым, вы считаете, возможно будут доверять (посредством правил роутера/пакетного фильтра).
Вы можете добавить номер порта после двоеточия к зомби хосту, если хотите использовать конкретный порт. По умолчанию будет использоваться порт 80.
Порты также могут быть заданы именами, которым они соответствуют в файле nmap-services . Вы даже можете использовать шаблоны * и ? в именах. Например, чтобы просканировать ftp и все порты начинающиеся с http используйте -p ftp,http* . В таких случаях лучше брать аргументы -p в кавычки.
Диапазоны портов заключаются в квадратные скобки; будут просканированы порты из этого диапазона, встречающиеся в nmap-services . Например, с помощью следующей опции будут просканированы все порты из nmap-services равные или меньше 1024: -p [-1024] . В таких случаях лучше брать аргументы -p в кавычки.
-sO (Сканирование IP протокола)
Сканирование такого типа позволяет определить, какие IP протоколы (TCP, ICMP, IGMP и т.д.) поддерживаются целевыми машинами. Технически такое сканирование не является разновидностью сканирования портов, т.к. при нем циклически перебираются номера IP протоколов вместо номеров TCP или UDP портов. Хотя здесь все же используется опция -p для выбора номеров протоколов для сканирования, результаты выдаются в формате таблицы портов, и даже используется тот же механизм сканирования, что и при различных вариантах сканирования портов. Поэтому он достаточно близок к сканированию портов и описывается здесь.
Помимо полезности непосредственно в своей сфере применения, этот тип сканирования также демонстрирует всю мощь открытого программного обеспечения (open-source software). Хотя основная идея довольна проста, я никогда не думал включить такую функцию в Nmap, и не получал запросов на это. Затем, летом 2000-го, Джерард Риджер (Gerhard Rieger) развил эту идею, написал превосходный патч воплощающий ее и отослал его на nmap-hackers рассылку. Я включил этот патч в Nmap и на следующий день выпустил новую версию. Лишь единицы комерческого программного обеспечения могут похвастаться пользователями, достаточно полными энтузиазма для разработки и предоставления своих улучшений!
Способ работы этого типа сканирования очень похож на реализованный в UDP сканировании. Вместо того, чтобы изменять в UDP пакете поле, содержащее номер порта, отсылаются заголовки IP пакета, и изменяется 8 битное поле IP протокола. Заголовки обычно пустые, не содержащие никаких данных и даже правильного заголовка для требуемого протокола. Исключениями явлются TCP, UDP и ICMP. Включение правильного заголовка для этих протоколов необходимо, т.к. в обратном случае некоторые системы не будут их отсылать, да и у Nmap есть все необходимые функции для их создания. Вместо того, чтобы ожидать в ответ ICMP сообщение о недостижимости порта, этот тип сканирования ожидает ICMP сообщение о недостижимости протокола . Если Nmap получает любой ответ по любому протоколу, то протокол помечается как открытый . ICMP ошибка о неостижимости протокола (тип 3, код 2) помечает протокол как закрытый . Другие ICMP ошибки недостижимости (тип 3, код 1, 3, 9, 10 или 13) помечают протокол как фильтруемый (в то же время они показывают, что протокол ICMP открыт ). Если не приходит никакого ответа после нескольких запросов, то протокол помечается как открыт|фильтруется
. -b (FTP bounce сканирование)
Интересной возможностью FTP протокола (RFC 959) является поддержка так называемых прокси FTP соединений. Это позволяет пользователю подключиться к одному FTP серверу, а затем попросить его передать файлы другому. Это является грубым нарушением, поэтому многие сервера прекратили поддерживать эту функцию. Используя эту функцию, можно осуществить с помощью данного FTP сервера сканирование портов других хостов. Просто попросите FTP сервер переслать файл на каждый интересующий вас порт целевой машины по очереди. Сообщение об ошибке укажет: открыт порт или нет. Это хороший способ обхода брандмауэров, т.к. организационные FTP сервера обычно имеют больше доступа к другим внутренним хостам, чем какие-либо другие машины. В Nmap такой тип сканирования задается опцией -b . В качестве аргумента ей передается : @ : . — это сетевое имя или IP адрес FTP сервера. Как и в случае в обычными URL, вы можете опустить : , тогда будут использованы анонимные данные (пользователь: anonymous пароль: -wwwuser@ ). Номер порта (и предшествующее ему двоеточие) также можно не указывать; тогда будет использован FTP порт по умолчанию (21) для подключения к .
Эта уязвимость была широко распространена в 1997, когда была выпущена Nmap, но теперь почти везде исправлена. Уязвимые сервера по-прежнему есть, так что, если ничего другое не помогает, то стоит попробовать. Если вашей целью является обход бранмауэра, то просканируйте целевую сеть на наличие открытого порта 21 (или даже на наличие любых FTP служб, если вы используете определение версии), а затем попробуйте данный тип сканирования с каждым из найденных. Nmap скажет вам, уязвим хост или нет. Если вы просто пытаетесь замести следы, то вам нет необходимости (и, фактически, не следует) ограничивать себя только хостами целевой сети. Перед тем как вы начнете сканировать произвольные Интернет адреса на наличие уязвимого FTP сервера, имейте ввиду, что многим системным администраторам это не понравится.