viernes, 6 de septiembre de 2013

Ripear web con HTtrack

En multitud de ocasiones es necesario que tengamos una copia de una web sin necesidad de que esté online. Incluso se nos puede dar el caso de que tengamos que empezar a desarrollar una web desde 0; y nos vendría bien tener un boceto de una página web que nos guste por estética. Para ello tenemos diversas herramientas de ripeo web.

Ripear una web no es más que ejecutar un programa que recorra de forma recursiva toda la página y descargue todo el contenido HTML, las hojas de estilos, .htacces, imágenes, etc. Por razones obvias no descargan el contenido PHP ya que esté contenido se ejecuta en el servidor y no tenemos forma de acceder a él desde fuera.

Para hacer está tarea hay un programa con licencia GPL llamado HTtrack que está disponible tanto para windows como para Linux y Mac. Podeís descargarlo de la web oficial.

Saludos curiosos.

jueves, 4 de julio de 2013

Cómo ganar dinero en Internet

Hace algún tiempo que llevo dándole vueltas a la respuesta a esta pregunta y creo que poco a poco se puede ir vislumbrando.
Resulta que hace ya así como dos años que mi gran amigo Pablo me dijo aquello de: "Jesús, por qué no pensamos en alguna idea que montar para ganar dinero por Internet juntos".
Y es que por aquel entonces ni él ni yo teníamos curro y claro, había que conseguir algo como fuera.
Es por ello que a raíz de esto empecé a darle movimientos a mis neuronas para dar con la respuesta a:¿Cómo ganar dinero en Internet?

Para algunos quizás la respuesta les venga rápido, pero si profundizamos a fondo veremos que hay algunos contratiempos.
En Internet se gana dinero de 3 formas:

  1. Montando tu propia empresa, del tipo que sea y comercializando uno o varios productos; o algún servicio en la red.
  2. Con todo lo que tiene que ver con contenido para adultos (+18).
  3. Publicidad.
La primera es muy obvia, pero claro si no se posee de un capital de inversión (cosa que no teníamos ni por asomo) es difícil llevarla a cabo.
La segunda probablemente sea la más rentable con diferencia de las 3, pero por cuestiones morales y éticas no íbamos a tocarla.
Y solo quedaba la tercera, la publicidad. Las grandes empresas mundiales pagan grandes cantidades de dinero a personas con un tráfico de Internet alto en sus webs, para que coloquen anuncios de sus empresas y cuando alguien clickee en ellos, se paga una cantidad al webmaster.

Tanto es así que incluso Google tiene su propio sistema de pago por publicidad con Adsense.

Pero al margen de todo esto hay una posibilidad que he descubierto recientemente sobre como ganar algo con la publicidad sin necesidad de tener una web propia.

Hispanoshare.com es una red CPA y PPD completamente en español que os permite, siendo usuarios registrados, poder compartir archivos y links y que se os pague por la cantidad de descargas o visitas de estos. Los pagos son semanales y son mediate distintas plataformas con PayPal, Payoneer, Payza y transferencia bancaria.

Os recomiendo que la probéis pues da muy buenos resultados. Saludos curiosos.

jueves, 9 de mayo de 2013

Aplicación web para detectar cuando se tarda en crackear una contraseña

Coincidiendo con el pasado martes día 7 de Mayo, denominado por Intel el día de la contraseña, McAfee ha liberado una herramienta web para ver el tiempo que se tardaría en crakear una contraseña dada.

Como todos sabemos, para que una contraseña tenga un nivel de seguridad alto, debería de tener al menos números  letras minúsculas y mayúsculas. Pero si le añadimos algún carácter raro como puntos, comas, asteriscos, etc... el nivel de seguridad aumentaría de forma considerable.

Debemos recordar también que las contraseñas han de ser largas, no menos de 10 caracteres.

Aquí tenéis la web de McAfee que está alojada en el dominio de Intel. Una de mis que uso de forma habitual tarda más de 227.000 años en romperse. ¿ Creéis que es lo suficientemente segura? Saludos curiosos.

Activar cliente Telnet en Windows 7

