De: Seldon <seldon@SPAMseldon.4mg.com>
Asunto: FOR YOUR EYES ONLY - GUA DE REFERENCIA DE TELNET, FTP Y DEMS
Fecha: lunes 6 de marzo de 2000 0:30

******************************
* Manual de referencia de    *
* FTP, Telnet, correo y news *
******************************

* by Seldon *


***************************************************************************

        1. PREFACIO

        2. PEQUEA INTRODUCCIN A LOS PUERTOS

        3. FTP
                2.a Teora
                2.b Comandos
                2.c Prctica

        4. TELNET
                3.a Teora
                3.b Prctica

        5. ENVO DE CORREO ELECTRNICO (SMTP)
                4.a Prctica
                4.b Remailers annimos

        6. OTRAS CUESTIONES DE INTERS
                6.a. Otros puertos interesantes


*****************************************************************

1.- PREFACIO

        Esto es una pequea gua para ayudar a los ms nuevos (newbies)
a
poder seguir sin muchas dificultades las siguientes lecciones del FOR
YOUR
EYES ONLY. No es en ningn caso un manual de hacking, los servicios a
los que
accederemos aqu son accesibles para todo el mundo, no slo para hackers
;-)

        Si despus de leer esto tienes dudas, vulvetelo a leer. Si
sigues
teniendo dudas, pregntalas al grupo, no a mi direccin de e-mail. Todos
ganaremos si las dudas son respondidas en el grupo, adems de servir
para
corregir o aadir algo al texto.

*****************************************************************

2.- PEQUEA INTRODUCCIN A LOS PUERTOS

        Un puerto lgico es en parte similar a un puerto fsico (eso que
hay
detrs de la caja del ordenador, donde conectamos la impresora, el
ratn, el
mdem...). Detrs de cada puerto hay un programa, que da un servicio a
todo
aquel que se conecte a l y tenga permiso para acceder al servicio.

        Para que sea accesible, el puerto debe estar 'abierto'. Adems,
debe
tener un programa detrs de l, porque si no, aunque nos conectemos, no
podremos hacer nada con l. Para saber qu puertos estn abiertos
debemos usar
un scaner. Puedes encontrar algunos muy buenos en http://hello.to/nbk/ y
http://www.geocities.com/crino1p/   ;-))))

        Hay miles de listas muy completas con todos los puertos. Ah
abajo
incluyo una para mayor comodidad, con los puertos ms comunes y/o ms
importantes.

        En la lista se asume que cada puerto est relacionado con su
