Archivo de la categoría: Seguridad

Crear la maquina virtual de Metasploitable3

Hace poco Rapid7 a puesto a disposición una nueva versión Metasploitable, una maquina virtual que nos permite practicar técnicas de pentesting sin tener que “romper” nada. Estas maquinas esta preparadas con múltiples vulnerabilidades lo que permite practicar deber técnicas de hacking.

Nueva versión de Metasploitable 3

Ha diferencia de las maquina anteriores, en las que estaban basadasMetasploitable 3 - Rapid7 en Linux. Esta nueva versión esta basada en una versión de Windows Server, en concreto en la 2008 r2.

Las versiones anteriores de estas maquinas estaban disponibles las maquinas virtuales completas. En esta ocasión, lo que dispones en el Github de Rapid7 son unos script, tanto para Linux, como para Windows, realizado con PowerShell, para crear nuestra máquina.

En fichero de README.md, tenemos los pasos que debemos seguir para crear la maquina, ya sea de forma automática, utilizando los script anteriores, o de forma manual, que no deja de ser los pasos contenidos en los ficheros, introducidos manualmente por nosotros en la consola, ya sea en linux, o en windows.

Programas necesarios para crear la maquina

Para la creación de la maquina virtual tenemos que tener varios programas, en unas versiones en concreto para su realización.

VirtualBox 5.1.6

Lo primero que tendremos que tener instalado, sera la versión 5.1.6 de VirtualBox, por que dice la ultima versión de VirtualBox la 5.1.8 tiene un fallo que no permite el correcto funcionamiento del script. Podemos descargar la versión coreccta de VirtualBox desde esta dirección https://www.virtualbox.org/wiki/Download_Old_Builds_5_1

Una vez descargado el VirtualBox en la versión adecuada los instalamos. En mi caso con Ubuntu.

Packer

Otro programa que debemos tener en nuestro sistema es Packer, que permite la creación y distribución de la maquina, si quieres saber mas sobre este programa puedes echarle un vistazo a su pagina. Para instalar este programa solo tenemos que descargar la ultima versión desde la pagina. En mi caso con Ubuntu, solo tuve que descomprimir el fichero, y agregar la ruta donde se encuentra a la variable Path del sistema. Para agregar la ruta del Packer en Linux.

Cambiaremos “~/packer” por la ruta donde hallamos descomprimido el fichero.

Vagrant

Otro de los programas que necesitaremos tener instalados es Vagrant y Vagrant Reload Plugin. En el caso de Ubuntu podemos hacerlo mediante los repositorios del sistemas.

Una vez que tenemos instalado Vagrant, instalamos el plugin

Crear la máquina virtual de Metasploitable 3

Una instalados todos los programas, ya podemos ejecutar el script. Con Ubuntu.

Lo primero que hace el script, es verificar que disponemos de los programas, y en la versión adecuado. Si todo esta bien, descargara la imagen desde el servidor de Microsoft del Windows Server 20008 r2. Una vez descargada la imagen instalara y configurara el sistema. Por último creara la maquina virtual.

Una vez que termine correctamente el script, se habrá creado un fichero con el siguiente nombre “windows_2008_r2_virtualbox.box”. Este fichero es el que contiene la máquina virtual.

Para agregar la maquina a nuestra copia de VirtualBox ejecutaremos el comando “vagrant up”, este comando creará y configurará la maquina virtual para que este accesible en nuestro VirtualBox.

Y con estos paso ya tenemos nuestra nueva maquina vulnerable para divertirnos un rato.

Si tienes alguna duda o sugerencia puedes dejarnos un comentario.

Proteger carpetas en Apache con .htaccess

Uno de los métodos más habituales para proteger carpetas en un servidor web bajo Apache, es la utilización del archivo .htaccess.

Proteger un directorio con .htaccess en Apache

Lo primero que tenemos que tener en cuenta, es si nuestro servidor Proteger directorios con .htaccessweb tiene activada la opción de trabajar con el fichero .htaccess.

Para comprobar si tenemos activada esta opción, es mirar en el fichero de configuración “/etc/apache2/sites-available/000-default.conf”, si no tenemos creado ningun virtual host, si tenemos el siguiente parámetro.

Si en nuestro fichero de configuración existe este parametro, pero con el atributo de “None”, cambiaremos este por “All”.

Con este parametro le indicamos a Apache que reconozca todas las directivas que encuentre dentro del fichero .htaccess. Si solo queremos que tenga en cuenta las directivas de autenticación en vez de poner “All” tendremos que poner “AuthConfig”.

Si tenemos creados virtual host, esto los tendremos que comprobar en el  fichero que hayamos utilizado para crear la configuración de nuestro virtual host.

Ejemplo de configuración.

Crear nuestro fichero de contraseñas

Lo primero que tenemos que tener para proteger nuestra carpeta es un fichero con las contraseñas a las que vamos ha permitir el acceso. Este fichero contendrá el nombre de usuario y la contraseña codificada en MD5.

