lunes, 18 de febrero de 2008

Programación Shell (parte 2)

Asran [asran@isppr.rimed.cu]

Como lo prometido es deuda, aquí traigo la continuación del artículo anterior. Estructuras de control en la programación batch o de ficheros por lotes.

Estructuras condicionales:

IF Permite la ejecución condicional.[ya lo sabemos] aquí hacemos una descripción en función del lenguaje batch o shell.

Sintáxis
If [NOT] <Condición> <acción>

Donde:
IF es un palabra reservada
NOT palabra reservada que actúa normalmente como operador de negación lógica
<Condición> normalmente es la condición a evaluar pero puede estar dada por:
-La función del ERRORLEVEL <numero> que tornará el valor de veracidad de la condición si el código de error devuelto por el sistema es mayor o igual al numero especificado ejemplo:

IF ERRORLEVEL 126 exit
En este caso la acción a ejecutar: exit (comando de salida del DOS) pero solo si el código de error devuelto por el SO es mayor o igual que 126.

-La comparación de dos valores, ejemplo:
IF NOT string1==string2 pause
Como es evidente de ser verdadera la condición se producirá una pausa en la ejecución.
Nótese la presencia de la palabra reservada NOT (sirva como ejemplo de la misma).
-La palabra reservada EXIST específica si existe el fichero especificado por el argumento, ejemplo
IF NOT EXIST C:\autoexec.bat copy C:\autoexec.bat D:\
Dada la existencia del fichero autoexec.bat en el volumen C:\ se le haría una copia para D:\
<acción> Como hemos visto en los ejemplos anteriores la componente acción de la sintaxis es el comando a ejecutar de ser verdadero el valor veritativo de la condición. Recordar la acción del operador NOT.

CHOICE es una estructura condicional múltiple y funciona como tal, similar al case of de Pascal
Sintaxis
CHOICE [/C[:]letra] [/N] [/S] [/T[:]c,nn] [texto]

Puedes especificar un texto que aparecerá antes de la entrada de datos. No hace falta que lo entrecomilles, salvo que dicha cadena de texto incluya una barra /. Es un parámetro opcional.
Modificadores
/C[:]letra
Especifica las letras que indicarán las opciones del usuario. Si las especificas separadas por comas, aparecerán entre corchetes seguidas de un interrogante. Si no se especifican, se usara YN (si, no) por defecto.

/N
Evita que se muestre el prompt de usuario

/S
Hace que discrimine entre entrada de letras mayúsculas o minúsculas.

/T[:]c,nn
Introduce un tiempo de espera antes de ejecutar la acción por defecto. Con los siguientes posibles valores:

c
Señala que carácter será usado como opción por defecto después de nn segundos. Solo puedes indicar uno de los caracteres especificados con el modificador /C

nn
Indica el numero de segundos de pausa. Valores entre 0 y 99.

Estructuras iterativas:

Bueno el Shell de Microsoft (MS) solo cuenta con una estructura iterativa y es el ciclo finito FOR
FOR Ejecuta un comando sobre un grupo de archivos.

FOR %%variable IN (set) DO <commando>
%%variable %variable
Representa una variable que será reemplazada por su valor. FOR reemplazará %%variable o %variable con la cadena de caracteres especificados en SET hasta que el comando especificado se haya ejecutado sobre todos los archivos. %%variable se emplea con FOR dentro de archivos batch, y %variable desde la línea de comandos.

Variables
El signo % seguido de un numero (del 1 al 9) permite pasar parámetros al invocar nuestro archivo bat. Por ejemplo si tenemos un archivo saludo.bat con la línea echo Hola %1, si lo invocamos tecleando archivo.bat pepe presentará en pantalla Hola Pepe. Se usa por ejemplo para pasar nombres de ficheros a un bat que se encarga de borrarlos, moverlos, etc.

Estructuras de salto:

Bueno aquí como en todas partes existe GOTO
GOTO Salta la ejecución del programa hacia la línea indicada:

Sintaxis
GOTO <label>
Donde:
GOTO es una palabra reservada
Label es una etiqueta que identifica la línea con un máximo de 8 caracteres.