nmero
asociado (ftp con el 21, smtp con el 25, etc...), pero nada impide que
podamos
intercambiar estos nmeros (poner el ftp en el 1234, p.e.). Tambin
recordar
que a la hora de conectar con un puerto da igual poner su nmero que su
nombre
('telnet www.servidor.com 21' es equivalente a 'telnet www.servidor.com
ftp')

        Y aqu est la lista:

     Puerto     Servicio        Utilidad
    
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
        7       echo            Lo que teclees se volvera a escribir 
        9       discard         dev/null - basura 
        11      systat          Informacion sobre los usuarios 
        13                      Hora y fecha en el host remoto 
        15      netstat         Informacion sobre la red 
        21      ftp             Transferencia de ficheros 
        23      telnet          Acceso al shell 
        25      smtp            Correo saliente 
        37      time            Hora en el host remoto 
        39      rlp             Localizacion del recurso 
        43      whois           Informacion sobre la red y el host 
        53      domain          Nombre del servidor 
        70      gopher          Buscador de informacion (ya anticuado) 
        79      finger          Informacion sobre los usuarios 
        80      www             Servidor de Web 
        110     pop3            Correo entrante 
        119     nntp            Grupos de noticias (news)
        139     nbsession       Netbios session
        443     shttp           Servidor de Web 'seguro'
        512     biff            Notificacion de correo 
        513     rlogin          Login remoto 
        514     shell           Comando remoto 
        515     spooler 
        520     route           Protocolo de informacion routing 
        8000    http            Otro servidor de web.
        8080    proxy 



*****************************************************************
0
3.- FTP


3.a Teora

        FTP significa File Transfer Protocol, protocolo de transferencia
de
archivos, en castellano. Y sirve, cmo no, para sto mismo, transferir
ficheros: o de nuestra mquina hacia la mquina remota (upload o subir
archivos) o de la mquina remota hacia la nuestra (download o bajar
archivos).
Tambin permite seguir bajandose un archivo despus de un corte de
conexin
(por haberse cortado o por ser un archivo muy grande que queremos bajar
en
varias sesiones)

        Un programa de FTP servidor suele abrir el puerto 21 en la
mquina en
ls que est instalado, para que se puedan conectar por l otras
mquinas. Un
programa de FTP cliente es el que se utiliza para conectarnos al
servidor. Los
hay grficos, como el CuteFTP para Windows o el IglooFTP para Linux, y
en modo
texto, que estn includos en ambos sistemas operativos (para
arrancarlos,
escribir el comando ftp en una ventana de MS-DOS o de la consola texto,
en
Windows y Linux respectivamente). Aqu nos centraremos en los programas
clientes de texto.

        El FTP no est diseado para ejecutar programas, para eso est
telnet
(ver ms abajo), pero s se pueden ejecutar algunos, los que sirven para
poder
decirle a la mquina que queremos subir o bajar algn archivo o para
navegar
entre los directorios.

        Hay varios modos de transferencia de ficheros: ASCII y binarios.
Los
ficheros ASCII son los archivos de texto, y los binarios todos los dems
(programas, imgenes...). Si transferimos un fichero de texto como
binario,
seguramente se perder el formato del archivo (aparecern smbolos
extraos o
saltos de lnea donde no deberan haberlos), pero no ser excesivamente
grave.

        Sin embargo, si transferimos un binario como texto, es casi
seguro que
quede inutilizable. Por eso es importante asegurarse de cambiar el modo
antes
de bajarse un programa, una imagen o un archivo de sonido. Luego, a
menos que
queramos bajarnos otro archivo, debemos cambiar nuevamente al modo ASCII
para
poder recibir correctamente la lista de archivos de un directorio (al
hacer
ls). Normalmente no deberemos preocuparnos por esto si utilizamos un
programa
de ftp, aunque sea en modo texto. Pero si nos conectamos mediante un
programa
de telnet s lo tendremos que tener en cuenta.


3.b Comandos

Nota: Estos son los comandos ms importantes del ftp texto para Linux.
Los
del ftp texto para ms-dos son iguales en su mayor parte, as que no creo
que
haya ningn problema en encontrar los comandos equivalentes. Para
informacin
sobre los comandos que no he includo aqu, escribir el comando 'man
ftp'

ascii = cambia a modo ASCII (por defecto)
binary = cambia a modo binario
bye = quit = exit = adis!
cd = Cambio Directorio (ojo! no sirve poner 'cd..' como en DOS, hay que
poner
        'cd ..' (con espacio)
cdup = igual a 'cd ..'
close = disconnect = corta la conexin sin salir del programa
delete = borra un archivo en la mquina remota
dir = muestra la lista de archivos del directorio actual. No admite
parmetros.
get [archivo.arc] = descargarse el archivo.arc. Ojo! Fjate de que
ests en el
        modo adecuado antes de descargarlo.
lcd = sin nada ms, muestra el directorio local actual. Con un
directorio,
        cambia el directorio local a ese directorio (en el directorio
local se
        guardarn los archivos descargados, y de l se cojern los que
se
        suban)
ls = muestra los archivos del directorio actual. Los parmetros son los
mismos
        que los del ls del s.o.
mkdir = crea un directorio en la mquina remota.
open = abre una conexin. Slo es necesario si no ha sido especificado
un
        sitio en la llamada al programa (como por ejemplo, ftp
ftp.rediris.es)
proxy = Se conecta a otro sitio sin desconectar del primero.
put = sube un archivo
rename = renombra un archivo/directorio <-- Esto puede resultar muy
        interesante a veces! ;-)
reget = seguir bajndose un archivo que ha sido cortado anteriormente.
rmdir = borra un directorio, siempre que est vaco (aunque algunos
parezca
        que lo estn porque no vemos nada al hacer un ls, lo que pasa es
que
        tienen archivos para los que no tenemos permiso de lectura (si
no
        sabes lo que es esto, lee un manual bsico de UNIX)).
mdelete, mdir, mget, mls = lo mismo que esos comandos sin m, pero para
varios
        archivos / directorios


3.c Prctica

        Vamos a subir nuestra pgina wez al servidor, para ponerla en
intesn. Nuestra pgina principal se llama index.html, y contiene una
imagen
llamada imagen.jpg, que la queremos poner en un directorio aparte
(imgenes).

        Pues primero nos conectamos a nuestro servidor. Esto se hace
poniendo
el comando 'ftp (servidor)'. Debes sustituir (servidor) por el nombre de
tu
servidor, por ejemplo ftp.servidor.es. Por defecto se asume que el
puerto es el
21, si fuera otro tedras que indicrselo. Por ejemplo, si usa el puerto
4000,
tendras que poner 'ftp ftp.servidor.es 4000'.

        Ahora nos saldr un prompt que nos pedir un login (username).
Le
ponemos nuestro nombre de usuario. Si quisiramos conectarnos
annimamente
tendramos que poner 'anonymous' (esto es as para la mayora de
servidores.
Puede, no obstante, que te encuentres alguno que no sea as. En estos
casos
hay que probar con 'guest' o similares). Como este no es el caso,
introducimos
nuestro nombre de usuario, por ejemplo, seldon.

        Luego nos pedir una contrasea. Si hemos entrado como
'anonymous'
tendremos que poner una direccin de e-mail. Poniendo 'guest@' ya vale
en la
mayor parte de los casos. Tambin puedes poner tu verdadera direccin si
quieres que te acaben de mandar por correo los archivos que no te has
podido
bajar (el servidor debe aceptar esta opcin). Si hemos entrado como
usuario
no annimo, introduciremos nuestra contrasea.

        Y ya estamos dentro!, ahora podemos ver nuestros directorios.
Si
ponemos 'cd ..' veremos que estamos en el directorio raz. Esto no es
as en
realidad, para la mquina no es el nuestro el directorio raz, slo lo
es para
un usuario (nosotros).

        Si ponemos 'ls' podremos ver los archivos que hayamos puesto
anteriormente nosotros ah. Tambin veremos varios subdirectorios. Uno
de
ellos es bin, otro sbin. Si miramos dentro de estos subdirectorios
veremos
que, aparentemente, estn vacos, pero no es as, lo que pasa es que
estn
llenos de archivos para los que no tenemos permisos de lectura (pero s
de
ejecucin). Si no sabes qu quiere decir esto, te recomiendo que mires
la
seccin de permisos de un manual bsico de UNIX.

        Estos subdirectorios no se pueden borrar, porque contienen
archivos
de los que no somos los propietarios, pero s renombrar ;-)

        Bueno, a lo que bamos. Aqu est el resto del trabajo. No creo
