Consejo para vencer la procrastinación

0

Tu primer pensamiento al ver este articulo será “Lo leeré luego”.
Pero no lo harás. Deja de lado el impulso por hacer cualquier otra cosa y lee esto ahora! Te tomará un par de minutos y te ahorrará horas.
He escrito un libro sobre la procrastinación, pero hoy voy a hablar solo de una técnica muy simple para vencer nuestro nemesis favorito. Es muy facil, pero como con todo, se necesita un poco de practica.

Empecemos:
Identifica lo mas importante que tengas para hacer hoy.
Decide hacer solo una pequeña parte de ello – el primer minuto, 5 minutos, o incluso 30 segundos de ello. Empezar es la única cosa en el mundo que importa.
Elimina todas las distracciones. apaga el ordenador si no lo necesitas, cierra todos los programas que no vayas a utilizar. Tienes que ser sólo tú y tu tarea.
Siéntate y piensa en comenzar, no en hacer toda la tarea, simplemente en comenzar.

Concéntrate, comenzaras a tener impulsos que te desviaran de tu tarea. Querrás checkear tu correo, facebook, twitter, algun sitio de humor, o cualquier otra cosa. Querrás jugar algun juego, hacer una llamada, ver TV. Presta atención a estos impulsos, pero no te muevas. Nota esos impulsos, pero no los sigas, déjalos pasar. Los impulsos podrán ser intensos, pero luego pasaran, como una ola. Cada uno de ellos lo hará.
Nota también que tu mente tratara de buscar una justificación para no realizar la tarea. También déjalos pasar.

Comienza y el resto fluirá.

Traducción libre de este articulo.

Share

Montar automáticamente unidades SSH con SSHFS

0

Muchas veces trabajamos en servidores remotos y, por diferentes motivos, necesitamos tener una unidad montada localmente. Con sshfs podemos montar cualquier directorio remoto en un directorio local de la siguiente manera:

$ sshfs [nombre de usuario]@[host]:/[directorio remoto] /[directorio local]

Pero de esta forma, tendríamos que ingresar este comando cada vez que quisiéramos montar esta unidad. Para hacerlo de manera automatica, al inicio del sistema en GNU/Debian, agregamos esta linea a nuestro .bashrc (se ubica en nuestro home, en caso de que no exista deberemos crearlo):

$ echo "[contraseña]" | sshfs [user]@[host]:/[directorio remoto] /[directorio local] -o workaround=rename -o password_stdin

Por ejemplo, en el archivo /home/javier/.bashrc:

$ echo "asd123" | sshfs javier@ejemplo.com:/home/javier/ /home/javier/remoto -o workaround=rename -o password_stdin
Share

Wireshark 1.2.8 liberado

1

Wireshark es un muy poderoso analizador de protocolos de red. Es generalmente usado para la resolución de problemas, análisis de tráfico de red, desarrollo y también para la educación.

En sus comienzos fué conocido como Ethereal, pero con el paso del tiempo fué convirtiéndose hasta llegar a lo que se conoce hoy como Wireshark. Esta increíble aplicación para auditoría es muy popular, dado que soporta una gran cantidad de protocolos de red y además su uso es muy intuitivo: basta con probar el software un momento para comprenderlo.

Bueno luego de esa breve descripció, dejo el link de la noticia original, donde podrán encontrar la lista de bugs resueltos.

Share

AutoSuggest: Plugin jQuery para auto-completado

8

AutoSuggest es un plugin para jQuery que nos permite convertir fácilmente cualquier INPUT de texto en una caja con auto-completado. La misma se crea con una estructura HTML totalmente limpia y sin utilizar imágenes, lo que permite la fácil personalización visual con CSS. El plugin tiene un peso de apenas 9,6KiB.

Para utilizarlo, incluimos jQuery (en mi caso siempre lo cargo desde Google) y el plugin.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script src="../scripts/jquery.autoSuggest.minified.js" type="text/javascript"></script>

Se puede utilizar de la siguiente manera:

<script type="text/javascript">
$(function(){
    $("#auto").autoSuggest(data);
});
</script>

Donde #auto es el INPUT que queremos utilizar y data son las sugerencias, estas pueden ser obtenidas desde un array incluido en el mismo script (sin hacer una llamada ajax) o desde una URL (utilizando ajax). Veamos como un ejemplo utilizando un array dentro del mismo script:

<script type="text/javascript">
 data = {items: [
    {value: "Mick Jagger"},
    {value: "Johnny Storm"},
    {value: "Richard Hatch"},
    {value: "Kelly Slater"},
    {value: "Rudy Hamilton"},
    {value: "Michael Jordan"}
]};
$("#auto").autoSuggest(data.items);
</script>