Para crear el fichero utilizaremos el siguiente programa.

Con el parametro “-c” le indicamos a htpasswd que vamos ha crear un fichero nuevo de contraseñas. Si el fichero ya existiera, este seria borrado.

Luego indicaremos la ruta completa donde queremos guardar el fichero con las contraseñas, no tiene por que estar dentro de las carpetas del servidor web, pero si tiene que tener los permisos para acceder a el.

Por ultimo le indicaremos el nombre de usuario que deseamos utilizar para esa contraseña.

Una vez finalizado nos quedara un fichero con la siguiente linea.

Si queremos añadir más usuarios a nuestro fichero, simplemente no utilizaremos el parámetro “-c”, quedando de la siguiente manera.

Crear el fichero .htaccess

Para crear el fichero .htaccess, nos situaremos dentro del directorio que deseamos proteger.

Creamos el fichero .htaccess con nuestro editor favorito, en mi caso nano

Si el usuario con el estamos trabajando no tuviera los permisos suficientes para trabajar en el directorio que intentamos proteger, la creariamos utilizando “sudo”

Si creamos el fichero, con cualquier usuario que no sea www-data, cambiaremos el propìetario del fichero, para no tener problemas.

Y añadimos las siguientes lineas al fichero .htaccess

De esta forma, solo los usuario que están en el fichero de contraseñas que hemos creado, tendrán acceso al directorio.

Si solo queremos, que unicamente, que acceda un usuario de la lista que hemos creado. Cambiaremos el parametro de “Requiere” por “user” más el nombre de usuario que deseemos que tenga acceso. Quedando de la siguiente forma.

Y con esto ya tendríamos implementado nuestro control de accesos a nuestro directorio.

Si tiene alguna duda o sugerencia, déjanos un comentario.

Personalización imagen ISO de VMWare ESXi 6.0 para un laboratorio de pentesting (II)

Personalización imagen ISO de VMWare ESXi 6.0

El principal problema que nos encontramos al instalar un sistema con VMWare ESXi 6.0 es la falta de drivers, principalmente, para las tarjetas de red. Este problema se resuelve fácilmente con añadir a nuestra iso de VMWare ESXi 6.0 el driver que necesitemos.
Para hacer esto podemos usar el script en PowerShell de “ESXi-Customizer-PS”, este script nos permitirá no solo personalizar nuestra iso de ESXi de la versión 6.0, si no también las versiones 5.0, 5.1 y 5.5. Tampoco tendremos que descargar la iso desde la web de VMWare para realizar la personalización, el script ya se encarga de descargar la iso de la versión que deseamos personalizar. El script también dispone de varios drivers de tarjetas de red, por que tampoco nos tendremos que preocupar de buscar los drivers de nuestra tarjeta.
Personalización imagen ISO ESXiPara hacer la personalización lo primero que tenemos que hacer es descargar el script desde la pagina de “VMware Front Experience”, también tenemos que tener instalado el PowerCLI de VMWare y la versión de PowerShell en la versión 2.0 o superior.

Inicio con ESXi-Customizer-PS

Para ejecutar el script solo tendremos que abrir una consola de PowerShell. Una vez abierta nos movemos hasta la carpeta donde tenemos descargado el script de ESXi-Customizar-PS,

Una vez en la carpeta de descarga ejecutamos el scrpit

Con esto simplemente descargaremos la imagen iso de ESXi de la versión 6.0 desde la pagina de VMWare sin ninguna modificación, una versión básica .

Parámetros de ESXi-Customizer-PS

Para ver los parámetros del script solo tenemos que ejecutar el script con el parámetro -help

Los principales parámetros disponibles son los siguientes.

Versión de la imagen iso que vamos a utilizar:

  • -v50: Versión de ESXi en la versión 5.0.
  • -v51: Versión de ESXi en la versión 5.1.
  • -v55: Versión de ESXi en la versión 5.5.
  • -v60: Versión de ESXi en la versión 6.0.

Utilizamos la versión 5.5  del VMWare ESXi.

Cargar los drivers desde la pagina de “VMware Front Experience” o desde una carpeta local

Para indicar al script que dirvers queremos cargar en nuestra imagen iso personalizada usaremos el parámetro -load, este parámetro crga los drivers desde la pagina de VMWare Front Experience o desde la carpeta local, los drivers que queramos instalar los pondremos después del parámetro separados por “,” (comas).

Este ejemplo nos creara una imagen iso del VMWare ESXi de la versión 6.0 con los drivers para tarjetas de red con el chip R8168 y E1000e, la imagen iso se guardara en la misma carpeta donde se encuentra en script.

Eliminar drivers y otro paquetes de la imagen iso basica.

Igual que podemos agregar nuevos drivers y paquetes a la imagen iso básica de ESXi, podemos eliminar paquete desde esta misma imagen iso. Para ello solo tenemos que ejecutar el script con el parámetro -remove

Este ejemplo haría lo contrario que el ejemplo anterior, eliminaría los drivers de la tarjeta de red con el chip R8168 y E1000E.

