Busindre » How To

Backtrack 3 Live en tarjeta SD / USB Flash (Netbook Eee PC 701)

November 11th, 2008 by Busindre

Hay dos formas de usar una distro GNU/Linux, una es instalada en dispositivos de almacenamiento (Discos duros, memorias USB, tarjetas SD,..) donde la mayoría de los cambios (lectura y escritura) se realizan sobre el dispositivo. La otra forma es usar distros en formato live que como sabemos cargan el sistema en memoria RAM y trabajan con ella para funciones de lectura y escritura en vez de usar un dispositivo de almacenamiento.

Cuando usamos distribuciones instaladas sobre discos USB o tarjetas SD vemos que la lentitud de la distro es notable, que no quiere decir que no sea usable al 90% para la mayoría de cosas que se necesitan hacer con un PC, pero lógicamente una memoria USB o SD no es tan rápida como un la IDE o SATA. Cuando usamos distros live en dispositivos vía USB o tarjetas SD, una vez cargado el sistema en RAM, este es mucho más rápido que el instalado en el dispositivo USB. Tiene el inconveniente de que no puede guardar los datos pero ofrece una velocidad que para portátiles como el NetBook Eee PC 701 viene de perlas gracias a su memoria DDR2 que permite usar distros en modo live ágilmente.

En este post vamos a ver como adaptar Backtrack 3 en Modo Live para que funcione desde una tarjeta SD o USB para usarlo con el netbook Asus Eee PC 701. Explicaremos como realizar la instalación, la cual vale para cualquier otro portátil o PC de sobremesa que tenga soporte para arrancar por este tipo de dispositivos. Además, para los usuarios de este netbook de Asus, veremos un script que nos proporcionara entre otras cosa tener el touchpad Scrolling activado, un entorno X11 y gestor de ventanas adaptados a la pantalla y al teclado español, añade también soporte para tarjetas Prism y otras cosas que más tarde comentaremos.

Leer más »

Posted in How To | Sin Comentarios »

Matar todos los procesos de un usuario determinado en GNU/Linux

October 13th, 2008 by Busindre

Para matar procesos en sistemas GNU/Linux se suele hacer uso de la orden kill, la cual en su uso "estandar" (kill pid) pide a la aplicación que termine ella sola por medio de una señal TERM, usadas por los programas para cerrarse correctamente, guardando temporales, cerrando ficheros, liberando memoria,.. Cuando el programa se ha colgado 100% y no responde a nuestras peticiones es muy probable que no responda a las señales TERM, en estos casos debemos usar una señal KILL para que el kernel cierre violentamente ese proceso liberando todos los recursos. En este post vamos a ver distintas formas de matar todos los procesos de un usuario determinado, lógicamente como root.

Usando Slay

# slay -9 usuario1 usuario2 ...
# slay -KILL usuario1 usuario2 ...
# slay usuario1 usuario2 ...

Podemos indicarle el numero de señal:

# slay -N usuario1 usuario2 ...

NOTA: "N" es el numero de señal; -KILL o -9 es lo mismo, cualquiera de los tres primeros comandos nos sirve para mandar señales KILL.

Descargar Slay: http://freshmeat.net/redir/slay/9643/url_tgz/Slay.1.2.tar.gz

Leer más »

Posted in How To | 1 Comentario »

Ejecutando aplicaciones como otro usuario en GNU/Linux y * BSD

October 12th, 2008 by Busindre

El comando su como todos sabemos sirve para poder cambiar de ID de usuario o para transformarse en root (super usuario / Administrador), este nos permite usar el intérprete de comandos de otro usuario sin necesidad de cerrar la sesión. A veces nos interesa poder arrancar un determinado programa o servicio con un ID de otro usuario, sobre todo desde el usuario root, sin tener que abrir una sesión con dicho usuario para poder hacerlo.

En el arranque del sistema podemos encontrarnos con ficheros como rc.local, este archivo se utiliza al terminar el inicio del sistema, ejecutando todos los comandos que contenga escritos como usuario root. Al ser el usuario root bajo el que se arrancan esos comandos de rc.local, puede ser interesante poder decirle que los arranque con unos UID específicos y no como root, que es lo que venimos a comentar en este pequeño post, vamos a ver como arrancar aplicaciones bajo el ID de otro usuario del sistema.