Nota: cuando se etiqueta un línea debe especificarse con dos puntos(:) ejemplo:
:et_1 tree
:et_2 ping infomed.sld.cu

Un poco más:

Como vera el amigo estamos ante un lenguaje de programación interpretado. Poco complejo. Pero aquí también se pueden comentar las líneas de comandos usando la palabra reservada REM o un doble dos puntos (::).

Bueno, espero haber cumplido la promesa, y saldado la deuda.

Continuar leyendo

Proxy

Pika [blackhat4all@gmail.com]

Cuando conseguimos una cuenta de infomed u otro ISP por lo normal viene acompañada de una configuración proxy, pero ¿Sabemos todos que significado tiene esa palabra? ¿Conocemos como trabajan? O ¿Cuál es su finalidad? De eso mismo trata este artículo, en el trataremos de brindar a los lectores toda la información necesaria para que sepan a que se enfrentan.

Proxy es una palabra inglesa que se puede traducir como intermediario, delegado o apoderado. Un proxy puede ser una persona autorizada para actuar en representación de otra persona, dentro de la misma informática, pero con un significado diferente al que conocemos, un proxy puede ser un teclado USB a través del cual se puedan conectar otros dispositivos USB. Como ven, proxy tiene muchos usos y significados, pero siempre es sinónimo de intermediario.

Para un protocolo de red, un proxy es una aplicación que corre bajo un host firewall y ejecuta servicios requeridos a través del firewall actuando como un "Gateway" (Puerta de Enlace). Los proxy dan la ilusión de una conexión directa punto a punto que en realidad no existe y dependiendo de su capacidad pueden interpretar el protocolo que manejan y dar mayor grado de control y vigilancia al administrador.

El uso mas común de un proxy es un Servidor Proxy, el cual permite la conexión de varios ordenadores a internet a través del ordenador donde esté instalado este, el mismo puede limitar la cantidad de servicios que serán usados, a través de un proxy se puede configurar el ancho de banda que tendrá cada usuario, el alcance de dominios, en el proxy se almacenan las trazas de todas las conexiones que se han realizado, permitiendo al administrador tener constancia de a que sitios están accediendo los usuarios, que tiempo de conexión mantienen, incluso que descargan de la red.

Ventajas

• Control. Sólo el intermediario hace el trabajo real, por tanto se pueden limitar y restringir los derechos de los usuarios, y dar permisos sólo al proxy.

• Ahorro. Por tanto, sólo uno de los usuarios (el proxy) ha de estar equipado para hacer el trabajo real.

• Velocidad. Si varios clientes van a pedir el mismo recurso, el proxy puede hacer caché: guardar la respuesta de una petición para darla directamente cuando otro usuario la pida. Así no tiene que volver a contactar con el destino, y acaba más rápido.

• Filtrado. El proxy puede negarse a responder algunas peticiones si detecta que están prohibidas.

• Modificación. Como intermediario que es, un proxy puede falsificar información, o modificarla siguiendo un algoritmo.

• Anonimato. Si todos los usuarios se identifican como uno sólo, es difícil que el recurso accedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplo cuando hay que hacer necesariamente la identificación.

Desventajas

• Abuso. Al estar dispuesto a recibir peticiones de muchos usuarios y responderlas, es posible que haga algún trabajo que no toque. Por tanto, ha de controlar quién tiene acceso y quién no a sus servicios, cosa que normalmente es muy difícil.

• Carga. Un proxy ha de hacer el trabajo de muchos usuarios.

• Intromisión. Es un paso más entre origen y destino, y algunos usuarios pueden no querer pasar por el proxy. Y menos si hace de caché y guarda copias de los datos.

• Incoherencia. Si hace de caché, es posible que se equivoque y dé una respuesta antigua cuando hay una más reciente en el recurso de destino.

• Irregularidad. El hecho de que el proxy represente a más de un usuario da problemas en muchos escenarios, en concreto los que presuponen una comunicación directa entre 1 emisor y 1 receptor (como TCP/IP).

Continuar leyendo

Firewall o Cortafuegos

Pika [blackhat4all@gmail.com]