Hay muchas ocasiones en las que necesitamos saber si un determinado puerto está abierto en un servidor. Para poder hacer esto, desde Linux lo tenemos sencillo, con NMAP o TELNET.
¿Pero que hay si tenemos que hacer la comprobación desde una máquina windows?¿Es necesario que instalamos una determinada aplicación para hacer un Telnet?

La respuesta es que no puesto que windows si que incorpora un cliente Telnet por defecto, aunque no está activado. Veamos que es un cliente de Telnet y cómo poder activarlo en Windows 7.

TELNET es el nombre del protocolo de red para manejar de forma remota una máquina. Para poder usarlo solo necesitamos un cliente Telnet, una dirección IP y un puerto al que conectarse.

Veamos los pasos para activar el cliente en Windows 7 (en 8 son exactamente los mismo pasos).


  1. Accedemos al panel de control:
     
  2. Una vez aquí, seleccionas Programas:
  3. Ahora vamos a la sección de Activar o Desactivar características de Windows (localizada en el bloque de Programas y Características):
  4. En la pantalla que nos aparece, tenemos que marcar la parte de Cliente Telnet y pulsar aceptar:
Con ello ya tendremos activo nuestro Cliente de Telnet y podremos hacer peticiones a través de este protocolo a uno o varios servidores. Saludos curiosos.

miércoles, 8 de mayo de 2013

Nuevo repositorio para el repositorio multimedia de Debian


El repositorio multimedia de Debian, llamado anteriormente debian-multimedia, donde se encuentran gran cantidad de software multimedia para Debian y derivados ha cambiado de dominio.
De debian-multimedia.org pasan a deb-multimedia.org
El cambio se realizó hace un año, pero es posible que si no se había configurado este repositorio, no os funcione el dominio antiguo.
Para poder hacer efectivo el cambio solo debemos entrar en nuestro archivo de configuración de los repositorios llamado sources.list y modificar la línea del repositorio multimedia por lo siguiente:
deb http://debian-multimedia.org stable main non-free
En caso de que no tengáis ninguna línea para este repositorio solo tenéis que añadir la anterior al archivo. Saludos curiosos.

miércoles, 10 de abril de 2013

Solucionar error "No pubkey" con los repositorios de linux

Cuando estamos instalando un sistema basado en Debian unos de los problemas que nos pueden surgir es que cuando configuramos el archivo /etc/apt/sources.list e incluimos algún repositorio nuevo; este no tenga clave pública y cuando realizamos el aptitude update nos arroja el siguiente error:

GPG error: http://www.deb-multimedia.org stable Realese: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 07DC563D1F41B907

Aunque a pesar de este error podemos instalar paquetes, lo ideal es que consigamos la clave pública del repositorio ya que de no ser así no tendremos garantía de autenticidad del paquete. Veamos como podemos hacerlo.

En primer lugar debemos instalar el paquete gnupg si no está instalado. El cual es una herramienta de cifrado y firmas digitales de licencia libre.

Luego pasamos a ejecutar el programa pgp como root. De ese modo se va a crear el directorio /root/.gnupg con los ficheros de configuración por defecto.

Ahora editamos el fichero /root/.gnupg/gpg.conf y en caso de que exista debemos añadir o descomentar la línea siguiente. En caso de que no tengamos este fichero podemos obviar este paso:
keyserver-options auto-key-retrieve

Para crear la clave pública correspondiente a la firme debemos de ejecutar el siguiente comando:
gpg --keyserver subkeys.pgp.net --recv-keys 07DC563D1F41B907

(Los últimos datos se han de sustituir por el código de firma que nos salga el error. En nuestro caso es 07DC563D1F41B907)

Ahora pasamos a incorporar la firma al anillo de llaves con el siguiente comando:

Si nos responde con un OK será indicativo de que todo se ha ejecutado de forma correcta.

Finalmente solo tenemos que realizar un aptitude update para actualizar la lista de paquetes del repositorio nuevo y listo. Saludos curiosos.

Error al actualizar el paquete multimedia de Debian en Linux

Últimamente he estado realizando cierto tipos de pruebas con mi equipo Debian. Algunas tenían que ver con una forma de realizar ataques de fuerza bruta utilizando una tarjeta de vídeo Nvidia, que permite una mayor capacidad de cómputo que los procesadores convencionales.