Sintaxis:

$ su 'USUARIO' -c 'PROGRAMA'

Ejemplos:

Ejecutar Xeyes como si fuera el usuario busi desde root:

# su busi -c xeyes

Leer más »

Posted in How To | Sin Comentarios »

Varios servidores X11 de forma simultanea

October 7th, 2008 by Busindre

Para poder arrancar varios servidores gráficos X11 de forma simultanea lo único que debemos hacer es jugar con el display, que no es más que una variable usada por los programas para saber donde corre el servidor gráfico bajo el que deben ejecutarse. Si queremos tener varios servidores gráficos solo hay que ir variando el valor de ese DISPLAY. Por defecto el primer DISPLAY es 0, pero podemos arrancar muchos más para distintos fines e ir alternando entre ellos según lo necesitemos.

Primer Servidor gráfico: DISPLAY=:0.0 (Accedemos con Cntrl + Alt + F7)
Segundo Servidor gráfico: DISPLAY=:1.0 (Accedemos con Cntrl + Alt + F8)
Tercer Servidor gráfico: DISPLAY=:2.0 (Accedemos con Cntrl + Alt + F9)
...

Arrancar el servidor gráfico indicándole el DISPLAY

$ startx -- :DISPLAY

El comando startx arranca el servidor gráfico y acto seguido el escritorio por defecto que tengamos configurado o en su defecto un gestor del tipo Kdm, Gdm o Xdm

Ejemplo:
$ startx -- :1 Segundo Servidor gráfico
$ startx -- :2 Tercer Servidor gráfico

Leer más »

Posted in How To | 3 Comentarios »

Uso de los ficheros *.diff.gz a la hora de compilar aplicaciones en GNU/Linux

October 4th, 2008 by Busindre

Cuando nos disponemos a descargar paquetes de código fuente de alguna aplicación de los repositorios de Debian, nos percatamos de que nos ofrecen 3 tipos de ficheros distintos:

Paquete.orig.tar.gz -> Es el paquete de fuentes original (Como el autor lo creo, sin modificaciones).
Paquete.diff.gz -> Contiene las modificaciones realizadas por los mantenedores de Debian.
Paquete.dsc -> Fichero de información (Versión, Md5, Firma PGP,...).

No solo en Debian nos encontrarnos con este tipo de ficheros diff.gz, cuando queremos compilar algún software de otras distros podemos encontrarnos con ellos como vemos en la imagen, es algo muy común. Estos ficheros diff.gz añaden, modifican o eliminan cierto código en el paquete de fuentes, ya sea para permitir una compilación sin errores, tapar algún bug, aumentar la seguridad del código fuente, etc..

Esto de retocar los paquetes por parte del equipo Debian, es algo muy común, lo hacen otras distros también, en principio siempre se trata de mejoras, sobre todo en lo relativo a la seguridad, pero a veces no todo sale como se esperaba y en vez de mejorarlos se crean problemas de seguridad. Los paquetes .deb que instalamos al hacer uso de Apt / Aptitude vienen ya previamente parcheados.

Vamos a ver como se aplican estos parches diff.gz a los tarballs que necesitamos parchear, mostraremos un método, pero realmente se puede hacer de muchas y distintas maneras, supongamos que tenemos estos dos ficheros: paquete_0.2.1-2.diff.gz y paquete_0.2.1.orig.tar.gz, el parche lo podríamos aplicar así.

$ tar -zxvf ccze_0.2.1.orig.tar.gz
$ cd ccze-0.2.1/
$ zcat ../ccze_0.2.1-2.diff.gz | patch -p1

En pantalla se nos mostraran frases con "patching file XXXX". Una vez parcheado podemos proceder a la compilación.

Posted in How To | Sin Comentarios »

Escritorios y Aplicaciones X11 remotas con GNU/Linux (X11 / Ssh)

September 30th, 2008 by Busindre