O haciendo una peticion ajax:

<script type="text/javascript">
$("#auto").autoSuggest("auto.php");
</script>

Donde el script PHP puede ser algo como esto:

<?PHP
    $input = $_GET["q"];
    $data = array();
    // query your DataBase here looking for a match to $input
    $query = mysql_query("SELECT * FROM my_table WHERE my_field LIKE '%$input%'");
    while ($row = mysql_fetch_assoc($query)) {
        $json = array();
        $json['value'] = $row['id'];
        $json['name'] = $row['username'];
        $json['image'] = $row['user_photo'];
        $data[] = $json;
    }
    header("Content-type: application/json");
    echo json_encode($data);
?>

Cuando se van seleccionando las opciones, estas se guardan en un campo oculto separadas por coma. El name del campo oculto es as_values_ seguido del string que especifiquemos nosotros con la opcion asHtmlID. Por ej, si queremos que el name sea as_values_nombres:

<script type="text/javascript">
$("#auto").autoSuggest("auto.php", {asHtmlID: "nombres"});
</script>

Luego con PHP usamos:

$_POST['as_values_nombres'];

Tenemos algunas opciones mas:

selectionLimit: numero (Valor por defecto: Sin limite) Especifica la cantidad máxima de items que se pueden seleccionar, por ej si queremos que solo se puedan seleccionar 3 items:

<script type="text/javascript">
$("#auto").autoSuggest("auto.php", {asHtmlID: "nombres", selectionLimit: 3});
</script>

limitText: string (Valor por defecto: “No More Selections Are Allowed”) Texto que se muestra cuando se alcanza el limite especificado con selectionLimit.
emptyText: string (Valor por defecto: “No Results”) Texto que se muestra al no encontrar coincidencias
selectedItemProp:string (Valor por defecto: “value”) El nombre de la propiedad del objeto que se va a usar para mostrar.
selectedValuesProp:string (Valor por defecto: “value”) El nombre de la propiedad del objeto que se va a guardar en el campo oculto.
searchObjProps:string (Valor por defecto: “value”) El nombre de la propiedad del objeto que se va a usar para la busqueda. Si se quieren usar varias opciones se las puede separar con coma.
El uso de las tres opciones anteriores puede ser algo confuso, pero puede ser mas facil entenderlo con el siguiente ejemplo:

<script type="text/javascript">
var data = {items: [
    {value: "21", name: "Mick Jagger", searchname: "Mick Jagger, Mick Jager"},
    {value: "43", name: "Johnny Storm", searchname: "Johnny Storm"},
    {value: "46", name: "Richard Hatch", searchname: "Richard Hatch"},
    {value: "54", name: "Kelly Slater", searchname: "Kelly Slater"},
    {value: "55", name: "Rudy Hamilton", searchname: "Rudy Hamilton"},
    {value: "79", name: "Michael Jordan", searchname: "Michael Jordan"}
]};
$("#auto").autoSuggest("auto.php", {selectedValuesProp: "value", selectedItemProp: "name", searchObjProps: "searchname"});
</script>

De esa forma value se guardara en el campo oculto y sera enviado con el formulario (Si se selecciona a Mick Jagger y a Kelly Slater, entonces lo que se enviará con el formulario será: “21, 54″), name se mostrará al usuario y searchname se usará para buscar coincidencias con el texto ingresado.

startText: string (Valor por defecto: “Enter Name Here”) Texto a mostrar cuando el campo de texto esta vacío.
preFill: objeto o string (Valor por defecto: Objeto vacío) Opciones ya seleccionadas cuando se carga la pagina. Se le puede pasar un string con las opciones separadas por coma o un objeto.
queryParam: string (Valor por defecto: “q”) Nombre del parámetro que se va a usar para la petición ajax. auto.php?q=
retrieveLimit: numero (Vacío por defecto) Puede ser usado para especificar un limite en el query ajax ya que agrega un &limit= en el mismo.
extraParams: string (Vacío por defecto) Sirve para especificar cualquier otro parámetro en la petición ajax. En el caso de que sean varios, recordá seprarlos con un andpersand (&).
matchCase: true o false (Valor por defecto: false)  hace que la busqueda sea case sensitive en caso de ser true.
minChars: numero (Valor por defecto: 1)  Cantidad de caracteres que son necesarios para que comience la busqueda.
keyDelay: numero (Valor por defecto: 400) Tiempo de espera en milisegundos antes de que comience la búsqueda. El valor por defecto es 400.
showResultList: true o false (Valor por defecto: true) Si se establece en false, la lista desplegable con las opciones nunca se mostrará.
start: Permite establecer una función personalizada que se activa al ejecutar AutoSuggest (en la mayoria de los casos, al cargar la pagina).
selectionClick: Permite establecer una funcion personalizada que se activa cuando se hace click sobre una opcion ya haya sido seleccionada previamente.
selectionAdded: Permite establecer una funcion personlizada que se activa cuando se selecciona una opción de la lista.
selectionRemoved: Permite establecer una función personalizada que se activa cuando se elimina una opción ya seleccionada. Tal vez un efecto fadeout en el elemento eliminado.
beforeRetrieve: Funcion que se aplica antes de comenzar a buscar. Se puede usar por ej, para mostrar un gif “loading” mientras se hace la peticion ajax.
retrieveComplete: Funcion que se ejecuta cuando se termina de buscar. Se puede usar para ocultar el gif antes mencionado.
resultClick: Funcion que se ejecuta al hacer click sobre alguna de las opciones de la lista desplegable.
resultsComplete: Permite especificar una funcion personalizada a ejecutarse una vez desplegada la lista de resultados.

