Google EL TIPO DE INFORMATICA: 2009

sábado, 21 de noviembre de 2009

Eliminando Archivos y Carpetas de forma Segura con SDelete

En esta ocasion les comentare sobre otra herramienta desarrollada por Mark Russinovich de Systernals: SDelete (Secure Delete). Como su nombre lo indica, esta herramienta nos permite borrar de forma segura archivos o carpetas, y cuando digo de forma segura me refiero a que no pueden ser recuperados utilizando programas de recuperacion de datos ya que SDelete se encarga de sobreescribir los sectores utilizados por el archivo en el disco con unos (1) o ceros (0).

Cuando eliminamos un archivos o carpeta de la papelera de reciclaje, el sistema operativo no lo elimina inmediatamente, el archivo es marcado como eliminado y no puede ser accedido por el usuario, pero la informacion del archivo aun reside en el disco duro. Al ser marcados como borrados, el sistema de archivos puede entonces en cualquier momento utilizar el espacio fisico (sectores) que esta utilizando este archivo o carpeta eliminado para almacenar nuevos archivos. Por esta razon es que, si tenemos un archivo con informacion confidencial el cual queremos eliminar de un disco de forma tal que este no pueda ser recuperado, se debe borrar sobreescribiendo los sectores que este utiliza de "1" o "0" y esto es precisamente lo que hace SDelete. La forma de uso de SDelete es super sencilla, no requiere instalacion ya que como las demas herramientas de Mark Russinovich es un archvo ejecutable el cual podemos copiar en cualquier parte de nuestro disco (por ejemplo en C:\tools\) y luego agregar esa ruta en el PATH para asi poder invocarlo desde cualquier ubicacion en una ventana de comandos. Si queremos por ejemplo eliminar la carpeta "C:\carpeta" solo tenemos que hacer lo siguiente:

C:\sdelete -s carpeta

La opcion -s le indica a SDelete que debe hacer una eliminacion recursiva, o sea, que eliminara el folder "carpeta" y todos los archivos y sub-carpetas que se encuentren dentro de esta. Para mas informacion sobre esta como funciona esta herramienta y para su descarga pueden hacer clic en este link. Espero que esta informacion les haya resultado util.

jueves, 5 de noviembre de 2009

Saltando Restricciones de Proxies con UltraSurf

Recientemente me encontré en el trabajo con el problema citado en el encabezado de este post. Nos dimos cuenta que un usuario se las había arreglado para saltarse las restricciones impuestas por el proxy, o sea, podía acceder a sitios bloqueados por la política de la compañía como Facebook, Hi5, Webmessenger, en fin, paginas de baraje. Al conectarme al equipo del usuario (usando VNC) pude comprobar que realmente el usuario se estaba saltando las restricciones porque estaba en sitios que él no tenia permitido acceder. Inmediatamente trate de averiguar cómo se las había arreglado para hacerlo y hacerlo en mis narices (eso fue lo que más me molesto). Genere entonces un reporte de acceso para ver si el proxy (usamos Squid 2.6) me mostraba las conexiones de ese usuario y así hacerme una idea de cómo lo había hecho, pero no me presento los sitios que él estaba accediendo en el momento, por lo que pensé que entonces él estaba pasando por encima del Proxy, pero como?? El Firewall (IPtables) tiene reglas que no permite el acceso directo hacia Internet, o sea, la única forma de salir hacia Internet es haciéndolo a través del Proxy, el cual él se estaba saltando.

