Google EL TIPO DE INFORMATICA

lunes, 24 de febrero de 2014

Password por Defecto en Modems ADSL Huawei ADSL HG532e

En estos dias estaba en una oficina configurando el acceso a Internet y una nueva linea ADSL que se habia contratado. Necesitaba hacer algunos cambios a la configuración del Router y tenia que acceder al Manager para hacerlos. Como les habia comentado anteriormente, mucho de estos Routers/Modems ADSL venian con un usuario/password por defecto, desde un tiempo hacia aca lo que estan haciendo es que usan el serial del equipo, la MAC Address o la contraseña WEP/WAP del Wireless como clave para acceder a la administración. El Modem que instalo el suplidor fue un Huawei HG532e, procedi a conectarme al menu para hacer los cambios necesarios, generalmente la IP por defecto de estos equipos 10.0.0.1:

Ventana de Login Router Huawei

Para el caso de este Modem, el usuario/password es el mac address, lo que en cierta forma es una ventaja sobre el metodo antiguo de usar "admin/admin", ya que por lo menos para poder acceder al menu es necesario tener acceso fisico al equipo y evita que cualquiera a traves de Internet pueda entrar a nuestro Router. Asi que inserte el Mac Address y pude entrar sin problemas. Una vez habia hecho los cambios que necesitaba, me pase por la seccion "Mantenimiento" del menu para ver que opciones me presentaba y me llamo la atencion que en la parte de "cuentas de usuario" habia un "Drop-down" menu, o sea, que aparentemente habia mas de una cuenta creada en el router, aunque lo habia acabado de sacar de su caja. Al hacer clic encima de este elemento veo que efectivamente habia una cuenta "user" creada a parte de la cuenta con la que me habia logueado, como se ve a continuacion:

Lista Usuarios Modem Huawei

Al ver este usuario, me imagine el password que debía acompañarlo, así que cerre la sesión, intente logearme con ese usuario y al primer intento pude acceder al menu y con los mismos privilegios administrativos del usuario del Mac Address. Y si, el password era igual que el username: "user". Lo primero que hice fue entrar nuevamente con el usuario del Mac Address y eliminar esta cuenta. Luego senti curiosidad por ver si este usuario realmente venia en todos los modems de este modelo o si solo me habia caído a mi la dicha, así que revise la IP externa que tenia asignada el router en ese momento para hacer una búsqueda en todo ese rango a ver si encontraba modems de ese modelo y probar el usuario "user". Para esto utilizaria Nmap, pero antes tenia que ver como el Modem se identificaba y usar esa información para identificar los demás, así que ejecute el siguiente comando:

salida comando Nmap

Como ven, realice un escaneo a la IP del Modem con Nmap a los puertos 80 y 23 (HTTP y Telnet) con la opción "-sV" para que me muestre información de la version del servicio, en este caso el servicio Telnet en este Modem se identifica con "Huawei HG655b DSL router telnetd", así que ahora lo que resta es hacer un escaneo en un determinado rango de IP publicas y filtrar la salida para que nos muestre las que devuelvan esta linea. Utilice nuevamente Nmap pero ahora apuntando solo al puerto 23 y agregue tambien la opción "-oG - " para cambiar la forma en que se presentan los resultados y así poder filtrar mejor con "Grep" la salida, tambien amplie el rango del scan para que incluya las otras IP's vecinas del Modem en ese momento, este fue el resultado de la búsqueda de las primeras 100 IP's en ese rango:

Resultado Scan Nmap

Como ven solo entre las primeras 100 IP's aparecieron varios routers de este mismo modelo, es posible que incluso hayan mas y solo estaban apagados en ese momento. Lo interesante es que fui probando cada uno de estos Modems y efectivamente, TODOS los que encontre en este rango (y otros mas) tenian el usuario "user" con el mismo password!! Y bueno, que podría hacer alguien con el password de nuestro router ADSL? basicamente podrían controlar nuestro trafico en Internet, podrían alterar la configuración DNS ya que generalmente el mismo Modem hace el papel de servidor DNS para las computadoras que están detrás de el, tambien podrían crear reglas NAT que apunten a las computadoras detrás del router y exponerlas a Internet para realizar ataques sobre ellas y lograr acceso directo a estas.

En resumen, si tienen instalado uno de estos Routers/Modems en sus casas u oficinas, revisen la configuración en caso de que tengan este usuario creado y eliminenlo. Es posible que en otros modelos pase lo mismo, hasta ahora solo he probado este, asi que revisen su modem aunque no sea este modelo. Bueno, espero que les haya sido de utilidad, y esta información les haya llegado antes de que alguien mas entre en sus routers.