Un Firewall puede ser igualmente un Software o un Hardware pero al final tiene el mismo propósito, controlar las comunicaciones permitiendo o denegando ciertas conexiones en dependencia de las políticas de la red a la cual pertenezca, mayoritariamente se sitúa entre la red local e internet, básicamente el firewall revisa cual es el servicio al que corresponde la conexión ya sea entrante o saliente y decide si es confiable permitirle el paso, dichos servicios pueden ser web, correo, IRC, etc. De esta forma un firewall puede permitir la salida de una red local hacia internet de los servicios web y correo, a la misma ves que deniega el IRC porque en las políticas de la red está previsto que el IRC no es necesario para dicha empresa.

Como dije anteriormente un firewall puede ser tanto software como hardware, puede ser un dispositivo conectado entre el modem y la red o puede ser un programa instalado en nuestro sistema operativo, así como también existen casos de potentes ordenadores conectados a la salida de una red cuyo único propósito es monitorear el flujo de la red generalmente a través de software especifico.

Un Firewall proporciona seguridad a una red informática, pero por ningún motivo debe considerarse suficiente, la seguridad informática abarca más ámbitos y mas niveles de protección.

Tipos de Firewall

Firewall de capa de Red o de filtrado de paquetes: Funciona a nivel de Red de la pila de protocolos TCP/IP como filtros de paquetes IP en este nivel se puede hacer filtros según los distintos campos IP: Dirección IP origen, Dirección IP destino, en ocasiones este tipo de firewall permite filtrados del nivel de transporte del TCP/IP, como el puerto de origen y destino, o a nivel de enlace de datos como la dirección MAC (todos estos niveles de las capas del protocolo TCP/IP fueron expuestos en mi articulo anterior basado en el protocolo TCP/IP).

Firewall de capa de aplicación: Trabaja en el nivel de aplicación del TCP/IP gracias a esto los filtrados se pueden adaptar a características propias de los protocolos de dicho nivel, ejemplo de esto es que en el trafico http se pueden realizar filtrados según la URL a la que se está intentando acceder, este tipo de firewall se denomina PROXY y permite que las computadoras de una organización entren a Internet de una forma controlada.

Firewall Personal: Software que se instala en una computadora personal filtrando las comunicaciones entre dicho ordenador y el resto de la red.

Ventajas de un Firewall

Protege de intrusiones: El acceso a ciertos segmentos de la red de una organización, solo se permite desde maquinas autorizadas de otros segmentos de la organización o de internet, si se puede validar que el usuario pertenece a dicha red.

Protección de Información Privada: Permite definir distintos niveles de acceso a la información de manera que en una organización cada grupo de usuarios definido tendrá acceso sólo a los servicios y la información que le son estrictamente necesarios.

• Optimización de Acceso: Identifica los elementos de la red internos y optimiza que la comunicación entre ellos sea más directa. Esto ayuda a reconfigurar los parámetros de seguridad.

Limitaciones de un Firewall

Un Firewall no puede proteger contra aquellos ataques que se efectúen fuera de su punto de operación.

El Firewall no puede proteger de las amenazas a que esta sometido por traidores o usuarios inconscientes. El Firewall no puede prohibir que los traidores o espías corporativos copien datos sensibles en medios físicos de almacenamiento (diskettes, memorias, etc.) y sustraigan éstas del edificio.

El Firewall no puede proteger contra los ataques de Ingeniería social.

El Firewall no puede proteger contra los ataques posibles a la red interna por virus informáticos a través de archivos y software. La solución real esta en que la organización debe ser consciente en instalar software antivirus en cada máquina para protegerse de los virus que llegan por cualquier medio de almacenamiento u otra fuente.

El Firewall no protege de los fallos de seguridad de los servicios y protocolos de los cuales se permita el tráfico. Hay que configurar correctamente y cuidar la seguridad de los servicios que se publiquen a Internet.

Políticas del Firewall

Hay dos políticas básicas en la configuración de un Firewall y que cambian radicalmente la filosofía fundamental de la seguridad en la organización:

Política restrictiva: Se deniega todo el tráfico excepto el que está explícitamente permitido. El firewall obstruye todo el tráfico y hay que habilitar expresamente el tráfico de los servicios que se necesiten.

