martes, 7 de octubre de 2008

SaMuRaI Web Testing Framework

Es un S.O. basado en GNU/Linux (Ubuntu), para realizar Test de Penetracion a aplicaciones Web.

Web Oficial del Proyecto SaMuRaI

Descarga Directa

Algunas Capturas

Booteo




















Cargando y reconociendo Ha
rdware




















Login (samurai) y Password (samurai)





















Gnome (Escritorio)





















Herramnientas


Reconocimiento: Fierce Domain Scanner y Maltego.
Mapeo: WebScarab y Ratproxy.
Vulnerabilidades: w3af y BurpSuite.
Entre otras



















Add-ons incluídos (Browser)





















Instalador























Saludos!!!!
;o)

viernes, 3 de octubre de 2008

Absolute FreeBSD The Complete Guide



Absolute FreeBSD The Complete Guide 2 edición noviembre 2007

Idioma: Ingles
Pag: 745
Formato: PDF
Peso: 7.43 mb

Un libro que me gusto mucho... se los dejo para quien lo quiera descargar Clic Acá

sábado, 20 de septiembre de 2008

Queremos Software Libre!

Sip, tal como lo dice el titulo de esta entrada: Queremos Software Libre :)

Ese es el nombre de una iniciativa que esta empeñada en recolectar firmas de personas particulares como también de Grupos de personas, para que de una vez por todas se use Software Libre en los establecimientos tanto publicas como administrativas del Gobierno Vasco. Su manifiesto:


Las personas y colectivos abajo firmantes manifestamos que queremos usar Software Libre (por ejemplo GNU/Linux, Firefox, OpenOffice...):

1. Porque el Software Libre es una herramienta de transformación social que fomenta la igualdad, la participación y la solidaridad y nos ayuda a crear un mundo más justo.
2. Porque promueve el desarrollo humano, la sociedad del conocimiento y la innovación tecnológica, favoreciendo el acceso de todas las personas a las Nuevas Tecnologías.
3. Porque se fundamenta en compartir el conocimiento, es económicamente más rentable (sus licencias son gratuitas) y fomenta el empleo a nivel local.
4. Porque es libre (cualquiera lo puede utilizar y mejorar) y hace uso de estándares públicos y de formatos abiertos.
5. Porque posibilita la independencia tecnológica y, al contrario que el software privativo, evita estar atados a las decisiones que tome ninguna empresa (por ejemplo, Microsoft).

Por todo ello, solicitamos al Gobierno Vasco y demás Administraciones Públicas Vascas:

1. Promover y fomentar activamente el uso del Software Libre en todas las relaciones de las personas con la Administración.
2. Implantar el uso generalizado del Software Libre en todos los organismos públicos y en todas las esferas de la actividad ciudadana.
3. Invertir el presupuesto público costeado por los impuestos de todas y todos en desarrollar el Software Libre para beneficio de la comunidad.
4. Divulgar en la sociedad el significado del Software Libre, así como difundir sus múltiples ventajas y beneficios.
5. Formar a todas las personas en el uso de programas libres, especialmente durante su formación escolar.
6. Impulsar el empleo local y la independencia tecnológica, colaborando activamente con la comunidad de usuarios y empresas locales en el desarrollo del Software Libre.
7. Informar de forma activa y transparente sobre las acciones realizadas en esta materia y sobre las asignaciones presupuestarias relacionadas con las Nuevas Tecnologías.



Un esfuerzo muy digno... y como ya bien saben en Tutos Libres también Queremos Software Libre!!




Si bien no es una iniciativa internacional merece mucho ser promocionada, creo que deberíamos hacer algo así cada uno en nuestros países. Bien por uds señores Vascos, vamos a estar atentos.


Mucho Éxito para Uds Compañeros!

Mas informacion: Pag del Proyecto

sábado, 13 de septiembre de 2008

VRMS

Bueno en tutoslibres no debe hacer falta esta herramienta. vrms es el acronimo de Virtual Richard M. Stallman y el comando para ejecutar la herramienta que nos dicta en una terminal que tan "libre" es tu "Debian based system", es decir, que apliciones de las que tienes instaladas son libres o propietarias, dandote un porcetaje de libertad (o esclavitud). Es como pepe grillo para pinocho, solo que este de software libre y dentro de tu computadora.

El programa en Internet:
http://packages.debian.org/stable/admin/vrms

Bueno el procedimiento para instalarlo es el tradicional:
sudo apt-get install vrms

Y correrlo es mas simple, claro todo desde la terminal:
vrms