Me sentí un poco frustrado, se está conectando a Internet en mis narices y no veo como!!?? Prácticamente lo veía riéndose de mi: "Ja, El Tipo de Informática cree que puede evitar que revise mi feisbuk" lo imaginaba pensando. Bueno, mientras sigo indagando entre IPTables y Squid continuo con su escritorio abierto en una ventana de VNC, entonces me fijo que cuando el cerro el navegador cerro también una aplicación la cual no pude ver bien en el momento. Convenientemente él iba saliendo a almorzar así que tendría su computadora disponible para buscar el programa sin que él se diera cuenta (no quería que el supiera que lo estaba investigando, quería que se diera cuenta cuando su método ya no le funcionara). Cuando busco en los programas instalados no veo nada sospechoso, así que pensé: bueno, si el pudo conseguir ese programa y ponerlo a correr sin que nos enterásemos, seguro que no lo va a tener tan obvio". Mire bien la barra de inicio para ver los últimos programas abiertos y encontré un shortcut a una carpeta llamada "New Folder" que me pareció sospechoso, pensé que quizás dentro de este se encontraría el programa, hice clic encima de él y abrió el "UltraSurf", el muy sabio había cambiado el icono del shortcut para que pareciera una inofensiva carpeta.

Ventana UltraSurf
El muy oidiado UltraSurf en plena accion

Una vez el programa carga inmediatamente abre el navegador y ya se puede entrar a cualquier sitio sin las restricciones del proxy. Ok, ya habia encontrado el programa pero todavía no sabía cómo hacia para conectarse al Internet. Lo primero que hice fue tumbar por un momento el Proxy (la mayoría de usuarios estaban almorzando así que nadie lo noto) para ver si todavía así se conectaba lo cual efectivamente hizo que el programa se desconectara. Esto me indico que el programa si utilizaba el proxy para conectarse a Internet. Luego de Googlear un poco sobre cómo funciona este programita me entere de que este utiliza túneles SSL para conectarse con servidores proxy en Internet y entonces entendí el porque mi proxy lo dejaba pasar. Otra cosa que hace UltraSurf es que abre en el equipo del usuario el puerto TCP 9666 y configura el Internet Explorer para que utilice como proxy la dirección 127.0.0.1:9666, o sea, se usaba así mismo como proxy y el a su vez utilizaba el proxy de la red para gestionar la conexión.

Los Web Proxys trabajan capturando las solicitudes de sitios Web de los usuarios y conectándose ellos al Web server requerido en lugar del usuario, luego entrega al usuario la pagina solicitada. El usuario nunca hace una conexión directa con el sitio, quien hace la conexión al sitio web es el proxy. Es decir, el proxy es un intermediario entre el usuario interno de la red y un servidor web externo. Al estar en medio de la conexión entre el usuario y el servidor web, el proxy puede ver el contenido de los paquetes, como origen, dominio de destino, usuario que hace la solicitud, contenido del sitio web, etc., y en base a esto aplicar las restricciones especificadas. Esto aplica para el protocolo HTTP y otras aplicaciones, pero no para el protocolo HTTPS que no es más que HTTP sobre SSL. Al utilizar SSL el proxy no puede modificar el paquete, o sea, no puede ponerse en medio de la conexión, y debe dejar que el usuario negocie una conexión segura con el servidor de destino (utilizando el método http "CONNECT"). Así que al establecerse la conexión (o túnel) entre el usuario y el servidor el proxy no puede intervenir ni ver el contenido de los paquetes ya que estos son encriptados. Por esta razón el UltraSurf podía conectarse a Internet porque hace conexiones SSL con servidores en Internet.
Bloqueando UltraSurf con Squid
Para evitar estas conexiones lo que hice fue limitar los sitios en los que se pueden establecer conexiones SSL, podría también buscar el listado de servidores que utiliza UltraSurf y bloquearlos pero este no sería un método muy efectivo, ya que en tal caso bloquearía solo al UltraSurf y otro programa similar podría funcionar utilizando el mismo método. Generalmente HTTPS solo se utiliza para Internet Banking y algunas otras aplicaciones Web, afortunadamente ya tenía una lista con estos sitios creada, una especie de "Whitelist", así que lo que hice fue permitir conexiones HTTPS solo a los sitios de este listado. Para hacer esto en Squid, se hace lo siguiente:

#Creacion del ACL para el metodo CONNECT
acl CONNECT method CONNECT
# ACL que contiene los sitios Web permitidos para HTTPS
acl sitios-https url_regex "/ruta-al-listado-de-sitios.txt"
# Regla que permitira conexiones HTTPS solo a los sitios del listado creado arriba
http_access allow CONNECT sitios-https
http_access deny CONNECT all

Luego de insertar estas líneas y refrescar la configuración del squid (/etc/init.d/squid reload) UltraSurf ya no podía conectarse a sus servidores en Internet, y por ende el usuario ya no podría saltarse las restricciones (adiós feisbuk!). Pero todavía tenía pendiente el asunto de que este programa modificaba la configuración de Proxy que por GPO habíamos configurado en las computadoras. Tenemos una política de grupo (GPO) que configura el Internet Explorer para utilizar nuestro Proxy y no permite que los usuarios cambien esta opción, pero aparentemente esta política solo esconde la opción de "Connection" en las opciones del Internet explorer, pero estas podrían ser modificadas por el usuario utilizando algún script, como lo hace el UltraSurf. Así que pensé en modificar los permisos de la clave del registro de Windows que maneja la configuración de proxy del Internet Explorer, esta se encuentra en:

HKEY_USERS\SID-DEL-USUARIO\Software\Microsoft\CurrentVersion\Internet Settings

Para modificar los permisos de esta clave solo tenemos que abrir el Editor del Registro (start-->run-->regedit.exe), movernos hasta la clave especificada, hacer clic derecho encima y seleccionar "Permissions". Por defecto el usuario tendrá "Full Control" sobre esta clave, si le cambiamos este y solo le dejamos el permiso "Read" el UltraSurf no podrá modificar la configuración de proxy de Internet explorer, por lo que tendrá obligatoriamente que utilizar el proxy Interno. Así que aunque el programa llegue a conectarse a sus proxies en Internet, el usuario no podrá utilizarlo porque el Internet Explorer continuara siempre viendo solo a nuestro Proxy interno. Bueno, hasta aqui el post de hoy. Espero que este les haya servido de ayuda, mas a administradores de sistemas que a usuarios queriendo violar las politicas de su compañia o universidad (nada bueno sale de eso, creanme). Como siempre espero no haberles hecho perder su tiempo leyendome, habiendo tantos buenos blogs en la red para leer, pero nada, gracias por pasar por aquí.

martes, 3 de noviembre de 2009

Default Password en Routers ADSL

Hoy en día la mayoría de nosotros nos conectamos a Internet utilizando un Router ADSL que nos provee nuestro ISP. En nuestro país prácticamente en su mayoría las conexiones a Internet ADSL son suplidas por la misma compania, y generalmente, independientemente del modelo y marca del router, todos utilizan el mismo usuario y password para acceder al site de administración del router. Cuando los usuarios reciben sus routers para su conexión ADSL, solo se les instruye a conectar el router a la corriente y conectar la línea telefónica a este. Cuando el Router se conecta a Internet, en la mayoría de los casos, el sitio de administración de este queda expuesto a todo internet, ya que solo habría que poner la dirección externa que recibió el router desde el ISP, insertar el usuario y el password "default" del router y tendremos acceso a la administración del Router.

Bueno, y cual es el problema de que alguien entre a este site? preguntaran algunos usuarios. La gran mayoría de estos routers permiten hacer NAT hacia la red interna del cliente, o como generalmente le llaman en estos equipos "Comparticion de juegos y Aplicaciones". Con esta opcion podemos mapear cualquier puerto externo del router hacia una computadora conectada al equipo, incluso algunos equipos nos permiten asignar la IP externa del router a una computadora, lo cual mapearia todos los puertos hacia el equipo seleccionado.

Menu Router ADSL
Menu configuracion "Comparticion Juegos y Aplicaciones"

