Сканирование портов.
Сканирование портов.
Одним из наиболее распространенных способов идентификации сетевых сервисов является сканирование портов. Дело в том, что за многими распространенными приложениями закреплены определенные номера портов и протоколы транспортного уровня. Так, HTTP использует порт 80, FTP – 20 и 21, а SSH – 22 и т. д. И хотя значения портов по умолчанию можно легко изменить, но все же открытый порт с определенным номером является верным признаком того, что на узле работает именно данное приложение. Остается только определить, какие порты открыты на узле. Задача идентификации статуса порта может решаться несколькими способами. Например, с установлением соединения и без такового. Далее рассматриваются некоторые из них.
Сканирование с установлением соединения.
Для того чтобы убедиться в том, что порт ТСР открыт, достаточно попытаться установить с ним соединение. Обычно для этой цели используются возможности операционной системы. Как в состав Windows, так и Unix входит утилита telnet, c помощью которой можно обратиться к узлу на порт с определенным номером. В случае отклика узла можно сделать вывод о том, что нужный порт открыт. Однако у такого метода есть ряд недостатков.
В частности, в операционной системе реализация ТСР, как правило, представляет собой отдельный драйвер, а интерфейс между прикладным процессом и ТСР представляет собой набор системных вызовов, с помощью которых можно открыть или закрыть соединение, отправить или принять данные. Однако в последних версиях ОС Windows на уровне драйверов операционной системы появились ограничения на работу с сетевыми портами. И вполневозможна ситуация, когда после очередного обновления Windows 7 не даст установить соединение по порту, который ей покажется подозрительным. Что
касается непосредственно утилиты telnet, то ее использование для последовательного сканирования портов является крайне неудобным, так как она работает очень медленно.
Также для установления ТСР-соединения может быть использован интерфейс сокетов (функция connect()). После установления соединения его можно тут же разорвать штатным образом.
Перед тем как перейти к рассмотрению различных методов сканирования, вспомним, как происходит установление соединения в TCP. Я не буду приводить детальное описание всех шагов, просто представлю графическую иллюстрацию.
На основании приведенных технологических особенностей TCP handshake возможны несколько способов сканирования портов, некоторые из которых мы рассмотрим далее.
SYN-сканирование.
Как и у других методов анализа сети, у сканирования с установлением соединения имеются свои плюсы и минусы. К плюсам можно отнести следующее:
использование штатных возможностей ОС, отсутствие необходимости установки каких-либо дополнительных сетевых драйверов и библиотек;
высокая достоверность; если соединение удалось установить, значит, порт непременно открыт.
К недостаткам этого метода обычно относят:
недостаточную производительность;
невозможность определения факта фильтрации порта;
вероятность появления дополнительных ограничений на работу с сетевыми соединениями на уровне операционной системы.
В качестве альтернативы сканированию с установлением соединения рассмотрим SYN-сканирование.
SYN-сканирование обладает несколько большей производительностью, поскольку с тестируемым портом не устанавливается полноценное TCP-соединение. Сканирующий узел (А) отправляет SYN-пакет, как бы намереваясь установить соединение, и ожидает ответа. Наличие флагов SYN|ACK в ответе, приведшем от узла В, указывает на то, что порт открыт, а флаги RST|ACK в ответе означают обратное.
Если же в ответ не пришло ничего (но при этом известно, что узел включен), то это означает, что порт фильтруется. В случае если точно определили, что узел присутствует в сети, то отсутствие ответа однозначно может идентифицироваться как наличие фильтрации в сети. Соответственно, таким образом злоумышленник может узнать, какой именно трафик фильтруется в сети, и попытаться обойти это ограничение, применив другой способ сканирования.
Разумеется, для проведения подобного сканирования необходимо использовать механизм генерации сетевых пакетов и анализа приходящих ответов. Этот функционал стандартные утилиты операционной системы не предоставляют, и соответственно здесь необходимы дополнительные средства. Этим, кстати, можно объяснить тот факт, по после получения пакета SYN/ACK в ответ отправляется RST-пакет для сброса еще не установленного соединения (эту операцию выполняет операционная система).
Сканирование портов UDP.
Данный метод используется для определения, какие UDP-порты на сканируемом узле являются открытыми. На требуемый порт сканируемой машины отправляется UDP-пакет (обычно пустой). Если в ответ было получено ICMP-сообщение «Destination Unreachable», это означает, что порт закрыт.
В противном случае (нет ответа) считается, что сканируемый порт открыт.
С UDP-сканированием связаны следующие проблемы:
возможная потеря UDP-пакетов. В этом случае ответ также не будет получен, и порту может быть ошибочно присвоен статус «открыт»;
высокая степень вероятности фильтрации UDP или (и) ICMP-трафика.
Результат тот же, что и в предыдущем случае, – порт может быть ошибочно посчитан открытым.
Все это приводит к тому, что в случае неполучения ответа от узла нельзя быть уверенным в том, что порт открыт. Первая проблема решается введением двух параметров, которыми можно регулировать достоверность UDP-сканирования:
количество посылаемых UDP-пакетов;
время ожидания ответа.
Вторая проблема гораздо сложнее. Для ее решения разработчики сканеров используют различные усовершенствования. Вот, например, один из таких способов.
Перед сканированием заданных пользователем портов UDP-сканер проводит UDP-сканирование портов из начала диапазона 1–65 535 (230–240), из середины диапазона (2050–2060) и из конца диапазона (45 270–45 280). Как видно, выбранные порты с большой долей вероятности окажутся закрытыми.
Далее мы рассмотрим утилиту, позволяющую использовать различные методы для осуществления сканирования.
Допустим, мы хотим произвести сканирование портов на машине 192.168.10.2.
Можно воспользоваться уже знакомой нам по предыдущему материалу утилитой NMAP.
Для поиска открытых портов на заданной машине используется следующий синтаксис.
nmap -sS 192.168.10.2 -n
Здесь наибольший интерес представляет ключ -sS. Заглавная S указывает на необходимость использования SYN-сканирования. В случае если нужно использовать установление соединения, синтаксис команды будет следующий:
nmap -sT 192.168.10.2 -n
Для UDP-сканирования необходимо указать:
nmap -sU 192.168.10.2 -n
Сканирование портов - это лишь одна из возможностей утилиты Nmap, поэтому к ней мы будем еще неоднократно возвращаться.
Петухов Олег, юрист в области международного права и защиты персональных данных, специалист в области информационной безопасности, защиты информации и персональных данных.
Телеграм-канал: https://t.me/zashchitainformacii
Группа в Телеграм: https://t.me/zashchitainformacii1
Сайт: https://legascom.ru
Электронная почта: online@legascom.ru
#защитаинформации #информационнаябезопасность
Port scanning.
One of the most common ways to identify network services is by scanning ports. The fact is that many common applications have specific port numbers and transport layer protocols assigned to them. So, HTTP uses port 80, FTP uses port 20 and 21, and SSH uses port 22, etc. And although the default port values can be easily changed, an open port with a certain number is a sure sign that this particular application is running on the node. It only remains to determine which ports are open on the node. The task of identifying the port status can be solved in several ways. For example, with and without establishing a connection. Some of them are discussed below.
Scanning with connection establishment.
In order to make sure that the TCP port is open, it is enough to try to establish a connection with it. The capabilities of the operating system are usually used for this purpose. Both Windows and Unix include the telnet utility, which allows you to access a node on a port with a specific number. If the node responds, it can be concluded that the desired port is open. However, this method has a number of disadvantages.
In particular, in an operating system, the TCP implementation is usually a separate driver, and the interface between the application process and the TCP is a set of system calls that can be used to open or close a connection, send or receive data. However, in recent versions of Windows, there are restrictions on working with network ports at the operating system driver level. And it is completely possible that after the next update, Windows 7 will not allow you to establish a connection on a port that it finds suspicious. What
As for the telnet utility itself, using it for serial port scanning is extremely inconvenient, since it works very slowly.
The sockets interface (connect() function) can also be used to establish a TCP connection. After the connection is established, it can be immediately terminated in the usual way.
Before proceeding to the various scanning methods, let's recall how a TCP connection is established. I will not provide a detailed description of all the steps, just provide a graphic illustration.
Based on the above technological features of TCP handshake, several port scanning methods are possible, some of which we will consider further.
SYN scan.
Like other network analysis methods, connection-based scanning has its pros and cons. The advantages include the following:
the use of standard OS features, the absence of the need to install any additional network drivers and libraries.;
high reliability; if the connection has been established, it means that the port is certainly open.
The disadvantages of this method usually include:
insufficient performance;
inability to determine the fact of port filtering;
the possibility of additional restrictions on working with network connections at the operating system level.
As an alternative to connection-based scanning, consider SYN scanning.
SYN scanning has slightly higher performance because a full TCP connection is not established with the tested port. The scanning node (A) sends a SYN packet, as if intending to establish a connection, and waits for a response. The presence of SYN|ACK flags in the response from node B indicates that the port is open, while the RST|ACK flags in the response mean the opposite.
If nothing has been received in response (but it is known that the node is turned on), this means that the port is being filtered. If it is accurately determined that the node is present in the network, then the absence of a response can be unambiguously identified as the presence of filtering in the network. Accordingly, in this way, an attacker can find out exactly which traffic is being filtered on the network and try to circumvent this restriction by using another scanning method.
Of course, to perform such a scan, it is necessary to use a mechanism for generating network packets and analyzing incoming responses. The standard operating system utilities do not provide this functionality, and accordingly additional funds are needed here. This, by the way, can explain the fact that after receiving the SYN/ACK packet, an RST packet is sent in response to reset the connection that has not yet been established (this operation is performed by the operating system).
UDP port scanning.
This method is used to determine which UDP ports on the scanned node are open. A UDP packet (usually empty) is sent to the required port of the scanned machine. If the ICMP message "Destination Unreachable" was received in response, it means that the port is closed.
Otherwise (there is no response), it is assumed that the scanned port is open.
The following problems are associated with UDP scanning:
possible loss of UDP packets. In this case, no response will be received either, and the port may be mistakenly assigned the "open" status;
there is a high probability of filtering UDP or (and) ICMP traffic.
The result is the same as in the previous case – the port may be mistakenly considered open.
All this leads to the fact that if you do not receive a response from the node, you cannot be sure that the port is open. The first problem is solved by introducing two parameters that can be used to regulate the reliability of UDP scanning:
the number of UDP packets sent.;
waiting time for a response.
The second problem is much more complicated. To solve it, scanner developers use various improvements. Here, for example, is one of these methods.
Before scanning user-defined ports, the UDP scanner performs a UDP scan of ports from the beginning of the range 1-65 535 (230-240), from the middle of the range (2050-2060) and from the end of the range (45 270-45 280). As you can see, the selected ports are very likely to be closed.
Next, we will look at a utility that allows you to use various methods to perform scanning.
Let's say we want to perform a port scan on the 192.168.10.2 machine.
We can use the NMAP utility, which we already know from the previous material.
The following syntax is used to search for open ports on a given machine.
nmap -sS 192.168.10.2 -n
The key of greatest interest here is sS. The capital S indicates the need to use a SYN scan. If you need to use connection establishment, the command syntax will be as follows:
nmap -sT 192.168.10.2 -n
For UDP scanning, you must specify:
nmap -sU 192.168.10.2 -n
Port scanning is just one of the features of the Nmap utility, so we will return to it more than once.
Oleg Petukhov, lawyer in the field of international law and personal data protection, information security specialist security, protection of information and personal data.
Telegram channel: https://t.me/protectioninformation
Telegram Group: https://t.me/informationprotection1
Website: https://legascom.ru
Email: online@legascom.ru
#informationprotection #informationsecurity
Port-Scan.
Eine der häufigsten Methoden zur Identifizierung von Netzwerkdiensten ist das Portscannen. Tatsache ist, dass viele gängige Anwendungen bestimmte Portnummern und Transportschichtprotokolle enthalten. So verwendet HTTP Port 80, FTP – 20 und 21 und SSH – 22 usw. Obwohl die Standardportwerte leicht geändert werden können, ist ein offener Port mit einer bestimmten Nummer dennoch ein sicheres Zeichen dafür, dass diese Anwendung auf dem Host ausgeführt wird. Es bleibt nur zu bestimmen, welche Ports auf dem Knoten geöffnet sind. Es gibt verschiedene Möglichkeiten, den Portstatus zu identifizieren. Zum Beispiel mit und ohne Verbindung. Im Folgenden werden einige von ihnen behandelt.
Scannen mit Verbindungsaufbau.
Um sicherzustellen, dass der TCP-Port geöffnet ist, müssen Sie nur versuchen, eine Verbindung mit dem TCP-Port herzustellen. Normalerweise werden die Funktionen des Betriebssystems für diesen Zweck verwendet. Sowohl Windows als auch Unix enthalten ein Telnet-Dienstprogramm, mit dem Sie auf einen Host mit einer bestimmten Portnummer zugreifen können. Wenn der Host reagiert, können Sie feststellen, dass der gewünschte Port geöffnet ist. Diese Methode hat jedoch eine Reihe von Nachteilen.
Insbesondere in einem Betriebssystem ist die Implementierung eines TSR in der Regel ein separater Treiber, und die Schnittstelle zwischen einem Anwendungsprozess und einem TSR ist eine Reihe von Systemaufrufen, mit denen Sie eine Verbindung öffnen oder schließen, Daten senden oder empfangen können. In neueren Versionen von Windows gibt es jedoch Einschränkungen bei der Arbeit mit Netzwerkanschlüssen auf der Treiberebene des Betriebssystems. Und es ist durchaus möglich, dass nach dem nächsten Update von Windows 7 keine Verbindung über einen Port hergestellt wird, der ihm verdächtig erscheint. Was
für das Telnet-Dienstprogramm ist die Verwendung für serielle Port-Scans äußerst umständlich, da es sehr langsam läuft.
Sie können auch eine Socket-Schnittstelle (connect() -Funktion) verwenden, um eine TSR-Verbindung herzustellen. Sobald die Verbindung hergestellt ist, kann sie sofort in normaler Weise abgebrochen werden.
Bevor wir uns mit den verschiedenen Scanmethoden befassen, sollten wir uns daran erinnern, wie eine TCP-Verbindung hergestellt wird. Ich werde keine detaillierte Beschreibung aller Schritte angeben, ich werde nur eine grafische Illustration präsentieren.
Basierend auf diesen technologischen Merkmalen von TCP Handshake gibt es mehrere Möglichkeiten, Ports zu scannen, von denen einige weiter unten behandelt werden.
SYN-Scan.
Wie bei anderen Methoden zur Netzwerkanalyse haben auch bei der Verbindungsüberprüfung Vor- und Nachteile. Die Vorteile umfassen Folgendes:
verwenden Sie die Standardfunktionen des Betriebssystems, ohne dass zusätzliche Netzwerktreiber und Bibliotheken installiert werden müssen;
hohe Zuverlässigkeit; Wenn die Verbindung hergestellt werden konnte, ist der Port sicher geöffnet.
Die Nachteile dieser Methode sind normalerweise:
unzureichende Leistung;
die Portfilterung kann nicht ermittelt werden;
es besteht die Möglichkeit, dass zusätzliche Einschränkungen bei der Arbeit mit Netzwerkverbindungen auf Betriebssystemebene auftreten.
Als Alternative zum Verbindungsscan sollten Sie einen SYN-Scan verwenden.
Der SYN-Scan hat eine etwas höhere Leistung, da keine vollwertige TCP-Verbindung mit dem zu testenden Port hergestellt wird. Der Scan-Host (A) sendet ein SYN-Paket, als ob er beabsichtigt, eine Verbindung herzustellen, und wartet auf eine Antwort. Das Vorhandensein von SYN|ACK-Flags in der Antwort von Knoten B zeigt an, dass der Port geöffnet ist, und die RST|ACK-Flags in der Antwort bedeuten das Gegenteil.
Wenn nichts als Antwort eingeht (aber es ist bekannt, dass der Knoten eingeschaltet ist), bedeutet dies, dass der Port gefiltert wird. Wenn Sie genau festgestellt haben, dass ein Knoten im Netzwerk vorhanden ist, kann das Fehlen einer Antwort eindeutig als das Vorhandensein einer Filterung im Netzwerk identifiziert werden. Auf diese Weise kann ein Angreifer herausfinden, welcher Datenverkehr im Netzwerk gefiltert wird, und versuchen, diese Einschränkung zu umgehen, indem er eine andere Scanmethode anwendet.
Natürlich müssen Sie einen Mechanismus zum Generieren von Netzwerkpaketen und zur Analyse eingehender Antworten verwenden, um einen solchen Scan durchzuführen. Diese Funktionalität wird von den Standard-Dienstprogrammen des Betriebssystems nicht bereitgestellt, und dementsprechend sind hier zusätzliche Tools erforderlich. Dies kann übrigens durch die Tatsache erklärt werden, dass die Software nach Erhalt des SYN / ACK-Pakets als Antwort ein RST-Paket sendet, um eine noch nicht installierte Verbindung zurückzusetzen (dies wird vom Betriebssystem ausgeführt).
UDP-Port-Scan.
Verwenden Sie diese Methode, um zu bestimmen, welche UDP-Ports auf dem gescannten Knoten geöffnet sind. Ein UDP-Paket wird an den gewünschten Port der gescannten Maschine gesendet (normalerweise ein leeres Paket). Wenn die ICMP-Nachricht «Destination Unreachable» als Antwort erhalten wurde, bedeutet dies, dass der Port geschlossen ist.
Andernfalls (keine Antwort) wird angenommen, dass der zu scannende Port geöffnet ist.
Die folgenden Probleme sind mit dem UDP-Scan verbunden:
möglicher Verlust von UDP-Paketen. In diesem Fall wird auch keine Antwort erhalten, und der Port kann fälschlicherweise als «geöffnet" eingestuft werden;
die Wahrscheinlichkeit, dass UDP- oder /oder ICMP-Datenverkehr gefiltert wird, ist hoch.
Das Ergebnis ist das gleiche wie im vorherigen Fall – der Port kann fälschlicherweise als offen angesehen werden.
All dies führt dazu, dass Sie nicht sicher sein können, ob der Port geöffnet ist, wenn die Antwort vom Knoten nicht erreicht wird. Das erste Problem wird durch die Einführung von zwei Parametern gelöst, mit denen Sie die Gültigkeit eines UDP-Scans einstellen können:
anzahl der zu sendenden UDP-Pakete;
wartezeit für eine Antwort.
Das zweite Problem ist viel komplizierter. Scanner-Entwickler verwenden verschiedene Verbesserungen, um es zu lösen. Hier ist zum Beispiel eine solche Methode.
Vor dem Scannen benutzerdefinierter Ports führt der UDP-Scanner UDP-Ports vom Anfang des Bereichs 1-65.535 (230-240), von der Mitte des Bereichs (2050-2060) und vom Ende des Bereichs (45 270-45 280) aus durch. Wie Sie sehen können, sind die ausgewählten Ports wahrscheinlich geschlossen.
Als nächstes betrachten wir ein Dienstprogramm, mit dem Sie verschiedene Methoden zum Scannen verwenden können.
Nehmen wir an, wir möchten einen Port-Scan auf einer Maschine von 192.168.10.2 durchführen.
Sie können das bereits aus früheren Quellen bekannte NMAP-Dienstprogramm verwenden.
Verwenden Sie die folgende Syntax, um nach offenen Ports auf einer bestimmten Maschine zu suchen.
nmap -sS 192.168.10.2 -n
Hier ist der Schlüssel -sS am interessantesten. Das Großbuchstaben S gibt an, dass ein SYN-Scan verwendet werden muss. Wenn Sie die Verbindungsherstellung verwenden möchten, lautet die Befehlssyntax wie folgt:
nmap -sT 192.168.10.2 -n
Für den UDP-Scan muss Folgendes angegeben werden:
nmap -sU 192.168.10.2 -n
Port-Scans sind nur eine der Funktionen von Nmap, daher werden wir immer wieder darauf zurückgreifen.
Oleg Petukhov, Rechtsanwalt im Bereich des Völkerrechts und des Schutzes personenbezogener Daten, Spezialist für Informationstechnik sicherheit, Schutz von Informationen und persönlichen Daten.
Telegramm-Kanal: https://t.me/datenschutzmit
Die Gruppe im Telegramm: https://t.me/datenschutzmit1
Website: https://legascom.ru
E-Mail: online@legascom.ru
#informationssicherheit #informationssicherheit
Analyse des ports.
L'un des moyens les plus courants d'identifier les services réseau consiste à analyser les ports. Le fait est que de nombreuses applications courantes ont des numéros de port et des protocoles de couche de transport spécifiques. Ainsi, HTTP utilise le port 80, FTP – 20 et 21, et SSH – 22, etc. et bien que les valeurs de port par défaut peuvent être facilement modifiées, mais un port ouvert avec un certain numéro est un signe certain que cette application est en cours d'exécution sur l'hôte. Il ne reste plus qu'à déterminer quels ports sont ouverts sur l'hôte. Le problème de l'identification de l'état du port peut être résolu de plusieurs manières. Par exemple, avec et sans connexion. Certains d'entre eux sont examinés ci-après.
Numérisation avec connexion.
Pour vérifier que le port TCP est ouvert, il suffit d'essayer d'établir une connexion avec celui-ci. Les fonctionnalités du système d'exploitation sont généralement utilisées à cette fin. Windows et Unix incluent l'utilitaire telnet, avec lequel vous pouvez accéder à un hôte sur un port avec un numéro spécifique. En cas de réponse d'un hôte, vous pouvez conclure que le port souhaité est ouvert. Cependant, cette méthode présente un certain nombre d'inconvénients.
En particulier, dans le système d'exploitation, l'implémentation du TCP est généralement un pilote séparé, et l'interface entre le processus d'application et le TCP est un ensemble d'appels système permettant d'ouvrir ou de fermer une connexion, d'envoyer ou de recevoir des données. Toutefois, dans les versions récentes de Windows, il existe des restrictions sur les ports réseau au niveau du pilote du système d'exploitation. Et il est tout à fait possible que, après la prochaine mise à jour de Windows 7 ne permettra pas d'établir une connexion sur un port qui lui semblera suspect. Que en ce qui concerne directement l'utilitaire telnet, son utilisation pour l'analyse séquentielle des ports est extrêmement inconfortable, car elle fonctionne très lentement.
L'interface socket (fonction connect ()) peut également être utilisée pour établir une connexion TCP. Une fois la connexion établie, il peut être immédiatement rompu.
Avant de passer à l'examen des différentes méthodes de numérisation, rappelez-vous comment la connexion est établie dans TCP. Je ne donnerai pas une Description détaillée de toutes les étapes, je présenterai simplement une illustration graphique.
Sur la base des caractéristiques technologiques de TCP handshake, plusieurs méthodes de numérisation de ports sont possibles, dont certaines seront examinées plus loin.
Balayage SYN.
Comme d'autres méthodes d'analyse de réseau, l'analyse de connexion présente des avantages et des inconvénients. Les avantages comprennent les suivants:
utilisation des fonctionnalités standard du système d'exploitation, pas besoin d'installer des pilotes et des bibliothèques réseau supplémentaires;
haute fiabilité; si la connexion a pu être établie, le port est certainement ouvert.
Les inconvénients de cette méthode comprennent généralement:
performance insuffisante;
impossible de déterminer le fait de filtrer le port;
possibilité de restrictions supplémentaires sur les connexions réseau au niveau du système d'exploitation.
Comme alternative à l'analyse par connexion, envisagez l'analyse SYN.
L'analyse SYN offre des performances légèrement supérieures, car aucune connexion TCP complète n'est établie avec le port testé. Le (S) nœud (s) d'analyse envoie le paquet SYN, comme s'il avait l'intention d'établir une connexion, et attend une réponse. La présence des drapeaux SYN|ACK dans la réponse du nœud B indique que le port est ouvert et les drapeaux RST / ACK dans la réponse indiquent le contraire.
Si rien n'est arrivé en réponse (mais que l'hôte est activé), cela signifie que le port est filtré. Dans le cas où il est déterminé avec précision qu'un nœud est présent sur le réseau, l'absence de réponse peut être clairement identifiée comme la présence d'un filtrage sur le réseau. Par conséquent, un attaquant pourrait ainsi savoir quel trafic est filtré sur le réseau et tenter de contourner cette restriction en utilisant une autre méthode d'analyse.
Bien entendu, pour effectuer une telle analyse, vous devez utiliser le mécanisme de génération de paquets réseau et d'analyse des réponses reçues. Cette fonctionnalité n'est pas fournie par les utilitaires standard du système d'exploitation et, par conséquent, des outils supplémentaires sont nécessaires. Ceci, en passant, peut expliquer le fait que, après avoir reçu le paquet SYN/ACK, un paquet RST est envoyé en réponse pour réinitialiser la connexion non encore établie (cette opération est effectuée par le système d'exploitation).
Analyse des ports UDP.
Cette méthode permet de déterminer quels ports UDP sur l'hôte analysé sont ouverts. Un paquet UDP (généralement vide) est envoyé au port requis de la machine à analyser. Si le message ICMP «Destination Unreachable» a été reçu en réponse, cela signifie que le port est fermé.
Dans le cas contraire (pas de réponse), le port scanné est considéré comme ouvert.
Les problèmes suivants sont associés à l'analyse UDP:
perte possible de paquets UDP. Dans ce cas, la réponse ne sera pas non plus reçue et le port risque de se voir attribuer par erreur le statut «ouvert»;
haute probabilité de filtrage du trafic UDP ou ICMP.
Le résultat est le même que dans le cas précédent – le port peut être considéré à tort comme ouvert.
Tout cela conduit au fait que si vous ne recevez pas de réponse de l'hôte, vous ne pouvez pas être sûr que le port est ouvert. Le premier problème est résolu par l'introduction de deux paramètres permettant de contrôler la validité de l'analyse UDP:
nombre de paquets UDP envoyés;
délai d'attente de réponse.
Le deuxième problème est beaucoup plus compliqué. Pour le résoudre, les développeurs de scanners utilisent diverses améliorations. Voici, par exemple, l'une de ces méthodes.
Avant d'analyser les ports UDP définis par l'utilisateur, le scanner effectue une analyse UDP des ports du début de la plage 1-65 535 (230-240), du milieu de la plage (2050-2060) et de la fin de la plage (45 270-45 280). Comme vous pouvez le voir, les ports sélectionnés sont très susceptibles d'être fermés.
Ensuite, nous examinerons un utilitaire qui vous permet d'utiliser différentes méthodes pour effectuer l'analyse.
Disons que nous voulons analyser les ports sur la machine 192.168.10.2.
Vous pouvez utiliser l'utilitaire Nmap que nous connaissons déjà dans LE matériel précédent.
La syntaxe suivante est utilisée pour rechercher les ports ouverts sur la machine spécifiée.
nmap -sS 192.168.10.2 -n
Ici, le plus grand intérêt est la clé-SS. Le S majuscule indique la nécessité d'utiliser le balayage SYN. Si vous souhaitez utiliser la connexion, la syntaxe de la commande est la suivante:
nmap -sT 192.168.10.2 -n
Pour l'analyse UDP, vous devez spécifier:
nmap -sU 192.168.10.2 -n
L'analyse des ports n'est qu'une des fonctionnalités de l'utilitaire Nmap, nous y reviendrons à plusieurs reprises.
Petukhov Oleg, avocat en droit international et protection des renseignements personnels, spécialiste de l'information sécurité, protection de l'information et des données personnelles.
Canal Telegram: https://t.me/protecciondelainformacion
Groupe au Télégramme: https://t.me/securiteinformatique2
Site: https://legascom.ru
Courriel: online@legascom.ru
#sécuritéinformations #informationsécurité
Analyse des ports.
L'une des façons les plus courantes d'identifier les services réseau est d'analyser les ports. Le fait est que de nombreuses applications courantes ont des numéros de port et des protocoles de couche de transport spécifiques. Ainsi, HTTP utilise le port 80, FTP – 20 et 21, et SSH – 22, etc. et bien que les valeurs de port par défaut puissent être facilement modifiées, mais un port ouvert avec un certain numéro est un signe certain que cette application est en cours d'exécution sur l'hôte. Il ne reste plus qu'à déterminer quels ports sont ouverts sur l'hôte. Le problème de l'identification de l'état du port peut être résolu de plusieurs manières. Par exemple, avec et sans connexion. Certains d'entre eux sont examinés ci-après.
Numérisation avec connexion.
Pour vérifier que le port TCP est ouvert, il suffit d'essayer d'établir une connexion avec celui-ci. Les fonctionnalités du système d'exploitation sont généralement utilisées à cette fin. Windows et Unix incluent l'utilitaire telnet, avec lequel vous pouvez accéder à un hôte sur un port avec un numéro spécifique. Si un hôte répond, vous pouvez conclure que le port souhaité est ouvert. Cependant, cette méthode présente un certain nombre d'inconvénients.
En particulier, dans le système d'exploitation, l'implémentation du TCP est généralement un pilote distinct, et l'interface entre le processus d'application et le TCP est un ensemble d'appels système permettant d'ouvrir ou de fermer une connexion, d'envoyer ou de recevoir des données. Toutefois, dans les versions récentes de Windows, il existe des restrictions sur les ports réseau au niveau du pilote du système d'exploitation. Et il est tout à fait possible qu'après la prochaine mise à jour de Windows 7 ne permettra pas d'établir une connexion sur un port qui lui semblera suspect. Qu'en ce qui concerne directement l'utilitaire telnet, son utilisation pour l'analyse séquentielle des ports est extrêmement inconfortable, car elle fonctionne très lentement.
L'interface de prise (fonction connect()) peut également être utilisée pour établir une connexion TCP. Une fois la connexion établie, il peut être immédiatement rompu.
Avant de passer à l'examen des différentes méthodes de numérisation, rappelez-vous comment la connexion est établie dans TCP. Je ne donnerai pas une description détaillée de toutes les étapes, je vais simplement présenter une illustration graphique.
Sur la base des caractéristiques technologiques de TCP handshake, plusieurs méthodes de numérisation de ports sont possibles, dont certaines seront examinées plus loin.
Balayage SYN.
Comme d'autres méthodes d'analyse de réseau, l'analyse de connexion présente des avantages et des inconvénients. Les avantages incluent les suivants:
utilisation des fonctionnalités standards du système d'exploitation, pas besoin d'installer des pilotes et des bibliothèques réseau supplémentaires;
fiabilité élevée; si la connexion a pu être établie, le port est certainement ouvert.
Les inconvénients de cette méthode comprennent généralement:
rendement insuffisant;
impossible de déterminer le fait de filtrer le port;
possibilité de restrictions supplémentaires sur les connexions réseau au niveau du système d'exploitation.
Comme alternative à l'analyse par connexion, envisagez l'analyse SYN.
L'analyse SYN offre des performances légèrement supérieures, car aucune connexion TCP complète n'est établie avec le port testé. Le nœud (S) d'analyse envoie le paquet SYN, comme s'il avait l'intention d'établir une connexion, et attend une réponse. La présence des drapeaux SYN|ACK dans la réponse du nœud B indique que le port est ouvert et les drapeaux RST / ACK dans la réponse indiquent le contraire.
Si rien n'est arrivé en réponse (mais que l'hôte est activé), cela signifie que le port est filtré. Dans le cas où il est déterminé avec précision qu'un nœud est présent sur le réseau, l'absence de réponse peut être clairement identifiée comme la présence d'un filtrage sur le réseau. Par conséquent, un attaquant pourrait ainsi savoir quel trafic est filtré sur le réseau et tenter de contourner cette restriction en utilisant une autre méthode d'analyse.
Bien sûr, pour effectuer une telle analyse, vous devez utiliser le mécanisme de génération de paquets réseau et d'analyse des réponses reçues. Cette fonctionnalité n'est pas fournie par les utilitaires standards du système d'exploitation et, par conséquent, des outils supplémentaires sont nécessaires. Ceci, en passant, peut expliquer le fait que, après avoir reçu le paquet SYN/ACK, un paquet RST est envoyé en réponse pour réinitialiser la connexion non encore établie (cette opération est effectuée par le système d'exploitation).
Analyse des ports UDP.
Cette méthode permet de déterminer quels ports UDP sur l'hôte analysé sont ouverts. Un paquet UDP (généralement vide) est envoyé au port requis de la machine à analyser. Si le message ICMP « Destination Unreachable » a été reçu en réponse, cela signifie que le port est fermé.
Sinon (aucune réponse), le port scanné est considéré comme ouvert.
Les problèmes suivants sont associés à l'analyse UDP
: perte possible de paquets UDP. Dans ce cas, la réponse ne sera pas non plus reçue et le port risque de se voir attribuer par erreur le statut « ouvert »;
probabilité élevée de filtrage du trafic UDP ou ICMP.
Le résultat est le même que dans le cas précédent – le port peut être considéré à tort comme ouvert.
Tout cela mène au fait que si vous ne recevez pas de réponse de l'hôte, vous ne pouvez pas être certain que le port est ouvert. Le premier problème est résolu par l'introduction de deux paramètres permettant de contrôler la validité de l'analyse UDP:
nombre de paquets UDP envoyés;
délai d'attente de réponse.
Le deuxième problème est beaucoup plus compliqué. Pour résoudre ce problème, les développeurs de scanneurs utilisent diverses améliorations. Voici, par exemple, l'une de ces méthodes.
Avant d'analyser les ports UDP définis par l'utilisateur, le scanneur effectue une analyse UDP des ports du début de la plage 1-65 535 (230-240), du milieu de la plage (2050-2060) et de la fin de la plage (45 270-45 280). Comme vous pouvez le constater, les ports sélectionnés sont très susceptibles d'être fermés.
Ensuite, nous examinerons un utilitaire qui vous permet d'utiliser différentes méthodes pour effectuer l'analyse.
Disons qu'on veut analyser les ports sur la machine 192.168.10.2.
Vous pouvez utiliser l'utilitaire Nmap que nous connaissons déjà dans LE matériel précédent.
La syntaxe suivante est utilisée pour rechercher les ports ouverts sur la machine spécifiée.
nmap -sS 192.168.10.2 –n
Ici, le plus grand intérêt est la clé-SS. Le S majuscule indique la nécessité d'utiliser le balayage SYN. Si vous voulez utiliser la connexion, la syntaxe de la commande est la suivante:
nmap -sT 192.168.10.2 –n
Pour l'analyse UDP, vous devez spécifier:
nmap -sU 192.168.10.2 –n
L'analyse des ports n'est qu'une des fonctionnalités de l'utilitaire Nmap, nous y reviendrons à plusieurs reprises.
Petukhov Oleg, avocat en droit international et protection des renseignements personnels, spécialiste de l'information sécurité, protection de l'information et des données personnelles.
Canal Telegram: https://t.me/protecciondelainformacion
Groupe au Télégramme: https://t.me/securiteinformatique2
Site: https://legascom.ru
Courriel: online@legascom.ru
#sécuritéinformations #informationsécurité
Escaneo de puertos.
Una de las formas más comunes de identificar servicios de red es mediante el escaneo de puertos. El hecho es que muchas aplicaciones comunes tienen ciertos números de puerto y protocolos de capa de transporte asignados. Por ejemplo, HTTP usa el puerto 80, FTP – 20 y 21, y SSH – 22, etc. aunque los valores de puerto predeterminados se pueden cambiar fácilmente, un puerto abierto con un número específico es una señal segura de que esta aplicación se está ejecutando en el host. Solo queda determinar qué puertos están abiertos en el nodo. La tarea de identificar el estado del puerto se puede resolver de varias maneras. Por ejemplo, con y sin conexión. A continuación se examinan algunos de ellos.
Escanear con conexión.
Para asegurarse de que el puerto TCP está abierto, es suficiente intentar establecer una conexión con él. Por lo general, las capacidades del sistema operativo se utilizan para este propósito. Tanto Windows como Unix incluyen la utilidad telnet, con la que puede acceder a un nodo en un puerto con un número específico. Si el nodo responde, puede concluir que el puerto deseado está abierto. Sin embargo, este método tiene una serie de inconvenientes.
En particular, en un sistema operativo, una implementación de TCP suele ser un controlador separado, y la interfaz entre un proceso de aplicación y TCP es un conjunto de llamadas al sistema con las que se puede abrir o cerrar una conexión, enviar o recibir datos. Sin embargo, en las últimas versiones de Windows, hubo restricciones en el trabajo con puertos de red a nivel de controlador del sistema operativo. Y es posible que después de la próxima actualización de Windows 7 no permita establecer una conexión en un puerto que le parezca sospechoso. Que
en cuanto a la utilidad telnet, su uso para el escaneo de puertos en serie es extremadamente inconveniente, ya que funciona muy lentamente.
También se puede usar una interfaz de socket (función connect ()) para establecer una conexión TCP. Después de establecer la conexión, puede romperse de inmediato de manera regular.
Antes de pasar a considerar los diferentes métodos de escaneo, recuerde cómo se establece la conexión en TCP. No daré una descripción detallada de todos los pasos, solo presentaré una ilustración gráfica.
Sobre la base de las características tecnológicas de TCP handshake, hay varias formas de escanear puertos, algunas de las cuales veremos más adelante.
Escaneo SYN.
Al igual que otros métodos de análisis de red, el escaneo de conexión tiene sus ventajas y desventajas. Las ventajas incluyen las siguientes:
uso de las capacidades estándar del sistema operativo, sin necesidad de instalar ningún controlador de red y bibliotecas adicionales;
alta fiabilidad; si se logra establecer una conexión, significa que el puerto está necesariamente abierto.
Las desventajas de este método generalmente incluyen:
rendimiento insuficiente;
imposibilidad de determinar el hecho del filtrado del puerto;
la posibilidad de que haya restricciones adicionales en las conexiones de red a nivel del sistema operativo.
Como alternativa al escaneo de conexión, considere el escaneo SYN.
El escaneo SYN tiene un rendimiento ligeramente mayor, ya que no se establece una conexión TCP completa con el puerto que se está probando. El (los) nodo (s) de escaneo envía el paquete SYN, como si tuviera la intención de establecer una conexión, y espera una respuesta. La presencia de indicadores SYN / ACK en la respuesta del nodo B indica que el puerto está abierto, mientras que los indicadores RST|ACK en la respuesta significan lo contrario.
Si no hay nada en la respuesta (pero se sabe que el nodo está habilitado), significa que el puerto se está filtrando. Si se determina con precisión que el nodo está presente en la red, la falta de respuesta puede identificarse inequívocamente como la presencia de filtrado en la red. En consecuencia, de esta manera, el atacante puede averiguar exactamente qué tipo de tráfico se está filtrando en la red e intentar eludir esta restricción aplicando un método de escaneo diferente.
Por supuesto, para llevar a cabo este tipo de análisis, es necesario utilizar un mecanismo para generar paquetes de red y analizar las respuestas entrantes. Esta funcionalidad no proporciona las utilidades estándar del sistema operativo y, en consecuencia, se necesitan herramientas adicionales. Esto, por cierto, puede explicar el hecho de que después de recibir el paquete SYN/ACK, el paquete RST se envía en respuesta para restablecer la conexión aún no establecida (el sistema operativo realiza esta operación).
Escaneo de puertos UDP.
Este método se utiliza para determinar qué puertos UDP del nodo que se está escaneando están abiertos. Se envía un paquete UDP (normalmente vacío) al puerto deseado de la máquina escaneada. Si el mensaje ICMP "Destination Unreachable" fue recibido en respuesta, significa que el puerto está cerrado.
De lo contrario (sin respuesta), se considera que el puerto escaneado está abierto.
Los siguientes problemas están relacionados con el escaneo UDP:
posible pérdida de paquetes UDP. En este caso, la respuesta tampoco se recibiría y el puerto podría estar configurado erróneamente como"abierto";
alta probabilidad de filtrado de tráfico UDP o ICMP.
El resultado es el mismo que en el caso anterior: el puerto puede considerarse erróneamente abierto.
Todo esto lleva al hecho de que si no recibe una respuesta del nodo, no puede estar seguro de que el puerto esté abierto. El primer problema se resuelve con la introducción de dos parámetros que pueden regular la validez del escaneo UDP:
número de paquetes UDP enviados;
tiempo de espera de respuesta.
El segundo problema es mucho más complicado. Para resolver esto, los desarrolladores de escáneres utilizan varias mejoras. Aquí, por ejemplo, una de esas formas.
Antes de escanear los puertos UDP especificados por el usuario, el escáner realiza un escaneo UDP de los puertos desde el Inicio del rango 1-65 535 (230-240), desde el medio del rango (2050-2060) y desde el final del rango (45 270-45 280). Como puede verse, es muy probable que los puertos seleccionados estén cerrados.
A continuación, veremos una utilidad que le permite utilizar varios métodos para realizar el escaneo.
Digamos que queremos realizar un escaneo de puertos en la máquina 192.168.10.2.
Puede utilizar la utilidad NMAP que ya conocemos en el material anterior.
Utilice la siguiente sintaxis para buscar puertos abiertos en una máquina determinada.
nmap -sS 192.168.10.2 -n
Aquí el mayor interés es la clave-sS. La S mayúscula indica la necesidad de usar el escaneo SYN. En caso de que necesite usar el establecimiento de una conexión, la sintaxis del comando será la siguiente:
nmap -sT 192.168.10.2 -n
Para el escaneo UDP, debe especificar:
nmap -sU 192.168.10.2 -n
El escaneo de puertos es solo una de las características de la utilidad Nmap, por lo que volveremos a ella repetidamente.
Oleg Petukhov, abogado en el campo del derecho internacional y la protección de datos personales, especialista en información seguridad, protección de la información y datos personales.
Canal de Telegram: https://t.me/protecciondelainformacion1
Grupo de Telegramas: https://t.me/protecciondelainformacion2
Sitio web: https://legascom.ru
Correo electrónico: online@legascom.ru
#proteccióndelainformación #seguridaddelainformación
Verificação de portas.
Uma das maneiras mais comuns de identificar serviços de rede é a varredura de portas. O fato é que muitos aplicativos comuns têm determinados números de porta e protocolos de camada de transporte. Por exemplo, o HTTP usa a porta 80, o FTP usa a porta 20 e a porta 21 e o SSH usa a porta 22, etc.Embora os valores padrão das portas possam ser facilmente alterados, uma porta aberta com um número específico é um sinal claro de que o host está executando o aplicativo. Resta apenas determinar quais portas estão abertas no host. O problema da identificação do status de uma porta pode ser resolvido de várias maneiras. Por exemplo, com e sem conexão. Alguns deles são examinados a seguir.
Verificação de conexão.
Para ter certeza de que a porta TCP está aberta, basta tentar estabelecer uma conexão com ela. Normalmente, as capacidades do sistema operacional são usadas para esse fim. Tanto o Windows quanto o Unix incluem o utilitário telnet, que pode ser usado para acessar um host em uma porta com um número específico. Se o host responder, você pode concluir que a porta desejada está aberta. No entanto, esse método tem várias desvantagens.
Em particular, em um sistema operacional, a implementação de um TCP é geralmente um driver separado, e a interface entre o processo de aplicação e o TCP é um conjunto de chamadas do sistema com as quais você pode abrir ou fechar uma conexão, enviar ou receber dados. No entanto, nas versões mais recentes do Windows, há restrições no nível do driver do sistema operacional para trabalhar com portas de rede. E há uma situação em que, após a próxima atualização, O Windows 7 não permitirá que você estabeleça uma conexão por uma porta que pareça suspeita. Que
no que diz respeito ao telnet, usá-lo para varredura de porta serial é extremamente inconveniente, pois ele é executado muito lentamente.
Além disso, a interface de Soquete (função connect ()) pode ser usada para estabelecer uma conexão TCP. Depois de estabelecer a conexão, ela pode ser imediatamente quebrada de maneira regular.
Antes de considerar os diferentes métodos de verificação, lembre-se de como estabelecer uma conexão no TCP. Não vou dar uma descrição detalhada de todos os passos, apenas uma ilustração gráfica.
Com base nos recursos tecnológicos do TCP handshake, existem várias maneiras de escanear portas, algumas das quais veremos mais adiante.
Syn-Scan.
Como outros métodos de análise de rede, a verificação de conexão tem seus prós e contras. As vantagens incluem o seguinte:
o uso de recursos padrão do sistema operacional, sem a necessidade de instalar quaisquer drivers de rede adicionais e bibliotecas;
alta confiabilidade; se a conexão foi estabelecida, significa que a porta está necessariamente aberta.
As desvantagens deste método são geralmente:
produtividade insuficiente;
não é possível determinar se a porta está filtrada;
a probabilidade de haver restrições adicionais ao trabalho com conexões de rede no nível do sistema operacional.
Como alternativa à verificação de conexão, considere a verificação SYN.
A verificação SYN tem um desempenho um pouco maior porque não há conexão TCP completa estabelecida com a porta que está sendo testada. O host de varredura (a) envia um pacote SYN como se pretendesse estabelecer uma conexão e aguarda uma resposta. A presença de sinalizadores SYN / ACK na resposta resultante do nó B indica que a porta está aberta, e os sinalizadores RST|ACK na resposta significam o contrário.
Se você não receber nada (mas souber que o host está ativado), isso significa que a porta está sendo filtrada. Se for determinado com precisão que um nó está presente na rede, a falta de resposta pode ser claramente identificada como a presença de filtragem na rede. Dessa forma, um invasor pode descobrir qual tráfego está sendo filtrado na rede e tentar contornar essa restrição usando um método de verificação diferente.
É claro que, para realizar tal varredura, é necessário usar o mecanismo de geração de pacotes de rede e análise de respostas recebidas. Os utilitários padrão do sistema operacional não fornecem essa funcionalidade e, portanto, ferramentas adicionais são necessárias. Isso, a propósito, pode explicar o fato de que o software depois de receber o pacote SYN/ACK, um pacote RST é enviado em resposta para redefinir a conexão ainda não estabelecida (essa operação é realizada pelo sistema operacional).
Verificação de portas UDP.
Esse método é usado para determinar quais portas UDP no host que está sendo escaneado estão abertas. Um pacote UDP (geralmente vazio) é enviado para a porta desejada da máquina a ser digitalizada. Se você receber uma mensagem ICMP "Destination Unreachable", isso significa que a porta está fechada.
Caso contrário (sem resposta), considera-se que a porta a ser digitalizada está aberta.
Os seguintes problemas estão associados à digitalização UDP:
possível perda de pacotes UDP. Nesse caso, a resposta também não será recebida e a porta poderá ser erroneamente atribuída ao status "aberto";
alta probabilidade de Filtragem de tráfego UDP ou ICMP.
O resultado é o mesmo que no caso anterior – a porta pode ser erroneamente considerada aberta.
Tudo isso faz com que, se o host não receber uma resposta, você não possa ter certeza de que a porta está aberta. O primeiro problema é resolvido com a introdução de dois parâmetros que podem ser usados para ajustar a validade da verificação UDP:
número de pacotes UDP enviados;
tempo de espera da resposta.
O segundo problema é muito mais complicado. Para resolvê-lo, os desenvolvedores de scanners usam várias melhorias. Aqui está, por exemplo, uma dessas maneiras.
Antes de digitalizar as portas definidas pelo usuário, o scanner UDP realiza varreduras UDP de portas do início do intervalo 1-65 535 (230-240), do meio do intervalo (2050-2060) e do final do intervalo (45 270-45 280). Como você pode ver, os portos selecionados com um alto grau de probabilidade serão fechados.
Em seguida, veremos um utilitário que permite usar vários métodos para realizar a varredura.
Digamos que queremos fazer uma varredura de portas em uma máquina 192.168.10.2.
Você pode usar o utilitário NMAP que já conhecemos do material anterior.
A sintaxe a seguir é usada para procurar portas abertas em uma determinada máquina.
nmap -sS 192.168.10.2 -n
Aqui, o mais interessante é a chave-sS. O S maiúsculo indica a necessidade de uma varredura SYN. No caso de você precisar usar o estabelecimento de conexão, a sintaxe do comando será a seguinte:
nmap -sT 192.168.10.2 -n
Para a verificação UDP, é necessário especificar:
nmap -sU 192.168.10.2 -n
A varredura de portas é apenas um dos recursos do Nmap, e é por isso que voltaremos a ele mais de uma vez.
Petukhov Oleg, advogado de Direito Internacional e proteção de dados pessoais, especialista em informação segurança, proteção de informações e dados pessoais.
Canal do Telegram: https://t.me/protecaodaInformacao
Grupo em Telegram: https://t.me/protecaodaInformacao1
Site: https://legascom.ru
Correio eletrónico: online@legascom.ru
#segurançadaInformação #Segurançadainformação
Varredura de portas.
Uma das formas mais comuns de identificar serviços de rede é fazendo a varredura de portas. O fato é que muitos aplicativos comuns têm números de porta específicos e protocolos de camada de transporte atribuídos a eles. Assim, o HTTP usa a porta 80, o FTP usa as portas 20 e 21 e o SSH usa a porta 22, etc. E embora os valores de porta padrão possam ser facilmente alterados, uma porta aberta com um determinado número é um sinal claro de que esse aplicativo específico está sendo executado no nó. Resta apenas determinar quais portas estão abertas no nó. A tarefa de identificar o status da porta pode ser resolvida de várias maneiras. Por exemplo, com e sem estabelecer uma conexão. Alguns deles são discutidos abaixo.
Digitalização com estabelecimento de conexão.
Para ter certeza de que a porta TCP está aberta, basta tentar estabelecer uma conexão com ela. Os recursos do sistema operacional geralmente são usados para essa finalidade. Tanto o Windows quanto o Unix incluem o utilitário telnet, que permite acessar um nó em uma porta com um número específico. Se o nó responder, pode-se concluir que a porta desejada está aberta. No entanto, este método tem uma série de desvantagens.
Em particular, em um sistema operacional, a implementação TCP é geralmente um driver separado, e a interface entre o processo de aplicação e o TCP é um conjunto de chamadas de sistema que podem ser usadas para abrir ou fechar uma conexão, enviar ou receber dados. No entanto, nas versões recentes do Windows, existem restrições ao trabalho com portas de rede no nível do driver do sistema operacional. E é completamente possível que, após a próxima atualização, O Windows 7 não permita que você estabeleça uma conexão em uma porta que considere suspeita. O que
Quanto ao utilitário telnet em si, usá-lo para varredura de porta serial é extremamente inconveniente, pois funciona muito lentamente.
A interface sockets (função connect ()) também pode ser usada para estabelecer uma conexão TCP. Depois que a conexão é estabelecida, ela pode ser encerrada imediatamente da maneira usual.
Antes de prosseguir para os vários métodos de verificação, vamos relembrar como uma conexão TCP é estabelecida. Não vou fornecer uma descrição detalhada de todas as etapas, apenas fornecer uma ilustração gráfica.
Com base nos recursos tecnológicos acima do handshake TCP, vários métodos de varredura de portas são possíveis, alguns dos quais consideraremos mais adiante.
SYN scan.
Como outros métodos de análise de rede, a varredura baseada em conexão tem seus prós e contras. As vantagens incluem o seguinte:
o uso de recursos padrão do sistema operacional, a ausência da necessidade de instalar drivers e bibliotecas de rede adicionais.;
alta confiabilidade; se a conexão foi estabelecida, significa que a porta certamente está aberta.
As desvantagens desse método geralmente incluem:
desempenho insuficiente;
incapacidade de determinar o fato da filtragem de portas;
a possibilidade de restrições adicionais ao trabalho com conexões de rede no nível do sistema operacional.
Como alternativa à varredura baseada em conexão, considere a varredura SYN.
A varredura SYN tem um desempenho ligeiramente superior porque uma conexão TCP completa não é estabelecida com a porta testada. O nó de varredura (A) envia um pacote SYN, como se pretendesse estabelecer uma conexão, e aguarda uma resposta. A presença de sinalizadores SYN|ACK na resposta do nó B indica que a porta está aberta, enquanto os sinalizadores RST|ACK na resposta significam o oposto.
Se nada foi recebido em resposta (mas sabe-se que o nó está ligado), isso significa que a porta está sendo filtrada. Se for determinado com precisão que o nó está presente na rede, a ausência de uma resposta pode ser inequivocamente identificada como a presença de filtragem na rede. Dessa forma, um invasor pode descobrir exatamente qual tráfego está sendo filtrado na rede e tentar contornar essa restrição usando outro método de varredura.
É claro que, para realizar tal varredura, é necessário utilizar um mecanismo de geração de pacotes de rede e análise das respostas recebidas. Os utilitários padrão do sistema operacional não fornecem essa funcionalidade e, portanto, fundos adicionais são necessários aqui. Isso, aliás, pode explicar o fato de que após receber o pacote SYN/ACK, um pacote RST é enviado em resposta para resetar a conexão que ainda não foi estabelecida (essa operação é realizada pelo sistema operacional).
Varredura de porta UDP.
Este método é usado para determinar que portas UDP no nó feito a varredura estão abertas. Um pacote UDP (geralmente vazio) é enviado para a porta necessária da máquina verificada. Se a mensagem ICMP "Destination Unreachable" foi recebida em resposta, significa que a porta está fechada.
Caso contrário (não há resposta), presume-se que a porta digitalizada esteja aberta.
Os seguintes problemas estão associados à verificação UDP:
possível perda de pacotes UDP. Nesse caso, nenhuma resposta será recebida e a porta poderá receber por engano o status "aberto;
há uma alta probabilidade de filtrar o tráfego UDP ou (e) ICMP.
O resultado é o mesmo do caso anterior – a porta pode ser erroneamente considerada aberta.
Tudo isso leva ao fato de que, se você não receber uma resposta do nó, não poderá ter certeza de que a porta está aberta. O primeiro problema é resolvido com a introdução de dois parâmetros que podem ser usados para regular a confiabilidade da varredura UDP:
o número de pacotes UDP enviados.;
tempo de espera por uma resposta.
O segundo problema é muito mais complicado. Para resolvê-lo, os desenvolvedores do scanner usam várias melhorias. Aqui, por exemplo, está um desses métodos.
Antes de fazer a varredura de portas definidas pelo utilizador, o varredor UDP executa uma varredura UDP das portas desde o início da escala 1-65 535 (230-240), do meio da escala (2050-2060) e da extremidade da escala (45 270-45 280). Como você pode ver, é muito provável que as portas selecionadas sejam fechadas.
A seguir, veremos um utilitário que permite usar vários métodos para realizar a digitalização.
Digamos que queremos realizar uma varredura de porta na máquina 192.168.10.2.
Podemos usar o utilitário NMAP, que já conhecemos do material anterior.
A sintaxe a seguir é usada para pesquisar portas abertas em uma determinada máquina.
nmap-sS 192.168.10.2-n
A chave de maior interesse aqui é sS. O s maiúsculo indica a necessidade de usar uma varredura SYN. Se você precisar usar o estabelecimento de conexão, a sintaxe do comando será a seguinte:
nmap-sT 192.168.10.2-n
Para varredura UDP, você deve especificar:
nmap-sU 192.168.10.2-n
A varredura de portas é apenas um dos recursos do utilitário Nmap, portanto, retornaremos a ele mais de uma vez.
Petukhov Oleg, advogado de Direito Internacional e proteção de dados pessoais, especialista em informação segurança, proteção de informações e dados pessoais.
Canal do Telegram: https://t.me/protecaodaInformacao
Grupo em Telegram: https://t.me/protecaodaInformacao1
Site: https://legascom.ru
Correio eletrónico: online@legascom.ru
#segurançadaInformação #Segurançadainformação
Scansione delle porte.
Uno dei modi più comuni per identificare i servizi di rete è la scansione delle porte. Il fatto è che molte applicazioni comuni sono assegnate a determinati numeri di porta e protocolli a livello di trasporto. Quindi, HTTP utilizza la porta 80, FTP – 20 e 21 e SSH-22, ecc. e sebbene i valori delle porte predefiniti possano essere facilmente modificati, ma una porta aperta con un certo numero è un segno sicuro che questa particolare applicazione è in esecuzione sul nodo. Resta solo da determinare quali porte sono aperte sul nodo. Il compito di identificare lo stato della porta può essere risolto in diversi modi. Ad esempio, con e senza connessione. Di seguito ne vengono trattati alcuni.
Scansione con connessione.
Per assicurarsi che la porta TCP sia aperta, è sufficiente provare a stabilire una connessione con essa. Di solito, le funzionalità del sistema operativo vengono utilizzate per questo scopo. Sia Windows che Unix includono l'utilità telnet, che può essere utilizzata per accedere a un host su una porta con un numero specifico. In caso di risposta del nodo, è possibile concludere che la porta desiderata è aperta. Tuttavia, questo metodo presenta una serie di svantaggi.
In particolare, in un sistema operativo, un'implementazione TCP è generalmente un driver separato e l'interfaccia tra un processo applicativo e TCP è un insieme di chiamate di sistema con le quali è possibile aprire o chiudere una connessione, inviare o ricevere dati. Tuttavia, nelle ultime versioni del sistema operativo Windows, a livello di driver del sistema operativo, sono apparse restrizioni sul lavoro con le porte di rete. E potrebbe esserci una situazione in cui, dopo il prossimo aggiornamento, Windows 7 non consentirà di stabilire una connessione sulla porta, che sembrerà sospetta. Che
per quanto riguarda direttamente l'utilità telnet, il suo utilizzo per la scansione delle porte seriali è estremamente scomodo, poiché funziona molto lentamente.
Inoltre, per stabilire una connessione TCP, è possibile utilizzare l'interfaccia Socket (funzione connect()). Dopo aver stabilito la connessione, può essere immediatamente interrotto in modo normale.
Prima di passare alla considerazione dei diversi metodi di scansione, ricordiamo come viene stabilita una connessione in TCP. Non fornirò una descrizione dettagliata di tutti i passaggi, presenterò solo un'illustrazione grafica.
Sulla base delle caratteristiche tecnologiche di TCP handshake, sono possibili diversi modi per eseguire la scansione delle porte, alcuni dei quali verranno discussi di seguito.
Scansione SYN.
Come altri metodi di analisi della rete, la scansione di connessione ha i suoi pro e contro. I vantaggi includono quanto segue:
utilizzo delle funzionalità standard del sistema operativo, non è necessario installare driver e librerie di rete aggiuntivi;
elevata affidabilità; se la connessione è stata stabilita, la porta è sicuramente aperta.
Gli svantaggi di questo metodo di solito includono:
prestazioni insufficienti;
impossibilità di determinare il fatto del filtraggio della porta;
possibilità di ulteriori restrizioni sulle connessioni di rete a livello di sistema operativo.
In alternativa alla scansione con connessione, considerare la scansione SYN.
La scansione SYN ha prestazioni leggermente maggiori, poiché non viene stabilita una connessione TCP completa con la porta testata. Il nodo di scansione invia un pacchetto SYN, come se intendesse stabilire una connessione, e attende una risposta. La presenza di flag SYN|ACK nella risposta che ha portato dal nodo B indica che la porta è aperta e i flag RST / ACK nella risposta significano il contrario.
Se non viene ricevuto nulla in risposta (ma è noto che il nodo è abilitato), ciò significa che la porta viene filtrata. Se si determina con certezza che il nodo è presente nella rete, l'assenza di risposta può essere identificata in modo univoco come presenza di filtraggio nella rete. Di conseguenza, in questo modo un utente malintenzionato può scoprire esattamente quale traffico viene filtrato sulla rete e tentare di aggirare questa limitazione applicando un altro metodo di scansione.
Naturalmente, per eseguire tale scansione, è necessario utilizzare un meccanismo per la generazione di pacchetti di rete e l'analisi delle risposte in arrivo. Le utilità standard del sistema operativo non forniscono questa funzionalità e, di conseguenza, sono necessari ulteriori strumenti. Questo, a proposito, può spiegare il fatto che dopo aver ricevuto il pacchetto SYN/ACK, un pacchetto RST viene inviato in risposta per ripristinare una connessione non ancora stabilita (questa operazione viene eseguita dal sistema operativo).
Scansione delle porte UDP.
Questo metodo viene utilizzato per determinare quali porte UDP sul nodo scansionato sono aperte. Un pacchetto UDP (di solito vuoto) viene inviato alla porta richiesta della macchina sottoposta a scansione. Se in risposta è stato ricevuto un messaggio ICMP "Destination Unreachable", significa che la porta è chiusa.
Altrimenti (nessuna risposta) si ritiene che la porta sottoposta a scansione sia aperta.
I seguenti problemi sono associati alla scansione UDP:
possibile perdita di pacchetti UDP. In questo caso, anche la risposta non verrà ricevuta e alla porta potrebbe essere assegnato erroneamente lo stato «aperto»;
elevata probabilità di filtraggio del traffico UDP o ICMP.
Il risultato è lo stesso del caso precedente: la porta potrebbe essere erroneamente considerata aperta.
Tutto ciò porta al fatto che in caso di mancata ricezione di una risposta dal nodo, non è possibile essere sicuri che la porta sia aperta. Il primo problema viene risolto introducendo due parametri che possono regolare la validità della scansione UDP:
numero di pacchetti UDP inviati;
tempo di attesa per la risposta.
Il secondo problema è molto più complicato. Per risolverlo, gli sviluppatori di scanner utilizzano vari miglioramenti. Ecco, ad esempio, uno di questi modi.
Prima di eseguire la scansione delle porte definite dall'utente, lo scanner UDP esegue la scansione delle porte UDP dall'inizio dell'intervallo 1-65 535 (230-240), dal centro dell'intervallo (2050-2060) e dall'estremità dell'intervallo (45 270-45 280). Come puoi vedere, le porte selezionate con un alto grado di probabilità saranno chiuse.
Successivamente, considereremo un'utilità che consente di utilizzare vari metodi per eseguire la scansione.
Supponiamo di voler eseguire una scansione delle porte sulla macchina 192.168.10.2.
Puoi usare L'utilità NMAP che ci è già familiare dal materiale precedente.
Per trovare le porte aperte su una determinata macchina, utilizzare la sintassi seguente.
nmap -sS 192.168.10.2 -n
Qui la chiave è la sS di maggiore interesse. La S maiuscola indica la necessità di utilizzare la scansione SYN. Se si desidera utilizzare la connessione, la sintassi del comando sarà la seguente:
nmap -sT 192.168.10.2 -n
Per la scansione UDP è necessario specificare:
nmap -sU 192.168.10.2 -n
La scansione delle porte è solo una delle funzionalità dell'utilità Nmap, quindi torneremo più volte.
Oleg Petukhov, avvocato nel campo del diritto internazionale e della protezione dei dati personali, specialista nel campo dell'informazione sicurezza, protezione delle informazioni e dei dati personali.
Canale Telegram: https://t.me/protezionedelleinformazioni
Gruppo in telegramma: https://t.me/protezionedelleinformazioni1
Sito: https://legascom.ru
E-mail: online@legascom.ru
#protezionedelleInformazioni #sicurezzadelleinformazioni




