Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RA-MA
.. -- .. ---.----------_....~--
RA-MA
En el conjunto de Internet se ha definido un sistema coordinado que permite registrar los nombres de las direcciones IP, que en este modele se denominan domini os , y que se asignan a partir de servicios de registro, normalmente pagando al registrador. Los dominios de alto nivel son denominaciones acufiadas que se asignan a redes geograficas como .es para Espana, lingtiisticos como .cat para catalan, funcionales como .edu para instituciones educativas 0 .com para servicios comerciales. Una forma de lograrlo es mediante el fichero host que se encuentra en el SO. En este tipo de ficheros se define un nombre de dominio y su traducci6n a numero IP de forma que siempre que se utilice ese nombre para identificar una maquina el computador buscara primero la traduccion en este fichero. Sin embargo 10 esperado es que no haga falta escribir cada IP y su traducci6n para cada maquina, sino que cada vez que el ordenador necesite resolver un nombre de dominio en Ia red, acuda a un servidor de resoluci6n de nombres DNS. El protocolo Domain Name System (DNS, Sistema de Nombres de Dominio) naci6 en 19~3 con los RFC 882 y 883, que han sidoactualizados con los 1034 y 1035. Conceptualmente es simplemente una red de servidores que mantienen una base de datos asociando una IP a cada nombre de dominio. La base de datos DNS, aparte del nombre de dominio, contiene informaci6n adicional de interes para los posibles usuarios del dominio, as! como para terceras partes, en particular sobre la forma de encaminar los correos electronicos: A (Address): en este campo se introduce la direcci6n IP del dominio. CNAME (Canonical Name): el nombre can6nico es un nombre alternativo para un host determinado, como si fuera un alias. NS (Name Server): si un dominio tiene uno espera su direcci6n IP.
0
MX (Mail Exchange): direcci6n IP del servidor encargado de recibir el correo electr6nico dirigido al dominio. PTR (Pointer): funciona a la inversa traducci6n de direcciones IP a nombres. del registro A, permitiendo la
TXT (Text): permite asociar informaci6n adicional a un dominio. Esto se utiliza para otros fines, como el almacenamiento de claves de cifrado.
__
--'I
36
RA-MA
Los servicios DNS en los servidores utilizan un protocolo denominado Berkeley Internet Name Domain (BIND, Nombre de Dominio para Internet de Berkeley) que se encarga de la relacion entre la base de datos DNS con el programa c1iente.
1.10 PROTOCOLOS
Hasta ahora hemos visto muy someramente como se transmite la informacion, para ayudarnos a entender como funciona Internet. Sin embargo no hemos hablado en ningun momento de la forma en que se organiza esta informacion. Al principio del capitulo comentabamos que existen dos formas de transmitir la informacion: Conmutacion de circuitos: una vez establecida la comunicacion reserva el canal, que puede ser fisico 0 virtual, reservando cierta cantidad de ancho de banda. Conmutacion de paquetes: la informacion se agrupa en tramos de datos que llevan informacion del origen y del destino. la
Internet se basa en la conmutacion de paquetes para transmitir informacion. EI tramo de datos recibe el nombre de paquete 0 datagrama.
A la hora de enviar un paquete a traves de una red, el ordenador afiade las cabeceras de los distintos protocol os. A este proceso se le llama encapsular y sigue, en orden inverso, 10 que se conoce como niveles de red. Estos niveles tratan de abstraer las distintas funciones necesarias para transmitir un paquete. La OSI (Open System lnterconection, Interconexion de Sistemas Abiertos) distingue las siguientes capas 0 niveles: 1. Fisica: es el nivel mas basico y se encarga de transformar los datos binarios en impulsos electricos, para transmitirlos ya sea a traves de un cable de red 0 del aire. Una transmisi6n inalambrica encajaria dentro de esta capa. 2. Enlace: proporciona un flujo de datos fiable a traves del medio fisico. Se ocupa del direccionamiento fisico de los datos de un nodo al siguiente. Haciendo un simil con el cic1ismo, esta capa se encargaria de ganar la etapa. Las diferentes implementaciones del protocolo Ethernet 0 el X.25 encajarian aqui.
c
c s
--r---- _--
..
--.
...
--
s: , --_._----.
RA-MA
Y PROTOCOLO TCP/IP
37
3.
Red: se encarga de no perder "de vista el objetivo final de la conexion. Trata de encontrar el mejor camino desde el origen hasta el destino. Volviendo al simil anterior, esta capa se encargaria de ganar el Tour. EI ejemplo por excelencia seria el Proto colo Internet (IP) del que ya hemos visto algunas caracteristicas.
mas
claro
Sin embargo,. estos niveles no se usan en la practica de Internet. Al contrario, la posterior aparicion de estas normas respecto al protocolo IP y el caracter anarquico de las innovaciones llevadas a cabo para Internet al principio de su andadura configuraron otra distribuci6n de las capas Iigeramente diferente:
Transporte: acnia igual que el mismo nivel del modelo OS I, sin embargo
asume algunas funciones de la capa de sesi6n.
38
HACKING
Y SEGURIDAD
EN INTERNET
RA-MA
4. Apllcacion: asume el resto de funciones de la capa de sesion, asi como las capas de presentacion y aplicacion. Esta separacion de niveles resulta fundamental para entender el funcionamiento de todas las herramientas que veremos en los siguientes capitulos. Por adelantar unos ejemplos, veremos la diferencia entre utilizar un cliente/servidor FTP, mediante el uso del protocolo UDP 0 el uso del protocolo TCP.
IHL (Internet Header Length, 4 bits): la longitud de la cabecera Internet en palabras de 32 bits. En la imagen "Cabecera IPv4:', cada linea representa una de estas palabras.
Type of Service (Tipo de Servicio, 8 bits): estos bits se utilizan para sefialar el nivel de servicio deseado. Estos 8 bitsse distribuyen como se observa en
la imagen.
4 6 7 1 2 3 5 o +-----+-----+-----+-----+-----+-----+-----+-----+ PRECEDENCE I STRMIRELIABILITYI SIR SPEED I +-----+-----+-----+-----+-----+-----+-----+-----+
Su traduccion al castellano es, por orden, la siguiente: Precedencia (marca el orden en el que el router envia los paquetes IP), Streaming (activado si hay un ordenador prestando algun servicio preferente a' la red), Fiabilidad (los paquetes de baja relevancia son los primeros en
RA-MA
39
desecharse cuando un encaminador esta sobresaturado), Velocidad sobre Fiabilidad y Velocidad. Por ejemplo: 00101011 marcaria un paquete poco importante con mucha prisa .
.
Total Length (Longitud Total, 16 bits): indica la longitud, en octetos, de
todo el paquete IP, incluyendo el contenido y la cabecera.
Flags (Banderas, 3bits): el primer bit debe tomar valor O. EI segundo es el bit de "No fragmentar este datagrama" y el tercero el de "Hay mas
fragmentos". Se consideran activados si toman valor 1.
13 bits): indica en que punto del diagrama se sima este fragmento. En el primer paquete toma valor O.
Source Address (Direcci6n de Origen, 32 bits). Destination Address (Direcci6n de Destino, 32 bits).
variable): el protocolo IP establece una sene de opciones para mensajes de caracter especial como son los errores 0 paquetes de sincronizacion.
Options (Opciones,
Padding (Relleno, variable): su longitud depende de la longitud del campo Options y se limita a completar con O's hasta los 32 bits de palabra.
Las principales desventajas de IPv4 son las siguientes:
Longitud de cabecera variable: esto, que inicialmente aportaba una gran ventaja en flexibilidad, con el posterior crecimiento de Internet ha supuesto
40
RA-MA
ser su mayor desventaja. La longitud de cabecera variable supone que esta debe leerse a nivel de software, reduciendo asi la velocidad del proceso. Direccion de 32 bits: la cabecera IPv4 reserva 32 bits para las direcciones. Esto ha resultado ser insuficiente para el tamafio actual de Internet.
o
012
1 3 4 5 6 7 8 9 012
2 3 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IVersionl IHL
I I
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Identification
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Time to Live
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I
I
+-+-+-+-+-+-+.-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Padding
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Cabecera IPv4
La nueva version del protocolo IP resolvera estas desventajas adoptando una longitud de cabecera fija de 40 bytes y reservando 128,bits para cada una de las direcciones. Sus especificaciones tecnicas se detallan en el RFC 1883.
Version (Version, 4 bits): para IPv6 toma el valor 6. Prio. (Priori dad, 4 bits): este campo toma valores del 0 al 7. Las
recomendaciones aplicacion. de la IETF asignan estos niveles en funcion del tipo de
Flow Label (Etiqueta de flujo, 24 bits): el objetivo de est a etiqueta es reducir el tiempo de procesamiento de cada paquete en una secuencia denominada flujo. Un flujo se caracteriza por coincidir en su cabecera IP el campo flujo, prioridad, origen y destino. Para diferenciar un paquete de flujo de uno que no 10 es, en el paquete de flujo, este campo toma un valor distinto de O.
Ilk-
------
.--
RA-MA
41
Hop Limit (Limite de saltos, 8 bits): sustituye el campo Life Time de IPv4.
Se reduce en uno cada vez que es necesario descartandose cuando este contador llega a O. devolver el paquete, -
Source Address (Direcci6n de Origen, 128 bits). Destination Address (Direcci6n de Destino, 128 bits).
o o
1 2 3 1 2 3 4 5 6 7 8 9 ,0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Prio.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I Version I
I
I
Length
I I I
+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Payload
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I
+
I
+
I
Source Address
+
I
+
I
+
I
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I
+ +
I
+
I
Destination Address
+
I
+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
Cabecera IPv6
Las nuevas direcciones IPv6 se expresaran de forma agrupandose en ocho grupos de cuatro valores hexadecimales: 0123:4567:89AB:CDEF:OOOO:0123:4567:89AB.
hexadecimal,
42
HACKING
Y SEGURlDAD
EN INTERNET
IQRA-MA
Sin embargo, todo 10 demas que hemos estudiado sobre este protocolo se seguira aplicando de la misma forma.
pe de
1.
RJ
pu
m:
va
1.10.1.3 PROTOCOLO
ICMP
Para ayudar a resolver distintos tipos de incidencias se desarrollo un protocolo de retroalimentacion. EI Internet Control Message Protocol (ICMP, Proto colo de Mensajes de Control para Internet, RFC 7~2) facilita mensajes de error a los administradores de sistemas, explicando la razon por la que han podido perderse paquetes IP. Un resultado tangible de este protocolo es la herramienta ping, que se utiliza para comprobar que un paquete IP conteniendo una cabecera ICMP con un Echo Request Ilega a su destino, obteniendo una respuesta Echo Reply.
ga
cc pt es fl.!
RA-MA
Y PROTOCOLO TCPIIP
43
Especialmente nos vamos a fijar en los bits de control, que nos van a permitir posteriormente enumerar los puertos y servicios que corren en la maquina destino: URG: Urgent, marca el paquete como urgente ACK: Acknowledge, solicita confirmacion para la recepcion en destino.
SYN: Synchronize, efectua la solicitud para sincronizar secuencia. FIN: cierra la conexion con el ordenador al que se envia,
los numeros de
1.10.2.2 PROTOCOLO
UDP
El User Datagram Protocol (UDP, Protocolo de Datagramas de Usuario, RFC 760) es en realidad un protocolo muy sencillo que se limita a especificar los puertos de .origen y destino ..para. el contenido.idel .paquete. EI campo longitud informa del numero de octetos del resto del mensaje y la suma de control provee un valor para comprobar que la cabecera se ha recibido correctamente.
o
012
4 5 6 7 819
0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I I
Cabecera UDP
. Puerto
de destino
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Suma de control
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
La principal diferencia de este protocolo respecto a TCP es que no garantiza ni la entrega ni la ausencia de duplicados por 10 que estes deben ser controlados a nivel de aplicacion. Aun asi, comparte con TCP cada uno de los puertos del ordenador, 10 que 10 hace efectivo para trabajar altemativamente con este protocolo cuando TCP no esta disponible y UDP sf, como en el caso de un firewall mal implementado. .
44
RA-MA
Samba.
ha
qu
va de pr en
SI1
pr
.es
m:
pr.
nr co un or,
de
--
.------~-.--.----------------------
Capitulo 2
46
RA-MA
2.1 SEGUIMIENTO
DE UN OBJETIVO
Entre los datos que necesitamos conocer se encuentran: 1. Nombre del dominio EI nornbre del dominio es la puerta de entrada principal para saber a contirruacion las direcciones IP de maquinas pertenecientes a ese dominio. 2. Direccion IP La IP identifica de forma unica la maquina que se intentara com pro meter, nos da por 10 tanto la direccion don de se va a realizar el ataque a traves de los servicios disponibles.
en de or
an
m:
all
aft
I
A It
'oN
l:!
E
In
rE
2.
res
no
2.2 RECOPILANDO
INFORMACION
DESDE INTERNET
La herramienta de las herramientas es sin duda Internet, y desde aqui se empezaran a conocer los datos que se enumeraron en el apartado anterior. EI punto de partida es el dominio, asi que se necesitara conocer el dominio bajo el que se encuentra el objetivo.
fOJ pn
gr;
ve un
---~.
RA-MA
47
Supongamos que un intruso malicioso planea lanzar un ataque sobre una empresa exportadora de Argentina Hamada AndesTrade. Lo primero que hara para descubrir en que dominio se encuentra puede ser buscar el nombre de la organizacion en un buscador de Internet. En la figura siguiente vemos que el dominio de AndesTrade es andestrade.com.ar. Recuerde que el dominio se obtiene descartando el primer indicador por la izquierda de la organizacion investigada, pues este indicador hace. alusion a la maquina en concreto; por ejemplo en www.arcos.es, el dominio sera arcos.es.
le I GoOS
.
La Web d t d
Imagenes
~ _ Busqueaa
. ..... .
an es ra e
eUsgueda .v.nzad.
P'tfefP.:nclas
Busqusda:
r.
la Web t: paginas en espafiol t: paginas de Espana Resultados 1 - '10 de aproximarlamente 2.160 de andestrade. (0.14 segundos)
La Web
Meat exporter Wine exporter - AndesTrade-1 l<lQ!J2C<l ",<:1~ i'.~girlci J A foreign trade company that specializes in representing Food arid Beverage products from the most qualifi ed producers and manufactu rers of Ar.gentina, ... W-NoN andesn ade O)1n ~01- 12k f.Il.J,-m'!; - [J..cir!i\;;~:juoiI31"'~ AndesTrade - Contacto
Email: al@llntieS1fa{le.com.ar(") Campos obligatorios.-(j Nombre1s:. EmpresaCompany: .. Webs seleccionadas por AllllesTrade exclusivalmente para Usted. w""'N.l'In.-testr,)de.c(llrl.~rl"Ur.()n(<lr.") htm 10~ . Resuhadl) Suplerolt'llt;;;rlo9Lr:;"d.L~. - f-','(Jin~s ~Irniial.!l.ii
Proveedor AndesTrade,
Intercambios para empresas. Somos una empresa de Comerdo Intemacional, dedicada a la representaci6n de Alimentos y Bebidas provenientes de los mas . www.3cambiode.com/proveedor_81440IOC0517545256556B5ffi8684553. html- 8k'. .
48
RA-MA
RA-
en su nuevo servidor 2003. En esta consulta el administrador se dedica a facilitar a todo el que la quiera leer informacion sobre su maquina, sus datos de contacto en la empresa. Toda esta informacion es parte irnportante a la hora de planificar un ataque a determinados sistemas. Igualmente los canales de IRC (Internet Relay Chat) nos permiten mantener conversaciones en tiempo real a traves del ordenador (mediante teclado). Este es otro metoda de obtener informacion sobre la posible victima, des de su IP, que queda visible a partir de cualquier archivo que nos envie, 0 10 mas sensible conocer determinadas comunidades underground que residen en estos canales, que puede ser excelentes ali ados para el intruso malicioso. Estos programas son cada vez mas sofisticados, y cuentan cada vez con mas funcionalidades, incluyendo la ejecucion de scripts. Todas estas funcionalidades, que dan una enorme potencia a los programas, pueden volverse en una pesadilla para la seguridad. Para usar estos servicios de la red podemos utilizar cualquiera de las innumerables herramientas que circulan por Internet. Como ejemplo de algunas de ellas se pueden mencionar las siguientes: NEWS (para Windows): http://xnews.newsguy.com) Xnews (se puede descargar de
direc
se pt
NEWS (para Linux): se puede, descargar http://www.math.fuberlin.de/~guckes/nn IRC (para Windows): http.z/www.mirc.co.uk/ IRe (para Linux): mIRC, la
de http://www.tin.org
simil
Xirc,
la
podemos
descargar
de
http.z/www.Iinuxlots.com/c-xirc
A modo de ejemplo, y para los menos versados en los canales IRC, vamos a explicar brevemente la configuracion del tan extendido mIRC. Una vez descargado el programa, que solo existe en su version en inglcs (aunque el manual se puede encontrar en la pagina mencionada mas arriba en castellano) nos encontramos con la siguiente ventana de configuracion:
____
b_, =~"'-".
--
-------~F2'
RA-MA
, ,
:- Servers
} : i-- Locailnfo
~~ Ii1
I
IRe
Ahi debemos introducir un nombre, que no tiene porque ser real, una direccion electronica, que nadie va a confirmar, tu nick 0 apodo, para que la gente se pueda dirigir a nosotros y un segundo nick, por si alguien esta usando el nuestro. Seguidamente aparece un listado de canales donde nos podemos conectar, similar al de la siguiente figura. EI motivo mas comun de falta de conexi6n es que ambos nick ya esten siendo usados as! que 10 mejor es ser original.
#Casual #CasualChat #Chat-World #Chatahottcs #Chataway #chatbuddies #Chatterz - Fun chat fCl( all =) #Chatzone #Cheers
f I:t
i.
50
HACKING Y SEGURIDAD
EN [NTERNET
RA-MA
RJ
Como ultima puntualizacion, aparecen muchos mas canales haciendo clic en el cuarto boton de la izquierda (donde nos indica "Channels list", lista de canales) que en la lista inicia1. El uso de MSN y sus equivalentes han dejado un poco de lade el uso de los canales IRC, pero comentar que el uso de estes, asi como las comunidades en que ellos existen, conforman una de las herramientas mas potentes de- conocimiento y hacktivismo, de todos estos afios. Le invitamos a instalar su cliente IRC y comenzar el uso de este de una manera asidua.
Esp esta ww
pag
tam
pru nue la ! org
Tools
Commands
Window Help
& i ~ I ~ 10 0 g I [illl8]
dragol04
0\lIebChat
i ~WebChat
dragol05
, t;
_IDI~
,
1
! ~!
_lDJ~1
_IDI~
.UClub-Chat
!UPUSS9 jUloue90uoeverdie I ;U\IebCdlll
i!
;,
"
jUjb IUIllYop II -".11 .--~-r ! I 1-#telllan-Se)atl II '!If , U2 099 1* !Us_ela9aogbaru weluwp.putrajaya 90 Ukalllpung I OI,l'IUpahang * ,Usurid I * I luupto"10
!! 'Iii
II
I
ii'
_I
-I~r~"~' n']
!~f!'?&"D_qa~,!,j,'i ...
~
}
!. ~,,< .. ,.,
---_------------
._
"'-'-
~RA-MA
51
Espana tiene www.nic.es, Portugal tiene www.nic.pt, etc. Para los domini os .com esta www.nic.com y siguiendo el mismo razonamiento Argentina tiene que tener www.nic.ar. (La gestion. de domini os no esta exclusivamente centralizada en paginas pic, por 10 que veremos posteriormente otros sitios de busqueda que tambien son importantes de visitar al buscar informacion sobre dominios). Como prueba de concepto podra introducir simplemente el nombre del dominic (en nuestro ejemplo "andestrade") y obtendremos toda la informacion que aparece en la siguiente figura, que incluye los servidores DNS primario y secundario de .la organizacion.
COIIsIIII ... tie Oolllillios Eillolllillio . <l1I<lestmde,I;OIll ll se enCllf!ntl <II egistTado des<lf! eI12-()1:'2004. Fee IIOl,Ie vellcimiellto: 12'01,2008
D.ltos en Argentin::l
Domicilio:
Peru 1360 San Telmo Cludad de Buenos Aires ctucac de Buenos Aires
Re sponsabte ; Gisallcie. HU!Jo Domicilio: Humberto Primo 1912 Cillel.:ld: Capital federa I
(Ie coutactoc
1 0 - 18 hs ToWebs Hosting
Admlnistradora:
Domicllio: AV: Belgrano 1 586 pi so 10 Ciml.:lll: Capital Federal r.llcliflo Post"l: r.1 n~V<A(')
par www.nic.arsobre
fa empresa Andestrade
52
RA-M<\
Entid~cJ Acrntntstradc
DOll1leilio: Av. 8elgrano 1586 plso 10 Cimlall: Capital Federal CodillO Postilt C1 093.AAQ
PIOvill-C-ia:
Pais: hgentina
Provincia:
Pais: Argentina
Telefollo: 5031-1111
F,lX: 5031-1111
10-20 30
algt
D14S PI inml io: Nombre:ns1.dnspolnl.ne1 Direccion' P: DNS SeclIllll,ll 10: Nombre:ns2.dnspolnt.net DirecciOn 'P:
~
.!
Datos ope
ion ales:
Como se ha comentado, aparte de los sitios nic, existen tambien direcciones de Internet alternativas donde podemos encontrar informacion sobre los dominios a investigar (como http://www.allwhois.com/,http://www.ripe.neti entre muchisimas). Siempre sera conveniente tener mas de una fuente de informacion pues no siempre la misma pagina nos facilitara la informacion que se busca.
2592
.ms
_ud act act act
_s1
_"tc
"tea tea acc acc acc acc cat cat cat cat cat cat cat
cat cat
cal cal
...-
.:lRA-MA
53
encuentran bajo ese dominio. EI solicitar una transferencia de zona a un servidor DNS, y obtener estas tablas, obedece a un error de configuracion en los propios servidores DNS. Lo normal es que esta tecnica no debiera funcionar, pero se asornbrara de la cantidad de maquinas con este error de configuracion cara a Internet.' Para realizar la transferencia de zona abrimos una linea de comando (shell o cmd), que en Windows seria Inlclo/Ejecutar, escribimos cmd y apretamos intro. Nos aparece la consola donde escribimos: Nslookup <intro> Server <ip del servidor dns, que vamos a introducir y que nos ha facilitado alguna de las webs anteriores> <intro> . Set type=any <intro> (para que nos facilite todas las maquinas que tenga disponibles en las tablas) Is -d <nombre del dominio> A modo de ejemplo podemos usar la pagina de una conocida Universidad espanola, que nos permite la transferencia de zona a partir de la informacion facilitada por nic.es. Es importante resaltar que en este caso la transferencia de zona no .se permite con la DNS principal, que esta correctamente configurada, sino con una de las DNS alternativas, que no esta correctamente configurada.
> ls -d uam.es
ens. uam. es] uam.es. .2592000 172800) uam.es. uam. es. uam. es. uam.es. uam. es. uam.es. uam. es . ..JT1sdcs _sites _tcp _udp actcultura. ac actcultura12. ac actcultura12.ac r eat ro. ac teatro. ac acceso acceso acceso acceso ca'talogo28003.adi catalogo28004.adi catalogo2800S.adi catalogo28006.adi catalogo28007.adi catalogo28008.adi catalogo28009.adi catalogo28010.adi catalogo28011.adi catalogo28012.adi catalogo28013.adi catalogo28014.adi ca'talogo28015.adi catalogo28016.adi
SOA
MX MX
nSO.uam.es
hostmaster.uam.es.
(2007032322
86400 7200
NS NS NS NS NS NS NS NS NS
A
HINF'O
A
HINF'O
A MX MX
HINF'O
A A A A A A A A A A A A A A
smt p. uam. es 10 mail. rediris. es 20 nS.uam.es nsO.uam.es ns2.uam.es sun.rediris.es chico.rediris.es atocha. uam. es at ocha. uam. es atocha. uam. es atocha.uam.es 150.244.6.147 PC MS-WINDOWS-98 150.244.44.208 PC I~S-WINDOWS-98 150.244.92.2 10 acceso.uam.es 20 smtp.uam.es PC MS-WINOOWS-98 150.244.9.207 150.244.28.3 150.244.28.4 150.244.28.5 150.244.28.6 150.244.28.7 150.244.28.8 150.244.28.9 150.244.28.10 150.244.28.11 150.244.28.12 150.244.28.13 150.244.28.14 150.244.28.15 150.244.28.16
54
HACKING Y SEGURIDAD
EN INTERNET
RA-MA
RA-J.\.
En esta imagen podemos ver que hay muchas maquinas (el listado completo comprende unas 23.000 lineas) y en el centro se identifica el tipo de maquina que es A para servidores y ordenadores; MX para los servidores de correo; NS para los servidores DNS; HINFO facilita informaci6n sobre la maquina, junto con su sistema operativo, como se puede apreciar en la figura anterior.
ruta h:
Rei
1 2 3 4 5 6 7 8 9 10
1)
. 1<
1
St; .!
17
()!.
extern
El funcionamiento del programa de trazado de rutas es el siguiente: el ordenador origen (previsiblemente el nuestro) lanza una datagrama IP con tiempo de vida (TTL - Time-To-Live) al host destino; el primer router con el que se encuentra el datagram a 'disminuira el tiempo a 0 y devolvera un mensaje ICMP "Tiempo excedido" (Time exceeded), procediendo a eliminar el datagrama; asi en el paquete ICMP de regreso queda identificado el primer router, por 10 tanto ya tenemos el primer salto dentro de la ruta. Este proceso se va repitiendo con TTL cada vez mayores de forma que vamos pudiendo identificar cada uno de los routers entre el ordenador origen 'v el ordenador destino. Cuando el trazador por fm alcanza el ordenador destino con el paquete UDP sobre IP realizando una petici6n sobre un puerto no valido 0 improbable, es cuando el ordenador destino responde con el mensaje ICMP "Puerto Inalcanzable" (unreacheable port). De esta manera se ha podido trazar la ruta hasta la maquina objetivo, y mas importante, ver que maquinas se encuentran justo delante de la objetivo, pues sera interesante determinar que son en realidad estas maquinas: si son routers, filtradores de paquetes 0 dispositivos que realizan tare as de routing y firewall simultaneamente. Una herramienta disponible en Internet para realizar este tipo de trazados de ruta, y que veremos tambien para barridos ping, consultas ICMP y demas entretenimientos, es NetScanTools.
siguie Madrj
Rea~ Hop 6 7 8 9 10
11
12
13 14 15
16
17
--------
---
--r-". ,
r
I
..:
RA-MA CAPITULO 2. BUSCAR UN VECTOR DE ATAQUE 55
Con esta herramienta se puede realizar, en un entorno grafico, el trazado de rota hasta una maquina objetivo. En la figura siguiente vemos el resuItado.
T",get Hostname orIP address )200,62.55.253 Irece
MultiTlace
Hrip ,IP.,AddIe"s Hosma.e 1 2 87.235.0.10 9tatic-10-0-235-87.ipcom.comunite1.net 3 212.145.4.18 4 212.145.4.76 HAD06RI01-VI2.ipcom.comunieol.net 5 130.244.218.125 mad3-co~e-l.qigebiteth4-0-0.swip.net 6 193.251.252.189 qi8-0.madbb2.KadIid.opent~ansit.net 7 193.251.242.242 30-2-1-1-0.m6dc~2.MadIid.opentransit.net
B,
30 29
30
Status IJopacket 1:.. 11:0:Time T .. 11: O:TillLe T .. 11: O:Til4eT.. 11: O:Ti14eT .. 11: O:TilleT.. 11: O:Til4eT..
Stop Selt4l, ..
I I I
1
CleIllAed. Aut()$ize
r.;
193.251.243.166 poI4-0.pesc~3.Peris.opent~ansit.net 193.251.242.98 poI4-0.89hc~I.A9hbu~n.opent~ansit.net 193.251.241.42 qi9-0-0.esbc~2.Ashburn.opent~an9it.net 193.25,;1.254.14290-7-0-0-0.aUcd. Atlanta.opent~ensi t.net
'_ . ._.:'. ,j_:...",-~_~ ./ ->;.r _
AesolvelP
adelle sse
9 10 11 12
~_.
host name.
s to
Double Dick on
-;1:'"
t;'
-.;,
"
TtoceR!>.ateSt.tiS!ic.:<3Zdata bytes'lo 253.55,!l2.200.hoSts.l>inetiosk$:coni(200.62:55.253)' Sla;tTiTIe:"'~26f.tai2007.10:4~:53" .'i;' ':';, ',','.: ;:i) . .'~" - ' " __. 17'~~s ~~in~ted,.15packet$leceived, l1;:'{~ei,lo'$,,', .'
r"::~, .., ;__
.... ,
"j'
"
Figura 2-8. Primera parte del resultado del trazado de ruta a Andestrade con ,NeiScanTools
Se puede observar que el primer saIto busca la salida a Internet, con una IP externa de nuestro router de 87.235.0.10. Despues de 17 saltos vemos en la figura siguiente que se llega a la maquina del servidor ifxnetworks, despues de pasar por Madrid, Barcelona, Paris, Ashburn, Atlanta y Miami.
'.,
,,)~,
.-"
....
,. :.
I,Time I Status
6 7 B 9 10 11 12 13 14 15
16
I
.
qi8-0.madbb2.Mad~id.opent~8n3it.nec so-2-1~1-0. JIladc~2. Maddd. opent~ansit.'net ' 193.251.243.166 ,po14-0.pascr3.Patig.opent~&r~ic.net 193.251.242.98' poI4-0.ashcrl.Asbburn.opent~~it.nec 193.251.241.42 qi9-0-0.ashcr2.Ashbu~n.opent~en~it.net 193.251. 254.142 ,so-7-0-0-0. atlc~l.Atlen'ta.opencr ensft.net 193.251.240.86 so-4-0-0-0.at1cr2.Atlanta.opent~an5it.net 193.251.240.190 so-1-0-0-0.miac~4.Mi8llLi.opentr~it.net 193.251.131.142' unete.G~.opent~~it.net 200.62.6.65 .
,i. "
11:O:Til4e T .. 11:0:Tillle T .. IJopacket ~ .. 11: 0:Til4e T.. 11:0:Time Too 11:O:Time To. 11:O:Til4e T .. 11:O:Til4e To. 11:0:Time To. 11:O:Time T .. 11:O:Time T.,_ 0:0 ECh,Re
."
r.~
"
:StoP
,Setup .. ,
,I
P'
y ~
;: Tr~eA",:,teSt~ti*t: ~ datill>y~$lo 25'l55.62.2QP_hosl.lxnetwork s,com [200.62.55,253) Start Time: l'1ol'iiwMar 201l71tJ:4~53 :':', -"" ~ '.', :. ,'... , .i' " ;7 paekei$'tr~led:f.5p~tilSetil~ce~";;ci;.l;}.;'packet loss " . ' " rpUnd-triplm.i!1)iOI~vg/ri1ax'"w."()1I.2~,: > .'<'":;'>~,1' _
-'
...
IAA
,.
Figura 2-9. Segunda parte del resultado del trazado de ruta a Andestrade con NetScanTools
56
RA-MA
lORA
En el caso de la universidad vemos que el ultimo salto nos lleva a la web de la UAM, www.uam.es.
'. /
brae:.
hace gem sigu
Ready. Hop 2 3 4
6
I IP
Addtess
I Hosenlllle.
tatic-10-0-23S-87.iycoa.comunite1.net cdmap1-a2-feO.ipco . comuniee1.net
?
7 8 9 10 11
!i
87.23S.0.10 212.14S.4.2 212.14S.4.163 193.149.1.26 130.206.250.13 130.206.2S0.18 130.206.206.1S0 130.206.206.62 193.145.14.13 150.244.1.211 150.244.9.237
71 68
71 72
rediris-l.e~panix.net EXP.S02-1-0.lB-IRIS2.red.rediri . es BAC.XEO-0-0.LB-MadtidO.red.rediri3.e3 AlO-I. EB-MadtidS. ted. tedith. es CIlll-tOU'tet. ted. teditis. uaa-Ioute~.tedi.adtid adrima~d.otq mottedelo.te~eo.uam.e~
e.
WW.UaJll..e3
84 83 83 83 82 84 19
No packet J:eceiv . ll:O:Tim. To Liv . 11:0:Time To Liv 11: O:T1me To Liv l1:O:Tue To Ltv 11: O:Tue To Ltv ll:Q:Time To Liv 1l:0:T1JI. To Liv 11: 0:T1JIe To Liv 11: O:Tue To Liv l1:Q:Tb re To Liv 0:0 lcho Reply
cual
CIeaJ Red: .,
Autosize .
-':-.:';,!
u :,
puec
n)i
,~
fOU1d""
TlaceAoute Sialit)ict: 32 dala byIes to www.lUlfn.es(15O.244.9.237J Slarl Tine: Sun. 25 1>1 .. 200717:18:06 12 packets ban.milled. 11 packelsleceived. 87. packcllo .. Ims) mirJavfJ}ma>< 681811119
~. __
;':!J .. ."'veI
Re e~ .p 1
i 1 i 2 3 4
4 '
2.2
con ater
de datos:
Estadisticas de ping para 200.80_42.138: Paque t ea e enviados = 4, l'ecibidos = 4, perdidos (0x pel'didos), Iiempos apr-oxdmado s de ida Y vue Lt a en milisegundos: Minimo = 277ms, Maximo = 317ms, Media = 288ms
= 0
pro
RFI
dos
IC~
sist
Figura 2-/ /. Ejemplo de PING
ol
RA-MA
57
EI comando ping tambien se puede lanzar contra una direccion de broadcast, de esa forma responden todas las maquinas de la red, 10 que nos permite hacemos una idea del tamafio de la misma. Por otro lado, los barridos PING generan una enorme cantidad de ruido en la red, como veremos en el apartado siguiente. Otra forma de realizar un barrido PING es con la herramienta anterior, 0 cualquier otra equivalente disponible en la red, y denominadas todo en uno, como puede ser Samspade.
. AutoPin5!
3..:J
~1
..0 200.62.55.253 200.62.55.253 2 200.62.55.253 > 3 200.62.55.253 4 200.62,55.253
,(
Ping s'top
SUbnet Mask
1 I
I I I I I I I
_.:
32 32 32 32 32
54 54
S4 S4
lS9
136
54
0: 0 0: 0 0: 0 0: 0 0: 0
, ~~~~~~~~~~"""'=#'!!l!!'!:!!i"!!!!:'!:!!5.--~!!O!'.~'
""""","~#~~~~===~I>
~'
i~~t~:"'~~'~';~: ".'
1 0 .AkHostAddre., ! 0 7-lJMssigned
.zl
I_~_:~~~~
I
I.. : . l
0
Aunque se podrian mencionar infinidad de cosas el protocolo ICMP (ver RFC 792), 10 que interesa en este momenta es que cuando se realiza un PING entre dos maquinas se envian paquetes mediante este protocolo. De hecho, un paquete ICMP contiene los primeros 8 bits del paquete IP que 10 genero, por 10 que el sistema receptor del paquete sera capaz de extraerlo de la red y asociarlo con TCP oUDP.
58
RA-MA
RA
Bit 01
Bit '16 23
Bit 24 31
SIgn
iden
que
I
t
Los campos que constituyen la cabecera del ICMP son los siguientes:
Type (8 bits): sirve para identificar el tipo especifico de mensaje
!
f
r l !. ,
mensaje.
Checksum (16 bits): comprueba la integridad para el mensaje ICMP
Analizando mensajes ICMP de error se puede observar que los errores mas comunes aparecen en el tipo 3, que es el que indica que el paquete no ha llegado a su destino (destination unreacheable).
---------
__
--
--
RA-MA
Las comunicaciones con proto colo TCP son de caracter formal, eso significa que antes de que los ordenadores se empiecen a comunicar tienen que identificarse. Para ella existe 10 que tecnicamente llamamos three-way handshake, que vienen a ser tres pasos para identificarse: EI ordenador que comienza la conexi6n (cliente) envia un paquete SYN que contiene el mimero de se.cuencia inicial asociado a la conexi6n al sistema 0 maquina destino. EI sistema destino responde enviando un paquete SYN ACK que confirma la recepci6n del primer paquete SYN y que contiene el propio numero de secuencia del sistema destino. EI cliente responde enviando un ACK, con 10 que la conexi6n se establece
y comienza la transferencia de datos.
I
f
r
RA-
60
RA-MA
1" I, I,
I'
i
I'
1. El sistema que desea finalizar la conexi6n envia un paquete de FIN. 2. El otro sistema responde enviando un ACK de recepci6n paquete. Se envia un nuevo paquete desconexion. Que a su vez responde comunicaci6n. de FIN a1 ordenador correcta del
i
t
i
I
llega un pl
3.
que ha iniciado la
4.
en e: de ti puer
, Tt.3fIS
ierer:.. Jf..'J.:J
intru
es tn
~(i.f~ ,fiit.fO.5
GOi'7>flXJ-Dn'
fll!rrtHt1.:lId.:l
Al existir 65.535 puertos disponibles ha surgido la necesidad de que haya un estandar que garantice que los servicios mas comunes se encuentren siempre en' los mismos puertos. Esta medida, indispensable para una coordinaci6n de esta magnitud, y que indudablemente facilita el funcionamiento, puede ser utilizada de forma maliciosa. Asi, los caballos de Troya, 0 puertas traseras, tambien se dedican a abrir puertos y quedarse a la escucha. Una vez aclarado el funcionamiento de los puertos, vamos aver c6mo se escanean para saber cuales estan abiertos y a la escucha, es decir, cuales podrian
RA-MA
61
llegar a presentar alguna vulnerabilidad, ya que en principio y por sentido comun, un puerto cerrado no es susceptible de un ataque. para realizar un listado de puertos no es absolutamente necesario conocer la direccion IP, pues podriamos usar el nombre de la maquina y el DNS se encargaria de resolverlo, aunque ya hemos visto ]0 sencillo que es conocer la IP a partir de un simple ping, y asi evitamos que la aplicacion pierda tiempo resolviendola. EI escaneo de puertos es una de las tecnicas mas ruidosas que se utilizaran en este capitulo, pues genera un aumento de trafico en la red, y ademas un aumento de trafico sistematico. EI escaneador de puertos tratara de detectar cuales son los puertos abiertos y esto es facilmente detectable por cualquier firewall 0 sensor de intrusos, 10 que nos dejara absolutarnente al descubierto, ya que nuestra propia IP es transmitida en este proceso. Haciendo una analogi a entre intentar entrar en una maquina y asaltar un chalet, el escaneo de puertos seria equivalente a dar una vuelta alrededor de la parcela, cerca de la verja, sujetando con fuerza los barrotes y agitandolos aver si ceden 0 no ceden, ver si la puerta del garaje esta abierta, etc. Existen muchas herramientas para realizar escaneos de puertos. En este apartado vamos a analizar los puertos con cuatro herramientas, una de ellas la hemos visto anteriormente, primeramente se podria usar incluso NetScanTools, que en sus nuevas versiones incorpora un completo escaneador de puertos, tanto para una (mica IP como para un range de direcciones IP, y logicamente para todos los puertos 0 para un intervalo especifico de los mismos, pero de manera altemativa para el lector tambien veremos como funcionan nmap (el escaneador favorito para nosotros), netcat y scanline.
2.2.7.1 NMAP
Nmap funciona tanto en Windows como en LinuxlUnix. De hecho fue desarrollada inicialmente para Linux/Unix por el hacker Fyodor, aunque en la actualidad se ha portado con bastante exito a plataformas Windows. La herramienta en cuestion esta pensada para consola y la pagma de Fyodor http://www.insecure.org soporta unicamente Ja version de consola para Windows. La version grafica hay que descargarla en uno de los multiples sitios donde se encuentra en Internet (simplemente bastara teclear "nmap for Windows" en Google). La version grafica 0 front-end de Windows que podra encontrar en muchos sitios de Internet deja mucho que desear y se encuentra anticuada. Pero para aprender sobre las bondades y el uso a nivel intermedio de este potente escaner, Ie sera de gran ayuda. La version grafica, en la parte inferior izquierda,
62
RA-MA
RJ
indica cual seria el comando de consola, de forma que los neofitos puedan empezar con una version menos potente (grafica), pero puedan ir tendiendo hacia la mas potente (consola). Aqui conviene resaltar que la version grafica adem as de ser menos potente funciona "mas 0 menos" por eso no esta disponible en la pagina oficial de Nmap. Un consejo es explorar nmap con esta version y cuando se tiene un dominio fluido de comandos y se han guardando importantes comandos de nmap en un archivo de texto (para futuros usos .y no tener que volver a escribir largas sentencias de parametres), desinstale esta version e instale la version actual situada en la pagina oficial de nmap. Mas abajo indicamos los distintos resultados utilizando respectivamente NetScanTools para escanear los primeros 256 puertos de una IP, Nmap en modo grafico y Nmap en modo consola. En algunos casos se ha alterado la IP objetivo, con el fin de guardar su anonimato.
r.
Probe Single Host
[
I
Ie
r
_;]
Start Port
,
;
l2,Jj!@f.G.
i
.:
i
I
jlfN'ft+i<1'lOi'
End IP P,ddress
_:j
11
End Port
13000 j3000
j:J
1!~~=~:'~'~~~~~' '~~~~_=-~-,:~-=]
~ Ta~gec
,~
Compute~ ,List
00053
~=~
_=~=~ ...
..:J ..:J
I Lis! I
I I I
EJ-.!! 200.62.55.253
, ,i({) 00030
- TCP - domain - r.esponse: 178 msec - TCP - hccp - J:espollse: 179 I!lS ec
Cre_ateRepeortsJ:"
a~ar
Figura 2-16. Resultado de escanear con NetScanTools
Res_tnts
't
'~
~~"
RA-MA
63
r-----i
Host:
--l
,1
SCm! Help
StGp Exit
I
1
,
Ii
H
4
L.-.Scan
[. M;d~onnect ---~-~:~can--~~~s~~l
i i r. SYN Steaah
(' FIN Stealth
XrMs Tree
('
list Scan
II III
.. u ..-o--- se ecoy
t ange
l
i
120.120 Device
,i r
._ ....i L -
SourceAddress
r SourcePort
- ..-
!Startino nmap V' 3.00 (www,insecure.org~~ap ) ! Insufficient responses for TCP sequencin;;. (0), 05 detection may be less accurate i ~nsufti ci ent res pons es for TCP sequenci ng (0), OS detecti on may be 1es s eccur ate I Insufficient responses for'TCP sequencing (0), OS detection may be t es s accur at e I Interesting ports on osopanda.sence.cl (200,72.15.3): i (The ')7 ports scanned but not sho\l\lf\below are in state: fil t er-edj I port' State service . 'I' 2Sjtcp open smtp , 80jtcp open http ! 110/tcp open pop-a 'li3/tCP closed auth Too' many fingerprim:s match this host for me to give an accur-are OS gueH Nmap run completed '.... 1 IP address (1 host up) s cerme d in 15') seconds
- IiiI03/04107 I 14:30:12
con Nmap en modo grafico
C:\Archivos de programa\Nmap2>nmap -sS -PO -p 20-110 -0 -T 3 212.80.xxx.X Starting Nmap 4.20 (http://insecure.org ) at 2007-04-03 ]4:4] Hora de verano ro mance Interesting ports on ooooo.aaaaa.net (212.80.XXX.X): Not shown: 88 filtered ports PORT STATE SERVICE 211tcp open ftp 53/tcp closed domain 80/tcp open http No .OS matches for host OS detection performed. Please report any incorrect results at http://insecure.o rg/nmap/submit! . Nmap finished: 1 IP address (1 host up) scanned in 22.753 seconds
r
64 HACKING Y SEGURIDAD EN INTERNET RA-MA
RA-JI
Para este apartado, descubriremos interesantes usos y poteneialidades de nmap pero no todas, pues exeeden por su extensi6n el prop6sito de este capitulo. Se ira aprendiendo simultaneamente con el entorno grafico y la consola, aprovechando la funcionalidad ya mencionada de la parte inferior izquierda que nos permite saber cual seria el comando correcto en modo consola y lanzarlo. Entre los tipos de escaneos que podemos realizar con Nmap se encuentra:
I
J
TCP Connect (-sT). Estas letras entre parentesis son las que habria
que poner en modo consola, como veiamos en la figura anterior (recordar que hay difereneia entre mayusculas Y minusculas). Esta tecnica es lenta pero muy fiable, aunque provoca muchisimo ruido, por 10 que por regla generalla conexi6n maliciosa no s610 quedara logeada, sino baneada en la black list del dispositivo de filtrado firewall. Esta opci6n utiliza la Hamada funci6n connectt). Si el puerto esta a la escucha, connectt) tendra exito, de 10 contrario, el puerto resulta inaleanzable. Una ventaja importante de esta tecnica es que no resulta necesario tener privilegios especiales. Cualquier usuario en la mayoria de los sistemas tiene permiso para usar esta Hamada.
-r
I
RA-MA
65
r
FIN vacio como prueba, mientras que el escaneo Xmas tree activa las flags FIN, URG y PUSH. El escaneo NULL desactiva todas las flags. Se deber ser cuidadoso con estos tipos de escaneos pues no todos los SO responden a enos .. AI escanear plataformas Microsoft no funcionara. No funcionara con sistemas basados en Windows 9xJNT. Por otro lado, esto nos permite distinguir entre las dos plataformas. Si el escaneo encuentra puertos cerrados, probablemente se trate de una maquina UNIXJLINUX, mientras que si todos los puertos estan abiertos sera indicativo de Windows. Algunos otros sistemas operativos se comportan de igual modo que Windows como es el caso de Cisco, BSDI, HPIUX, MYS e IRIX, como se describe en el man peige de nmap. Escaneo Ping (-sP). A veces se necesita saber unicamente que servidores se encuentran activos en una red. Nmap puede hacer esto enviando peticiones de respuesta ICMP a cada direccion IP de la red que se especifique. Aquellos servidores que respondan estaran activos. Por 10 general hoy en dia todos los firewalls suelen bloquear este tipo de ping. Nmap puede enviar tambien un paquete TCP ack al puerto 80 (por defecto). Si se obtiene por respuesta un RST, esa maquina esta activa. Una tercera tecnica implica el envio de un paquete SYN y Ia espera de un RST 0 un SYN/ACK. Para usuarios no root (en Linux) se usa un metodo connecu). Por defecto (para usuarios no root), nmap usa las tecnicas ICMP y ACK en paralelo. Se puede cambiar Ia opcion -p descrita mas adelante. Notese que el envio de pings se realiza por defecto de todas maneras y que solamente se escanean aquellos servidores de los que se obtiene respuesta. Use esta opcion solamente en eI caso de que desee un ping sweep (barrido ping) sin hacer ningun tipo de escaneo de puertos. Escaneo UDP (-sU). Este metodo se usa para saber que puertos UDP (Protocolo de Datagrama de Usuario) estan abiertos en un servidor. La tecnica consiste en enviar paquetes UDP de 0 bytes a cada puerto de la maquina objetivo. Si se recibe un mensaje ICMP de puerto no alcanzable, entonces el puerto esta cerrado. De 10 contrario, asumimos que esta abierto. Alguna gente piensa que el escaneo UDP no tiene sentido. Es bueno recordar el agujero SoIaris rcpbind. Puede encontrarse rcpbind escondido en un puerto UDP no documentado en algun lugar por encima del 32770. Por 10 tanto, no importa que el III este bloqueado
66
RA-MA
-RA-~
por el firewall. Pero, l,quien puede decir en cual de los mas de 30.000 puertos altos se encuentra a la escucha el program a? Tenemos tambien el programa de puerta trasera de Back Orifice que se oculta en lin puerto UDP configurable en las maquinas Windows, por no mencionar los muchos servicios frecuentemente vulnerables que usan UDP como snmp, tftp, NFS, etc. Por desgracia, el escaneo UDP resulta a veces tremendamente lento debido a que la mayoria de los servidores implementan una sugerencia recogida en el RFC 1812 (seccion 4.3.2.8) acerca de la limitacion de la frecuencia de mensajes de error ICMP. Por ejemplo, el kernel de Linux (en lipv4/icmp.h) limita la generacion de mensajes de destino inalcarizable a 80 cada cuatro segundos, con una penalizacion de 1/4 de segundo si se rebasa dicha cantidad. Solaris tiene unos limites mucho mas estrictos (mas 0 menos 2 mensajes por segundo) y por 10 tanto lleva mas tiempo hacerle un escaneo. Nmap detecta este limite de frecuencia y se ralentiza en consecuencia, en vez de desbordar la red con paquetes inutiles que la maquina destino ignorara. En el caso de Microsoft se ignor6 esta sugerencia del RFC y no parece que haya previsto ningun tipo de limite de frecuencia para las maquinas Windows. Debido a esto resulta posible escanear los 65K puertos de una maquina Windows muy rapidamente, IP Scan (-sO). Este sistema se utiliza para ver que protocol os IP soporta la maquina victima en sus puertos. Si el mensaje recibido es "ICMP unreachable" el puerto no soporta protocolos y se considera cerrado. Esta tecnica no es tremendamente fj.able, pues determinados sistemas como HP-UX, Digital Unix, AIX y los cortafuegos pueden dar resultados err6neos a este tipo de escaneo .. Idle Scan (Sondeo ocioso) (-sl). Este es un metodo de sondeo avanzado que permite hacer un sondeo de puertos TCP totalmente a ciegas (10 que significa que no se envia ningun paquete al sistema objetivo des de su direccion IP real). En lugar de eso se utiliza un ataque con un medio alternativo que se aprovecha de la generacion de la secuencia de los identificadores de fragmentacion IP del sistema zombi para obtener informacion de los puertos abiertos en el objetivo. Los sistemas de deteccion de intrusos mostraran que el sondeo 10 esta realizando el sistema zombi que especifique (que debe estar funcionando y cumplir determinados requisitos). Este tipo de sondeo es demasiado extenso como para describirlo aqui en su totalidad, pero se
\l ,
RA-MA
67
o
n
n
I
de
o
J
a a
I(
)
Ademas de ser extraordinariamente sigiloso (debido a su propio funcionamiento), este tipo de sondeo permite saber las relaciones basadas en IP entre diferentes sistemas. El listado de puertos muestra los puertos abiertos desde la perspectiva del sistema zombi. De esa manera se puede analizar el mismo objetivo con zombis distintos. Igualmente es posible afiadir un numero de puerto separado por dos puntos del sistema zombi si se desea analizar un puerto especifico del zombi para consultar los cambios IPID. En caso de que no se especifique nada, Nmap utilizara el puerto que utiliza para pings TCP por omision (el puerto 80). " ACK Scan (-sA). Este sondeo es diferente de los descritos hasta ahora porque no puede determinar. puertos abiertos (ni siquiera abiertos/filtrados). Se utiliza para mapear reglas de cortafuegos, y para determinar si son cortafuegos con inspeccion de estados y los puertos que han sido filtrados. La sonda de .un escaneo ACK solo tiene fijada la bandera ACK (a menos que utilice --scanflags). Cuando se sondean sistemas no filtrados los puertos abiertos y cerrados devolveran un paquete RST. Nmap indica que el puerto no esta filtrado, es decir, que eI paquete ACK llega, pero no se puede determinar si el puerto esta abierto 0 cerrado. Los puertos que no responden 0 que envian mensajes de error ICMP en respuesta (tipo 3, codigo 1,2,3,9, 100 13), son identificados como filtrados. Windows Scan (-sW). El sondeo de ventana es exactamente igual al sondeo ACK que se aprovecha de un detalle de implementacion de algunos sistemas que permite diferenciar entre puertos abiertos y cerrados. En lugar de indicar no filtrado cuando se devuelve un RST examina el campo de ventana TCP del paquete RST devuelto. Hay sistemas que fijan un tamafio de ventana positivo para puertos abiertos (incluso para paquetes RST) Yque utilizan una ventana de tamafio cero para los cerrados. Asi, en Iugar de enumerar el puerto como no filtrado cuando se recibe un RST, el sondeo de ventana permite enumerar eI puerto como abierto 0 cerrado en funcion de si el valor de Ia ventana TCP en ese paquete RST es positivo 0 0, respectivamente. Este escaneo no es siempre fiable, ya que depende de un detaIIe de implementacion de una minoria de los sistemas que existen en Ja red.
) )
68
RA-MA
RA-M
Los sistemas que no hac en esto de forma habitual seran los que muestren los puertos como cerrados. Tambien existe la posibilidad de que el sistema tenga todos los puertos cerrados. Si la mayoria de los puertos estan cerrados pero alguno de los numeros de puertos comunes (como pueda ser el 22, 25 6 53) esta filtrado, existe la posibilidad de que el sistema si sea susceptible a este tipo de escaneo. Algunas veces hay sistemas que mostraran justo el comportamiento contrario. Si el sondeo muestra 1.000 puertos abiertos y 3 puertos cerrados 0 filtrados entonces es posible que sean estes ultimos los que esten abiertos en realidad.
--"
Host: " 1192.161
"
S~n
i ,
Mode'
(. c
r.s rf rf
RPC Scan (-sR). Con esta tecnica se intenta determinar, de los puertos
que estan abiertos, cuales son RPC, ademas del programa y versi6n que se ejecuta sobre ellos.
"
I.L --:--.
',1
List Scan (-sL). Aqui nos apareceria unicamente la direcci6n IP- Nombre del host, sinrealizar ningun tipo de ping 0 escaneo sobre la maquina; 10 que se produce en realidad es una resolucion de nombre de DNS.
Hasta aqui, se han comentado los tipos de escaneo que pueden tener mas relevancia en el uso de Nmap. Estas opciones (ver la siguiente figura), junto con las adicionales que se comentaran a continuacion, hac en que Nmap sea una de las herramientas mas potentes tanto para la auditoria de redes como para realizar intrusiones en las mismas en 10 que a port scanning se refiere.
cada 1 de esc
unica
puede
mas a
red cl
_______
._ Ji-.
RA-MA
69
e e s s
e
s :l s
1
r. ,(;;onn!,ct
,J Uull Scan
-~<.';,:<:.!: ';"c._, .
r ~mas Tlee'
('
~I' 'I"
, I Ir
r,~_ca_;_o~_t~_t:_~.:.~e;.;..'-_ r'UseD~coy
r Bounce Scan
r
Source POIt
r
r
Rep Scan
listScal1.
!PScC;Sn., '
.c:
III.,
I ! t.1 !
.-._,---'-'-----.---,..-_-,
I !"r i I
DevIce
r
-I,
Source Address
r .!dle,S~an
"-.
r llDP Scan .. ,
---'
_j
-.-~-------...
~. ___..,..-----::-:--"'-----:
....,1
t.:
! .: , ~-t.
. -,.
Como se puede observar en 1a figura, hemos visto en detalle para que sirve cada una de las opciones bajo la pestafia Scan "Mode", es decir, que define el tipo de escaneo que se va a realizar sobre los puertos de 1a maquina objetivo. Podemos apreciar en la parte superior que esta el host, que puede ser una unica IP 0 el propio nombre del host (por ejernplo www.ttqs.es). En esta opcion se puede colocar una unica IP, un rango de IP con e1 uso del asterisco (192.168.0.*) 0, mas acotado, con guiones (214:80.190.1-10). Existe tambien la variante de IP/32 (escanea al host), IPIl6 (escanea una red clase B) 0 IP124 (escanea una red clase C). A 1a derecha, se encuentra Scan options (Opciones de escaneado):
70
RA-MA
RA-t\.
1.
Port Range (Rango de puertos), -p: que determina los puertos que se van a escanear (pueden ser uno, varios 0 un tango). Use Decoy (Utilizar sefiuelo), -D: 19S sefiuelos se utilizan para confund.ir al ordenador que se esta atacando. Asi, se utilizan varias direcciones 'IP, como si fueran varias las. maquinas que realizan el ataque, estando la verdadera IP atacante camuflada entre ellas. La lista de sefiuelos debe estar separada mediante comas, indicando ME para que nmap sepa cual es la verdadera IP propia. Si no se quiere provocar una DoS (denegaci6n de servicio) en la maquina victirna, las IP que se indiquen deberan ser activas. Bounce Scan (-b): esta conexi6n perrnite 1a utilizaci6n de un servidor FTP, mediante la conexi6n Proxy FTP, para escauear a traves de el. Esto es muy interesante si se consigue conectar con un servidor FTP detras de un cortafuegos. Consiste en solicitar desde el servidor FTP conexi ones de datos a un puerto 0 puertos de la maquina victima. En caso de que genere un error tipo 425 (no se puede establecer la conexi6n), el puerto estara cerrado. Se deberan pasar los d.atos de usuario: contrasena@servidor:puerto. Device (-e): aqui se indica la interfaz que enviara y recibira paquetes; por 16 general nmap detecta esto de forma automatica. Source Address (-S): esta opci6n simula la IP desde la que se realiza el ataque ya que el ataque parece venir de la IP que se introduce como parametro. Si se usa esta opci6n es necesario utilizar tambien la opcion anterior para indicar el device, cual es la interfaz que enviara y recibira los datos. Source Port (-g): indica el puerto desde el que se va a lanzar el ataque. Idle Scan Host (-sl): esta opci6n se activa en automatico cuando se marca la opci6n de Mode de Idle Scan; aqui es don de se indica cual es la maquina zombi.
conve practi:
I
!
2.
.. --.
; Host:
!, f132.16
Scan
. Discc
3.
r II
r[
.J
[
Output
4.
5.
6. 7.
Con esto hemos descubierto todas las opciones que aparecen en la figura anterior. Aunque esto no es un manual de Nmap, ni mucho menos su man page, que puede encontrar en cualquier version de Linux donde se encuentre el paquete instalado, e incluso en el help de su entomo grafico para Windows, es realmente
fA
RAMA
71
;e
I:
.a
lS
f
(
conveniente practices.
~1
:a 'a
1r
i r---HO$~t~: ~~~~~~_~
1'92.'68.1.10
__
~_~.
------._.I! I..
!!
Sc~n Heb
_
'.ilf'
_I! [
I _.
_E_xit_J
.,
. _._
_n
............
.J
i.__.
Scan
Discover
Service
'v/in32I
,e
r
~r
Tep Ping
r~ TCP+ICMP
L p
C let-liP Ping
r:
Don't Ping
P
11
:1
I
~~~---------------.: ,
.L!
Ij
-~
1
)
I~ .
ICMQ~.-s$ ~PT -PI -0
'.
.---'-.. .. _. ._ .. _/ ... _
'! "
.l
-r 3192. 168.1.10
Figura 2-20. Segunda pestaiia (Discover) de Nmap
~I
_126/03/07 .119~05:48
Aqui tenemos cuatro nuevas opciones: 1. TCP Ping (-PT). maquina victima. Ademas el puerto known port para cortafuegos. Realiza un ping del tipo TCP con ACK hacia la Es util cuando estan filtrados los pings ICMP. por defecto para estos pings es el 80 (que es el well http) por 10 que no suele estar filtrado por los
2. TCP+ICMP (-PT -PI). Realiza pings ACK e ICMP a la maquina victima. 3. ICMP Ping (-PI). Realiza un ping ICMP. 4. Don't Ping. No realiza ningun ping ala maquina victima.
72
RA-MA
Si continuamos -nuestro periplo por las pestafias, las opciones de Options son bastante utiles.
,
_.
,..-
_-
. ..
t-~
.'-
~: r
- -
Host
j19lliB.1.10
-
San
JJI
,S.can .H~Jp
I,
sJoP
1'1
.Ex~
.'
i
!
OPtions
r rF';ag""ent"i':o'ii l\7 _QSDetection I r ~erbose, r ~.;;.~:~~;:.:~.;~ r RandomHost r V~r'}verbose' r B.esolve all r Resyme
.r
I
~e~~!2Ug
I!
L~-_-.-__-----------
If Ou!put---------------
.---_._-
"
I
i
l~
ICMD: -sS
.
.pi -0
-T 3192.168.1.1 0
-,___------_____,~~
5126/03/07 11 ~:l1~OO
-_-:
2.
3.
'_"'.""'-"",,..--
RA-MA
73
f' !
I
4.
I
f
Random Host (-iR). Genera maquinas victima de forma aleatoria para ser escaneadas. .Puede servir, por ejemplo, para buscar maquinas en Internet con el puerto 110 abierto en las que se podrian detectar servidores de correo que se estudiarian en pro fundi dad posteriormente. Resolv.e All (-R). Activa la resolucion de nombres para direcciones IP. Resume (--resume). Permite continuar labores de escaneo paradas anteriormente, para ello es preciso indicar el fichero log en el que se grabo la sesion en el momenta de pararse y a partir de la informacion contenida en ellog nmap continuara el escaneo. Don't resolve nombres. (-n). Especifica si se van a resolver las DNS de
5. 6.
l'
t.
fI
7. 8.
Fast Scan (-F). Indica a nmap que utilice como objetivo de escaneo los puertos que se suministran en el fichero "services" que incluye el propio nmap. De esta forma el escaneo sera mas rapido que escanear los 65535 puertos que se pueden indicar por defecto. Debug (-d). Facilita extensa informacion haciendo nmap. output. intema sobre 10 que esta
9.
I
I
74
RA-MA
RA-I\
c:
21
I
!
St.
an
I
f
Ini
('
-. (
Ini
Sc
Oi Oi Oi
S1
Oi
f
Figura 2-22. Nmap lanzado contra una sola maquina en escaneo tipo SYN Stealth a los puertos 20 a 2000
I
[
~
En el siguiente ejemplo se 1anza nmap sobre un servidor Web con intenei6n de saber emil es el sistema operativo (-0). Haeemos un eseaneo SYN Stealth (-sS) a. los puertos 15 a 10000 (-p 15-10000), sin haeer ping (-pO), con un timing de nivel 5 (insane) (5). Este timing s610 se aeonseja para pruebas sobre servidores "amigos" pues 1a forma en 1a que realiza el eseaneo es tremendamente ruidosa. La instrueei6n en eonsola quedaria nmap -sS -PO -p 15-10000 -0 -v -T 5
213.149.241.97.
I
f
Figw
I
I
f.
I .....
--
',.~
A.
RA-MA
7S
-sS
-PO -p
15-10000
-0 -v -T 5
Initiating Parallel DNS resolution of 1 host. at 10:21 Completed Parallel DNS resolution of 1 host. at 10:21, 0.05s elapsed Initiating SYN Stealth Scan at 10:21 Scanning 213.149.241.97 [9986 ports] Discovered open port 80/tcp on 213.149.241.97 Discovered open port 211tcp on 213.149.241.97 Discovered open port 25/tcp on 213.149.241.97
_SYN Stealth Scan Timing: About 20.46%'done;'ETC: 10:24 (0:0] :56 remaining)
SYN Stealth Scan Timing: About 75.18% done; ETC: 10:25 (0:00:48 remaining) Discovered open port llO/tcp on 213.149.241.97
r,
Comoleted SYN Stealth Scan at 10:25. 210.33s elaosed (9986 total oorts) Figura 2-23. Resultado parcial del escaneo can nmap SYN Stealth, puertos 15 a 1000 can timing 5
I
I
l
f
r
t
I
t
f
I
!
~ I !
76
RA-MA
RA-lv
Timin
Initiating OS detection (try #1) against 213.149.241.97 Retrying OS detection (try #2) against 213.149.241.97 Insufficient responses for TCP sequencing (1), OS detection may be less accurate Initiating gen1 OS Detection against 213.149.241.97 at 214.578s For OSScan assuming port 21 is open, 20 is closed, and neither are firewalled For OSScan assuming port 21 is open, 20 is closed, and neither are firewalled Insufficient responses for TCP sequencing (3), OS detection may be less accurate For OSScan assuming port 21 is open, 20 is closed, and neither are frrewalled Insufficient responses for TCP sequencing (0), OS detection may be less accurate Host 213.149.241.97 appears to be up ... good. Interesting ports on 213.149.241. 97: Not shown: 9977 filtered ports PORT STATE SERVICE 20/tcp closed ftp-data 21/tcp open ftp 25/tcp open smtp 80/tcp open http 1 10/tcp open pop3 443/tcp closed https 6655/tcp closed unknown 6688/tcp closed unknown 8443/tcp closed https-alt Device type: general purposelw AP Running (ruST GUESSING) : Sun Solaris 9 (91 %), Belkin embedded (87%) Aggressive OS guesses: Sun Solaris 9 (SPARC) (91 %), Belkin Wireless Pre-N Router (87%) No exact OS matches for host (test conditions non-ideal). OS detection performed. Please report any incorrect results at http://insecure.o rg/nmap/submit/ . Nmap finished: 1 IP address (1 host up) scanned in 225.718 seconds Raw packets sent: 20113 (890.864KB) I Rcvd: 148 (7850B) C:\Archivos de programa\Nmap>
ubicac
Initi.
Retry)
Insuf' Initii
POI'
For m For 01
Iosuf! Host:
O~
Inter!
Not sJ
PORI
20/tc) 21/tc) 25/tc) S0/te) 110/t.
443/t.
Deuic( Bunn dr Aggre:
(87::(
No .ex. OS de
l'g/nlll. Hlllap:
Nmaj
Figura 2-24. Segunda parte del escaneo con nmap SYN Stealth, puertos 15 a 1000 con timing 5, con el resultado del Sistema Operativo
Dentro de estas opciones tarnbien podemos guardar la informacion en un fichero para analizarla con posterioridad, Para ella escribiriamos nmap -sS -PO -p 15-1000 -0 -v -T 5 -oN "c:\archivodesalida" 213.149.241.33, que seria lanzar nmap en modo SYN Stealth, sin PING, a los puertos 15 a 1000 para detectar el sistema operativo en modo verbose (con salida de informacion por pantalla) con
------------------~~-----
RAMA
Timing Insane y con el resultado en un archivo de salida llamado "archivodesalida" ubicado en la raiz del ordenador. ~l resultado 10 vemos en la figura siguiente.
Scanning 213.149.241.33 [986 po~ts] Discoue~ed open po~t 80/tcp on 213.149.241.33 . Discoue~ed open po~t 21/tcp on 213.149.241.33 Discoue~ed open po~t 25/tcp on 213.149.241.33 Discoue~ed open po~t 110/tcp on 213.149.241.33 Completed SYN Stealth Scan at 11:00, 13.22s elapsed <986 total po~ts) Initiating OS detection <t~y 11) against 213.149.241.33 Ret~ying OS detection <t~y 12) against 213.149.241.33 Insufficient pesponses fo~ Tep sequencing <3), OS detection may be less accurate
I
!
Initiating gen1 OS Detection against 213.149.241.33 at 1?563s Fo~ OSScan assuming po~t 21 is open, 20 is closed, and ne Leher-al'efi~ewalled Fo~ OSScan assuming popt 21 is open ..20 is closed ..and neithel' a~e fil'ewalled Po~ OSScan assuming popt 21 is open ..20. is closed, and neither a~e fi~e"/alled Insufficient pesponses fo~ Tep sequencing <1>..OS detection may be less aCCU1'ate Host 213.149.241.33 appeaps to be up '" good. Intepesting popts on 213.149.241.33: Not shown: 980 filte~ed ports PORT STATE SERUICE 20/tcp closed ftp-data 21/tcp open ftp 25/tcp open smtp 80/tcp open http 110/tcp open pop3 443/tcp closed https Device type: gene~al pu~pose:WAP Running <JUST GUESSING) : Sun Solapis 9.<91%), Belkin embedded (87%) Agg~essive OS guesses: Sun Sola~is 9 <SPARe) <91%), Belkin Wipeless P~e-N Route~ <87:;.) No exact OS matches fop host <test conditions non-ideal). OS detection pe~fo~med. Please ~epo~t any inco~~ect ~esults at http://insecure.o rg/nmap/submit/ Nroap finished: 1 IP add~ess <1 host up) scanned in 28.?35 seconds Raw packets sent: 20?8 (9?324KB) : Rcud: 91 <S198B> C:'A~chivos de p~og~ama'Nmap>
i
1
t
t
t
t
~
[
I
I
Figura 2-25. Sistema Operativo descubierto-con nmap y resultados enviados a fichero de salida en raiz
,,
I
r. r
Hemos visto pues dos herramientas de escaneo de puertos, NetScanTools y Nmap, estando esta ultima mucho mas especializada para esta tare a en particular y siendo mucho mas potente. Conviene volver a insistir sobre el particular de que nmap solo funciona correctamente en modo consola (ahora ya tanto para Windows como para Linux), y que la version front-end (en modo grafico) para Windows no funciona de forma adecuada. Como hemos visto ni siquiera se puede descargar de la pagina de Fyodor. Antes de terminar con nmap tambien conviene subrayar que, teniendo en cuenta la potencia actual de cortafuegos y demas contramedidas, nmap deberia ser lanzado en modo -PO (es decir Don't PING), de otra forma 10 mas probable es que seamos detectados con mayor facilidad. Ademas cuando se procede a escanear una
78
HACKING
Y SEGURIDAD
EN INTERNET
RA-MA
RA-M
rnaquina ya tendremos suficientes evidencias de que est a se encuentra activa y por ese motive es por el cual se realiza el escaneo de puertos.
unam puerto:
C:')nc
ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI ALBERTI Ai.BEHTi ALBERTI
2.2.7.2 NETCAT
No podemos dejar de mencionar una de las herramientas por excelencia dentro del mundo del hacking, la "navaja suiza" desarrollada por Hobbit con un tamafio infimo de 60 k conocida como nc 0 netcat. Esta herramienta fue disefiada inicialmente para entornos LinuxlUnix aunque se ha portado con total exito a entomos Windows. Se puede descargar de Internet de forma tan sencilla como nos hemos descargado otras herramientas a 10 largo de este capitulo. Es posible que netcat resulte mas conocida como herramienta para establecer puertas traseras, conexiones reversas, conexiones telnet, etc. pero tambien resulta muy potente ala hora de escanear puertos. Logicamente es una herramienta de consola, por 10 que los parametres hay que pasarselos en forma..de eomando (como se ha realizado con runap). Netcat eseanea por defeeto sobre puertos TCP, por 10 que para escanear puertos UDP' hay que indicarlo especificamente, Vamos a ver algunos de los comandos especificos para el escaneo de puertos. Se accede a la ayuda de neteat tecleando simplemente De -h 0 netcat -h. 1. -v: prop?rciona informacion detallada en las salidas.
2. -vv: proporciona informacion aun mas detallada en las salidas.
\
c:,)
t[
t
t
Pi
C:'>m FER-Cl FER-Cl FER-Cl FER-Cl FER-Cl sent ~ C:'>
f ~
3. -z: se usa en la modalidad de escaneo de puertos. 4. -w segundos: conexion. indica el numero de segundos de espera para cad a
r'
Figura
5. -u: sirve para especificar puertos UDP; entiende que son puertos TCP. 6.
SI
2.2.7.:
D-m: es el range de puertos que vamos a escanear. comen y que ( En la figura siguiente tenemos un ejemplo de puertos UDP con informacion detallada, con un tiempo de espera de dos segundos entre conexi ones a
_ ..._-
------
---_
......
., 'f.',.
RA-MA
79
una maquina victima a los puertos 1 a 35, y a continuacion otro ejemplo para puertos TCP.
C:'}nc -u -u -z -w2 192.168.1.10
1
1
ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBERTO ALBEB!D ALBERTO ALBERTO ALBERTO ALBERTO C:,}
1-35 [192.168.1.10] 35 <?) open i192.168.1.10] 34 <?) open [192.168.1.10] 33 <?) open [192.168.1.10] 32 <1) open [192.168.1.10] 31 (1) open [192.168.1.10] 30 (?) open [192.168.1.10] 29 <1) open [192.168.1.10] 28 (1) open [192.168.1.10] 27 (1) open 192.168.1.10] 26 <1> open [192.168.1.10] 25 <1) open [192.168.1.10] 24 <?) open [192.168.1.10] 23 (?) open [192.168.1.10] 22 (?) open [192.168.1.10] 21 <1) open [192.168.1.10] 20 (?) open [192.168.1.10] 19 (chal"gen) open [192.168.1.10] 18 <1) open [192.168.1.10] 17 (qotd) open [192.168.1.10] 16 <1) open [192.168.1.10] 15 <1) open [192.168.1.10] 14 <1) open [192.168.1:10] 13 . <daytilTle) open [192.169.1.10] 12 <1) open [192.169.1.10] 11 <?) open [192.168.1.10] 10 <?) open [192.168.1.10] 9 <discaJ:"d) open [192.168.1.10] 8 <?) open [192.168.1.10] 7 <echo> open [192.168.1.10] 6 <1) open 192.168 :1.10] 5 <1> open [192.168.1.10] 4 (1) open [192.168.1.10] 3 (1) open [192.168.1.10] 2 (7) open [192.168.1.10] 1 <?) open
Figura 2-26. Resultado de escanear los puertos UDP de una maquina con netcat
J
C:')nc -V'll -z -\,,2 192.168.1.11 PER-CUALJBHTHCP [192.168.1.11] FER-CUALJBHTHCF [192.168.1.11] PER-CURLJBHTHCP [192.168.1.11] FER-CUALJBHTHCP [192.168.1.11] PER-CURLJBHTHCP [192.168.1.11] sent 0.. rcvd 0
135-139. 139 <netbios-ssn> open 138 <?>: connection refused 137 <netbios-ns): connect ion r-ef us ed 136 <?>: connection refused 135 (epmap) open
Figura 2-27. Resultado de escanear puertos TCP de una mdquina con netcat, estando s610 abiertos el 135 y el139
2.2.7.3 SCANLINE
EI Ultimo, pero no menos interesante, escaneador de puertos que se comentara es scanline (que se puede descargar de la pagina www.foundstone.com) y que es otra herramienta que Ie resultara uti! para este tipo de actividades.
80
RA-MA
ScanLine es un escaneador de puertos que funciona plataformas Windows y que s6lo se puede lanzar desde la consola.
en todas
las
Realiza el "pinging" tradicional ICMP, y tiene la posibilidad de realizar escaneos ICMP con TimeStamp, muestra tiempos de respuesta y numero de saltos, hace escaneos tanto TCP como UDP, recoge los banners y resuelve hostnames. El escaneo se realiza de forma rapida sin utilizar multiples encabezados. Esta herramienta esta preparada para gestionar un gran numero y rangos de IP sin problemas. La herramienta muestra una ayuda completa al escribir sl -?
C:'scanline>sl -1 ScanLine (TH) 1.01 Copyright <c) Poundstone, Inc. 2002 http://\1ww.foundstone.colll sl [-?bhijnprsTUvz] [-cdgmq <n>] . [-flLoO <file [-tu <n)[~<n>-<n>]] IP[,IP-IP] -? -b -c -d Shows this help text Get port banners Timeout for TCPand UDP attempts <ms). Defa~lt is 4000 Del.aybe t we en scans <ms). Defau It is 0 Read IPs from file. Use "stdin" for stdin Bind to given iocal port Hide r-e auLti s fOl'systems with no open pol'ts Po~ pinging use ICHP Timestamp Requests in addition to Echo ~equests Don't output "--- .." sep-ar-e.t or- between IPs Read Tep ports f r-nm file Read UDP ports from file Bind to given local interface IP No port scanning - only pinging <unless you use -p) Output file <overwl'ite) Output file <append) Do not ping hosts before scanning Timeout fOl pings <ms). Default is 2000 Reso Lue IP addresses to host.name s Output in comma separated format <csv) TCP port<s) to scan <a comma sepal'ated list of ports/l'anges) Use internal list of TCP ports UDP pol't<s> to scan <a comma separated list of ports/ranges) Use internal list of UDP ports Ue~bose mode Randomize IP and port scan order
-r
-g -h
-i -j -1
-L -m -n -0 -0 -p -q
-I'
-~ -t -T -u -U -v -z
Example: sl -bht 80,100-200,443 10.0.0.1-200 This example uou Ld scan TCP ports 80, 100, 101. . 21a0and 443 on all IP addi-es ses from 10.0.0.1 to 10.0.1.2'00 inclusive, grabbing banners fl'om those P01'tsand hiding hosts that had no open ports. C:'scanline>
l ..
------
!A
is
Aqui podemos ver las diferentes opciones mas en detalle: -b: recoger banners de los puertos. Intenta leer las respuestas de los puertos escaneados y muestra los resultados. En el caso de que hubiese caracteres no imprimibles seran sustituidos por espacios, reduciendo los espacios multiples a uno solo. Se muestran un maximo de dos lineas.
s,
-c: tiempo maximo de espera tanto para TCP como para UDP (ms). Por
le defecto 4000. En el caso de los puertos TCP si no se recibe respuesta en el tiempo indicado se considera que el puerto esta cerrado. En el caso de los puertos UDP seconsidera que el puerto esta activo. -d: tiempo de espera entre escaneos (ms). Por defecto O. Esta funcion sirve para intentar evitar la deteccion de los IDS y se aplica a todos los tipos de escaneo OCMP, TCP y UDP). -f: leer IP de un archivo. ejemplo para reescanear. enviando los resultados nuevo escaneo. Aparte validas sirve. Use "stdin'' para stdin. Esta opcion es muy util por Si ya se ha realizado un escaneo previo con exito, a un archivo, se pueden utilizar esas IP para un de eso, cualquier archivo con IP 0 rangos de IP " -~ -.. - ~--_._
-g: unir para dar puerto local. Esta opcion se utiliza para "puerto de origen" y puede ser util para sortear reglas de cortafuegos que permiten que pasen paquetes con numeros de puertos bajos (como el 53 y el 80).
I
-h: esconder resultados para sistemas sin puertos abiertos. Sin esta opcion se mostrarian todos los ordenadores activos independientemente de los puertos que tengan abiertos 0 de si tienen algun puerto abierto. Esta opcion es muy util para disminuir el exceso de informacion.
-i: para hacer ping usando los Timestamp Requests de ICMP ademas de los
Echos. Esta opcion es uti 1 porque algunos peticiones Echo pero no las Timestamp. sistemas bloquearan las
-j: no sacar datos "----- ..." separador entre IP. Normalmente la informacion que facilita Scanline del escaneo se presenta de forma mas clara separando la informacion obtenida de cada direccion IP con una linea de guiones. Esta opcion se utiliza cuando no se quiere que aparezca la linea de guiones. -I: leer puertos TCP de un archivo. Los mimeros de puerto contenidos dentro del archivo tienen que tener el mismo formato que si estuvieran en la linea de comando (ejemplo: 150, 161-193, 10010).
82
HACKING Y SEGURIDAD
EN INTERNET
RA-MA
RA-MA
dentro del archivo tienen que tener el mismo formato que si estuvieran en la linea de comando (ejemplo: 150, 161-193, 10010). -rn: unir para interfaz de IP local. En el caso de que su ordenador tenga multiples. tarjetas de red se puede indicar a Scanline la que se prefiere utilizar. Es preciso subrayar que unicamente se puede usar una IP activa en su propio sistema. No se pueden disimular paquetes utilizando una IP aleatoria con esta opcion. -n: no hacer escaneo de puertos, solo ping (a menos que use -p). Sirve unicamente para descubrir sistemas activos (los que responden al ICMP). Tambien se puede utilizar -p (no hacer ping) junto con -n para resolver los nombres de una lista de IP, por ejemplo. archivo de salida (sobrescribir). EI resultado sale por pantalla y al archivo que se especifica. Con esta opcion si habia algo escrito en el archivo se sobrescribe.
-0:
J
I i.
~
-p: no hacer ping al host antes de escanear. Al usar esta opcion Scanline escaneara los puertoSde his IP que se Ie han indicado. Como hemos visto anteriormente, con nrnap a veces es fundamental no hacer ping a maquinas que sus cortafuegos tienen bloqueadas las verificaciones ping.
tadas
-q: tiempo maximo para pings (ms). Por defecto 2000. Si despues del tiempo indicado la maquina no ha respondido al ping se considera que no esta activa. -r: resolver nombres de las direcciones IP. Incluso en el caso de Scanline, que usa un encabezado unico, se usaran hasta 8 para resolver nombres si se especifica esta opcion, -s: sacar el resultado en formato separado por comas (csv). Este es el formato que se suele utilizar cuando se quieren importar los datos a una hoja de calculo, El resultado saldra con los siguientes campos: <IP>, <nombre>, <tiempo de respuesta de time>, <saltos>, <respuestas con [CMP inalcanzable>, <puertos TCP abiertos >, <puertos UDP abiertos>. No se incluiran banners de los puertos.
----------------------------------------------------------"~
"
.~
IA
RA-MA
83
)s
-t: puertos TCP a escanear (la coma separa la lista de puertos lintervalos).
:n
Por ejemplo: sl-t 21, 80, 120-240 <IP> escaneara los puertos 21, 80 y del 120 al 240 de la IP indicada.
~a
re ~n
:P
Ie
'). )s
al el
le
)8
el
LO
e,
ie
ta
>
>
------------ ----_
84
RA-MA
RA-M
implementaci6n de Winsock comparado con Windows 2000 y XP. PorIo que nunca vera ningun puerto UDP abierto usando esta tecnica en los mencionados sistemas operativos.
C:'scar ScanLil Copy.. i! http:/, Adding Adding Banne .. Hostnal No pin! Scan oj Sta ..til Scanrlil Wait in!
-U: use lista interna de puertos UDP. Como la opci6n -T pero para puertos UDP.
La lista intern a de puertos incluye: 7, 9, 11, 53, 67-69, 111, 123, 135, 137, 138, 161, 191, 192,256,260,407,445,500, 514, 520, 1009, 1024, 1025, 1027, 1028, 1030, 1033, 1034, 1035, 1037, 1041, 1058, 1060, 1091, 1352, 1434, 1645, 1646, 1812, 1813, 1900, 1978,2002,2049,2140,2161,2301, 2365,2493,2631,2967,3179, 3327, 3456,4045,4156,4296,4469,4802, 5631,5632,11487,31337,32768-32790,43981.
-v: modo de emisi6n detallada de informaci6n.
~.
r.
-----~
163 _24' Hostnal
Res peru
YCP
POl
-z: IP Y orden de escaneo de puertos a1eatorio. Normalmente Scanline escaneara las IP y puertos en orden numerico. Con esta opci6n el escaneo se realiza de forma aleatoria, con 10 que se puede ayudar de alguna forma a evitar la detecci6n de sistemas de intrusi6n. En el primero de los ejemplos que vamos a realizar a modo de prueba, indicaremos a Scanline la siguiente linea de comando: sl -bvprt80,121,2865-2870 163.247.43.25 200.72.15.4, es decir, que escanee cogiendo los banners de los puertos (-b), en modo de informaci6n detaIl ada (-v), sin hacer ping (-p), resolviendo los nombres de las direcciones de IP, de los puertos 80, 121 y 28652870 para las IP 163.247.43.25 Y 200.72.15.4. El resultado (que aparece en la figura mas abajo) nos indica que las dos IP tienen abierto el puerto TCP 80. Lo cual no significa que no tenga abierto ningun otro puerto, pues hemos tornado s6lo un ran go de puertos a prueba.
---.--Scan f 2 IPs
I
J.._
indica
results
_____________________
RA-MA [0
85
)s
C:'scanline>sl -bvprt 89#121#2865-2879 ScanLine <TM) 1.91 Copyright <c> Foundstone# Inc. 2992 http://www.foundstone.con Adding IP 163.247.43.25 Adding IP 299.72.15.4 Banner grabbing enabled. Hostname resolving enabled. No pinging before scanning.
163.247.43.25 299.72.15.4
Scan of 2 IPs started at Tue Apr 93 17:41:57 2997 Starting hostname lookups . Scanning 2 IPs .. Waiting for hostname lookups 'to finish ..
163.247.43.25 Hostname: [Unknown] Responds with ICMP unreachable: No TCP ports: 89 TCP 89: . [HTTP/1.9 493 Forbidden Server: Squid/2.4.STABLE1 Mine-Uersion: 1.9 Date: Tue# 9 3 Apr 2897 16:41:42 GMT Content-Type: text/html Content-Length: 669 Expires: T] 209.72.15.4 Hostname: [Unknown] Responds with ICMP unreachable: No TCP ports: 89 TCP 89: . [HTTP/1.1 499 Bad Request Content-Type: text/html Date: Tue# 93 Apr 2997 16:42:9 3 GMT Connection: close Content-Length: 39 (h1>Bad Request <Invalid Hostname)(]
e
o
L,
o
S I,
Scan finished at Tue Apr 93 17:42:92 2997 2 IPs and 16 ports scanned in 9 hours 9 mins 4.91 secs
t
I:
De hecho en la figura siguiente vemos un escaneo a la IP 192.168.1.10 indicando que escanee todos los puertos que tiene Scanline en la lista interna y eI resultado es muy diferente.
I
f
r-
I.
t,
!
!'
f
86
HACKING
Y SEGURIDAD
EN INTERNET
RA-MA
RA-Mi
C:'scanline>sl -bvpr 192.168.1.10 ScanLine <TM) 1.01 Copyright <c) Foundstone~ Inc. 2002 http://w~lw.fol1ndstone .COPI Adding IP 192.168.1.10 Banner gl-abbing enabled. Hostna~e resolving.enabled. No pinging befo~e scanning. No TCP ports prouided - using default POl~t list file: No rcp POl-t list file found - using intel"nal rcp list No UDP ports prouided - using default POl~t list file: No UDP POl-t list file found - using intel"nal UDP list Scan of 1 I P started at \-led Mal- 28 19: 08: 56 2007 Starting hostname lookups ... Scanning 1 IP Haiting for ho s t oeme lookups to finish .. t'TCPports.txt" "UDPports.txt"
27 l:
Res]
TCl
UDJ
Sea
192.168.1.10
Hostnallle: ALBERTO Responds ~lith I CMP um-e ac hab Le e 'Ies 'fCP ports: 135 139 445 UDP ports: 9 123 137 138 445 500 1900
1 IP
Scan
finished
at
2007'
0 nins
F
8.50 sees
>_
Figura 2-30. Resultado de escanear toda Lalista interna de puertos de Scanline _. ...... . -_ ~ --
Como hemos visto en las multiples opciones que tiene Scanline, para que el resultado del escaneo no sea efimero, es decir, desaparezca en cuanto cerremos la consola, 10 podemos guardar en un archivo. Para ella el comando de consola seria sl 163.247.43.XX -0 archivo.txt, y el resultado 10 tenemos en la siguiente figura.
el rest que 01
C:\ Sec
16:
Re:
27
Re
TC
UI
-_
RA-MA CAPiTULO 2. BUSCAR UN VECTOR DE ATAQUE 87
..
;":1{",
C:\scanline>sl 163.247.43.XX -0 archivo.txt Scanl.ine (TM) 1.01 Copyright (c) Foundstone, Inc. 2002 http://www.foundstone.com Scan sf 1 IP started at Tue Apr 03 17:44:58 2007 163.247.43.XX Responded in 350 ms. 27 hops away Responds with ICMP unreachable: No TCP ports: 25 53 80443 8080 . UDP ports: Scan finished at Tue Apr 03 17:45:232007 1 IP and 267 ports scanned in 0 hours 0 mins 25.39 sees
Figura 2-31. Resultado de pasar la salida por consola a un archivo con Scanline
Aqui ademas podemos observar que hemos lanzado Scanline aparentemente sin parametres (-vb ... ) con 10 que ha realizado el escaneo por defecto indicandonos ' que ha escaneado de una (mica IP 267 puertos en 25,39 segundos y que ha enviado el resultado al fichero llamado archivo.txt.
Le
)s
la
~e
[
.
Si comparamos el resultado que sale por pantalla (en la figura anterior) con el resultado que saldria al ver el archivo (en la figura siguiente) vemos que 10 unico que omite es el numero de IP y puertos escaneados y en cuanto tiempo 10 ha hecho .
I ;
-
C:\scanline>type archivo.txt Scan of 1 IP started at Tue Apr 03 17:44:582007 163.247.43.XX Responded in 350 ms. 27 hops away Responds with ICMP unreachable: No TCP po-rts: 25 53 80 443 8080 UDP ports: Scan finished at Tue Apr 03 17:45:232007
t
f
tt,
I
f
i~
if
~ ~. 88 HACKING Y SEGURlDAD EN INTERNET
RA-MA
EI ultimo ejemplo que se realizara a modo de prueba de uso con Scanline es el de escanear un rango de IP (ver la siguiente figura) donde se aprecia que se obtienen resultados similares a los anteriores pero sin necesidad de ir de IP en IP manualmente. La linea de comando en este caso seria sl-v 87.223.196.1-254, con 10 que estamos indicando que queremos que haga un escaneo con ping a las 254 rnaquinas. Aqui 110sindicara las maquinas que estan levantadas, y de esas realizara el escaneo de puertos. Recordar al lector que muchos firewalls descartan el ping hacia las maquinas que protegen, con 10 cuallas maquinas pueden parecer no estar activas. "Asegurese siempre de que la maquina realmente no esta activa".
C:\scanline>sl-v 87.223.196.1-254 ScanLine (TM) 1.01 Copyright( c)F oundstone.Inc.Zuuz Adding IP range 87.223.196.1-87.223.196.254 No No No No
http://www.foundstone.com
TCP ports provided - using default port list file: "TCPports.txt" TCP port list file found - using internal TCP list UDP ports provided - using default port list file: "UDPports.txt" UDP port list file found - using internal UDP list
3.1 IN
Figura 2-33. Pantalla donde indica maquinas activas
Con esto se puede dar conc1uido el contenido de este capitulo, que apunta a la deteccion de actividad en maquinas en Internet, pertenecientes a entomos en los que un intruso malicioso podria estar interesado. EI objetivo ha sido trazar un posible e inicial vector de ataque, mediante descubrir la actividad y existencia de las maquinas cara a Internet, junto con detectar que posibles puertas de acceso estaran disponibles en ellas, que no viene a ser otra cosa, que la detecci6n de aquellos puertos abiertos que esten brindando un servicio util para la organizaci6n.
--------
--------------------------"'-----