lunes, 17 de febrero de 2014

Shortcut para Aplicaciones Wine (Windows) en Mac OS X

En el Post anterior vimos como instalar aplicaciones Windows en Mac OS utilizando Wine, pero como vimos al final estas aplicaciones hay que invocarlas via Terminal (la ventana de comandos), lo cual puede ser un poco incomodo. Así que ahora veremos como crear un acceso directo (o Louncher) para la aplicación y colocarla en el Dock. Para esto primero tendremos que crear un pequeño script y también crear un icono para asignarle al script. Los iconos en Mac OS X no son simplemente un gráfico, son realmente varios archivos de la misma imagen en diferentes tamaños y resoluciones. Esto así para poder hacer el efecto de magnificacion en el Dock. Para crear el icono utilizaremos un aplicación que se encargara de crear las diferentes versiones del grafico. Bien, continuaremos con el ejemplo del post anterior con UltraVNC y vamos a crear el Luncher para esta aplicación. Para esto utilizaremos el AppleScript Editor que se encuentra en Utilities:

Ventana de AppleScript Editor

En caso de que no les haya abierto la ventana anterior al ejecutar AppleScript Editor, solo tienen que hacer clic en File-->New (o COMAND+N). En esta ventana entonces pegamos el siguiente código (extraído del site de Wine):

----------------------------------------------------------------------------------------------------------------------------------
on run
   
   --edit this to be the correct location and file to run (typically only edit after the "drive_c")
   set toRun to "$WINEPREFIX/drive_c/Program Files/UltraVNC/vncviewer.exe"
   --edit winePrefix if you are not using the default prefix
   set winePrefix to "$HOME/.wine"
   --edit wineLocation if your wine install is not the default location
   set wineLocation to "/usr/local/bin"
   --edit dyldFallbackLibraryPath to your X11 lib folder, this one is set for XQuartz on 10.6+
   set dyldFallbackLibraryPath to "/opt/X11/lib"

   -------------------------------------------------------
   --DO NOT EDIT ANYTHING BELOW THIS LINE
   -------------------------------------------------------
   set toRunPath to do shell script "WINEPREFIX=\"" & winePrefix & "\"; TEMPVAR=\"" & toRun & "\"; echo \"${TEMPVAR%/*}\""
   set toRunFile to do shell script "WINEPREFIX=\"" & winePrefix & "\"; TEMPVAR=\"" & toRun & "\"; TEMPVAR2=\"" & toRunPath & "\"; echo \"${TEMPVAR#$TEMPVAR2/}\""
   do shell script "PATH=\"" & wineLocation & ":$PATH\"; export WINEPREFIX=\"" & winePrefix & "\"; export DYLD_FALLBACK_LIBRARY_PATH=\"" & dyldFallbackLibraryPath & "\"; cd \"" & toRunPath & "\"; wine \"" & toRunFile & "\" > /dev/null 2>&1 &"
   
end run
----------------------------------------------------------------------------------------------------------------------------------

Básicamente en el script anterior solo tendremos que modificar la segunda linea (que empieza con "set toRun..") que es donde indicaremos la ruta donde esta el ejecutable de nuestro programa. La variable $WINEPREFIX al principio de esta linea indica la ruta default donde Wine instala las aplicaciones, esto es en la carpeta ".wine" dentro del profile del usuario que instalo la aplicación. Para el caso de nuestro ejemplo esta ruta sera "Program Files/UltraVNC/vncviewer.exe". Para probar que todo este bien con el código y que hayamos indicado correctamente la ruta al ejecutable, podemos probar que la aplicación abra haciendo clic en "Run", si todo esta bien, la aplicación debe ejecutarse como si la hubiésemos invocado desde la linea de comandos:

Ventana de AppleScript Editor

Si luego de un par de segundos no se ha ejecutado la aplicación, deben entonces revisar que hayan indicado correctamente la ruta al ejecutable, si se ejecuto sin problemas podemos entonces continuar y salvar el script. Para esto hacemos clic en File-->Export , nos traerá la siguiente ventana donde indicaremos que salvaremos el script como una aplicación e indicaremos en el nombre que le daremos (para este ejemplo lo nombre "UltraVNC" y lo salvare en la carpeta "Applications").

Salvar Script