Debido a que el equipo de pruebas estaba algo desfasado, (tenía instalado debian Etch), no podía tener ciertos codecs de vídeo que me hacían falta para la tarjeta.

¿La solución? Añadir el repositorio multimedia a mi lista de repositorios.
Sin embargo, para mi sorpresa, al hacerlo y realizar el aptitude update el sistema me devolvía este error:

Failed to fetch http://www.debian-multimedia.org/dists/stable/main/binary-i386/Packages.gz  404 Not Found
Reading package lists... Done
E: Some index files failed to download, they have been ignored, or old ones used instead.

Supongo que a muchos también os ha pasado.
El problema viene dado porque desde hace algún tiempo  cambiaron el dominio del repositorio multimedia.

El nuevo es:

deb http://deb-multimedia.org stable main

Simplemente intercambiando la línea del antiguo dominio a este nuevo y realizando un nuevo aptitude update ya se soluciona y no nos arroja de nuevo el error. Saludos curiosos.

martes, 26 de marzo de 2013

Crear una lista de programas instalados en Linux

Al realizar copias de seguridad de un sistema Linux una de las prácticas que deberíamos llevar a cabo es hacer un respaldo de los programas instalados en el sistema. Esto lo haremos con el fin de que si tenemos que restaurar por algún problema el sistema sepamos que programas estaban instalados y podamos volver a instalarlos.

Ahora explicaremos cómo poder hacer esta lista desde la consola de Linux tanto para sistemas basados en Debian (Ubuntu, Debian, etc.) como para sistemas basados en RPM (Fedora, Red Hat, CentOS, Suse, etc).

Si estamos usando Debian o Ubuntu podemos realizar esta lista con un simple comando dpkg y redireccionar la salida a un fichero de texto:
#dpkg --get-selections > /backups/software_instalado.log

En caso de estar usando una distribución basada en RPM usamos el comando rpm y nuevamente redireccionamos la salida a un fichero de texto:
#rpm -qa > /backups/software_instalado.log

Con esto ya tendremos, además del respaldo de los ficheros del sistema, una lista de los programas instalados.

En caso de que tengamos que volver a instalar los programas tras una restauración del sistema debemos de usar  el siguiente comando para Debian:
#dpkg --get-selections < /backups/software_instalado.log

Una vez que se ha realizado la importación de los programas pasamos a instalarlos con dselect:
#dselect

Para instalarlos seleccionamos la opción i.

Estos son los comandos de restauración para los sistemas basados en RPM:
#LIST="$( cat /backups/software_instalado.log )"

Si usas yum:
#for s in $LIST; do yum -y install $s; done
#yum -y install $(cat /backups/software_instalado.log)

 Saludos curiosos.

miércoles, 20 de marzo de 2013

Instalación y configuración de Mailgraph para monitorizar un servidor de correo

Si trabajas habitualmente con Postfix como servidor de correo os habrá surgido la misma pregunta que nos surgió a nosotros: ¿Cómo puedo monitorizar los mensajes enviados y recibidos que llegan al servidor de correo?

Pues si trabajamos con entorno gráfico hay muchas aplicaciones que nos pueden ayudar a realizar esta tarea. Pero: ¿qué hay si no lo tenemos? ¿Podríamos tener algún tipo de script o aplicación que nos mostrara en tiempo real estadísticas sobre el servidor de correo sin necesidad de usar entorno gráfico?

La respuesta es que sí y se llama Mailgraph. Este es un sistema de estadísticas que utiliza como frontend RRDtool y permite recolectar de forma gráfica el número de correos enviados y recibidos en gráficos diarios, semanales, mensuales y anuales. La estructura de la aplicación es un script en perl corriendo en el servidor, que se encarga de recolectar los datos, y por otra parte un script cgi a través del cual se generan y se visualizan los gráficos vía web.

Instalación de Mailgraph

Como hemos mencionado anteriormente Mailgraph requiere tener instalado RRDtool y el módulo de perl File::Tail. RRDtool se puede instalar tanto desde el gestor de paquetes de Linux como compilándolo.
#aptitude install rrdtool.i386

El módulo de perl lo podemos instalar desde cpan:
cpan&gt; install File::Tail