que
necesite ms explicacin que la que ya tiene entre los smbolos /* y */.

lcd /mipagina  /*cambia el directorio local actual a /mipagina, que es
donde
se supone que tenemos guardada la pgina. Los usuarios de windows
tendrn que
usar la barra invertida '\'*/

put index.html /*sube el archivo index.html. Como los html son archivos
de
texto no hace falta cambiar el modo. Si tuvieras problemas, cambia al
modo
binary*/

mkdir imagenes

cd imagenes /*crea el subdirectorio imagenes y se cambia a l (todo en
la
mquina remota*/

binary /*cambia a modo binario (vamos a subir la imagen) (esto no es
necesario si usamos un programa de ftp, s lo es si no lo usamos)*/

put imagen.jpg

ascii /*vuelve a cambiar al modo ascii (porque vamos a comprobar que
todo est
bien, y necesitamos recibir la informacin en modo texto (ascii)) (esto
no es
necesario si usamos un programa de ftp, s lo es si no lo usamos)*/

ls /*comprueba que la imagen est en su sitio*/

quit /*salimos*/

*********************************************************

4.- TELNET


4.a Teora

        Primero creo que hay que distinguir entre un programa de telnet
y el
protocolo telnet. Un programa cliente de telnet es un emulador de
terminal
(teclado + monitor) con el que nos podremos conectar con nuestro
ordenador a
otro y utilizarlo como si nuestro programa fuera un terminal de la
mquina
lejana. Es decir, es el que nos permitir conectar a cualquiera de los
puertos
abiertos de un sistema para aprovecharnos de sus servicios.
Prcticamente
todos los s.o. traen uno. Tanto en Linux como en win se llaman igual:
telnet.
Tambin hay otros programas que hacen eso. Uno de los ms conocidos es
el CRT
(para win), que podris encontrar en shareware.com, entre otros muchos
lugares.

        Y el protocolo telnet es un protocolo orientado a ejecutar
