martes, 20 de diciembre de 2011

Instalando Android SDK y Rooteando HTC Inspier 4G

bueno desde que tengo un celular Neo FreeRunner e estado algo metido en eso de flashear celulares, probar distros para cel, etc,etc.
y ahora que me compre un HTC Inspire 4G, no pude quedarme con las ganas y le metí mano. Por lo cual e decidido hacer este tutorial para aquellos que les interese toda esta onda.
Pues bueno como este celular trae el Sistema Operativo Android ( froyo de caja, actalizable a gingerbread, por medios convencionales ) me di a la tarea de investigar un poco mas acerca de este SO, y llegue a la conclusión de que no se puede hacer nada sin tener la SDK de android, en realidad no necesita instalación, basta simplemente con descargarlo, y ejecutarlo después de descomprimirlo, lo malo es que de esta manera los comandos de la SDK solo son accesibles desde el directorio donde lo tengamos descomprimido, para poder tener los comandos desde cualquier directorio es necesario agregar la ruta de los scripts de la SDK al path.
Para esto y dependiendo de la distro ay que agregar unas lineas al archivo .bashrc ( en la mayoria de las distros) o en el caso de openSUSE, que es la distro que yo utilizo ay que agregarlas ar archivo /etc/profile.local ( y crearlo si no existe ). Para esto abrimos el archivo con un editor de texto ( puedes ser gedit,kwrite, o bien vi o nano si te gusta por linea de comandos ) y agregar las siguientes lineas.


PATH=$PATH:/home/darkspark/android-sdk/platform-tools/
export PATH

claro esta, sustitullendo la primer linea con la ruta completa en donde tenemos la SDK.
y listo, solo queda reiniciar la PC. Para ver si funciona basta con abrir una terminal y escribir el comando

adb

si todo sale bien deveriamos ver algo como esto.

darkspark@darkspark:~> adb
Android Debug Bridge version 1.0.29

 -d                            - directs command to the only connected USB device
                                 returns an error if more than one USB device is present.
 -e                            - directs command to the only running emulator.
                                 returns an error if more than one emulator is running.
 -s             - directs command to the USB device or emulator with
                                 the given serial number. Overrides ANDROID_SERIAL
                                 environment variable.
 -p      - simple product name like 'sooner', or
                                 a relative/absolute path to a product
                                 out directory like 'out/target/product/sooner'.
                                 If -p is not specified, the ANDROID_PRODUCT_OUT
                                 environment variable is used, which must
                                 be an absolute path.
 devices                       - list all connected devices
 connect [:]       - connect to a device via TCP/IP
                                 Port 5555 is used by default if no port number is specified.
 disconnect [[:]]  - disconnect from a TCP/IP device.
                                 Port 5555 is used by default if no port number is specified.
                                 Using this command with no additional arguments
                                 will disconnect from all connected TCP/IP devices.

device commands:
  adb push     - copy file/dir to device
  adb pull []  - copy file/dir from device
  adb sync [ ]     - copy host->device only if changed
                                 (-l means list but don't copy)
                                 (see 'adb help all')
  adb shell                    - run remote shell interactively
  adb shell           - run remote shell command
  adb emu             - run emulator console command
  adb logcat [ ] - View device log
  adb forward - forward socket connections
                                 forward specs are one of:
                                   tcp:
                                   localabstract:
                                   localreserved:
                                   localfilesystem:
                                   dev:                                                                                                                     
                                   jdwp: (remote only)                                                                                                                
  adb jdwp                     - list PIDs of processes hosting a JDWP transport                                                                                                   
  adb install [-l] [-r] [-s] - push this package file to the device and install it                                                                                          
                                 ('-l' means forward-lock the app)                                                                                                                 
                                 ('-r' means reinstall the app, keeping its data)                                                                                                  
                                 ('-s' means install on SD card instead of internal storage)                                                                                       
  adb uninstall [-k] - remove this app package from the device                                                                                                           
                                 ('-k' means keep the data and cache directories)                                                                                                  
  adb bugreport                - return all information from the device
                                 that should be included in a bug report.

  adb backup [-f ] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem] []
                               - write an archive of the device's data to .
                                 If no -f option is supplied then the data is written
                                 to "backup.ab" in the current directory.
                                 (-apk|-noapk enable/disable backup of the .apks themselves
                                    in the archive; the default is noapk.)
                                 (-shared|-noshared enable/disable backup of the device's
                                    shared storage / SD card contents; the default is noshared.)
                                 (-all means to back up all installed applications)
                                 (-system|-nosystem toggles whether -all automatically includes
                                    system applications; the default is to include system apps)
                                 ( is the list of applications to be backed up.  If
                                    the -all or -shared flags are passed, then the package
                                    list is optional.  Applications explicitly given on the
                                    command line will be included even if -nosystem would
                                    ordinarily cause them to be omitted.)

  adb restore            - restore device contents from the backup archive

  adb help                     - show this help message
  adb version                  - show version num