Obtener una lista con las imágenes iso disponibles

En ocasiones necesitamos personalizar una versión en concreto de ESXi, para obtener una lista con las isos disponibles en la web de VMWare podemos usar el parámetro -sip. El script se conectara con la web de VMWare y obtendrá un lista con las isos disponibles y un numero, al final del listado de las isos, el script nos pedirá que introduzcamos el numero correspondiente a la isos que queremos utilizar.

Indicar la carpeta para guardar la imagen iso personalizada

Si queremos que la imagen iso personaliza que nos creara el script se guarde en una carpeta distinta a la del script, se lo tendremos que indicar con el parámetro  -outDir <Ruta del directorio>

Indicar el nombre del fichero de la imagen iso personalizada

Además de poder indicar en que directorio vamos a guardar nuestra imagen iso personalizada, también podemos indicar el nombre del fichero que queremos utilizar. Esto lo podemos hacer con el parámetro -ozip <nombre del fichero>

Indicar la carpeta local donde se encuentran los drivers, en formato VIB

Para indicar al script donde se encuentran los drivers que no están disponibles online, sino que están descargados en nuestra maquina utilizaremos el parámetro -pkgDir <Directorio>

Hay más parámetros, pero estos son los básicos para poder agregar los drivers que necesitemos para poder instalar el sistema de VMWare ESXi en nuestro equipo.

 

Instalación VMWare ESXi 6.0 para un laboratorio de pentesting (I)

Instalación VMWare ESXi 6.0

Con  ESXi de VMware permite crear un sistema virtualizado sin tener que destinar muchos recursos al sistemas host o anfitrión. El sistema ESXi instala una versión básica de linux para poder ejecutar el software de virtualización. No dispone de ningún entrono gráfico, solo tiene unas opciones básicas para poder configurar el sistema, como puede ser la  tarjeta de red y su dirección IP tanto con versión IPv4 como IPv6. La configuración del teclado.  si permite el acceso a la consola del sistema remotamente, etc.

Los requerimientos básicos para poder instalar un ESXi 6 son:

  • Procesador de 64 bits de al menos 2 núcleos.
  • Tarjeta de red de 1 Gb.
  • Memoria de 4 Gb.
  • Disco duro de 1Gb.

Casi todas las placas de equipos montados con especificaciones de servidor no tendrán problemas con estas expecificaciones. Pero si lo vamos ha instalar en un equipos de tipo “domestico” hay muchas probabilidades, aunque la tarjeta de red sea de 1 Gb, que la instalación WMWare ESXi 6.0  no la reconozca. Eso no quiere decir que no podas instalar el ESXi en esa placa, pero si que tengamos que personalizar la imagen ISO del ESXi y añadirle el driver de nuestra tarjeta. Otro problema que nos podemos encontrar es, si el equipo en el que vamos ha realizar la instalación, tiene solo 4 Gb de memoria y tenemos un tarjeta gráfica con memoria compartida, esto hará que no podamos instalar el sistemas. La única solución que hay para esto es, si podemos desactivar la tarjeta gráfica, y liberar esa memoria que usa la tarjeta gráfica,  e instalar otra tarjeta externa, o bien, si no podemos hacer el cambio, aumentar la memoria ram.

Podemos descargar el fichero iso desde la propia pagina web de VMware. Para ello solo tendremos que crear una cuenta en la pagina de VMWare, ir a la zona de descargas de VMWare y descargar la imagen.

Como crear una unidad de USB con la imagen ISO del ESXi 6.

Para crear un usb con la imagen de instalación VMWare ESXi 6.0, podemos utilizar el programa Rufus. Este programa nos permitirá copiar la imagen a nuestra unidad usb sin ninguna complicación. Solo le tendremos que indicar en que dispositivo usb queremos cargar la unidad y el fichero iso que vamos a utilizar. Después del proceso ya tendremos nuestro usb listo para poder arrancar nuestro equipo con él e instalar VMWare ESXi 6.0.

Crear sub con ESXi 6.0
Crear USB arrancable con VMWare ESXi 6.0 y Rufus

Instalar VMWare ESXi 6.0 desde una unidad USB.

Al iniciar la instalación nos aparece un menú con la opción de arrancar la instalación de ESXi  o arrancar desde el disco local. Pulsamos “intro” sobre “ESXi-6.0-XXXXXXXXXX-standard installer” e iniciamos la instalación del sistema.

Instalación VMWare ESXi 6.0 imagen 1
Menu de arranque de VMWare ESXi 6.0

 

 

 

Después se realizara la cargar de los archivos básicos para poder realizar la instalación VMWare ESXi 6.0.

Instalación VMWare ESXi 6.0 imagen 2Despues de terminar de cargar los ficheros necesarios se ejecutara el instalador del VMWare ESXi 6.0