Ya tenemos el louncher de nuestra aplicación creado, al hacer doble clic sobre el podremos ejecutar nuestra aplicación. Pero como habrán visto, se creo con el icono default de AppleScript, asi que ahora procederemos a crear un icono para nuestra aplicacion y agregarselo a nuestro louncher. Los iconos en Mac OS tienen la extensión "icns", pero para asignarle un icono al louncher no bastara con solo asignar esta extensión a un grafico y agregarlo, como les mencione al inicio este tipo de archivo es mas bien una colección de gráficos que tiene diferentes versiones de la imagen en diferentes tamañosAsí que para crear nuestro icono utilizaremos la aplicación "FastIcns" la cual pueden descargar en este link. Con esta aplicación solo tendremos que buscar el icono de la aplicación en Google, ya sea en PNG o JPG, para seguir con el ejemplo buscaremos el icono de UltraVNC en Google y lo descargaremos. Cuando ejecuten FastIcns verán un pequeno cubo en la pantalla, deben arrastrar ahi dentro el icono de la aplicación que descargaron. Luego salvar el archivo haciendo clic en "File-->Save As" y salvarlo como ICNS, como se muestra a continuación:

Crear icono con FastICNS

Una vez hemos salvado el archivo solo tenemos que ir al louncher, hacer clic encima y luego presionar la tecla "Command + I", o hacer clic en "File -->Get Info" y nos abrira la ventana de propiedades del archivo. Hacemos clic encima del icono generico que tiene el archivo (verán que se sombreara en azul) y arrastramos a esta area el archivo ICNS que acabamos de crear, con esto se le asignara el icono al louncher.

Asignar icono al Louncher

Y ya con esto tenemos nuestro louncher a la aplicación que instalamos con Wine que podemos ejecutar como cualquier otra haciendo solo un clic encima de su icono. Solo nos resta arrastrar el icono del louncher al Dock y lo tendremos como cualquier otra aplicación:

Icono de UltraVNC en Dock



lunes, 10 de febrero de 2014

Corriendo Aplicaciones de Windows en Mac OS X con Wine

Desde hace unos meses he estado trabajando con una MacBook Pro, la había estado utilizando como segunda computadora aprovechando la base Unix del sistema, así utilizaba algunas herramientas en ella. Hace poco decidí probar migrarme por completo a esta y utilizarla en el día a día, pero necesitaría buscar la forma de correr algunas aplicaciones que uso a diario en Windows, cosas sencillas como UltraVNC (si, se que hay versiones de VNC nativas para OS X, pero la versión que uso en el trabajo es UltraVNC y autenticando con Active Directory) entre otras mas, así que sobre esto les voy a hablar en este Post. Para correr aplicaciones Windows en Mac OS usaremos el ya conocido Wine que se usa en Linux para los mismos fines, y para instalar Wine, usaremos Homebrew, que si no lo han utilizado antes, verán que les sera de mucha utilidad.

Homebrew es un manejador de paquetes, es el "apt-get" o "yast" para Mac (o uno de ellos, también esta MacPorts) Con homebrew podemos instalar facilmente herramientas open-source sin tener que preocuparnos por sus dependencias, ya que Homebrew se encargara de gestionarlas e instalarlas. Para instalar Homebrew necesitaran primero instalar Xcode, pueden descargarlo desde el App Store. Una vez hayan instalado Xcode solo necesitan ejecutar la siguiente linea en una ventana de Terminal:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Luego que haya concluido la instalación, ejecutamos el siguiente comando para confirmar que todo ande bien con Brew y sus requisitos, en caso de que haya algún problema o haga falta algo, el nos lo hará saber. 

$ brew doctor

Este comando nos hará saber cualquier cosa que haya que corregir, si todo salió bien, podremos continuar con la instalación de Wine. Ya que tenemos Homebrew, la instalación de Wine es bastante sencilla. En una ventana de Terminal ejecutamos el siguiente comando:

$ brew install wine winetricks