programas
en una mquina remota. Nosotros le enviamos la informacin al programa
de la
mquina lejana mediante el teclado, el programa la procesa en la mquina
lejana, y recibimos el resultado en nuestra pantalla. Es decir, este
protocolo
est orientado a la ejecucin de programas en la mquina lejana.

        Y cmo ms podemos utilizarlo? Pues nos puede servir para
encontrar y
utilizar un proxy con el que anonimizarnos ms.


4.b Prctica

        Si queris ver una muestra de cmo se pueden ejecutar programas
en una
mquina lejana, podis probar con stos:

eucmvx.sim.ucm.es (login: biblioteca) <-- Catlogo de la universidad
complutense de Madrid

babel.uab.es <-- Catlogo de la universidad autnoma de Barcelona

chess.unix-ag.uni-kl.de (puerto: 5000) <-- Jugar al ajedrez contra otros
usuarios

        Para conectar con ellos en Linux debis escribir 'telnet
servidor' si
se usa el puerto 23 (los que no he puesto nada) o 'telnet servidor
puerto' si
se usa otro puerto diferente. P.e.: 'telnet babel.uab.es'  'telnet
babel.uab.es 23'

        En windows, iniciad vuestro programa de telnet preferido, y en
el men
de conexin escribid el nombre y el puerto (dejad telnet si es el 23).
Dejad el
tipo de terminal en vt-100. Si no veis lo que escribs, habilitad el eco
(estar en el cuadro de opciones o similar)

        Para utilizar un proxy wingate para anonimizarnos, primero
tendremos
que conseguir una lista de posibles proxys conectables. Para ello, vamos
al
IRC y escribimos '/raw stats glines'. Esto nos dar una lista de gente
que ha
sido baneada. Nos quedaremos con los que en el motivo de ban ponga algo
de
'proxy abierto' o similar. Nos vamos al programa de telnet y probamos
con uno.
Si no nos deja conectar, o no dice nada al conectar, pasamos al
siguiente. Si
nos contesta con el prompt 'wingate>', felicidades! has encontrado un
wingate.
Con l podrs conectarte a otro sitio sin dejar tu verdadera IP (quedar
guardada en el sitio de la conexin la IP del wingate, y la tuya quedar
reflejada en el wingate).

        Hay algunos wingates que no guardan logs (archivos en los que
quedan
reflejadas todas las conexiones). stos son los que deberemos conseguir
encontrar. El problema es que no hay forma de saber si un sitio guarda o
no
logs. Por eso es conveniente conectarse a dos o ms consecutivamente.
Con esto
aumentan las posibilidades de encontrarse uno que no guarde logs, aunque
la
velocidad disminuye.

        Una vez conectado a un wingate, para conectarnos a otro o a