Una vez se configura el NAT hacia el equipo interno, este queda completamente expuesto a Internet y a cualquier ataque que se puede lanzar hacia este.

Identificando la IP externa del Router

Ahora bien, algunos podrían argumentar que para esto se requiere la dirección externa del Router y que esta varia cada vez que se reinicia el equipo. Bueno, lo primero es que esas direcciones se pueden conseguir haciendo un simple escaneo de puertos a los rangos de direcciones IP que asigna el ISP. Cualquier programa de escaneo de puertos puede ayudar en esto, por ejemplo, si utilizamos Nmap con el siguiente comando podemos buscar dentro del mismo rango de IP en que se encuentra nuestro router, digamos 66.98.33.xx, todos los equipos que tengan el puerto 80 abierto, o sea, equipos que están corriendo un Web server que generalmente serán routers ADSL.

C:\nmap xx.xx.xx.50-200 -p80 -sS
Nmap nos devolverá entonces todas las direcciones IP que encuentre en este rango que estén corriendo un Web server, luego entonces podemos intentar acceder a estos utilizando el "default password" que generalmente viene con el router. Otra forma en que la IP externa de nuestro router se puede conseguir es a través del envío de emails. Pongamos el caso de un email que enviamos a alguien o a un grupo de personas (tipo "envíaselo a todos tu contactos o no tendrás suerte en el amor"). La persona que recibe este email puede revisar los "headers" de ese mensaje y buscar el campo "X-Originating-IP" el cual presenta la dirección IP desde donde se envió el mensaje, que es la IP externa de nuestro Router (esta podría ser una buena razón para no reenviar tanto pps's). Para conseguir esto solo tenemos que hacer clic derecho encima de un mensaje en nuestra bandeja de entrada, veremos una opción llamada "ver código fuente del mensaje", esto nos abrirá una ventana donde se nos mostraran todos los "headers" del mensaje y aquí encontraremos el campo "X-Originating-IP":

Email Header

Pero esto no solo se consigue a traves de hotmail u otros servicios de webmails, tambien cuando recibimos un emails a traves de un cliente como Microsoft Outlook o Mozilla Thunderbird podemos revisar los headers y conseguir la IP de la persona que nos envia dicho mensaje. En Outlook el procedimiento es parecido: hacemos clic derecho encima del mensaje y seleccionamos "Message Options", esto nos traera la siguiente ventana:

Opciones Mensaje Correo

Como se puede ver en el cuadro anterior, dentro de los Headers en uno de los campos "Received" encontramos la IP desde donde salio el email. Pero no solo los usuarios caseros dejan sus routers con el password default, muuuchas companias que tienen conexion a Internet ADSL tienen sus routers abiertos hacia el internet y con el password default. Por ejemplo, el cuadro anterior pertenece a un email que recibi hace poco de una compania que ofrece entrenamientos en el area de TI, y lo mas interesante, entrenamientos de "Seguridad de Informacion"!!!

Protegiendo nuestros Routers ADSL

Generalmente, no podremos evitar que nuestra IP externa se pueda obtener de las formas antes mencionadas (a menos que utilicemos la red TOR), pero el hecho no es solo esconder nuestra IP, es proteger el acceso al router. Para esto podemos hacer los siguiente:

1) Lo primero que se debe hacer es cambiar el password por defecto por un password fuerte nuestro (siguiendo las mejores practicas para la creacion de password), y si es posible tambien cambiar el nombre de usuario.

2) Otra medida muy importante que podemos (y debemos) tomar es habilitar la funcion "Firewall" que trae la mayoria de estos equipos. Esta funcion generalmente evita que se acceda al site de administracion de Router desde la interface WAN (o desde el lado de Intenet), de esta forma aunque se inserte el usuario y el password validos para el equipo no se podra acceder a administrar el equipo.
Bueno, hasta aqui mi post, esperando como siempre que esta información les sea de provecho y que no hayan perdido su tiempo leyendome.