Resultado en mi Ubuntu Hardy: 17 non-free packages, 1.0% of 1689 installed packages.
Muchos plugins y esas cosas (trato de condesciendiente conmigo mismo, juar juar)...

Creo que Stallman me miria con desprecio :(.

Al menos te enteras de que borrar o en mi caso hablar de un 99% de libertad, pero la libertad es completa ¿o no? (caramba pepe grillo tendre que hacerte mas caso, juar juar).

Saludos.

lunes, 8 de septiembre de 2008

Crea tus propios paquetes: Checkinstall

Checkinstall es una aplicación desarrollada por Felipe Eduardo Sánchez Díaz Durán en 2002. La idea de este programita es facilitar la administración de nuestros sistemas. ¿Y como es que pretende lograr esto? La respuesta es sencilla, supongamos que alguna vez queremos o tenemos que instalar en nuestro sistema una aplicación que no esta empaquetada para nuestra distro o bien que necesitamos que este compilada a nuestra medida entonces la única alternativa es compilarla desde su tarball presentándonos dos posibilidades:

  • Compilar con el clásico configure && make && make install.
  • Empaquetarlo e instalarlo con su correspondiente instalador

La primera opción nos presenta problemas en el caso de querer desinstalar la aplicación y ni hablar si necesitamos upgradear. Por otro lado, empaquetar las aplicaciones no siempre es tarea sencilla, ya vimos que en Slackware es algo trivial, pero en otras distros ya significa liarnos más... Entonces es en este momento que aparece Checkinstall.

Esta herramienta nos permite crear paquetes TGZ, RPM y DEB a partir del tarball, con la consecuencia de que vamos a poder instalar el paquete con su correspondiente comando mágico y lo que es aun mejor, llegado el momento de querer eliminar la aplicación desinstalarla con su otra desinstaladora palabra mágica :)


Un Ejemplo Práctico

Siempre he creido que la mejor forma de hablar de algo es a través de un ejemplo práctico, así que eso vamos a hacer ahora, vamos a crear un rpm para OpenSuSE 11.0.

Los que conozcan y usen el visualizador de imagenes GpicView sabrán que se vuelve muy entrañable, ya que consume muy pocos recursos y es muy rápido, además de hacer simplemente lo que uno espera o sea ver una imagen :) . El caso es que estaba en mi Xfce de OpenSuSE 11.0 y no encontré ese programa en los repositorios que tengo agregado a Yast, cosa que me entristecio en un principio pero como dicen a rey muerto rey puesto... así que qué mejor oportunidad para crear nuestro propio paquete de GpicView. :)

Para comenzar instalamos checkinstall. En la actualidad esta en los repos de todas las grandes distros, asi que es cosa de buscarlo no mas. Como estoi trabajando con SuSE, me bastó con agregar los repositorios de la comunidad y dar un

# yast -i checkinstall

Ya instalado checkinstall, nos hacemos del tarball de la aplicacion a empaquetar. Yo bajé GpicView desde SourceForge ---> GpicView

Desempaquetamos y ejecutamos el configure y el make como siempre:

# tar xvf gpicview-0.1.9.tar.gz
# cd xvf gpicview-0.1.9/
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=/usr/man

No olvidar nunca ver la ayuda que nos da ./configure --help. Ya pasado esta etapa sin errores ejecutamos:

# make

Y acá es donde usamos Checkinstall (obviamente despues de haber pasado sin errores el make).

# checkinstall -h

Para ver la ayuda.
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.

Usage: checkinstall [options] [command [command arguments]]
Options:
*Package type selection*
-t,--type= Choose packaging system
-S Build a Slackware package
-R Build a RPM package
-D Build a Debian package
*Install options*

La ayuda ya nos dice que es muy sencillo de usar.

# checkinstall
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:
## ENTER ##

Preparando la documentación del paquete...OK

Por favor escribe una descripción para el paquete.
End your description with an empty line or EOF.
>>
Y ahora nos toca escribir una pequeña descripción de la aplicacion que vamos a empaquetar, no andaba muy inspirado así que escribi esto :p

>> GpicViewer es un visualizador de imagenes desarrollado en GTK+ :)
## ENTER ##
## ENTER ##

Y ya esta... ahora nos va a mostar un resumen con la opción de cambiar lo que no nos guste:

**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values:

1 - Summary: [ GpicViewer es un visualizador de imagenes desarrollado en GTK+ :) ]
2 - Name: [ gpicview ]
3 - Version: [ 0.1.9 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ gpicview-0.1.9 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ gpicview ]

Introduce un número para cambiar algún dato u oprime ENTER para continuar:
Esto no merece explicación o si? O_o