Share

Barra de progreso con cp

0

Cuántas veces nos pusimos a copiar grandes volúmenes de datos por consola en servidores unix-like por linea de comandos? Dejamos pasar el tiempo y aún no sabemos cuando terminará la copia de los archivos, y eso nos genera cierta incertidumbre. Muchos copiamos archivos usando cp en consola, otros pueden optar por usar midnight commander o algo similar que permita mostrar el progreso de la copia de archivos.

Hay muchas herramientas opensource para la gestión de archivos, pero de todas formas, yo creo que muy pocas personas NO usan la instrucción básica cp. El script que les voy a mostrar en este post, son unas simples y a su vez complejas lineas que permiten mostrarnos el progreso de la copia de archivos.

Para no extender mucho este post, voy a pasar un tip para poder tener una barra de progreso copiando archivos con cp:

#!/bin/sh
cp_p()
{
strace -q -ewrite cp -- "${1}" "${2}" 2&gt;&amp;1 \
| awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf "%3d%% [", percent
for (i=0;i&lt;=percent;i++)                   printf "="                printf "&gt;"
for (i=percent;i&lt;100;i++)
printf " "
printf "]\r"
}
}
END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}

Fuente: http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/

Share

Cifrado RSA de 1024 bits vulnerado

1

Se acaba de producir un nuevo hito en la historia de la informática, específicamente en el área referente a los algoritmos de cifrado de datos. La encriptación RSA de 1024 bits ha sido crackeada. Este algoritmo es el primer y más utilizado algoritmo de este tipo, válido tanto para cifrar como para firmar digitalmente.

El nombre del algoritmo RSA proviene de las iniciales de los apellidos de sus creadores, Rivest, Shamir y Adleman. Es un sistema criptográfico creado allá por el año 1977.

El primer crackeo de este algoritmo sucede en este 2010, cuando el 7 de enero lograron vulnerar la versión del algoritmo de 768 bits. Sin embargo, este nuevo hito refiere a la versión extendida de 1024 bits, gracias al trabajo de Valeria Bertacco, Todd Austin y Andrea Pellegrini.

El método utilziado por los investigadores fué básicamente variar los niveles de tensión enviados al destinatario para generar cifrado defectuoso. Esto les ayudó a crear la clave privada mediante la combinación de una serie de fragmentos en el proceso. La operación tomó nada más ni nada menos que 100 horas.

Así es como fué crackeado un algoritmo que debería resistir ataques de fuerza bruta en menos de 4 días, lo cual no hace más que asustar a la comunidad web, ya que es un algoritmo utilizado para obtener conexiones seguras, tales como accesos a webmails, cuentas bancarias, etc.

Share

Crackeando backups encriptados del iPhone

2

iTunes crea frecuentemente backups de los dispositivos que son sincronizados, como por ejemplo un iPhone o iPod. Dichos backups contienen una cantidad importante de información, principalmente todos los datos generados por el usuario en el dispositivo.

Desde iTunes 8.2 y iPhone OS que es posible proteger los backups de iTunes con contraseña. Luego de especificar una contraseña de seguridad, ni el menor dato del backup queda sin encriptar, es decir, una vez hecho esto nos encontramos con un backup 100% seguro. Los datos son encriptados en el dispositivo, son transmitidos encriptados y además son guardados encriptados en nuestro disco duro.

Si necesitas recuperar una contraseña de un iPhone/iPod protegido realizado con iTunes, hoy es tu día de suerte porque ahora hay una aplicación para realizar esa tarea! Elcomsoft lanzó la primer beta pública de Elcomsoft iPhone Password Breaker, y está disponible gratuitamente para su descarga.

