Documente Academic
Documente Profesional
Documente Cultură
SESIÓN 2:
I
OBJETIVOS
II
TEMAS A TRATAR
Network enumeration
Scanning de host, puertos y servicios
o Análisis de protocolo TCP.
o Análisis de protocolo UDP.
o Análisis de paquetes ICMP.
o Técnicas de scanning diversas.
Análisis de la configuración de cada servicio.
o Análisis de banners.
o Análisis del handshake de sesiones de los servicios.
Detección remota de sistemas operativos.
o Detección pasiva de sistemas operativos.
Detección de vulnerabilidades en forma remota.
o Integración de resultados previos.
o Automatización de tareas.
Herramientas de comprobación especializada o manual.
III
MARCO TEORICO
Este paso consiste en investigar al detalle los servicios brindados por la red y recursos
compartidos, con el fin de identificar vulnerabilidades conocidas para el paso de
penetración del sistema.
Las vulnerabilidades son dependientes de cada versión del servicio en cuestión, y
obviamente del sistema operativo sobre el cual corre dicho servicio, por lo cual
cubriremos las plataformas más comunes: Windows NT y Linux.
Windows NT
El primer paso en la enumeración de una red NT es el conocido comando 'net view':
Para obtener los datos de los miembros del dominio utilizaremos nuevamente net
view con la opción 'domain':
C:\net view /domain
Para conocer cuáles son los DC (Domain Controllers) del dominio necesitamos el:
nltest.
C:\nltest /dclist:STDOMAIN
List of Dcs in Domain STDOMAIN
\\HILIST (PDC)
\\LEIA
\\GOONIE
The command completed successfully
Para poder continuar con la enumeración necesitamos que la máquina esté mal
configurada para permitir la conexión null, o anónima. Si el Windows está con la
configuración por defecto seguramente estará activa y podremos obtener más datos
con nltest usando las siguientes sintaxis:
nltest /server:<server_name>
nltest /trusted_domains
rmtshare
srvcheck
srvinfo -s
Con las herramientas anteriores podemos enumerar shares de a una máquina por
vez, si lo que deseamos es escanear toda una subred existe la herramienta Legion,
disponible en varios repositorios de herramientas de hacking en Internet (entre
otros en http://www.splitsecond.com)
Con la herramienta nbtstat podemos enumerar datos sobre los usuarios de un NT:
C:\nbtstat -A 204.16.2.8
NetBIOS Remote Machine Name Table
Name Type Status
-----------------------------------------------------------
ALEPH <20> UNIQUE Registered
TESTER <00> UNIQUE Registered
GOONIES <00> GROUP Registered
Esto nos muestra la tabla de nombres NetBIOS de la máquina, con el nombre del
sistema (ALEPH), el dominio (LUIS) y cualquier ID de los usuarios logueados (en este
caso ADMINISTRATOR y TECNICO).
Hint: para entender mejor la salida de nbtstat consultar "Using Samba".
SNMP
Simple Network Management Protocol es una excelente fuente de información si los
sistemas NT tienen activo el SNMP Agent y no se tomó la precaución de cambiar los
default community names (public, private, etc.).
Una de las herramientas de enumeración es snmputil del NTRK, pero por sobre todo
SolarWinds 2000 (www.solarwinds.net), que con la herramienta IP Browser (que puede
bajarse independientemente del resto del paquete) permite obtener literalmente toneladas
de información vía SNMP. La versión full de SolarWinds 2000 inclusive tiene un SNMP
Brute Force que permite adivinar los community names con métodos similares a los
utilizados por los password crackers (diccionario).
El escaneo de puertos consiste básicamente en detectar que servicios nos esta ofreciendo
un determinado host. Si al hacer un escaneo encontramos un puerto abierto, según cual
fuese este es el servicio que nos ofrece.
Por ejemplo vamos a escanear el host zapala.com.ar:
Interesting ports on zapala.com.ar (200.32.91.1)
Port State Service Protocol
21 open tcp ftp
25 open tcp smtp
80 open tcp http
Suponiendo que sólo estos puertos estuvieran abiertos lo que nos resulta de este escaneo,
es que zapala.com.ar esta ofreciendo servicios de transferencia de archivos, de correo y
de web.
TCP connect() scanning: esta es la forma mas popular de escaneo TCP y consiste
básicamente en usar la llamada a sistema connect() del sistema operativo, si se logra
establecer la conexión con el puerto de la otra computadora entonces este puerto esta
abierto. Las ventajas que tiene esta forma de escaneo es que no se necesita ningún
privilegio especial para poder llevarla a cabo, en la mayoría de los Unix cualquier
usuario puede hacer uso de la llamada connect(). Otra gran ventaja es la velocidad.
El lado negativo que encontramos es que es muy fácil de detectar y de filtrar, y
generalmente el host loguea que establecemos una conexión e inmediatamente nos
desconectamos.
TCP SYN scanning: esta técnica es la llamada escaneo "half-open" (o mitad-
abierta), porque no establecemos una conexión TCP completa. Lo que hacemos es
enviar un paquete SYN como si fuéramos a entablar una conexión TCP completa y
esperamos por una respuesta. Podemos recibir un SYN|ACK si el puerto esta
escuchando o un RST si el puerto esta cerrado. Si recibimos un SYN|ACK en
respuesta, inmediatamente le enviamos un RST. La mayor ventaja de esta técnica es
que muy pocos servers nos loguean; y la desventaja es que se necesita privilegios de
root para construir estos paquetes SYN a enviar.
TCP FIN scanning: algunos firewalls y packets filters escuchan por los paquetes
SYN en algunos puertos, y programas como el synlogger pueden detectar este tipo
de escaneo. En cambio los paquetes FIN pueden penetrar sin mayor problemas. La
idea consiste en que al enviar un paquete FIN si el puerto esta cerrado nos va a
devolver un RST, y si el puerto esta abierto nos va a ignorar. Esto se debe a un error
en las implementaciones TCP pero no funciona en un 100%. La mayoría de los
sistemas parecen susceptibles excepto los sistemas Microsoft que son inmunes
(aunque usted no lo crea).
Fragmentation scanning: esta no es una técnica en si misma, sino una modificación
de otras técnicas. Consiste en hacer una división de los paquetes que enviamos, para
no ser detectados por los packet filters y los firewalls. Por ejemplo podemos hacer un
SYN o un FIN scanning fragmentando los paquetes que enviamos, y al ir quedando
en cola en los firewalls y en los packet filters no somos detectados.
TCP reverse ident scanning: el protocolo ident permite averiguar el nombre de
usuario y el dueño de cualquier servicio corriendo dentro de una conexión TCP. Por
ejemplo podemos conectarnos al puerto http y usar identd para averiguar que esta
corriendo la victima como root; esto solo es posible estableciendo una conexión TCP
completa.
FTP bounce attack: algo interesante del protocolo ftp, es que permite lo que se
llama conexión proxy ftp. O sea, yo podría conectarme a un ftp desde un servidor
proxy y al hacer esto establecer una conexión y enviar un archivo a cualquier parte
de la Internet. Esto lo podemos aprovechar también para hacer por ejemplo un
escaneo TCP, ya que estaríamos haciéndolo desde un servidor ftp pero detrás de un
firewall. Lo bueno que tiene esta técnica es obviamente que es muy difícil de
rastrear, y lo malo es que puede volverse sumamente lento.
Un primer paso es ver qué máquinas están activas (cuales responden un ping).
Si bien esto puede lograrse con pings individuales (y es lo ideal si sólo nos interesa una
máquina) no es práctico para escanear toda una red.
La primer idea sería hacer un script que cubra toda la red. Con este fin existe la
herramienta fping. Esta herramienta trae 2 programas: fping y gping. gping nos permite
generar una lista de números IP.
FIN: se envía un paquete FIN (que es un paquete no utilizado para iniciar conexiones),
el server responde con RST para todos los puertos cerrados, e ignora el paquete para los
puertos abiertos.
XmasTree: el cliente envía un paquete con los flags FIN, URG y PUSH activos. El
resultado es similar al FIN mencionado arriba.
Null: el cliente envía un paquete con todos los flags desactivados. Resultado similar al
FIN mencionado arriba.
Estos tres últimos tipos de escaneo no funcionan como se espera según los RFC en
máquinas Windows, ya que Microsoft ignoró olímpicamente el estándar RFC al
implementar sus stacks de conexión. Sin embargo esto puede ser ligeramente útil para
confirmar si una máquina es Windows: si detectamos puertos abiertos con un SYN scan
pero no vemos nada con los últimos tres.
Una interesante habilidad del nmap es la posibilidad que brinda de realizar escaneos
simulados desde otras direcciones diferentes a la nuestra en forma simultánea. Esto es
utilizado para dificultar la detección (ya que el sistema que está siendo escaneado no
tiene forma de diferenciar los paquetes provenientes de nuestra dirección de los
paquetes con direcciones "falsas") y para evitar que el administrador del sitio escaneado
pueda utilizar mecanismos como los que brinda el Portsentry
(http://www.psionic.com/abacus/) que bloquean automáticamente la dirección de
origen, ya que de hacerlo estaría bloqueando otras direcciones además de la nuestra, y
podemos poner entre las direcciones falsas las de sites muy utilizados, yahoo, etc.
Con los escaneos averiguamos qué puertos están activos en la máquina, y por lo tanto
conocemos los servicios que está brindando. Esta información es vital, ya que no existe
forma de penetrar una red por puertos cerrados.
Otro dato interesante es averiguar el sistema operativo que utilizan las máquinas, debe
ingresar en nmap. La herramienta lo puede descargar (http://nmap.org/download.html)
Anubis
Anubis es una herramienta necesaria para los procesos de las Auditorías de Seguridad y
Test de Intrusión dedicado a la búsqueda de información, denominado Footprinting y
Fingerprinting, en una única herramienta. Con ésta herramienta el auditor no solo
conseguirá ahorrar tiempo durante la auditoría, sino que descubrirá nueva información
que de manera manual no podría gracias a las automatizaciones que lleva Anubis
incorporadas.
Entre otras funcionalidades, Anubis permite buscar dominios mediante técnicas basadas
en Google Hacking, Bing Hacking, ataques de fuerza bruta contra el DNS,
transferencias de zona, etc. Permite identificar el sistema operativo de las máquinas
que hay tras los dominios mediante análisis del banner, búsqueda de errores y la
integración de la herramienta nmap. Por otro lado contiene otras herramientas útiles
como un fuzzer Web, la búsqueda del registrador de un dominio mediante
consultas Whois, o la identificación de software utilizado en la organización y
personal existente en la misma mediante el análisis de metadatos en los ficheros PDF.
Foca
Es una herramienta muy sencilla de utilizar que nos permite obtener, entre otras cosas,
metadatos en documentos ofimáticos. Su funcionamiento consiste en utilizar
buscadores que potencien los resultados de los archivos, por ejemplo Google y Bing, y
conseguir obtener todos los archivos ofimáticos asociados a un dominio. Esto se puede
llevar a cabo gracias a los dorks. Una vez encontramos los documentos ofimáticos
asociados a un dominio, es decir, a una empresa que sea el target los podremos
descargar masivamente y extraer de ellos los metadatos a su vez clasificándolos en
diferentes subgrupos, entre los que podemos encontrar nombres de usuario del sistema,
impresoras utilizadas, correos electrónicos, software utilizado, e incluso, el sistema
operativo en el que fue creado el documento.
IV
(La práctica tiene una duración de 2 horas) ACTIVIDADES
Opciones:
-I envía paquetes ICMP en lugar de UDP
-m max_ttl setea el TIME_TO_LIVE de los paquetes
(en la práctica es la cantidad máxima de saltos)
-n muestras las direcciones numéricas en lugar de por nombre
-v verbose
-w time tiempo en segundos a esperar la respuesta
Ejemplo:
Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list (IPv4-only).
-w timeout Wait timeout milliseconds for each reply.
-R Trace round-trip path (IPv6-only).
-S srcaddr Source address to use (IPv6-only).
-4 Force using IPv4.
-6 Force using IPv6.
Lo cual me indica que siendo cliente de Ciudad, si quiero ver su página web, paso 4
saltos intermedios.
A veces sucede que alguno de los gateways intermedios está configurado para no rutear
los paquetes UDP, o tal vez está seteado para no enviar las respuestas ICMP a este tipo
de paquetes. Algo de esto sucedió en el ejemplo anterior en el salto 9.
Llegó un punto donde el TTL de los paquetes de respuesta se excedió o es sólo que el
ISP bloquea muchas de las herramientas de análisis de redes.
Cuando sucede algo así podemos intentar enviando paquetes ICMP en lugar de UDP.
Otro flag interesante para traceroute es -p que nos permitiría elegir el puerto de origen
del paquete, lo cual le permitiría pasar a través de ciertos mecanismos de firewalling,
por ejemplo usando puertos normales como el 53 y otros. El problema es que el
traceroute estándar incrementa el puerto especificado con -p en 1 por cada salto, lo cual
hace harto difícil saber con qué puerto llegamos a destino si no conocemos la cantidad
exacta de saltos (que es justamente lo que estamos intentando determinar!!!).
Usar NMAP
Para escanear los puertos UDP (opción -sU) bien conocidos (opción por defecto),
ejecutar:
Para lazar un ping a todas las Ips de la red y saber que hosts se encuentran activos,
realizar:
nmap -sn [Dirección IP/ Mascara]
Ejemplo:
nmap -sn 192.168.1.0/24
Ahora si desea realizar un scan muy suave para no ser detectado por algun firewall
utilizo estas opciones con el -f ya que algunos firewall poseen métodos para detectar
este tipo de scan.
nmap -sF -p 21 -f 23 110 143 [Dirección IP]
Ejemplo:
nmap -O host/Direccion IP
Ejemplos:
http://www.portalhacker.net/index.php/topic,13828.0.html
Anubis
En primer lugar se debe descargar la aplicación en el siguiente enlace
http://www.flu-project.com/downloadflu/anubis
Nota: Deberá llenar el formulario para descargar la aplicación.
Googlehacking
Con Anubis se puede realizar búsquedas posibles en Google que utilizan para obtener
datos confidenciales de servidores, como ficheros de configuración, nombres, cámaras,
impresoras, passwords, etc. La base de datos está algo desactualizada, pero hemos
analizado la base de datos entera, y se han predefinido las búsquedas que aún funcionaban
y son más interesantes en la herramienta Anubis.
Ejemplo:
Ubíquese en la pestaña Hoogle hacking en Anubis.
Si se desea buscar el vademécum de la ucsm, entonces solo deberemos colocar
ucsm+vademécum y en filetype escribir pdf.
Ing. Karina Rosas Paredes, Ing. José Esquicha Tejada Práctica 02
U.C.S.M. – Sistemas de Seguridad de Redes Página: 27
Igualmente puede realizar el procedimiento con una impresora. Elija Xerox y presione
el boton Search
Metadatos
Los metadatos son una serie de datos que son almacenados junto con los documentos para
ayudar en su identificación. Su intención es representar el contenido del documento, por
lo que suelen almacenar bastantes datos, en ocasiones más de la que nos gustaría, lo que
conlleva a que sea más fácil, por ejemplo, identificar al usuario que ha creado cierto
documento, las herramientas con las que lo ha hecho, la situación física donde se
encontraba, un path que puede darnos información del sistema operativo, etc.
Netcraft
Este servicio nos permitirá analizar los subdominios de un determinado dominio,
proporcionándonos datos como sus direcciones IP, Servidores Web, Sistemas Operativos,
etc.
Ejemplo:
V
EJERCICIOS
VI
CUESTIONARIO
BIBLIOGRAFIA
1. http://cisco.netacad.net/cnams/dispatch
2. www.networkintrusion.co.uk/enum.htm
3. www.devshed.com/c/a/Security/Network-Security-Assessment/3/
4. http://www.flu-project.com/downloadflu/anubis