cualquier otra parte tendremos que poner 'open servidor puerto'.

*****************************************************************

5.- SMPT (envo de e-mails)


5.a Prctica

        Creo que lo mejor para ver cmo funciona el envo de e-mails es
enviandolos 'a mano'.

        Para esto abriremos nuestro programa de telnet, y conectaremos
con
nuestro servidor de smtp, que estar en el puerto 25. P.e.: telnet
smtp.wanadoo.es 25

        Despus de los mensajes de bienvenida, y para enviar un mail,
escribimos:

mail from: Nadie <nadie@ningunsitio.com>, o bien:
mail from: nadie@ningunsitio.com

        La diferencia es que en el primer caso saldr en el programa de
correo
empleado para leer nuestro mail que ha sido enviado por Nadie, mientras
que en
el segundo caso habr sido enviado por nadie@ningunsitio.com.

        Hay algunos servidores que requieren que el servidor que hay
detrs de
la @ exista. En ese caso basta con poner un servidor que exista (no
necesariamente nuestro ;-) )

        Para designar el receptor:

rcpt to: Amigo <amigo@nuestro.es> (rcpt significa recipient)

        Ahora viene el cuerpo del mensaje. Le decimos al servidor que
queremos
introducirlo escribiendo:

data

        Si no ponemos nada, la primera lnea ser el subject, luego
tendremos
que dejar una lnea en blanco, y el resto el cuerpo del mensaje.
Finalizaremos
con un puntito slo en una lnea.

        Pero tambin podemos poner nuestras propias cabeceras. Como las
nicas
obligatorias son el from, el to, y el Received (que lo pone el servidor
y no
podemos modificar), las dems nos las podemos inventar, o copiar de las
que
ponen los programas de correo. Esto incluye, entre otras, la fecha.
Seguramente el servidor la incluir por otro lado, pero puede ayudar a
sembrar
la confusin ;-). La ltima que debemos poner debe ser el subject: , y a
partir de esa ya vendr el mensaje.

5.b Remailer annimos

        Son los servidores de correo saliente que no incluyen la IP del
que la
enva. Podemos saber si un servidor es o no un remailer annimo con el
comando
helo. Ponemos:

helo cualquiercosa

        Si nos contesta con:

Helo (nuestronombreenlared) [(nuestraip)] please to meet you.

ya nos podemos olvidar, porque no es un remailer annimo. Si en la
contestacin no se incluye nuestra IP, seguramente s lo ser. Podemos
comprobarlo enviando un mensaje y comprobando si la incluye.

        El comando helo es conveniente utilizarlo al conectar a un
servidor
smtp. No es necesario, pero si no lo usamos en las cabeceras del mensaje
se
incluir un warning (advertencia) de que somos unos maleducados que no
saludamos :-D.

        Tambin se llama remailer annimo a cierto servicio en la red,
al que
nosotros dirigimos nuestros mensajes, y ellos eliminan el campo From y
lo
redirigen al receptor original.

        Ninguno de estos dos sistemas es completamente annimo, ya que
si
hacemos alguna 'guarrerida' y a los MIG les da por investigar, como
nuestra
entrada en estos servidores ha quedado registrada, no tendrn mucha
dificultad
para seguir el rastro.

********************************************************

6.- OTRAS CUESTIONES DE INTERS

-Cmo podemos hacer todo esto off-line?

        Pues teniendo instalados los programas servidores de cada
servicio.

        No s qu programas hay para windows, ni su utilizacin, as que