Como sucede con otros gestores de paquetes como 'apt-get', podemos indicar varias aplicaciones a instalar, en este caso a parte de WINE instalaremos tambien WINETRICKS. Winetricks nos permitira instalar algunos componentes y librerias (DLL's) requeridas por algunas aplicaciones, lo podremos utilizar para instalar, por ejemplo, .NET Framework. Una vez ejecutemos el comando anterior, Homebrew se encargara de descargar wine y sus dependencias y los compilara, esto se tomara unos minutos. Cuando haya terminado este proceso ya tendremos Wine instalado y podemos pasar a instalar la aplicación Windows que queremos ejecutar. A esta altura, solo necesitamos la instalación del programa que queremos ejecutar en nuestra Mac. Usaremos como ejemplo la aplicación que les mencione al inicio, UltraVNC. Lo descargamos de esta pagina y guardamos la instalación en cualquier carpeta, por ejemplo en 'Downloads'. Abrimos nuevamente una Terminal, nos movemos a la carpeta donde tenemos la instalación del programa y ejecutamos el siguiente comando:

$ wine UltraVNC_1.0.9.6.1_Setup.exe

Si todo ha salido bien, veremos la siguiente ventana:

Instalacion VNC

De aquí en adelante solo tenemos que hacer como en cualquier instalación en Windows, presionar "Ok" y luego Next, Next, Next. Los programas que instala wine se ubican por defecto en:

 "/Users/usuario/.wine/drive_c/Program Files/Aplicacion"

Donde "usuario" es el home folder del usuario con el estamos logeados y ejecutamos wine, y "Aplicación" es el folder que creo la aplicación que instalamos, para el caso de este ejemplo esta carpeta es "UltraVNC". Así que para abrir nuestra aplicación ejecutaremos el comando:

 $ wine /Users/usuario/.wine/drive_c/Program \Files\UltraVNC/vncviewer.exe

Entonces abrirá nuestra aplicación:

UltraVNC

Y ya tenemos nuestra aplicación corriendo en Mac OS 10. Pero como seguramente están pensando, no resulta cómodo ejecutar la aplicación con esta linea de comando cada vez que necesitemos la aplicación, así que en el próximo post veremos como crear un acceso directo para la aplicación y crearle también su icono de acceso para el Dock, mientras tanto vayan instalando sus aplicaciones.

Crear Shortcuts Para Aplicaciones Wine en Mac OS X

domingo, 24 de febrero de 2013

Bloquear Youtube y Permitir Solo Algunos Videos con Squid

Posiblemente les haya pasado esto, bloquean Youtube en su red con Squid, un día les informan que hay un video que necesitan que varios usuarios puedan ver. Una forma rápida sera permitir el acceso a Youtube a ese usuario o grupo de usuarios. Y que si el video deben verlo todos los usuarios? Esto me paso varias veces y estuve buscando una forma de permitir solo algunos videos pero no encontré como hacerlo, así que me puse a buscar la forma de hacerlo y aquí se la presento. Lo primero claro esta seria bloquear Youtube, esta parte me imagino que ya todos lo tienen. Para esto usaremos la forma mas sencilla, que seria bloqueando el dominio youtube.com, algo como esto:

acl youtube dstdomain .youtube.com
http_access deny youtube all

Estas reglas bloquearan el acceso al dominio Youtube, pero como saben hay cantidades de sitios Web donde se puede ver videos Online, una forma mas efectiva es bloquear el tipo de archivo (mime type) .FLV que es el que se transfiere desde estas paginas, crearíamos entonces las siguientes reglas:

acl video-files rep_mime_type video/x-flv
http_reply_access deny video-files

Con esto ya hemos bloqueado todos los videos, y seguro que esta es la configuracion que actualmente tienen. Ahora vamos a identificar el video que queremos permitir y luego modificar la regla para permitir ese video en especifico. Bien, supongamos que nos pasan el siguiente video y quieren circularlo para que todos lo puedan ver. Pongamos por ejemplo este:


Lo que haremos entonces sera tomar lo que esta despues del signo de igual "=" (en el caso del video de ejemplo seria aBhYULqQsdM)  y copiarlo. Esto es la identificacion del video. Luego iremos a nuestra regla de Squid y agregaremos lo siguiente:

acl youtube dstdomain .youtube.com
acl videos-permitidos urlpath_regex /videoplayback
acl videos-permitidos urlpath_regex aBhYULqQsdM
http_access allow youtube videos-permitidos
http_access deny youtube all
http_reply_access allow youtube videos-permitidos

Como pueden ver agregamos el acl "videos-permitidos" y estamos utilizando "urlpath_regex" y le agregamos el identificador del video que queremos permitir, también agregamos a este mismo acl la cadena de caracteres "/videoplayback",  cuando se solicita algún video esta cadena se agrega al url. Luego permitimos el acceso al dominio Youtube.com solo a las paginas que tengan esas cadena de caracteres en su URL. Con esto se podrá acceder a Youtube para las paginas que especifiquemos. Para no tener que agregar varias lineas en el caso de que queramos permitir varios videos para los usuarios, una mejor forma seria crear un archivo y agregar cada identificador de los videos que vayamos a permitir. Por ejemplo, podemos crear un archivo el archivo de texto "/etc/squid/videos-permitidos.acl" y agregar aquí los identificadores, el contenido del archivo se vería de esta forma:

/videoplayback
aBhYULqQsdM
AV-glc90fKg
kZ2NA--PFbE

Nuestra configuracion se vería entonces de esta manera:

acl youtube dstdomain .youtube.com
acl videos-permitidos urlpath_regex "/etc/squid/videos-permtidos.acl"
http_access allow youtube videos-permitidos
http_access deny youtube all
http_reply_access allow youtube videos-permitidos

Ahora, cada vez que queramos permitir un video de Youtube solo tenemos que agregar en este archivo el identificador del video. Bueno, hasta aquí esta pequeña guia. Espero que les funcione y les sea de utilidad.

miércoles, 20 de febrero de 2013

Programar Backups Routers Cisco

Regularmente hago copias de la conflagración de los Routers de mi red, lo hago copiando la "running-config" a un archivo de texto vía TFTP con el comando "copy running-config tftp:". En estos dias pense "mm, seguro que debe haber una forma de programar esto, alguna especie de cron", y efectivamente, se pueden programar tareas en los equipos Cisco con el comando Kron. El procedimiento es bastante sencillo,  primero se crea una lista de los comandos que queremos ejecutar y luego se especifica cuando se realizara esta tarea creando un "ocurrence". Bien, lo primero que necesitaran es un servidor TFTP, les recomiendo este. Luego que tengan su TFTP server funcionando, se logean a su Router para configurar el Kron. Una vez estén dentro, crearemos la lista de comandos que queremos ejecutar:

Router(config)#kron policy-list NombrePolitica

Donde "NombrePolitica" es el nombre que le daremos al listado que estamos creando. Presionamos enter y como podremos ver en el Promp, estaremos dentro del "Policy-list" que acabamos de crear. Aquí entonces agregaremos los comandos o acciones que queremos que se realicen automaticamente, en nuestro caso, sera copiar la configuración del Router al servidor TFTP. Ejecutaremos entonces lo siguiente:

Router(config-kron-policy)#cli sh run | redirect tftp://IP-TFTP-SERVER/nombre-archivo.cfg

luego:

Router(config-kron-policy)#exit

En la primera de las 2 lineas anteriores, iniciamos escribiendo "cli" y luego escribimos "sh run", como saben este comando mostrara la configuracion actual del router. Luego agregamos " | redirect tftp://ip-tftp-server/archivo.conf", lo que hacemos con esto es tomar la salida del comando anterior y redireccionarla a nuestro TFTP server. Como se imaginaran tendran que sustituir "IP-TFTP-SERVER" por la dirección IP de su servidor TFTP, luego escriben el nombre del archivo que se creara con la conflagración del router. Esto sera un archivo de texto, pueden ponerle o no extensión, en mi caso prefiero ponerle ".cfg". Como en este caso solo queremos programar la copia de la configuración, salimos de la edición de la lista con la segunda linea: "exit". En caso de que quieran programar otros comandos, deben tener pendiente que kron no soporta comandos interactivos, o sea, comandos que necesiten alguna acción o respuesta del usuario. Ya tenemos el listado de las acciones que realizara kron, ahora tenemos que indicarle cuando las realizara. Para esto ejecutamos el siguiente comando:

Router(config)#kron occurrence Nombre-ocurrance at 23:00 Sun recurring
luego:

Router(config-kron-occurrence)#policy-list NombrePolitica

En las lineas anteriores creamos el "occurrence" con el comando "kron occurrence", a este tambien le asignaremos un nombre que no tiene necesariamente que coincidir con el listado que creamos anteriormente. Luego especificamos el horario en que se ejecutara, en el caso de este ejemplo correra a las 11 de la noche de cada Domingo (23:00 Sun), como queremos que estas acciones se realicen recurrentemente agregamos al final "recurring", y presionamos "enter". Como pueden ver, el promp cambiara nuevamente indicando que estamos dentro de la configuracion del "occurrence". Aqui entonces indicaremos el listado que creamos anteriormente con el comando "policy-list NombrePolitica", y que como se imaginaran tienen que remplazar "NombrePolitica" por el nombre que le hayan puesto al listado (Policy-list) que crearon al inicio. Con esto ya tenemos nuestra "tarea" programada en nuestro router o switch. Podemos confirmar o verificar que se haya programado correctamente con el siguiente comando:

Router#sh kron schedule

Con esto veremos la fecha próxima en que se realizara la tarea que acabamos de programar. Bueno, hasta aqui este post, el primero del 2013, y como siempre espero que les haya sido de utilidad. En caso de que no hayan entendido mi explicación pueden leer mas sobre esto en esta pagina.