Instalación VMWare ESXi 6.0 imagen 3Si después de la pantalla de arriba, nos muestra esta pantalla de error, y nuestro equipo dispone de la tarjeta de red, es que el instalador de ESXi 6.0 no reconoce la tarjeta de red, y debemos personalizar nuestra iso de instalación VMWare ESXi 6.0.

Instalación VMWare ESXi 6.0 imagen 4
Error de adptador de red no encontrado en VMWare ESXi 6.0

Si todo a ido correctamente, y la tarjeta de red, la memoria, y demás características básicas se han cumplido nos aparecerá esta para iniciar la instalación VMWare ESXi 6.0

Instalación VMWare ESXi 6.0 imagen 5

Lo siguiente que nos pide el disco donde vamos ha realizar la instalación de sistema anfitrión.

VirtualBox_ESXi 6.0_07_01_2016_19_29_26
Seleccionar el disco donde se quiere instalar el sistema anfitrión

Si en el disco que hemos seleccionado ya existiera una instalación de VMWare nos indicara, si queremos hacer una instalación nueva, o si por lo contrario, queremos realizar una actualización del sistema ya instalado.

VirtualBox_ESXi 6.0_07_01_2016_19_29_51Lo siguiente que nos queda es seleccionar el idioma de la instalación.

VirtualBox_ESXi 6.0_07_01_2016_19_30_11
Seleccionar el idioma para la instalacion del VMWare ESXi 6.0

Contraseña del usuario root del sistema.

VirtualBox_ESXi 6.0_07_01_2016_19_30_34
Contraseña para el usuario root del sistema anfitrion del VMWare ESXi 6.0

Y confirmamos la instalación.

VirtualBox_ESXi 6.0_07_01_2016_19_32_05Después de realizar la copia de los ficheros y las configuraciones pertinentes, y si todo ha salido bien, nos aparecerá la siguiente pantalla, confirmándonos que la instalación a terminado satisfactoriamente, y que se procederá a reiniciar el equipo.

VirtualBox_ESXi 6.0_07_01_2016_19_33_52
Sistema instalado correctamente

Pantalla que nos indica que el sistema esta reiniciando.

VirtualBox_ESXi 6.0_07_01_2016_19_34_08 Y si el arranque no ha tenido ningún problema, esta sera la pantalla que nos aparezca. Ya tenemos el sistema instalado y ejecutándose.

VirtualBox_ESXi 6.0_07_01_2016_19_35_44
Pantalla principal del sistema VMWare ESXi 6.0 ya funcionando

A partir de aquí, solo nos queda instalar los sistemas que queremos que se ejecuten en nuestro sistema virtualizado, pero eso sera en otro post.

Si tienes alguna duda o sugerencia puedes dejar un comentario.

 

Hacer ping con visual C#

h-pingLa forma más fácil de comprobar que un equipo esta “vivo” en nuestra red es haciendo un ping. Lo que hace este comando es enviar un paquete ICMP al equipo que queremos verificar, el equipo al recibir este paquete devuelve una confirmación de recepción. Con esta acción ya hemos comprobado que el equipo esta funcionando y conectado.

Cuando nuestro programa en Visual C# tiene que conectarse a cualquier otro equipo, nos puede interesar antes de ejecutar las funciones de conexión es si ese equipo esta disponible o no. Podemos confirmarlo fácilmente haciéndole un ping.

Hacer ping con Visual C#

En la biblioteca de .Net “System.Net.NetworkInformation” tenemos disponible una función que nos hará ese trabajo. Para poder usarla tendremos que agregar a nuestro proyecto la siguiente referencia “System.Net”, podemos agregar tambien el namespace “System.Net.NetworkInformation” para facilitar el trabajo con las funciones.

Para hacer ping tendremos que crear dos objetos, un objeto “ping” como tal, este el que enviara el paquete ICMP. Y el objeto PingReply, este manejara la información devuelta.

Ejemplo de uso:

Explicación:

Creamos el objeto Ping.

Creamos una variable de tipo “int” para almacenar el tiempo de espera, este valor esta en milisegundos.

Creamos el objeto PingReply para el manejo de la respuesta del ping.

Variable de tipo “string” donde guardaremos la dirección IP del equipo que queremos verificar.

Hacemos el Ping, le pasamos como parámetros los la dirección Ip que queremos comprobar y el valor de tiempo de espera en milisegundos, este ultimo parámetro es opcional, indicándole la dirección Ip o el nombre del equipo seria suficiente. La respuesta se la pasamos al objeto PingReply.

Para comprobar el estado comprobamos el valor que nos devuelve PingReply.Status, este valor es del tipo “IPStatus”. Para saber si ha sido satisfactorio solo tenemos que comprobar que el estado es “IPStatus.Success”. Si se ha producido un error podemos comprobar el tipo de estado devuelto del “IPStatus”. Más información sobre “IPStatus” en la librería de MSDN

Desde el objeto PingReply podemos obtener otras informaciones, como puede ser la dirección Ip de la maquina remota, el tiempo que se ha tardado en realizar, valor devuelto en milisegundos, opciones que se ha utilizado para el envio del paquete ICMP o el buffer de los datos recibidos por el ICMP.

