Hola
Este texto es de manual para aquellos interesados en temas de seguridad y hacking.
Lo pasteo aquí por temor a que cambie algún enlace y se pierda este texto
Extraído de
http://www.sindominio.net/hmleioa01/material/analisis.txt----------------------------------------------------------------------
Comienzo de pasteo
----------------------------------------------------------------------
/* honoriak <
EGC@argen.net> <
honoriak@mail.ru> 2000.12.26 Ante
cualquier duda, critica, pregunta, etc. no dudes en escribirme a
una de las direcciones de e-mail que acabas de ver. Las fuentes que
me ayudaron en la elaboracion de este reducido 'paper' figuran al
final de este documento. Este paper ha sido elaborado con emacs y
joe. */
-----------------[ Analisis remoto de sistemas
--------------------------[ honoriak <
honoriak@mail.ru> de HeliSec
[ sección de I+D de networking-center.org ]
[ Version Final ]
Indice
======
1. Introduccion:
- Localizacion.
- NS de la maquina.
- Informacion del registro del dominio.
2. Analisis:
- Sistema operativo:
Analisis sin conocimiento de la pila TCP/IP.
Analisis basado en la pila TCP/IP.
Fingerprinting pasivo
- Servicios:
Software de escaneo de puertos y vulnerabilidades:
panorama actual.
Tecnicas usadas en el escaneo de puertos.
- Relacion de principales servicios con puertos. Daemons.
- CGIs
3. Bibliografia y agradecimientos
|---------------------------------------|
1. Introduccion
============
Localizacion:
~~~~~~~~~~~~~
En este manual se tratara unicamente el caso de un servidor
con una ip fija y un dominio/s asociado, ya que creo que el analisis
de sistemas se aplica a este tipo de configuraciones y no me parece
logico el ocuparse de ordenadores de usuarios domesticos ya que
normalmente no son los que necesitan este tipo de comprobaciones.
Lo unico a resaltar es que las IPs de las maquinas que vamos a
analizar no pueden estar en ningun caso entre:
============================================
| Clase Networks |
| A de 10.0.0.0 a 10.255.255.255 |
| B de 172.16.0.0 a 172.31.0.0 |
| C de 192.168.0.0 a 192.168.255.0 |
============================================
Ya que estas son de uso privado (para LANs, intranets) y
estamos tratando el caso de maquinas conectadas a internet. La version
del Internet Protocol utilizada mayormente en la actualidad es la 4
pero es cierto que los esfuerzos porque este sea reemplazado en un
futuro no muy lejano por IPv6 es notable y en este cambiara el esquema
de direcciones y las direcciones seran mas largas.
Dos herramientas de uso muy comun entre los usuarios de
cualquier sistema operativo serio son ping y traceroute. Me parece
que es obvio su uso y sino, siempre puedes acudir al man para saber
todas sus opciones de sintaxis. La ultima de ellas, muchas veces es
infravalorada en un analisis y realmente puede dar una idea de la
situacion fisica del servidor y maquinas cercanas a este. Actualmente
hay bastantes frontends y utilidades basadas en traceroute para
x-windows e incluso alguna de ellas representa en un mapa el camino
que sigue un paquete desde nuestro sistema hasta la maquina a
analizar.
Mas adelante, comentaré el uso de traceroute para conocer
mejor el tipo de firewall que protege a una máquina.
NS de la maquina
~~~~~~~~~~~~~~~~
Otra herramienta muy util en el analisis es el nslookup,
gracias a ella podremos saber el servidor de nombres (NS) que ofrece
el dominio a nuestro servidor, es decir, el NS que hace que w.x.y.z sea
dddd.com. Para obtener esta informacion, haremos uso de nuestro DNS
(es decir, el servidor de nombres que nos ofrece nuestro ISP). Asi por
ejemplo, suponiendo que mi NS es ns1.worldonline.es y queremos saber
cual es el NS de insflug.org, se actuaria de la siguiente forma:
$ nslookup insflug.org
Server: ns1.worldonline.es
Address: 212.7.33.3
Name: insflug.org
Address: 209.197.122.174
$ nslookup
Default Server: ns1.worldonline.es
Address: 212.7.33.3
> set q=ns
> insflug.org
Server: ns1.worldonline.es
Address: 212.7.33.3
Non-authoritative answer:
insflug.org nameserver = NS0.NS0.COM
insflug.org nameserver = NS84.PAIR.COM
Authoritative answers can be found from:
NS0.NS0.COM internet address = 209.197.64.1
NS84.PAIR.COM internet address = 209.68.1.177
Como puedes observar, hemos obtenido los NS tanto primario
como secundario que hace que insflug.org este asociado a
209.197.122.174 siendo: NS0.NS0.COM y NS84.PAIR.COM. Esta informacion
nos puede ser de gran utilidad para cierto tipo de cosas. Lo que si
que puede ser de cierta utilidad es saber que en los NS hay unas zone
files en las que se encuentra la informacion sobre el dominio a
analizar, de esta forma encontrariamos
zone "insflug.org"{
type master;
file "insflug.org.zone";
};
en el fichero en el que se encontrase la informacion sobre las
secciones de zona (algunas veces /var/named/), siendo la zone file
para insflug.org /var/named/insflug.org.zone, en el supuesto de estar
en /var/named/. Alli encontrariamos
@ IN NS NS0.NS0.COM.
www IN A 209.197.122.174
ftp IN CNAME www
.....
CNAME significa canonical name y quiere decir que en realidad
la ip a la que se refiere ftp.insflug.org es la misma que
www.insflug.org y que en este caso es la misma que insflug.org, como
podemos comprobar haciendo:
$ nslookup
Default Server: ns1.worldonline.es
Address: 212.7.33.3
> set q=ns
>
www.insflug.orgServer: ns1.worldonline.es
Address: 212.7.33.3
Non-authoritative answer:
www.insflug.org canonical name = insflug.org
...
> ftp.insflug.org
Server: ns1.worldonline.es
Address: 212.7.33.3
ftp.insflug.org canonical name = insflug.org
...
De esta forma, podremos saber si los demonios de ftp,
www... de un dominio se encuentran en una misma maquina o maquinas
diferentes; muy util para tener una vision global del host a estudiar,
ya que lo que en principio se podria pensar que era un servidor en
particular son varios. Ademas, www.insflug.org por ejemplo puede
estar asociado a varias IPs y viceversa.
Pese a que para saber el servidor de nombres del servidor a
estudiar hemos utilizado nslookup, que se supone que es el metodo en
el cual utilizamos un poco "nuestros propios medios", estos NSs se
podrian saber haciendo uso del comando que se utiliza en lo que viene
a continuacion: whois.
Informacion del registro del dominio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Para obtener informacion sobre el registro de un dominio,
entiendase por dominio ddd.xxx y no pr.ddd.xxx pr2.ddd.xxx... que
serian considerados subdominios del primero, se puede hacer uso de la
herramienta ya implementada en la mayoria de los unix whois. Asi, de
esta forma:
$ whois insflug.org
[whois.internic.net]
Whois Server Version 1.3
Domain names in the .com, .net, and .org domains can now be registered
with many different competing registrars. Go to
http://www.internic.netfor detailed information.
Domain Name: INSFLUG.ORG
Registrar: NETWORK SOLUTIONS, INC.
Whois Server: whois.networksolutions.com
Referral URL:
www.networksolutions.com Name Server: NS0.NS0.COM
Name Server: NS84.PAIR.COM
Updated Date: 24-jun-2000
>>> Last update of whois database: Mon, 25 Dec 2000 11:16:57 EST <<<
The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and
Registrars.
Puedes observar como se han obtenido tambien los servidores de
nombres que contienen la entrada insflug.org (por esto lo comentado
anteriormente). Pero, en realidad, esto la mayoria de las veces no es
de mucha utilidad ya que actualmente los registros de dominios no son
directos y en realidad no figura el nombre del que lo quiso registrar
sino de la empresa intermediaria que hizo efectivo el registro. Lo
que si que nos proporciona una informacion mucho mas completa es hacer
un whois al Whois Server que nos ha proporcionado este primer whois
insflug.org que es whois.networksolutions.com, asi de esta forma:
$ whois
insflug.org@whois.networksolutions.com[whois.networksolutions.com]
The Data in Network Solutions' WHOIS database is provided by Network
Solutions for information purposes, and to assist persons in obtaining
information about or related to a domain name registration record.
Network Solutions does not guarantee its accuracy. By submitting a
WHOIS query, you agree that you will use this Data only for lawful
purposes and that, under no circumstances will you use this Data to:
(1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail
(spam); or (2) enable high volume, automated, electronic processes
that apply to Network Solutions (or its systems). Network Solutions
reserves the right to modify these terms at any time. By submitting
this query, you agree to abide by this policy.
Registrant:
Impatient & 'Novatous' Spanish FidoNet Linux Users Group (INSFLUG-DOM)
Avda. Pablo VI, 11 - 4C
Dos Hermanas, Sevilla 41700
ES
Domain Name: INSFLUG.ORG
Administrative Contact, Billing Contact:
Montilla, Francisco J (FJM43)
pacopepe@INSFLUG.ORG Impatient & 'Novatous' Spanish FidoNet Linux Users Group
Avda. Pablo VI, 11 - 4C
Dos Hermanas, Sevilla 41700
ES
+34 955679066 (FAX) +34 955679066
Technical Contact:
Administrator, Domain (DA550)
domain@PAIR.COM pair Networks, Inc
2403 Sidney St, Suite 510
Pittsburgh, PA 15203
+1 412 681 6932 (FAX) +1 412 381 9997
Record last updated on 25-Jul-2000.
Record expires on 24-Jun-2001.
Record created on 24-Jun-1998.
Database last updated on 25-Dec-2000 20:18:04 EST.
Domain servers in listed order:
NS84.PAIR.COM 209.68.1.177
NS0.NS0.COM 209.197.64.1
Vemos pues, una informacion mucho mas completa =) Para obtener
informacion sobre dominios que no sean .com, .net, .org, .edu
tendremos que saber el servidor que nos permite hacer un whois
de dicho dominio, ya que con el whois.internic.net no nos
permitira esa busqueda,
$ whois ctv.es
[whois.internic.net]
Whois Server Version 1.3
Domain names in the .com, .net, and .org domains can now be registered
with many different competing registrars. Go to
http://www.internic.netfor detailed information.
No match for "CTV.ES".
>>> Last update of whois database: Mon, 25 Dec 2000 11:16:57 EST <<<
The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and
Registrars.
2. Analisis
========
2.1 Sistema operativo
~~~~~~~~~~~~~~~~~~~~~
I. Analisis sin conocimientos de la pila TCP/IP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
De paquete, algunos sistemas operativos (quizas versiones
antiguas), tenian o incluso tienen "por costumbre" darnos dicha
informacion (so y version) al telnetear al servidor y los
administradores no se preocupan de modificarlo. Asi que siempre puedes
probar haber si hay suerte y por ejemplo te encuentras con:
$ telnet jeropa.com
Trying 64.60.1.66...
Connected to jeropa.com.
Escape character is '^]'.
Cobalt Linux release 4.0 (Fargo)
Kernel 2.0.34C53_SK on a mips
login:
...
Lo que es cierto, es que cualquier sysadmin serio debe
preocuparse de cambiar esto, ya que tampoco hay que dar tantas
facilidades. Pero, en la actualidad si que es cierto que cada vez son
mas los sysadmins que cambian esto e incluso ponen un so o version
falsa. Asi que esta tampoco va a ser una muy buena solucion para saber
el sistema operativo de la maquina que tratamos. (El escaner ISS, de
pago, utiliza esta "fiable" tecnica, asi que te recomiendo usar queso
o nmap).
Aun asi, podemos seguir obteniendo informacion sobre el SO de
la maquina a estudiar de forma mas o menos parecida ya que, por
ejemplo, si tiene operativo www, ftp o snmp, a lo mejor se puede hacer
una peticion al servidor web, ejecutar SYST en una sesion de FTP o
simplemente ver la version del cliente de FTP o usar snmpwalk (de las
utilidades CMU SNMP) para conseguir cierta informacion respectivamente
y saber en algunos casos el SO; de esta forma, por ejemplo:
$ telnet
www.microsoft.com 80
Trying 207.46.230.229...
Connected to
www.microsoft.akadns.net.Escape character is '^]'.
probando?
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/5.0
Date: Wed, 27 Dec 2000 00:03:18 GMT
...
Te suena de algo lo de IIS/5.0? Pues ya sabes hablamos de un
win*.
__
$ telnet ftp.ciudadfutura.com 21
Trying 216.35.70.14...
Connected to ftp.ciudadfutura.com.
Escape character is '^]'.
220 Serv-U FTP-Server v2.5e for WinSock ready...
...
Y por tanto si revisamos las caracteristicas del Serv-U
FTP-Server,
| "FTP Serv-U from is a full-featured
| FTP server that allows you to turn almost any
| MS Windows (9x, NT, 2000) computer into an
| Internet FTP Server."
nos damos cuenta de que estamos hablando de una maquina win*.