Descargamos y descomprimimos la última versión del programa desde el sitio web oficial:
# wget http://mailgraph.shweikert.ch/pub/mailgraph-1.14.tar.gz
# tar -xzvf mailgraph-1.14.tar.gz
# cd mailgraph-1.14

Ahora nos vamos al fichero por defecto de Mailgraph y lo configuramos de la siguiente manera:
MAIL_LOG=/var/log/mail/mail.log
IGNORE_LOCALHOST=true

En la primera línea le indicamos cual es la ruta del log del servidor de correo. Y en la segunda le decimos a que ignore cualquier correo que tenga como origen o destino localhost.

Ahora pasamos a iniciar Mailgraph con el siguiente comando:
#/etc/init.d/mailgraph start

Con esto ya tendremos Mailgraph funcionando en nuestro servidor y podremos ver la actividad de postfix. Lo que muestra es algo parecido a esto con la información diaria, semanal, mensual y anual:



Si queréis ver un ejemplo real podéis acceder a este enlace. Saludos curiosos.

miércoles, 13 de marzo de 2013

Crakeo con John the Ripper 2/3: Instalación y configuración

La instalación de John the Ripper es bastante sencilla ya que podemos hacerlo descargándolo directamente desde los repositorios de Linux con un simple APT-GET. Pero lo cierto es que con este método a veces no descargamos la última versión, por lo que nosotros aconsejamos que lo descarguéis desde la web oficial y realizar una instalación manual  y su posterior configuración que pasamos a detallar:

Instalación

Descarga y descomprime la última versión del programa con el comando:

Ahora nos debemos colocar en la carpeta src del programa que es la que posee los archivos fuente:

Posteriormente debemos de compilar el programa para poder ejecutarlo con el comando make. En este apartado podemos realizar o bien la instalación genérica con make clean generic o bien indicar sobre que sistema se va a instalar con make clean . Está última es se usa para realizar una instalación en un sistema determinado en caso de que se desee distribuir el programa para una plataforma determinada. Las opciones de se obtiene en la ayuda del comando make. Como para nosotros esto no es necesario vamos a realizar la instalación genérica:

Con esto ya tendríamos el programa instalado en nuestro sistema. Ahora para poder ejecutarlo solo tendríamos que colocarnos en el directorio run y desde allí ejecutar el siguiente comando:

También podríamos usar un test para asegurarnos de que se ha instalado correctamente. Para ellos solo hay que ejecutar el siguiente comando:

Con esto ya tendríamos a John instalado y funcionando en nuestro sistema.

Configuración de John

John the Ripper posee un fichero de configuración donde se establecen las opciones generales de las características del programa. Estás pueden ser definición de diccionarios de passwords, modos de ejecución, reglas en el orden de diccionarios, rutas de ejecución, etc.
Este fichero se es john-1.7.9/run/john.conf, veamos algunas de sus principales características:

Opciones
En esta sección se definen los valores generales de ejecución. Estos son los siguientes:

Wordlist: Indica la ruta del diccionario de claves a utilizar en el proceso de crakeo, esta opción es útil al utilizar el modo diccionario. Como podemos ver John posee por defecto un diccionario de claves débiles aunque no es muy extenso, por lo que para un mayor rendimiento se recomienda el poseer uno de mayor tamaño.
Idle: Si está definida como "Y" indica que el programa solamente utilizará ciclos ociosos del procesador, reduciendo el impacto en la ejecución de otros procesos del sistema.
Save: Es el intervalo de tiempo en segundos en que se genera un punto de guardado de sesión. Cuando un proceso de John es interrumpido por alguna razón, se genera un fichero que incluye información sobre la sesión; de este modo se pude seguir realizando el proceso desde el último punto guardado.
Beep: Si lo definimos a "Y" John generará un pitido "Beep" cuando se logre descifrar una contraseña válida.

Modo diccionario y singles
La sección del modo diccionario se declara con: [List:Rules:Wordlist] y la sección de modo single es declarada con esta sección [List:Rules:Single]. En ellas se definen algunas reglas para el proceso de crakeo y determinan características tales como clases de caracteres, constantes numéricas y variables, comandos de cadenas, comandos de control de longitud, comandos de conversión de juegos de caracteres, etc.