Dado un backup encriptado, Elcomsoft iPhone Password Breaker puede correr diferentes tipos de ataque para recuperación de contraseña, realizando ataques con pruebas de miles de contraseñas por segundo. El software soporta procesadores multi-core, y esto nos da la posibilidad de aumentar considerablemente la velocidad de ataque. También soporta instrucciones extendidas de CPU y aceleración haciendo uso de nuestro GPU (el CPU de nuestra placa de video) – por ahora sólo nVidia está soportado -. El soporte para ATI estaría llegando en uno o dos meses.

Elcomsoft iPhone Password Breaker no hace uso de iTunes, por lo que no es necesario que lo tengamos instalado. Soporta técnicas de ataque por diccionario muy avanzadas y con permutaciones customizables. Si bien la mayoría de los usuarios usa diccionarios interesantes para realizar este tipo de ataques, el software nos permite recuperar esos passwords y variaciones de los mismos.

Este programa aumenta significativamente la velocidad de recuperación de los passwords cuando tenemos una o más placas de video, como dijimos anteriormente, haciendo uso de su GPU para realizar permutaciones complejas. El uso de las GPU reduce notablemente el tiempo de recuperación de las contraseñas.

Elcomsoft iPhone Password Breaker corre en Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista or Windows 7 en sus versiones de 32 y 64 bits. Los dispositivos admitidos son el iPhone 2G, 3G, 3GS, el iPod Touch 1ra, 2da, y 3ra generación.

Share

Auto descripción

0

Vi esta tira en xkcd y me pareció genial

Share

Linux BackTrack 4 Final Liberado

0

El momento que muchos estaban esperando ha llegado! La distribución de linux más “hacker” por excelencia anunció hoy el BackTrack 4 Final!

BackTrack es una distribución de linux orientada 100% a lo que es penetration testing, cracking, network security y hacking en general. Está modificada en su mayor parte para ser una suite GENIAL de hacking. Muchas de las aplicaciones y hasta el mismo kernel fueron modificados o parcheados para poder realizar tareas realacionadas al tema, como por ejemplo muchos de los drivers para tarjetas inalámbricas fueron “tocados” en su código para permitir packet injection.

Según noticias de su blog oficial, esta versión trae un nuevo kernel, un repositorio de herramientas muy grande,herramientas customizadas que solo se encuentran en BackTrack 4, y lo más importante, el kernel fué modificado solucionando TODOS los errores de seguridad encontrados.

Más información en Official BackTrack Blog

Link de descarga en BackTrack Download Page

Share

Base de datos Argentina de Hashes MD5 y SHA1

1

Nunca está demás tener a mano una base de datos con hashes verdad? Antes que nada les voy a pasar el link de una base de datos de hashes que uso bastante seguido (no pregunten para qué). El sitio es GData MD5 Hash Cracker, pero, como su nombre lo indica sólo nos brinda información acerca de hashes MD5. Hoy tiene 3.933.594 hashes ingresados en su DB.

Si estás leyendo este post y no sabés de que estoy hablando, voy a explicar brevemente que es un hash: Un hash es el resultado de realizar operaciones matemáticas complejas sobre un conjunto de bits, dando resultado a una serie de carácteres alfanuméricos (o no) que no tiene traducción inversa, es decir, una vez que obtuvimos el “hash” de algo, este hash no es reversible, por lo que no podemos en base a él obtener ese “algo” inicial.

Para que quede un poco más claro, estos hashes son teóricamente únicos, y se usan comunmente para realizar comprobaciones de seguridad en imágenes de CD/DVD descargadas de internet. Un ejemplo de esto puede ser, cuando nos bajamos un CD de nuestra distribución preferida de Linux (ArchLinux ;P) podemos realizarle una suma MD5 ó SHA1 a la imagen, y luego chequearla con el hash que nos provee el sitio oficial de descarga. Si el hash coincide quiere decir que no hubo errores en la descarga, en cambio, si el hash difiere podemos estar SEGUROS de que al menos tenemos 1 byte mal en la imagen, por lo que deberíamos descargarla nuevamente.

Volviendo un poco al tema, hacía falta una buena base de datos de este estilo, y lo que les voy a presentar en esta ocasión es el sitio web de Exodica Hash Database que contiene, al día de la fecha unas 5.835.982 de palabras. Lo novedoso de esto es que no sólo contiene hashes MD5 sino que también SHA1 (cosa de gran utilidad).

Este sitio tiene la particularidad de permitir subir una lista de palabras vía web, y el sistema se encargaría de generar los hashes MD5/SHA1 e ingresarlos a su base de datos.

Share
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
Ir arriba