miércoles, 26 de agosto de 2009

Dejando a un lado los Privilegios

Hoy en día, navegar y estar conectado a Internet puede representa un gran riesgo de seguridad, ya que por el simple hecho de visitar un sitio Web podemos quedar infectados con algún Maleware y sin darnos cuenta acabamos siendo parte de una Botnet. Y esto no se queda en la navegación en Internet, podemos también recibir un correo con algún archivo PDF, especialmente manipulado, que explote alguna vulnerabilidad en nuestro lector de PDF y es el mismo caso. Pero también podría ser un documento Power Point, Word, o cualquier otro tipo de archivo, incluso un archivo MP3.

Las vulnerabilidades que se descubren en estas aplicaciones (que últimamente son el mayor vector de ataque) generalmente permiten “ejecución de código”, o sea, que el atacante puede manipular un documento o sitio web e insertar en él código que será ejecutado en el computador del usuario si el programa con el que este lo abre es vulnerable. Existe un principio de seguridad que nos dice que debemos utilizar cuentas de usuarios con el menor privilegio posible, es decir, cuentas "limitadas" o "sin privilegios administrativos". Utilizar nuestro equipo con una cuenta de usuario limitada nos ayuda a disminuir considerablemente el riesgo de infección de virus y Maleware ya que, al abrir algún archivo el contenido del mismo se ejecuta bajo el contexto de seguridad del usuario logeado, es decir, con los privilegios del usuario que lo invoca. Por esto, si nuestro usuario tiene privilegios administrativos en el equipo, el atacante podría ejecutar o instalar cualquier programa en nuestro sistema. Y peor aun si nuestro usuario tiene privilegios de “Administrador de Dominio”.

Utilizar cuentas con privilegios administrativos, sumado a no mantener los sistemas operativos y aplicaciones actualizadas son, a mi entender, las principales razones del porque las Botnet y el Spam (ya que a veces utilizan las botnet para envío masivo de SPAM) continúan creciendo. En los ambientes Unix y Linux esto no es nada nuevo, el usuario “root” es el “todopoderoso” y las demás cuantas que se crean son simples usuarios. Si se quiere se puede elevar el privilegio de un usuario creado al nivel de root, pero por defecto se crea sin privilegios. El caso de Windows es algo diferente: Al instalar el sistema operativo la cuenta “Administrador” se crea por defecto y se nos pide un password para esta, luego se nos pide un nombre para una cuenta de usuario, pero esta es creada, por defecto, con privilegios administrativos.


Cuentas limitadas en Windows XP (utilizando “runas”)

Aunque es lo recomendable, a veces resulta un poco tedioso utilizar en el día a día una cuenta limitada y alejarnos de nuestro privilegio de Administrador, sobre todo cuando en nuestro trabajo necesitamos con frecuencia instalar/desinstalar programas, hacer modificaciones en el registro, etc., en algunos casos para realizar algunas de estas tareas tendríamos que cerrar nuestra sesión y entrar con un usuario Administrador. Para evitar esto podemos utilizar el comando “runas”, este comando nos permite ejecutar comandos o programas en el contexto del usuario que especifiquemos, por ejemplo, Administrator. También podemos utilizar runas en el entorno grafico haciendo clic derecho sobre un programa o aplicación y moviéndonos en el menú hacia “Run As”, el cual nos permitirá indicar el usuario con el cual queremos ejecutar la tarea. Por ejemplo, si queremos abrir una consola de comandos para ejecutar desde ella comandos o aplicaciones con privilegios de administrador, ejecutamos el siguiente comando:
runas /user:DOMINIO\USUARIO cmd.exe

