sábado, 25 de octubre de 2008

Papelera de reciclaje: uso de recyclebin

En la version 10g oracle introdujo el concepto de papelera de reciclaje ( recicle bin ), cuando hacemos un "drop" de una tabla, la tabla y los indices son arrojados a esta papelera. En realidad únicamente se renombra el objeto, por lo que sigue ocupando el mismo espacio que antes:

1) Para ver el contenido de la papelera:

SELECT * FROM recyclebin;
SHOW RECYCLEBIN;
SELECT object_name, original_name, ts_name, type FROM user_recyclebin;


2) Para borrar el contenido de la papelera

PURGE RECYCLEBIN;


3) Para activar/desactivar la papelera (usar ON/OFF):
ALTER SESSION SET recyclebin = OFF;
ALTER SYSTEM SET recyclebin = OFF;


4) Para borrar una tabla que está en la papelera:
PURGE TABLE mitabla

viernes, 17 de octubre de 2008

Aircrack-NG con una tarjeta Intel 3945 en opensuse 11.0

Esta es una guía para configurar nuestra maquina linux con opensuse 11 de modo que seamos capaces de crackear redes WEP. La guía consta de dos partes configurar nuestra distro linux para que pueda usar la tarjeta 3945ABG para sniffar e inyectar paquetes. Los driver que trae por defecto las distribuciones para el uso de la tarjeta de red no nos sirven para hackear redes, por lo que es necesario sustituirlo por otros driver para el escaneo.La segunda del proceso de escaneado de una red wifi propiamente dicho que dejaremos para un post posterior

(I) Cónfiguración de la tarjeta intel 3945ABG
a) Comprobamos que tenemos una tarjeta intel
sudo lspci | grep 3945

b)
Instalamos paquetes necesarios para la compilación (quizá falte alguno más relacionado con la compilación o el núcleo):
sudo zypper install gcc
sudo zypper install libopenssl-devel
sudo zypper install kernel-source

c)
Descargamos los drivers de aircrack (con wget o lo que queramos):
wget http://dl.aircrack-ng.org/drivers/ipwraw-ng-2.3.4-04022008.tar.bz2

d)
Descomprimimos y compilamos los drivers
tar -xjf ipwraw-ng*
cd ipwraw-ng
make
sudo make install
sudo make install_ucode

e)
Hacemos que el módulo no se cargue en el arranque del sistema y generamos los símbolos para el módulo:
echo "blacklist ipwraw" | sudo tee /etc/modprobe.d/ipwraw
sudo depmod -ae

f)
Para cargar los driver usaremos el siguiente script que podemos colocar en ~root. En dicho script, en primer lugar se descargan el módulo que controla la tarjeta, en mi caso es el "iwl3945", pero en otros casos puede ser el ipw3945. Por razones de compatibilidad en el script he dejado los dos módulos,dado que en el peor de los caso el único efecto será mostrar un mensaje de error indicando que no se puede cargar/descargar el módulo ipw3945.En la última linea se carga el módulo
f.0) Logueamos como root ejecutando : su -
f.1)ejecutamos : cat > ~root/bin/cargarAir.sh
f.2) escribimos/pegamos y luego pulsamos control D:
#!/bin/sh
modprobe -r ipw3945
modprobe -r iwl3945
modprobe ipwraw

f.3)Damos permisos de ejecución al script. Ejecutamos: chmod u+x ~root/bin/cargarAir.sh

g) si ejecutamos el script (como root): cargarAir.sh y ejecutamos el comando iwconfig deben aparecer dos dispositivos: wifi0 y rtap0 . Si aparecen todo ha ido correctamente.

h) El problema de estos driver es que mientras estén cargados no podremos navegar normalmente por lo que para volver al estado normal es necesario descargarlos. Para eso vamos a crear otro script similar al anterior que descargue el módulo ipwraw y cargue el módulo normal de la tarjeta.
h.0) Logueamos como root ejecutando : su -
h.1)ejecutamos : cat > ~root/bin/descargarAir.sh
h.2) escribimos/pegamos y luego pulsamos control D:
#!/bin/sh
modprobe -r ipwraw
modprobe ipw3945
modprobe iwl3945


h.3)Damos permisos de ejecución al script. Ejecutamos: chmod u+x ~root/bin/descargarAir.sh
h.4)Para descargar los driver ejecutaremos: descargaAir.sh