Política permisiva: Se permite todo el tráfico excepto el que esté explícitamente denegado. Cada servicio potencialmente peligroso necesitará ser aislado básicamente caso por caso, mientras que el resto del tráfico no será filtrado.

La política restrictiva es la más segura, ya que es más difícil permitir por error tráfico potencialmente peligroso, mientras que en la política permisiva es posible que no se haya contemplado algún caso de tráfico peligroso y sea permitido por defecto.

Continuar leyendo

Algunos comandos del DOS

Alien [blackhat4all@gmail.com]

Para aquellos que gustan del trabajo en consola y carecen de documentos donde se ofrezca la ayuda relativa, pueden encontrar aquí reducida pero útil lista de comandos para el DOS.

Para muchos, dominar el MS-DOS puede que parezca algo absurdo y no dejan de tener razón, si luego de pedir ayuda sobre cada comando que está en la consola lo que se obtiene por resultado es un texto explicativo que poco ayuda a quien lo utiliza, sin contar que muchos de los comandos ni aparecen luego de un Help.

Un usuario normal de Windows podría necesitar algunas de estar órdenes en casos extremos, más si se trabaja con Win98 o 2000, si embargo al parecer a Microsoft se le olvidó poner algunas cositas como el Tracert o el Ping, tan utilizados en cosas referentes a las redes y en su lugar nos dio un cd, un dir o un md, que si bien pueden ser utilizados para realizar algunas gestiones de archivos, no son por esto los que más llaman la atención de los que tratan de ir un poco más allá.

Para los que no lo saben…

El MS-DOS es un programa, pero no uno cualquiera, sino uno de los más importantes que puede tener el sistema operativo. (Opinión personal).

Para los no conocedores, les diré que un sistema operativo está conformado por cientos o miles de subprogramas y cada uno se encarga de realizar una función determinada. Para un buen funcionamiento del sistema, todos estos programas deben trabajar entre si, ya sea compartiendo información o procesándola.
Pueden verlo de forma más evidente si relacionan a Windows (por poner un ejemplo), con una fábrica de calzado. No existe una persona que sea capaz de realizar el zapato en su totalidad, sino que un grupo se encarga de poner los cordones, otro de fabricar la suela, otro de hacer la horma, etc. Pero cada uno de estos grupos debe estar conectado con los demás, ya que el grupo que está haciendo los cordones debe saber cual es el tamaño de la horma, puesto que no es lo mismo hacer cordones para un zapato de bebé que para uno de una persona adulta. Así mismo sucede con la suela y en fin, con todas las partes que conforma el calzado como tal (disculpen si no se los nombres de esas partes, pero es que no me dio tiempo a pasar el curso de zapatero).

Un sistema operativo tiene un funcionamiento similar, pero teniendo en cuenta que es mucho más complejo que una zapatería (sin quitarle mérito a esta). A la hora de eliminar un archivo, lo que vemos es un menú con una opción que nos indica dicha acción, pero en el interior de la máquina, "alguien" debe verificar que el archivo se pueda borrar, "alguien" debe asegurarse que en la papelera exista espacio, "alguien" ejecutará la orden como tal y "alguien" comprobará que la orden fue ejecutada con éxito. (Quizás es más complejo que esto…)

La principal razón para esto es que es mucho más fácil crear varios programas de algunos cientos de líneas de código y que cada uno de estos realice una tarea determinada, antes que crear un programa principal que lo maneje todo, ya que en caso de un error, lograr identificar en que línea estuvo se convertiría en toda una hazaña, además que la actualización de una rutina conllevaría a la actualización del código completo.
 El MS-DOS funciona de esta manera, existe un programa principal que tiene unas cuantas opciones por defecto a las que se le denominan comandos internos y por la necesidad de ir actualizando o adaptando este programa a nuevos ambientes y entornos, se crean varios subprogramas a los que se les denomina comandos externos.

Un ejemplo de esto lo podemos ver fácilmente: ¿Alguien ha visto un archivo en la máquina que se llame cd.exe o cd.com?, no, y eso es porque este comando está implementado dentro del mismo command.com, es decir, es una función que el realiza de forma innata, no requiere para esto nada más que su sola presencia, sin embargo, si podemos encontrar otros como son el xcopy por ejemplo, que no es más que una variante mejorada del copy.