scripting:
  adb wait-for-device          - block until device is online
  adb start-server             - ensure that there is a server running
  adb kill-server              - kill the server if it is running
  adb get-state                - prints: offline | bootloader | device
  adb get-serialno             - prints:
  adb status-window            - continuously print device status for a specified device
  adb remount                  - remounts the /system partition on the device read-write
  adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
  adb reboot-bootloader        - reboots the device into the bootloader
  adb root                     - restarts the adbd daemon with root permissions
  adb usb                      - restarts the adbd daemon listening on USB
  adb tcpip              - restarts the adbd daemon listening on TCP on the specified port
networking:
  adb ppp [parameters]   - Run PPP over USB.
 Note: you should not automatically start a PPP connection.
  refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
 [parameters] - Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ ]
  can be interpreted in several ways:

  - If is not specified, both /system and /data partitions will be updated.

  - If it is "system" or "data", only the corresponding partition
    is updated.

environmental variables:
  ADB_TRACE                    - Print debug information. A comma separated list of the following values
                                 1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
  ANDROID_SERIAL               - The serial number to connect to. -s takes priority over this if given.
  ANDROID_LOG_TAGS             - When used with the logcat option, only these debug tags are printed.
darkspark@darkspark:~>
eso quiere decir que logramos introducirla al path correctamente y ya podemos utilizar el SDK desde cualquier directorio o ubicación.

Bien ahora viene la parte "complicada" el rooteo, para los que no sepan, que significa rootear, pues simplemente es convertirse en usuario root ( recuerden que android es basicamente un linux ).
Existen muchos métodos para esto y todo depende de el celular que estemos tratando de rootear, en mi caso con el inspire 4G. necesite de bajar este util hack kit descomprimirlo y ejecutarlo desde la terminal ( funciona en windows también ) solo es nesesario tener añadido el SDK de android al path y seguir las instrucciones. Y en cosa de 15 minutos ya tenemos el cel rooteado.
Bueno pues espero que esto les sea de utilidad. y si no saben como rootear su cel, les recomiendo se den una vuelta por este foro ( en ingles ) para averiguar como.
Que por cierto es el mejor foro que en encontrado relacionado a celulares windows mobile, iOS, android, etc,etc. saludos y suerte con su cel ;)

sábado, 15 de octubre de 2011

en este video muestro como espiar conversaciones del messenger...
si ya se que es una mamada... pero es divertido
en este vídeo muestro como sacar una clave WPA con la técnica bruteforce (sin diccionario) ayudándonos con john the ripper
en este vídeo muestro como ver password en una LAN con ettercap

en este video muestro como obtener una sesión de VNC utilizando ettercap y metasploit.
aquí les dejo este vídeo en donde muestro como obtener una shell utilizando metasploit y ettercap en conjunto.

en este vídeo muestro como hacer un filtrado de imagenes en una LAN con ettercap
en este vídeo muestro como hacer un DNS spoof en una red local, a otra pc conectada en la misma red y a youtube ( o la pagina que se quiera )