Modo incremental
Se define con: [Incremental:tipo_de_modo], donde tipo_de_modo es simplemente un nombre predefinido que permite separar modos incrementales para cada juego de caracteres:
File: Es el fichero donde se encuentra el juego de caracteres a utilizar.
MinLen: Indica el número mínimo de caracteres para la longitud de password, por defecto es 1.
MaxLen: Indica el número máximo de caracteres para la longitud de la password, por defecto es 8.
CharCount: Permite limitar el número de caracteres que serán utilizados, de este modo John nunca intentará utilizar caracteres raros y utilizarlos en las combinaciones.

Modo externo
La sección destinada al modo externo, que como se comento en la anterior entrada, tiene la utilidad de definir rutinas escritas en C, para que John las ejecute, se define con: [List.External:tipo_de_modo] donde tipo_de_modo es cualquier texto indicativo que defina la rutina.
Algunas funciones que se pueden definir son:
init(): Se invoca en el inicio del programa, se encarga de inicializar variables globales.
filter(): Se invoca para cada palabra tratada, de esta forma se pueden filtrar algunas. Se recomienda no utilizar este método cuando se utiliza con el propio generate(). Es mejor modificar generate() para generar palabras que podrían ser filtradas.
generate(): Se invoca para generar la siguiente palabra a tratar.
restore(): Se invoca cuando se restablece una sesión interrumpida.
Además de esto el modo externo tienen la facilidad de ser compatible con todos los otros modos simplemente utilizando la opción -make-charset.

En el próximo artículo de la serie veremos cómo usar el programa para atacar contraseñas reales usando los distintos modos que explicamos anteriormente. Saludos curiosos.

miércoles, 6 de marzo de 2013

Generar claves y CSR en Apache para un certificado de seguridad

En multitud de ocasiones tenemos el problema de que poseemos una web que realiza pagos online y lo normal es que esas zonas estén protegidas con certificados de seguridad.

Para poder obtener este tipo de certificados es necesario que una entidad certificadora oficial nos lo proporcione. Hay muchas que se dedican a esto VeriSign, GeoTrust, GlobalSign, etc...

Ahora para que la empresa nos genere el certificado es necesario que nosotros tengamos nuestras claves privadas y públicas en el servidor. La petición de firma del certificado (CSR) es lo que le enviaremos a la entidad certificadora para que nos genere el certificado.

Vamos a ver cómo generar las claves para obtener el certificado.

En nuestro caso estamos trabajando con el servidor Apache bajo Linux, pero los comandos son igualmente aplicables para Windows Server.

1º Generar el par de claves

Para poder realizar está tarea tenemos la herramienta OpenSSL que nos permite generar las claves y el CSR. Normalmente está instalado por defecto.
Pasamos a generar la clave privada con el siguiente comando:
#openssl genrsa -des3 -out www.dominioaproteger.com.key 2048

En caso de que no queramos poner una contraseña para proteger el par de claves podemos prescindir del atributo: -des3 pero no tendremos protegidas el par de claves.

2º Generar el CSR

Para generar el CSR utilizamos el siguiente comando:
#openssl req -new -key www.dominioaaproteger.com.key -out www.dominioaproteger.com.csr

Si anteriormente usamos el comando -des3 para proteger la clave con contraseña nos pedirá que volvamos a introducirla.

Ahora nos pide información acerca del certificado:
País: Código del 2 dígitos del país.

Estado/Provincia: Provincia o estado donde se encuentra la organización.

Localidad: Localidad donde se encuentra la organización.

Organización: Nombre de la organización o empresa que pide el certificado.

Unidad organizativa: Nombre del departamento de la empresa que gestiona el certificado.

Nombre Común: La URL completa que se vaya a proteger. En nuestro caso www.dominioaproteger.com

El resto de campos no es necesario rellenarlos.
Con esto ya tendríamos listo todo lo necesario para poder contratar el certificado de seguridad para nuestro domino. Saludos curiosos.

viernes, 1 de marzo de 2013

Crakeo con John the Ripper 1/3: Conceptos básicos

John the Ripper es una utilidad que permite crakear diferentes tipos de hashes para obtener passwords en base a distintas técnicas como ataques por diccionario o por fuerza bruta. Tiene versiones tanto para Windows como para Linux.