Ejecutar aplicaciones con permisos de administrador en Visual Studio c#

En algunas ocasiones necesitamos que nuestras aplicaciones se ejecuten con lo privilegios de administrador. Para hacer esto en una aplicación desarrollada con Visual C# tenemos que añadir a nuestro proyecto un fichero de “Archivo de manifiesto de aplicación”. Para agregar el fichero, accedemos “Proyecto” – “Agregar nuevo elemento”, y seleccionamos “Archivo de manifiesto de aplicación”.

Captura_Agregar_Nuevo_Elemento

Esto nos creara el fichero “app.manifest”.

Captura_Archivo_manifiesto_aplicacion
Este fichero contiene varias opciones de configuración, pero las opciones que nos interesan son:

requestedPrivileges
En la parte comentada nos muestra los niveles disponibles:

asInvoke: Nivel de seguridad por defecto.

requireAdministrator: Nivel de seguridad como administrador.

highestAvailable: Nivel de seguridad el mayor posible.

Para indicar que nuestra aplicación va a trabajar con nivel de seguridad de administrador, solo tenemos que copiar la linea:

requestedExecutionLevel_administrador
de la parte comentada, y sobre escribir:

de la parte no comentada.

requestedExecutionLevel_administrador_sobreescrito
Después de guardar los cambios, si le damos al botón de “Inicar”, el Visual Studio se reiniciara para ejecutarse con permisos de administrado.

Si ejecutamos el ejecutable de la aplicación nos mostrar la típica ventana para aceptar los privilegios de administrador.

¿Por que las empresas están dispuestas a perder todos sus datos?

Peligro WiFi publicas
Peligro WiFi publicas

Me gusta ver o asistir a todos los congresos de seguridad que puedo, pero cada vez que salgo de uno o termino de ver cualquier vídeo de alguna charla, me acojono cada vez.

En muchos de ellos siempre termina saliendo el mismo tema, “Como se puede concienciar a la gente sobre la seguridad en la red“. Cuando lo hablo con gente que no es de ese mundo, la contestación es la misma, “y a mi que mas me da, yo no tengo nada valioso en el ordenador“, o algo como “Eso es cosa de cuatro friquis” o “Eso es cosa de las empresas de antivirus“. Pero luego cuando pasa cosas como la que explica Chema Alonso en su blog ( “¡Me han cifrado los archivos y me piden dinero para descifrarlos!”. 5 Consejos para evitar un “Cryptolocker” ). Las cosas cambian.

“¡Me han cifrado los archivos y me piden dinero para descifrarlos!”. 5 Consejos para evitar un “Cryptolocker”

Entonces resulta que en el ordenador si teníamos cosas valiosas, y rápido te llaman para que se lo arregles. Cuando te lo traen, si nos es que tienes que ir tu a su casa por que no sabe como desconectarlo o por que pesa mucho, y le preguntas si tiene copias de seguridad “ehhhh que es eso”, “pufff es que no tengo tiempo“. Luego viene la otra pregunta, ¿No tienes instalado un antivirus?, la respuesta: “Para que, me vuelve muy lento el ordenador“, o otra típica, “Es que no me dejaba entrar en la pagina “www.velospartidosgratis.com” ( no se si existe, pero ya sabéis a que paginas me refiero) , que siempre te falta algo para poder ver los vídeos.

En un equipo particular no “pasa nada“, pierdes las fotos de las vacaciones, los correos con los amigos, los trabajos de la universidad, etc. Pero lo mas preocupante es cuando esto ocurre en una empresa.

La mayoría de empresas que tienen más de 20 equipos, solo tiene asistencia esporádica de un servicio técnico cuando le falla algo, y la mayoría de ellas, lo tiene segmentado, es decir, tiene una empresa que le lleva el software de gestión, otra que le lleva el mantenimiento de los ordenadores, otra de las comunicaciones, otra del telefonillo de la puerta, etc.

Y que pasa cuando falla algo:

  • Empresa del software de gestión: ah eso no es cosa nuestra, eso es cosa del ordenador.
  • Empresa del ordenador: A no eso es cosas del de sistema operativo, ellos solo llevan el hardware.
  • Empresa de comunicaciones: Eso no es cosa nuestra, nosotros no controlamos por donde navegan nuestro clientes, solo damos el acceso.
  • Etc, etc, etc.

Y así una detrás de otra, si se junta la cantidad que una empresa paga por esos servicios cubre con creces el disponer de un técnico en plantilla.

Una de las preguntas que surgió en el ultimo congreso que estuve fue,  “¿Como calculo lo que la empresa tardara en recuperar esa inversión?”. Y la respuesta del ponente me gusto mucho, no se quien fue le pido disculpas por ello, “El asunto no es cuando se recuperara la inversión, que posiblemente sera nunca, el asunto es: Se esta dispuestos asumir el riesgo de perder todo la información del negocio”.