lunes, 25 de julio de 2011

Bueno pues como pueden leer en el titulo de mi blog, no solo escribiré de seguridad informática, también de Animación 3D, por eso aquí les dejo recién salida del Horno la primera entrega de Ninja Vs Ninja. que la disfruten.

sábado, 23 de julio de 2011

ejecutar programas con la voz (comandos de voz)

bueno,ya esta el tutorial par hacer que la pc nos hable, ahora vengo con la contra parte, resulta que navegando por ahí me encontré con un programa para windows que se llama esclavo. y pensé, debe existir algo similar para linux, y efectivamente me encontré con una combinación de 3 programas que logran el mismo resultado. ¡comandos de voz para ejecutar programas!
bien empecemos:

Sofware requerido:
festival
Sphinx2

perlbox-voice



podemos descargar el sources de Sphinx2 de la siguiente manera:

abrimos una consola y ejecutamos el siguiente comando 

svn co https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/sphinx2 

esto nos descargara el programa en una carpeta llamada sphinx2, entonces pasamos a esa carpeta con el comando

cd sphinx2 

una vez dentro ejecutamos los siguientes comandos:

./autogen.sh
make
su
(contraseña de root)
make install 

bien ya tenemos instalado sphinx2, ahora vamos a instalar perlbox-voice.
lo descargamos desde aqui-----------> http://sourceforge.net/project/downloading.php?group_id=44421&filename=perlbox-voice-0.09-0.noarch.rpm&a=6503560

es un rpm pero podemos cambiarlo de formato con alien.
bien ahora solo nos falta crear unos enlaces simbólicos a algunos archivos que necesitamos, para esto, en una consola nos convertimos en root y escribimos los comandos:

ln -s /usr/local/bin/sphinx2_continuous /usr/bin/sphinx2-continuous
ln -s /usr/local/lib/libsphinx2.so.0 /usr/lib/libsphinx2.so.0
ln -s /usr/local/lib/libsphinx2fe.so.0 /usr/lib/libsphinx2fe.so.0
ln -s /usr/local/lib/libsphinx2ad.so.0 /usr/lib/libsphinx2ad.so.0
ln -s /usr/local/share/sphinx2 /usr/share/sphinx2 

OJO: en el primer comando podemos ver que el archivo fuente se llama "sphinx2_continuous", y el enlace se llama "sphinx2-continuous" (cambiamos el guion bajo por guion normal) esto es así por que el programa perlbox-voice lo requiere así.
y listo ahora ejecutamos el comando (como usuario normal)

perlbox-voice 

 y se abrirá una ventana como esta:



en el botón control podemos encontrar un recuadro donde podemos escribir algo para que la pc lo diga presionando el botón "speack this text" y abajo encontramos los botones para iniciar la escucha en espera de comandos de voz y también para detenerlo.

en el botón de vocab encontramos los comandos de voz, estos podemos modificarlos a nuestro gusto agregar o quitar comandos etc. lo único malo es que las palabras están en ingles por lo cual tenemos que pronunciarlas en este idioma (espero que su ingles sea bueno, por que el mio no tanto jeje).

y por ultimo tenemos los botones config, para la configuración del programa y help para la ayuda.

jueves, 21 de julio de 2011

hacer que la computadora nos hable ai iniciar sesion

bueno, pues vamos a ver como hacer que la pc nos hable al iniciar sesión. primero checamos que este instalado el paquete "festival" ( creo que ya viene incluido en la mayoría de las distros) y también podemos bajar las voces en español de hombre y mujer desde aquí:

http://forja.guadalinex.org/repositorio/frs/?group_id=21&release_id=175

vienen en formato .deb pero podemos cambiarlas a rpm o tar.gz con el programa alien ( dependiendo de tu distro )
para esto, en una consola nos ubicamos en donde descargamos el paquete .deb y escribimos
de preferencia como root.