Donde “DOMINIO” corresponde al nombre del dominio al que pertenece la cuenta y “USUARIO-ADMIN” es el usuario con privilegios con el cual invocaremos la consola, por ejemplo, Administrador. Cualquier comando o aplicación que llamemos desde esta consola se ejecutara con los privilegios del usuario que especificamos, de esto forma podemos ejecutar desde aquí, por ejemplo, regedit.exe (editor del registro), netsh, etc. En caso de que, por ejemplo, necesitemos ejecutar alguna utilidad del Panel de Control (Control Panel) como “Add/Remove Software” y alguna Política de Grupo (GPO) nos prohíbe el acceso a esta utilidad. Podemos ejecutar de forma grafica “runas” haciendo clic derecho encima del archivo “appwiz.cpl” y luego moviéndonos hacia “Run As” e indicando un usuario con privilegios para ejecutar esta utilidad (el archivo “appwiz.cpl” se encuentra en “c:\windows\system32\”, mayormente las utilidades del Control Panel se encuentran en esta carpeta con extensión “.cpl”).

· Usuario Limitado en Windows Vista (User Account Control)

Como vimos anteriormente, aun con “runas” puede resultar un poco tedioso trabajar con una cuenta limitada. En Windows Vista, Microsoft intentó mejorar esto con el (odiado por muchos) “User Account Control”. La idea de UAC es precisamente controlar las actividades del usuario y programas en el sistema requiriendo la debida autorización antes de realizar alguna tarea que necesite la elevación de privilegios. UAC resulto molesto por los constantes mensajes requiriendo al usuario elevación de privilegio. El problema es que aunque el usuario tuviera privilegios de Administrador (todavía en Windows Vista cuando se instala el sistema el usuario que se crea tiene privilegios administrativos) UAC de todas formas informaba al usuario que para realizar tal o cual tarea necesitaba elevar sus privilegios, a lo que el usuario solo tenía que hacer clic en “Aceptar” y eso era todo. Por eso muchos optaban por desactivarlo y en algunos casos hasta desinstalar Vista y volver a XP.

Estos problemas con UAC se han disminuido considerablemente a partir del SP2 de Windows Vista. Ahora si nuestro usuario tiene privilegios administrativos en el equipo podemos realizar cualquier tarea sin que UAC nos solicite elevación de privilegios (porque ya lo tenemos). Ahora con UAC es más fácil dejar a un lado los privilegios administrativos y vestirnos de usuarios comunes y simples. UAC nos permite utilizar nuestra cuenta limitada y en caso de que necesitemos realizar alguna tarea como instalar/o desinstalar un programa, utilizar alguna utilidad del “Administrative Tools” o cualquier otra tarea que requiera privilegios elevados, el sistema nos pedirá las credenciales correspondientes, evitándonos la fatiga de tener que utilizar “runas” para llamar dicha utilidad. Si utilizan Windows Vista, les recomiendo que (si no lo han hecho) descarguen e instalen el Service Pack 2 desde este enlace y habiliten nuevamente UAC (que me imagino lo tienen desactivado) para que comprueben ustedes mismos las mejorías. Y también claro, que dejen a un lado los privilegios administrativos y se vistan del más simple y “des-privilegiado” de los usuarios y solo utilicen las cuantas administrativas para ciertas tareas. Al principio puede resultar un poco incomodo, pero valdrá la pena acostumbrarse. Bueno, como siempre espero no haberles hecho malgastar su tiempo con este post y que esta información les haya sido de provecho.

viernes, 21 de agosto de 2009

Configuracion TCP/IP a traves de linea de comandos usando "Netsh" (Windows)

En ocaciones necesitamos hacer modificaciones a la configuracion TCP/IP de un equipo (local o remotamente) o un grupo de equipos, como por ejemplo, cambiar la dirección del DNS, Gateway, Subnet Mask, etc, tambien puede darse el caso que necesitemos cambiar, agregar o eliminar alguna regla en el Firewall de Windows, ya sea para abrir un determinado puerto o cerrarlo. Todas estas configuraciones podemos realizarlas desde la comodidad de nuestra ventana de comandos (para los que nos gusta trabajar desde la consola) utilizando la herramienta "NETSH". Netsh (o "Network Shell") se utiliza a través de la linea de comandos y permite visualizar y modificar la configuracion de red de un equipo local o remoto y viene integrada en los sistemas operativos Windows a partir de Windows XP. Podemos utilizar Netsh en scripts que al ser ejecutados modifiquen la configuracion IP de un determinado equipo o grupo de equipos.


