miércoles, junio 13, 2012

Instalar Android SDK y Eclipse en Debia Squeeze 64.

Estas son la notas de la instalación, por si a alguien les son útiles.

1.Requisitos básicos


Aunque comentan en varios foros que con la máquina java libre debería funcionar (java-6-openjdk), yo tenía instalada la maquina java de Oracle (antigua Sun) y me ha funcionado. Por tanto para instalarla:

aptitude install sun-java6-jdk sun-java6-jre

Importante en debían, cuando hay varias alternativas a un programa como en este caso con java, se utiliza la orden updates-alternatives para decirle al sistema que programa usar por defecto:

# update-alternatives --config java
Existen 3 opciones para la alternativa java (que provee /usr/bin/java).

  Selección   Ruta                                      Prioridad  Estado
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      modo automático
  1            /usr/bin/gij-4.4                           1044      modo manual
  2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      modo manual
  3            /usr/lib/jvm/java-6-sun/jre/bin/java       63        modo manual

Pulse para mantener el valor por omisión [*] o pulse un número de selección: 3
update-alternatives: utilizando /usr/lib/jvm/java-6-sun/jre/bin/java para proveer /usr/bin/java (java) en modo manual.


Por último. como el SDK de Android para linux solo tiene una versión de 32 bits y nuestro sistema es de 64, debemos tener instaladas las librerias que den soporte al sistema de 32 (normalmente ya se tienen, pero por si no es el caso):

# aptitude install ia32-libs

2. Instalar Android SDK:


Nos vamos a la página de descarga de Android:

http://developer.android.com/sdk/index.html

Te descargas el archivo indicado para linux (i386)

http://dl.google.com/android/android-sdk_r18-linux.tgz

Lo descomprimes, cada uno en su "home":

/home/juanjo/android-sdk/

Y metes en el $PATH la carpeta "/tools" donde tenemos los ejecutables que vamos a utilizar:

$ export PATH=${PATH}:/home/juanjo/android-sdk/tools



Si queremos instalar lo básico, ejecutamos la orden "android" dentro de la carpeta /tools" y seleccionamos lo que queramos. Si quieres una instalación completa la orden sería así:

$ sh /home/juanjo/android-sdk/tools/android update sdk --no-ui




Sistituid "juanjo" por vuestro nombre de "home".

Esta última opción, que es la que yo utilice,  hay que tener en cuenta que va a tardar bastante ( con una buena conexión mas de media hora...) y además hay que estar atento, pues hay unas descargas de Motorola add-ons. ( se conectan a developer.motorola.com.)  que necesita estar registrado para la descarga. Como de momento. no creo que me haga falta, con darle a "Intro" varias veces para evitar esas descargas es suficiente. De todos modos, para los que vayan a dedicarse  a programar en Android, el registro en está página es gratuito:

http://developer.motorola.com/membership/join/

3. Instalar Eclipse:


Aunque Eclipse esta en los repositorios de Debian, no me funcionó bien (aunque no se si fue por no ser root al inicio). De todos modos, parece que en todos los sitios recomiendan ir a la web de Eclipse y descargarse la versión que encontramos allí:

http://www.eclipse.org/downloads/index-developer.php

Se aconseja descargar el Eclipse classic en nuestro caso la versión para 64 bits:

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/S-4.2RC3-201205311500/eclipse-SDK-4.2RC3-linux-gtk-x86_64.tar.gz

Una vez descargada la descomprimimos en la carpeta "/opt/" como root. Se creara una carpeta llamada "eclipse" y en su interior tendremos el ejecutable "eclipse", que para no tener problemas  debemos de ejecutar como root, (esto me volvio loco) tanto con "sudo" en ubuntu y derivados, como haciéndonos root con "su" en Debian, de esta manera:


$ sudo /opt/eclipse/eclipse -clean &

En mi caso:

# /opt/eclipse/eclipse -clean &

En mi caso, al querer hacer el proceso sin ser root o administrador, me daba un error al instalar nuevo software ""org.eclipse.wst.sse.core 0.0.0".