Installing with make install...

========================= Installation results ===========================
Making install in src
make[1]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/src'
make[2]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/src'
test -z "/usr/bin" || /bin/mkdir -p "/usr/bin"
/bin/sh ../libtool --mode=install /usr/bin/install -c 'gpicview' '/usr/bin/gpicview'
/usr/bin/install -c gpicview /usr/bin/gpicview
make[2]: No se hace nada para `install-data-am'.
make[2]: se sale del directorio `/home/cristian/gpicview-0.1.9/src'
make[1]: se sale del directorio `/home/cristian/gpicview-0.1.9/src'
Making install in po
make[1]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/po'
if test -r ".././mkinstalldirs"; then \
.././mkinstalldirs /usr/share; \
else \
/bin/sh ../mkinstalldirs /usr/share; \
.....
....
...
..
.
.
Y si todo salió bien nos va a mostrar el siempre lindo mensaje de exito!! :-D

======================== Installation successful ==========================

Copying documentation directory...
./
./COPYING
./NEWS
./ChangeLog
./TODO
./README
./INSTALL
./AUTHORS

Copiando los archivos al directorio temporal...OK

Comprimiendo las páginas de manual...OK

Creando la lista de archivos...OK

Creando paquete RPM...OK

NOTE: The package will not be installed

Borrando directorios temporales...OK

Borrando el directorio doc-pak...OK

Borrando el directorio temporal...OK


**********************************************************************

Done. The new package has been saved to

/usr/src/packages/RPMS/i386/gpicview-0.1.9-1.i386.rpm
You can install it in your system anytime using:

rpm -i gpicview-0.1.9-1.i386.rpm

**********************************************************************

Y ya esta... nos avisa donde esta guardado el paquete que acabamos de crear y como instalarlo:

# rpm -i /usr/src/packages/RPMS/i386/gpicview-0.1.9-1.i386.rpm


Como se puede ver checkinstall reemplaza a make install, makepkg y el make clean, ya que nos libra de los archivos innecesarios de la compilación. También es posible configurarlo para que al terminar de crear el paquete lo instale automagicamente, pero no lo recomiendo, es mejor que nosotros nos hagamos cargo de esas cosas.

Otras consideraciones:

  • Para los que usamos Slackware el comando es # checkinstall --fstrans=no
  • Por un tema de permisos siempre trabajo todo desde root, pero no es estrictamente necesario, por lo menos no hasta que queramos crear e instalar el paquete.
  • Lei en un foro ubuntero que checkinstall cuando le creaba paquetes DEB a veces tenia dificultades con los permisos, no me consta, pero da una posible solución (que no me gusta para nada!!) # chmod 755 / [Este es un ejemplo de porque es mejor trabajar todo como root :) ]
Y por último la fotito, para que vean que sí funciona xD


martes, 12 de agosto de 2008

Crea tus propios paquetes: Slackware

Algo que nunca esta demás aprender cuando queremos saber mas de nuestra distro es cómo crear paquetes propios y así poder crearlos según nuestras necesidades, además de poder compartirlos con nuestros amigos.

El proceso de crearlos es mas bien simple. Se resume en seguir una serie de pasos que no encierra mayor dificultad, ni misterio.

En esta entrada vamos a ver como hacer nuestros propios paquetes tgz desde el tarball. Los tgz son los paquetes precompilados para Slackware y las distros que se basan en esta, si se preguntan porque empezar por esta distro siendo que no es de las mas populares, la respuesta es muy simple, porque es mi distro preferida :D

Para comenzar elegimos que programa queremos empaquetar, para este caso me parece interesante elegir Amarok. Descargemos el tarball desde a su pagina --> Amarok
Para el caso la ultima versión Stable es la 1.4.9.1.

Ya descargada descomprimimos el tarball y entramos en la carpeta

$ tar xvf amarok-1.4.9.1.tar.bz2
$ cd amarok-1.4.9.1

Ahora es donde empieza el proceso de crear nuestro paquete, para esto necesitamos compilarlo como lo haríamos normalmente.

# ./configure --help

Para evitar tener problemas con los permisos es recomendable que desde ahora hagamos todo como root. El configure --help es un paso esencial en el proceso porque nos va a dar una lista de parametros que le podemos entregar a nuestro paquete.

`configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...
Las instrucciones son claras :) . En nuestro caso vamos a pasarle las opciones de compilación --enable-mysql --enable-postgresql y --with-libgpod (para los que tiene ipod), porque lo que necesitamos/queremos es que amarok maneje nuestra musica usando como motor de base de datos a mysql o postgresql. ¿Y esto para qué? la respuesta varia de acuerdo a las necesidades que tengamos, en mi caso, tengo una gran cantidad de música (muchos gigas) y sqlite tiende a portarse mal (es muy grande el volumende datos) lo que se traduce en ralentizacion del tarro y en una mala performance de amarok.