alien --to-rpm nombre_del_archivo.deb 
bien ya tenemos los paquetes instalados, ahora vamos a configurar festival para que nos hable en español y esta sea la opción por default.
buscamos el archivo

/usr/share/festival/voices.scm

y lo abrimos con un editor de texto (se necesita ser root para modificarlo)
y vamos a buscar la siguiente parte

"voice_default
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")

(defvar default-voice-priority-list
  `(kal_diphone
    cmu_us_bdl_arctic_hts
    cmu_us_jmk_arctic_hts
    cmu_us_slt_arctic_hts
    cmu_us_awb_arctic_hts

 y lo vamos a modificar de la siguiente manera:

"voice_default
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")

(defvar default-voice-priority-list
  `(JuntaDeAndalucia_es_pa_diphone
    cmu_us_bdl_arctic_hts
    cmu_us_jmk_arctic_hts
    cmu_us_slt_arctic_hts
    cmu_us_awb_arctic_hts

cambiamos  "kal_diphone" por "JuntaDeAndalucia_es_pa_diphone"
en mi caso es la voz en español de mujer, podemos ver las voces que tenemos instaladas en la carpeta

/usr/share/festival/voices

entramos en la carpeta de la voz que nos interese  (en mi caso, spanish) y ponemos en el archivo el nombre de la carpeta que queremos sea la voz default (JuntaDeAndalucia_es_pa_diphone)

guardamos los cambios y cerramos.

bien ahora vamos a crear dos archivos en nuestra carpeta de usuario ( /home/tu_usuario)


al primero lo vamos a nombrar .festivalrc ( recomiendo ponerle el punto después de modificar el archivo ya que al poner el punto se convierte en archivo oculto )
y dentro de este archivo ponemos lo siguiente:


(Parameter.set `Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
(Parameter.set `Audio_Method `Audio_Command)

ahora creamos el segundo archivo, a este le podemos poner como queramos a este le llamaremos inicio (quedaría así  inicio.txt). y dentro ponemos el mensaje escrito de lo que queremos que nos diga la pc.
también podemos ponerle el punto al principio al nombre para que este oculto el archivo.

ahora vamos a crear un tercer archivo, lo nombramos como queramos y le ponemos la extencion .sh ( script ) dentro de este archivo escribimos lo siguiente:

festival --tts inicio.txt

guardamos los cambios y cerramos, ahora tenemos que hacerlo ejecutable ya sea desde consola:


chmod +x script.sh

o en modo gráfico (click derecho/propiedades/permisos y marcar "es ejecutable")

ya casi tenemos todo listo, ahora vamos a configurar kde para que nos lea el archivo. para esto abrimos el panel de control
nos vamos a sonidos y multimedia / notificaciones del sistema.
ahi buscamos " KDE esta arrancando" y presionamos el botón "avanzada.

nos aparecerán varias opciones y debemos marcar la opción "ejecutar un programa" y le ponemos la ruta de nuestro script (el tercer archivo que creamos)
NOTA: podemos dejar marcada la opción "reproducir sonido" si queremos que aparte de hablar, también se escuche el clásico sonido de kde. Guardamos los cambios y listo ahora cada que iniciemos sesión, festival nos leerá el contenido del segundo archivo que creamos (inicio.txt). podemos ir checando el resultado de este archivo con el comando que pusimos en el script:


festival --tts inicio.txt

para no tener que estar iniciando y cerrando sesión para escucharlo.
.

es interesante lo que se puede hacer con festival , navegando por ahi me encontré con una lista de comandos, y se me ocurrió hacer un script para que nos diga la fecha al iniciar sesión.


#!/bin/bash

echo bienvenido | festival --tts #bienvenido
whoami | festival --tts          #ususario
echo hoy es | festival --tts     #hoy es
date `+%A` | festival --tts      #dia de la semana
date `+%e` | festival --tts      #numero de dia
echo del mes de | festival --tts #del mes de
date `+%B` |festival --tts       #nombre del mes
echo del | festival --tts        #del
date `+%Y` | festival --tts      #numero de año

este archivo se guarda con extencion .sh, se le dan permisos de ejecucion y lo ponemos como programa a ejecutar en el centro de control.
como se puede ver es muy facil crear estos archivos para festival, pues solo nesestitamos poner  "| festival --tts" (sin comillas logicamente) despues del comando que queremos que diga y si queremos que diga algo que escibimos nosotros lo hacemos con el comando "echo" .
les dejo aqui algunos comandos de  la lista por si alguien quiere hacer su propio script.
la lista completa esta aqui:

http://elneri.net/?p=331

Para saber la versión del kernel:
$ uname –r

Para saber qué procesador tiene la pc:
$cat /proc/cpuinfo | grep “model name”

Para saber cuál es la frecuencia del procesador:
$ cat /proc/cpuinfo | grep “cpu MHz”

Para saber cuál es el nombre de la maquina
$ hostname

Para saber cuál es tu nombre de usuario:
$ whoami

Para saber a qué grupos del sistema perteneces:
$ groups

Para saber qué hora y día es:
$ date

Como Quitar La Molesta Ventanita De Comprar WinRar

como lo dice el titulo vamos a quitar la maldita ventanita que nos aparece al abrir winrar.

osea esta:






para esto necesitamos el programa reshacker o resource hacker como lo quieran llamar.


DESCARGAR




una ves estemos en reshacker procedemos a abrir el archivo winrar.exe






una vez abierto, en el arbol buscamos

dialogs/ reminder y le damos click derecho,y en el menú seleccionamos delete resourse








y listo ahora ya no nos aparecerá la molesta ventanita al iniciar winrar   =)

Kismet + Google earth + GPSDrive

bueno pues voy a tratar de explicar como utilizar kismet , en conjunto con gpsdrive para localizar redes inalambricas mediante el un dispositivo GPS. y poder observarlas en google earth

para esto necesitaremos instalar:
google earth (aceleracion 3d nesesaria)
kismet (ya incluido)
gpsdrive
mysql (ya incluido)
gpsd (ya Incluido)
xgps

NOTA: no voy a explicar como instalar, los programas ya que estoy suponiendo que no es necesario.


empezamos a configurar.

 KISMET

buscamos el archivo kismet.conf (podemos usar el comando locate) y lo abrimos con algún editor de texto,buscamos esta sección y la modificamos de la siguiente manera.


# User to setid to (should be your normal user)
suiduser=AQUI-PONEMOS-NUESTRO-USUARIO (root)

# Do we try to put networkmanager to sleep? If you use NM, this is probably
# what you want to do, so that it will leave the interfaces alone while
# Kismet is using them. This requires DBus support!
networkmanagersleep=true

# Sources are defined as:
# source=sourcetype,interface,name[,initialchannel]
# Source types and required drivers are listed in the README under the
# CAPTURE SOURCES section.
# The initial channel is optional, if hopping is not enabled it can be used
# to set the channel the interface listens on.
# YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE
source=madwifi_g,wifi0,XXX

ojo esta ultima linea esta configurada para trabajar con una tarjeta atheros y los drivers de madwifi[/b] asi que si tienes una tarjeta diferente tendras que preguntarle a san GOOGLE. deve quedar asi
sourse=driver-de-la-tarjeta,interfaz,¿como-quieres-que-se-llame-tu-red?

también tenemos que modificar la siguiente linea


# Do we have a GPS?
gps=true
y con eso queda configurado kismet.
para iniciarlo tecleamos en una terminal

kismet


y nos aparecerá algo así:





y nos salimos con shift+q

MYSQL

para facilitar las cosas, encontre este script para iniciar mysql

#!/bin/sh
#
#### Backtrack 2 Mysql Startup Script by Dr_Gr33n ####
#
option=6

echo "Welcome do the Dr_Gr33n`s Backtrack 2 Mysql Startup Script"
#
echo "1) Start Small Server"
echo "2) Start Medium Server"
echo "3) Start Huge Server"
echo "4) Check Mysql is running"
echo "5) Stoping Mysql"
echo "0) Exit"
read option
case $option in

1) echo "Starting Small Server"
cp /etc/my-small.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
2) echo "Starting Medium Server"
cp /etc/my-medium.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
3) echo "Starting Large Server"
cp /etc/my-huge.cnf /etc/my.cnf
chown -R root .
chown -R mysql /var
chown -R mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=root
/usr/bin/mysqld_safe --user=root &
su
mysql;;
4) echo "Checking Mysql is running"
/usr/bin/mysqladmin -u root -p version
cd /root;;
5) echo "Stoping Mysql Server"
/usr/share/mysql/mysql.server stop
cd /root;;
0) echo "*** Bye ***"
;;
*) exit &;;
esac