A continuación algunas de las tareas básicas que podemos hacer con Netsh:

* Configurar IP estatica: En este ejemplo le asignaremos una dirección IP estática a la interface de red "Local Area Connection", la IP que le asignaremos sera "192.168.1.10", subnet mask "255.255.255.0", Gateway "192.168.1.1" y la metrica "1"



netsh interface ip set address "local area connection" static 192.168.1.10 255.255.255.0 192.168.1.1 1

* Configurar DNS primario: En el ejemplo anterior solo agregamos la direccion IP del equipo, en este agregaremos el DNS primario (192.168.1.2) para esta conexion:

netsh interface ip set dnsserver "Local Area Connection" static 192.168.1.2 primary

* Configurar IP usando DHCP: En este ejemplo configuraremos la tarjeta de red para que reciba de la configuracion IP desde un servidor DHCP.


netsh interface ip set address name="Local Area Connection" source=dhcp

* Abrir puertos en el Firewall: En este ejemplo configuraremos el Firewall de Windows para que permita conexiones VNC al equipo en el cual estamos haciendo los cambios, este protocolo utiliza el puerto TCP 5900:
netsh firewall add portopening TCP 5900 "VNC"


Esta es la forma basica y mas permisiva de abrir un puerto en el Firewall ya que permite acceso a cualquier equipo establecer una conexion con este equipo a traves de este puerto. Podemos crear una regla mas detallada en el Firewall tambien con Netsh especificando un rango de direcciones IP que podrán conectarse a este equipo (generalmente el rango IP de la red interna), podemos también especificar el protocolo a usar (TCP o UDP). Para esto usamos el siguiente comando:

netsh firewall add portopening protocol=tcp port=5900 name=VNC mode=enable scope=custom addresses=192.168.1.0/255.255.255.0


Estos son solo usos básicos de Netsh, si quieren mas información acerca de este y que mas se puede hacer con el visiten este link. Es muy útil también utilizarlo junto con PsExec, así podemos conseguir una consola remoto en un equipo y ejecutar desde esta los comandos de Netsh. Bueno, espero que esto les sea de utilidad y que hayan perdido su tiempo en este Blog, nos leeremos luego!!.

lunes, 17 de agosto de 2009

Consola remota en Windows usando "PsExec"

Voy a estrenar este blog hablando de una de las herramientas que utilizo a diario: Psexec. Psexec es una herramienta gratuita que pertenece al paquete de aplicaciones "PSTOOLS" desarrollado por Mark Russinovich de Sysinternals. PsExec es una pequena aplicaicon que permite ejecutar comandos en uno o varios equipos remotos de una manera sencilla y recibir la salida de este comando en nuestra pantalla, por ejemplo, podemos usar PsExec para enviar el comando "ipconfig " hacia un equipo remoto y veremos en nuestra pantalla la configuracion IP del equipo al cual le enviamos este comando. Claro esta, para ejecutar comandos en un equipo remoto necesitamos tener privilegios administrativos en dicho equipo. Una de sus funciones mas importantes es la de permitir una consola de comandos interactiva, o sea, podemos tener un "command promp" (o shell) del equipo remoto e interactuar con este desde nuestro equipo, de esta forma podemos ejecutar cualquier comando como si estuviesemos en frente del equipo. Para esto, seguimos los siguientes pasos:

1) Primero descargarmos PsExec desde este enlace, creamos una carpeta en el directorio raiz del disco y la llamamos "pstool" (C:\pstool).