De esta forma, con el paso del tiempo, al DOS se le han añadido o eliminado comandos externos, ya sea por su poco uso o por la llegada de nuevos comandos que hacen ese trabajo y más.

Entrando en materia

No pienso hacer un listado de los comandos comunes como puede ser time, copy, type, ya que estos pueden ser vistos desde la ayuda y la complejidad de su uso no creo que sea tanta. Pero si me gustaría presentar algunos que, aunque puede que algunos de ustedes los utilicen, estoy casi convencido que la mayoría ni siquiera sabe de su existencia.

Sin haberme trazado un listado ordenado alfabéticamente o algo por el estilo, empezaré a nombrar y describir comandos de forma aleatoria, y para esto me gustaría empezar por uno que quizás a muchos le llame la atención:

Nota: Que conste que lo que ofrezco a continuación no es una ayuda, sino una descripción simple para que se tenga una idea, si alguien quiere hacer las pruebas con los comandos, debe ir a ejecutar en el menú inicio, teclear CMD y luego escribir el nombre del comando seguido por /?

Tracert: Este comando muestra la ruta que sigue un paquete en la red. Tiene a mí entender cierta relevancia, ya que ejecutándolo varias veces y dirigiéndolo hacia distintos lugares, nos permite hacer un mapa de una red en específico. Como todos los que nombraré luego, a este también se le pueden pasar parámetros para obtener un resultado más específico. También ofrece el tiempo que se demora en responder cada nodo por el cual pasa el paquete.

Ping: Este es un comando bastante conocido (espero) por muchos, y lo que hace es llamar a un server para ver si está "vivo" y en caso que lo esté, nos retorna la IP de dicho servidor y el tiempo que este se demoro en responder. Es quizás el primero que se debe ejecutar antes de hacer cualquier otra cosa en la red, ya que quizás el servidor no está disponible, y con esto nos evitamos pasar el trabajo de scanear la red y demás.

Net View: Este en especial era muy utilizado por mi y mis compañeros de trabajo bajo una simple red de cable invertido, y lo que permitía era ver cuales son los ordenadores conectados a dicha red y acceder a los mismos. No es la gran cosa pero …

Tasklist
: Sirve, como su nombre lo indica, para listar los procesos que se estén ejecutando en una computadora e incluso los de otra, siempre que esta esté conectada a nuestra red. Es útil si queremos saber que esta ejecutando Manolito, el que está sentado en el aula de al lado. Por lo general casi siempre va precedido por Taskkill.

Taskkill: No pienso que lleve mucha explicación. Básicamente lo que hace es cerrar un proceso ejecutándose en nuestra u otra PC. Como es lógico, primeramente el proceso a cerrar se debe estar ejecutando.

Runas: Permite ejecutar programas con privilegios que no tenemos. Es básicamente muy importante, ya que en a veces vemos al administrador de nuestra red jugando Quake y a nosotros nos lo quieren limitar.

Mem: Es un comando quizás poco utilizado, ya que su finalidad es la de mostrar la cantidad de memoria libre y disponible de un sistema, pero quizás si lo que se pretende es ejecutar una aplicación rápida, sencilla y que recopile información sobre una computadora, este comando podría perfectamente estar ligado a otros para conocer más el área en la que estamos trabajando.

Start: No es un comando de los que podríamos usar en una red para… Sin embargo es útil (al menos para mi), cuando estamos navegando desde el DOS y queremos abrir en Windows la ventana en la que estamos parados, para esto solo dejamos un espacio y colocamos un punto luego de escribir el comando.

Shutdown: Si eres administrador de una red y luego de aplicar un tasklist ves que se esta ejecutando el NFS en la xxx.xxx.xxx.xxx, no te tomes el trabajo de ir hasta la máquina para amenazar, simplemente ejecuta un msg mandando una advertencia y luego un shutdown pasándole los parámetros correctos.

Title: Si bien no es un comando con el que se puedan efectuar muchas cosas, si nos sirve para configurar el DOS de forma tal que sea más a nuestro gusto.