Si queremos o lo necesitamos podemos ademas indicarle rutas especificas, por ejemplo:

--prefix=/usr/local (muchas veces ya esta por defecto /usr)

Esto nos permite elegir el directorio donde queremos que se instale el programa. Supongamos que queremos instalarlo en /opt o en /home, entonces simplemente le ponemos --prefix=/opt ó --prefix=$HOME según sea el caso. Otras variables a destacar:

--bindir=/usr/bin
--sbindir=/usr/sbin
--sysconfdir=/etc
--localstatedir=/var
--libdir=/usr/lib
--includedir=/usr/include
--mandir=/usr/man
--docdir=/usr/doc
--infodir=/usr/info

Entonces un posible configure podria quedar de la siguiente forma:

# ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --mandir=/usr/man --docdir=/usr/doc --infodir=/usr/info --enable-mysql --enable-postgresql --with-libgpod

Esto solo es a modo de ejemplo, la verdad es que la mayoría de estos parametros ya vienen por defecto por lo que no es absolutamente necesario escribirlos todos, por ahora con un

# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-mysql --enable-postgresql --with-libgpod

Nos va a bastar y sobrar :p . Otro dato interesante de mencinar son las Variables de entorno, estas se especifican al final de este comando (./configure), según el configure --help algunas útiles pueden ser:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
XMKMF Path to xmkmf, Makefile generator for X Window System
PKGCONFIGFOUND
Path to pkg-config
Que no la vamos a usar en este caso y que por lo demás escapan del fin de este tutorial.

==========================
=== Amarok - WARNING ==========================================
=
= pg_config could not be found, this means that support for Postgresql
= will be disabled.
=
==========================
=== Amarok - PLUGINS ======================
=
= The following extra functionality will NOT be included:
= - NMM-engine
= - Helix-engine
= - yauap-engine
= - Postgresql Support
= - MusicBrainz Support
= - MP4/AAC Tag Write Support
= - iRiver iFP Support
=
= The following extra functionality will be included:
= + xine-engine
= + libvisual Support
= + MySql Support
= + Konqueror Sidebar
= + iPod Support
= + Creative Nomad Jukebox Support
= + MTP Device Support
= + Rio Karma Support
= + DAAP Music Sharing Support
=
=====================================

Good - your configure finished. Start make now

Si todo concluyó como queremos y sin problemas, vamos a tener algo así como el resumen de el configure, fíjense que le dimos soporte para mysql, para el ipod, etc. No esta soportado postgresql por el simple hecho de que no lo tengo instalado (no lo uso). Otra cosa a notar es que le podemos dar soporte a Helix y MP4/AAC, entre otros. Yo no los necesito :o cada quien ve lo que estime necesario...

Una vez pasada esta etapa y acabada sin errores, nos toca ejecutar el make

# make

Si no tenemos errores pasamos a la siguiente etapa. En esta parte es donde podríamos decir que se comienza a crear nuestro paquete propiamente tal, para esto ejecutamos en consola

# make install DESTDIR=/tmp/paquete

Es el mismo make install de como si estuviéramos compilando, solo que le agregamos el destino de adónde queremos que cree los archivos binarios o ejecutables, es recomendable siempre crearlo en los temporales para después ser limpiados, por ser amarok lo vamos a crear en /tmp/amarok :)

# make install DESTDIR=/tmp/amarok

Pasada esta etapa sin errores ya solo nos resta limpiar un poco y armar nuestro paquete. La limpieza la hacemos con el comando strip, este nos sirve para descartar los símbolos del ficheros, etc. esto lo hacemos sobre los directorios bin y lib.

# strip -s /tmp/amarok/usr/{lib,bin}/*

Ahora creamos el fichero de la documentación, este se crea dentro de amarok/usr y bajo el nombre del paquete que estamos creando:

# mkdir /tmp/amarok/usr/doc/
# mkdir /tmp/amarok/usr/doc/amarok-1.4.9.1

Y copiamos la documentación que dispone nuestra aplicación:

# cp -r AUTHORS ChangeLog COPYING doc README TODO /tmp/amarok/usr/doc/amarok-1.4.9.1/

En el caso de que contemos con archivos man los comprimimos con gzipped de la siguiente forma:

# gzip -9 man/*.?

