Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

H@CKERS,DESDE SANTA FE ARGENTINA--
SI ERES DE ESOS A LOS CUALES LES APASIONA INVESTIGAR, IR MAS ALLA DE LOS LIMITES DE TU IMAGINACION, ESTAS EN EL LUGAR INDICADO, AQUI APRENDERAS A USAR TECNICAS SENCILLAS, QUE HARAN QUE TE SIENTAS UN VERDADERO HACKERS, TODO LO AQUI EXPUESTO EN ESTE BLOG, E

Archivo: Octubre 2007

31/10/2007 GMT 1

CLONANDO CELULARES

kolomusic2007 @ 16:01

Clonacion de Telefonos celulares & desmintiendo algunas tecnicas ++
'' ''
+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''+''

"Escribo en 1era persona solo para el mayor entendimiento. La informacion
que contienen estas lineas es de caracter meramente cientifico. ES
como un martillo; puedes hacer una casa con el o bien le puedes romper
la cabeza de alguien. Si las autoridades comprenden esto, entienden que
si matan a alguien con un cuchillo, el due~o de la ferreteria que lo
vendio no es el culpable"

Desde hace algun tiempo anda circulando por la red un articulo que trata
el afamado tema de la clonacion de telefonos celulares. La verdad es que
describe con exactitud las tecnicas para clonar celulares motorolas, sin
importar el modelo pero esta erroneo en cuanto a la clonacion de celulares
Nokia se refiere, ademas de erratizar algunos datos generales.

Quien escribio y quienes copiaron este metodo nos dicen que para clonar un
movil necesitamos:

1- System ID

2- LADA (Codigo de Area)

3- # del celular

La verdad es que esto es totalmente inutil sino tenemos los otros datos:

4- Initial Paging Channel

5- Access Overload Class

6- Group ID Mark

Ademas de agregar en sintaxis de la reprogramacion del telefono celular:

7- Access Method

8- Local Use Mark

Hablare especificamente los Nokia 101 / 1000 / N201 / 211 / 191 / 100

La tecnica que voy a exponer a continuacion ha sido comprobada utilizando
el siguiente celular:

Marca: Nokia

Modelo: 101

Peso: 275 gramos/9.7 onzas

Talk Time: 45 mins - 130 mins

Standby: 11 - 28 hrs

Type: THA-6

SN: 165/08938880

Code: 0500010

Made in: Korea

Para programar u reprogramar un movil necesitamos acceder a la parte
de la memoria que guarda las configuraciones del mismo. NAM es el
nombre por el que se le conoce a esta area por sus siglas en ingles

N = Number
A= assignment
M = Molude

La memoria electronica NAM esta hecha para llevar consigo el MIN, que
es un numero de 10 digitos que le da una identidad a cada cliente.
O sea el numero de telefono precedido por su respectivo LADA o codigo
de area.

Los fabricantes de moviles asignan una clave para acceder a la NAM de
sus productos. De este modo su equipo tecnico puede suplantar
configuraciones, como son el cambio de # de emergencia, cambio del
canal de control inicial, el cambio cualquier otra parte
reprogramable del movil. Ademas de la activacion del movil mismo &
por que no, nos permite clonarlos.

Para clonar un telefono movil perteneciente a la serie de
Nokia 101 / 1000 / N201 / 211 / 191 / 100 seguiremos estos pasos, que
tratare de explicar de la forma mas clara.

Primero Encendemos el celular & nos cercioramos que tiene suficiente
carga. Luego marcamos el codigo de acceso para la NAM:

* 3 0 0 1 # 1 2 3 4 5

Presionamos [STO] 00

La pantalla despliega un mensaje: "STORE NOT DONE", en caso
contrario si nos despliega "NOT ALLOWED", debemos repetir el paso
& marcar el codigo sin errores ( * 3 0 0 1 # 1 2 3 4 5 ).

Ahora mantendremos presionado por uno o dos segundos la tecla [CLR]
regularmente oiremos un "beep".

Procedemos a ingresar el primer numero de emergencia, el segundo
numero de emergencia, el idioma & el codigo de seguridad. Para esto
utilizaremos la siguiente sintaxis:

9 1 1 # * 9 1 1 # 2 * 1 2 3 4

Presionamos [STO] 01 [STO]

911 es el primer # de emergencia

911 es el segundo # de emergencia

2 es el codigo de lenguaje 0=ingles 1=frances 2=espa~ol

1234 es el codigo de seguridad por defecto, recomendable no
cambiarlo, pues en caso de hacerlo y perder el nuevo
codigo, habria que acceder a la NAM y poner otro nuevo.

Para grabar estos cambios

presionamos [STO] 01 [STO]

Ya tenemos programada la primera locacion de la NAM

Ahora presionamos [CLR] por uno o dos segundos y ingresamos el numero
de telefono de 10 digitos.

ejemplo:

[CLR] (presionado por dos segundos)

5555555555

[STO] 02 [STO]

Tenemos la 2 locacion programada

Ahora vamos a la ultima parte.

Presionamos [CLR] por uno segundos

y usamos la siguiente sintaxis

8 0 2 3 4 * 1 * 1 * 3 3 4 * 1 5 * 1 5
| | | | | |
| | | | | |
| | | | | |
System ID Access Local Initial Access Group
Method Use Paging Overload ID
Mark Channel Class Mark

[STO] 03 [STO]

Apagamos el telefono

Si al encenderlo despliega el mensaje "NAM ERROR" entonces hicimos
algo mal. Asi que para poder revisar nuestro trabajo utilizaremos
lo siguiente:

Marcamos la clave a de acceso a la NAM ( * 3 0 0 1 # 1 2 3 4 5 )

presionamos [STO] 00

nos despliega "STORE NOT DONE"

marcamos [RCL] 01 muestra la primera parte de la NAM

marcamos [RCL] 02 muestra la segunda parte de la NAM

marcamos [RCL] 03 muestra la tercera parte de la NAM

De esta forma revisamos lo que este mal y asi no tenemos que volver
a programar las 3 locaciones, sino la que presente el error. En la
locacion 3 solo nos seran visibles los 2 ultimos digitos del System
ID.

Me queda decir pa quienes leen los txt completo; le voy a dar una
tecnica para conseguir todos estos datos.

Usaremos un celular motorola, un papel y un lapiz. El celular debe
de estar activado. Lo probe con un Motorola TalkAbout.

Tomamos el telefono y presionamos:

[FCN] 0000000000000 (13 ceros)

01
marca [*] despliega el System ID, regularmente un # de 5 digitos

02
marca [*] despliega el codigo de area, un # de 3 digitos

03
marca [*] despliega el # de telefono, un # de 7 digitos

04
marca [*] despliega el Station Class Mark # de 2 digitos

05
marca [*] despliega Access Overload Class # de 2 digitos

06
marca [*] despliega el Group ID # de 2 digitos

07
marca [*] despliega el Código de seguridad # de 6 digitos

08
marca [*] despliega el codigo de seguro, # de 3 digitos

09
marca [*] despliega el Initial Paging Channel, # de 4 digitos

10
marca [*] despliega opciones de programacion

11
marca [*] despliega opciones de programacion

Una vez tomadas estas notas tenemos todos los datos para clonar un movil.

*Elegi hablar de la serie Nokia 101 / 1000 / N201 ... por que son celulares
descontinuados, analogos, y grandes. BARATOS!!, no creo que tengan precio
compre uno en RD$120 pesos, mas o menos US$7 dolares americanos. Y que
quede claro la tipica advertencia; "clonar es ilegal".

RECOPILACION DE PHREACKING TRUCOS Y MAS TRUCOS, DE DIFERENTES AUTORES

kolomusic2007 @ 15:59

Recopilación de Phreaking
Bienvenidos al primer número de SPR (Spanish Phreaking Recopilation). Esto no pretende ser ningún ezine nuevo ni nada por el estilo. Solamente es una recopilación de diversos trucos y métodos que han ido apareciendo en la red. Por supuesto no he incluido grandes trabajos, considero que es suficiente con reagrupar pequeñas cosas. Así que no me enrrollaré más. Espero que sea del agrado del público. Ahh, si alguien echa en falta algún documento, que me lo comunique.

Contenido
* Phreak (Por La Vieja Guardia)
* Trucos para cabinas (Autor desconocido)
* Reprogramación del OKI 900 (t800@redestb.es)
* Reprogramación del OKI 1325 (t800@redestb.es)
* Blue-box y demás (Autor desconocido)
* Phreak con Moviles analógicos (Por Cacique & ICE-Kid)
* Tarjetas telefonicas (Juan Manuel García López)
* Otro emulador de Tarjetas de (T) (Autor desconocido)

Phreak
El phreaking empezó en los inicios de la década de los 60 cuando un tal Mark Bernay descubrió como aprovechar un error de seguridad de Bell. Este error se basaba en la utilización de los mecanismos loop-arround-pairs como via para realizar llamadas gratuitas.

Lo que Bernay descubrió fue que dentro de Bell existían unos números de prueba que servian para que los operarios comprobaran las conexiones. Estos números solían ser dos y consecutivos, y estaban enlazados de tal manera que si se llamaba a uno este conectaba con el otro. Así pues si alguien en EEUU marcaba una serie de estos números de prueba consecutivos podria hablar gratuitamente :).

Este descubrimiento fue potenciado sobre todo por los jóvenes de aquel entonces, los cuales solo lo utilizaban con el fin de ahorrase dinero a la hora de hablar con sus amigos. Pero la cosa cambio cuando cierto numero de estos descubrieron que Bell era un Universo sin explorar y al que se le podria sacar mas partido que el de unas simples llamadas gratuitas. Asi pues de los rudimentarios loop-arround-pairs se paso a la utilización de ciertos aparatos electrónicos, los cuales son conocidos ahora como boxes. La primera box que se encontró fue hallada en 1961 en el Washington State College, y era un chisme con una carcasa metálica que estaba conectado al teléfono... automáticamente fue llamado Blue Box (caja azul).

Estas boxes lo que hacian era usar el nuevo sistema de Bell para redirigir las llamadas: los tonos. Esto es, cuando se marcaba un número, este lo identificaba Bell como una combinación de notas musicales que eran creadas por 6 tonos maestros, los cuales eran los que controlaban Bell y por lo tanto eran secretos...o al menos eso pretendían. El como los phreakers llegaron a enterarse del funcionamiento de estos tonos fue algo muy simple y estúpido : Bell, orgullosisima de su nuevo sistema lo publicó detalladamente en dos revistas que iban dirigidas única y exclusivamente a los operarios de la esta compañía telefónica, lo que paso es que no cayeron en la cuenta de que todo suscriptor de esa revista recibió también en su casa un ejemplar que narraba el funcionamiento de Bell...increíble pero cierto :).

Bien, una vez que los phreakers conocieron los secretos la compañía telefónica no les fue muy dificil reprodicir esos tonos y utilizarlos de la misma forma que lo hacia Bell. Las primeras Blue boxes eran unos aparatos que tenian unos tubos de vacío (precursores de los transistores) que emitían tonos. También eran conocidas como MFs (multifrequency trasmitters). Pero desde aquel entonces las Blue Box han evolucionado mucho...

Más o menos por esas fechas Bell ya estaba bastante ocupada intentando acabar con lo que ahora de conoce como Red Boxes (cajas rojas), que eran unos artilugios mas simplones que las Blue Boxes pero que también eran muy utilizados. Solian ser un teléfono de campo militar o uno corriente modificado que se conectaban a un aparato Bell. Su funcionamiento era muy simple (pero efectivo), mandaban una señal lo suficientemente corta para que la centralita pensara que la llamada no había sido descolgada cuando en realidad si lo había sido. Por ejemplo, supongamos que instalamos una cajita roja en casa de un amigo, al que luego llamamos por un teléfono público. Nuestro colega no tendrá más que apretar un botoncito para mandar una señal y poder hablar gratis. Mientras en la centralita local no se ha registrado que el teléfono de nuestro amigo se haya levantado sino que sigue sonando como si no hubiera nadie en casa. Y este era el mayor handicap de las Red Boxes, que solia ser sospechoso que una persona hubiera estado esperando 30 o 40 minutos a que en el destino levantaran el teléfono. También existía otra Red Box que imitaba el sonido que hacen las monedas al caer, haciendo creer a la compañía telefónica que la llamada habia sido pagada :)

Al poco tiempo salió una variación de la Red Box inicial que fue llamada Black Box, la cual hacia que el teléfono dejara de sonar antes de ser descolgado, de esta manera en la centralita no se facturaba la llamada ya que habia sido cancelada antes de que el destinatario descolgara el teléfono.

En realidad no existe ningún nombre especifico para cada Box, quiero decir, que lo que uno llame Reb Box otro puede llamarla de otra forma siendo lo mismo, aunque normalmente la Blue Box, la Red Box y la Black Box suelen ser siempre llamadas por estos nombres debido a que fueron las primeras en salir y las mas famosillas...pero no las únicas (piensa en todos los colores que te sepas y podrás sacar una box por cada uno mas o menos).

La más famosa y evolucionada era la Blue Box. Para no pagar la llamada los phreakers lo que hacían era llamar a un número de información de otra ciudad o a un número comercial gratuito (1-800 en EEUU, 900 en España...) y después redirigian la llamada utilizando los tonos de su MF. Profundicemos: cuando se realizaba una llamada lo primero que hace la centralita es leer los primeros dígitos marcados que son los que indican que tipo de llama es (larga distancia, urbana...). Supongamos que la llamada realizada es de larga distancia. Para ello la centralita la conecta con una línea de larga distancia que en ese momento este desocupada, la cual emite constantemente un silbido de 2600 ciclos (mmmmh...¿de que me suena este numero?) el cual significa que la línea esta preparada para recibir una llamada. Cuando el phreaker termina de marcar el resto de los números (llamados dígitos de dirección) la llamada ha finalizado. La centralita deja al emisor (el phreaker) que marque su número deseado, y la línea vuelve a silbar 2600 ciclos para permitir entrar a la llamada. Es entonces cuando nuestro amigo marcaba un numero gratuito, por ejemplo el 1-800 de cualquier empresa. La centralita local de la zona de la empresa a la que hemos llamado detecta una llamada interurbana a un numero gratuito, y dirige la llamada hacia allí. Es en ese momento, antes de que la empresa responda, es cuando el phreaker pulsa el botón de su MF, mandando un silbido de 2600 Hz, que es interpretado por la centralita primera como que la llamada ha sido cortada, puesto que la línea silbaba, cosa que hacia cuando estaba libre. Pero mientras tanto en la centralita de la zona de la empresa no se habia detectado nada, sino solamente una llamada a un numero gratuito que no habia finalizado aún. Asi pues,el phreaker podía marcar pacientemente el número que quisiera, ya que tenia una línea de larga distancia para el solito y de gratis. Ufff, no se si se ha entendido bien...si esta complicado decirlo que intentare enfocarlo de otra manera, ok?

Las blue boxes no solo servían para realizar llamadas gratuitas, sino que proporcionaban a sus usuarios los mismos privilegios que los operadores de Bell.

Lo realmente curioso, y desastroso para Bell, es que algunas personas eran capaces de silbar 2600 ciclos de forma completamente natural. El primer phreaker que utilizaba este método fue Joe Engressia (ciego) que ha los 8 años y por azar silbó por el auricular de su teléfono cuando escuchaba un mensaje pregabado y la llamada se corto. Realizo esto varias veces y en todas se le cortaba. La razón es un fenómeno llamado Talk-Off, que consiste en que cuando alguien silba y alcanza casualmente los 2600 hz, la llamada se corta, como si fuera una Blue Box orgánica :). Joe aprendió como potenciar su habilidad para silbar 2600 Hz y ya con 20 años era capaz de llamar, producir los 2600 Hz con su boca y silbar los tonos del número al que quería llamar... ¡increíble!.

Fue avisado de que sus aficiones telefónicas eran ilegales y se mudo a otro estado para ahorrarse problemas. Se mudo a Memphis, ciudad que tenia distritos telefónicos independientes, y se dedico a realizarse como phreaker. Empezaron a vigilarle y le cogieron; pasó la noche en la cárcel. Fue solamente acusado de poseer una caja azul y de robo intencionado de servicios...en realidad su único delito fue su amor por Bell, la cual se negó a devolverle la línea. Joe Engressia trabaja actualmente para Bell Mountain :).

Otro phreaker que utilizaba el método de Engressia, fue John Draper, más conocido por Cap´n Cruch, nick que sacó a raiz de un silbato que regalaban con la marca de cereales Cap´n Cruch, el cual, podría utilizarse como instrumento para hacer phreaking. Draper hacia algo parecido a lo que que hacia Joe Engressia, soplaba su silbato y la línea se quedaba libre :). También se dedico a proveer a machismos chicos invidentes cajas azules y les enseño a manejarlas, lo que le hizo muy popular. Una vez que Draper fue a Inglaterra habló con uno de sus amigos ciegos que vivía en Nueva York. Este le dijo que habia descubierto el código que utilizaban los operarios de Bell para comprobar la conexión con Inglaterra. Ese código era 182 + un número de teléfono británico. Las llamadas efectuadas por esa línea eran gratuitas :). El descubrimiento se divulgo rápidamente por toda la comunidad phreaker que querían probar la nueva vía, pero como casi ninguno conocía a nadie en Inglaterra se dedicaron todos a llamar a Cap´n Crunch. Hay que decir que por aquel entonces una llamada intercontinental no era algo muy común, y mucho menos si era transatlántica, para empezar porque la mayoría de las veces la llamada podría tardar más de medio ida en llegar a su destino. Cuando una familia se comunicaba con otro pariente de otro continente solían hacerlo un par de veces al año como mucho, debido a las dificultades que conllevaba esto. Por esa razón la GPO (Oficina de correos Británica, que en ese momento se encargaba de la telefonía bretona) se sorprendio de que un turista recibiera del orden de unas 5 o 6 llamadas al dia, por lo que le investigaron. Draper soltó la excusa de que era muy popular en EEUU y por eso la cantidad de llamadas...no convenció mucho a las autoridades inglesas, y Cap´n Crunch tuvo que pedirle a sus amigos que dejaran de llamarle.

Una de las más extravagantes formas de difusión del phreaking fue la que llevó a cabo Cap´n Crunch cuando fue arrestado y encarcelado a mediados de los años 70. Dentro de la cárcel se vio obligado a transmitir sus conocimientos por cuestiones de vida o muerte, es decir, o les explicaba a los reclusos las mas diversas técnicas del phreaking o le machacaban...el resultado es evidente. Draper enseño a los reclusos de la prisión en la que se encontraba a cambio de seguir vivo. De esa manera todo recluso que salía de allí era un phreaker en potencia, que había tenido como maestro a uno de los mejores, por no decir el mejor.

Muchos phreakers evolucionaron mas tarde al hacking, como es el caso del pionero Mark Bernay, que bajo el nick de The Midnight Skulker (El vigilante de medianoche) se rió de todos los fallos de seguridad de su empresa, dejando mensajitos sarcásticos a cualquiera que metiera la pata...fue traicionado y encerrado :(. Pero eso no significa el phreaking haya muerto, ni mucho menos, simplemente que con el avance de las tecnologías también avanzaron ellos. Ahora se sigue practicando este fantástico arte, aunque tanto han mejorado las tecnologías de un lado como de otro...ya no basta con realizar un truco parecido al de los loop-arround-pairs para mantener una conversación gratuita, ahora es 'algo' más difícil, pero siempre que exista una valla alguien la saltará...o sea, que nadie piense que el hacking mató al phreaking porque no es asi, los dos viven en perfecta armonía y en pleno auge.

Reprogramar el OKI 900
Hi! Dudes, aqui teneis como reprogramar vuestro telefono movil OKI Modelo 1150 , tambien conocido como OKI 900

Proximamente instrucciones para el modelo 1325.

Encender el telefono con la tecla PWR mas de 1 segundo

Pulsar RCL+MENU al mismo tiempo

Introducir con el teclado *12345678# y pulsar dos veces seguidas STO

En la pantalla se ver la revisiOn del software y el nUmero de serie en HEX

Ahora introducir el número de abonado empezando con 2148 XX XX XX (siendo X el nUmero del abonado sin el 908)

A continuación pulsar la tecla STO

Pulsar la tecla BAJAR VOLUMEN hasta que aparezca en la pantalla --> Num AID

Introducir con el teclado 23552, acontuaciOn pulsar la tecla STO

Pulsar la tecla BAJAR VOLUMEN hasta que aparezca en la pantalla -->IPC no.0323

Pulsar la tecla BAJAR VOLUMEN hasta que aparezca en la pantalla -->ACCOLC No.XX

Introducir con el teclado los numeros 05 y pulsar STO

Pulsar la tecla BAJAR VOLUMEN hasta que aparezca en la pantalla -->PS DDC 0323

Pulsar la tecla BAJAR VOLUMEN hasta que aparezca en la pantalla -->NPS DCC 0023

Pulsar la tecla BAJAR VOLUMEN hasta que aparezca en la pantalla -->Option bit.

Aparecera 0001001 (por defecto). Cambiarlo si no es correcto y pulsar STO.

Pulsar la tecla BAJAR VOLUMEN hasta que aparezca en la pantalla -->Dispaly OWN.

Pulsar 0908, y acontinuación la tecla STO.

Apagar el telefono con la tecla PWR.

Para comprobra si la programación ha sido correcta pulsar, despues de encender, la secuencia RCL # #

Reprogramar el OKI 1325
1.- Encender el teléfono ( Si esta apagado o sin bateria no funcionará ),Je

2.- Pulsar al mismo tiempo las teclas RECALL y MENU

3.- Marcar antes de 20 segundos *122345678#. El display indica=20 ENTER NEW PW & STO

4.- Pulsar STORE. El display indica: Re-enter PW & STO

5.- Pulsar STORE otra vez

6.- Pulsamos el cursor del volumen inferior ( Situado en el lateral del telefono ), Hasta que aparezca PROGRAMAR TEL

7.- Transcurridos unos segundos aparecerá en pantalla NUMERO, marcar el numero del abonado comenzando con el 2148 xx xx xx. Pulsar STORE para grabarlo

8.- Con el mismo cursor del volumen pasamos a la siguiente pantalla, apareciendo VISUAL, marcar a continuación 908 xx xx xx ( Evidentemente donde esta la x nosotros ponemos un numero :-) ), Pulsar STORE

9.- Pulsar el cursor del volumen y vermos en pantalla NUM. AID. marcar el numero 23552 y pulsar STORE

10.- Volver a pulsar el cursor de volumen, hasta ver IPCH NO. marcar el numero 0323, pulsar la tecla STORE

11.- Oprimir nuevamente el cursor de volumen, aparecerá en pantalla ACCOLC NO, marcar el 05, y a continuacion STORE

12.- Pulsar el cursor de volumen apareciendo PS DCC, marcar 0323 y STORE

13.- Pulsar el cursor de volumen y aparecera OPTION BIT, marcar=20 00010001 y STORE

Ahora apagamos el teléfono y ...

!!! Correcto ya está programado !!!

Moviles Analógicos
Aquí os dejo un articulito que hemos hecho para enseñar un poco en que consisten las comunicaciones celulares, y que se puede hacer con ellas. :)

Hemos usado algunas revistas muy conocidas, así que si a alguno le suena lo que hemos escrito, que no se alarme, es muy posible que lo hayais leido en otro sitio ;)

Bueno, empezemos, y si alguien tiene alguna duda, que la haga, que intentaremos solucionarsela ( si podemos ;-D ).

Teléfonos celulares Por Cacique & ICE-Kid.

Las comunicaciones celulares, tan de moda ultimamente (regalan celulares hasta con los cereales del desayuno X-DDDD) tienen un funcionamiento parecido al de las llamadas telefónicas convencionales.

Las llamadas se hacen a traves de las MTSO (Mobile Telecommunications Switching Office). Las MTSO manejan todas las llamadas desde y para celulares y ademas, manejan la tarificación. Son parecidas a nuestras centrales telefónicas convencionales.

Una llamada proveniente de la MTSO es enviada a una célula y de cada célula, la señal viaja hasta el teléfono celular. Estas células, son repetidores que cubren la superficie de un area. Cuando nos movemos por esta area, la señal de nuestro teléfono, es manejado por esta célula que la pasa a la MTSO desde donde accede a la red telefónica normal. Cuando nos aproximamos al borde del area de cobertura de una célula, la señal pasa inmediatamente a otra célula donde la llamada continua sin interrupción. Esto se denomina Cellular Hand-Off.

Las comunicaciones celulares, se reparten entre muchas células, de forma que parece una gran colmena de abejas.

La mayoría de las células están situadas en las areas en que son necesitadas, por eso vemos tantas células en las orillas de las carreteras. Cada célula tiene su propio transmisor receptor que la conecta con la red telefónica local. Cuando la llamada viaja de una célula al MTSO, la información del celular (número de abonado, frecuencia, numero de serie electrónico etc...) pasa unida a la transmisión telefónica para de esta forma tarificar la llamada. Conociendo la posición geográfica de la célula, se puede llegar a descubrir la posición de un movil que esté activo. Esto es importante, pues se puede localizar a una persona cuando realiza una llamada.

Los teléfonos celulares son realmente computadores, terminales de red, unidos por una gran red celular. Al ser computadoras, obviamente los teléfonos celulares también son programables. Esto, en la mente de un hacker significa que no hay razón para limitar un teléfono movil a las "pobres" funciones que su fabricante le ha dado. También significa, que un teléfono movil, puede ser Hackeado }:-)).

Para hackear un movil, se necesita acceder a una zona de su memoria, la cual contiene el soft que los técnicos metieron allí para posteriormente poder reprogramar el movil.. Esta zona suele estar escondida tras un password como en los OKI 900.

Para localizar este password no hace falta tratar con la más sofisticada ingeniería social, simplemente se puede encargar el Manual Técnico y estudiarle detenidamente. Hemos dicho Manual Técnico, no Manual del Usuario, tenerlo en cuenta.

Algunos teléfonos móviles contienen un modo secreto que les convierten en un poderoso scanner celular. Usando desensambladores, se pueden sacar del soft del teléfono, incluso 90 comandos secretos para controlar el celular.

Normalmente, también se puede controlar el teléfono con un ordenador personal, ya que los fabricantes suelen incluir un interface que haga esto más facil para resolver posibles averias dentro de los teléfonos.

Sigamos con el OKI900. Este celular tiene una ROM de 64-Kbytes en la cual almacena su soft y que tiene cerca de 20 kbytes libres. Todo este espacio se puede llenar de nuevos programas. }:-))

Esto que viene ahora, puede ser pura ciencia ficción. Pero imaginaros un programa en estos 20ks. Imaginaros un programa que se pudiera transmitir junto con la información del celular, a la célula. Imaginaros un programa con algunos comandos que pudieran influir en esa célula, o quizás en el teléfono receptor (siempre que fuera otro celular). Tan solo imaginaros las posibilidades. De todas formas, ya os lo he dicho. Quizás solo sea ciencia ficción }:) ...

Ahora vamos a lo interesante. ¿Cómo hacer llamadas gratis con un movil?. Bueno, realmente no son gratis. La comunicación se tarifica.La cuestión está en aprovechar las inevitables emisiones de radio de baja potencia de un celular, para construir un teléfono que con la pulsación de unos cuantos botones, sea capaz de scanear el espectro RF para conseguir el numero de serie electrónico de una víctima. Se debe estar muy cerca de la víctima para conseguir este número de serie, así que un buen lugar para hacerlo, pueden ser los puentes situados sobre las grandes autopistas de entrada a las ciudades, por donde una gran cantidad de yuppies colgados a sus celulares suelen pasar para ir o volver de su trabajo.

Una vez que consigamos este numero de serie electrónico, nuestro siguiente paso, será reprogramar nuestro teléfono para que las comunicaciones que hagamos sean con ese numero de serie. De esta manera, nuestras comunicaciones serán tarificadas a la víctima.

Algunos os preguntareis: ¿Y no recibiremos las llamadas de la víctima en nuestro celular? Pues si, es posible, aunque con solo conectar el movil para realizar llamadas, no debemos preocuparnos. También alguno os preguntareis si cuando la víctima descuelgue su celular para realizar alguna llamada y nosotros estemos realizando otra, nos podremos oir. La respuesta es no, puesto que la señal que enviemos nosotros es de ida, es decir, no vuelve a nosotros y de todas formas, cada llamada utiliza un canal privado. De esta manera no nos podrán oir.

Tarjetas Telefónicas
por Juanma

Después de que los bancos nos llenaran los bolsillos de tarjetas de banda magnética, llegan los teléfonos y nos ofrecen unas nuevas tarjetitas, del mismo tamaño, pero completamente distintas. Esos trocitos de plástico que parece que llevan una peseta de las antiguas incrustada en una de sus caras son las tarjetas chip. Desde aquí pretendemos alumbrar un poco sobre el misterio que encierran.

Una tarjeta chip es, en su modelo más sencillo, una memoria EPROM (Eraseable Programmable Read-Only Memory) de 256 bits que pueden ser leídos y, algunos de ellos, escritos. Hay modelos más complejos, que incluyen zonas que no pueden ser leídas si no se proporciona una clave, o que tienen incluso un microprocesador con sistema operativo propio (definido en el estándar ISO7816). Las tarjetas de teléfono pertenecen al primer modelo, pero no por ello son inseguras. El hecho de que no haya campos protegidos contra lectura se explica porque no hay nada confidencial en ellas (al contrario de, por ejemplo, en las tarjetas de los bancos).

Una EPROM se borra sometiéndola a radiación ultravioleta. Para garantizar la inviolabilidad de la tarjeta, el chip está recubierto de resina opaca a dicha luz. Así, resulta imposible borrar los bits de la EPROM, impidiendo de esta forma la grabación en la tarjeta del contenido que nosotros deseemos. Además, aun en el caso de que consiguiésemos que la luz ultravioleta llegase al chip, con ello pondríamos a cero TODOS los 256 bits. Alguien pensó en ello e incorporó un fusible (que ya viene fundido de fábrica) cuya misión es la de impedir la grabación en los primeros 96 bits de la tarjeta, zona denominada "del fabricante", y que sirve como DNI de la tarjeta (Sí. Llevan número de serie individual) y como identificación del fabricante y demás. Al no poder reescribir esta zona, la tarjeta quedaría inservible, ya que no sería reconocida. Si alguien comenzó a leer este artículo únicamente pensando que podría ahorrarse unos duros en teléfono, aquí acaba para él. La respuesta es «no se puede» recargar una tarjeta, lo que si pondemos es emularla (para mas informacion ver seccion de ficheros). Si, por el contrario, el lector es curioso, lo que viene a continuación son algunos detalles de funcionamiento.

Conector
La distribución de los contactos del conector es la siguiente:

Contacto
Significado
1
Vcc = +5V
2
-R/W
3
CLK
4
RST
5
GND
6
Vpp = +21V
7
I/O
8
FUS

El bus de datos es de un solo bit (contacto 7), y no hay bus de direcciones. Las posiciones de memoria van siendo leídas/escritas secuencialmente. Si se desea leer/escribir una posición determinada, se ha de hacer un "reset" a la tarjeta (contacto 4) y comenzar leyendo desde el bit 1 hasta la posición elegida. El contacto 2 a nivel alto indica petición de escritura. A nivel bajo, lectura. Los contactos 1, 5 y 6 son los correspondientes a la alimentación de la tarjeta. GND es el voltaje de referencia. Vcc es el voltaje de la circuitería, +5V, y Vpp es el voltaje necesario para escribir bits en la tarjeta. El contacto Vpp está normalmente a +5V salvo cuando se escribe, que pasa a +21V. El contacto 8 (FUS) es utilizado únicamente en fábrica para impedir la escritura en los 96 primeros bits. El contacto 3 (CLK) es mediante el cual se comunica a la tarjeta cuál debe ser su ritmo cardiaco. Algunos fabricantes de tarjetas no emplean los contactos 6 y 8, ya que, en algunos modelos, no es necesario el voltaje +21V para programar el chip.

