El día de hoy vi un tweet que me llamo la atención, vinculaba a una pagina que explica como ocultar código php en una imagen para luego ser ejecutado como parte de un exploit. El código maligno lo ocultan en la metadata de la imagen bajo el campo 'Comments' que luego es usado como parte de una consola web llamada Weevely.

El articulo va un poco mas profundo explicando que usan la función passthru() para pasar los comandos al servidor con una petición web y __halt_compiler() para evitar que la imagen siga siendo procesada como un archivo binario.

Aunque no es nada nuevo, recientemente vi que el ocultar código malicioso en imágenes se ha puesto de moda nuevamente, aquí te explico como eliminar código oculto en imágenes de tu servidor.

Eliminar el backdoor Weevely oculto en imágenes de tu servidor.

Si tienes un blog o eres webmaster de una pagina web que acepta que los usuarios suban imágenes, puedes ejecutar este script modificandolo a tu conveniencia.

#!/bin/bash ORVTECH_DIRS="/var/www/htdocs/wordpress/wp-content/uploads/20*" # for ARCHIVO_JPG in `find $ORVTECH_DIRS -type f| grep -i jpg$ `;   do   convert -strip $ARCHIVO_JPG $ARCHIVO_JPG done

Como ven, el script recorre todas las subdirectorios de $ORVTECH_DIRS en busca de imágenes jpg, luego las pasa por imagemagick para quitarle cualquier metadata innecesaria, incluyendo los comentarios. De esta forma terminas con imágenes sin código oculto y un tanto mas ligeras.

Tengo ya unos días tratando de recordar y averiguar cuando fue que empecé a usar Twitter y solo consigo paginas que no me inspiran mucha confianza, que se ofrecen para darte esta información.

Revisando la documentación de la API de esta red social, conseguí como hacerlo aunque no esta explícitamente documentado. Esta información del usuario se envía cada vez que uno hace una petición por su timeline usando grep, awk, tr y curl fácilmente se puede ver cuando se creó la cuenta.

cuando fue creada una cuenta en twitter

Este script muestra cuando fue creada la cuenta además de cuantas personas sigue, cuantos lo siguen y cuantos twits ha publicado:

#!/bin/bash
curl -s "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=$1&count=0" | tr ',' '\n' | grep  \"created_at\" | tail -n 1
curl -s "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=$1&count=0" | tr ',' '\n' | grep -m2 -E 'friends_count|statuses_count|followers_count'

Como ven el script acepta un parámetro que para que funcione correctamente debe de ser el handle que en mi caso es orvtech, para ver mi información pueden ejecutar:

./twitter-creado.sh orvtech "created_at":"Thu Apr 12 21:35:06 +0000 2007" "friends_count":236 "statuses_count":5065 "followers_count":251

Estoy seguro que se puede optimizar incluso remplazar esas dos peticiones web por una sola y remplazar el tr, grep y el tail con una sola instrucción de awk pero solo quería demostrar como hacerlo. Si quieren aprender mas del API de twitter pueden visitar https://dev.twitter.com/docs.

Hoy resolvi como enviar procesos al fondo dentro de un loop en BASH, tal vez exista una forma mas limpia de hacerlo pero esta me funciono. Este será un tip mas para esa serie de post cortos pero que vale la pena agregar a los bookmarks.

Enviar procesos al fondo desde un loop en bash

El tip como tal realmente simple, solo tienes que incluir lo que quieras enviar al fondo dentro de llaves {}. Lo que quieras enviar al fondo debe lucir muy parecido a esto:

{ ping orvtech.com & }

Veamos este otro ejemplo.