Para plataformas GNU/Linux encontramos diversas aplicaciones que permiten usar programas gráficos que se encuentran en otra máquina remota Linux, como si fueran programas propios. En este post vamos a ver como se puede realizar este tipo de conexiones usando el mínimo de aplicaciones posible, únicamente usando el servidor X11 y lo que sus herramientas nativas nos ofrecen, por lo que podría usarse con cualquier sistema GNU/Linux que tenga instalado un servidor gráfico X11. En la actualidad este tipo de cosas se pueden hacer con distinto software, que además añade nuevas funcionalidades, como puede ser FreeNX, VNC, LTSP,.. Lo cierto es que la mayoría de estos sistemas usan el mismo mecanismo que mostramos a continuación, pero sumándole entre otras cosas, protocolos del tipo ssh (Seguridad) y mecanismos de compresión para el protocolo X11 que lo hacen más veloz.

El Sistema X Window de GNU/Linux (X11) es un sistema de ventanas para GNU/Linux y otros Unix que tiene la característica de poder usarse en red. Esta propiedad hace referencia al "DISPLAY", que no es más que una variable de entorno para averiguar a qué pantalla deben enviarse los gráficos, esta variable es consultada por las aplicaciones gráficas de Xwindows al ejecutarlas. El poder arrancar aplicaciones o escritorios de forma remota, permite utilizar la potencia de otra CPU externa mientras desde nuestro ordenador manejamos la aplicación gráficamente. Todas las aplicaciones X Window, como pueden ser Gimp, Amsn, Aterm, konqueror, Firefox, Kde, Gnome o cualquier otro programa gráfico, son clientes de que se conectan a un servidor gráfico, el servidor X.

Leer más »

Posted in How To | 1 Comentario »

Cambiar la terminal que usa FlashGot para descargar con Wget

September 26th, 2008 by Busindre

Para los que no lo conozcan, FlashGot es un programa que posibilita el poder acceder desde el propio navegador web, en este caso Firefox, a un programa "Gestor de descargas" externo, como puede ser Wget o GetRight, en otras palabras, permite integrar nuestro gestor de descargas favorito en el navegador, si este se encuentra soportado.

Entre los gestores que puede usar FlashGot encontramos FlashGet, Free Download Manager, Fresh Download, GetRight, HiDownload, InstantGet, Internet Download Accelerator, LeechGet, Mass Downloader, Net Transport, NetAnts, ReGet... De todos ellos el que nos interesa para este post, es el famoso gestor de descargas de GNU/Linux "Wget" (Modo texto). FlashGot cuando usa wget, arranca una terminal (Xterm) cuando le indicamos que descargue algún tipo de fichero, en esta, podemos ver como se ejecuta el comando wget y como evoluciona la descarga, porcentajes, tiempo estimado, tamaño del fichero, localización del fichero, etc..

Vamos a ver como modificar la extensión de forma que podamos configurar el tipo de terminal por defecto en Flashgot cuando usamos wget, esto permite añadir opciones a la Xterm (usada por defecto) o cambiar la terminal por otra, indicarle el tamaño y color de la letra, fondo, transparencia,.. Todo lo que nosotros queramos, esto es algo muy simple de realizar y solo debemos seguir estos sencillos pasos que tenemos a continuación.

Descargar Flashgot: http://flashgot.net/getit

Leer más »

Posted in How To, Linux | Sin Comentarios »

Detectar escaneos de puertos y ataques DOS con IPlog (GNU/Linux / *BSD)

September 24th, 2008 by Busindre

IPlog es una aplicación que corre sobre GNU/Linux, FreeBSD, OpenBSD y BSDI encargada de loguear tráfico TCP, UDP y ICMP para estudiarlo en tiempo real y avisarnos de la detección de alguno de estos tipos de acciones: Scans de puertos TCP/UDP, TCP null scans, FIN scans, TCP "Xmas" scans y ataques de denegación de servicio (DOS) del tipo: UDP & ICMP "smurf", bogus TCP flags, TCP SYN scans, ICMP ping floods y IP fragment attacks. Basa sus capacidades en la dependencia libpcap, muy utilizada en software de monitorización y análisis de redes.

Otra de sus reconocidas posibilidades es la de poder engañar a la funcionalidad de Nmap de reconocimiento del sistema operativo escaneado, imposibilitando la extracción del fingerprint correcto. Puede que no sea el programa más completo y liviano para este tipo de menesteres pero su facilidad de uso lo hace interesante en muchos escenarios y vamos a dedicar unas lineas a explicar la forma de uso de este programa.