Mapa de memoria

A estas alturas, al lector ya se le habrá ocurrido pensar cómo se pueden introducir 1000 o incluso 2100 pts. en 256 bits, máxime cuando 96 de ellos están ya ocupados para la identificación de la tarjeta. Veamos detalladamente qué es lo que hay en esos 256 bits:

Bits 1-8 (byte 1): Byte de comprobación. Su valor es 216 menos la suma de los bits 9 a 96.
Bits 9-16 (byte 2): 83h
Bits 17-32 (bytes 3-4): FFFFh
Bits 33-40 (byte 5): Identificador de la marca del fabricante. En las tarjetas españolas
vale 90h, 30h o 5Ah, según el fabricante de que se trate.
Bits 41-64 (bytes 6-8): Número de serie. En las tarjetas etiquetadas como 30h y 5Ah en el
byte 5, se calcula como Byte 6 * 10000h + Byte 7 * 100h + Byte 8. En las demás, se
ignora.
Bits 65-80 (bytes 9-10): Valor inicial de la tarjeta:
1000 pts. -> 148Ah
2000 pts. -> 2504h
2100 pts. -> 2506h
Bits 81-88 (byte 11): 1Eh
Bits 89-96 (byte 12): País. España es 22h, pero hay otros países cuyas tarjetas utilizan el
mismo mapa de memoria.

Hasta aquí la zona del fabricante. A partir de aquí comienza la zona de datos propiamente dicha: 160 bits, de los cuales los diez primeros (bits 97-106) se funden (ponen a uno) en fábrica para probar la tarjeta.

A medida que vayamos consumiendo la tarjeta, se irán poniendo más bits de esta zona a uno, pero no uniformemente. Dentro de los 150 bits disponibles hay dos zonas, y su mapa depende del valor de la tarjeta:

En las tarjetas de 1000 pts., los bits 107 a 206 son unidades "lentas". Cada bit puesto a uno en esta zona vale 5 pts. En total, 500 pts. Los bits 207 a 256 son unidades "rápidas". Un bit a uno en esta zona vale 10 pts. En total, otras 500 pts. En las tarjetas de 2000 pts., los bits 127 a 166 son unidades de 5 pts. (total: 200 pts.), y los bits 167 a 256 son unidades de 20 pts. (total: 1800 pts.). Se desconoce la utilidad de los bits 107 a 126 en estas tarjetas. Posiblemente no se usen. En las tarjetas de 2100 pts., el funcionamiento es como el de las de 2000 pts., salvo que la zona "lenta" corresponde a los bits 107 a 166 (300 pts.). La decisión de utilizar unidades"lentas" o "rápidas" corresponde al aparato lector. El autor de este artículo desconoce el criterio empleado.

Sin embargo, aparece algún interrogante:

- Las tarjetas de 1000 pts. son, aparentemente, más flexibles que sus hermanas mayores, ya que el tamaño de las unidades de cobro es más uniforme que en las de 2000 y 2100 pts.

- Al término de las unidades menores, ¿qué ocurre? Si no hay "duros" para usar, se supone que la unidad mínima de cobro es la unidad rápida. En una tarjeta de 2100 pts. con los "duros" agotados, unallamada urbana que sobrepase mínimamente las 20 pts. nos costará la friolera de ¡40 pts.! frente a las teóricas veintipocas. No obstante, esto es sólo una suposición que se revela inmediatamente de la estructura de los datos de la tarjeta, estando en estos momentos pendiente de confirmar.

- Como ahora la llamada mínima en una cabina es de 20 pts., es de sospechar que en las tarjetas de 1000 pts. se consuma primero alguna unidad de 10 pts. De esta forma, se terminarán antes las unidades de 10 pts. que las de 5 pts., y así los redondeos serán mínimos. Por tanto, en cada llamada con una tarjeta de 1000 pts. se pierden a lo más 4 pts. (de 0 a 4, dependiendo de lo que le falte al importe de la llamada para llegar a múltiplo de 5 pts.), y en media 2 pts. por llamada. En una tarjeta de 2100 pts. las pérdidas medias han de ser mayores (las unidades lo son, y el redondeo es por abajo). Desde luego, es nefasto utilizar una tarjeta de 2100 pts. sólo para llamadas urbanas de 25 pts.: las 30 primeras serían a 25 pts, las 30 restantes (¿por qué 30?) serían a 40 pts.

- ¡Ojo con dejar 5, 10 o 15 pts. al final en una tarjeta! Es posibleque no puedan ser utilizadas, ya que la llamada mínima es de 20 pts. Existe la posibilidad de vaciar la tarjeta en la cabina cuando está casi terminada, con el fin de emplear el crédito restante junto con otro medio de pago, pero es una posibilidad que está muy poco documentada en las cabinas.

Espero que esto ayude a todos un poco a utilizar más inteligentemente las tarjetas. Seguiremos investigando.

Otro emulador
Aqui teneis otro esquema para emular una tarjeta de telefonica, no esta probado.

- ESTAÑO 60/40
- 2 RESISTENCIAS DE 1K OHMS [¦¦¦]
- 1 CAPACITORES ELECTROLITICOS 0.1 MICROFARADIOS (CERAMICO) [¦]
- 2 CAPACITORES ELECTROLITICOS 0.00 47 MICROFARADIOS (CERAMICO) [¦]
- 2 TRANSISTORES 2N 2222 [Ú]
- 1 CIRCUITO INTEGRADO TL-081
- 1 DIODO VARICAP BB 122 [¹]
- 1 TARJETA CHIP DE 25 CREDITOS (NUEVA)
- 1 CABLE 1 MICRON (30 CM) (EL DE BOBINA DE MOTORES SCALECTRIC) [---]

PLANO GENERAL:
----- --------
T +---------+ +-------+
1¦ ++ ++ ¦5
A ¦ ++ +-+ ¦
C +---------+ ¦ ++ +--------+
R +-------+ +-+ ¦ +++-------+
H 2¦ +++---+ ¦++ ¦6
J +--------+¦ ¦+--------+
I +--------+¦ ¦+--------+
E 3¦ +++-----+++ ¦7
P +-------+ +-+ +-+ +-------+
T +---------+ ¦ ¦ +---------+
4¦ ++ ++ ¦8
A ¦ ++ ++ ¦
+---------+ +---------+

[1]
Ó ; ¦
+-------¦
+---¦¦¦-------+ ¦ ¦ ¦
¦ ++ ¹ ¦ ¦
¦ +---------¦ ¦ ¦
¦ +----+ ¦ ¦ ¦
¦[8¦ == ¦-[5] ¦ ¦ ¦
+--¦ TL ¦---+ +-------+
[2]-¦ 081¦[4]¦ +------+
[3]-¦ ¦---¦ /
+----+ ¦ /
¦¦¦-Ú
¦ *\
¦ +----[6]
¦ /
+--Ú
*\
+----[7]

*=marca

Bueno... Luego de Estudiar el Plano.. fijate bien como soldar.. que sea con una punta fina en lo posible y rapida (que no caliente mucho).

Recomiendo hacer un surco en la Tarjeta p

LLAMADAS ANONIMAS

kolomusic2007 @ 15:57

Llamada Anónima
¿Estás cansado de que al realizar una llamada a un móvil o algún sitio donde queda registrado tu número telefónico? Pues Akelarre, en su afán de buscar ventajas para los phreakers, al fin lo ha conseguido. Hacia ya unos meses que Akelarre encontró un número que no contestaba, pero que si seguías marcando este número sería suprimido y llamaba al marcado posteriormente. Amos a ver, más sencillo, estábamos escaneando los números 0XX cuando encontramos el 067 que no respondía, decidimos seguir marcando números y cual fue nuestra sorpresa:

1.- Marcamos el 067, y no respondía.
2.- Continuamos marcando, y marcamos lo siguiente: 067-900-352-108.
3.- Nuestra llamada ignoró el 067 y llamó al 900-352-108.

No supimos qué pasaba, y decidimos investigar un poco más. Así que cuando Akelarre consiguió un GSM, decidimos volver a probar: Marcamos el 067+nuestro numero, y al recibir la llamada, ¿cuál fue nuestra sorpresa?, ¡en el teléfono no aparecía el número desde donde se realizaba la llamada!

Así que tras varias pruebas llegamos a la conclusión de que este número (el 067*) no era otra cosa que un prefijo. Al usar este prefijo las llamadas se realizan anónimas.

Así de sencillo. Pero despues de esto nos han salido unas dudas:

- ¿Qué pasa si llamas con este truco + 050 + numero a llamar? (Suponemos que no aceptará la llamada)

- ¿Se podrá scanear números 900 de una forma más segura? (Muchas compañías registran desde donde se llama, con esto, no podrá saber quien les llama)

En fín, espero que saqueis buen provecho de estas líneas. Bye! y recordad, el anonimato es un derecho de todo ciudadano.

NOTA: Este prefijo sólo funciona en teléfonos fijos y cabinas.

PROGRAMACION DE CELULARES ERICSSON

kolomusic2007 @ 15:55

Programación de celulares Ericsson

--------------------------------------------------------------------------------

Para ingresar al modo de programación de este equipo deberemos marcar:

9 2 3 8 8 5 Menu

Se navega entre funciones por medio de las teclas de desplazamiento de menú. Al pasar entre los niveles de programación el sistema da la posibilidad de guardar los cambios. Una vez guardados los cambios el teléfono se inicia de nuevo quedando como recién encendido.

En breve tiempo mas tendremos aquí una explicación detallada de cada una de las funciones de estos menús.

FORMAS DE HACKEAR HOTMAIL...

kolomusic2007 @ 04:18

SOLO AQUI EXPLIKARE. ALGUNAS FORMAS DE PODER APODERARSE DE PASSWORD DE HOTMAIL-.-.-.

PRIMERO Y PRINCIPAL, TENEMOS QUE TENER EN CUENTA QUE HOTMAIL. NO ES FACIL DE HACKEAR , YA QUE LOS SERVIDORES DE MICROSOFT, CUYOS ALOJAN LAS MILLONES Y MILLONES DE CUENTAS DE HOTMAIL, TIENEN UN GRADO MUY ALTO DE SEGURIDAD, Y KOMO TODOS SABEMOS EL MONOPOLIO DE BILL GATES, ESTA BASADO EN LA SEGURIDAD DE LOS PROPIOS SERVIDORES, AUNKE EXISTEN BUGS(AGUJEROS) POR LOS CUALES ES MUY FACIL ACCESAR, PERO ESO LO DEJAREMOS PARA LA PROXIMA CLASE... PERO SI EN VERDAD QUIERES O TIENES LA NECESIDAD DE QUEDAR COMO UN VERDADERO EXPERTO DELANTE DE TUS AMIGOS
ESTA ES TU OPORTUNIDAD-.- EXPLIKAREMOS, LA FORMA DE ACCESAR MEDIANTE EXPLOITS.....(EXPLOIT: DICESE DE PAGINAS IMITADAS... YA SEA HOTMAIL MSN, O POSTALES, QUE SE HACEN PASAR POR LEGITIMA PERO EN REALIDA NO LOS SON, SOLO LOGRAN PELLIZCAR TU PASS, E ID)

PRIMERO QUE NADA, DAREMOS A CONOCER LOS TIPOS DE EXPLOITS, PUEDE SER HOTMAIL, MSN HI5(FIVE) POSTALES BUBBA,GUSANITO, ETC.....

HOY DAREMOS A CONOCER UN EXPLOIT Y EL MAS EFICIENTE .... EL DE POSTALES BUBBA....
TE DIRIJES A UNA PAGINA DE LANZADORES DE EXPLOITS, LUEGO SELECCIONAS LA POSTAL A ENVIAR, ELIJES UN EMAIL FALSO, UNA DESCRIPCION, Y EL CORREO DE LA VICTIMA POR SUPUESTO.... PARA QUE NO TENGA ERRORES AL ENVIAR EL EXPLOITS, DEBEREMOS SEGUIR LOS SGTES PASOS, DONDE DICE EMAIL DE LA VIXTIMA, DEBERAS ESCRIBIR DE LA SGTE FORMA, UN EJEMPLO SERIA... juanperez@hotma¡l.com antes de poner la letra (I) INSERTAMOS O TECLEAMOS EL SIGNO DE ADMIRACION ASEMEJANDOSE ASI A LA I DE LA PALABRA HOTMAIL, ESO LO HACEMOS PARA QUE LLEGUE DIRECTAMENTE A LA BANDEJA DE ENTRADA Y NO LLEGUE COMO SPAM, O SEA CORREO BASURA....
YA DETALLADAS LAS EXPLIKACIONES, PASAREMOS A DAR UNA DE LAS MEJORES PAGINAS DE LANZADORES, PORK DIJO MEJORES.. PORK ES LA UNIKA, KE MANTIENE LA PRIVACIDAD, DE NO ENTROMETERSE CON NUESTRA PESCA.
O SEA UNA VEZ LANZADO NUESTRO EXPLOIT, DEBEREMOS ESPERAR POR LO MENOS 24 HS, O BIEN HASTA KE LA VICTIMA KAIGA, DISPONDRA DE UNA BASE DE DATOS, LA CUAL LO UNIKO QUE TENDREMOS QUE HACER, ES PROPORCIONARLES, NUESTRO CORREO VIXTIMA Y DARLE CLICK A BUSCAR, SI NUESTRA VICTIMA CAYO, TENDREMOS EL PLACER DE APRECIAR EN LA PANTALLA, SU EMAIL SOLICITADO ES: juanperez@hotmail.com Y SU PASSWORD ES juan123, PRUEBENLO Y DESPUES ME KUENTAN, AHI LES VA LA PAGINA.... LO UNIKO KE PARA PODER UTILIZAR LOS LANZADORES, DEBERAN ESTAR REGISTRADOS, PERO POR ESO NO SE PREOKUPEN KE EN UNOS MINUTOS CREAS TU CUENTA Y LISTO, A DISFRUTAR!!!: LA PAG ES.... www.cdescarga.info ESPERO QUE LES HALLA SIDO DE UTILIDAD, SIN MAS KE DECIR, LOS SALUDA ATTE. KOLOMUSIC---
SU CONSULTA NO MOLESTA.--.-

ESTA SECCION ESTA DEDIKADA A MI AMIGO YELSIN, OTRA GRAN PERSONA, QUE SE DIRIJE POR EL BUEN CAMINO.... BYEE Y HASTA LA PROXIMA..--.

PING Y TRACERT

kolomusic2007 @ 02:37

Ping

Este programa nos indica el tiempo exacto que tardan los paquetes de datos en ir y volver a través de la red desde nuestra PC a un determinado servidor remoto.

Para ver la ayuda sobre este comando, sólo hay que tipear PING en la linea de comandos de DOS.

C:\WINDOWS>ping

Uso: ping [-t] [-a] [-n cantidad] [-l tamaño] [-f] [-i TTL] [-v TOS]
[-r cantidad] [-s cantidad] [[-j lista de host] | [-k lista de host]]
[-w Tiempo de espera agotado] lista de destino
Opciones:

-t Solicita eco al host hasta ser interrumpido.
. Para ver estadísticas y continuar: presione Ctrl-Inter.
. Para interrumpir: presione Ctrl-C.
-a Resuelve direcciones a nombres de host.
-n cantidad Cantidad de solicitudes de eco a enviar.
-l tamaño Tamaño del búfer de envíos.
-f No fragmentar el paquete.
-i TTL Tiempo de vida.
-v TOS Tipo de servicio.
-r cantidad Registrar la ruta para esta cantidad de saltos.
-s cantidad Registrar horarios para esta cantidad de saltos.
-j lista de hosts Ruta origen variable en la lista de host.
-k lista de hosts Ruta origen estricta en la lista de host.
-w tiempo Tiempo de espera agotado de respuesta en milisegundos.

C:\WINDOWS>

Para saber la demora que hay entre nuestra PC y (por ejemplo) WWW.MICROSOFT.COM simplemente ejecutamos PING WWW.MICROSOFT.COM

C:\WINDOWS>ping www.microsoft.com

Haciendo ping a microsoft.com [207.46.130.45] con 32 bytes de datos:

Tiempo de espera agotado.
Tiempo de espera agotado.
Tiempo de espera agotado.
Tiempo de espera agotado.

Estadísticas de ping para 207.46.130.45:
Paquetes: enviados = 4, Recibidos = 0, perdidos = 4 (100% loss),
Tiempos aproximados de recorrido redondo en milisegundos:
mínimo = 0ms, máximo = 0ms, promedio = 0ms

C:\WINDOWS>

Qué tenemos aquí? ... www.microsoft.com no responde pings!

¿Cuál será el motivo por el cual Microsoft no responde a los pings?

Los hackers utilizan el comando PING no sólo para avergiuar la demora entre máquinas, sino para comprobar si el ataque ha dejado al servidor fuera de servicio (en cuyo caso la respuesta sería la de arriba: "Tiempo de espera agotado".

Debido a que Microsoft es la compañia que todos los hackers aman odiar, cada vez que aparece una vulnerabilidad de Windows NT los ataques son dirigidos a www.microsoft.com. Este es un buen motivo por el cual Microsoft podría haber decidido cortar por lo sano y configurar sus servidores para que nunca respondan pings.

C:\WINDOWS>ping www.granavenida.com

Haciendo ping a www.granavenida.com [216.46.169.75] con 32 bytes de datos:

Respuesta desde 216.46.169.75: bytes=32 tiempo=1579ms TDV=243
Respuesta desde 216.46.169.75: bytes=32 tiempo=1574ms TDV=243
Respuesta desde 216.46.169.75: bytes=32 tiempo=1559ms TDV=243
Respuesta desde 216.46.169.75: bytes=32 tiempo=1403ms TDV=243

Estadísticas de ping para 216.46.169.75:
Paquetes: enviados = 4, Recibidos = 4, perdidos = 0 (0% loss),
Tiempos aproximados de recorrido redondo en milisegundos:
mínimo = 1403ms, máximo = 1579ms, promedio = 1528ms

C:\WINDOWS>

Aquí tenemos un caso más común... Podemos ver que este servidor tiene entre 1400 y 1600 milisegundos de ping, lo cual nos indica que está bastante lejos (en este caso, yo sé que se encuentra en Las Vegas).

Notese que con el comando PING hemos descubierto el IP del servidor (lo cual no era mucho misterio de todos modos).

Tracert

Se trata de una utilidad que nos informa por cuantos (y cuales) servidores pasan los paquetes que enviamos de un punto hacia el otro de la red.

Para ejecutarla sólo hay que abrir una ventana DOS y escribir:

TRACERT www.servidor.com

y veremos los nodos intermedios que hay entre www.servidor.com y nuestra PC.

Si queremos ver la ayuda para aprender a usar las opciones de TRACERT tenemos que ejecutarlo sin parámetros:

C:\WINDOWS>tracert

Uso: tracert [-d] [-h máximo_de_saltos] [-j lista_de_hosts] [-w tiempo_de_espera] nombre_de_destino

Opciones:
-d No convierte direcciones en nombres de hosts.
-h máximo_de_saltos Máxima cantidad de saltos en la búsqueda del objetivo.
-j lista-de-hosts Enrutamiento relajado de origen en la lista de hosts.
-w tiempo_de_espera Tiempo en milisegundos entre intentos.

C:\WINDOWS>

Ahora veamos un ejemplo concreto:

C:\WINDOWS>tracert www.granavenida.com

Traza a la dirección www.granavenida.com [216.46.169.75]
sobre un máximo de 30 saltos:

1 2 ms 2 ms 2 ms 200.43.39.129
2 1542 ms 1606 ms 1550 ms 200.43.39.58
3 2250 ms 1957 ms 1990 ms sion-bilbo.tecoint.net [200.43.189.45]
4 2633 ms 3060 ms 2353 ms 200.43.183.30
5 3237 ms 2541 ms 2299 ms p0-0.pasbb2.paris.opentransit.net [193.251.128.81]
6 2160 ms 2655 ms 2756 ms p1-0.pasbb1.paris.opentransit.net [193.251.128.185]
7 2820 ms 2530 ms 2439 ms p2-0.bagbb1.bagnolet.opentransit.net [193.251.128.45]
8 2319 ms 3064 ms 2555 ms p0-0.bagbb2.bagnolet.opentransit.net [193.251.128.142]
9 1715 ms 2256 ms 1820 ms anet.bagnolet.opentransit.net [193.55.152.186]
10 1926 ms 1580 ms 1997 ms br1.psk1.alter.net [192.157.69.60]
11 2236 ms 2128 ms 2569 ms hssi0-1-0.hr1.nyc1.alter.net [137.39.100.2]
12 2567 ms 2711 ms 2148 ms 101.atm2-0.xr1.nyc1.alter.net [146.188.177.86]
13 2527 ms 2652 ms 2523 ms 195.at-2-0-0.tr1.nyc8.alter.net [152.63.21.34]
14 2355 ms 2099 ms 1840 ms 124.at-6-0-0.tr1.lax9.alter.net [152.63.5.97]
15 2420 ms 2003 ms 2238 ms 297.atm6-0.xr1.lax2.alter.net [152.63.112.141]
16 2087 ms 2220 ms 1889 ms 195.atm1-0-0.hr2.lax2.alter.net [146.188.248.49]
17 2561 ms 2173 ms 1785 ms 111.hssi3-0-0.gw1.veg1.alter.net [137.39.68.145]
18 2097 ms 2125 ms 1991 ms webstor-gw.customer.alter.net [157.130.225.110]
19 2805 ms 2669 ms 2671 ms www.granavenida.com [216.46.169.75]

Traza completa.

C:\WINDOWS>

Esta lista nos muestra por que servidores pasa la información cada vez que pedimos una página, llenamos un formulario, o hacemos cualquier otra cosa interactuando con el sitio www.granavenida.com.

Lo malo de todo esto es que cualquier operador de alguno de estos nodos podría ver todo lo que enviamos, passwords incluídas.

UN POKO DE CRACKING

kolomusic2007 @ 02:30

Indice

1. UN POCO DE TODO:
- Agradecimientos
- ¿Qué es eso de crackear?
- ¿Por qué crackear?
- ¿A quién va dirigido este curso?
- ¿Qué es lo que vamos a aprender?
- ¿No estaremos quitando el pan a los programadores de aplicaciones?
- ¿Qué necesito pa esto de crakear?

2.IDEAS BÁSICAS SOBRE CRACKING:

3.HERRAMIENTAS CRACK:
- Editor hexadecimal
- Desensamblador
- Debugger

4.ESQUEMAS DE PROTECCION:

5.ESQUEMAS DE PROTECCIÓN BASADOS EN NÚMEROS DE SERIE:
- Acerca de los programadores
- Análisis de esquemas con número de serie
- ¿Cómo atacar?
- Otro punto de ataque
- Comparación de ataques

6.CÓMO CRACKEAR TECHFACTS 95:

1.UN POCO DE TODO

¡Saludos Familia! He decidido crear esta serie de capítulos con un objetivo puramente educativo (sin ningún tipo de obscuro interés comercial). Mi objetivo es ayudar a los nuevos crackers en sus primeros pasos. Agradecimientos al TodoPoderoso +ORC, a su acólito +FRAVIA y a los miembros de WKT por su apoyo.

¿Qué es eso de crackear?
Crackear es el arte de reventar protecciones software/hardware con fines intelectuales, personales pero no lucrativos. Crackear también se llama ingeniería inversa (Reverse Engineering), ya que sin el programa fuente se es capaz de analizar el comportamiento del programa y modificarlo para tus intereses.

¿Por qué crackear?
Vivimos en un una sociedad que da asco. Es inconcebible que se destruyan o penalicen la producción de productos básicos (cereales, lácteos...) en aras de una estabilidad de precios. Vivimos en una sociedad donde el 95% de la gente se ve sometida al control de un 5 %. Toda persona debería tener un mínimo de recursos para ser feliz, pero esto no es así. El noble arte del crakeo es una herramienta para distribuir la riqueza entre la sociedad. Si necesitas un programa (que tienes en un CD-ROM) y no tienes una cuenta en un banco USA, ni 30 dólares, ¿por qué narices tienes que esperar y pagar si lo necesitas?, crackealo y publica el crack en Internet. Así ayudarás a la gente menos afortunada que está axifiada por esta sociedad desigualitaria.

¿A quién va dirigido este curso?
Este curso va dirigido a toda persona con interés en el crack y/o con la filosofía crack. Sin olvidar a los programadores.

¿Qué es lo que vamos a aprender?
Dejaremos de un lado el añorado DOS, para centrarnos en cracks para programas en W95.

¿No estaremos quitando el pan a los programadores de aplicaciones?
Los programadores viven muy bien a costa de los royaltis que pagan las grandes empresas y esos repugnantes yupis encorbatados con escasez de neuronas. Además, un programa crakeado es más conocido y utilizado que uno que no lo esté. Digamos que el crack es una forma de publicidad. Baste recordar el compilador de Pascal de la casa Borland. Originalmente fue copieteado y distribuido casi libremente hasta la saciedad. Borland conocía este hecho y por eso no introdujo ningún tipo de protección. Al cabo de poco tiempo, esos estudiantes se convirtieron en programadores que reclamaban a sus empresas la compra del compilador que sabían utilizar, el Pascal de Borland. Si las casas de soft ya son ricas sin nuestro dinero, ¿a qué estado de corrupción se llegaría si lo tuvieran?. Aunque parezca extraño este ensayo está dedicado a formar a los programadores , mostrándoles sus defectos y el camino para producir software de calidad.
En último caso depende de la conciencia de cada uno, si crees que un programador ha realizado una buena aplicación, que te es útil y que además está bien programada, entonces obra adecuadamente y recompénsalo registrándote. A decir verdad sólo he encontrado un programa de este estilo

¿Qué necesito pa esto de crakear?
- Interés y PazYCiencia.
- Algún conocimiento de ensamblador. Cuanto más conozcas mejor crackearás, pero para este curso mas bien poco, intentaré hacer las cosas fáciles.
- Ayuda de otro cracker más experto (por ejemplo Estado+Porcino)

2.IDEAS BÁSICAS SOBRE CRACKING

Un programa no es más que un montón de instrucciones (haz, esto, haz lo otro), una tras otra. Estas instrucciones, (en general) están en memoria, parte de ellas se encargan de impedir la ejecución del resto (el verdadero programa). Resumiendo, tienes un bonito programa tras una puerta (esquema de protección), nuestro objetivo es reventar la puerta, buscar la llave, pasar por las rendijas, quemarla..., como puedes ver una cantidad inagotable de ataques.

Un pequeño inciso, sólo puedes reactivar instrucciones que se encuentren en el programa. Por ejemplo, si se ha desactivado la opción de salvar, puede ser que el conjunto de sentencias para salvar el programa esté presente pero desactivado, o bien que simplemente no esté. Si están las sentencias, se pueden reanimar, sino están entramos en un mundo diferente, una evolución del cracking, la apasionante Reconstrucción Software, pero eso será tema de otro capítulo.

3.HERRAMIENTAS CRACK
Demos un breve repaso a las principales herramientas que utilizaremos a lo largo del curso. Existen otras muchas herramientas que las comentaré cuando nos sean necesarias.

Editor hexadecimal
Los programas no son más que un conjunto de instrucciones y cada instrucción no es más que un conjunto de bits, pero donde demonios se guardan esos bits?.

Los bits del programa se localizan en los ficheros, p.e. las instrucciones del programa de compresión arj se guardan en el fichero arj.exe. Hay algunos programas que no guardan todas sus instrucciones en único fichero, si no en varios, un ejemplo de esto son los programas que utilizan librerías dinámicas (o dll).

Un editor hexa, no es más que un programa, que permite "editar" los ficheros de instrucciones de otros programas, o sea, que permite ver, modificar, copiar, pegar... los bits de los programas. Para simplificar la cosa no se muestran los bits a pelo, sino que se muestran en hexadecimal, de ahí su nombre. Nosotros lo utilizaremos para alterar el comportamiento de los programas. Supongamos que conocemos la instrucción sentencia de la rutina de protección que debemos modificar, sea jz 23 y queremos modificarla por jnz 23, bien como toda instrucción no es más que un conjunto de bits, sea 0110 para jz 23 y 1001 para jnz 23, sólo nos queda buscar estos bits dentro del fichero ejecutable del programa (que es, en general, el que contiene las sentencias del programa). Como usamos un editor hexa, debemos buscar la secuencia de un unos y ceros en hexa en el fichero del programa que queremos modificar. Si la secuencia que buscamos es muy común deberemos utilizar las instrucciones que se encuentran entorno a la instrucción a modificar.

Esto es muy importante, sólo debe existir una localización del patrón de búsqueda en el fichero, si existe más de una, debemos añadir a la búsqueda las sentencias de alrededor, sino se corre el riego de modificar la sentencia equivocada, lo que provoca casi siempre un "cuelgue".

Un crack, no es más que una modificación de las instrucciones de un fichero, así pues para hacer un crack debemos saber que instrucciones modificar y en qué fichero. Una vez crackeado el fichero, el programa se comportará siguiendo la nueva sentencia que le hemos modificado.

Hay un montón de editores hexa, yo os recomiendo UltraEdit-32 Professional, os lo podéis bajar de http://ftpsearch.ntnu.no/ (excelente herramienta de búsqueda en la Web, utilízala cuando no encuentres algún fichero) busca w32dasm. Yo utilizo la versión 4.31a. Cada cracker tiene su editor favorito, !encuentra el tuyo!. Este programa es shareware, así que tendrás que crackearlo, recuerda : lo primero que tienes que crakear son tus propias herramientas. Si no puedes crackearlo, busca otro editor hexa, los hay a montones.

Desensamblador
Un desensamblador toma un fichero de instrucciones en hexa y lo convierte a lenguaje ensamblador. El lenguaje ensamblador, es el conjunto de sentencias que entiende el microprocesador (tu Pentium o mi 486). El procesador es el corazón del ordenador, todas las sentencias son ejecutadas por él y sólo por él. Por ejemplo un 43 en hexa se transforma en inc eax. Se necesitan algunos conocimientos de ensamblador pa esto de crackear.

Nosotros usaremos el desensamblador para crakear con la técnica de la lista muerta que veremos más adelante.

Puedes pillar un magnífico desensamblador para W95 en http://www/expage.com/page/w32dasm , es shareware, así que deberás crackearlo. Próximamente le dedicaremos un capítulo al w32dasm y aprenderemos a crackearlo. Yo utilizo la versión 8.9, aunque una posterior es también útil.

Debugger
Un debugger permite ejecutar instrucción a instrucción (instrucciones en ensamblador, se entiende) un programa, por tanto también ejecutará instrucción a instrucción la rutina de protección, ya que es parte del programa. Esto nos permitirá analizar su comportamiento.

El mejor debugger para W95 es sin duda el Softice quo te lo puedes bajar de http://www.numega.com , es sin duda uno de los mejores programas que he visto en mi vida. Te recomiendo que te bajes también los manuales. El Softice es una de las mejores herramientas crack, cuanto más domines al Softice, mejor crakearás, y te aseguro que se pueden realizar verdaderas maravillas con él. Para trazar (esto es, pasar el debug) a programas MS-DOS, puedes utilizar versiones anteriores del Softice o utilizar algunos de los excelentes debugger que hay para Dos como el SymbDebug.
Os indicaré un par de consejos y trucos para el Softice.

• Instalación
Haz la prueba de pantalla, si te la saltas, lo más seguro es que cuando actives el Softice se te quede la pantalla a rayas. Busca el driver de la tarjeta de vídeo que tengas instalada en W95 dentro de la lista que se ofrece. Aunque la encuentres, haz la prueba de pantalla, es posible que no funcione correctamente. Si no encuentras tu tarjeta de vídeo o tienes problemas de pantalla, corta la instalación y selecciona "Adaptador de Vídeo Standard VGA", reinstala el Softice y utiliza ese mismo driver para la prueba de pantalla. Si sigues teniendo problemas te remito a la Doc del Softice (que deberías haberte bajado). Particularmente, con el adaptador Standard VGA no he tenido nunca problemas. Hay por ahí sueltos una ampliación de drivers de tarjetas para Softice, búscalos si no quieres pasa a la VGA Standard.

Activa la opción de ratón, te evitará escribir bastantes secuencias hexa de instrucciones, te permitirá moverte libremente por las ventanas, seleccionar, copiar y pegar texto así como redimensionar las ventanas.

• Configuración
El Loader es una pequeña utilidad que permite especificar el programa que queremos depurar y además nos permite configurar el Softice, En Edit/SoftIce Initialization Settings/Initialization string pon X;wl;wr;wd7; code on; y en Histoy Buffer Size pon 512 Abre el fichero winice.dat (dentro del directorio de instalación del Softice) , toda línea del tipo EXP=c:\windows\system\system.drv , quítale el punto y como inicial.

• Ejecución
El Softice debe cargarse siempre antes que W95. Si estás en W95,
reinicializa en modo MS-DOS y ejecuta WINICE.EXE, este cargará el Softice y W95. Te recomiendo que utilices un fichero bat.

Las ventanas que aparecen son:

- Ventana de registros de la CPU (wr). A los típicos se ha añadido una E así se diferencia los registros normales que admiten 16 bits, de los registros que soportan 32 bits. Por ejemplo, ax se llama ahora eax. Siempre podremos referencias a ax, sabiendo que nos quedaremos con 16 bits últimos de eax.

- Ventana de datos de la CPU (wd). Muestra la memoria en formato hexa, ahí se pueden apreciar los datos que maneja el programa, entre otras cosas.

- Ventana de código (wc). Muestra, la dirección de memoria en la que se encuentra la instrucción, la codificación hexa de la instrucción y la instrucción en ensamblador.

- Ventana de control, en la que aparece arriba el nombre del programa que estamos trazando. Aquí es donde introduciremos los comandos del SoftIce.

He aquí algunos comandos fundamentales para el Softice:

- CTRL+D  Conmuta de W95 al Softice y viceversa. No te asustes por el pantallazo ni por el aspecto cutre inicial, llegarás a quererlo, créeme. Si salen rayas, vuelve a leer el apartado -->Instalación

- F4  Estando en Softice, te permite echar un ojo al estado actual en W95 sin necesidad de conmutar.

- F8  Ejecuta una instrucción, las modificaciones en los registros del sistema aparecen de diferente color. Si la instrucción es una llamada a una rutina, se ejecutarán una a una todas las instrucciones de la rutina llamada.

- F10  Ejecuta una instrucción, las modificaciones en los registros del sistema aparecen de diferente color. Si la instrucción es una llamada a una rutina, se ejecutan de golpe todas las sentencias de la rutina llamada.

- F11  Ejecuta de golpe todas las instrucciones de la rutina actual y se para en la instrucción siguiente de la rutina padre que llamó a esta rutina. Esto nos permite trazar al padre, estando en una rutina hija. En cuanto la uses menudo verás que no es tan complicado como parece.

- F12  Ejecuta todas las sentencias hasta el primer ret (incluido)

- bpx nombreRutina  Salta al Softice cuando se ejecuta la rutina cuyo nombre es nombreRutina. Ejemplo bpx messageboxa saltará al Softice cuando el programa muestre una ventana de mensaje del tipo mensaggebox.

- bpx dirInstrucción  Salta al Softice cuando se ejecuta la instrucción que está es la dirección de memoria dirInstrucción.

- bpr dirIni dirFin rw  Salta al Softice cuando hay un acceso de lectura o escritura en las direcciones dirIni, dirFin ambas incluidas. Ejemplo bpr 100 109 rw que puesto de otra forma más fácil de expresar, nos queda algo como bpr 100 100+9 rw

- s l dir tam'cad'  Busca la cadena cad a partir de dir hasta dir+tam. Esta sentencia casi siempre tendrá este aspecto. Ejemplo s 30:00 l ffffffff 'cad' . Las comillas son importantes. 30:00 es la dirección de comienzo del segmento de datos, o sea la dirección de memoria donde están los datos del programa y ffffffff es el tamaño del segmento de datos, como veréis hay 4GB de espacio para almacenar datos.

- d registro  Muestra en la ventada de datos el contenido de lo que hay a partir de la dirección guardada en registro. Ejemplo d eax muestra a lo que apunta eax.

- d dirección  Muestra en la ventada de datos el contenido de lo que hay a partir de la dirección.

- d nomRutina  Muestra en la ventada de datos el contenido de lo que hay a partir de la dirección donde comienza la rutina nomRutina.

- Impr Pant  Vuelca el contenido de la pantalla por la impresora, quizás tengas que darle varia veces hasta que el buffer de la impresora se llene.

4.ESQUEMAS DE PROTECCION

Citaré algunas de las técnicas utilizadas por los programadores para proteger su soft.

• Números de Serie.

• Cripple Software (software limitado), en diversas variantes:
- Tiempo limitado a meses , días, minutos..
- Número de ejecuciones o usuarios limitado.
- Funciones deshabilitadas.

• Protecciones por discos o CD-ROM llave.

• Protecciones anti-herramientas crack
- Antidebuggers.
- Antidescompiladores.
- Antidesensambladores.
- Encriptación parcial o total.

• Ninguna de las anteriores.

5.ESQUEMAS DE PROTECCIÓN BASADOS EN NÚMEROS DE SERIE

Esta es una "antigua" técnica de protección utilizada por las toneladas de shareware que nos inundan, basta comprarse un CD por 4 perras y ver 650 MB de programas basura, en general, deseosos de exprimir nuestras carteras. Veamos como funcionan.

El programa puede ser total o parcialmente funcional, pero posee estúpidas ventanas que nos recuerdan que somos usuarios no registrados, o bien pitidos mal sonantes o mensajes perennes proclamando que les mandemos dinero. A veces, pasado cierto tiempo o pasado un número de ejecuciones, el programa deja de funcionar. Todo esto inconvenientes se resuelven llamando a la casa que construyó el software (imaginar lo que puede costar una llamadita o un Fax a un pueblo mal oliente del esto de Utah en USA), o bien mandando un e-mail. En cualquier caso hay que indicar el número de VISA donde ellos clavarán sus garras para rellenar sus ya nutridas arcas. Una vez desplumado recibimos por e-mail o por teléfono una palabra mágica, un número de serie, una password, o lo que sea, yo lo llamaré "pwd". Esta pwd desbloquea el programa y/o elimina las estúpidas ventanas recordatorio.

Acerca de los programadores

Sólo dos cosas:

a) En general son perezosos y a veces estúpidos.
b) Nunca les creas.