Y esa es la clave de todo el asunto, las empresas no ven como una amenaza la posibilidad de que alguien o algo, les pueda hacer perder todos los datos de su organización. Los temas de seguridad informática los siguen viendo como una cosa de ciencia ficción, de cuatro pirados. Y la verdad es que cada vez el tema se esta poniendo más complicado.

Y es que, la perdida de los datos de una empresa puede ocasionar grandes perdidas, tanto económicas, como de reputación, etc. Cuanto tiempo le llevaría recuperarse de la perdida de simplemente la base de datos de clientes, y ya no digamos de la facturación, y otras de ese tipo. Pero esta posibilidad no esta contemplada en las empresas actuales. Pero a la vez incorporamos más sistemas a la organización que aumentan las posibles amenazas, instalamos un red wifi, para que cuando vengan los clientes pueden conectarse a la red para que puedan wasapear, twitear, etc, pero no pensamos que igual que se conectan a internet, también se pueden tener acceso a todos nuestros equipos. Abrimos puertos en nuestro routers para que los comerciales se puedan conectar a la red desde cualquier sitio, sin valorar la posibilidad de que igual que acceden los comerciales, pueden acceder otras personas con no muy buenas intenciones.

Valorar la posibilidad de incorporar un informático a la plantilla de la empresa, solo se mide si va ha ser rentable en el sentido económico. Y esto es una equivocación, en la actualidad con la cantidad de amenazas que existen, no solo para los ordenadores, sin no para los smartphones, las tablets, las redes de comunicaciones, etc. Una perdida de información en cualquiera de esos dispositivos puede provocar grandes perdidas a la empresa. Y hay es cuando se tiene que empezar a reflexionar si es rentable una persona que evite esas perdidas o no.

Crear maquinas virtuales con VirtualBox

Virtualbox_logoLos equipos actuales se suelen desaprovechar en un alto porcentaje, más de la mitad del tiempo, los equipos están sin hacer nada o en un porcentaje muy bajo de ocupación.

Para aprovechar estos tiempos se crearon unos programas que permiten poder instalar otro sistema operativo como si se estuviera ejecutando en la propia maquina, pero en realidad lo hace sobre una maquina virtual.

El funcionamiento de estos sistemas de es fácil, lo primero que hace falta es tener un sistemas anfitrión donde poder correr el programa de virtualización, estas maquinas no tiene por que tener un sistema operativo con los que normalmente conocemos (windows, linux, OSx, etc), puede ser unas pequeñas instrucciones en una memoria de la maquina que arranque las dispositivos y después llame al programa de virtualización. Luego están los sistemas invitados en los que podemos instalar desde la ultima versión de Windows 8.1, hasta MS-Dos con windows 3.1, cualquier versión de Linux o Unix, o OSx, IBM OS/2, etc.

En el mercado hay varias sistemas de virtualización, los más populares son VMWare, que copa casi todo el mercado, sobre todo para grandes sistemas, también tiene una versión para uso personal la VMWare Player. Luego esta VirtualBox, en la actualidad de Oracle y con una versión de software libre, esta es la versión que a mi personalmente más me gusta para pequeños sistemas. Microsoft también tiene su sistema de virtualización, pero este daba problemas cuando intentabas instalar alguna versión de Linux, eso si con los Windows no daba ningún problema, en la actualidad no se como trabaja.

VirtualBox lo podemos encontrar para cualquier sistema operativo, desde Linux, Windows o OSx. Solo tenemos en la pagina de VirtualBox y podemos descargar la versión para muestro sistemas.

Download VirtualBox

Una vez instalado ya podemos crear nuestro primer sistema virtual.

Para crear nuestro sistema virtual tenemos que asegurarnos de tener espacio suficiente en el disco duro para crear el fichero que contendrá el disco virtual, una copia del sistema operativo que queramos crear, puede ser en CD, DVD o una imagen ISO.

Arrancamos el programa de VirtualBox,

Ubuntu de pruebas - VirtualBox -1

Para crear nuestra maquina pulsamos en el botón de “Nueva”, donde nos aparecerá esta venta. En la casilla de “Nombre” insertamos el nombre con con el que identificaremos nuestra maquina. Si el nombre hace referencia algún sistema operativo que reconozca el VirtualBox, este no cambiara automáticamente las casillas de “Tipo” y “Versión”. Teniendo solo que verificar que la versión es la correcta. En el caso de que no la reconozca lo tendremos que hacer manualmente. En el caso de las distribuciones linux, posiblemente no se encuentre en las opciones disponibles, a no ser que sean una de las habituales, Ubuntu, Suse, OpenSuse, Debian, RedHat, etc. Si no aparece podemos  seleccionar la opción de ” Other Linux (32 bit)” si es una versión de 32 bit, “Other Linux 64 bit” para una de 64 bit, o seleccionar la versión de la que se base esa distribución.