después de iniciar mysql necesitamos crear una tabla llamada geoinfo y un usuario llamado gast y de contraseña gast, nos conectamos a mysql en una consola, una ves dentro escribimos los comandos:

mysql> CREATE DATABASE geoinfo; (para crear la DB)
mysql>GRANT ALL ON geoinfo.* TO `gast`@`localhost` IDENTIFIED BY `gast`;



una vez creado el usuario y la base de datos, descargamos este archivo

SCRIPTS

al descomprimir el archivo nos van a aparecer 2 archivos

create.sql
resultados.py

en una consola nos ubicamos en el directorio donde estan estos 2 archivos y ejecutamos el script create.sql


mysql geoinfo -p < create.sql

esto creara las tablas que nesesitamos en la base de datos geoinfo.
la opcion -p nos permite ingresar el password con el que nos conectamos a mysql, en caso de no tener pass, podemos omitir la opcion.



GPS y GPSD




ahora es tiempo de conectar el GPS a la computadora , una vez conectado abrimos una consola , para ejecutar gpsd.

NOTA: si el GPS es garmin tenemos que cargar el driver con el comando

modprobe garmin_gps

ejecutamos gpsd

killall gpsd
gpsd /dev/ttyS0 <--------si tu gps es por puerto paralelo
gpsd /dev/ttyUSB0 <--------si tu gps es por USB
xgps