2) Abrimos en nuestra computadora una ventana de comandos o "command promp" (haciendo clic en start --> run , escribimos "cmd" y presionamos "enter") y nos movemos a la carpeta que creamos anteriormente (C:\pstool).

3) Desde aqui ejecutamos: "psexec \\equipo-remoto -U usuario-administrador -s cmd.exe" y presionamos "enter", al hacer esto se nos pedira escribir el password correspondiente al
usuario que especificamos, lo escribimos y presionamos "enter" y con esto tendremos nuestra consola.

En el comando anterior "\\equipo-remoto" corresponde al nombre o direccion IP del equipo al cual nos conectaremos, la option -U la usamos para especificar el usuario que usaremos para ejecutar el comando en el equipo remoto, por lo que "usuario-administrador" corresponde a un nombre de usuario con privilegios administrativos en el equipo remoto. Si estamos en un dominio Windows y tu nombre de usuario tiene privilegios administrativos sobre el equipo remoto entonces no es necesario incluir la opcion "-U". Por ultimo con la opcion "-s" especificamos el comando que queremos ejecutar en el equipo remoto, en este caso una ventana de comandos (cmd.exe).

Este programa trabaja sobre los puertos TCP 139 y 445 y UDP 137 y 138 (Windows SMB), asi que si se esta corriendo algun Firewall en el equipo remoto (como Windows Firewall) se deben abrir estos puertos para lograr ejecutar el comando. Generalmente cuando se esta trabajando en LAN estos puertos estan abiertos para permitir compartir archivos entre las computadoras. Teniendo una consola en un equipo remoto podemos hacer cualquier cosa en este, como chequear los procesos que están corriendo, cerrar aplicaciones o procesos, reiniciar o apagar el equipo, etc. Tambien es posible modificar las reglas del "Windows Firewall" (abrir o cerrar algun puerto) utilizando el comando de Windows "netsh", el cual tambien puede ser utilizado para modificar la configuracion TCP/IP desde la ventana de comandos. Hablare de "netsh" en un proximo post. Creo que es todo por ahora, espero que este post les haya sido de utilidad y que PsExec les sea de tanta ayuda como lo ha sido para mi.

sábado, 15 de agosto de 2009

El Tipo De Informatica

Hola a todos, y bienvenidos a mi Blog "El Tipo de Informática". Muchos de ustedes se sentirán identificados con este nombre, porque así es como muchos usuarios se refieren a nosotros generalmente ("llamate al tipo de informática que se me frizo la computadora....." ).
Como seguramente ya dedujeron este no es mas que otro blog relacionado con asuntos de informática, solo que a diferencia de muchos otros (varios de los que leo siempre que puedo) este NO esta escrito por un experto ni un hacker ni nada parecido, simplemente "Un Tipo de Informática", quien trabaja en algo así como Administrador de Sistemas y demás hierbas aromáticas (soporte a usuarios, backups, proxys, restricciones a usuarios, conectar data-show en reuniones gerenciales, desbloquear password enésimas veces!), pero no lo ve solo como un trabajo, sino como un Hobbie, lo que hace que todo lo que se pasa se disfrute.... claro, no siempre se disfruta en el momento, pero se disfruta. Y aparte también ve su trabajo como una oportunidad de desempeñar una tarea para la que cree que es bueno, y una oportunidad de aprender algo nuevo cada día.

La idea que tengo con este blog es escribir los problemas que el día a día le tiene guardado a un "tipo de informática" común y corriente y compartir las respuestas que consigo con otros "tipos de informática" y también recibir sugerencias de como hacerlo mejor de parte de ustedes y quien sabe... quizás luego de varios años este SI sea un blog escrito por un experto XD.

Bueno, ya me despido, en los próximo días les prometo que tratare de hacer una entrada que a diferencia de esta valga la pena :D , espero vuelvan por aquí pronto y ojala encuentren algo de utilidad.