Como root no tuve problemas, iniciamos eclipse con la orden anterior y nos vamos al menú “Help / Install new software”. Allí en "Work with" si le das a las diferentes opciones  me encontre con que aparecia la dirección de update:

The Eclipse Project Updates - http://download.eclipse.org/eclipse/updates/3.7

Como había tenido varios intentos fallidos, quise asegurarme, lo seleccione, tarda un momento en descargar todas las opciones, las señale todas "Select all", le das a "next" y "Finish" y se actualizará Eclipse. Nos pide que reiniciemos y lo hacemos.

Ahora volvemos a “Help / Install new software” y en "Work with" ponemos “http://download.eclipse.org/releases/indigo/” y le damos a "Enter". Tarda un buen rato, veremos la evolución de la descarga en la esquina inferior derecha “Fetching children of Indigo: (xx%)”. Una vez tengamos todas las opciones buscamos la sección “Web, XML and Java EE Development” y seleccionar el elemento “WST Server Adapters”. Pulsamos “Next” dos veces, aceptamos el acuerdo de licencia y pulsamos “Finish”.

Tendremos que reiniciar eclipse y ahora si que estamos preparados para instalar los complementos de Android para Eclipse. Volvemos de nuevo a “Help / Install new software” y Pulsamos en el botón “Add” y rellenamos el campo nombre con “Android plugin” y en “Location” ponemos la url “https://dl-ssl.google.com/android/eclipse/”. Pulsamos OK y nos vuelve
a cargar componentes. Seleccionamos todos los elementos de la sección “Developer Tools”. Otra vez “Next … Next … aceptar… y Finish” como antes. En algún momento nos dice que estamos instalando contenido sin firmar. No pasa nada. Pulsamos OK y seguimos. Al terminar, otra vez reiniciamos Eclipse para finalizar. En este momento, es cuando nos pide la ruta donde hemos instalado el SDK de android:


Colocamos el path completo "/home/juanjo/android-sdk/" y listo, ya hemos terminado de configurarlo todo.

Por comodidad vamos a crear un enlace que aparezca en el menú de Gnome, para ello creamos un archivo llamado eclipse en "/usr/bin/", debemos ser root para poder escribir en esa carpeta:

# touch /usr/bin/eclipse


Le damos los permisos adecuados:

# chmod 755 /usr/bin/eclipse


Con nano u otro editor de texto, abrimos el archivo:

# nano /usr/bin/eclipse

Y copiamos el texto siguiente:

#!/bin/bash
export MOZILLA_FIVE_HOME="/usr/lib/iceweasel/"
export ECLIPSE_HOME="/opt/eclipse"
export GDK_NATIVE_WINDOWS=1
/opt/eclipse/eclipse






Si en lugar de iceweasel tenéis firefox hay que sustituirlo.
Salvamos el archivo con Ctrl+O y listo. En cualquier terminal se puede ejecutar eclipse.

Si además queremos tener un acceso directo en el menú de Gnome tenemos que crear un archivo .desktop en /usr/share/applications/:

 # nano /usr/share/applications/eclipse.desktop