Instalar IPLog: http://www.busindre.com/como-compilar-iplog-sin-errores-parche/

Podemos usarlo mediante un fichero de configuración o invocando las opciones desde la linea de comandos, en este articulo explicaremos a utilizar iplog introduciéndole los parámetros de forma manual, una vez comprendido si quiere puede informarse de como hacerlo con un fichero de configuración mirando el manual.

$ man iplog

Leer más »

Posted in How To | 1 Comentario »

El montaje automático de dispositivos en GNU/Linux y sus distintos métodos

September 11th, 2008 by Busindre

El proceso de "montaje" de dispositivos lo realizan todos los sistemas operativos actuales, *BSD, Solaris, GNU/Linux, Mac, Windows,.. Se basa en insertar el árbol de ficheros del hardware conectado al ordenador dentro del propio árbol de ficheros del sistema operativo que usemos, un ejemplo de directorios de montaje es /mnt y /media (Actualmente).

Cuando conectamos una cámara de fotos, una memoria flash, reproductor MP3, un disco duro externo USB / FIrewire o cualquier otro dispositivo de almacenamiento en un GNU/Linux actual, este se monta de forma automática en el sistema. El montaje que se uso toda la vida, el tradicional, no estaba automatizado y solo root podía hacer uso de el, ahora como es lógico en la evolución de los sistemas operativos, se intenta facilitar la vida a los usuarios automatizando ese proceso para que nada mas insertemos un determinado disco de almacenamiento, este se monte de forma automática en un directorio como pueda ser /media y sin necesidad de cambiar de usuario para ello.

Dependiendo de la distribución, escritorio o incluso el gestor de ficheros que usemos, podemos encontrar distintas formas de automontaje o carecer del mismo. Por norma las distintas distribuciones de GNU/Linux instalan lo necesario para que se pueda disfrutar del montaje automático de dispositivos externos y al no haber un método estándar se pueden utilizar distintos métodos para ello. En GNU/Linux actualmente se usa HAL y D-bus en conjunto con alguna otra aplicación para este fin, siendo los encargados de identificar y facilitar todo tipo de información (Marca, modelo, tipo, formato,..) sobre los componentes conectados al ordenador y sus eventos a las distintas aplicaciones que lo requieran. Esto sirve para montar discos externos de forma automática según se conecten al ordenador o también arrancar programas específicos según el hardware que enchufemos, mostrar avisos al usuario sobre los estados de la batería del portátil o cualquier otra cosa.

Leer más »

Posted in How To | 3 Comentarios »

Keylogger en Ajax y la seguridad de los navegadores (XmlHttpRequests)

August 8th, 2008 by Busindre

Los keyloggers como sabemos son programas (Software) o aparatos (Hardware) encargados de capturar las pulsaciones de teclado de los usuarios, son usados con todo tipo de fines, desde monitorizar a los empleados de una empresa a espiar a un determinada persona de la cual se quiera obtener información. En este post trataremos de mostrar la posibilidad de uso de un keyloggger vía web usando tecnología Ajax y como los actuales navegadores intentan asegurar nuestra navegación limitando determinadas funcionalidades de Ajax que de ser mezcladas con ataques XSS abrirían nuevos vectores de ataques muy golosos para mucha gente. Cuando hablamos de keyloggers en javascript se habla de Ajax, ya que gracias a esta tecnología podemos interceptar teclas en cualquier parte de la web y sin tener que refrescar la pagina web que contiene el keylogger a cada pulsación de teclado o cada vez que enviemos datos, lo cual haría sospechar a los usuarios de la web de que algo raro ocurre, la creación de este tipo de keyloggers no tiene ninguna complicación y está al alcance de cualquiera el poder implementarlos.

El Cross-site Scripting o XSS es una técnica para aprovechar problemas de seguridad en páginas web relacionado con el tema de validación de datos entrantes, Xss consiste en insertar código web (VBScript, Html, javascript,..) en una aplicación, normalmente web, para diversos fines, desde un simple deface a phising o robo de cookies,..

Leer más »

Posted in How To | 4 Comentarios »

« Previous Entries