Captura de pantalla de 2015-01-29 13:38:47Lo siguiente sera indicar cuanta memoria va ha utilizar la maquina virtual, ha que tener en cuenta que esta se le quitara al la maquina anfitrión, por lo que hay que elegirla con cuidado. El VirtualBox indica una cantidad por defecto dependiendo del sistema elegido. Aunque nosotros podremos cambiarla a la cantidad que queramos. El VirtualBox también nos marca unas zona, de color verde y rojo, para estar tranquilos de no  perjudicar al sistema anfitrión.

Captura de pantalla de 2015-01-29 13:40:28En la siguiente venta seleccionaremos si nuestro sistema va ha tener o no disco duro, y si de tenerlo le asignaremos uno nuevo, o si por lo contrario este ya existe. Por internet hay muchos sistemas ya virtualizados, que lo único que tenemos que hacer es descargarlo, indicarle al VirtualBox que ese es el que queremos utilizar y listo. En este caso seleccionaremos la opción de “Usar un archivo de disco duro virtual existente“, seleccionamos el fichero descargado y ya lo tendríamos funcionando.

Captura de pantalla de 2015-01-29 13:41:15Si hemos elegido la opción de crear uno nuevo, la siguiente ventana nos pedirá que elijamos el tipo. Para empezar los mejor es dejar la opción por defecto, tipo de disco “VDI (VirtualBox Disk Image)“.

Captura de pantalla de 2015-01-29 13:42:13Los disco virtuales pueden ser de dos tipos, de “Tamaño fijo“, se creara un fichero con el mismo tamaño que tamaño tendrá nuestro disco virtual. O “Reservado dinámicamente“, en este caso el fichero que almacena el disco se ira ajusta a las necesidades de uso del disco virtual de la maquina creada. Esta opción no quiere decir que podremos usar todo el tamaño del disco real, el tamaño del disco virtual se ira ajusta hasta llegar al tamaño que fijaremos en la siguiente ventana.

Captura de pantalla de 2015-01-29 13:42:39En esta ventana estableceremos el tamaño que el disco duro va ha tener de nuestra maquina virtual. En esta ventana también configuraremos donde queremos que se graben los ficheros que van ha contener nuestra maquina virtual.

Captura de pantalla de 2015-01-29 13:43:13Y con esto solo nos queda pulsar el botón de “Crear“, y el VirtualBox creara los ficheros de configuración, de disco virtual, etc. de nuestra maquina.

Captura de pantalla de 2015-01-29 18:05:11Una vez que ya tengamos creada nuestra maquina solo nos queda configurar la maquina, para una configuración básica, solo tendremos que indicarle donde esta el sistema desde donde vamos hacer la instalación. Para ello pulsaremos sobre el botón de “Configuración“. Dentro de esta ventana iremos a la opción de “Almacenamiento“, seleccionaremos la unidad de “CD”, que nos indicara que esta “Vacía“. Luego en la parte derecha de la ventana , en la parte de “Atributos“, marcaremos la opción de “CD/DVD vivo” si la copia de nuestro sistema la tenemos en CD/DVD, o si por el contrario, nuestro sistema esta en un fichero ISO, pulsaremos el icono del cd para cargar la imagen.

Captura de pantalla de 2015-01-29 18:05:11La otra configuración básica que nos queda por hacer sera  elegir que tipo de red queremos para nuestra maquina virtual. Si solo queremos es tener un acceso básica a la red, usar internet, sin querer acceder a otras maquinas de la red, podemos dejar la opción por defecto “NAT“.

Captura de pantalla de 2015-01-29 18:24:02Pulsamos el botón de “Aceptar” para guardar la configuración y ya podemos pulsar el botón de “Iniciar”. Esto encenderá nuestra maquina como si pulsaremos el  botón de encendido de nuestra maquina física. Lo único que nos queda es instalar el sistema de la misma manera que lo haríamos en una maquina normal.

Windows 7 - 1

Esto es la creación de una maquina virtual básica. También se le puede configurar para que una de las carpetas del sistema anfitrión funcione como una unidad de red compartida, que cuando insertemos cualquier dispositivo USB automáticamente  se active en la maquina invitada, También podemos indicarle cuantos procesadores va ha tener, cuantas pantallas, etc. También, y esto es una posibilidad que más provecho le encuentro, cuantas tarjetas de red va ha tener, esto no quiere decir que las tengamos que tener físicamente, podemos tener una física y hasta cuatro virtuales, y además,  como queremos que funcionen, si puede incluirse como un equipo normal a la red, si por el contrario solo puede ser accesible desde otras maquinas virtuales de su propio grupo, etc.

Pero eso creo que sera para otro post. Si tienes alguna pregunta, no dudes en dejar un comentario.

Problema con Aircrack-ng y el fixed channel mon0: -1

Wifi-logoHaciendo pruebas con una nueva tarjeta wifi (TP-LINK TL-WN722N – Adaptador de red USB (3 años de garantía, WPS, alta sensibilidad)), estuve probando si valía para auditorías de redes wifi. Para hacer esto lo habitual es usar el software de Aircrack-ng. Hace mucho que no hacia algo de esto pero con el nuevo chisme me entro el gusanillo.