La opción a) es clara, sus esquemas de protección son arcaicos, apenas han sufrido modificaciones, tan sólo incorporan trucos viejos sobre esquemas bien conocidos. Programas en lenguajes de alto nivel tipo C++, Visual Basic, estos compiladores se basan en librerías bien conocidas. El programador no tiene el amor propio de crear su propia rutina de protección en ensamblador, prefieren dejarla en manos de compiladores que crean código ensamblador ineficiente y fácilmente legible. ¿A qué se debe todo esto?, a su mentalidad comercial de la vida, no trabajan por placer, son esclavos de su trabajo, verdaderos zombies andantes. Lo importante es acabar y pronto no importa la calidad del soft o las quejas del estúpido usuario por la lentitud del programa o por los "cuelgues".

Una breve disgresión, no os habéis preguntado por que las versiones de los programas salen como churros cada 2 días. La respuesta es que se dejan a propósito las cosas sin hacer o mal hechas para que al cabo de dos días se pueda sacar una flamante nueva versión con una leve modificación la cual debes comprar para no quedarse obsoleto, Dios mío que abominación!

Respecto a b) baste decir que siempre tratan de encubrir sus errores con malolientes mentiras.

PROGRAMADORES, leer esto y aprender, pero que digo, no tenéis tiempo ni para joder, ni para ver por donde os joden....:-)

Análisis de esquemas con número de serie

En general existen dos formas en las que trabajan las rutinas de protección de número de serie:
a) Número de serie independiente del usuario.
b) Números de serie adaptados al usuario.

a) Si extraemos una pwd, ésta servirá a todos los usuarios. Una pwd válida se diferencia de una inválida (por las muletas, es un chiste) por la presencia de ciertos caracteres en posiciones fijas (p.e. el carácter 8 debe ser una 'C', el 10 un '-'). Toda pwd que cumpla las restricciones será una pwd válida. Por norma, casi todas las pass incorporan el carácter '-', 2b en hexa. A veces no se requieren caracteres fijos , sino que la suma ASCII cumpla cierta condición. Cada letra del alfabeto y cada carácter numérico tiene una cantidad asociada, su código ASCII (p.e. par el acute0acutees el 30 en hexa o el 40 en decimal). La técnica consiste en sumar el código de cada carácter y comprobar la suma (que a veces se llama checksum) con una cierta cantidad. Una variante es modificar el valor ASCII a través de una tabla que asocia a cada carácter un número distinto.

Crackear esto es fácil de crackear:

cmp suma, sumacorrecta ---->cmp suma, sumacorrecta
jz ok -------------------->jnz ok

Es posible mezclar las tres técnicas, caracteres fijos, cheksum y modificación del código ASCII. En un capítulo próximo veremos un ejemplo de esto.

b) En este caso se utiliza el nombre, los apellidos, o el nombre de la empresas o todo junto para generar un pwd. Aquí las técnicas son más imaginativas: coger cierto caracteres y repetirlos hasta llegar a un tamaño, usar el código ASCII de ciertas caracteres como índice de una tabla de encriptación ... En fin, depende de las paranoias del programador. Lo cierto es que se debe generar la pwd correcta para nuestros dato y ésta se debe comparar con la introducida. Aquí es donde podemos atacar ,en al comprobación. Realmente no hace falta crackear, basta con copiar la pwd correcta e introducirla como nuestra pwd, o bien crackear las sentencias de comprobación para que sirva cualquier pass. Lo primero es mejor ya que nos servirá para futuras versiones.

Se puede mezclar ambas técnicas, como veremos en un capítulo próximo, y generar un checksum para una cierta cadena extraída a partir de los datos del usuario y comprobar el cheksum de nuestra cadena.

¿Cómo atacar?
Antes de ir como unos desposeídos a reventar el programa, es totalmente necesario echar un vistazo, ver el posible esquema de protección y los posibles puntos de ataque. En general no hay que buscar mucho, los puntos débiles tiene un letrero rojo que dice " Hey estoy aquí".

En el caso de los esquemas basados en números de serie, la cosa está clara: esos estúpidos mensajes recordatorios son la puerta de entrada. Si somos usuarios no registrados aparecen, si nos registramos desaparecen. Por tanto debe haber algo que indique cuando deben o no aparecer, este algo es un flag, que no es más que un conmutador (como el de una bombilla). Cuando está en ON aparecen los mensajes, cuando en OFF desaparecen. En nuestro contexto, un flag no es más que una posición dentro de la memoria con un cierto valor. La memoria del ordenador es como un cartón de huevos (1 huevo = 1 bit), donde cada hueco tiene un número diferente al que se le llama dirección de memoria. En cada hueco puede haber un huevo (valor 1) o no haberlo (valor 0). Los agujeros se agrupan, 8 agujeros es un Byte, 1024 Bytes es un MegaByte o MB, 1024 MB es un GigaByte o GB, 1024 GB es un TeraByte o TB. Fácil, ¿verdad?. La memoria está compuesta de bits, estos bits se pueden interpretar de muchas formas, flags, datos, instrucciones. Por ejemplo 01010101 puede ser un flag de activación, la cadena "hola" o lo sentencia pinta la pantalla, depende de como lo consideremos. En el caso de tomarlo como instrucciones, se habla de dirección de la instrucción en memoria, que no es más que la dirección del primer del primer bit que la compone.

El valor que podemos encontrar en un flag puede variar. Para ON podemos encontrar un 1 y para OFF un 0. Se puede usar la llamada lógica negada y tiene en ON un 0 y en OFF un 1. Todo lo que se pueda hacer con 0 y 1, se pude reconvertir cambiando los 0 por 1 y los 1 por 0. Una "mejora" de los programadores es utilizar flags distintos a 0,1, cuán inteligentes!. Recuerdo cierto esquema que utilizaba el flag DEAD en hexadecimal. Los sistemas de numeración (como el hexadecimal o hexa para abreviar) son formas diferentes de contar y de representar cantidades. En base 10, la de toa la vida, se empieza en 0 y se acaba en 9. en hexa se comienza en 0 y se acaba en F (10=a,11=b,12=c,13=d,14=e,15=f).

Veamos algo más práctico:

cmp ax,flag; Compara el valor de ax con el valor del flag
jz mensajes; Si son iguales muestra los mensajes.
sigue: inc dx; Continúa normalmente.
.....
mensajes: mov edx,45
.....
jmp sigue; Salta y continua normalmente.

Este puede ser un esquema típico. Dependiendo del valor del flag se muestran los mensajes o no.

Llegamos a la parte interesante, cada mensaje recordatorio debe tener una comprobación como la del ejemplo. Basta con analizar los mensajes recordatorio y descubrir la dirección de memoria del flag. Pero quién narices rellena el flag?. Obviamente debe haber como mínimo dos inicializaciones, una al comienzo de la ejecución del programa que pone al flag a OFF y la rutina de protección que lo debe poner a ON si la pwd es correcta. ¿Me sigues hasta ahora?.

Es fácil ahora saber donde atacar, un crack elegante sería poner la inicialización al comienzo del programa a ON en vez de OFF. Recuerda esto: "Un buen cracker debe ser ante todo elegante y sutil, nada intrusivo".

Otro punto de ataque
Hasta ahora hemos visto que analizando los estúpidos mensajes se puede conocer la dirección de memoria del flag y a partir de ahí su inicialización. Pero en los esquemas basados en números de series existe un punto de entrada más claro aún que los flags: la propia rutina de protección. Veamos un método sencillo para llegar a ella.

Si uno se va a la opción de registro e introduce un número de serie falso, aparecerá una estúpida ventana indicando que nos hemos equivocado: "Sorry your password is invalid" o algo parecido que traducido al cristiano es "Tío te ha equivocado, JAAARL". Esto no es una vía de entrada, esto es una autopista de 1GB de carriles. Basta con pensar un poco, quién es la encargada de mandar este mensaje? ,evidentemente la propia rutina de protección, interesante verdad?. Ya sólo queda encerrar la rutina, ver como trabaja , cambiar un par de bytes (siempre de la forma más elegante posible) y listo, programa crackeado.

Comparación de ataques
¿Qué crack es mejor?, el de flags o de la rutina de protección?. Esto depende en gran medida de programa, de tus habilidades y del tipo de que dispongas. Con la rutina de protección se puede analizar en profundidad el esquema, ver como trabaja y hasta extraer tu propio número de serie, o sea el número de serie que la empresa te da si te registras, pero esto requiere tiempo y esfuerzo, obteniendo una satisfacción moral e intelectual. Además, en la próxima versión del programa est pwd posiblemente funcionará y no necesitarás crackear de nuevo. Mediante cracks al flag, se requiere un tiempo menor, pero la próxima versión habrá que crackearla de nuevo (no importa seguro que estos estúpidos programadores habrán seguido la mismo patrón de protección). Un crack a la rutina de exige un conocimiento profundo de la misma, lo que puede llevar a tu propio generador de claves (igualito o seguramente mejor que el tiene la empresa).

6.CÓMO CRACKEAR TECHFACTS 95

Objetivo: TechFacts 95.
Versión: 1.30 3/7/97
Nombre del ejecutable: Teckfct95.exe
Website: http://ourworld.compuserve.com/homepage/deansoft Tamaño del ejecutable: 1.251.840 bytes.
Tipo de protección: Por número de serie.
Dificultad: ameba.
Tiempo de crackeo: 2 minutos.
Herramientas: SoftIce 3.0 y Editor Hexadecimal.

Siguiendo las recomendaciones de +ORC empezaremos por crackear nuestras propias herramientas crack. El programa en cuestión es una pequeña joya que nos permitirá, entre otras muchas cosas, rastrear las acciones de un determinado programa, buscar cadenas de caracteres en ficheros, trabajar con dll.. Generalmente, lo utilizo para rastrear programas de instalación, obteniendo información de los ficheros creados, las entradas de registro añadidas o borradas, ...

Manos a la obra. El programa es un ejecutable que no necesita otro fichero para funcionar (cosa rara en estos días). Así pues, arranquemos el programa veamos lo que ocurre. Aparece una horrible ventana diciendo que utilicemos nuestra VISA o MASTERCARD y que soltemos los 19,99 dólares (unas 2500 pesetas) que tenemos para ir a tomar cervezas.

Echemos un vistazo al programa. Entre otras cosas, hay una opción en TOOLS/WATCH SYSTEM, que nos permite rastrear un programa. En HELP/HELP TOPICS/ORDER FORM aparece una hoja de registro en la que nos avisa de que además tenemos que paga 2 dólares para gastos de envío, ¡cómo si costará 250 pelas enviar un mail con el número de serie!.

En HELP/ABOUT TECHFACTS 95 encontramos un botón USE REG KEY. Aquí es donde tenemos que introducir nuestro Nombre (First name), apellidos (Last name) y el número de serie correspondiente que lo recibiremos por mail si pagáramos 19,99 dólares más 2 dólares de gastos de envío. Empecemos por aquí.

Pongamos un nombre, un apellido y un número cualquiera y pulsemos el botón REGISTER. Entonces escuchamos un pitido y aparece una ventana de mensaje diciendo REGISTRATION KEY FAILED. Ahora ¡pensemos un poco!, apliquemos un poco de ZEN CRACKING.

Lo único anormal es el pitido. Si tu fueras un programador y quisieras que pitará tu "cacharro" tienes dos opciones construirte un bonito programa en ensamblador que lo haga, o bien utilizar una función de pitido presente en alguna de las vomitivas librerías de funciones, también llamadas API. ¿ Qué piensas que ha hecho nuestro "vago" programador ?. ¡Bingo! ha utilizado la función MessageBeep de la librería USER32.DLL. Este un punto de ataque muy claro, aunque existen muchos otros.

Apliquemos la técnica LIVE, es decir, utilizaremos el SoftIce. Reinicialicemos nuestro ordenador en modo Ms-Dos, lancemos el WinIce y volveremos a Windows.

Abramos el LOADER de SoftIce y en FILE/OPEN MODULE seleccionemos el fichero Tekfct95.exe. Pulsemos Load o el botón con las ruedecillas dentadas. Nos aparece una ventana de mensaje del SoftIce diciendo que no puede cargar la tabla de símbolos, pulsemos el botón SÍ y aparecemos directamente en el SoftIce con la pantalla en modo texto. En este momento nos encontramos en la primera sentencia de nuestro programa. Pulsemos bpx messagebeep con esto tomaremos el control antes de que aparezca el pitido. Con Ctrl-D volvemos a Windoce y el programa sigue ejecutándose normalmente pero con un cebo en messagebeep. Elegimos la opción de registro y escribimos cualquier cosa en nombre, apellidos y número de serie, pulsamos el botón y aparecemos de bruces en :

USER32!MessageBeep
014F:BFF623C1 B148 MOV CL,48 **** Aparecemos aquí.****
014F:BFF623C3 EB12 JMP BFF623D7

Si pulsamos en este momento F12(continuar hasta un RET) nos situaremos en:

014F:0047BA65 EB11 jmp 0047BA78
014F:0047BA67 6A30 push 00000030
014F:0047BA69 E822A7F8FF Call 00406190 **** Llamada a MessageBeep****
014F:0047BA6E B8BCBB4700 mov eax, 0047BBBC
014F:0047BA73 E824BEFBFF call 0043789C **** Pintamos la ventana de error ****

En tu ordenador las direcciones de memoria pueden ser diferentes.

¡Sintamos el código!. Estamos en mitad de las sentencias de error, lo que implica que debe haber un salto condicional a este conjunto de sentencias de error. El salto debe ser condicional porque en caso de haber metido correctamente el número de serie habríamos obtenido algún tipo de mensaje de felicitación. Así pues, sólo debemos encontrar ese salto condicional y modificarlo.

Miremos por encima de la dirección 014F:0047BA69, nos encontramos en 014F:0047BA65 un salto incondicional jmp 0047BA78, en una ejecución normal nunca llegaríamos a 0047BA67 ya que siempre saltaríamos a 0047BA78. Por tanto, lo que debemos buscar es un salto condicional a la dirección 0047BA67. Si volvemos hacia atrás un poco con los cursores encontramos este bonito salto:

014F:0047B934 E89B73F8FF call 00402CD4
014F:0047B939 0F8528010000 jne 0047BA67 **** ¡BINGO! ****
014F:0047B93F 8D45B7 lea eax, dword ptr [ebp-49]

Hemos encontrado el salto, solamente hay que modificarlo. Fijaos que el salto se produce después de una llamada a la rutina call 00402CD4 apostaría el pellejo a que esta es una rutina para comprobar si tu número de serie es correcto. Si no es igual (jne) salta a las sentencias de error. Si es igual continua ejecutándose. Hay muchas formas de invertir el salto:

1.- Cambiar 0F8528010000 jne 0047BA67 por
0F8500000000 jne 0047B93F
2.- Cambiar 0F8528010000 jne 0047BA67 por
404840484048 inc eax,dec eax, inc eax, dec eax, inc eax, dec eax

La 1 es un salto neutro, sea igual o no siempre se ejecuta la sentencia siguiente. La 2 es la preferida por +ORC, cambia el salto por un conjunto de parejas incrementar - decrementar que dejan el registro eax sin cambios en su contenido.

Solamente hay que tener en cuenta dos cosas para modificar el código, sustituir siempre el mismo número de bytes (cambias 2 bytes por 2 bytes) y que tus modificaciones sean una sentencia en ensamblador correcta.

El SoftIce nos permite hacer cambios On-Fly, es decir, en ese mismo instante, pero el cambio no es permanente. Para ello, nos vemos obligados a utilizar algún editor hexadecimal, con el cual abriremos el fichero ejecutable, y buscaremos la cadena en hexadecimal E89B73F8FF0F8528010000 y la cambiaremos por E89B73F8FF0F8500000000. La cadena se encuentra en el offset 0X7AD34(los números en hexa llevan delante un 0X) que en decimal es 503092.

Así pues tenemos que irnos al byte 503092 de fichero ejecutable y comenzar a hacer cambios.

Ahora tendremos el ejecutable parcheado, si nos registramos nuestro número de serie siempre será aceptado.

Un crack no es más que un pequeño programa que abre un fichero y cambia un par de bytes por otros. ¡Nada más sencillo! Sólo hay que saber qué bytes hay que cambiar. Cuantos menos bytes se cambien más elegante será el crack.
Si habéis seguido todos los pasos habéis crackeado vuestro primer programa. Aun nos sois cracker pero estáis en la buena senda. Sólo hay que poner interés.

Para gentes más avezadas, comentaré que el flag de activación se iniciativa correctamente en :0047BA5E mov byte ptr [004CF31A],00 La rutina de protección es bastante patética, con gran cantidad de código inactivo. Empieza en :47B5C0. Obviamente se podría haber hecho algún otro tipo de crack, pero este es el más simple (se podría haber obtenido el número de serie real, o haber creado un generador de claves).El programador ha puesta a "pelo" la dirección de retorno en :47BA3F push 47BA54. Es un ridículo truco que nos hará perdernos si continuamos ejecutando normalmente, por ello es conveniente pulsar "F12" y mirar hacia por encima sin ejecutar sentencias.

DESCENSO A LOS INFIERNOS
Veamos de una vez por todas cómo se ejecuta una sentencia en el procesador, desde el inicio hasta el final.

Supongamos que estamos programando en un lenguaje de Alto Nivel (C, C++, Pascal, Delphi, Visual Basic). Se llaman de Alto Nivel para diferenciarlos de los lenguajes más próximos al procesador, como el Ensamblador, a los que se llama lenguajes de Bajo Nivel. Cuanto más "Alto" programemos, más control perderemos sobre nuestro programa, y esto es un grave problema.

Supongamos un programa, escrito en Alto Nivel, que pinta la frase "HOLA MUNDO" en pantalla. ¿Qué pasos se siguen hasta que realmente se pinta la frase?. Nuestro programa debe de residir en un fichero, al que se denomina fichero fuente, en el que aparece la sentencia para pintar la frase. Este fichero no es entendible por el procesador, sólo es un conjunto de caracteres, mu diferente del conjunto de 0 y 1 que necesita para trabajar. Es aquí donde entra el compilador, transforma el fichero fuente en un fichero intermedio, también llamado fichero objeto. En esta transformación se comprueba la sintaxis de las sentencias (falta el punto y coma) y la semántica (has pasado un entero cuando se esperaba un real). El compilador realiza entonces una fase de linkado para reunir los distintos ficheros objeto que conforman nuestro programa final (aunque tengamos un único fichero fuente). En esta fase se determinan el mapeo final del programa en memoria (que dirección de memoria va a tener cada instrucción del conjunto de ficheros objeto). Tras la fase de linkado, el programa final se encuentra en un lenguaje llamado pseudocódigo, mu sencillote. Aquí se pueden tomar 3 vías.

Primera: Dejar el programa como está, y que otros programas o librerías (como la vbrun500.dll de Visual Basic) lo traduzcan (lo interpreten) a sentencias entendibles por el procesador.

Segunda: Transformar el pseudocódigo a un lenguaje de Bajo Nivel como el ensamblador. En tal caso, se necesitará un compilador de ensamblador para que el programa pueda ser ejecutado. OJO, el ensamblador no es entendible por el tonto procesador que sólo ve unos y ceros, son dos cosas distintas.

Tercera: La más común, transformar directamente de pseudocódigo a ejecutable.

Un fichero ejecutable consta de unos y ceros (o de números en hexa, según se mire) ordenados de una forma especial; ordenados en instrucciones: Los 3 primeros números son el tipo de instrucción, los 4 siguientes el operando1, el siguiente el operador...Cada instrucción es despiezada dentro del procesador y dan a lugar a la ejecución de un conjunto de programas presenten dentro del procesador, son las microrutinas. Estas microrutinas son las encargadas de bloquear buses, activar multiplexores, dar tensión a un transistor o no, pa enterndernos. Accionando correctamente buses, multiplexires... se pintará realmete la frase en pantalla. Bien, esto es todo.

Mu bien y esto, ¿pa que me sirve?
Existe una correspondencia directa entre lenguaje ensamblador y programa ejecutable. Gracias a un desensamblador (W32DASM, IDA PRO), a partir de un ejecutable podemos obtener el programa el lenguaje ensamblador sin disponer del fichero fuente. Un programa en ensamblador puede ser fácilmente entendido por los humanos (o eso dicen algunos). Esto nos da un poder tremendo a los crackers. Podemos saber cómo funciona un programa sin necesitar del programa original. Y lo que es más aún, independientemente del lenguaje de Alto Nivel. Todos los lenguajes tienen que pasar a ejecutable de alguna u otra forma, y es aquí cuando usamos nuestro desensamblador y extraer su listado en ensamblador. Da igual que programa esté hecho en Pascal, O C++, lo entenderemos igualmente ya que leeremos ensamblador.

3.EL LISTADO MUERTO

La idea es sencilla. Cogemos nuestro desensamblador favorito y se lo pasamos al objetivo. Obtendremos un listado en ensamblador de nuestro programa a crackear. La técnica crack se llama Listado muerto porque entenderemos y manejaremos el programa con este listado, sin tener que ejecutarlo, con el programa muerto. A diferencia de cuando lanzamos el SoftIce y entendemos el programa cuando se está ejecutándose, cuando "vive".

Hay tres ventajas fundamentales para utilizar el Listado Muerto:

- Podemos seguir el programa fácilmente de atrás hacia adelante, basta con pasar de página, no hace falta volver a ejecutarlo.

- Es mucho más relajado imprimir y estudiar 4 páginas de código que rastrear con el SoftIce. Este es uno de los consejos de +ORC.

- Se descubren pequeños secretos, como rutinas inactivas.

La paciencia y la tranquilidad son dos requisitos fundamentales en un cracker. Es fácil perderte trazando con el SoftIce e imposible con el Listado Muerto.

Manos a la Obra
Una vez desensamblado el objetivo, la idea es buscar cadenas de texto interesantes, como "unregistered", "expired", "congratulations" y mirar alrededor de estas cadenas buscando un salto mágico. Las palabras en concreto dependen del programa y son las que aparecen para recordarte que aún no te has registrado.

4.CÓMO CRACKEAR UEDIT 5.0

Objetivo: Uedit 5.0.
Versión: 5.0 3/7/99
Nombre del ejecutable: uedit32.exe
Website: http://www.uedit.com
Tamaño del ejecutable: 812.514 bytes.
Tipo de protección: Por número de serie y temporal.
Dificultad: Medio.
Tiempo de crackeo: 5 minutos.
Herramientas: W32dasm8.X, SoftIce.

Siguiendo la recomendación del maestro +ORC, continuamos con el crack a nuestras herramientas de trabajo. En este caso nos encontramos ante un excelente editor hexadecimal, vital para nuestros negocios :-)

Instalemos el programa, ejecutémoslo y veamos lo que nos encontramos. ARRJJ!!, una horrible ventana nos dice que tenemos 45 días para registrarnos. Además tiene un bonito botón "Enter Authorization Code". Pulsemos y veamos. Un típico nombre de usuario y número de serie (al que le llamaré password o pass). Si pulsamos cualquier guarrada en ambos, sorpresa, ningún mensaje advirtiendo del error, ningún pitido (recordáis el capítulo I), nada excepto una ventana de mensaje que dice que hace falta cerrar el programa para validar el código. ¿Habrá leído Ian D. Mead las lecciones de Estado+Porcino?. Bien, ¿por dónde atacar?. No tenemos nada que nos indique que nos hemos equivocado. ¿Qué tal si usamos el Listado Muerto amiguitos?

Una vez desensamblado el programa y dentro del W32dasm pulsemos el botón de Strn Ref (el botón que está al lado del botón de impresora) para ver las cadenas de caracteres que aparecen en el nuestro objetivo. Qué vemos, qué casualidad , tenemos la frase "Thank you fot supporting Shareware" , hagamos doble click y veamos donde aparecemos:

* Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00401B77(C) |
:00401B7D 83FB09 cmp ebx, 00000009
:00401B80 7504 jne 00401B86
:00401B82 C645EC20 mov [ebp-14], 20 * Referenced by a (U)nconditional or (C)onditional Jump at
:00401B86 8D45C8 lea eax, dword ptr [ebp-38]
* Possible Reference to String Resource ID=00010: " Thank you for supporting Shareware." |
:00401B89 6A0A push 0000000A

En :00401B89 tenemos una referencia a la cadena que nos interesa. Cada frase del programa tiene asociado un número, en este caso es el 0000000A y este número se les pasa a las rutinas que tienen que imprimir los mensajes. La forma tradicional de pasarle parámetros a una rutina es a través de la pila mediante push (como en :00401B89). Los parámetros se pasan empezando por el último, es lo que se llama paso de parámetros mediante el modelo de PASCAL, existen otros modelos, pero son poco utilizados.

