|
No hay
herramienta más aceptada, probada y reconocida en el mundo de la
Seguridad Informática que el NMAP, el famoso
Port Scanner. Tan es así que todo Pentester tiene en
su kit de Seguridad alguna de sus versiones.
Su precisión y
polifuncionalidad nos dicen el estado de los puertos: nos
brinda un fingerprint del Sistema Operativo remoto y
chequea qué servicios están corriendo detrás de cada uno de
ellos.
Sin embargo,
NMAP carece de una característica fundamental para los
testeadores, algo sumamente imperioso en las tan crecientes
Redes Corporativas: la Velocidad. Si bien Fyodor
se esmeró y rediseñó el código en su reciente versión 4,
brindándole no sólo más velocidad sino también mayor precisión
en sus reportes, es sabido que no posee la agilidad necesaria
para escanear grandes cantidades de IP´s.
A estos fines,
un verdadero experto en el rubro, Dan Kaminsky, más conocido
como Effugas, concibió una herramienta digna de
admiración no sólo por su velocidad (que supera a NMAP) sino por
su innovadora forma de reconocer el estado de los puertos
remotos.
Esta
herramienta es el SCANRAND, una alternativa tan
veloz que nos deja con los ojos abiertos. De hecho, podemos
monitorear una red amplia y luego en base al resultado, poder
elegir objetivos puntuales.
Al iniciar,
Scanrand se divide en dos procesos diferentes: uno tiene
como único fin enviar paquetes SYN; el otro es responsable de
recibir las respuestas del host remoto. Algo interesante
es que ambos procesos son independientes entre sí.
Entonces, ¿cómo
hace el proceso receptor para detectar el SN (Sequence Number)
inicial de los paquetes enviados? Sólo sabe que recibió un
paquete de respuesta del host (un SYN/ACK o un Error ICMP).
La clave reside en lo
que el proceso emisor envía como SN inicial, cuyos números no
son generados en forma randómica, sino que
Scanrand
toma la
dirección IP origen y el puerto, junto a la dirección IP destino
y el puerto, y los concatena junto a una KEY, pasando los datos
a través de un algoritmo de hash (SHA1), que se
convertirá en el SN inicial para el paquete de salida.
Scanrand
llama a esto “INVERSE SYN COOKIE”. El proceso
receptor restará 1 al SN del paquete respondido (ya que debería
ser un número mayor que el SN enviado) y lo hasheará. Si
la comparación del hash es positiva, se tendrá una
respuesta válida al escaneo.
Usando este
método, Scanrand no debe esperar la respuesta de un
host para pasar al siguiente. Ni tiene que guardar estado de
ningún SN. Sólo dispara y se olvida, y el proceso receptor es el
encargado de analizar las respuestas a medida que llegan. La
mayoría de los scanners son seriales, mientras que
Scanrand puede analizar varios hosts a la vez.
Como se
mencionó anteriormente, podríamos usar esta herramienta
para analizar grandes cantidades de IP’s y en base a las
respuestas, optar por utilizar NMAP para un escaneo más
profundo. Es
sólo una opción y cada uno elige las herramientas para trabajar.
Aunque es bueno saber con qué instrumentos contamos a la hora de
agrandar nuestro arsenal.
Julio Uricari
Security Consultant
ISec Information Security Inc.
julio.uricari@i-sec.org
|