Problema con Aircrack-ng y el fixed channel mon0: -1

Pero al final del proceso me encontré con una problema con Aircrack-ng, cuando se tiene que enlazar el adaptador al AP para inyectar trafico, me da un error diciendo que el adaptador esta escuchado en el canal -1 y no puede enlazar con el AP (fixed channel mon0: -1).

Pero lo primero voy ha explicar como lo hago, ya que el problema con Aircrack-ng es un problema heredado de todos los pasos, por lo menos en mi caso.

Lo primero que se tiene que hacer es poner el adaptador en modo monitor, esto se puede hacer con el siguiente comando de la suite.

Donde wlanx es el nombre de nuestro dispositivo. Esto nos crea un nuevo interfaces que suele ser mon0 (el 0 puede cambiar si este estuviera ocupado, pasado a 1, 2 3, etc. según el que este libre). Si no sabemos como se llama el adaptador, podemos obtener una lista de todos nuestros adaptadores de red con el siguiente comando.

Este nos devolverá una lista parecida a esta.

En mi caso el dispositivo es el WLan2.

El siguiente paso seria ver que redes tenemos a nuestro alcance, comando airodump-ng.

Nos mostrara la lista de redes que tenemos a nuestro alcance.

Una vez que sabemos que red vamos a testear, ejecutamos el comando airodump-ng para que empiece a capturar el trafico de esa red y guardar el trafico en un fichero.

Y nos mostrara una cabecera parecida a esto.

Y aquí se muestra si vamos ha tener el problema o no. Ya que airodump-ng esta fijando el canal de escucha al -1.

Después de esto solo tendríamos que utilizar aireplay para inyectar trafico para acelerar la recogida de datos (hay varios métodos, dependiendo de la protección de la wifi), la mas básica seria de la siguiente manera.

Y hay dependiendo el tipo de adaptador nos puede devolver el siguiente problema.

En el propio mensaje también nos dice como podemos ignorar este problema.

Quedando el comando de la siguiente forma.

Pero esto a veces no funciona, (como me a pasado) no nos deja enlazarnos al AP. En alguno sitios, explican que hay que instalar unos parches para el núcleo, otros que parchear el driver del adaptador, y no se que mas historias complicadas.

Para mi adaptador TL-WN722N (se junta podo en este adaptador, bueno, bonito y barato). La solución fue mucho más fácil que todo eso.

En vez de poner en modo monitor nuestro adaptador utilizando el comando de aircrack-ng (airmon-ng), solo es necesario ponerlo con los siguientes comandos.

Lo que hacemos con estos es lo siguiente:

ifconfig wlanx down: Desactivamos nuestro adaptador.

iwconfig wlanx mode monitor: activamos el modo monitor en nuestro adaptador (no me he equivocado es con “W” IWCONFIG)

ifconfig wlanx up: volvemos a activar nuestro adaptador, pero esta vez en modo monitor.

Ahora solo tenemos que poner los siguientes comandos para evitar problema con Aircrack-ng, pero en vez de poner mon0, tendremos que poner el nombre de nuestro adaptador (wlanx).

Y con esto ya tenemos resuelto el problema de “fixed channel mon0: -1”.

No se si esto solo soluciona el problema con mi adaptador en concreto, si tu tienes otro y te ha funciona, o por el contrario no te funciona, puedes dejar un comentario con tu experiencia.

Error – 413 Request Entity Too Large en LIghttpd

Servidor web Lighttpd
Servidor web Lighttpd

Estando montando un servidor ownCloud, bajo un servidor Debian y un servidor web Lighttpd, al empezar a subir los  ficheros, me daba este error, “413 Request Entity Too Large“, , este error ocurre cuando el tamaño del fichero que queremos subir es mas grande del limite establecido para ello, y no me dejaba subir ningún fichero que fuese mayor de 70kb.

En un principio pense que la configuración del php estaba limitando el tamaño del los ficheros que se podían subir, edite el fichero de configuración php.ini y comprobé los parámetros que limitan la subida de los archivos.

Los limite a 256 megas, pero aun así, el problema seguía.

Buscando por internet, vi que también el servidor Lighhtpd tiene unos parámetros que podían estar provocando la limitación de subida de los ficheros.

Estos son los parámetros que normalmente hacen referencia para poder establecer la limitación de la subida de los ficheros.

El parámetro “server.max-request-size” es el que establece el tamaño máximo de subida. El valor introducido esta  en Kb. Pero da igual el valor que se le ponga, esto no provoca el error en este momento.

El parámetro “server-network-backend” establece el permiso de escritura en la carpeta temporal.

y luego esta “server.upload-dirs” donde indicamos la carpeta temporal donde se va ha realizar la descarga. Este parámetro también viene por defecto en el fichero de configuración.

Y este es el parámetro que provoca este error. Da igual los permisos que se le den a esa carpeta, o quien sea el propietario de la carpeta. Mientras ese parámetro este en el fichero de configuración nos saltara ese error.