Color: Este no es un comando para hacer "súper trabajos" en redes, sino más bien algo que se le quedó al Billy en el DOS y que proviene directamente desde QBasic. Es una de esas cosas que se pueden utilizar para darle un "toque" más personal a nuestra consola.

Conclusiones:

No me veo a mi mismo como un salvador de las consolas, ni como alguien renuente a vivir el futuro, pero si soy de esos que ha tenido el placer de estar trabajando en los dos lados de la moneda: P-IV v/s Pentium. He sentido en mis manos tanto un PC como un cacharro y quisiera darle algunas opciones a esas personas que no tienen la posibilidad aún de tener una computadora último modelo, quiero que sientan la velocidad con que el DOS cambia de directorios y se hace más potente ante Windows.

Además de todos estos comandos, hace un tiempo se publicó un artículos en la edición 12 de BlackHat en el que se daba una explicación de como crear macros en MS-DOS. Ese texto, sumado a algunas cosas de este quizás puedan ayudar a hacer el trabajo más fácil para aquellos que se atreven a "cacharrear" un poquito dentro del sistema.

Como dije en un inicio estos no son todos los comandos del DOS, este potente lenguaje tiene muchas otras funciones ocultas aún. Ya en pasadas ediciones de BlackHat se han publicado artículos enfocados sobre este tema, espero que los que tienen esas ediciones encuentren en ellas lo que falta aquí, aunque como dije esto no es un texto para principiantes, sino para todos aquellos que ya tienen algo de conocimiento y quieren ir un poco más allá.

Espero que este artículo le haya sido útil a alguien y de ustedes y sus correos dependerá que no muy lejos en el tiempo se vuelva a tocar el tema.

Continuar leyendo

Explorando la red (parte 1)

Asran [asran@isppr.rimed.cu]

Me resulta bien interesante este tema de la exploración de la red. Y es que en ocasiones uno no tiene herramientas de escaneo de IP. Puede darse el caso de que alguien se conecte a la máquina que usamos causándonos algún retraso en nuestro trabajo y demás cuestiones y situaciones de lo cotidiano que se pueden resolver desde la consola de Windows sin necesidad de utilizar IP-Scanners, FireWall u otras herramientas.

Llamando al vecino... Comando ping

En ocasiones hacemos la solicitud de determinado servicio a algún host remoto y este no responde. Para saber si existe este, la dirección IP requerida por nosotros, o si esta disponible, tenemos el comando ping. Este funciona como si mandáramos un mensaje a la casa del vecino para saber si está y si lo podemos molestar.

Ping <IP>
Ejemplo: ping 10.0.0.1
Ping en la práctica

Conociendo las rutas… Comando tracert

Quizás sea de su interés conocer las rutas que recorren los paquetes desde su máquina hasta la cual se está conectando, para esto tenemos el comando traceert que nos brinda una ruta jerárquica de los nodos por los que tienen que pasar nuestros paquetes para llegar a su destino. Esto es muy importante a la hora de borrar algún tipo de huella. Necesitaríamos saber dónde tenemos que ir para hacer lo que tenemos que hacer.

Tracert <IP>
Ejemplo: tracert 10.0.0.1
Tracert en la práctica

Nota: siempre es bueno tener en cuenta a la hora de hacer un traceo, primero hacer un ping para saber si la dirección IP que buscamos es correcta, porque de lo contrario el comando se quedara buscando por defecto durante 30 ciclos, por lo que tendremos que esperar uno 10 minutos que pueden resultar preciosos si no estuviéramos esperando.

Revisando la puerta del fondo… netstat

Cuando nos decidimos conectar nuestra máquina a una red local veremos que nuestra mamaria será compartida de algún modo con los demás ordenadores conectados. Esto se puede explicar en otro articulo, ahora nos centraremos en cómo saber quíen o quíenes se están conectando a nuestra máquina causando la molestia de entorpecer el trabajo, ocasionando un decrecimiento en la velocidad de nuestro ordenador.

Netstat <parámetros>
Ejemplo: netstat
Netstat en la práctica