¿Estamos en el camino adecuado?, nop, ya que el número de nuestra frase, el 0000000A (es el número 10 en decimal) es muy utilizado en cualquier programa y cada vez que aparezca, el desensamblador pensará que se está haciendo referencia a nuestra frase. Bien pensemos un poco.
Nuestro programa está limitado por 45 días de uso, pasado ese tiempo, lo normal es que nos aparezca una frase diciendo algo así como "Evaluation time expired". Busquemos (con el botón de la linterna) la palabra expired pasada a una rutina mediante push a ver que encontramos.

:043F7D3 E8375DFCFF call 0040550F
:0043F7D8 391DDC0C4A00 cmp dword ptr [004A0CDC], ebx
:0043F7DE 758A jne 0043F76A
:0043F7E0 8D4D10 lea ecx, dword ptr [ebp+10]
:0043F7E3 E829C00100 call 0045B811
:0043F7E8 8D4D14 lea ecx, dword ptr [ebp+14]
:0043F7EB C645FC01 mov [ebp-04], 01
:0043F7EF E81DC00100 call 0045B811
* Possible Reference to String Resource ID=00068: "UltraEdit 45 Day Evaluation time expired!!!!" |
:0043F7F4 6A44 push 00000044

BINGO. ¿No sentís el código?, ¿no percibís como estamos en el camino correcto?. Si, tenemos en :0043F7F4 un push con el número asociado a la frase que buscamos y justo en :0043F7DE un salto a 0043F76A que evita imprimir el mensaje, pero el punto clave es ver la comprobación del salto en :0043F7D8. Se comprueba si el contenido de EBX es igual a una dirección fija de memoria la [004A0CDC]. Las direcciones fijas son las típicas variables globales tan mal utilizadas en los programas. Tenemos una variable global que controla la aparición de un mensaje de error. En algún punto del programa debe de inicializarse [004A0CDC] con un valor; si localizamos este trozo de código, estaremos en plena rutina de comprobación. ¿Fácil, verdad?

Busquemos [004A0CDC] y veamos quién la inicializa, sólo nos interesan las sentencias que inicializen la variable, no las sentencias que comprueban su valor. Normalmente se inicializa por defecto a un valor de error (indicando que no estamos registrados) y se inicializa correctamente cuando nos registremos. Conforme aparecen ocurrencias de nuestra variable global sabemos que estamos en el buen camino porque siempre está rodeada de mensajes de error o de felicitación.

Buscando [004A0CDC] encontramos las siguientes sentencias que modifican la variable (el resto de apariciones son comprobaciones del valor)

:00405541 893DDC0C4A00 mov dword ptr [004A0CDC], edi
:004056A3 891DDC0C4A00 mov dword ptr [004A0CDC], ebx
:004057D4 8325DC0C4A0000 and dword ptr [004A0CDC], 00000000
:00426924 891DDC0C4A00 mov dword ptr [004A0CDC], ebx
:0043F684 C705DC0C4A0001000000 mov dword ptr [004A0CDC], 00000001

¿Qué tenemos aquí?. Parece lógico pensar que en :004057D4 tenemos la inicialización por defecto, ya que un AND con ceros da cero. La sentencia contraria la tenemos en :0043F684 que mueve 1 a la variable, esto sin duda indica que nos hemos registrado. También podría ser al revés, cero registrado, uno no registrado, pero este no es el caso. Basta ejecutar el Softice y poner bpr 004A0CDC 004A0CDC rw , la primera modificación debe ser la asignación por defecto, en este caso la :004057D4. Por tanto solo debemos centrarnos en la asignación a uno :0043F684, olvidando el resto de asignaciones. Esto es un axioma fundamental crack, ante la duda, elige siempre la solución más sencilla. Bien, veamos que hay entorno a la :0043F684

:0043F65C E89A560300 call 00474CFB
:0043F661 8B7804 mov edi, dword ptr [eax+04]
:0043F664 8B4514 mov eax, dword ptr [ebp+14]
:0043F667 48 dec eax
:0043F668 7478 je 0043F6E2
:0043F66A 48 dec eax
:0043F66B 0F85F9000000 jne 0043F76A
:0043F671 391DDC0C4A00 cmp dword ptr [004A0CDC], ebx
:0043F677 0F85DA010000 jne 0043F857
:0043F67D 833DBC024A0000 cmp dword ptr [004A02BC], 00000000
:0043F684 C705DC0C4A0001000000 mov dword ptr [004A0CDC], 00000001

Tenemos diversos saltos que evitan nuestra asignación a uno. El primer salto, está en :0043F668 7478 je 0043F6E2 que tal si lo cambiamos por EB1A jmp 43F684. Osea, siempre saltamos a 43F684 evitando las comprobaciones de :0043F66B y :0043F677.El código EB es la instrucción de salto incondicional JMP, 1A es el número de bytes desde la sentencia condicional hasta la sentencia donde queremos saltar. Fácil, ¿verdad?.

Perfecto, rula. Basta con buscar en el ejecutable uedit32 la secuencia 8B451448747848 y cambiarla por 8B451448EB1A48. Pero hay un peque problema, el crack funciona pero no tenemos un número de serie correcto. En principio basta, pero pensando un poco podremos sacar nuestro propio número de Serie. ¿Qué se os ocurre?

Sip, exactamente, ¿qué tal si le seguimos la pista a nuestro número de serie basura y vemos con quién se comparará?. La pregunta es, donde coloco un bpx para pararme justo antes de que se compruebe mi número de serie. La respuesta es sencilla, en :43F618 (echarle un vistazo al listado muerto) comienza la rutina en la que se asigna a 1 nuestra variable global. Este puede ser un buen comienzo. Abrimos el Softice con el uedit, ponemos nuestro nombre Estado+Porcino y un número basura 1212121212121212. Cerramos el uedit y lanzamos de nuevo el SoftIce poniendo la sentencia bpx 43F618. Aparecemos en :43F618, ahora es el momento de buscan nuestro número de serie con s 30:00 l ffffffff ´12121212´ lo encontramos es :942F9C (esta dirección puede cambiar en tu ordenador). Borramos el punto de ruptura anterior con bc 0 y creamos uno nuevo con la dirección donde está nuestra password con bpr 942F9C 942F9C+f rw seguimos adelante con Crtl+D para ver quien caen en vuestra trampa. Aparecemos en :40B73A con varios movsd , nuestra password se está copiando en otro sitio.

La sentencia movsd, copia caracteres de ees:esi a ees:edi. Pongamos en el SoftIce d ees:edi para ver como realmente se va a copiar, además pongamos otro punto de ruptura en la nueva posición de nuestra password con bpr ees:edi ees:edi+f rw .Curiosamente, si nos movemos un poco con los cursores por ees:edi aparecen las passwords correctas, pero todavía no es el momento. Lancemos de nuevo el SoftIce con Crtl+D y aparecemos en :444FOE, aquí encontramos una pequeña comprobación, en ecx tenemos nuestra pass (para comprobarlo basta con poner d ecx) y en edx apuntamos a una zona de nuestro nombre, concretamente a "tado+Porcino". Esto no es exactamente lo que buscamos, así que sigamos adelante con Crtl+D y aparecemos en :444EBO con una comprobación entre edx y ecx a través de al. Curiosamente edx apunta a nuestra pass y ecx apunta a Y2+cHdcBd6=DBC/P este churro es la pass correcta, si seguimos con Crtl+D aparecemos en el mismo sitio con edx apuntando a nuestra pass y ecx apunta a JWKTUUTH02166710 otra pass correcta. A lo largo de la evolución del programa desde sus primeras versiones, se ha cambiado 2 veces de generador de pass por cuestiones de seguridad, ¡qué estúpidos!. Por eso la doble comprobación, ver si nuestra pass es del antiguo generador o del nuevo.

Eso es todo por ahora, no seáis unos descerebrados y utilicéis mi pass, buscad la vuestra, es mu sencillote.

Espero vuestras opiniones, sugerencias y ensayos en estadoporcino@hotmail.com

En breve analizaremos tipos de protecciones mucho más interesantes.

Recordar bebed de la fuente, buscad a +ORC en la red.

PARA KE SIRVE EL TROYANO NETBUS Y TODAS SUS ESPECIFICACIONES

kolomusic2007 @ 02:25

A. DESCRIPCIÓN
B. INFECCIÓN
C. NOVEDADES
D. FUNCIONES

A. DESCRIPCIÓN

Este programa puede usarse como una aplicación de administración remota, o aún mejor para hacerle putadas a tus amigos en una red local o en el mismo internet (no debe [ría] usarse para irritar sistematicamente a la gente).

NetBus consiste en dos programas: un servidor y en un cliente. El servidor (Patch.exe) es el programa que permite hacerle las putadas a vuestro "amigo" y debe haber sido ejecutado en su computadora. El cliente (NetBus.exe) es el programa que usarás para controlar las computadoras remotas.

B. INFECCIÓN

Sabemos ya cuál es el servidor y cual es el cliente y sabemos también que para poder controlar la computadora remota se debe conseguir que su propietario ejecute Patch.exe en ella. Tu no debes ejecutar en tu computadora Patch.exe, a no ser que quieras probar el funcionamiento del NetBus en carne propia. Tú verás.

Bien, ahora necesitamos conseguir ejecutar patch.exe en la "víctima", ¿Cómo podemos hacerlo?

La forma más sencilla es distribuirlo en webs, newsgroups, ftps, etc. renombrandolo con un atractivo alias. Por ejemplo spoof10.exe, putas.exe, guarras.exe, mirame.exe o yo que coño sé. Con un poco de publicidad puedes conseguir que sea ejecutado por alguien demasiado curioso, poco precavido y de escasos conocimientos, pero lo cierto es que puede caer absolutamente todo el mundo en un momento de prisas, o por ejemplo aquellos que confían ciegamente en su programa antivirus preferido. Podrías cambiar su icono mediante cualquier editor para un mejor y más auténtico camuflaje de tu trampa (ha ha ha ha, ya se te está cayendo la baba sólo con pensarlo, ha ha ha ha ha y empiezas a reirte ha ha ha ha con las posibilidades del engendro ha ha ha ha)

También puedes insertarlo en otros programas, aprovechar las aplicaciones para crear instalaciones de software, camuflarlo en un crack, en un juego pirata, utiliza tu imaginación. En fín, esta es la técnica de toda la vida para distribuir caballos de troya. Para aquellos más expertos sería posible aprovechar cualquiera de los fallos tanto de los programejos como del s.o Micro$oft. Investiga alguno de estos fallos sobre todo aquellos que dan la posibilidad de ejecutar código remotamente, mediante los navegadores, los clientes de correo... Plantea tu estrategia, define el objetivo y adelante, HA HA HA.

C. NOVEDADES 1.60

Ø El servidor de NetBus no loguea ya las conexiones.
Ø SysEdit ahora se llama Patch y se autoinstala automaticamente en el sistema, sin precisar el viejo comando /add. Por esta cuestión ha sido colocado el paramétro /noadd.
Ø A partir de ahora, patch elimina cualquier versión antigua si lo inicias dos veces o más.
Ø Ahora patch contiene KeyHook.dll que es extraido en el inicio.
Ø Patch ya no se muestra en la lista de tareas (w95/98)
Ø Destrucción de archivos (añadido a petición popular, no se debe abusar de esto)
Ø Los ficheros enviados pueden ahora colocarse en cualquier directorio.
Ø Puede desactivarse cualquier botón del teclado.
Ø Pulsando F12 ("boss-key") se minimiza NetBus fácil y rápidamente en la barra de tareas.
Ø Fácil control de passwords.
Ø Posibilidad de enviar mensajes mediante ventanas emergentes.
Ø Ver (comando Show), cerrar (kill) y llevar a primer plano ventanas.

D. FUNCIONES

Server Admin
Change Password:
Cambia la contraseña del servidor remoto.
Close Server:
Cierra el servidor, hasta que la víctima lo vuelva a ejecutar o la computadora se reinicie.
Remove Server:
Elimina el servidor del computador de la persona.

Open CD-ROM
Esta función abre y cierra el CD-ROM de la computadora remota una vez.
in interval:
Abre y cierra el CD-ROM a intervalos de tiempo especificados por el atacante en segundos.

Show Image
Muestra una imagen.
Remove image:
Esconde una imagen.

Swap Mouse
Cambia el orden de los botones del ratón, la función del botón derecho pasa al izquierdo y al revés.
Restore mouse:
Restaura las funciones originales de los botones del ratón remoto.

Start Program
Abre un programa determinado (comprobar “Program/URL”)

Msg Manager
Type Information:
Abre una ventana en el sistema remoto del tipo Alerta con un mensaje definido por el usuario.
Question:
Lo mismo que el anterior, pero es generalmente utilizado por Windows con preguntas del tipo "Guarras.txt ha cambiado, ¿desea guardarlo?
Waring:
Lo mismo que Information, pero suele emplearse para notificar problemas más serios y errores, como por ejemplo, "Mensaje del windows, la puta mierda de tu impresora acaba de palmar" hahahah.
Stop:
Lo mismo que Information, pero que suele utilizar windows para mostrar "Error X en la excepción Y en bla bla", un error de esos raros del ventanas pero de muy frecuente aparición.
Buttons
Opciones que se da a la víctima para responder a las preguntas del gamberro atacante.
OK: Aceptar.
OK/Cancel: Aceptar/Cancelar
Retry/Cancel: Repetir/Cancelar
Yes/No: Si/No
Yes/No/Cancel: Si/No/Cancelar

Let the user answer the message
Permite que la víctima responda a sus preguntas. Aparecerá una ventana de dialogo en la computadora remota dónde la víctima escribirá su respuesta. Message Dónde el gamberro coloca la pregunta hecha a la víctima.
Send msg:
manda el mensaje

Screendump
Captura la pantalla de la máquina que está siendo controlada remotamente (no debe utilizarse en conexiones lentas).

Get info
Obtiene datos como el Sistema Operativo utilizado, etc. 9. Play Sound Inicia un archivo de sonido WAV.

Exit Windows
Salir de windows instantáneamente, sin preguntas.

Send Text
Envía a la víctima un texto.

Active wnds Refresh:
Muestra una lista de ventanas y programas abiertos.
Kill wnd:
Cierra ventanas.
Focus wnd:
Colocar en primer plano una ventana.

Mouse pos
Posiciona el cursor del ratón remoto en las coordenadas definidas por el gamberro atacante. Existen dos campos para escribir los valores, X (coordenada horizontal) e Y (coordenada vertical)

Listen
Muestra todo lo que la víctima esté escribiendo, no importa dónde.
Alt-Tab:
manda este comando para el PC de la víctima.
Ctrl-Esc:
como si la víctima clickara en “Start/Inicio”
Tab:
Tabulador
Stop Listen:
Detiene la captura de la escritura.

Sound System
Graba la entrada del micrófono remoto y manda el sonido en formato wav al gamberro atacante (no debe emplearse en conexiones lentas)

Control Mouse
Control del ratón de la víctima que seguirá los movimientos del gamberro atacante.

Go to URL
Abre una URL en el navegador remoto.