for i in `echo $correos`
  do echo "trabajando en usuario $i"
  { crawler.sh -H $i run "grep $1 crawler.tmp" | awk -F\" '{print $2}' | awk -F\, '{print $1}' > usuarios.txt & }
done
jobs

Con el commando jobs puedes monitorear los procesos que se han enviado al fondo.

El dia de hoy ley la conversación entre un par de conocidos en twitter, planteaban que seria genial poder ver los twits favoritos de un Cheff como para hacerse una lista gourmet.

Sigue los twits favoritos de quien quieras

La logica me decía que esto ya debía de existir aunque no pude encontrar como hacerlo directo desde la pagina web, logre conseguir como obtener un feed de estos:

la URL tiene el siguiente formato https://twitter.com/favorites/<usuario>.rss que en mi caso quedaria asi: | https://twitter.com/favorites/orvtech.rss

La salida de esto será un XML que puedes leerlo fácilmente con cualquier navegador web moderno o cualquier lector de RSS feeds. Aquí les dejo como se inicio la conversación..

El envenenamiento de tablas ARP es sumamente sencillo desde Linux y básicamente lo que hacemos es que le decimos a nuestro computador que responda arbitrariamente a determinadas ARP broadcast enviadas por el switch/router con su dirección MAC, creando así una entrada falsa en las tablas ARP.

Lo que hablaremos en este articulo es como duplicar lo que logra la aplicación wifikill para Android pero bajo Linux.

Envenenamiento de talbas ARP desde Fedora Linux

Negación de servicio usando envenenamiento de tablas ARP.

En ocasiones desearíamos poder desconectar a alguien en particular de la red, bien sea por que se están consumiendo todo el ancho de banda con sus descargas, por que tienen puesta una emisora de radio de internet con música que no nos gusta desde hace cuatro días o simplemente por divertirnos un rato.

Antes de comenzar con los ejemplos, necesitamos instalar arpspoof que en Fedora es parte de dsniff. Anteriormente he hablado de como instalar aplicaciones en Fedora usando la interfaz gráfica, incluso hice un video tutorial pero como estaremos usando la linea de comandos, vamos a hacerlo en esta misma, abran una consola y ejecuten como root:

yum install dsniff -y

Desconectar a un host especifico.

Desconectar a ese roommate fastidioso es sumamente fácil, solo debemos conocer su IP dentro de la red local y ejecutar:

arpspoof -i wlan1 -t 192.168.168.1.3 192.168.1.1

En este ejemplo asumimos que la interfaz de red es wlan1, el IP del host a desconectar es 192.168.168.1.3 y el gateway de la red es 192.168.1.1


Desconectarlos a todos.

Si desconectar a un host en especifico te pareció sencillo, desconectarlos a todos es aun mas fácil. Veamos este ejemplo:

arpspoof -i wlan1 192.168.1.1

Al igual que en el ejemplo anterior asumimos que la interfaz de red es wlan1 y que el gateway es 192.168.1.1 pero omitimos el host por lo que arpspoof asume que son todos los hosts los que queremos bloquear.


NOTA: Este articulo debe ser visto como un tutorial con fines didácticos, no soy responsable por como UDs. Usan estas herramientas. Tengan en cuenta que en algunos lugares el interrumpir comunicaciones en redes publicas puede ser considerado ilegal.

Hace poco que Linus Torvalds anuncio el Kernel 3.0 y ya se esta haciendo merge para la versión 3.2. Muchos tienen la duda de que mejoras hay en estas nuevas versiones del Kernel pero la realidad es que pocas distribuciones de Linux usan las versiones mas recientes del Kernel, excepto por Fedora Linux que saldrá dentro de pocos días con la versión 3.1.X.

Fedora 16 (Verne) viene con el kernel 3.1

Fedora 16 contara con el Kernel 3.1, es decir, mejor soporte para las tarjetas de vídeo integradas de AMD/ATI, Intel y Nvidia, soporte para la arquitectura OpenRISC, el Nintendo Wii y NFC. Buenas noticias para aquellos que tomaron mi concejo y compraron netbooks con chipset AMD Zacate E-350 (como la Lenovo x120e) y usan Fedora 16 mientras que los usuarios de Ubuntu tendrán que esperar por lo menos cinco meses antes que Canonical decida liberar una actualización del Kernel.

La versión marcada como 'estable' Fedora 16 sera liberado el dia 8 de Noviembre del 2011, mientras tanto pueden descargarla en su fase 'Beta' desde: http://fedoraproject.org/en/get-prerelease

Alguna vez haz querido sacar a alguien de la red WFI donde estas? bien sea simplemente por jugar o el típico 'si no es para mi, tampoco para ti!' como cuando alguien consume todo el ancho de banda descargando necedades. Ahora no tienes que usar la laptop/computadora para esto.

La aplicación wifikill permite desconectar a quien desees de la red WIFI usando envenenamiento de tablas ARP

La aplicación WiFiKill para usuarios con root en su dispositivo Android busca en tu red por dispositivos conectados y luego te da las opciones de desconectar a alguien en particular o de desconectarlos a todos. Aquí les dejo unas capturas de pantalla desde mi HTC Evo 4G:

Wifikill nos permite elegir a quien afectar con este ataque al ARP tables

Wifikill nos permite elegir a quien afectar con este ataque a las tablas ARP.

Solo el iPhone sin acceso a internet, sigue conectado pero no logra comunicarse

Solo el iPhone sin acceso a internet, sigue conectado pero no logra comunicarse.

Dejando a todos sin acceso a internet, siguen conectados pero no logran comunicarse

Dejando a todos sin acceso a internet, siguen conectados pero no logran comunicarse.



Probé esta aplicación por sugerencia de Daniel Velazco en un Ale's House y funciono sin problemas... desde entonces me he divertido un par de veces en un café cercano a mi casa.

La aplicación podía ser descargada del Google Play Store también conocido como Android Market pero por lo que veo justo ahora que estoy a punto de publicar este articulo, esta ha sido excluida. El autor de la aplicación la tiene disponible para que la descarguen en formato APK desde su foro.

Recuerden que en algunos países es ilegal obstruir la libre comunicación y que el uso de WikiKill y su responsabilidad recae solo en ustedes (yo me lavo las manos).

La versión de pre-lanzamiento del Proyecto Fedora 16 ya esta en su fase beta, cuenta con el soporte del equipo de Q/A (Control de Calidad).

Liberado en fase Beta, Fedora 16 - verne

Puedes descargarlo desde esta URL: http://fedoraproject.org/es/get-prerelease.

Aunque la versión beta no es del todo estable vale la pena descargarlo para probar los que viene, entre las características que mas me llaman la atención están:

  • GNOME 3.2 y KDE Plasma 4.7: El el aspecto visual y la variedad de ambos siempre me ayudan a convertir nuevos usuarios, por lo general me inclino mas por Gnome pero se que a mucha gente le gusta KDE.
  • OpenStack y Sheepdog: Acompañados con un conjunto de utilidades ya Fedora se perfila mas de frente hacia el Cloud.
  • Unified Problem Reporting UI: Me va a ayudar bastante a la hora de explicarle a miembros del LUG y de la comunidad sobre como pueden colaborar reportando bugs.

Aunque se nota que lo hice de apuros cualquier persona puede darse cuenta de lo sencillo que es instalar Linux, no requiere seriales, códigos de verificación ni cracks o hacks y lo mejor de todos, puedes relajarte pues siempre y cuando lo descargues de la pagina oficial de Fedora puedes estar seguro de que no viene con virus. Sin mas que decir, aquí se los dejo:


En el video asumo que ya han descargado Fedora Linux, en caso de que esto no sea así, pueden descargarlo desde fedoraproject.org/es/get-prerelease y recuerda, Fedora no solo es gratis. Es libre como en "Libertad de expresión", puedes usarlo para tus propios propósitos, sin restricciones legales.

Durante el video pueden apreciar la primera pantalla de inicio luego del arranque, esta aparece solo una vez a menos que alteren el sistema operativo. Si por cualquier razón necesitan que al iniciar Fedora te salga de nuevo esta pantalla, puedes forzar el sistema operativo para que de nuevo muestre este Setup Agent.

Cartulina, Fedora Artwork, veinte CDs surtidos de diferentes versiones o spins de Fedora Linux incluyendo KDE, LXDE 32 bits y 64 bits, un NSLU2 dañado y una Arduino serán parte de mi kit evangelizador para el día de mañana 17 de Septiembre. Como comente anteriormente estaré en Nova University en el sur de la Florida (USA) colaborando con el Software Freedom Day.

Aun me falta preparar dos unidades USB para instalar Fedora linux si alguien lo pide pero voy preparado para todo, colaborar con la organización, aclarar dudas, mostrar los beneficios de código abierto (tengo una analogía que usa un marca-pasos para casos extremos) y material suficiente para dar una charla de embebidos y Fedora.

Aquí les dejo unas fotos de parte de las cosas que me llevo para el día de mañana.

El paquete de CDs, una NSLU2 y mi Laptop

Kit para el dia del software libre a celebrarse en el sur de la Florida, Estados Unidos.

Mi kit para evangelizar, un paquete surtido de CDs de fedora linux, mi laptop lenovo y un NSLU2

Otro vistazo al kit evangelizador.


Los CDs vienen dentro de una cartulina con el logo de Fedora y una frase que dice:

Libera tu escritorio con Fedora. Fedora es un sistema operativo rápido, estable y poderoso para uso de diario y construido por una comunidad mundial de amigos. Es completamente libre para que lo uses, estudies y compartas. Aquí mas fotos:

El CD va dentro de esta cartulina impresa y luego va dentro de una funda de papel

El CD va dentro de esta cartulina impresa y luego va dentro de una funda de papel. Pase casi toda la noche haciendo este kit surtido de Live Media de Fedora

El CD marcado con la version de Fedora 15 Live y el Spin en este caso LXDE que se esta usando

El CD marcado con la version de Fedora 15 Live y el Spin en este caso LXDE que se esta usando

Así que los espero mañana bien sea para aclararle dudas, conversar o ayudarnos. Si no tienes dudas y usas software libre mañana es tu oportunidad para retribuir lo que el software libre te ha dado.