Obsérvese que muestra, el tipo de protocolo, el nombre del host local con el puerto que tenemos abierto, el host remoto con el puerto de salida por el que se conecta y por ultimo el estado de la conexión.

Pero que tal si no queremos que se conecte alguien…

Cerrando las puertas… net stop server

El mismo comando nos dará las orientaciones para detener el servicio que ofrecemos. De no estar activo el sistema informa. Este comando provoca una interrupción en la comunicación y nadie mas puede conectarse por cuenta alguna ni siquiera los administradores de la maquina. Como es de notar este comando es bien radical a la hora de denegar el acceso a nuestra máquina.

Nota: No perdemos la conexión.

Para abrir la puerta… net start Server
Este comando solo pregunta si estamos seguros de que queremos iniciar el servicio de red. Y Puummm ya está.

(…)
Prometo para la próxima edición volver con comandos para comprobar el estado de la red, manipular recursos compartidos y estadísticas entre otras cosillas.

Continuar leyendo

Troyano ntdelect.com

Reynier Reyes Zayas [rreyes33@alumno.uned.es]

Recientemente en el mes de enero comenzó a infectar los ordenadores un troyano, el cual crea en cada unidad de disco duro y memorias flash un par de ficheros que se mantienen ocultos, autorun.inf y ntdelect.com, yo me dediqué a estudiar su comportamiento, uno se percata de que existe porque cuando se hace doble clic en una unidad de disco duro se abre en una ventana nueva.

En realidad ya los antivirus lo detectan con actualizaciones más recientes, como el Avast, Kaspersky y Segurmática, con los cuales lo he eliminado del sistema. El funcionamiento es algo parecido a otros virus que se propagan mediante las memorias flash, pero este tiene algo que lo hace más difícil de eliminar manualmente, y es que crea un fichero de inicio que se ejecuta cuando arranca el sistema, amvo.exe en C:\Windows\System32

A esta explicación cualquiera puede decir que es fácil encontrarla, pero resulta que todos estos ficheros se encuentran ocultos y sólo existe una forma de mostrarlos y es por la consola de Windows, porque en las opciones de carpetas en el menú herramientas no deja "mostrar todos los archivos y carpetas ocultos" y cuando vuelves a abrir esta opción se encuentra en "no mostrar archivos ni carpetas ocultos".

El proceso para mostrar primeramente el fichero "amvo.exe" es entrar en la consola del sistema, para ello vamos a Inicio/Ejecutar... tecleamos "cmd" y aceptamos, ya dentro tecleamos cd.. y presionamos la tecla "Enter" y lo hacemos una vez más para llegar al directorio raíz de esta forma (C:\>) después tecleamos "cd Windows", saldrá (C:\Windows\>) y luego "cd System32", ya dentro de System32 tecleamos lo que hace falta para mostrar el fichero "attrib -r -a -s -h amvo.exe", buscamos con el explorador de Windows este archivo en la carpeta system32 y lo eliminamos, después reiniciamos la sesión ("no hace falta reiniciar el equipo, en caso que haya abiertas otras sesiones sí").

Después que reinicie la sesión, sin abrir ninguna unidad de disco con el explorador de Windows procedemos a eliminar los ficheros de los discos duros con la consola del sistema, en este caso lo explicaré con la unidad "D:\" por lo que tecleamos D: y presionamos "Enter", luego tecleamos "del /p /f /q /a autorun.inf" damos "Enter" donde pedirá una confirmación para lo que presionamos "S" y damos "Enter", lo mismo hacemos para eliminar el archivo "ntdelect.com".

Esta explicación de cómo eliminar el troyano manualmente está muy bien pero después de esto que a nadie se le ocurra restaurar el sistema porque tendrá de nuevo la misma situación, ya que el mismo se encuentra también en la carpeta "System Volume Information" pero no se puede distinguir cual es porque no tiene un nombre, sino una combinación de letras y números.

Hasta aquí he mostrado una forma eficiente de eliminar este troyano para los usuarios que no tengan un antivirus actualizado recientemente o que el antivirus no haya detectado, debe de quedar claro que todo esto se debe hacer por una sesión de administrador. Cualquier duda, me pueden consultar.

Continuar leyendo