Key Manager
Key Click
Emite un beep cada vez que la víctima pulsa una tecla. Disable keys
Desactiva las teclas del teclado remoto...para desactivar todo el teclado el atacante debe hacerlo en este orden abcdefghijklmnñopqrstuvxwyz1234567890-=+/`,./;’\ Restore Keys:
Devuelve el teclado al estado original.

File Manager
Show Files:
Muestra el contenido de las únidades físicas de la computadora remota.
Download:
Baja un archivo determinado por el atacante.
Upload:
Manda un archivo al PC remoto.
Delete:
Borra un arquivo remoto.

Program/URL
Abre una URL desde la máquina víctima.
Cmd Delay
Intervalo de tiempo que será aplicado entre cada comando. Text To Send
El texto que será mandado a la víctima mediante “SEND TEXT”

Las instrucciones originales de NetBus 1.60
Copyright de Carl-Fredrik Neikter

SNIFFING

kolomusic2007 @ 02:18

Vamos a ver técnicas que permiten robar claves de acceso de forma remota. Ya adelantábamos en números anteriores que, si no se toman las medidas oportunas, a través de la Red viajan innumerables contraseñas en texto plano y sin encriptar o, dicho de otra forma, listas para utilizar.

SNIFFING

Quien hay leído un comic alguna vez habrá observado que, cuando se quiere representar a alguno de los personajes llorando o sollozando, se utiliza la palabra inglesa snif. Durante muchos años pensé que esa palabra signifcaba llorar pero al cabo de un tiempo me enteré de que su verdadero significado era algo así como sorber.

Un sniffer es un programa que sorbe datos de la red. Todo lo que pasa por delante de sus narices lo absorbe y lo almacena para su análisis posterior. De esta forma, sin poseer acceso a ningún sistema de la red, se puede obtener información, claves de acceso o incluso mensajes de correo electrónico en el que se envían estas claves.

La forma más habitual de sniffing, probablemente porque está al alcance de cualquiera, es la que podríamos llamar sniffing por software, utilizando un programa que captura la información de la red.

También es posible hacer lo que podríamos llamar sniffing hardware, que pasaría por pinchar en un cable de red un dispositivo que permita capturar el tráfico.

Con relación a este último tipo, la expresión "pinchar el cable de red" es una expresión general que incluye el propio hecho de conectar un dispositivo a un cable de la red pero también incluye, por ejemplo, un receptor de radio que se sitúa en medio de un radioenlace. Como os podéis imaginar, este tipo de técnicas requiere de unos conocimientos de electrónica adicionales muy importantes. En este artículo vamos a tratar lo que hemos llamado sniffers software, ya que existe una gran cantidad de ellos y el lector podrá probarlos, detectarlos y eliminarlos en su propia casa sin necesidad de molestar a nadie.

IDEA GENERAL

Como acabamos de decir, un sniffer captura todos los paquetes que pasan por delante de la máquina en la que está instalado. Esto quiere decir que un sniffer no es un objeto mágico que una vez lanzado puede ver todo lo que sucede en la red. Dicho de otra forma, un usuario que se conecte a Internet vía módem e instale un sniffer en su máquina sólo podrá capturar los paquetes de información que salgan o lleguen a su máquina.

El entorno en el que suele ser más efectivo este tipo de programas es en una Red de Área Local (LAN), montada con la topología tipo bus. En este tipo de redes todas las máquinas están conectadas a un mismo cable, que recibe el nombre de bus, y por lo tanto, todo el tráfico transmitido y recibido por todas las máquinas que pertenecen a esa red local pasa por ese cable compartido, lo que en la terminología de redes se conoce como el medio común.

El otro entorno natural de los sniffers es una máquina víctima. En este caso, es necesario tener acceso a la máquina victima para instalar el programa y el objetivo perseguido aquí es robar información que permita el acceso a otras máquinas, a las que habitualmente se accede desde esa máquina víctima.

Los sniffers funcionan por una sencilla razón: muchos de los protocolos de acceso remoto a las máquinas se transmiten las claves de acceso como texto plano, y por lo tanto, capturando la información que se transmite por la red se puede obtener este tipo de información y el acceso ilegítimo a una determinada máquina.

REDES DE AREA LOCAL

Como acabamos de comentar, uno de los entornos naturales para un sniffer es una LAN con topología de bus. Las redes más comunes de este tipo son las conocidas como buses Ethernet. Estas redes están formadas por una serie de máquinas, cada una de ellas equipada con una tarjeta de red Ethernet y conectadas a través de un cable coaxial, similar al utilizado por las antenas de los receptores de televisión.

En los extremos del bus es necesario situar lo que se conoce como terminadores, que no son otra cosa que una resistencia. Simplemente debemos saber que sin terminador la red no funciona.

Cada vez que una máquina de la Lan desea transmitir un dato lo hace a través de ese cable al que están conectadas todas las máquinas, por lo que todas tienen la posibilidad de ver los datos que se están transmitiendo, aunque en condiciones normales esto no sucede.

Las tarjetas de red Ethernet están construidadas de tal forma que, en su modo normal de operación, sólo capturan los paquetes de datos que van dirigidos hacia ellas, ignorando la información cuyo destino es otra máquina. Lo que esto significa es que, en condiciones normales, el tráfico que circula por el bus Ethernet no puede ser capturado y es necesario activar un modo especial de funcionamiento de la tarjeta conocido como modo promiscuo.

En este modo, la tarjeta de red captura todos los paquetes que pasan por el bus en el que está pinchada y éste es el modo de operación que un sniffer necesita para llevar a cabo su finalidad.

TOPOLOGIA DE RED

Una primera medida a tomar frente a la instalación de sniffers es una LAN con topología en estrella. Esta topología o forma de red es distinta al bus.

Ahora, todas las máquinas se conectan a un único aparato, lo que se conoce como un concentrador o hub. De esta forma, sólo existe una máquina en cada uno de los cables que componen la red.

Si el hub instalado es del tipo conocido como inteligente, el sniffer es totalmente inútil. Un hub inteligente sabe en qué lugar está cada una de las máquinas de la LAN. Cuando recibe un paquete de datos para una de sus máquinas, lo retransmite únicamente por el cable en el que ésta está conectada, de forma que un sniffer, instalado en otra máquina, jamás podrá ver ese paquete.

Debemos saber que existen hubs no inteligentes, que, cuando reciben un paquete de datos, lo retransmiten a todas las máquinas que están conectadas a él. En este caso, aún con una topología en estrella, el sniffer es capaz de capturar paquetes de datos de cualquier máquina de la red.

MODO PROMISCUO

Como adelantábamos en la sección anterior, cuando la tarjeta o adaptador de red se configura en modo promiscuo, captura todos los paquetes que pasan por delante de él.

La forma más inmediata de saber si un determinado adaptador de red está en un modo promiscuo es utilizar el programa ifconfig. Este programa permite configurar los adaptadores de red instalado en una determinada máquina y obtener información de esa configuración.

Cuando un adaptador de red se encuentra en modo promiscuo, ifconfigh nos informa de ello. Un intruso que rompa un sistema e instale un sniffer en él sustituirá este programa por una versión modificada, de tal forma que no muestre el estado en modo promiscuo de la interfaz de red.

Como veíamos en ese mismo artículo, para evitar esto podemos utilizar versiones del programa limpias, por ejemplo, algunas que hayamos grabado en un disco justo después de instalar el sistema, o utilizar herramientas propias para identificar este tipo de situaciones.

Los lectores interesados pueden estudiar el código fuente del paquete ifconfig para ver cuál es la forma de obtener esta información. Es necesario utilizar llamadas al sistema de bajo nivel y por esa razón no vamos a incluir en este artíuclo un programa que lo haga. Existen en Internet varios programas, además de ifconfig, que permiten detectar sniffers que utilizan el modo promiscuo.

Como último comentario sobre el modo de funcionamiento promiscuo, podemos decir que en los kernel más modernos esta información puede ser obtenida a partir del sistema de ficheros /proc, lugar del que podemos obtener una enorme cantidad de información interesante sobre el sistema de red.

CAPTURA DE PAQUETES

En general, los sniffers capturan paquetes de la red. En una LAN con topología de bus, es posible capturar tráfico de todas las máquinas conectadas en ese bus pero, en el caso general y, como comentábamos más arriba, este tipo de programas pueden ser utilizados en cualquier entorno, probablemente con una repercusión menor pero constituyendo una brecha de seguridad igualmente importante.

En muchos casos, una vez que el intruso ha conseguido el control de la máquina víctima puede optar por la instalación de un sniffer en la misma. En este caso, el sniffer permitirá al atacante robar claves de acceso a otras máquinas. Cada vez que un usuario de la máquina víctima intente una conexión, el sniffer capturará los paquetes enviados en los que se encuentra la clave de acceso en texto plano.

En ocasiones se dota al sniffer de la capacidad de transmitir estos datos vía correo electrónico o permitir al atacante conectarse a un puerto concreto en la máquina víctima para recuperar los datos que el sniffer ha capturado.

Este tipo de instalación se apoyará con técnicas de ocultación de procesos y de conexiones de red (para el caso en el que se permita recuperar los datos del sniffer de esta forma).

Como el lector ya habrá deducido, la forma de funcionamiento de este tipo de programas suele basarse en almacenar en un fichero toda la información que ha robado, de forma que el intruso puede recuperarla en el futuro. Para evitar que estos ficheros sean demasiado voluminosos, muchos sniffers sólo capturan los primeros paquetes de la conexión, en los que se encuentran las contraseñas que se pretenden robar.

Ésta es una de las razones por las que resulta conveniente no permitir el acceso como root a través de telnet a las máquinas y obligar al usuario que quiera utilizar los privilegios de root a utilizar el comando "su" una vez que está dentro. El sniffer sólo captura los primeros paquetes, con lo que obtiene el password de un usuario normal sin privilegios. Cuando este usuario ejecuta el comando "su" para convertirse en root, el sniffer ya no está capturando esa información y la clave de root permanece segura.

UNA POTENTE HERRAMIENTA

Independientemente de los usos ilegítimos de los sniffers, este tipo de programas son una potentísima herramienta para el hacker.

Cuando hablamos de los ataque DoS , vemos cómo muchos de estos ataques se basaban en modificar las cabeceras de los protocolos TCP/IP con fines destructivos. Y para construir este tipo de paquetes era necesario utilizar lo que llamamos sockets raw.

Bien, los sniffers sulen trabajar en este mismo nivel, de tal forma que no sólo capturan la información asociada a los protocolos de aplicación como FTP o TELNET, sino que capturan paquetes raw y, por lo tanto, toda la información conetnida en las cabeceras TCP e IP.

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 más sencilla de interpretar para los seres humanos. Cuando los sniffers 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 , en cierto modo, visualizar, localizar y obtener una solución para ataques remotos.

ALGUNOS SNIFFERS

Una vez más, nuestro sistema GNU/Linux dispone de un enorme número de este tipo de herramientas. La mayoría de ellas incluidas en la práctica totalidad de las distribuciones. Quizá el sniffer más conocido y probablemente uno de los primeros disponibles para los sistemas UNIX en general es tcpdump.

Este programa, una vez lanzado, captura todos los paquetes que llegan a nuestra máquina y muestra por pantalla información relativa a los mismos. Se trata de una herramienta de línea de comandos con una gran cantidad de opciones que permiten mostrar los datos de muy diversas formas. Tcpdump es una herramienta muy potente y es recomendable saber cómo usarla, auqneu como veremos a continucación existen otros sniffers más fáciles de utilizar.

Sniffit también funciona en modo consola, pero ofrece un modo de ejecuión interactivo en el que se muestran las conexiones accesibles desde la máquina en la que se encuentra instalado y permite seleccionar cualquiera de ellas para la captura de paquetes, a través de una interfaz muy sencilla. Este sniffer es referenciado en varios documentos de seguridad.

ETHEREAL

Vamos a comentar un poco más en profundidad este sniffer o analizador de protocolo, ya que es uno de los que ofrece una interfaz más sencilla de utilizar y permite visualizar los contenidos de las cabeceras de los protocolos involucrados en una comunicación de una forma muy cómoda.

Ethereal funciona en modo gráfico y está porgramado con la librería de controles GTK. La ventana principal de la aplicación se divide en tres partes.

En la primera parte se muestra la información más relevante de los paquetes capturados, como, por ejemplo, las direcciones IP y puertos involucrado en la comunicación. Seleccionando un paquete en esta sección podemos obtener información detallada sobre él en las otras dos secciones de la pantalla que comentaremos a continuación.

En la parte central de la ventana se muestra, utilizando controles tree, cada uno de los campos de cada una de las cabeceras de los protocolos que ha utilizado el paquete para moverse de una máquina a la otra. Así, si hemos capturado una serie de paquetes de, por ejemplo, una conexión telnet, podremos ver las cabeceras del protocolo TCP, del IP y de los que tengamos debajo de ellos (Ethernet Frame, por ejemplo, en una red Ethernet).

La tercera parte de la ventana muestra un volcado hexadecimal del contenido del paquete. Seleccionando cualquier campo en la parte central de la ventana se mostrarán en negrita los datos correspondientes del volcado hexadecimal, los datos reales que están viajando por la red.

Otra de las opciones interesantes que ofrece este programa es la de seguimiento de flujos TCP (Follow TCP Stream). Esta opción permite, una vez seleccionado un paquete de entre los capturados, recuperar sólo los paquetes asociados a la misma conexión que el seleccionado. Esta opción es muy útil, ya que el sniffer captura todos los paquetes y si en un moemento dado existen varias conexiones distintas los paquetes de todas ellas aparecerían entremezclados.

MEDIDAS A TOMAR

Lo primero que debemos recordar es que, tanto para activar el adaptador de red en modo promiscuo, como para crear sockets raw, el intruso debe ser root.

Todo lo visto en los artículos anteriores es aplicable, pero vamos a hacer algunos comentarios específicos para el caso de los sniffers.

En primer lugar, ya hemos visto que una topología en estrella con concentradores inteligentes es una configuración más apropiada para evitar la instalación de sniffers. Otra medida frente a los sniffers en modo promiscuo es instalar adaptadores de red que no permitan ser configurados en este modo, ya que existen este tipo de dispositivos. Esta opción no es buena opción para los estudiosos de las redes, ya que imposibilita la utilización de este tipo de herramientas que, cómo veíamos, son de un valor didáctico muy importante.

Como vimos, el comando ifconfig nos permite saber si algún adaptador de red de nuestra máquina está configurado en este modo. Este comando puede estar modificado, por lo que debemos utilizar una versión limpia del comando y a poder ser del sistema.

Si el sniffer no se ha ocultado convenientemente, las herramientas de monitorización mostrarán el proceso que se está ejecutando, el fichero donde se están grabando los datos y la conexión de red.

Una medida bastante drástica consiste en recompilar el kernel de forma que no ofrezca soporte para poner los adaptadores de red en modo promiscuo. Es una solución drástica, al igual que la adquisición de una tarjeta de red que no soporte este modo, ya que como veiamos en una sección anterior el uso de estos programas puede ser realmente útil, tanto para comprender el funcionamiento de las redes de ordenadores como para analizar distintos ataques que se pueden llevar a cabo contra nuestra máquina.

Por otra parte, esta limitación del kernel nada puede hacer frente a un programa capturador de paquetes como los comentados más arriba.

MAS MEDIDAS. CRIPTOGRAFIA.

El otro grupo de medidas que se puede tomar contra los sniffers es la utilización de técnicas criptográficas. En este caso, la idea es que aunque no se pueda evitar la captura de paquetes por parte del sniffer, al menos la información capturada por éstos sea virtualmente inútil, al estar codificada mediante algún tipo de algoritmo criptográfico.

Una de las técnicas habitualmente utilizadas es la conocida como one-time passwords o contraseñas de una sola vez. Lo que buscan estas técnicas es evitar el uso continuo de las mismas contraseñas por parte de los usuarios de tal forma que, aunque ésta sea capturada por un intruso, cuando intente utilizarla nuevamente será totalmente inútil.

Otros sistemas basan su funcionamiento en no enviar información importante a través de la red (como son los passwords), sino que solamente se transmiten información que por sí misma no tiene ningún valor a no ser que se convine con otra (por ejemplo, autentificación de ambos extremos a través de criptografía de clave pública, credenciales, sellos temporales, etc). La información importante es utilizada por los dos extremos de la comunicación (cliente y servidor), pero nunca viaja a través de la red.

Quizá el ejemplo más clásico de la utilización de técnicas criptográficas sea el paquete SSH. Este paquete de software permite las conexiones remotas y otras funciones (transferencia de archivos, por ejemplo), al igual que lo hace telnet pero codificando la información que se transmite por la red y ofreciendo un método de autentificación de los extremos de la comunicación. El hecho de que la información viaje codificada a través de la red hace que los datos capturados por un posible sniffer no puedan ser utilizados por un atacante.

Existen otras soluciones criptográficas, como por ejemplo, Kerberos, pero son más complejas y costosas.

Ya hemos visto que el programa ifconfig es uno de los que podemosu utilizar para detectar tarjetas o adaptadores de red en modo promiscuo.

Un programa de similares funcionalidades muy referenciado es CPM (Check Promiscuous Mode, en castellano: Comprueba Modo Promiscuo). Su utilización es muy sencilla, simplemente hay que ejecutarlo.

Otra herramienta de gran interés para la detección de sniffers, aunque realmente se trata de una aplicación tremendamente útil para la detección de intrusos en general, es lsoft (LiSt Open Files o Lista de ficheros abiertos). Este programa muestra una lista de todos los ficheros abiertos en el sistema proporcionando mucha información adicional sobre ellos (proceso que los ha abierto, nombre de los ficheros, tipo, etc.). Recordemos que en los sistemas UNIX virtualmente todo es un fichero, lo que significa que este programa mostrará, además de los ficheros abiertos propiamente dichos, dispositivos de entrada/salida, sockets, etc.

ESTUDIANDO TIPOS DE VIRUS

kolomusic2007 @ 02:15

ESTUDIO SOBRE VIRUS INFORMATICOS

1. EL NUEVO ESCENARIO INFORMATICO.

Uno de los cambios más sorprendentes del mundo de hoy es la rapidez de las comunicaciones. Modernos sistemas permiten que el flujo de conocimientos sea independiente del lugar físico en que nos encontremos. Ya no nos sorprende la transferencia de información en tiempo real o instantáneo. Se dice que el conocimiento es poder; para adquirirlo, las empresas se han unido en grandes redes internacionales para transferir datos, sonidos e imágenes, y realizan el comercio en forma electrónica, para ser más eficientes. Pero al unirse en forma pública, se han vuelto vulnerables, pues cada sistema de computadoras involucrado en la red es un blanco potencial y apetecible para obtener información.

El escenario electrónico actual es que las organizaciones están uniendo sus redes internas a la Internet, la que crece a razón de más de un 10% mensual. Al unir una red a la Internet se tiene acceso a las redes de otras organizaciones también unidas. De la misma forma en que accedemos la oficina del frente de nuestra empresa, se puede recibir información de un servidor en Australia, conectarnos a una supercomputadora en Washington o revisar la literatura disponible desde Alemania. Del universo de varias decenas de millones de computadoras interconectadas, no es difícil pensar que puede haber más de una persona con perversas intenciones respecto de una organización. Por eso, se debe tener la red protegida adecuadamente.

Cada vez es más frecuente encontrar noticias referentes a que redes de importantes organizaciones han sido violadas por criminales informáticos desconocidos. A pesar de que la prensa ha publicitado que tales intrusiones son solamente obra de adolescentes con propósitos de entretenerse o de jugar, ya no se trata de un incidente aislado de una desafortunada institución. A diario se reciben reportes los ataques a redes informáticas, los que se han vuelto cada vez más siniestros: los archivos son alterados subrepticiamente, las computadoras se vuelven inoperativas, se ha copiado información confidencial sin autorización, se ha reemplazado el software para agregar "puertas traseras" de entrada, y miles de contraseñas han sido capturadas a usuarios inocentes.

Los administradores de sistemas deben gastar horas y a veces días enteros volviendo a cargar o reconfigurando sistemas comprometidos, con el objeto de recuperar la confianza en la integridad del sistema. No hay manera de saber los motivos que tuvo el intruso, y debe suponerse que sus intenciones son lo peor. Aquella gente que irrumpe en los sistemas sin autorización, aunque sea solamente para mirar su estructura, causa mucho daño, incluso sin que hubieran leído la correspondencia confidencial y sin borrar ningún archivo.

Uno de los cambios más sorprendentes del mundo de hoy es la rapidez de las comunicaciones. Modernos sistemas permiten que el flujo de conocimientos sea independiente del lugar físico en que nos encontremos. Ya no nos sorprende la transferencia de información en tiempo real o instantáneo. Se dice que el conocimiento es poder; para adquirirlo, las empresas se han unido en grandes redes internacionales para transferir datos, sonidos e imágenes, y realizan el comercio en forma electrónica, para ser más eficientes. Pero al unirse en forma pública, se han vuelto vulnerables, pues cada sistema de computadoras involucrado en la red es un blanco potencial y apetecible para obtener información.

El escenario electrónico actual es que las organizaciones están uniendo sus redes internas a la Internet, la que crece a razón de más de un 10% mensual.

Al unir una red a la Internet se tiene acceso a las redes de otras organizaciones también unidas. De la misma forma en que accedemos la oficina del frente de nuestra empresa, se puede recibir información de un servidor en Australia, conectarnos a una supercomputadora en Washington o revisar la literatura disponible desde Alemania. Del universo de varias decenas de millones de computadoras interconectadas, no es difícil pensar que puede haber más de una persona con perversas intenciones respecto de una organización. Por eso, se debe tener nuestra red protegida adecuadamente.

Cada vez es más frecuente encontrar noticias referentes a que redes de importantes organizaciones han sido violadas por criminales informáticos desconocidos. A pesar de que la prensa ha publicitado que tales intrusiones son solamente obra de adolescentes con propósitos de entretenerse o de jugar, ya no se trata de un incidente aislado de una desafortunada institución. A diario se reciben reportes los ataques a redes informáticas, los que se han vuelto cada vez más siniestros: los archivos son alterados subrepticiamente, las computadoras se vuelven inoperativas, se ha copiado información confidencial sin autorización, se ha reemplazado el software para agregar "puertas traseras" de entrada, y miles de contraseñas han sido capturadas a usuarios inocentes.

Los administradores de sistemas deben gastar horas y a veces días enteros volviendo a cargar o reconfigurando sistemas comprometidos, con el objeto de recuperar la confianza en la integridad del sistema. No hay manera de saber los motivos que tuvo el intruso, y debe suponerse que sus intenciones son lo peor. Aquella gente que irrumpe en los sistemas sin autorización, aunque sea solamente para mirar su estructura, causa mucho daño, incluso sin que hubieran leído la correspondencia confidencial y sin borrar ningún archivo.

De acuerdo a un estudio de la Consultora “Ernst and Young” abarcando más de mil empresas, un 20% reporta pérdidas financieras como consecuencia de intrusiones en sus computadoras (Technology Review, Abril 95, pg.33). Ya pasaron los tiempos en que la seguridad de las computadoras era sólo un juego o diversión.

2. ¿CÓMO NACIERON LOS VIRUS?.

Hacia finales de los años 60, Douglas McIlory, Victor Vysottsky y Robert Morris idearon un juego al que llamaron Core War (Guerra en lo Central, aludiendo a la memoria de la computadora), que se convirtió en el pasatiempo de algunos de los programadores de los laboratorios Bell de AT&T.

El juego consistía en que dos jugadores escribieran cada uno un programa llamado organismo, cuyo hábitat fuera la memoria de la computadora. A partir de una señal, cada programa intentaba forzar al otro a efectuar una instrucción inválida, ganando el primero que lo consiguiera.

Al término del juego, se borraba de la memoria todo rastro de la batalla, ya que estas actividades eran severamente sancionadas por los jefes por ser un gran riesgo dejar un organismo suelto que pudiera acabar con las aplicaciones del día siguiente. De esta manera surgieron los programas destinados a dañar en la escena de la computación.

Uno de los primeros registros que se tienen de una infección data del año 1987, cuando en la Universidad estadounidense de Delaware notaron que tenían un virus porque comenzaron a ver "© Brain" como etiqueta de los disquetes.

La causa de ello era Brain Computer Services, una casa de computación paquistaní que, desde 1986, vendía copias ilegales de software comercial infectadas para, según los responsables de la firma, dar una lección a los piratas.

Ellos habían notado que el sector de booteo de un disquete contenía código ejecutable, y que dicho código se ejecutaba cada vez que la máquina se inicializaba desde un disquete.

Lograron reemplazar ese código por su propio programa, residente, y que este instalara una réplica de sí mismo en cada disquete que fuera utilizado de ahí en más.

También en 1986, un programador llamado Ralf Burger se dio cuenta de que un archivo podía ser creado para copiarse a sí mismo, adosando una copia de él a otros archivos. Escribió una demostración de este efecto a la que llamó VIRDEM, que podía infectar cualquier archivo con extensión .COM.

Esto atrajo tanto interés que se le pidió que escribiera un libro, pero, puesto que él desconocía lo que estaba ocurriendo en Paquistán, no mencionó a los virus de sector de arranque (boot sector). Para ese entonces, ya se había empezado a diseminar el virus Vienna.

Actualmente, los virus son producidos en cantidades extraordinarias por muchisima gente alrededor del planeta. Algunos de ellos dicen hacerlo por divertimento, otros quizás para probar sus habilidades. De cualquier manera, hasta se ha llegado a notar un cierto grado de competitividad entre los autores de estos programas.

Con relación a la motivación de los autores de virus para llevar a cabo su obra, existe en Internet un documento escrito por un escritor freelance Markus Salo, en el cual, entre otros, se exponen los siguientes conceptos:

 Algunos de los programadores de virus, especialmente los mejores, sostienen que su interés por el tema es puramente científico, que desean averiguar todo lo que se pueda sobre virus y sus usos.

 A diferencia de las compañías de software, que son organizaciones relativamente aisladas unas de otras (todas tienen secretos que no querrían que sus competidores averiguaran) y cuentan entre sus filas con mayoría de estudiantes graduados, las agrupaciones de programadores de virus están abiertas a cualquiera que se interese en ellas, ofrecen consejos, camaradería y pocas limitaciones. Además, son libres de seguir cualquier objetivo que les parezca, sin temer por la pérdida de respaldo económico.

 El hecho de escribir programas vírales da al programador cierta fuerza coercitiva, lo pone fuera de las reglas convencionales de comportamiento. Este factor es uno de los más importantes, pues el sentimiento de pertenencia es algo necesario para todo ser humano, y es probado que dicho sentimiento pareciera verse reforzado en situaciones marginales.

 Por otro lado, ciertos programadores parecen intentar legalizar sus actos poniendo sus creaciones al alcance de mucha gente, (vía Internet, BBS especializadas, etc.) haciendo la salvedad de que el material es peligroso, por lo cual el usuario debería tomar las precauciones del caso.

 Existen programadores, de los cuales, generalmente, provienen los virus más destructivos, que alegan que sus programas son creados para hacer notoria la falta de protección de que sufren la mayoría de los usuarios de computadoras.

 La gran mayoría de estos individuos son del mismo tipo de gente que es reclutada por los grupos terroristas: hombres, adolescentes, inteligentes.

En definitiva, sea cual fuere el motivo por el cual se siguen produciendo virus, se debe destacar que su existencia no ha sido sólo perjuicios: gracias a ellos, mucha gente a tomado conciencia de qué es lo que tiene y cómo protegerlo.

3. ¿QUÉ ES UN VIRUS?.

Es un pequeño programa escrito intencionalmente para instalarse en la computadora de un usuario sin el conocimiento o el permiso de este. Decimos que es un programa parásito porque el programa ataca a los archivos o sector es de "booteo" y se replica a sí mismo para continuar su esparcimiento.

Algunos se limitan solamente a replicarse, mientras que otros pueden producir serios daños que pueden afectar a los sistemas. Se ha llegado a un punto tal, que un nuevo virus llamado W95/CIH-10xx. o también como CIH.Spacefiller (puede aparecer el 26 de cada mes, especialmente 26 de Junio y 26 de Abril) ataca al BIOS de la PC huésped y cambiar su configuración de tal forma que se requiere cambiarlo. Nunca se puede asumir que un virus es inofensivo y dejarlo "flotando" en el sistema.

Existen ciertas analogías entre los virus biológicos y los informáticos: mientras los primeros son agentes externos que invaden células para alterar su información genética y reproducirse, los segundos son programas-rutinas, en un sentido más estricto, capaces de infectar archivos de computadoras, reproduciéndose una y otra vez cuando se accede a dichos archivos, dañando la información existente en la memoria o alguno de los dispositivos de almacenamiento del ordenador.

Tienen diferentes finalidades: Algunos sólo 'infectan', otros alteran datos, otros los eliminan, algunos sólo muestran mensajes. Pero el fin último de todos ellos es el mismo: PROPAGARSE.

Es importante destacar que el potencial de daño de un virus informático no depende de su complejidad sino del entorno donde actúa.

La definición más simple y completa que hay de los virus corresponde al modelo D. A. S., y se fundamenta en tres características, que se refuerzan y dependen mutuamente. Según ella, un virus es un programa que cumple las siguientes pautas:
 Es dañino
 Es autorreproductor
 Es subrepticio

El hecho de que la definición imponga que los virus son programas no admite ningún tipo de observación; está extremadamente claro que son programas, realizados por personas. Además de ser programas tienen el fin ineludible de causar daño en cualquiera de sus formas.

Asimismo, se pueden distinguir tres módulos principales de un virus informático:

 Módulo de Reproducción
 Módulo de Ataque
 Módulo de Defensa

El módulo de reproducción se encarga de manejar las rutinas de "parasitación" de entidades ejecutables (o archivos de datos, en el caso de los virus macro) a fin de que el virus pueda ejecutarse subrepticiamente. Pudiendo, de esta manera, tomar control del sistema e infectar otras entidades permitiendo se traslade de una computadora a otra a través de algunos de estos archivos.

El módulo de ataque es optativo. En caso de estar presente es el encargado de manejar las rutinas de daño adicional del virus. Por ejemplo, el conocido virus Michelangelo, además de producir los daños que se detallarán más adelante, tiene un módulo de ataque que se activa cuando el reloj de la computadora indica 6 de Marzo. En estas condiciones la rutina actúa sobre la información del disco rígido volviéndola inutilizable.

El módulo de defensa tiene, obviamente, la misión de proteger al virus y, como el de ataque, puede estar o no presente en la estructura. Sus rutinas apuntan a evitar todo aquello que provoque la remoción del virus y retardar, en todo lo posible, su detección.

4. TIPOS DE VIRUS.

Los virus se clasifican por el modo en que actúan infectando la computadora:

• Programa: Infectan archivos ejecutables tales como .com / .exe / .ovl / .drv / .sys / .bin

• Boot: Infectan los sectores Boot Record, Master Boot, FAT y la Tabla de Partición.

• Múltiples: Infectan programas y sectores de "booteo".

• Bios: Atacan al Bios para desde allí reescribir los discos duros.

• Hoax: Se distribuyen por e-mail y la única forma de eliminarlos es el uso del sentido común.

Al respecto, se trata de virus que no existe y que se utiliza para aterrar a los novatos especialmente en la Internet a pesar que los rumores lo muestran como algo muy serio y a veces la información es tomada por la prensa especializada.

Por lo general, como ya se expresó, la difusión se hace por cadenas de e-mail con terribles e inopinadas advertencias. En realidad el único virus es el mensaje. A continuación se dan una serie de supuestos "virus", por lo que es aconsejable ignorar los mensajes que aparecen y no ayudar a replicarlos continuando con la cadena:
 3b Trojan (alias PKZIP Virus).
 AOL4Free Virus Hoax.
 Baby New Year Virus Hoax.
 BUDDYLST.ZIP
 BUDSAVER.EXE
 Budweiser Hoax
 Death69
 Deeyenda
 E-Flu
 FatCat Virus Hoax
 Free Money
 Get More Money Hoax
 Ghost
 Good Times
 Hacky Birthday Virus Hoax
 Hairy Palms Virus Hoax
 Irina
 Join the Crew
 Londhouse Virus Hoax
 Microsoft Virus Hoax
 Millenium Time Bomb
 Penpal Greetings
 Red Alert
 Returned or Unable to Deliver
 Teletubbies
 Time Bomb
 Very Cool
 Win a Holiday
 World Domination Hoax
 Yellow Teletubbies
 A.I.D.S. hoax email virus
 AltaVista virus scare
 AOL riot hoax email
 ASP virus hoax
 Back Orifice Trojan horse
 Bill Gates hoax
 Bloat, see MPEG virus hoax
 Budweiser frogs screen-saver scare
 Good Times hoax email virus
 Irina hoax virus
 Java virus scare
 Join the Crew hoax email virus
 'Millennium' virus misunderstanding
 MPEG virus hoax
 'My clock says 2097/2098' virus misunderstanding
 New virus debug device hoax email virus with attached Trojan horse
 Open: Very Cool, see A.I.D.S. hoax email virus
 Penpal Greetings, see Good Times hoax email virus
 PKZ300 Trojan virus scare
 Returned or Unable to Deliver hoax email virus
 Walt Disney greeting, see Bill Gates hoax
 Win a Holiday hoax email virus
 Windows ’98 MS Warning.

Por último, cabe destacar que los HOAX están diseñados únicamente para asustar a los novatos (y a los que no lo son tanto). Otros como el mensaje del carcinoma cerebral de Jessica, Jessica Mydek, Anabelle, Ana, Billy y otros personajes imaginarios tampoco son reales como tampoco lo es la dirección ACS@aol.com, ya que fueron creados para producir congestionamiento en la Internet.

5. CARACTERÍSTICAS DE LOS VIRUS.

El virus es un pequeño software (cuanto más pequeño más fácil de esparcir y más difícil de detectar), que permanece inactivo hasta que un hecho externo hace que el programa sea ejecutado o el sector de "booteo" sea leído. De esa forma el programa del virus es activado y se carga en la memoria de la computadora, desde donde puede esperar un evento que dispare su sistema de destrucción o se replique a sí mismo.

Los más comunes son los residentes en la memoria que pueden replicarse fácilmente en los programas del sector de "booteo", menos comunes son los no-residentes que no permanecen en la memoria después que el programa-huesped es cerrado.

Los virus pueden llegar a "camuflarse" y esconderse para evitar la detección y reparación. Como lo hacen:

a) El virus re-orienta la lectura del disco para evitar ser detectado;
b) Los datos sobre el tamaño del directorio infectado son modificados en la FAT, para evitar que se descubran bytes extra que aporta el virus;
c) encriptamiento: el virus se encripta en símbolos sin sentido para no ser detectado, pero para destruir o replicarse DEBE desencriptarse siendo entonces detectable;
d) polimorfismo: mutan cambiando segmentos del código para parecer distintos en cada "nueva generación", lo que los hace muy difíciles de detectar y destruir;
e) Gatillables: se relaciona con un evento que puede ser el cambio de fecha, una determinada combinación de tecleo; un macro o la apertura de un programa asociado al virus (Troyanos).

Los virus se transportan a través de programas tomados de BBS (Bulletin Boards) o copias de software no original, infectadas a propósito o accidentalmente. También cualquier archivo que contenga "ejecutables" o "macros" puede ser portador de un virus: downloads de programas de lugares inseguros; e-mail con "attachments", archivos de MS-Word y MS-Excel con macros. Inclusive ya existen virus que se distribuyen con MS-Power Point. Los archivos de datos, texto o Html NO PUEDEN contener virus, aunque pueden ser dañados por estos.

Los virus de sectores de "booteo" se instalan en esos sectores y desde allí van saltando a los sectores equivalentes de cada uno de los drivers de la PC. Pueden dañar el sector o sobreescribirlo. Lamentablemente obligan al formateo del disco del drive infectado. Incluyendo discos de 3.5" y todos los tipos de Zip de Iomega, Sony y 3M. (No crean vamos a caer en el chiste fácil de decir que el más extendido de los virus de este tipo se llama MS
Windows 98).

En cambio los virus de programa, se manifiestan cuando la aplicación infectada es ejecutada, el virus se activa y se carga en la memoria, infectando a cualquier programa que se ejecute a continuación. Puede solaparse infecciones de diversos virus que pueden ser destructivos o permanecer inactivos por largos periodos de tiempo.

6. DAÑOS DE LOS VIRUS.

Definiremos daño como acción una indeseada, y los clasificaremos según la cantidad de tiempo necesaria para reparar dichos daños. Existen seis categorías de daños hechos por los virus, de acuerdo a la gravedad.

a) DAÑOS TRIVIALES.

Sirva como ejemplo la forma de trabajo del virus FORM (el más común): En el día 18 de cada mes cualquier tecla que presionemos hace sonar el beep. Deshacerse del virus implica, generalmente, segundos o minutos.

b) DAÑOS MENORES.

Un buen ejemplo de este tipo de daño es el JERUSALEM. Este virus borra, los viernes 13, todos los programas que uno trate de usar después de que el virus haya infectado la memoria residente. En el peor de los casos, tendremos que reinstalar los programas perdidos. Esto nos llevará alrededor de 30 minutos.

c) DAÑOS MODERADOS.

Cuando un virus formatea el disco rígido, mezcla los componentes de la FAT (File Allocation Table, Tabla de Ubicación de Archivos), o sobreescribe el disco rígido. En este caso, sabremos inmediatamente qué es lo que está sucediendo, y podremos reinstalar el sistema operativo y utilizar el último backup. Esto quizás nos lleve una hora.

d) DAÑOS MAYORES.

Algunos virus, dada su lenta velocidad de infección y su alta capacidad de pasar desapercibidos, pueden lograr que ni aún restaurando un backup volvamos al último estado de los datos. Un ejemplo de esto es el virus DARK AVENGER, que infecta archivos y acumula la cantidad de infecciones que realizó. Cuando este contador llega a 16, elige un sector del disco al azar y en él escribe la frase: "Eddie lives … somewhere in time" (Eddie vive … en algún lugar del tiempo).

Esto puede haber estado pasando por un largo tiempo sin que lo notemos, pero el día en que detectemos la presencia del virus y queramos restaurar el último backup notaremos que también él contiene sectores con la frase, y también los backups anteriores a ese.

Puede que lleguemos a encontrar un backup limpio, pero será tan viejo que muy probablemente hayamos perdido una gran cantidad de archivos que fueron creados con posterioridad a ese backup.

e) DAÑOS SEVEROS.

Los daños severos son hechos cuando un virus realiza cambios mínimos, graduales y progresivos. No sabemos cuándo los datos son correctos o han cambiado, pues no hay pistas obvias como en el caso del DARK AVENGER (es decir, no podemos buscar la frase Eddie lives ...).

f) DAÑOS ILIMITADOS.

Algunos programas como CHEEBA, VACSINA.44.LOGIN y GP1 entre otros, obtienen la clave del administrador del sistema y la pasan a un tercero. Cabe aclarar que estos no son virus sino troyanos. En el caso de CHEEBA, crea un nuevo usuario con los privilegios máximos, fijando el nombre del usuario y la clave. El daño es entonces realizado por la tercera persona, quien ingresará al sistema y haría lo que quisiera.

7. SÍNTOMAS TÍPICOS DE UNA INFECCIÓN.

 El sistema operativo o un programa toma mucho tiempo en cargar sin razón aparente.
 El tamaño del programa cambia sin razón aparente.
 El disco duro se queda sin espacio o reporta falta de espacio sin que esto sea necesariamente así.
 Si se corre el CHKDSK no muestra "655360 bytes available".
 En Windows aparece "32 bit error".
 La luz del disco duro en la CPU continua parpadeando aunque no se este trabajando ni haya protectores de pantalla activados. (Se debe tomar este síntoma con mucho cuidado, porque no siempre es así).
 No se puede "bootear" desde el Drive A, ni siquiera con los discos de rescate.
 Aparecen archivos de la nada o con nombres y extensiones extrañas.
 Suena "clicks" en el teclado (este sonido es particularmente aterrador para quien no esta advertido).
 Los caracteres de texto se caen literalmente a la parte inferior de la pantalla (especialmente en DOS).
 En la pantalla del monitor pueden aparecen mensajes absurdos tales como "Tengo hambre. Introduce un Big Mac en el Drive A".
 En el monitor aparece una pantalla con un fondo de cielo celeste, unas nubes blancas difuminadas, una ventana de vidrios repartidos de colores y una leyenda en negro que dice Windows ’98 (No puedo evitarlo, es mas fuerte que yo...!!).

Una infección se soluciona con las llamadas "vacunas" (que impiden la infección) o con los remedios que desactivan y eliminan, (o tratan de hacerlo) a los virus de los archivos infectados. Hay cierto tipo de virus que no son desactivables ni removibles, por lo que se debe destruir el archivo infectado.

8. VIRUS INFORMÁTICOS ARGENTINOS.

Al igual que todos los países informatizados, la Argentina cuenta con una producción local de virus informáticos.

Si bien estos no son de los más complejos (en su mayoría, buenas copias y variaciones de virus conocidos) representan un problema, ya que muchos de ellos no están incluidos en las bases de datos de los programas antivirus.

Veamos algunos ejemplos:

 PING PONG:

Este virus fue el primero en hacer explosión en Argentina. Fue descubierto en marzo de 1988 y en poco tiempo estuvo en nuestro país, en donde se convirtió rápidamente en epidemia.

La falta de conocimiento sobre los virus ayudó a que se diseminara ampliamente y fuera incontrolable en un principio. En centros universitarios como la Facultad de Ciencias Exactas de la UBA o la Facultad de Informática de la Universidad de Morón era difícil encontrar un disco sin infectar.

Ese mismo desconocimiento llevó a que pasara bastante tiempo hasta que se empezaran a tomar medidas. Sólo después de algunos meses, en revistas especializadas en informática, empezaron a publicarse formas de desinfectar los discos, y como consecuencia de ello se aplicaron políticas de seguridad en las universidades.

Lo positivo de esto fue que la gente comenzara a conocer el D.O.S. más profundamente, por ejemplo el boot sector: qué es y para qué sirve, ya que las máquinas eran utilizadas pero pocos sabían cómo funcionaban realmente.

Como tenía un síntoma muy evidente (una pelotita que rebotaba), se pensó que todos los virus debían ser visibles, pero los siguientes fueron más subrepticios, y se limitaban a reproducirse o destruir sin avisar al usuario.

El Ping Pong original no podía infectar discos rígidos, pero la versión que se popularizó en el país fue la B, que sí podía hacerlo. Se creó una variante en Argentina, que probablemente fue la primera variante de virus originada en el país, el Ping Pong C, que no mostraba la pelotita en la pantalla. Este virus está extinto en este momento ya que sólo podía funcionar en máquinas con procesador 8088 ó 8086, porque ejecutaba una instrucción no documentada en estos e incorrecta en los modelos siguientes.

 AVISPA:

Escrito en Noviembre de 1993 que en muy poco tiempo se convirtió en epidemia. Infecta archivos .EXE

Al ejecutarse, si no se encontraba ya residente en memoria, intenta infectar los archivos XCOPY, MEM, SETVER y EMM386 para maximizar sus posibilidades de reproducción, ya que estos archivos son de los más frecuentemente utilizados.
Este virus está encriptado siempre con una clave distinta (polimórfico), para dificultar su detección por medio de antivirus heurísticos.

 MENEM TOCOTO:

Esta adaptación del virus Michelangelo apareció en 1994. En los disquetes se aloja en el boot sector, y en los discos rígidos en la tabla de particiones. Es extremadamente sencillo y, por ende, fácil de detectar.

 CAMOUFLAGE II:

Aparecido por primera vez en 1993. Infecta el boot sector de los disquetes ubicados en la unidad A y la tabla de partición de los discos rígidos. Es bastante simple y fácil de ser detectado.

 LEPROSO:

Creado en 1993, en Rosario, provincia de Santa Fé. Se activa el día 12 de Enero (cumpleaños del autor), y hace aparecer un mensaje que dice: "Felicitaciones, su máquina está infectada por el virus leproso creado por J. P.. Hoy es mi cumpleaños y lo voy a festejar formateando su rígido. Bye... (Vamos Newell's que con Diego somos campeones)."

 PINDONGA:

Virus polimórfico residente en memoria que se activa los días 25 de febrero, 21 de marzo, 27 de agosto y 16 de septiembre, cuando ataca, borra toda la información contenida en el disco rígido.

 TEDY:

Es el primer virus argentino interactivo. Apareció hace poco tiempo. Infecta archivos con extensión .EXE, y se caracteriza por hacer una serie de preguntas al usuario.

Una vez activado, una pantalla muestra:
¡TEDY, el primer virus interactivo de la computación!
Responda el siguiente cuestionario:
1. ¿Los programas que Ud. utiliza son originales? (s/n)
2. ¿Los de Microsoft son unos ladrones? (s/n)
Si se responde afirmativamente a la primer pregunta, el virus contestará: 5 archivos menos por mentiroso
En caso contrario:
2 archivos menos por ladrón
En cuanto a la segunda pregunta, el único mensaje que se ha visto es:
Te doy otra oportunidad para responder bien.

Con este virus, los archivos infectados aumentan su tamaño en 4310 bytes.

9. ¿QUÉ NO ES UN VIRUS?.

Existen algunos programas que, sin llegar a ser virus, ocasionan problemas al usuario. Estos no-virus carecen de por lo menos una de las tres características identificatorias de un virus (dañino, autorreproductor y subrepticio). Veamos un ejemplo de estos no - virus: "Hace algunos años, la red de I. B. M., encargada de conectar más de 130 países, fue virtualmente paralizada por haberse saturado con un correo electrónico que contenía un mensaje de salutación navideña que, una vez leído por el destinatario, se enviaba a sí mismo a cada integrante de las listas de distribución de correo del usuario. Al cabo de un tiempo, fueron tantos los mensajes que esperaban ser leídos por sus destinatarios que el tráfico se volvió demasiado alto, lo que ocasionó la caída de la red".

Asimismo, es necesario aclarar que no todo lo que altere el normal funcionamiento de una computadora es necesariamente un virus.

Por ello, daré algunas de las pautas principales para diferenciar entre qué debe preocuparnos y qué no:

BUGS (Errores en programas).

Los bugs no son virus, y los virus no son bugs. Todos usamos programas que tienen graves errores (bugs). Si se trabaja por un tiempo largo con un archivo muy extenso, eventualmente algo puede comenzar a ir mal dentro del programa, y este a negarse a grabar el archivo en el disco. Se pierde entonces todo lo hecho desde la última grabación. Esto, en muchos casos, se debe a ERRORES del programa. Todos los programas lo suficientemente complejos tienen bugs.

FALSA ALARMA.

Algunas veces tenemos problemas con nuestro hardware o software y, luego de una serie de verificaciones, llegamos a la conclusión de que se trata de un virus, pero nos encontramos con una FALSA ALARMA luego de correr nuestro programa antivirus.

Desafortunadamente no hay una regla estricta por la cual guiarse, pero contestarse las siguientes preguntas puede ser de ayuda:

 ¿Es sólo un archivo el que reporta la falsa alarma (o quizás varios, pero copias del mismo)?.

 ¿Solamente un producto antivirus reporta la alarma? (Otros productos dicen que el sistema está limpio).

 ¿Se indica una falsa alarma después de correr múltiples productos, pero no después de bootear, sin ejecutar ningún programa?.

Si al menos una de nuestras respuestas fue afirmativa, es muy factible que efectivamente se trate de una falsa alarma.

PROGRAMAS CORRUPTOS.

A veces algunos archivos son accidentalmente dañados, quizás por problemas de hardware. Esto quiere decir que no siempre que encontremos daños en archivos deberemos estar seguros de estar infectados.

10. ¿QUÉ ES UN ANTIVIRUS?.

No para toda enfermedad existe cura, como tampoco existe una forma de erradicar todos y cada uno de los virus existentes.

Es importante aclarar que todo antivirus es un programa y que, como todo programa, sólo funcionará correctamente si es adecuado y está bien configurado. Además, un antivirus es una herramienta para el usuario y no sólo no será eficaz para el 100% de los casos, sino que nunca será una protección total ni definitiva.

La función de un programa antivirus es detectar, de alguna manera, la presencia o el accionar de un virus informático en una computadora. Este es el aspecto más importante de un antivirus, independientemente de las prestaciones adicionales que pueda ofrecer, puesto que el hecho de detectar la posible presencia de un virus informático, detener el trabajo y tomar las medidas necesarias, es suficiente para acotar un buen porcentaje de los daños posibles. Adicionalmente, un antivirus puede dar la opción de erradicar un virus informático de una entidad infectada.

El modelo más primario de las funciones de un programa antivirus es la detección de su presencia y, en lo posible, su identificación. La primera técnica que se popularizó para la detección de virus informáticos, y que todavía se sigue utilizando (aunque cada vez con menos eficiencia), es la técnica de scanning. Esta técnica consiste en revisar el código de todos los archivos contenidos en la unidad de almacenamiento -fundamentalmente los archivos ejecutables- en busca de pequeñas porciones de código que puedan pertenecer a un virus informático. Este procedimiento, denominado escaneo, se realiza a partir de una base de datos que contiene trozos de código representativos de cada virus conocido, agregando el empleo de determinados algoritmos que agilizan los procesos de búsqueda.

La técnica de scanning fue bastante eficaz en los primeros tiempos de los virus informáticos, cuando había pocos y su producción era pequeña. Este relativamente pequeño volumen de virus informáticos permitía que los desarrolladores de antivirus escaneadores tuvieran tiempo de analizar el virus, extraer el pequeño trozo de código que lo iba a identificar y agregarlo a la base de datos del programa para lanzar una nueva versión. Sin embargo, la obsolescencia de este mecanismo de identificación como una solución antivirus completa se encontró en su mismo modelo.

El primer punto grave de este sistema radica en que siempre brinda una solución a posteriori: es necesario que un virus informático alcance un grado de dispersión considerable para que sea enviado (por usuarios capacitados, especialistas o distribuidores del producto) a los desarrolladores de antivirus. Estos lo analizarán, extraerán el trozo de código que lo identificará, y lo incluirán en la próxima versión de su programa antivirus. Este proceso puede demorar meses a partir del momento en que el virus comienza a tener una dispersión considerable, lapso en el cual puede causar graves daños sin que pueda ser identificado.

Además, este modelo consiste en una sucesión infinita de soluciones parciales y momentáneas (cuya sumatoria jamás constituirá una solución definitiva), que deben actualizarse periódicamente debido a la aparición de nuevos virus.

En síntesis, la técnica de scanning es altamente ineficiente, pero se sigue utilizando debido a que permite identificar rápidamente la presencia de los virus más conocidos y, como son estos los de mayor dispersión, permite una importante gama de posibilidades.

Un ejemplo típico de un antivirus de esta clase es el Viruscan de McAfee, que se verá más adelante.

En virtud del pronto agotamiento técnico de la técnica de scanning, los desarrolladores de programas antivirus han dotado a sus creaciones de métodos para búsquedas de virus informáticos (y de sus actividades), que no identifican específicamente al virus sino a algunas de sus características generales y comportamientos universalizados.

Este tipo de método rastrea rutinas de alteración de información que no puedan ser controladas por el usuario, modificación de sectores críticos de las unidades de almacenamiento (master boot record, boot sector, FAT, entre otras), etc.

Un ejemplo de este tipo de métodos es el que utiliza algoritmos heurísticos.

De hecho, esta naturaleza de procedimientos busca, de manera bastante eficiente, códigos de instrucciones potencialmente pertenecientes a un virus informático. Resulta eficaz para la detección de virus conocidos y es una de las soluciones utilizadas por los antivirus para la detección de nuevos virus. El inconveniente que presenta este tipo de algoritmo radica en que puede llegar a sospecharse de muchisimas cosas que no son virus. Esto hace necesario que el usuario que lo utiliza conozca un poco acerca de la estructura del sistema operativo, a fin de poseer herramientas que le faciliten una discriminación de cualquier falsa alarma generada por un método heurístico.

Algunos de los antivirus de esta clase son F-Prot, Norton Anti Virus y Dr. Solomon's Toolkit.

Ahora bien, otra forma de detectar la presencia de un virus informático en un sistema consiste en monitorear las actividades de la PC señalando si algún proceso intenta modificar los sectores críticos de los dispositivos de almacenamiento o los archivos ejecutables. Los programas que realizan esta tarea se denominan chequeadores de integridad.

Sobre la base de estas consideraciones, podemos consignar que un buen sistema antivirus debe estar compuesto por un programa detector de virus -que siempre esté residente en memoria- y un programa que verifique la integridad de los sectores críticos del disco rígido y sus archivos ejecutables. Existen productos antivirus que cubren los dos aspectos, o bien pueden combinarse productos diferentes configurados de forma que no se produzcan conflictos entre ellos.

MODELO ANTIVIRUS:

La estructura de un programa antivirus, está compuesta por dos módulos principales: el primero denominado de control y el segundo denominado de respuesta. A su vez, cada uno de ellos se divide en varias partes:

1) Módulo de control: posee la técnica verificación de integridad que posibilita el registro de cambios en los archivos ejecutables y las zonas críticas de un disco rígido. Se trata, en definitiva, de una herramienta preventiva para mantener y controlar los componentes de información de un disco rígido que no son modificados a menos que el usuario lo requiera.

Otra opción dentro de este módulo es la identificación de virus, que incluye diversas técnicas para la detección de virus informáticos. Las formas más comunes de detección son el scanning y los algoritmos, como por ejemplo, los heurísticos.

Asimismo, la identificación de código dañino es otra de las herramientas de detección que, en este caso, busca instrucciones peligrosas incluidas en programas, para la integridad de la información del disco rígido.

Esto implica descompilar (o desensamblar) en forma automática los archivos almacenados y ubicar sentencias o grupos de instrucciones peligrosas.

Finalmente, el módulo de control también posee una administración de recursos para efectuar un monitoreo de las rutinas a través de las cuales se accede al hardware de la computadora (acceso a disco, etc.). De esta manera puede limitarse la acción de un programa restringiéndole el uso de estos recursos, como por ejemplo impedir el acceso a la escritura de zonas críticas del disco o evitar que se ejecuten funciones de formato del mismo.

2) Módulo de respuesta: la función alarma se encuentra incluida en todos los programas antivirus y consiste en detener la acción del sistema ante la sospecha de la presencia de un virus informático, e informar la situación a través de un aviso en pantalla.

Algunos programas antivirus ofrecen, una vez detectado un virus informático, la posibilidad de erradicarlo. Por consiguiente, la función reparar se utiliza como una solución momentánea para mantener la operatividad del sistema hasta que pueda instrumentarse una solución adecuada. Por otra parte, existen dos técnicas para evitar el contagio de entidades ejecutables: evitar que se contagie todo el programa o prevenir que la infección se expanda más allá de un ámbito fijo.

Aunque la primera opción es la más adecuada, plantea grandes problemas de implementación.

DETECCIÓN Y PREVENCIÓN.

Debido a que los virus informáticos son cada vez más sofisticados, hoy en día es difícil sospechar su presencia a través de síntomas como la pérdida de performance. De todas maneras la siguiente es una lista de síntomas que pueden observarse en una computadora de la que se sospeche esté infectada por alguno de los virus más comunes:

• Operaciones de procesamiento más lentas.
• Los programas tardan más tiempo en cargarse.
• Los programas comienzan a acceder por momentos a las disqueteras y/o al disco rígido.
• Disminución no justificada del espacio disponible en el disco rígido y de la memoria RAM disponible, en forma constante o repentina.
• Aparición de programas residentes en memoria desconocidos.

La primera medida de prevención a ser tenida en cuenta es, como se dijo anteriormente, contar con un sistema antivirus y utilizarlo correctamente. Por lo tanto, la única forma de que se constituya un bloqueo eficaz para un virus es que se utilice con determinadas normas y procedimientos. Estas normas tienden a controlar la entrada de archivos al disco rígido de la computadora, lo cual se logra revisando con el antivirus todos los disquetes o medios de almacenamiento en general y, por supuesto, disminuyendo al mínimo posible todo tipo de tráfico.

Además de utilizar un sistema antivirus y controlar el tráfico de archivos al disco rígido, una forma bastante eficaz de proteger los archivos ejecutables es utilizar un programa chequeador de integridad que verifique que estos archivos no sean modificados, es decir, que mantengan su estructura. De esta manera, antes que puedan ser parasitados por un virus convencional, se impediría su accionar.

Para prevenir la infección con un virus de sector de arranque, lo más indicado es no dejar disquetes olvidados en la disquetera de arranque y contar con un antivirus. Pero, además, puede aprovecharse una característica que incorpora el setup de las computadoras más modernas: variar la secuencia de arranque de la PC a "primero disco rígido y luego disquetera" (C, A). De esta manera, la computadora no intentará leer la disquetera en el arranque aunque tenga cargado un disquete.

Algunos distribuidores o representantes de programas antivirus envían muestras de los nuevos virus argentinos a los desarrolladores del producto para que los estudien o incluyan en sus nuevas versiones o upgrades, con la demora que esto implica.

En consecuencia, la detección alternativa a la de scanning y las de chequeo de actividad e integridad resultan importantes, ya que pueden detectar la presencia de un virus informático sin la necesidad de identificarlo. Y esta es la única forma disponible para el usuario de detectar virus nuevos, sean nacionales o extranjeros.

De todas maneras, existe una forma de actualizar la técnica de scanning. La misma consiste en incorporarle al antivirus un archivo conteniendo cadenas de caracteres ASCII que sean trozos de código (strings) significativos del sector vital de cada nuevo virus que todavía no esté incorporado en la base de datos del programa.

De todas formas, esta solución será parcial: la nueva cadena introducida sólo identificará al virus, pero no será capaz de erradicarlo.

Es muy importante que los "strings" que se vayan a incorporar al antivirus provengan de una fuente confiable ya que, de lo contrario, pueden producirse falsas alarmas o ser ineficaces.

Algunos de los antivirus que soportan esta cualidad de agregar strings son Viruscan, F-Prot y Thunderbyte.

La NCSA (National Computer Security Association, Asociación Nacional de Seguridad de Computadoras) es la encargada de certificar productor antivirus.

Para obtener dicha certificación los productos deben pasar una serie de rigurosas pruebas diseñadas para asegurar la adecuada protección del usuario.

Antiguamente el esquema de certificación requería que se detectara (incluyendo el número de versión) el 90 % de la librería de virus del NCSA, y fue diseñado para asegurar óptimas capacidades de detección. Pero esta metodología no era completamente eficiente.

Actualmente, el esquema de certificación enfoca la amenaza a las computadoras empresariales. Para ser certificado, el producto debe pasar las siguientes pruebas:

a) Debe detectar el 100% de los virus encontrados comúnmente. La lista de virus comunes es actualizada periódicamente, a medida que nuevos virus son descubiertos.

b) Deben detectar, como mínimo, el 90% de la librería de virus del NCSA (más de 6.000 virus)

Estas pruebas son realizadas con el producto ejecutándose con su configuración "por defecto".

Una vez que un producto ha sido certificado, la NCSA tratará de recertificar el producto un mínimo de cuatro veces. Cada intento es realizado sin previo aviso al desarrollador del programa. Esta es una buena manera de asegurar que el producto satisface el criterio de certificación.

Si un producto no pasa la primera o segunda prueba, su distribuidor tendrá siete días para proveer de la corrección. Si este límite de tiempo es excedido, el producto será eliminado de la lista de productos certificados.

Una vez que se ha retirado la certificación a un producto la única forma de recuperarla es que el distribuidor envíe una nueva versión completa y certificable (no se aceptará sólo una reparación de la falla.

Acerca de la lista de virus de la NCSA, aclaremos que ningún desarrollador de antivirus puede obtener una copia. Cuando un antivirus falla en la detección de algún virus incluido en la lista, una cadena identificatoria del virus le es enviada al productor del antivirus para su inclusión en futuras versiones.

En el caso de los virus polimórficos, se incluyen múltiples copias del virus para asegurar que el producto testeado lo detecta perfectamente. Para pasar esta prueba el antivirus debe detectar cada mutación del virus.

La A. V. P. D. (Antivirus Product Developers, Desarrolladores de Productos Antivirus) es una asociación formada por las principales empresas informáticas del sector, entre las que se cuentan:
• Cheyenne Software
• I. B. M.
• Intel
• McAfee Associates
• ON Tecnology
• Stiller Research Inc.
• S&S International
• Symantec Corp.
• ThunderByte

11. ALGUNOS ANTIVIRUS.

 DR. SOLOMON'S ANTIVIRUS TOOLKIT.

Certificado por la NCSA. Detecta más de 6.500 virus gracias a su propio lenguaje de detección llamado VirTran, con una velocidad de detección entre 3 y 5 veces mayor que los antivirus tradicionales.

Uno de los últimos desarrollos de S&S es la tecnología G. D. E. (Generic Decription Engine, Motor de Desencriptación Genérica) que permite detectar virus polimórficos sin importar el algoritmo de encriptación utilizado.

Permite detectar modificaciones producidas tanto en archivos como en la tabla de partición del disco rígido. Para ello utiliza Checksumms Criptográficos lo cual, sumado a una clave personal de cada usuario, hace casi imposible que el virus pueda descubrir la clave de encriptación.

Elimina virus en archivos en forma sencilla y efectiva con pocas falsas alarmas, y en sectores de buteo y tablas de partición la protección es genérica, es decir, independiente del virus encontrado.

Otras características que presenta este antivirus, son:

• Ocupa 9K de memoria extendida o expandida.
• Documentación amplia y detallada en español y una enciclopedia sobre los virus más importantes.
• Actualizaciones mensuales o trimestrales de software y manuales.
• Trabaja como residente bajo Windows.
• A. H. A. (Advanced Heuristic Analysis, Análisis Heurístico Avanzado).

 NORTON ANTIVIRUS.

Certificado por la NCSA. Posee una protección automática en segundo plano. Detiene prácticamente todos los virus conocidos y desconocidos (a través de una tecnología propia denominada NOVI, que implica control de las actividades típicas de un virus, protegiendo la integridad del sistema), antes de que causen algún daño o pérdida de información, con una amplia línea de defensa, que combina búsqueda, detección de virus e inoculación (se denomina 'inoculación' al método por el cual este antivirus toma las características principales de los sectores de booteo y archivos para luego chequear su integridad. Cada vez que se detecta un cambio en dichas áreas, NAV avisa al usuario y provee las opciones de Reparar - Volver a usar la imagen guardada - Continuar - No realiza cambios - Inocular - Actualizar la imagen.

Utiliza diagnósticos propios para prevenir infecciones de sus propios archivos y de archivos comprimidos.

El escaneo puede ser lanzado manualmente o automáticamente a través de la planificación de fecha y hora. También permite reparar los archivos infectados por virus desconocidos. Incluye información sobre muchos de los virus que detecta y permite establecer una contraseña para aumentar así la seguridad.

La lista de virus conocidos puede ser actualizada periódicamente (sin cargo) a través de servicios en línea como Internet, América On Line, Compuserve, The Microsoft Network o el BBS propio de Symantec, entre otros.

 VIRUSSCAN.

Este antivirus de McAfee Associates es uno de los más famosos. Trabaja por el sistema de scanning descripto anteriormente, y es el mejor en su estilo.

Para escanear, hace uso de dos técnicas propias: CMS (Code Matrix Scanning, Escaneo de Matriz de Código) y CTS (Code Trace Scanning, Escaneo de Seguimiento de Código).

Una de las principales ventajas de este antivirus es que la actualización de los archivos de bases de datos de strings es muy fácil de realizar, lo cual, sumado a su condición de programa shareware, lo pone al alcance de cualquier usuario. Es bastante flexible en cuanto a la configuración de cómo detectar, reportar y eliminar virus.

12. CONCLUSIONES.

En razón de lo expresado pueden extraerse algunos conceptos que pueden considerarse necesarios para tener en cuenta en materia de virus informáticos:

 No todo lo que afecte el normal funcionamiento de una computadora es un virus.

 TODO virus es un programa y, como tal, debe ser ejecutado para activarse.

 Es imprescindible contar con herramientas de detección y desinfección.

 NINGÚN sistema de seguridad es 100% seguro. Por eso todo usuario de computadoras debería tratar de implementar estrategias de seguridad antivirus, no sólo para proteger su propia información sino para no convertirse en un agente de dispersión de algo que puede producir daños graves e indiscriminados.

Para implementar tales estrategias deberían tenerse a mano los siguientes elementos:

- UN DISCO DE SISTEMA PROTEGIDO CONTRA ESCRITURA Y LIBRE DE VIRUS: Un disco que contenga el sistema operativo ejecutable (es decir, que la máquina pueda ser arrancada desde este disco) con protección contra escritura y que contenga, por lo menos, los siguientes comandos: FORMAT, FDISK, MEM y CHKDSK (o SCANDISK en versiones recientes del MS-DOS).

- POR LO MENOS UN PROGRAMA ANTIVIRUS ACTUALIZADO: Se puede considerar actualizado a un antivirus que no tiene más de tres meses desde su fecha de creación (o de actualización del archivo de strings). Es muy recomendable tener por lo menos dos antivirus.

- UNA FUENTE DE INFORMACIÓN SOBRE VIRUS ESPECÍFICOS: Es decir, algún programa, libro o archivo de texto que contenga la descripción, síntomas y características de por lo menos los cien virus más comunes.

- UN PROGRAMA DE RESPALDO DE ÁREAS CRÍTICAS: Algún programa que obtenga respaldo (backup) de los sectores de arranque de los disquetes y sectores de arranque maestro (MBR, Master Boot Record) de los discos rígidos. Muchos programas antivirus incluyen funciones de este tipo.

- LISTA DE LUGARES DÓNDE ACUDIR: Una buena precaución es no esperar a necesitar ayuda para comenzar a buscar quién puede ofrecerla, sino ir elaborando una agenda de direcciones, teléfonos y direcciones electrónicas de las personas y lugares que puedan servirnos más adelante. Si se cuenta con un antivirus comercial o registrado, deberán tenerse siempre a mano los teléfonos de soporte técnico.

- UN SISTEMA DE PROTECCIÓN RESIDENTE: Muchos antivirus incluyen programas residentes que previenen (en cierta medida), la intrusión de virus y programas desconocidos a la computadora.

- TENER RESPALDOS: Se deben tener respaldados en disco los archivos de datos más importantes, además, se recomienda respaldar todos los archivos ejecutables. Para archivos muy importantes, es bueno tener un respaldo doble, por si uno de los discos de respaldo se daña. Los respaldos también pueden hacerse en cinta (tape backup), aunque para el usuario normal es preferible hacerlo en discos, por el costo que las unidades de cinta representan.

- REVISAR TODOS LOS DISCOS NUEVOS ANTES DE UTILIZARLOS: Cualquier disco que no haya sido previamente utilizado debe ser revisado, inclusive los programas originales (pocas veces sucede que se distribuyan discos de programas originales infectados, pero es factible) y los que se distribuyen junto con revistas de computación.

- REVISAR TODOS LOS DISCOS QUE SE HAYAN PRESTADO: Cualquier disco que se haya prestado a algún amigo o compañero de trabajo, aún aquellos que sólo contengan archivos de datos, deben ser revisados antes de usarse nuevamente.

- REVISAR TODOS LOS PROGRAMAS QUE SE OBTENGAN POR MÓDEM O REDES: Una de las grandes vías de contagio la constituyen Internet y los BBS, sistemas en los cuales es común la transferencia de archivos, pero no siempre se sabe desde dónde se está recibiendo información.

- REVISAR PERIÓDICAMENTE LA COMPUTADORA: Se puede considerar que una buena frecuencia de análisis es, por lo menos, mensual.

Finalmente, es importante tener en cuenta estas sugerencias referentes al comportamiento a tener en cuenta frente a diferentes situaciones:

 Cuando se va a revisar o desinfectar una computadora, es conveniente apagarla por más de 5 segundos y arrancar desde un disco con sistema, libre de virus y protegido contra escritura, para eliminar virus residentes en memoria. No se deberá ejecutar ningún programa del disco rígido, sino que el antivirus deberá estar en el disquete. De esta manera, existe la posibilidad de detectar virus stealth.

 Cuando un sector de arranque (boot sector) o de arranque maestro (MBR) ha sido infectado, es preferible restaurar el sector desde algún respaldo, puesto que en ocasiones, los sectores de arranque genéricos utilizados por los antivirus no son perfectamente compatibles con el sistema operativo instalado. Además, los virus no siempre dejan un respaldo del sector original donde el antivirus espera encontrarlo.

 Antes de restaurar los respaldos es importante no olvidar apagar la computadora por más de cinco segundos y arrancar desde el disco libre de virus.

 Cuando se encuentran archivos infectados, es preferible borrarlos y restaurarlos desde respaldos, aún cuando el programa antivirus que usemos pueda desinfectar los archivos. Esto es porque no existe seguridad sobre si el virus detectado es el mismo para el cual fueron diseñadas las rutinas de desinfección del antivirus, o es una mutación del original.

 Cuando se va a formatear un disco rígido para eliminar algún virus, debe recordarse apagar la máquina por más de cinco segundos y posteriormente arrancar el sistema desde nuestro disquete limpio, donde también debe encontrarse el programa que se utilizará para dar formato al disco.

 Cuando, por alguna causa, no se puede erradicar un virus, deberá buscarse la asesoría de un experto directamente pues, si se pidiera ayuda a cualquier aficionado, se correrá el riesgo de perder definitivamente datos si el procedimiento sugerido no es correcto.

 Cuando se ha detectado y erradicado un virus es conveniente reportar la infección a algún experto, grupo de investigadores de virus, soporte técnico de programas antivirus, etc. Esto que en principio parecería innecesario, ayuda a mantener estadísticas, rastrear focos de infección e identificar nuevos virus, lo cual en definitiva, termina beneficiando al usuario mismo.

COMO LIBRARSE DE UN TROYANO

kolomusic2007 @ 02:11

En esta página vamos a hablar de Mataprocesos
Este pequeño programa, (hecho cuando comenzó el furor del Back Orifice) se llama "MataProcesos" y es una pequeña utilidad que cumple la función que debería estar incluída en la ventana de CTRL-ALT-DEL. Curiosamente esta utilidad tan "pequeña" (ocupa 40 Kb y cumple una tarea muy sencilla) nos será de enorme ayuda con el tema de la seguridad.
Cuando uno ejecuta el MataProcesos un icono (una señal de STOP) se coloca en la barra de tareas. si queremos cerrar un programa rapidamente (alguno que se colgó, o de esos que no aparecen en el CTR-ALT-DEL, como por ejemplo UN BACKDOOR como el patch del NetBus, si es que algun "vivo" nos lo metió) haremos doble click en el STOP y se abrirá una ventana con un listado de todos los procesos reales que se están ejecutando en el momento, listados por nombre de archivo ejecutable.
Para cerrar (matar) un proceso, basta con hacer doble click en el item de la lista que lo representa, y responder que SI a la pregunta que MataProcesos nos hace cuando pide la confirmación.
Notemos que dije que con MataProcesos podemos matar a "todos los procesos", lo cual incluye también a los procesos vitales del Windows, por lo que la primera vez, por falta de experiencia, podriamos "matar" al Windows mismo, obligándonos a reiniciar el ordenador.
Este programa es útil, por ejemplo, si estamos siendo víctima de un troyano, es decir, alguien nos está "molestando", mostrando mensajes extraños en nuestra pantalla sin nuestra autorización, mostrandonos imágenes y abriendo y cerrando la bandeja de nuestro CD-ROM...

Usando el MataProcesos para sacarnos de un apuro
En ese caso, estamos frente a un auténtico "Lamer" (que vendría a ser algo así como un tonto que quiere ser Hacker y utiliza programas como el NetBus, Back Orifice, Sub Seven, Donald Dick o NetSphere para asustar o abusarse de los que no saben). ¿Cómo llegó hasta aquí este individuo? El, u otro similar a él, nos pasó un archivo EXE o SCR haciendonos creer que se trataba de algo muy interesante, y cuando (incautos) lo ejecutamos... probablemente no pasó nada, o algo no muy interesante que digamos... Pero en realidad lo que ocurrió fué que acabamos de instalar un "control remoto" para que este "Lamer" pueda controlar nuestro sistema a su antojo. Fuimos vilmente engañados. Ejecutamos, sin saberlo, un troyano.
Tenemos que apurarnos a quitarnoslo de encima, porque por el momento también tiene acceso a nuestros archivos, para robarlos o borrarlos.
El modo de usar el MataProcesos en este caso sería simplemente seleccionar el proceso adecuado (el del troyano) y terminarlo.
Cómo reconocemos al troyano? Bueno, suponiendo que la lista que MataProcesos nos muestra es la siguiente:
C:\WINDOWS\SYSTEM\KERNEL32.DLL
C:\WINDOWS\SYSTEM\MSGSVR32.EXE
C:\WINDOWS\SYSTEM\mmtask.tsk
C:\WINDOWS\EXPLORER.EXE
C:\WINDOWS\TASKMON.EXE
C:\WINDOWS\SYSTEM\SYSTRAY.EXE
C:\WINDOWS\PATCH.EXE
C:\WINDOWS\WINDOW.EXE
C:\WINDOWS\SYSTEM\ .EXE
C:\WINDOWS\SYSTEM\NSSX.EXE
C:\WINDOWS\RNAAPP.EXE
C:\WINDOWS\TAPISVR.EXE
C:\ARCHIVOS DE PROGRAMA\ICQ\ICQ.EXE
C:\ARCHIVOS DE PROGRAMA\OUTLOOK EXPRESS\MSIMN.EXE
C:\ARCHIVOS DE PROGRAMA\MATAPROCESOS\MATAPROCESOS.EXE
En este caso nos encontramos con un ordenador LLENO DE TROYANOS, es decir, su seguridad ha sido totalmente violada. ¿Cómo nos damos cuenta de eso?
Hace falta estar acostumbrado al MataProcesos, en otras palabras, saber el proceso que cada archivo está ejecutando.
Si tenemos en cuenta que es muy dificil que un troyano se instale en otro lado que no sea los directorios WINDOWS o SYSTEM, ya descartamos tres posibilidades (las tres últimas, pero es más seguro descartarlas cuando conocemos la función de cada una de ellas), veamos:
C:\ARCHIVOS DE PROGRAMA\ICQ\ICQ.EXE
es ni más ni menos que el ICQ, si lo matamos, se nos cierra el ICQ.
C:\ARCHIVOS DE PROGRAMA\OUTLOOK EXPRESS\MSIMN.EXE
se trata, como se podrán imaginar, del Outlook Express.
C:\ARCHIVOS DE PROGRAMA\MATAPROCESOS\MATAPROCESOS.EXE
este es tanto o más obvio que los anteriores, nosotros mismos acabamos de ejecutarlo.
También hay que conocer otros procesos comunes de Windows, ¿y cómo lo hacemos? si se trata de algunos de los que ya nombré, yo mismo voy a presentarselos, pero si son otros que no se mustran aquí, probablemente con el método de "prueba y error".
Veamos:
C:\WINDOWS\SYSTEM\KERNEL32.DLL
Este es el "corazón" del Windows, si lo cerramos, tendremos que reiniciar.
C:\WINDOWS\SYSTEM\MSGSVR32.EXE
Este es una utilidad interna, si la cerramos el sistema probablemente pierda estabilidad.
C:\WINDOWS\SYSTEM\mmtask.tsk
Cerrar este es imposible. Siempre vuelve a aparecer. Tiene que ver con las tareas multimedia que el Windows realiza.
C:\WINDOWS\EXPLORER.EXE
Se trata del explorador. Gestiona tanto al Internet Explorer como al Windows Explorer. También gestiona la barra de tareas. Si lo cerramos se nos cierran estas tres cosas. (Generalmente se vuelve a ejecutar automáticamente)
C:\WINDOWS\TASKMON.EXE
Es el monitor de tareas de Windows. Si lo cerramos aparentemente no ocurre nada, pero no recomiendo cerrar procesos sin saber exactamente qué función cumplen, a menos que no nos moleste vernos obligados a reiniciar...
C:\WINDOWS\SYSTEM\SYSTRAY.EXE
Es el "parlantito" (la bocinita) que aparece en la barra de tareas, el programa que nos dá el control del volumen de sonidos de Windows. Si lo cerramos, el parlante (la bocina) desaparece.
C:\WINDOWS\RNAAPP.EXE C:\WINDOWS\TAPISVR.EXE
Estos dos son los que se ejecutaron cuando nos conectamos a Internet. Si los cerramos la conexión se corta y no podremos volver a conectarnos hasta reiniciar la computadora.
Pues bien, ¿qué nos queda?
C:\WINDOWS\PATCH.EXE C:\WINDOWS\WINDOW.EXE C:\WINDOWS\SYSTEM\ .EXE C:\WINDOWS\SYSTEM\NSSX.EXE
¡Ja! se trata ni más ni menos que de ¡cuatro troyanos! Toda una exageración... Nuestra seguridad (la de nuestros archivos) se ve totalmente violada por culpa de cada uno de estos procesos... ¿Cómo podemos estar seguros de que se trata de troyanos? Eso lo explico en el apartado que viene, pero en el caso de estos cuatro, basta con decir que ya son tán famosos que no hace falta hacer las comprobaciones...
C:\WINDOWS\PATCH.EXE
es el maldito patch del NETBUS
C:\WINDOWS\SYSTEM\ .EXE
es el servidor del Back Orifice
C:\WINDOWS\SYSTEM\NSSX.EXE
es el servidor del NetSphere
C:\WINDOWS\WINDOW.EXE
es un troyano, aunque no sé exactamente cuál... (probablemente SubSeven o una versión levemente modificada del NetBus)
Matando a LOS CUATRO podemos continuar navegando tranquilos, ya que el agresor perdió totalmente su poder. PERO CUIDADO, nuestro sistema seguramente fué modificado para que estos programas se ejecuten cada vez que arrancamos, y como el MataProceso no los borra del disco, sino simplemente los erradica de la memoria, no estamos a salvo de que la próxima vez que reiniciemos ¡los troyanos estén nuevamente allí!
Para librarnos de ellos para siempre leamos los siguientes puntos...
Aclaraciones:
Para que el MataProcesos funcione hace falta tener instalados los 'runtimes' de Visual Basic 5. Si no los tenés los podés conseguir en:
ftp://ftp.simtel.net/pub/simtelnet/win95/dll/vb500a.zip
o en el mirror: ftp://ftp.cdrom.com/pub/simtelnet/win95/dll/vb500a.zip
2) Mataprocesos y Netstat, suficiente para erradicar cualquier troyano
Existe una aplicación llamada Netstat, y está ubicada en C:\WINDOWS. Con ella y la ayuda del MataProcesos podemos limpiar nuestra PC de troyanos.
Para hacerlo correctamente hay que seguir los siguientes pasos:
a) Nos desconectamos de Internet
b) Cerramos todas las aplicaciones que utilicen conexiones a Internet, por ejemplo: ICQ - Internet Explorer o Netscape - GetRight - Go!Zilla - Telnet - mIRC - MSChat - Outlook - Outlook Express - etc...
c) Ejecutamos el MataProcesos
d) Ejecutamos una ventana de DOS
e) En la línea de comandos del DOS tecleamos "netstat -a" y tomamos nota de todos los "puertos" que aparecen como "abiertos", estos aparecen en la columna "Dirección local" con el formato: :

Por ejemplo, podríamos tener el siguiente listado:
Proto Dirección local Dirección remota Estado
TCP Donatien:6711 0.0.0.0:0 LISTENING
TCP Donatien:6776 0.0.0.0:0 LISTENING
TCP Donatien:30100 0.0.0.0:0 LISTENING
TCP Donatien:30101 0.0.0.0:0 LISTENING
TCP Donatien:30102 0.0.0.0:0 LISTENING
TCP Donatien:1243 0.0.0.0:0 LISTENING
TCP Donatien:1035 0.0.0.0:0 LISTENING
UDP Donatien:1035 *:*
Lo cual significa que tenemos procesos en nuestro ordenador que están esperando conección en los puertos: 6711, 6776, 30100, 30101, 30102, 1234, y 1035.
f) Comenzamos a matar, uno por uno, los procesos que no sabemos que función cumplen. Si matamos alguno que no debíamos, y el ordenador se bloquea, ya sabemos para la próxima vez que ese proceso no es un troyano, y que no hay que matarlo
Ejemplo: decido matar al proceso llamado:
C:\WINDOWS\SYSTEM\NSSX.EXE
que es muy sospechoso...
Acto seguido, volvemos a la ventana de DOS y pedimos otro listado de "Netstat -a", que nos devuelve lo siguiente:
Proto Dirección local Dirección remota Estado
TCP Donatien:6711 0.0.0.0:0 LISTENING
TCP Donatien:6776 0.0.0.0:0 LISTENING
TCP Donatien:1243 0.0.0.0:0 LISTENING
TCP Donatien:1035 0.0.0.0:0 LISTENING
UDP Donatien:1035 *:*
Por suspuesto!!! Se han cerrado tres puertos!! (30100, 30101 y 30102, que ya no aparecen en el listado) Al estar seguros que NSSX.EXE no pertenece a ningún programa que nosotros hayamos instalado, y de que el sistema continúa ejecutándose sin ningún problema (o sea que no era parte del Windows), podemos cambiarle el nombre al archivo para que no se vuelva a ejecutar la próxima vez que reiniciemos. Para eso usamos el comando "RENAME C:\WINDOWS\SYSTEM\NSSX.EXE C:\WINDOWS\SYSTEM\NSSX.EX_".
Nótese que tán solo le cambiamos la extensión, para, en caso de habernos equivocado, recuperar el archivo fácilmente.
Podemos renombrar al archivo debido a que ya lo matamos. Si el proceso estuviera ejecutándose no podríamos modificar ni borrar el NSSX.EXE
Otro modo de cambiarle el nombre es ir con el Explorador hasta el directorio C:\WINDOWS\SYSTEM, buscar el archivo NSSX.EXE y situados sobre él presionar F2, escribir el nuevo nombre y .
Ahora, aunque no es del todo indispensable, y no es recomendable para los novatos absolutos, podríamos abrir el registro de windows con el REGEDIT y eliminar la entrada que antes ejecutaba el troyano cada vez que encendíamos la máquina. La entrada está dentro de la rama: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run y es la siguiente: "NSSX" y su valor es "C:\WINDOWS\system\nssx.exe"
Para borrarla basta con marcarla con el mouse, pulsar DEL, y confirmar.
Es importante no andar borrando cualquier cosa del registro. Para aprender más sobre qué es el registro y qué programas ejecuta Windows al arrancar, lean la emisión Nro. 16 de esta misma revista en http://dzone.findhere.com . Allí también aprenderán que la rama del registro "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" no es el unico lugar en el cual un troyano puede asegurarse el ser ejecutado en cada sesión.
El caso de este ejemplo se trataba del famoso NetSphere, un troyano bastante nuevo, que se puede descargar de http://angelfire.com/ar/NetSphere/index2.html . Pueden usarlo para practicar, pero por favor, no sean "Lamers", no lo usen con otras personas, porque dejarían sus máquinas a merced de cualquiera, y si lo usan con ustedes mismos, tengan en cuenta de que no deben conectarse a Internet mientras tengan el troyano instalado. (justamente, para evitar eso es que explico todo esto).
Sigamos con otro ejemplo, sabemos que la lista del "Netstat -a" es ahora más corta:

Proto Dirección local Dirección remota Estado
TCP Donatien:6711 0.0.0.0:0 LISTENING
TCP Donatien:6776 0.0.0.0:0 LISTENING
TCP Donatien:1243 0.0.0.0:0 LISTENING
TCP Donatien:1035 0.0.0.0:0 LISTENING
UDP Donatien:1035 *:*
Pues bien, ahora procedamos a cerrar el proceso: C:\WINDOWS\WINDOW.EXE
El sistema sigue perfectamente estable, y volvemos a pedir el "Netstat -a" y...
Proto Dirección local Dirección remota Estado
TCP Donatien:1035 0.0.0.0:0 LISTENING
UDP Donatien:1035 *:*
Ohhhhh!! Se han cerrado otros tres puertos! (aclaro que un troyano no necesariamente utiliza 3 puertos, puede utilizar más, o menos).
Próximo paso: renombramos el archivo para que no vuelva a ejecutarse nunca más, vamos a la ventana de DOS, y escribimos: "RENAME C:\WINDOWS\WINDOW.EXE C:\WINDOWS\WINDOW.EX_"
Como ya dije, también podemos eliminar la entrada del registro que lo ejecuta, pero como, habiendo renombrado el archivo, ya no es necesario, lo dejo librado al lector.
Como en mi caso, por experiencia, sé que el puerto 1035 no se trata de un troyano, no voy a continuar matando procesos, pero si tuviera más puertos abiertos, (en el ejemplo que dí al principio había cuatro troyanos y no dos) continuaría haciendolo hasta encontrarlos todos.
Quiero aclarar que no es muy comun que un ordenador esté lleno de troyanos como en estos ejemplos, pero si notan que alguien está molestándolos de un modo extraño cuando entran a Internet, intenten con esta "limpieza".
Otra aclaración: Si matan procesos que no son troyanos NO HAY PROBLEMA, lo peor que puede ocurrir es que tengan que reiniciar la máquina. Sólo asegurense de no tener archivos sin grabar (como un documento de Word) para no perderlo, al momento de estar haciendo estas comprobaciones.
También cabe aclarar que, aunque yo no conozco ninguno, pueden existir troyanos más "inteligentes", que no tengan puertos abiertos cuando no estamos conectados, a esos hay que detectarlos por un método diferente, o bien, intentar hacerlo mientras estamos conectados a Internet (aunque en ese caso la cosa se complicaría debido a los demás programas que utilizan Internet -como el ICQ- y abren a su vez sus propios puertos, con lo cual la lista se hace más difícil de interpretar).

ANALISIS Y ATAKE DEL WEB SPOOFING

kolomusic2007 @ 02:07

Introduccion
Este documento intentará describir un ataque de seguridad en Internet que podría poner en peligro la privacidad de los usuarios de la Web, y la integridad de sus datos. El engaño se puede comenter sobre la mayoria de los navegadores, incluyendo el Nestscape Navigator, y Microsoft Internet Explorer,incluido el 5.5.
Web Spoofing
El Web Spoofing permite a un atacante la creacion de una "shadow copy" DE TODAS LAS PÁGINAS DE LA WEB. Los accesos a este sitio estan dirigidos a traves de la maquina del atacante, permitiendole monitorear todas las actividades que realiza la victima, desde los datos que se pueda escribir en un simple formulario, hasta sus passwords, su numero de tarjeta, etc...
El método consiste en que el atacante crea un falso (pero convincente) mundo alrededor de la victima, y la victima hace algo que le podria ser apropiado. El falso web se parece al verdadero, tiene las mismas paginas, links... En definitiva, el atacante es quien controla el falso web, asi pues, todo el trafico entre el navegador de la victima y el verdadero web pasa a traves del programa filtro que programó 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 señales del contexto que perciben. Por ejemplo, se podria decidir el teclear los datos bancarios porque se cree que se esta visitiando el sitio del banco. Esta creencia se podria producir porque la pagina tiene un parecido importante, sale su url en la barra de navegacion, y por alguna que otra razón mas.
Como el atacante tiene el control de la conexion, puede observar, e incluso modificar cualquier dato que vaya entre la victima y el verdadero web, tiene muchas posibilidades de salirse con la suya. Esto incluye Vigilancia y Manipulacion.
Vigiliancia
El atacante puede mirar el trafico de una manera pasiva grabando las paginas que visita la victima, 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 mayoria del comercio electronico se hace a traves de formularios, significa que el atacante puede observar cualquier numero de cuenta o passwords que la victima introduce.
Manipulacion
El atacante tambien es libre de modificar cualquiera de los datos que se estan transmitiendo entre el servidor y la victima en cualquier dirección. Por ejemplo, si la victima esta comprando un producto on-line, el atacante puede cambiar el numero, la cantidad, la direccion del remitente ... tambien le podria engañar a la victima enviandole informacion erronea, por parte del servidor para causar antagonismo entre ellos. Un ejemplo grafico es el siguiente:
Nombre: Juan
Articulo: Compact Disc
Direccion: C/ Victima, n º 1
Num. Tarj: xxx Nombre: Pepe
Articulo: Compact Disc
Direccion: C/ Atacante, n º 12
Num. Tarj: xxx
Victima <===============> Atacante <==============> Servidor
O.K. Te envio el jamon, Juan O.K. Te envio el jamon, Pepe
Como ataca?
La clave es que el atacante se situe en medio de la conexion entre la victima y el servidor.
a) Rescribe la URL:
Lo primero que se hace es grabar todo el website dentro del servidor del atacante para que asi se apunte al servidor de la victima, en vez de la verdadera. Otro método sería instalar un software que actúe como filtro. Por ejemplo, si la URL del atacante es http://www.atacante.org y la del servidor verdadero es http://www.servidor.com, quedaria: http://www.atacante.org/http://www.servidor.com
1) El navegador de la victima reclama una pagina de www.atacante.org
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 reescribe o modifica
5)www.atacante.org le entrega la version de la pagina que ha hecho al navegador de la victima.

b) Que pasa con los Formularios?:
Si la victima llena un formulario de una pagina web falsa, el atacante tambien puede leer los datos, ya que van encerrados dentro de los protocolos web basicos. Es decir, que si cualquier URL puede ser spoofeada, los formularios tambien.

c) Las Conexiones Seguras no ayudan:
Una propiedad angustiosa de este ataque es que tambien funciona cuando la navegador de la victima solicita una pagina via conexion segura. Si la victima accede a un web "seguro" (usando Secure Sockets Layer, SSL) en un web falso, todo sigue ocurriendo con normalidad, la pagina sera entregada, y el indicador de conexion segura, se encendera (generalmente suele ser un candado).
El navegador de la victima dice que hay una conexion segura, porque tiene una, pero desgraciadamente esa conexion es con www.atacante.org, y no con el sitio que piensa la victima. El indicador de conexion segura solo le da a la victima una falsa sensacion de seguridad.
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 pagina que visite la victima, engañar a los motores de busqueda, o incluso, si se sabe su direccion de mail, enviarle uno para que visite la pagina, ...
Completando la Ilusion
Este ataque es bastante efectivo, pero no perfecto. Todavia hay detalles que pueden hacer sospechar a la victima que el ataque ya esta en marcha. En última instancia, el atacante puede llegar a eliminar cualquier rastro del ataque.
a) La Linea de Estado:
Es una simple linea 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 todavia para recibir la totalidad de la pagina.
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. Asi pues, la victima podria darse cuenta de que la URL se ha modificado. La segunda es que por un breve instante de tiempo, se informa cual es la direccion del servidor que esta intentando visitar. La victima podria darse cuenta que el servidor es www.atacante.org, y no el servidor verdadero.
El atacante puede tapar estas huellas añadiendo codigo JavaScript en cada pagina reescrita para ocultar el texto en la linea de estado o hacer que cuando haya un enlace a http://www.atacante.org/http://www.servidor.com, en la linea de estado salga http://www.servidor.com, que se haria de la manera siguiente:
OnMouseOver="window.status='http://www.servidor.com'; return
true;">http://www.servidor.com

Este detalle hace mas convincente el ataque.
b) La Linea de Navegacion:
Es la encargada de informar qué URL se esta visitando. Asi pues, el ataque causa que las paginas reescritas en www.atacante.org salgan en la linea de navegacion. Este detalle puede hacer sospechar a la victima que el ataque está en marcha.
Esta huella puede ser ocultada ayudandose de un poco de JavaScript, de esta manera:
function AbreVentana()
{
open("http://www.atacante.org/http://www.servidor.com/","DisplayWindow","toolbar=yes,directories=no,menubar=no, status=yes");
}
Tambien se puede hacer un programa que reemplace a la linea de navegacion verdadera, que parezca que sea la correcta, colocandola en el mismo sitio, ... Si esta bien hecho se puede hacer que escriba la URL 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 codigo fuente html de la pagina actual. Un usuario podria buscar URLs reescritas, mirando su codigo fuente, para darse cuenta del ataque.
Este ataque también puede prevenir esto ayudandose de un programa en JavaScript que oculte la barra de menús, o que haga una barra identica, con la salvedad que si la victima mira el codigo fuente, en vez de enseñar el que esta viendo, apunte a la direccion verdadera.
d) Ver Informacion del Documento:
Esta huella se puede eliminar siguiendo las indicaciones arriba mencionadas.
Remedios
Web Spoofing es un ataque peligroso, y dificilmente 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 opcion de JavaScript en el navegador.
2.- Asegurarse en todo momento que la barra de navegacion está activa.
3.- ESTA ES LA MÁS IMPORTANTE: Poner atencion a las URL que se enseñan en la barra de estado, asegurandote que siempre apuntan al sitio que quieras entrar.
Hoy en dia tanto JavaScript, como Active-X, como Java tienden a facilitar las tecnicas de spoofing, asi que desde aqui recomendamos al lector que las desactive de su navegador, al menos en los momentos que vaya a transferir informacion critica como login, password, numeros de tarjeta de crédito o cuenta bancaria, ...
b) Soluciones a largo plazo:
Todavia no se ha descubierto ningun metodo para evitar este ataque.

30/10/2007 GMT 1

CONTINUACION DE LAS IP

kolomusic2007 @ 16:53

Este protocolo es el que permite el encaminamiento de la información a través de Internet, o sea, el que define una red de conmutación de paquetes. La información se fragmenta en pequeños trozos o paquetes (con una capacidad aprox. de 1500 caracteres) que se envían independientemente por la red. Cada paquete es enviado con la dirección del ordenador al que va dirigida la información, yendo cada paquete por una ruta distinta hasta alcanzar su objetivo.
1.3 Protocolo resolución de direcciones (ARP)

En el entorno de redes locales, el encaminamiento utiliza el protocolo ARP, este se usa para traducir las direcciones IP (lógicas) en direcciones de la red local.
El funcionamiento del protocolo ARP es simple: una máquina envía un mensaje a otra conectada con ella a través de la red Ethernet. Cada máquina en la red Ethernet tiene una dirección única que se utiliza para dirigirle mensajes. Esta dirección no es conocida por la máquina que envía, y que sólo conoce la IP de destino.

El que envía genera un mensaje ARP que contiene la IP de la máquina de destino. El mensaje se envía a toda la red utilizando una dirección de “
broadcast”.
Todas las máquinas reciben el mensaje, pero sólo responde aquella que reconoce la IP como suya propia. La respuesta ARP contiene la dirección física y lógica del destinatario. La respuesta se enviará directamente al origen de la consulta ARP, que con esta información puede dirigir inmediatamente sus mensajes.

Implementar el protocolo ARP incorpora buffers con las tablas correspondientes entre las IP y las direcciones físicas de la red, de forma que se reduce el número de consultas que se deben realizar.

1.4 Clases de direcciones Internet (IP)

Direccionamiento Internet (IP)
Cada máquina en Internet tiene una dirección única.
Esta dirección de 32 bits se divide en 2 partes, que son los bits de Red y los bits de Host.
El organismo que asigna las IP a nivel mundial es InterNIC, en la dirección hostmaster@nic.ddn.mil, y en España lo realiza una empresa llamada Interdomain.

Dirección
Las direcciones de clase A corresponden a redes que pueden direccionar hasta 16.777.214 máquinas cada una. Las direcciones de red de clase A tienen el primer bit a 0.

Las direcciones de clase B permiten direccionar 65.534 máquinas cada una. Los primeros bits de una dirección de red de clase B son 0-1.
Las direcciones de clase C permiten direccionar 254 máquinas. Las direcciones de clase C empiezan con los bits 110.
Las direcciones de clase D son un grupo especial que se utiliza para dirigirse a grupos de máquinas. Estas direcciones son muy poco utilizadas. Los primeros bits de una dirección de clase D son 1-1-1-0, y su rango va desde 224.000.000.000 hasta 239.255.255.254.

existen una serie de direcciones reservadas, que son:

000.xxx.xxx.xxx(1)
127.xxx.xxx.xxx (reservada como la propia máquina)
128.000.xxx.xxx(1)
191.255.xxx.xxx(1)
192.000.000.xxx(1)
223.255.255.xxx(2)
Direcciones de máquinas reservadas:
xxx.000.000.000(1)
xxx.255.255.255(2)
xxx.xxx.000.000(1)
xxx.xxx.255.255(2)
xxx.xxx.xxx.000(1)
xxx.xxx.xxx.255(2)

(1) se utilizan para identificar a la red propia
(2) se usa para enmascarar

1.5 DNS y direcciones IP

Cada máquina de Internet tiene asignada una “dirección IP”, pero esta dirección IP es difícil de recordar por su longitud y variedad, como ya he resumido anteriormente, y existe un mecanismo de direcciones simbólicas que asignan un nombre a cada máquina. Los nombres son más fáciles de usar y recordar que los números.
Las direcciones simbólicas se forman por nombres separados por puntos. Los nombres representan el nombre de la máquina, y al nombre de los distintos dominios, cada vez de nivel mayor, en los que está incluida la máquina.

Ejemplo:
alibaba.hacker.ctv.es
alibaba.simm.es
Como se van a usar ambos tipos de direcciones para designar a una máquina, se necesita un mecanismo para pasar de uno al otro lado y viceversa: DNS (Domain Name System o servicio de nombres Internet), que es el encargado de realizar esta transformación.
El DNS consiste, básicamente, en una base de datos distribuida de forma jerárquica por toda la red Internet que es consultada por el usuario para llevar a cabo la traducción entre los nombres y las direcciones numéricas.
1.6 Protocolo de la transmisión (TCP)

En el recorrido de un socked, puede ocurrir, que un paquete IP se pierda, llegue duplicado o con errores en la información que contiene. El protocolo TCP se encarga de subsanar estas posibles deficiencias para conseguir un servicio de transporte de información bueno.
TCP corta en trozos la información a transmitir, igual que lo hace el protocolo IP. TCP numera cada paquete de manera que el receptor de la información los podrá ordenar al recibirlo. Para pasar esta información a través de la red, TCP utiliza un sobre identificado con el número de secuencia del paquete. Los paquetes TCP se envían a su destino, independientemente unos de otros, utilizando el protocolo IP.

En la recepción, TCP recoge el paquete, extrae los datos y los pone en el orden correcto. Si algunos sobres desaparecen, el receptor le pise al transmisor que retransmita los paquetes de nuevo. Cuando toda la información recogida esta en su orden, se pasan los datos al a capa de aplicaciones.
Pero en la práctica, los paquetes no solamente se pueden perder, sino que pueden sufrir cambios y crear error o confusión en el receptor. TCP resuelve este problema colocando en el paquete que se envía lo que se denomina el “checksum”. Cuando el paquete llega a su destino, el receptor TCP calcula que checksum debe ser y lo compara con el que se ha enviado. Si no son los mismos el TCP receptor entiende que ha habido un error en la transmisión y le pide al transmisor que reenvíe.

De esta manera, el TCP pasa a ser un protocolo fiable en la transmisión de información. Todas las aplicaciones de Internet utilizan los servicios de transporte TCP para el intercambio de información, de forma que pueden ignorar los problemas de envío de información a través de la red.

NOTA: Este apartado lo ampliaré más profundamente en el punto 2.0

1.7 Protocolo UDP

Establecer una conexión TCP requiere gran cantidad de información en las cabeceras de los paquetes y en consecuencia retrasos en la transmisión, si se quiere enviar un paquete y no se requiere una particular precaución en el reparto del mismo entonces se puede usar otro protocolo más simple que el TCP, este es el caso del “protocolo de datagramas del usuario (UDP) que se utiliza en vez del TCP en algunas aplicaciones.
UDP es más simple que el TCP porque no se preocupa de mensajes que se pierdan, mantiene el orden en los paquetes que se envían, etc… UDP se usa para programas que sólo envían mensajes cortos, y pueden reenviar el mensaje si una respuesta no se produce en un período corto de tiempo. El UDP también se utiliza en el entorno de la red local donde la tasa de errores de transmisión es muy pequeña, y no es necesario el sofisticado control de errores del protocolo TCP.
2.-TCP/IP

El termino genérico "TCP/IP" usualmente significa todo lo relacionado a
los protocolos específicos de TCP e IP. Puede incluir otros protocolos,
aplicaciones y hasta la red entera. Un ejemplo de otros protocolos pueden
ser: UDP, ARP y ICMP. Un ejemplo de estas aplicaciones pueden ser: TELNET,
FTP y RCP. Un termino mas exacto podría ser "Tecnología Internet".
Una red que use "tecnología internet" es llamada "internet". Es decir, el

conjunto de aplicaciones y protocolos mencionados son los que forman el
conjunto comúnmente llamado INTERNET.

2.1 Estructura Básica

Para comprender esta tecnología debes primero de entender la siguiente
estructura lógica:

----------------------------
| Aplicaciones de Red |
| |
|... \ | / .. \ | / ...|

| ------- ------- |
| | TCP | | UDP | |
| ------- ------- |
| \ / |
| -------- |
| | IP | |
| ------- -*------ |
| | ARP | | |
| ------- | |

| \ | |
| -------- |
| | ENET | |
| ----@--- |
----------|-----------------
|
----------------------o---------
Cable de Ethernet
Figura 1. Un Nodo básico de Red TCP/IP

Esta es la estructura lógica de los protocolos en 'escalera' dentro de
una computadora en una Internet. Cada computadora que pueda comunicarse
usando tecnología internet tiene esta estructura. Es la estructura lógica
la que determina el comportamiento de la computadora en la internet.
Las cajas representan el procesamiento de datos mientras pasa a través de
la computadora, y las líneas conectando las cajas muestran el camino de
los datos. La línea horizontal al final representa el cable Ethernet; la

"o" es un Transceiver y Conecta al cable Ethernet con el resto de la
internet. El asterisco "*" es la dirección IP y el "@" es la dirección
Ethernet. Entender la estructura lógica es esencial para entender la
tecnología Internet a la que se refiere el tutorial.

2.2 Terminología

El nombre de la unidad de Información que fluye a través de una internet
depende con respecto a su posición en la pila de protocolos. En resumen:
Si esta en una Ethernet se llama 'Ethernet frame'; si se encuentra entre

el manejador de Ethernet y el modulo IP se denomina un 'IP packet'; si se
encuentra entre el modulo IP y el modulo UDP se llama 'Datagrama UDP'; Si
se encuentra entre el modulo IP y el modulo TCP se llama un 'Segmento
TCP'(generalmente llamado 'mensaje TCP'); y si esta en una aplicación de
Red se llama 'un mensaje de aplicación'.
(por favor examine la figura 1 mientras consulta esta información)

Un manejador (driver) es un software que se comunica directamente con

el hardware interfaz de la red. Un modulo es software que se comunica
con un manejador, con aplicaciones de red, o con algún otro modulo.

Los términos manejador, modulo, Ethernet frame, IP packet, Datagrama UDP,
Segmento TCP o mensaje TCP y mensaje de aplicación son usados a través de
este trabajo.

2.3 Flujo de Datos

Ahora seguiremos los datos mientras fluyen por la 'escalera' o 'pila' de
protocolos que se ven en la figura 1. Para una aplicación que use TCP

(Transmission Control Protocol*Protocolo de Control de Transmision) los
datos pasan entre la aplicación y el modulo TCP. Para las aplicaciones
que usan UDP (User Datagram Protocol), los datos pasan entre la
aplicación y el modulo UDP. FTP (File Transfer Protocol) es un ejemplo
típico de una aplicación que usa TCP. La 'escalera' de protocolos en
este ejemplo FTP seria FTP/TCP/IP/ENET. SNMP (Simple Network Management
Protocol) es una aplicación que usa UDP. Su protocolo en 'escalera'

seria SNMP/UDP/IP/ENET (ver figura 1 para ver la ruta de los datos)

El modulo TCP, modulo UDP y el manejador Ethernet son n-a-1 (n-to-1)
multiplexers. Los multiplexers permiten conectar varias Entradas (inputs)
a una salida (output). Existen también 1-a-n (1-to-n) de-multiplexers.
Los de-multiplexers conectan una entrada (input) a varias salidas
(outputs) de acuerdo con la indicación del encabezado del protocolo.

1 2 3 ... n 1 2 3 ... n

\ | | / | \ | | / ^
\ | | / | \ | | / |
------------- flujo ---------------- flujo
|multiplexer| de |de-multiplexer| de
------------- datos ---------------- datos
| | | |
| v | |
1 1

Figura 2. n-to-1 multiplexer y 1-to-n de-multiplexer

Si un Ethernet frame llega al manejador(driver) Ethernet hacia la red,
el paquete(packet) puede ser pasado hacia arriba a el modulo ARP (Address
Resolution Protocol) o al modulo IP (Internet Protocol). El valor del
encabezado de el Ethernet frame determina si el Ethernet frame es pasado
al modulo ARP o al modulo IP.

Si un IP packet llega al IP, la unidad de datos es pasado hacia arriba a
TCP o UDP, depende de lo determinado por el valor del encabezado del IP.

Si un datagrama UDP llega a UDP, el mensaje de la aplicación (TCP SEGMENT)
es pasado hacia arriba a la aplicación de red basada en el valor del
puerto en el encabezado del UDP Si el TCP SEGMENT llega a TCP, el mensaje
de la aplicación es pasado hacia la aplicación de la red basada en el
valor del encabezado TCP

Multiplexing hacia abajo es mas simple de realizar por que de cada punto
de partida solo hay un camino hacia abajo; cada modulo añade la

información al encabezado del paquete (packet) para que el paquete
pueda ser De-multiplexed en el servidor destinatario.

Los datos pasando fuera de las aplicaciones a través del TCP o UDP
convergen en el modulo IP y es enviado hacia abajo a través del manejador
de la parte baja de la red.

A pesar de que la tecnología Internet soporta varios medios de red,
Ethernet es usado para todos los ejemplos en este tutorial por que es la

mas común red física usada bajo IP. El sistema en la figura 1 tiene una
sola conexión Ethernet. La dirección Ethernet de 6 bytes es única para
cada interfase en una Ethernet y esta localizada en la interfaz baja del
manejador de Ethernet.

El sistema también tiene una dirección IP de 4 bytes. Esta dirección esta
localizada en la interfaz baja del modulo IP. La dirección IP debe ser
única para cada Internet.

Un sistema en marcha siempre sabe su dirección IP y Ethernet.

2.4 Dos Interfaces de Red

Si un sistema esta conectado a 2 Ethernets separados lo está como en la figura 3

----------------------------
| Aplicaciones de Red |
| |
|... \ | / .. \ | / ...|
| ----- ----- |
| |TCP| |UDP| |
| ----- ----- |

| \ / |
| -------- |
| | IP | |
| ----- -*----*- ----- |
| |ARP| | | |ARP| |
| ----- | | ----- |
| \ | | / |
| ------ ------ |
| |ENET| |ENET| |

| ---@-- ---@-- |
----------|-------|---------
| |
| ---o---------------------------
| Cable Ethernet 2
---------------o----------
Cable Ethernet 1

Figura 3.Nudo de Red TCP/IP en 2 Ethernets

Nótese que este sistema tiene 2 direcciones Ethernet y 2 IP

Se puede ver en esta estructura que para los sistemas con mas de una
interfaz de red física, el modulo IP es un N-a-M multiplexer y un M-a-N
de-multiplexer a la vez.

1 2 3 ... n 1 2 3 ... n
\ | | / | \ | | / ^
\ | | / | \ | | / |
------------- flujo ---------------- flujo

|multiplexer| de |de-multiplexer| de
------------- datos ---------------- datos
/ | | \ | / | | \ |
/ | | \ v / | | \ |
1 2 3 ... m 1 2 3 ... m

Figura 4. n-a-m multiplexer and m-a-n de-multiplexer

Puede realizar el multiplexing en cualquier dirección para acomodar los
datos hacia adentro y hacia afuera. Un modulo IP con mas de una interfaz
de red es mas compleja que el ejemplo original por que puede mandar datos
a la siguiente red. Los datos pueden llegar a cualquier interfaz de red
y ser mandados a cualquier otra.

TCP UDP
\ /
\ /

--------------
| IP |
| |
| --- |
| / \ |
| / v |
--------------
/ \
/ \
entrada salida

de datos de datos

Figura 5. Ejemplo de un IP mandando un paquete(packet) IP

El proceso de mandar un paquete IP hacia otra red es llamado 'forwarding'
un paquete IP. Una computadora que ha sido dedicada a la tarea de
'forwarding' paquetes IP se le denomina un "ruteador(router)-IP".

Como se puede ver en la figura, el paquete IP mandado nunca toca los
módulos TCP y UDP en el ruteador-IP. Algunas implementaciones de los
ruteadores-IP no tienen un modulo TCP o UDP.

2.5 IP crea una sola red lógica.

El modulo IP es central a el suceso de la tecnología Internet. Cada

modulo o manejador añade un encabezado al mensaje mientras este pasa
hacia abajo por la 'escalera' (stack) de protocolos. Cada modulo o
manejador le‚ el correspondiente encabezado del mensaje mientras este
sube por la 'escalera' de protocolos hacia la aplicación. El encabezado
IP contiene la dirección IP, que constituye una sola red lógica de
múltiples redes físicas. Este interconexión de redes físicas es la fuente
del nombre: Internet. Un set de redes físicas interconectadas que limitan

el rango de un paquete IP se llama "internet".

2.6 Independencia de redes físicas

IP esconde el hardware de la red de las aplicaciones de la red. Si in-
ventásemos una nueva red física, podríamos ponerla en servicio implemen-
tando un nuevo manejador que conecte a la internet abajo de la IP.Así,las
aplicaciones de la red permanecen intactas y no son vulnerables a los
cambios en la tecnología de hardware.

2.7 Interoperabilidad

Si dos computadoras en una internet se pueden comunicar, se dice que son
"interoperables"; si una implementacion de la tecnología internet es
buena, se dice que tiene "interoperabilidad". Usuarios de computadoras de
propósito general se benefician de la instalación de una internet por la
interoperabilidad de las computadoras en el marcado. Generalmente cuando
se compra una computadora, será interoperable. Si la computadora no tiene
interoperabilidad e interoperabilidad no puede ser añadida, ocupa un

espacio raro en el mercado.

2.8 Después de la Introducción

¿Con los datos anteriores establecidos, contestaremos las siguientes preguntas

¿Cuando se manda un paquete IP, como se determina la dirección Ethernet destinataria?

¿Como sabe la IP cual de las interfaces de redes múltiples usar cuando manda un paquete IP?

¿Como un cliente en una computadora alcanza al servidor en otra?

¿Porqué los protocolos TCP y UPD existen conjuntamente en lugar de uno o el otro?

¿Que aplicaciones de red están disponibles?
3. Ethernet

Esta sección es una revisión de la Tecnología Ethernet.

Una Cuadro Ethernet (Ethernet Frame) contiene la dirección destino, la dirección fuente, el tipo de campo y los datos.

Una dirección Ethernet es de 6 bytes. Cada dispositivo tiene su propia dirección Ethernet y esta espera cuadros Ethernet con esa dirección como destino. Todos los dispositivos esperan cuadros Ethernet con destinación 'comodín' es decir, dirigido a cualquier dispositivo, la dirección comodín es "FF-FF-FF-FF-FF-FF" (hexadecimal), se denomina una dirección anunciada (broadcast address).

Ethernet usa CSMA/CD (Carrier Sense and Multiple Acccess with Collision Detection). CSMA/CD significa que todos los dispositivos se comunican solo por un medio que solo puede transmitir uno a la vez, y que todos pueden recibir simultáneamente. Si 2 dispositivos tratan de transmitir a el mismo instante, la colisión es detectada y los 2 dispositivos esperan al azar (pero corto) periodo antes de empezar a transmitir nuevamente.

3.1 Una Analogía Humana

Una buena Analogía de lo que la tecnología Ethernet es un grupo de gente hablando en un pequeño y oscuro cuarto. En esta analogía el medio de la red física son las ondas de sonido en el aire en lugar de señales eléctricas en cable coaxial.

Cada persona puede escuchar las palabras cuando otra persona esta hablando (Carrier Sense). Todos en el cuarto pueden hablar (Múltiple Acces), pero ninguna de ellas se tarda hablando mas que los demás por buena educación. Si una de esas personas no tiene educación, se le pide que abandone el cuarto (ej. Un dispositivo alejado de la red).

Nadie habla mientras esta otra persona hablando. Pero si 2 personas empiezan a hablar en el mismo instante, cada una de ellas sabe lo que pasa por que escuchan algo que no han dicho (Collision Detection).

Cuando estas 2 personas notan lo que pasa, esperan un momento, luego una de ellas comienza a hablar. La otra escucha y espera a que termine antes de que empiece su discurso.

Cada persona tiene un nombre único (Dirección Ethernet Unica) para evadir la confusión. Cada vez que una de ellas habla, introduce el mensaje con el nombre de la persona a la que le esta hablando y con su propio nombre (Dirección Ethernet Destino y Dirección Fuente), ejemplo "Hola Jack, este es Jane,.blah...blah..blah". Si el originario del mensaje desea hablar a todos le diría "Hola a Todos" (Dirección Anunciada o Broadcast Address).
. ARP

Cuando se manda hacia afuera un paquete IP, ¿como es la dirección Ethernet destino determinada?

ARP (Address Resolution Protocol) es usado para trasladar direcciones IP a direcciones Ethernet. La Translación es hecha solo para los paquetes IP que van hacia afuera, por que aquí es cuando el encabezado IP y el encabezado Ethernet son creados.

4.1 ARP Tabla para Translación de Dirección

La translación es hecha como una tabla. La tabla, llamada tabla ARP es guardada en memoria y contiene una columna para cada computadora. Existe una columna para la dirección IP y una columna para la dirección Ethernet.

Cuando se Translada una dirección IP a una Ethernet, la tabla es buscada para encontrar una dirección IP idéntica. Lo siguiente es una tabla ARP:

------------------------------------
|dirección IP dir. Ethernet |
------------------------------------
|223.1.2.1 08-00-39-00-2F-C3|
|223.1.2.3 08-00-5A-21-A7-22|
|223.1.2.4 08-00-10-99-AC-54|

------------------------------------

TABLA 1. Ejemplo de una tabla ARP

Para escribir la dirección IP de 4 bytes se deben de colocar cada byte en decimal y separando los bytes con un punto. Cuando se escribe la dirección Ethernet de 6 bytes, se colocan cada byte en hexadecimal y separando los bytes con un signo de menos o un guión.

La tabla ARP es necesaria por que la dirección IP y Ethernet son seleccionadas independientemente; no se puede usar un algoritmo para transladar direcciones IP a Ethernet. La dirección IP es escogida por el por el manager de la red basado en la localización de la computadora en la Internet. Cuando la computadora es movida hacia una parte diferente de la Internet, su dirección IP deberá ser cambiada. La dirección Ethernet es escogida por el creador de la red basado en el espacio de la dirección Ethernet que ha sido dada por el creador. Cuando la interfaz del hardware de la tabla cambia, la dirección Ethernet cambia.

4.2 Escenario típico de translación

Durante una operación normal en una aplicación de red, como TELNET, se envía un mensaje de aplicación a TCP, después TCP envía el correspondiente mensaje TCP a el modulo IP. La dirección destino IP es conocida por la aplicación, el modulo TCP y el modulo IP. En este punto el paquete IP ha sido construido y esta listo para ser entregado a el controlador Ethernet, pero primero la dirección Ethernet debe ser determinada.

La tabla ARP es usada para ver la destinación Ethernet.

4.3 ARP SOLICITUD/RESPUESTA

La tabla ARP es completada automáticamente según se vaya necesitando.

Cuando una tabla ARP no puede ser usada para transladar una dirección suceden estas dos cosas:

1. Una paquete de solicitud ARP con una dirección Broadcast Ethernet -es
decir, a todos los componentes de la red- es enviado a cada computadora.

2. El paquete IP es marcado para futuro envío.

Cada computadora en la interfaz Ethernet recibe el cuadro Ethernet por ser enviado a la dirección 'anunciada' (broadcast). Cada manejador Ethernet examina el tipo de campo en el cuadro Ethernet y pasa el paquete ARP a el modulo ARP. El paquete de solicitud ARP dice "Si tu dirección IP es igual a la dirección IP destino, entonces dime tu dirección Ethernet". Un paquete de solicitud ARP es algo así:

------------------------------------------------

|Dirección IP Destino 223.1.2.1 |
|Dirección Ethernet Remitente 08-00-39-00-2F-C3|
------------------------------------------------
|Dirección IP Destino 223.1.2.2 |
|Dirección Ethernet Destino |
------------------------------------------------

TABLA 2. Ejemplo de una solicitud ARP

Cada modulo ARP examina su dirección IP y si la dirección IP destino coincide con su propia dirección IP, le envía una respuesta directamente a la dirección Ethernet fuente. El paquete ARP respuesta dice "Si, esa es mi dirección IP, déjame darte mi dirección Ethernet".Un paquete de respuesta ARP tiene el campo remitente/destinatario al revés que la solicitud. El paquete se ve algo así:

------------------------------------------------
|Dirección IP Remitente 223.1.2.2 |

|Dirección Ethernet Remitente 08-00-28-00-38-A9|
------------------------------------------------
|Dirección IP Destino 223.1.2.1 |
|Dirección Ethernet Destino 08-00-39-00-2F-C3|
------------------------------------------------

TABLA 3. Respuesta ARP

La respuesta es recibida por la computadora que lo envío originalmente.
El controlador Ethernet se fija en campo en el cuadro Ethernet y luego pasa el paquete ARP a el modulo ARP. El modulo ARP examina el paquete ARP y añade la dirección IP remitente y destinatario a la tabla ARP.

La tabla quedaría así:

-----------------------------------
|Dirección IP Dirección Ethernet|
-----------------------------------

|223.1.2.1 08-00-39-00-2F-C3|
|223.1.2.2 08-00-28-00-38-A9|
|223.1.2.3 08-00-5A-21-A7-22|
|223.1.2.4 08-00-10-99-AC-54|
-----------------------------------
TABLA 4. Tabla ARP después de la respuesta

4.4 La Continuación del Escenario

La nueva translación ha sido instalada automáticamente en la tabla, solo microsegundos después de que se necesitaba. Como puedes recordar de el paso 2 arriba, el paquete IP era marcado para futuro envío. Ahora, la dirección IP era transladada a la dirección Ethernet simplemente observando la tabla ARP y luego el cuadro Ethernet es transmitido a la Ethernet.

Así, con los nuevos pasos 3, 4, y 5, el escenario para la computadora que envía (remitente) es:

1. Un paquete de petición ARP es enviado con una dirección anunciada y
es enviado a todas las computadoras de la red.

2. El paquete IP era marcado para futuro envío.

3. La respuesta ARP llega con la dirección IP-a-Ethernet para la tabla.

4. Para el paquete IP marcado para futuro envío, la tabla es usada para
transladar la dirección IP a Ethernet.

5. El cuadro Ethernet es transmitido a la Ethernet.

En breve, cuando la translación hace falta en la tabla ARP, una paquete IP es detenido y se espera a que responda una computadora a la solicitud ARP. La información necesaria para la translacion es rápidamente completada y el paquete IP es transmitido.

Cada computadora tiene una tabla ARP separada de cada interfaz Ethernet.
Si la computadora destino no existe, no habrá ninguna respuesta ARP y la tabla ARP no será completada. IP descartara el paquete IP enviado a esa dirección. Los protocolos de la parte alta de la Ethernet no pueden diferencias entre una Ethernet rota y la falta de una computadora con la dirección IP destino.
5. Protocolo Internet

El modulo IP es central en la tecnología Internet y la esencia de IP es su tabla ruteadora. IP usa su tabla en-memoria para hacer todas las decisiones acerca de la ruta de un paquete IP. El contenido de la tabla ruteadora es definido por el administrador de la red. Un error en esa tabla bloquea la comunicación.

Para entender como una tabla ruteadora es usada es necesario entender el trabajo entre redes llamado internetworking. Este entendimiento es necesario para la administración y mantenimiento satisfactorio de una red IP.

La tabla ruteadora es mejor entendida si primero se tiene una vista de el ruteado, después aprendiendo acerca de las direcciones IP de las redes y por ultimo comprender los detalles.

5.1 Ruteado Directo

La figura de abajo es una internet pequeña con 3 computadoras: A, B, y C.
Cada computadora tiene la misma escalera de protocolos TCP/IP como se ve en la figura 1.
Cada interfaz Ethernet tiene su propia dirección Ethernet. Cada computadora tiene su dirección IP asignada a la interfaz por el administrador de la red, quien también ha asignado un numero IP a la Ethernet.

A B C
| | |
--o------o------o--
Ethernet 1
Desarrollo de una red IP

Figura 6. Una red IP

Cuando A envía un paquete IP a B, el encabezado IP contiene la dirección IP de la computadora A y el encabezado contiene la dirección Ethernet de A como la dirección Ethernet fuente. También, el encabezado IP contiene la dirección IP de B como la dirección destino y el encabezado Ethernet contiene la dirección Ethernet de B como la dirección destino.

------------------------------------------
| Dirección Fuente Destino |

------------------------------------------
| Encabezado IP A B |
| Encabezado Ethernet A B |
------------------------------------------

TABLA 5. Direcciones en un cuadro Ethernet para un paquete IP
de A dirigido a B

Para este simple caso, IP esta en el punto mas alto por que IP añade poco servicio ofrecido por la Ethernet. De cualquier manera. IP añade costo: El tiempo extra de procesamiento del CPU y el ancho de banda a generar, transmitir y crear el encabezado IP.

Cuando el modulo IP de la computadora B recibe el paquete de A, chequea la dirección IP destino con su propia dirección buscando que sean iguales, después pasa el datagrama los protocolos de mas alto nivel.

Esta comunicación entre A y B usa ruteado directo.

5.2 Ruteado Indirecto

La figura de abajo es una vista mas realística de una Internet. Esta compuesta de 3 Ethernets y 3 direcciones IP conectadas por un ruteador IP llamado computadora D. Cada una de las 3 redes tiene 4 computadoras; cada computadora tiene su propia dirección Ethernet e IP.

A B C ----D---- E F G
| | | | | | | | |
--o------o------o------o- | -o------o------o------o--

Ethernet 1 | Ethernet 2
"Desarrollo" de la red IP | red IP "Contabilidad"
|
|
| H I J
| | | |
--o-----o------o------o--
Ethernet 3
red IP "Fabrica"

Figura 7. Tres redes IP; una Internet.

Con excepción de la computadora D, cada computadora tiene la 'escalera' de protocolos igual que en la figura 1. La computadora D es el ruteador IP y esta conectada a las 3 redes y por eso tiene 3 direcciones IP y 3 direcciones Ethernet. La computadora D tiene la 'escalera' de protocolos similar a la figura 3, excepto que tiene 3 módulos ARP y 3 controladores Ethernet en lugar de 2. Cabe notar que la computadora D solo tiene un modulo IP.

El administrador de la red ha asignado un numero único llamado 'numero IP de red' para cada una de las Ethernets. Los números IP de red no son mostrados en este diagrama, solo los nombres de red.

Cuando la computadora A envía un paquete IP a la computadora B, el proceso es idéntico a el ejemplo de la red sencilla. Cualquier comunicación entre las computadoras localizadas en una red IP sencilla es idéntica a el ejemplo de ruteado discutido previamente.

Cuando las computadoras D y A se comunican, se llama comunicación directa.
Cuando las computadoras D y E se comunican, se llama comunicación directa.
Cuando las computadoras D y H se comunican, se llama comunicación directa.

Esto es por que cada uno de estos pares de computadoras están en la misma red IP.

De cualquier manera, cuando la computadora A se comunica con una computadora del otro lado del ruteador IP, la comunicación no es directa. La computadora A debe usar D para enviar el paquete IP a la siguiente red. Esta comunicación se llama "indirecta".

Este ruteado de paquetes IP es hecho por los módulos IP y transcurre transparentemente a TCP, UDP, y a las aplicaciones de red.

Si A envía un paquete IP a E, la dirección remitente IP y la dirección remitente Ethernet son las de A. La dirección IP destino es E, pero por que el modulo IP de A envía el paquete a D para que lo dirija, la dirección Ethernet destino es la de D.

------------------------------------
|Dirección Remitente Destino |
------------------------------------
|IP header A E |
|Ethernet header A D |
------------------------------------

TABLA 6. Direcciones en un cuadro Ethernet de un paquete IP de A
a E (pasando por D)

El modulo IP de D recibe el paquete después de examinar la dirección IP destino y dice "Esta no es mi dirección IP," y envía el paquete IP directamente a E.

--------------------------------------
|Dirección Remitente Destino |
--------------------------------------
|Encabezado IP A E |
|Encabezado Ethernet D E |
--------------------------------------

TABLA 7. Direcciones en un cuadro Ethernet para un paquete IP
de A a E (después de D)

En sumario, para comunicación directa, ambas direcciones remitente IP y la dirección remitente Ethernet es la dirección de la computadora que envía y la dirección IP destino es la de el recipiente. Para comunicación indirecta, la dirección IP y la dirección Ethernet no coinciden en esta manera.

Este ejemplo de internet es muy simple. Las verdaderas redes son regularmente complicadas por muchos factores, resultando en múltiples ruteadores IP y distintos tipos de redes físicas. Este ejemplo de internet puede realizarse en el caso de que el administrador de la red quisiera dividir el trafico de la red en orden de localizar el trafico Ethernet.

5.3 Direcciones IP

El administrador de la red asigna una dirección IP a las computadoras de acuerdo con la red IP a las que la computadora este conectada. Una parte de la dirección de 4 bytes es la dirección IP de red, la otra parte es el numero IP de la computadora (o numero de host). Para la computadora en la tabla 1, con una dirección IP de 223.1.2.1, el numero de red es 223.1.2 y el numero Host es numero 1.

La porción de las direcciones que es usado para el numero de red y para el numero de Host es definido por los primeros bits en la dirección de 4 bytes. Todos los ejemplos de direcciones IP en este tutorial son de clase C, significa que los 3 primeros bits indican que 21 bits son el numero de la red y los 8 bits son el numero Host. Esto permite 2,097,152 redes clase C con mas de 254 Host en cada red.

El espacio de la dirección IP es administrado por el NIC -Network Information Center-. Todas las Internets que estén conectadas a la única Internet Mundial deben usar números asignados por NIC. Si estás preparando tu propia Internet y no tienes planeado conectarla a la Internet mundial, de todas maneras debes obtener el numero de tu red por vía NIC. Si escoges tu propio número, corres el riesgo de confusión y caos en el momento que se conecte a la Internet Mundial.

5.4 Nombres

La gente se refiere a las computadoras por nombres no por números. Una computadora llamada Alpha puede tener la dirección IP de 223.1.2.1. Para redes pequeñas, esta translación de nombre a dirección es tenida en cada computadora de el archivo "hosts". Para redes mas grandes, esta translación esta guardada en un servidor accesado desde la red cuando se necesite. Unas pocas líneas de este archivo se verían así:

223.1.2.1 alpha
223.1.2.2 beta

223.1.2.3 gamma
223.1.2.4 delta
223.1.3.2 epsilon
223.1.4.2 iota

La dirección IP es la primera columna y el nombre de la computadora es la segunda columna.

En la mayoría de los casos, puedes instalar archivos "hosts" idénticos en todas las computadoras. Puedes darte cuenta que "Delta" tiene solo una entrada en este archivo a pesar de tener 3 direcciones IP. Delta puede ser alcanzada con cualquier de sus dirección IP; sin importar cual sea usada. Cuando delta recibe un paquete IP revisa la dirección destino, y reconocerá cualesquiera de sus 3 direcciones IP.

Las redes IP también tienen nombres. Si tienes 3 redes IP, el archivo "networks" que documenta estos nombres se vería algo así:

223.1.2 desarrollo
223.1.3 contadora
223.1.4 fabrica

El numero IP de la red está en la primera columna y su nombre en la segunda.

Desde este ejemplo se puede ver que alpha es la computadora 1 en el desarrollo de la red, beta es la computadora numero 2 en el desarrollo de la red y así. También se puede decir que alpha es desarrollo.1, Beta es desarrollo.2, y así.

La lista de archivo HOST mostrada es adecuada para los usuarios, pero el administrador de la red probablemente reemplazará la línea para delta con:

223.1.2.4 devnetrouter delta
223.1.3.1 facnetrouter
223.1.4.1 accnetrouter

Estas nuevas 3 líneas para el archivo hosts le dan a cada una de las direcciones IP de delta un nombre con significado.

5.5 Tabla ruteadora IP

Cuando IP necesita saber que interfaz de red ha de usar para mandar un paquete IP se fija en la tabla ruteadora usando una llave de búsqueda extraída de la dirección IP destino.

La tabla de rutas o ruteadora contiene una columna para cada ruta. Las columnas primarias en la tabla son: numero IP de red, bandera directo/indirecto, dirección IP ruteadora y el numero de interfaz. Esta tabla es usada por cada paquete IP que sale de la red.

En la mayoría de las computadoras la tabla ruteadora puede ser modificada con la el comando "route". El contenido de la tabla de rutas es definido por el administrador de la red por que el asigna las dirección IP a las computadoras.

5.6 Detalles del ruteado indirecto

--------- ---------
| alpha | | beta |
| 1 | | 1 |
--------- ---------
| |
--------o---------------o-
Ethernet 1
Red IP "Desarrollo"

Figura 8. Vista cercana de una red IP

La tabla de rutas se ve así:

----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
| Desarrollo directo 1 |
----------------------------------------------------------------

TABLA 8. Ejemplo de una simple tabla ruteadora

Esta vista puede ser observada en algunos sistemas UNIX con el comando "netstat -r". Con esta red simple, todas las computadoras tienen tablas ruteadoras idénticas.

Para la discusión, la tabla es otra vez impresa con el nombre de red transladado a su numero de red.

----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------

|223.1.2 direct 1 |
----------------------------------------------------------------

TABLA 9. Ejemplo simple de una tabla ruteadora con números.

5.7 Escenario Directo

Alpha le esta enviando un paquete IP a beta. El paquete IP están en el modulo IP de beta y la dirección destino es beta o 223.1.2.2. IP extrae la porción de la red de la dirección IP y busca la primera columna buscando que sean iguales. Con esta red el primer dato es encontrado y añadido en la primera entrada.

La otra información en esta entrada indica qué computadoras en esta red pueden ser alcanzadas directamente a través de la interfaz 1. Una tabla de translacion ARP termina en la dirección beta IP y luego el cuadro Ethernet es mandado directamente a beta vía interfaz numero 1.

Si una aplicación trata de mandar datos a una dirección IP que no esta en el desarrollo de la red, IP no podrá encontrar en la tabla de rutas la dirección IP y el paquete es descartado. Algunas computadoras proveen con un mensaje de error.

5.8 Detalles del Ruteado Indirecto

Ahora examinaremos más de cerca a los complicados mecanismo de ruteo que son usados para el escenario examinado previamente.

--------- --------- ---------

| alpha | | delta | |epsilon|
| 1 | |1 2 3| | 1 |
--------- --------- ---------
| | | | |
--------o---------------o- | -o----------------o--------
Ethernet 1 | Ethernet 2
Red IP "Desarrollo" | Red IP "Contabilidad"
|
| --------

| | iota |
| | 1 |
| --------
| |
--o--------o--------
Ethernet 3
Red IP "Fabrica"

Figura 9. Vista de cerca de las 3 redes IP

La tabla ruteadora dentro de alpha se ve así:

----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
| Desarrollo Directo 1 |
| Contabilidad Indirecto devnetrouter 1 |
| Fabrica Indirecto devnetrouter 1 |

----------------------------------------------------------------

TABLA 10. Tabla de rutas de alpha

La tabla de rutas se ve así con números en lugar de nombres:

----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
|223.1.2 directo 1 |
|223.1.3 indirecto 223.1.2.4 1 |
|223.1.4 indirecto 223.1.2.4 1 |

----------------------------------------------------------------

TABLA 11. Tabla de rutas de alpha con números

El ruteador en la tabla de rutas de alpha es la dirección IP de la conexión de Delta con la red desarrollo.

5.9 Escenario Indirecto

Alpha envía un paquete IP a epsilon. El paquete IP esta en el modulo IP y la dirección destino IP es epsilon (223.1.3.2). IP extrae la porción de la red de la dirección IP (223.1.3) y busca la primera columna de la tabla buscando una dirección igual. Una dirección es encontrada igual en la segunda entrada (ver cuadro).

Esta entrada indica que las computadoras en la red 223.1.3 pueden ser alcanzadas mediante el ruteador-IP devnetrouter. El modulo IP entonces envía una tabla de translación ARP a la dirección IP de devnetrouter y envía el paquete IP directamente a devnetrouter a través de la interfaz alpha numero 1. El paquete IP sigue conteniendo la dirección IP destino de epsilon.

El paquete IP llega a la interfaz desarrollo de la red delta y es pasado a el modulo IP de delta. La dirección IP destino es examinada y por que no es igual a ninguna de las direcciones propias de delta, decide pasar el paquete IP.

El modulo IP de delta extrae la porción de la red de la dirección destino IP (223.1.3) y busca en su tabla de rutas por una red que sean iguales. La tabla de rutas de delta se vería así:

----------------------------------------------------------------

| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
| Desarrollo directo 1 |
| Fabrica directo 3 |
| Contabilidad directo 2 |
----------------------------------------------------------------

TABLA 12. Tabla de rutas de Delta

Abajo esta la tabla de rutas de delta de nuevo, en números.

----------------------------------------------------------------
| Red directo/indirecto ruteador numero de interfaz|
----------------------------------------------------------------
|223.1.2 directo 1 |
|223.1.3 directo 3 |
|223.1.4 directo 2 |

----------------------------------------------------------------

TABLA 13. Tabla de rutas de Delta con números

En la segunda entrada se encuentra la dirección IP buscada. IP envía el paquete IP a epsilon a través de la interfaz numero 3. El paquete IP contiene la dirección destino de epsilon y la dirección destino Ethernet del epsilon.

El paquete IP llega a epsilon y es pasado hacia la el modulo IP de epsilon. La dirección IP destino es examinada y se encuentra la dirección destino, así que el paquete es pasado a los protocolos de la parte alta.

5.10 Sumario de Ruteo

Cuando un paquete IP viaja a través de una larga internet tal vez pasara por varios ruteadores-IP antes de llegar a el destino. El camino que toma para llegar no esta determinado por una central fuente pero es el resultado de consultar cada una de las tablas de ruteo usadas en el camino. Cada computadora define solo el próximo brinco en el camino y se basa en esa computadora para enviar el paquete IP a su destino.

5.11 Administrando las rutas

Mantener el correcto funcionamiento de las tablas ruteadoras en una gran Internet es un trabajo complicado; la configuración de una red esta siendo modificada constantemente por los administradores de la red por distintas razones. Errores en las tablas de ruteo bloquean la comunicación en formas que son tediosas de diagnosticar.

Cuando una computadora es movida de una red IP a otra, su dirección IP debe ser cambiada. Cuando una computadora es removida de una red IP su vieja dirección se vuelve invalida. Estos cambios requieren modificaciones frecuentes a el archivo "HOSTS".
6. USER DATAGRAM PROTOCOL (UDP)

UDP es uno de los principales protocolos que residen en la cima de IP. Ofrece servicio a las aplicaciones de red. Algunas aplicaciones de red que usen UDP son: Network File System (NFS) y Simple Network Management Protocol (SNMP). Este servicio es poco mas que una interfaz a IP.

UDP es un servicio sin conexión de entrega de datagramas que no garantiza su llegada. UDP no mantiene una conexión de un extremo al otro con el modulo UDP destino; solamente empuja el datagrama fuera de la red y acepta los datagramas que llegan fuera de la red.

UDP añade dos valores a lo que es dado por IP. Uno es la capacidad de multiplexing (varias salidas para una entrada) de la información entre las aplicaciones basadas en el numero de puerto. La otra es un chequeo para ver la integridad de los datos.

6.1 Puertos

Como una computadora cliente alcanza el servidor en otra computadora?

El camino en la comunicación entre una aplicación y UDP es a través de puertos UDP. Estos puertos están numerados empezando de cero. Una aplicación que ofrezca un servicio (el servidor) espera por los mensajes que lleguen por un puerto especifico dedicado a ese servicio. El servidor espera pacientemente por cualquier cliente que pida servicio.

Cuando una aplicación envía datos a través de UDP, llega al final como una unidad simple. Por ejemplo, si una aplicación hace 5 escrituras a el puerto UDP, la aplicación destino hará 5 lecturas de el puerto UDP. Además, el tamaño de cada escritura es igual a el tamaño de cada leída.

UDP mantiene la barrera de el mensaje definida por la aplicación. Nunca une dos mensajes de aplicación juntos, o divide una simple aplicación en partes.

6.2 Checksum

El checksum es la capacidad de comprobar si los datos recibidos están en las condiciones que los datos enviados.

Un paquete IP con un encabezado IP indicando "UDP" es pasado a el modulo UDP por IP. Cuando el modulo UDP recibe el datagrama UDP de IP examina el Checksum UDP. Si el checksum es cero, significa que el checksum no fue calculado por el remitente y puede ser ignorado. Esto significa, que el modulo UDP de la computadora que envía puede o no crear checksums.

Si el checksum es valido (o cero), el puerto destino es examinado y si una aplicación esta esperando en ese puerto, una mensaje de aplicación es enviado a la aplicación. De otra forma el datagrama UDP es descartado.
7. Protocolo del Control de Transmisión

TCP ofrece un servicio diferente a UDP. TCP ofrece una conexión orientada por una corriente de bytes, en lugar de un datagrama sin conexión. TCP garantiza la entrega, UDP no.

TCP es usado en las aplicaciones de red que requieren la entrega garantizada y no puede ser aburrida haciendo retransmisiones o esperas. Las aplicaciones típicas que mas usan TCP son File Transfer Protocol (FTP) y TELNET. La gran reliabilidad de TCP tiene un coste, requiere mas trabajo del CPU y ancho de banda. El funcionamiento interno de TCP es mas complicado que esos en un modulo UDP.

Similar a UDP, las aplicaciones de red se conectan a puertos TCP.Los puertos bien definidos están dedicados a aplicaciones especificas. Por ejemplo, el servidor TELNET usa el puerto 23. El cliente TELNET puede encontrar el servidor simplemente conectándose a el puerto 23 de TCP en una computadora especifica.

Cuando una aplicación empieza usando TCP, el modulo TCP en la computadora cliente y el modulo TCP en el servidor empiezan la comunicación entre ellas.

Como todos los protocolos de ventanas, el protocolo tiene un tamaño de ventana. El tamaño de la ventana determina la cantidad de datos que pueden ser transmitidos antes de que se reciba la sedal de que han sido recibidos. Para TCP, esta cantidad no se mide en segmentos TCP sino en bytes.
8 Que aplicaciones de red están disponibles

Existen demasiadas aplicaciones de red como para listarlas. El número está creciendo continuamente. Algunas aplicaciones han existido desde el principio de la tecnología internet como FTP y TELNET. Otras son relativamente nuevas como X-Windows y SNMP. La siguiente lista menciona una breve descripción de las aplicaciones mencionadas en este trabajo.

8.1 TELNET

Telnet ofrece la capacidad de entrar (login) a un sistema remoto en TCP. La operación y apariencia es similar a un teclado marcando a través de un switch telefónico. En la línea de comandos en usuario escribe "telnet delta" y recibe un login prompt de la computadora llamada "delta".

8.2 FTP

File Transfer Protocol (FTP), tan viejo como TELNET, también usa TCP y ha tenido bastante popularidad. FTP permite copiar archivos entre computadoras.

8.3 SNMP

Simple Network Management Protocol (SNMP) usa UDP y esta diseñado para ser usado por las estaciones centrales de mantenimiento. Es un factor conocido que si se le ofrece suficiente información, un manager de red puede detectar y diagnosticar problemas en la red. La estación central usa SNMP para recibir la información de otras computadoras en la red. SNMP define el formato de los datos; es dejado a la estación central o manager de la red el interpretar los datos.

8.4 X-Window

El sistema X Window usa el protocolo X Window en TCP para dibujar ventanas en una estación de trabajo usando BITMAP. X Window es mucho mas que una simple utilidad para dibujar ventanas; es una filosofía entera para diseñar una interfaz de usuario.
9. Bibliografía

Para la realización del presente trabajo para el crédito de Desarrollo de funciones del sistema informático, he consultado las siguientes direcciones:

htt://www.microsoft.com/tcp_ip

El libro:
Redes Globales de información con Internet y TCP/IP
Autor: Douglas E. Comer
Editorial Prentice Hall

QUE SON Y PARA QUE SIRVEN LAS IP

kolomusic2007 @ 16:46

1.-Introducción

Lo que tratara este tutorial es información útil para los profesionales que trabajen en un ambiente TCP/IP, estos profesionales pueden ser los administradores de sistemas, los programadores de sistemas, los managers de redes y para el usuario con ganas de entender la tecnología Internet.
Este tutorial usa ejemplos del protocolo TCP/IP de UNIX, de cualquier manera los puntos principales aplican a todas las implementaciones del protocolo TCP/IP.

1.1 Qué es TCP/IP

TCP/IP es un conjunto de protocolos, en total más de 100 protocolos, que proporcionan las reglas para comunicarse. En un protocolo es donde se contienen los detalles de los formatos de los mensajes, y describen como responde una computadora cuando llega un mensaje, especificando cómo maneja el error un PC u otras condiciones no normales. Permite reflexionar sobre la comunicación por computadora de manera independiente del hardware de red de cualquier marca.
TCP (Protocolo de Control de Transmisión) e IP (Protocolo de Internet), el IP se encarga de la transmisión de datos y el TCP asegura que todo funcione correctamente, dividiendo la información a enviar en paquetes, y añadiendo a cada paquete los caracteres de control de errores.

Estos paquetes, a los que llamaré socket’s se envían a la red, y el IP lo transporta hasta el host remoto (destino), al otro extremo, TCP recibe los paquetes y comprueba si no hay errores. Si hubiese un error, TCP pide que se le vuelva a enviar el socket, encargándose de buscar la mejor ruta y asegurándose de que la información llegue en buen estado.
El conjunto de protocolos que componen el TCP/IP abarca los 7 niveles OSI, y como historia que predeterminó su trayecto podríamos decir que se adoptó para la red ARPANET, del Dpto. de defensa de los EE.UU. a principios de 1970. Y en 1980 se le incluyó en la versión UNIX 4.2 de BARKELEY, siendo en 1983 el protocolo militar estándar en EE.UU.

Se hizo popular rápidamente gracias a su independencia del fabricante, a que soporta múltiples tecnologías, a que puede funcionar en máquinas de todo tamaño (multiplataforma), y a que su uso mayoritario actualmente en Internet le ha vuelto tan popular.

Las redes locales

Permiten compartir recursos, como podría ser la impresora, el módem o el HD entre todos los ordenadores conectados a la red.
Existen distintas terminología de redes de área local, aunque la más extendida es la Ethernet, la token Ring, SNA, DECNET...

Contactar con la autora o autor | Archivo | ¡Crea tu Blog Ya! Fácil y Gratis