[ Attackers.io.ua © 2009 ] ALL WEB IN HERE...

 

Сканирование портов




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


Простейший вариант - это программы типа SATAN (Security Analysis Tool for Auditing Networks), которые устанавливают соединение с каждым TCP-портом, открывая полное TCP-соединение. Преимущества этого метода заключаются в том, что пользователю, занимающемуся сканированием, не нужно самому составлять ip-пакет, который будет использован для сканирования, потому что он использует стандартные системные вызовы, и ему не нужен доступ администратора ( обычно нужен, чтобы использовать SOCK_RAW или открывать /dev/bpf, /dev/nit и т.д.). Недостатком этого метода заключается в том, что его легче обнаружить, причем несколькими способами,в частности TCP Wrapper'ами by Wietse Venema. Для устранения этого недостатка были придуманы методы сканирования без установления полного TCP-соединения, т.н. 'полуоткрытое сканирование'.
Процесс установки TCP-соединения состоит из трех фаз: сторона, устанавливающая соединение, сначала посылает TCP-пакет с установленным флагом SYN, после чего принимающая сторона посылает TCP-пакет с установленными флагами SYN и ACK в случае, если порт открыт, или сбрасывает соединение с флагом RST если порт не активен. Третья фаза происходит когда сторона,устанавливающая соединение,посылает финальный TCP-пакет с установленным флагом ACK ( само собой все эти пакеты имеют соответствующие sequence- и ack-номера, и т.д. ). Теперь соединение установлено.
Сканирования с SYN-флагом.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SYN-сканер посылает только первый пакет из трех и ждет SYN|ACK или RST. Когда он получит либо то, либо другое, он будет знать, активен этот порт или нет. Основное преимущество этого метода заключается в том,что он не обнаруживается программами типа "SATAN" или TCP Wrappers by Wietse Venema. Основные недостатки этого метода:
Этот метод обнаруживается некоторыми программами,которые проверяют попытки коннекта с SYN-флагом ( например tcplog ), а также он обнаруживается netstat(1)'ом.
Сторона,устанавливающая соединение, обычно должна составлять весь IP-пакет. Для этого необходимо иметь доступ к SOCK_RAW ( в большинстве операционных систем: getprotbyname('raw') ) или /dev/bpf (Berkeley Packet Filter), /dev/nit (Sun 'Network Interface Tap') и т.д. Для этого необходимо, как правило, иметь уровень администратора.
Stealth-сканирование.
~~~~~~~~~~~~~~~~~~~~~~~~
Этот метод основан на некорректном сетевом коде в BSD. Учитывая то,что в большинстве операционных систем используется BSD'шный сетевой код или производный от него,этот способ работает на большинстве систем ( наиболее очевидное исключение - маршрутиризаторы Cisco ). Этот метод трудно обнаружить. Даже зная сам метод, разработка обнаруживающего алгоритма весьма проблематична без устранения самой ошибки. Недостатки этого способа: Этот метод основан на ошибках в сетевом коде. Это значит, что возможно, а точнее скорее всего, эти ошибки будут исправлены. Например в OpenBSD это уже исправлено. Нельзя поручиться, что этот способ будет нормально работать в конкретной обстановке. Результаты могут быть разными в зависимости от платформы и операционной системы, т.е. этот способ не вполне надежен.
Используются TCP пакеты с установленными ACK и FIN флагами.Их надо использовать,потому что,если такой пакет послать в порт при неоткрытом соединении,всегда возвратится пакет с флагом RST. Существуют несколько методов, использующих этот принцип:
метод #1:
Послать FIN-пакет. Если принимающий хост возвращает RST, значит порт неактивен,если RST не возвращается, значит порт активен. Учитывая тот факт, что этот метод работает на таком количестве хостов, это - грустное свидетельство тому, какой некорректный сетевой код в большинстве операционных систем.
метод #2
Послать ACK-пакет. Если TTL возвращаемых пакетов меньше, чем в остальных полученных RST-пакетах, или если размер окна больше нуля, то скорее всего порт активен.


Создан 18 дек 2009



  Комментарии       
Имя или Email


При указании email на него будут отправляться ответы
Как имя будет использована первая часть email до @
Сам email нигде не отображается!
Зарегистрируйтесь, чтобы писать под своим ником
 





DaMaGeLaB Pro-Hack.Ru XakNet TeaM InAttack BlackHack.Ru The Mafia
k0d.cc GraBBerZ.CoM BruteR.InfO Планету-ХаКеРаМ Defeated.Ru
World UNIX SecNull.Org CardersPlanet.Biz