Se utiliza bajo línea de comandos. Se ejecuta en distintos modos en función de la necesidad que se haya creado.

Modos de John de The Ripper

Los modos son el mecanismo empleado por el programa para realizar el proceso de craqueo sobre un fichero de hashes. El modo definido define la forma con la que se va a intentar obtener las credenciales encriptadas.

Modo diccionario

Es el modo más común en los ataques. Consiste en realizar el craqueo pasando un diccionario de claves (fichero) y usando una técnica de prueba y error. El proceso a nivel de cómputo es costoso, pero es una técnica muy efectiva si se tiene un diccionario con un gran número de claves y siempre y cuando la fortaleza de la clave almacena en el hash no se excepcionalmente alta.

Modo single

En este modo JtR utilizará un amplio números de reglas predeterminadas. Aquí lo que hace es usar la información del nombre de inicio de sesión, apellidos e información del usuario combinada.
Este modo solo es efectivo cuando ya se ha comprometido el sistema en cuestión y el atacante ya tiene una cuenta limitada en el sistema y pretende conseguir una cuenta de administrador. Es más rápido que el modo diccionario pero depende de la información recolectada, si está no se tiene la probabilidad de fracaso es desgraciadamente excesivamente alta.

Modo incremental

Es el modo más completo y potente que posee JtR. Consiste en combinar todos los caracteres existentes para sacar la password. El mayor problema es que dependiendo de la fortaleza y la longitud de la contraseña este proceso podría llegar a ser eterno. Entonces ¿cuál es el beneficio de su uso? Pues que con él podemos especificar un juego de caracteres y una longitud de la contraseña por lo que tardará mucho menos el proceso.

Modo externo

Consiste en usar un programa externo, escrito en C y definir un conjunto de funciones que son compiladas y utilizadas por John.

Como vemos es un programa muy versátil, que podemos usar como queremos.
Posteriormente explicaremos su instalación y configuración. Saludos curiosos.

miércoles, 20 de febrero de 2013

Problema de Inicio de Oracle SQL Developer

Tras la instalación de Oracle 10g nos arroja un error al iniciar SQL developer. Puesto que busca un archivo y no lo encuentra.

La ruta correcta del archivo es la siguiente:

/app/usuari/product/11.2.07dbhome_17jdk/bin/java.exe


Ahora pasamos a configurar el sqldeveloper.cong que se encuentra en la siguiente ruta:

/sqldeveloper/sqldeveloper/bin

y agregar las siguientes líneas:

AddVMOption -Duser.languaje=ES
AddVMOption -Duser.region=US

Con esto solucionamos el error. Saludos curiosos.

miércoles, 13 de febrero de 2013

Inserción de vídeos en HTML5

Como ya sabéis la ultima versión de HTML (HTML5) permite la inserción de vídeos de forma nativa en la web sin necesidad de usar plugins adicionales.
Antes de la salida de HTML5 el principal método de inserción de vídeos era el plugin de flash, con YouTube como precursor principal de él.
La ventaja de usar ahora HTML5 es que simplemente con la etiqueta video podemos insertar fácilmente los vídeos.
Estos son algunos de los formatos y los navegadores que los soportan:

CódecTipoIE >=9FirefoxChromeSafariOpera
Ogg TheoraLibrenosisinosi
H.264Propietariosinonosino
VP8Librenosisinosi
¿Cómo utilizarlo?

El elemento video es muy parecido al ya existente audio con los atributos autoplay, preload, etc. Con el atributo src se especifica la fuente del archivo usado. También podemos definir el tamaño que va a ocupar el elemento en la página:

También podemos archivos en diferentes formatos para que en caso de que un navegador no soporte un tipo, pueda reproducir otro:

En caso de que queremos establecer una imagen predeterminada para el vídeo, solo hay que usar el atributo poster:

Para los que usan IE8 o inferiores también podemos realizar una pequeña trampa para poder seguir usando el plugin de flash ya que estos navegadores no soportan HTML5. Lo hacemos con la etiqueta object:

Con esto ya tendremos insertado en nuestra web un vídeo con HTML5. Saludos curiosos.

Install Drupal 8 in CentOS

Drupal is an open source, flexible, highly scalable and secure Content Management System (CMS) which allows users to easily build and create...