Y le copiamos este cointenido:

 [Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true

Lo salvamos y ya podemos ver el icono de eclipse en el menú "Aplicaciones>Programacion>Eclipse".

Ahora ya solo queda empezar a programar alguna aplicación para nuestro movil android, haber si todo funciona bien.

Información obtenida de:

En Ingles:
http://workaround.org/developing-android-applications-on-debian
En español:
http://hotsechu.wordpress.com/2012/04/14/318/
La solución a mis problemas:
http://kistindigo.blogspot.com.es/2011/12/instalar-eclipse-y-plug-in-android.html
http://kistindigo.blogspot.com.es/2011/12/instalar-android-sdk.html

Nos vemos
[JJ]

 

martes, mayo 29, 2012

Unlearning Security

Excelente blog en español, recomendable tanto por la tematica de exploit
como en temas de ingenieria inversa, yo no lo conocia y he encontrado
cosas interesantes y muy bien explicadas:

Buffer overflow en Linux:

http://unlearningsecurity.blogspot.com.es/2012/05/exploit-corehttp-web-server-053-stack.html

Pdf sobre Stack Buffer Overflow:

http://unlearningsecurity.blogspot.com.es/2012/04/documento-explotacion-de.html

Va directo al google reader......

Un saludo
Juan Jose

miércoles, marzo 14, 2012

LSOF al rescate

En Debian a veces al utilizar aptitude o algún programa para instalar paquetes, nos encontramos con este aviso:

# aptitude search firefox
E: No se pudo bloquear /var/lib/dpkg/lock - open (11: Recurso no disponible temporalmente)
E: No se pudo bloquear el directorio de administración (/var/lib/dpkg/), ¿quizás haya algún otro proceso utilizándolo?
W: No se pudo bloquear el fichero de almacén. Esto significa habitualmente que dpkg u otra herramienta apt está instalando paquetes. Se abrirá en modo de sólo lectura, ¡se PERDERÁN todos los cambios que realice al estado de los paquetes!
v firefox-firegpg -
p firefox-sage - transitional dummy package

De momento, ya nos ponemos en guardia, parece que hay alguien instalando algo sin nuestro permiso ¿? Miramos en la bandeja del sistema y no vemos aviso del update-manager, que en gnome seria el programa mas normal que estuviese utilizando el administrador de paquetes.

Por tanto, algo no va bien, si miramos el administrador de procesos (yo utilizo qps) no nos aclaramos pues hay muchísimos procesos y es difícil dar con el que este utilizando un determinado archivo.
De momento sabemos que algún proceso tiene abierto el archivo /var/lib/dpkg/lock, por tanto debemos buscarlo y para ello existe el programa lsof, que nos da la lista de los archivos abiertos.

Si ejecutáis lsof como root sin parametros vemos que la cantidad de información que nos ofrece es grandísima, por tanto vamos a filtrar los resultados con grep, buscando las lineas donde aparezca el archivo que buscamos:

# lsof | grep /var/lib/dpkg/lock
update-ma 14888 root 3uW REG 8,1 0 17506328 /var/lib/dpkg/lock
update-ma 14888 root 36uW REG 8,1 0 17506328 /var/lib/dpkg/lock

Bueno, esto nos tranquiliza, al final era update-manager que parece se ha quedado bloqueado, como sabemos el PID 14888, podemos matarlo como root con la orden kill:

# kill -9 14888

De modo que si volvemos a ejecutar aptitude el aviso no aparece:

# aptitude search firefox
v firefox-firegpg -
p firefox-sage - transitional dummy package

Lsof es un programa que tiene muchas posibilidades, con la opción -i nos va a indicar todos los programas que tienen conexión a internet, y si queremos ver que programa esta detrás de un determinado puerto se puede utilizar la orden:

# lsof -i :"puerto" Ejemplo # lsof -i :22

Hay muchas mas opciones, para mas información "man lsof" o nuestro amigo google ;)

Nos vemos
[JJ]

miércoles, marzo 07, 2012

INSTALAR ICEWEASEL 10.0.2 EN DEBIAN SQUEEZE

Unas notas para recordar, tomado de linux4newbies.org

Añadir repositorios Backports y Mozilla Debiam Team a /etc/apt/sources.list como root:

#Repositorio Backports
deb http://backports.debian.org/debian-backports squeeze-backports main
#Repositorio del Mozilla Debian Team
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

Nos bajamos el keyring de Mozilla Debian:

http://mozilla.debian.net/pkg-mozilla-archive-keyring_1.0_all.deb

Lo instalamos como root:

# dpkg -i pkg-mozilla-archive-keyring_1.0_all.deb

Actualizamos los paquetes:

# aptitude update

Y por fin instalamos el iceweasel de backports:

# aptitude install -t squeeze-backports iceweasel