no me
voy a meter ah. Lo que s tenis que tener en cuenta es que estos
programas
son comerciales, con lo que tendris que comprarlos (y no sern baratos
precisamente) o conseguirlos de otra forma (no dir cul XDDD )

        En linux lo tenemos muchsimo ms fcil, ya que casi todos los
programas necesarios son gratuitos, y se suelen incluir e instalar por
defecto
en la mayora de las distribuciones. Adems, son los programas usados
mayoritariamente en internet, como el servidor web Apache, el servidor
smtp
Sendmail, el servidor de news Leafnode o el servidor ftp wu-ftpd.

        Si los tenemos instalados y configurados correctamente (consulta
las
pginas de manual y los how-to adecuados a cada caso), debemos
asegurarnos de
que su puerto est abierto. Los servicios ofrecidos estn en el archivo
/etc/inetd.conf. Descomentamos (quitamos el smbolo # de delante) las
lneas
referidas al servicio que queramos ofrecer, y lo reiniciamos poniendo
'/sbin/init.d/inetd restart' (en el caso de la distribucin suse. Para
otras
distribuciones podemos consultar las primeras lneas del archivo en
busca del
comando a utilizar, y, si no lo encontramos, con el comando find buscar
el
archivo inetd (find / -name inetd) y escribir el directorio equivalente
a
/sbin/init.d).

        Si lo hemos hecho correctamente, ya nos podremos conectar con
nosotros
mismo, poniendo como servidor 'localhost', p.e.: telnet localhost 25,
para
practicar con el sendmail.


6.a Otros puertos de inters

-Netstat

        Uso: netstat (servidor)

        Nos da mucha informacin sobre las conexiones del sistema, y
puertos
'listening' (puertos abiertos y escuchando, que nos pueden ahorrar un
escaneo
de puertos). La funcin de este puerto es la de hacer estadsticas sobre
la
red.


-Systat

        Uso: telnet (servidor) systat

        Nos da informacin sobre los procesos que se estn ejecutando en
la
mquina remota. Con esta informacin podemos, entre otras cosas, buscar
exploits para estos programas


-Finger

        Uso: telnet (servidor) (usuario)

        Nos da informacin sobre los usuarios de un sistema. Sin el
parmetro
usuario nos mostrar todos los que haya conectados en ese momento (no es
normal que lo haga a menos que seas root). La informacin que da es:

login de usuario
nombre completo del usuario
directorio personal
shell que utiliza
ltima conexin (o si est conectado o si nunca se ha conectado) y desde
dnde
si tiene correo por leer

        Si no te da la lista de usuarios conectados sin dar nombre,
adems de
probar el finger con el root para ver sobre todo cundo se conecta,
puedes
probar 'a ciegas'. Si estn en una mquina espaola puedes probar con
logins
como juan, jose, pedro, jlopez... y en una mquina americana con logins
como
john, mike, smith... Es casi seguro que hay algn usuario llamado as.
Ten en
cuenta la nacionalidad del servidor, no vayas a probar jose en un
servidor
japons!

        Con esta informacin podemos intentar adivinar una contrasea,
teniendo en cuenta que la mayora de la gente no quiere contraseas
difciles
de recordar, y usa una combinacin de su nombre y sus apellidos. Tambin
puede
servir para enviarle un mail a su nombre verdadero pasando por ser el
administrador del sistema, intentando convencerle de que te d su
contrasea
(esto se llama ingeniera social XDDD ).

        Tambin puedes ser ms sutil, e intentar sacarle su fecha de
nacimiento, o la fecha de su boda, o el nombre de sus hijos o de su
pareja, o
cosas similares que suelen ser muy utilizadas como contrasea.

        Y bueno, esto ha sido todo. Espero no haberos aburrido mucho.

Seldon


-- 
-------------
Seldon
Linux user: 164.255 <-- http://counter.li.org/
seldon@SPAMseldon.4mg.com
Para responder, desecha el SPAM
------------- 