Tras esta primera parte tendremos configurados correctamente los drivers ipwraw, así como dos script para la carga (cuando vayamos a sniffar una red) y descarga (cuando queramos volver al modo normal ). En ambos casos tendremos que hacerlo como root o con sudo y la ruta completa del script
1.- cargar drivers ipwraw -> cargarAir.sh o sudo ~root/bin/cargarAir.sh
2.- descargar drivers ipwraw -> descargarAir.sh o sudo ~root/bin/descargarAir.sh

lunes, 13 de octubre de 2008

LINUX: Accediendo al home de cualquier usuario

Para acceder a nuestro home podemos hacerlo de varias maneras:
cd ~
cd $HOME
cd /home/usuario

Para acceder al home de CUALQUIER usuario, incluso a uno distinto del nuestro podemos utilizar el siguiente comando:
cd ~usuario

Con ~usuario representamos el path al home del usuario (Usualmente /home/usuario). Esto es muy util para script, o para acceder a home no estándares (por ejemplo que esten divididos en varias carpetas /home /home1). Podemos usar cualquier comando normal de linux como:
ls ~dieguz2
find ~root -iname "*.xml" | xargs more
ls ~dieguz2/Documents/

Obviamente para acceder a directorios HOME diferentes del nuestro el propietario hemos de poseer los permisos necesarios para acceder, que usualmente nos lo dará el dueño de dicho home.

El home de los usuarios está en el archivo /etc/passwd. Podemos ver el home de cualquier usuario con alguno de estos comandos:
pwd ~usuario
salida: /home/usuario
o con el siguiente comando que nos aportará información extra:
grep usuario /etc/passwd
salida: usuario:x:1000:100:usuario:/home/usuario:/bin/bash

La informacíon contenida en el archivo es por orden:
usuario: nombre de la cuenta. Es el login (ej:dieguz2)
x : clave, si aparece x se encuentra encryptado en el fichero /etc/shadow. Si en lugar de la x aparecen una serie de digitos, es la clave.
1000: UID, o user identification. Es el número que identifica al usuario en el sistema
100: GID, o group identification. Es el número que identifica al grupo principal al que pertenece el usuario (ej: grupo users)
usuario: nombre del usuario (ej: pollo polea)
/home/usuario: ruta del home
/bin/bash : interprete de comandos (shell) del usuario

sábado, 11 de octubre de 2008

X server crash : configuración del teclado

Hoy al pulsar cualquier tecla del teclado extendido o tambíén llamado teclado númerico. Es la zona del teclado más a la derecha, donde se encuentran los números , bloque de números, las flechas, etc... el servidor X se caía con los siguientes mensaje:

kernel: X[1969]: segfault at 1a6 ip 0819f6e9 sp bf86bc40 error 4 in Xgl[8048000+19d000]
gconfd (dieguz-2873): El ID 2415919190 de control no existe
gconfd (dieguz-2873): El ID 2432696407 de control no existe

Tras mucho trastear el problema se encontraba en la opción del teclado (comando gnome-keyboard-properties) que aparece en la imagen. Tenía activado "Permitir controlar el puntero usando el teclado". Desactivando dicha opción se solucionaron los problemas

Instalación de Conceptronic Wireless 54Mpbs C54RU

Recientemente adquirí un "tarjeta" wifi USB de la marca conceptronic dado que aparentemente es soportada por linux sin dificultades. De primeras tuve los siguientes mensajes de error en /var/log/messages:

kernel: phy1 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.
firmware.sh [5319]: Cannot find firmware file 'rt73.bin'

Según el mensaje no tenía instalado el firmware del usb por lo que instale el paquete "ralink-firmware" que incluye el archivo "rt73.bin". Dicho paquete está en el repositorio "Opensuse 11 Non-Oss". De forma adicional instale el paquete madwifi, si bien este no es necesario para nada.

Para la instalación del paquete podemos usar YAST o bien desde linea de comando, debemos tener activo el repositorio "openSUSE-11.0-Non-Oss" (añadir repositorio):
sudo zypper in ralink-firmware

Instalando los paquetes mi sistema ya podía detectar correctamente el dispositivo. Desconectando el USB y volviéndolo a conectar el NetworkManager ya era capaz de detectar correctamente el dispositivo.

El dispositivo funciona perfectamente en opensuse 11.0.