Esta en ingles, por lo que debemos instalar en la primera ejecución
el archivo correspondiente a nuestro idioma desde aqui:

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-x86_64/xpi/

En mi caso es_ES.xpi. Al darle doble clic al enlace, debemos
permitirle a iceweasel su instalacion, pulsamos en "Allow". Reinciamos y listo.

La verdad es que el iceweasel 3.6 funcionaba muy bien, pero algunas extensiones no se podian instalar por lo que he decidido actualizarlo y de esta forma no pierdes todo lo que tenias instalado.

Nos vemos.
[JJ]

lunes, enero 23, 2012

ERROR AL HACER UN PENDRIVE INICIABLE

Esto me ocurrió al querer instalar en un pendrive de 8 Gb, el supersistema Katana 2.0 que engloba varias distribuciones de seguridad en un mismo pendrive.

Despues de descomprimir el archivo katana.rar en el pendrive, para hacerlo booteable, se necesita ejecutar en el pendrive el archivo ./bootinst.sh localizado en la carpeta /boot del usb.

El archivo bootint.sh se debe ejecutar como root, pero al intentar ejecutarlo no me dejaba, por lo que tuve que hacerlo de esta manera:

# bash ./bootint.sh

Se ejecuto, pero siempre me daba este error:

./bootinst.sh: línea 55: ./boot/syslinux/lilo: Permiso denegado

El problema es que el pendrive en debian squeeze se carga en Gnome con estas características, que se pueden ver con el comando "mount", os pongo solo la salida del usb:

# mount
/dev/sdc1 on /media/KATANA type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec)

showexec es un mandato que hace que en sistemas de ficheros fat, no se permite la ejecución de archivos, cosa muy interesante desde el punto de vista de seguridad, pero que hasta que te das cuenta te vuelve loco :P

Por tanto la solución es desmontar el pendrive y montarlo manualmente con las opciones que nos interesa:

Para desmontarlo, sabiendo que es /dev/sdc1:

# umount /dev/sdc1

Y montarlo manualmente con la opción default:

defaults Emplear las opciones predeterminadas: rw, suid, dev, exec, auto, nouser y async.

# mount -t vfat -o defaults /dev/sdc1 /media/KATANA

Por cierto, primero hay que crear la carpeta KATANA:

# mkdir /media/KATANA

Ahora con la opcion exec, que permite ejecución de archivos en el usb, no hay problemas:


/media/KATANA/boot # ./bootinst.sh

Flushing filesystem buffers, this may take a while...
Setting up MBR on /dev/sdc...
The Master Boot Record of /dev/sdc has been updated.
Activating partition /dev/sdc1...
No partition table modifications are needed.
Updating MBR on /dev/sdc...
Setting up boot record for /dev/sdc1...
Disk /dev/sdc1 should be bootable now. Installation finished.

Espero sea de utilidad para los que se encuentren este problema en linux.
[JJ]

miércoles, enero 18, 2012

Notas sobre Robtex

Excelente pagina para obtener información de un dominio o dirección IP; Robtex.
En firefox se puede añadir una barra de busquedas o toolbar o un search engine específico.

También podemos obtener resultados directamente con la URL:

NDS ej. http://www.robtex.com/dns/jazztel.com.html

IP ej. http://www.robtex.com/ip/95.20.209.140.html


A-net checks an entire a-network http://www.robtex.com/anet/
B-net checks an entire b-network http://www.robtex.com/bnet/
C-net checks an entire c-network http://www.robtex.com/cnet/

Route http://www.robtex.com/route/64.15.192.0-20.html En formato CIDR 64.15.192.0/20

As Sistemas autonomos Ej. http://www.robtex.com/as/as3561.html#asinfo ; como resumen
http://www.robtex.com/as/as3561.html ;completo

Tiene opcion whois, pero te lleva a NDS, en su lugar se puede utilizar:

Ej. http://dnsw.info/dominio_a_buscar

También se puede añadir un banner animado con la IP de los visitantes:

ip information

En fin , un sitio con muchas posibilidades.
[JJ]