En nuestro caso particular no lo necesitamos.

Y por último, creamos el slack-desc. Este no es más que un archivo de texto con la descripción del paquete que estamos creando. Es absolutamente necesario crearlo (obligatorio). ¿Alguna vez se detuvieron a leer la información que entrega un programa cuando lo instalaron? Si lo hicieron lo que estaban leyendo era el slack-desc :D . Este entrañable documento de texto lo debemos crear dentro de un directorio llamado install que lo tenemos que hacer antes en donde estará la "raiz" del paquete, osea en:

# mkdir /tmp/amarok/install
# cd /tmp/amarok/install
# vim slack-desc

Cada uno elige el editor de texto que quiera, yo como siempre uso ViM ;) . Ahora algo importante, las dimenciones del slack-desc deben ser de 79 carateres por 11 lineas, además debe cumplir algunos requisitos que nombro a continuación:

  • Dimensiones: 79 caracteres x 11 lineas
  • Titulo: handy-ruler
  • Las 11 lineas deben comenzar con el nombre del programa.
  • Las lineas deben tener una descripcion breve del paquete.
  • En la primera linea va el nombre de la aplicacion más una descripcion todavía mas breve de la aplicacion entre parentesis. Por ejemplo: Firefox (Navegador web)
  • No me acuerdo que más :$ ...un ejemplo grafico.


Ejemplo:

|-----handy-ruler--------------------------------------------------|
aplicacion: Nombre de la aplicacion. (Descripcion brevisima)
aplicacion:
aplicacion:
aplicacion: Descripcion breve de la aplicacion que estamos creando. Ojo, no
aplicacion: hay que pasar mas allá de los 79 caracteres ok?. Fijate con que
aplicacion: agilidad lo hago yo... esto me llevo mucho tiempo de aprender :o.
aplicacion: La idea de este texto es ayudar al que lo instala e informarlo.
aplicacion: Tampoco es para que escribamos nuestro manifiesto o peor aun
aplicacion: el testamento, eso sí, si lo hacen acuerdense de mí... que me
aplicacion: encantan las herencias xDD... no así los manifiestos :(
aplicacion:



Estas son referencias de como tiene que ser nuestro slack-desc, lo que no significa que tenemos que hacerlo tal cual, cada uno ve cuanto espacio necesita. Si se necesita menos lineas borramos las no necesarias :D . Para nuestro caso podria ser asi:


|-----handy-ruler--------------------------------------------------|
amarok: Amarok (Reproductor de Musica)
amarok:
amarok: Redescubra su musica Con Amarok. El mejor reproductor de
amarok: musica del mundo GNU según el buen Asclepio ;) .
amarok:
amarok: Mas informacion: http://amarok.kde.org/
amarok:


Ya creado el slack-desc, salimos a la carpeta donde estamos creando nuestro paquete y escribimos
las palabras magicas:

# cd /tmp/amarok
# makepkg -l y -c n $HOME/paquetes/amarok-1.4.9.1-i686-1cff.tgz

Con el comando makepkg creamos nuestro paquete, en este caso en particular lo estoi creando en mi home (/home/asclepio) en un directorio donde guardo los paquete que hago, de nuevo, cada quien los crea donde mejor le acomode.

Por convención los paquetes deben nombrarse siguiendo esta estructura:

aplicacion-version-arquitectura-N°-empaquetador.tgz


Como ven la aplicacion es amarok, version 1.4.9.1 hecho para arquitectura i686, es el N° 1 (primer paquete) y hecho por un servidor (mis iniciales, cff) el buen Asclepio ;) .

La acción de crear un paquete es algo trivial que con algo de experiencia se vuelve mecánico, algo que para el que aprendió a crearlos es de mucha utilidad. Por otro lado, tambien hay que notar el hecho de que el paquete creado lo podemos compartir con nuestros amigos o los demás compadres de distro. Algo muy util de aprender y fácil. En mi humilde opinión, elemental para todo Slacker y Linux user.


Mas Info: Slack Wiki: How To - Building a package
Paquetes para Slackware
Instalando desde las Fuentes

lunes, 4 de agosto de 2008

Firefox 3.0.1 en español en Slackware 12.1

Una entrada muy simple y solo para quien le pueda ser útil o interesar.

Hace varias versiones de Firefox que vengo haciendo mis propios paquetes de este navegador. El único motivo es que me gusta tenerlo en mi idioma --Castellano, ese el de los acentos y las eñes-- y como no se encuentra por slackpkg o en los repositorios (creo) acá se los dejo:

Actualización a 3.0.4 ----> Acá

Y como siempre la fotito :D