y nos tiene que aparecer una ventana asi:





y ahora probamos con gpsdrive.
desde la consola iniciamos gpsdrive y nos debe aparecer algo así:

bt#gpsdrive
SQL: connected to localhost as gast using geoinfo
Creating main window
y nos debe aparecer una ventana así



si todo salio bien asta aqui, ya estamos listos para empesar a jugar jeje

primero iniciamos kismet y desde consola también iniciamos gpsdrive, en la consola nos aparece esto:
bt # gpsdrive
SQL: connected to localhost as gast using geoinfo
Creating main window

kismet server found



y gpsdrive ahora se debe ver así:





en el lado izquierdo marcamos las opciones las opciones

POI
WLAN
WP

en el mapa aparecen los puntos en donde se encuentran las redes.
ahora es tiempo de pasear, yo me fui con mi laptop a dar la vuelta por mi casa para ver cuantas redes detectaba jejeje.

bien una ves que tenemos las redes ya guardadas en la base de datos, ahora vamos a pasar la información de la base de datos a un archivo kml que son los que ocupa google earth. para esto necesitamos el archivo resultados.py, que descargamos anteriormente y lo vamos a ejecutar de la siguiente manera:

python resultados.py

nos aparecerá en consola las redes con su nombre, longitud, latitud, y macadress. y también nos creara el archivo

ap.kml


bien ahora abrimos google earth y le damos click a la opción archivo/abrir y buscamos el archivo ap.kml.

y listo ahora podemos ver en google earth las redes inalambicas debera verse mas o menos así:











links de descargas


XGPS

GPSDRIVE

GOOGLE EARTH


pues bien solo nos queda caminar mucho y disfrutar.