viernes, 19 de febrero de 2010

Metagoofil enhanced

Como verán, estamos siendo más productivos con el blog (será porque se acerca el 2012 y queremos ser famosos ? jejeje...).

Siempre hemos dicho en presentaciones, en conversaciones con los clientes y en los entrenamientos que para nosotros usar herramientas Open Source es vital porque podemos modificarlas según necesitemos sin esperar que el proyecto que las origina lo haga y seria peor si se tratáse de herramientas comerciales o simplemente gratuitas (pero, a cuyo código fuente no tenemos acceso).

Una de las primeras herramientas que modificamos para manejar adecuadamente algunos cambios en Google y algunas formas de búsqueda es metagoofil, herramienta desarrollada y mantenida por Edge-Security Research y la cual hemos modificado "ligeramente" (incluso, los remito al web de ellos para revisar la excelente documentación creada para esta t00l http://www.edge-security.com/metagoofil.php )

Por favor, como siempre les decimos a todos : descarguen esta versión, revisen el código, asegurense que no tiene un troyano o similar y luego de eso, usenla.

El programa esta comentado para un mejor entendimiento.

Descarga : Metagoofil.py

martes, 16 de febrero de 2010

Hiding Tracks with .bash_profile

 Buscando maneras en las que un atacante puede minimizar sus huellas en un sistema *nix comprometido, encuentro, gracias a MUrizar, con una simple y eficaz forma de hacerlo.

Al añadir una línea al fichero .bash_profile (tambien funciona en .bashrc), podemos lograr que todo comando precedido de un espacio en blanco, no sea guardado en el historial de comandos del usuario (.bash_history).

export HISTCONTROL=ignorespace

Esto puede funcionar en un escenario donde se quiera evitar el uso de rootkits o zappers para borrar evidencias. Hay otras formas de hacerlo pero me gustó esta por su simplicidad. Lo importante es no olvidarse de añadir el espacio en blanco !

Desde luego, esto no servirá de nada para ocultar la presencia del atacante si el admin utiliza comandos como w, who, users, last y lastlog que mostrarán información sobre usuarios y sus logins. Una manera de evitar esto sería modificando los ficheros parseados por estos comandos para mostrar su output:

/var/run/utmp
/var/log/wtmp

Tal ves eso para otra ocasión,


MVelazco

Update 1

Conversando con WCuestas y buscando evitar añadir un espacio en blanco antes de todo comando ingresado, me sugiere una forma mucho más práctica de realizar la misma tarea sin tener que hacer cambios en ningún archivo.

Nos enfocamos en 2 variables de entorno de bash, $HISTSIZE y $HISTFILE. Cada una guarda el valor del número de líneas guardados en el historial y el fichero donde se guardará el historial, respectivamente.
Una imagen vale más:



Bien, entonces jugando con esas variables podemos conseguir que en una nueva sesión, no se guarde historial de comandos ejecutando lo siguiente:

HISTSIZE=0; export HISTSIZE
HISTFILE=/dev/null; export HISTFILE

Lo interesante es que en la próxima sesión, las variables serán cargadas según lo dictado en .bashrc, así que para el admin todo esto es transparente, aqui no paso nada!.