viernes, 26 de septiembre de 2014

#ShellShock + DHCP o como puede comprometerse una máquina con sólo conectarse a la red

El bug en bash, ya bautizado como Shell Shock, es tan terrorificamente sencillo que hasta los menos expertos son capaces de juntar rápidamente algo de código para comprometer una máquina Linux/Unix (incluido Macs). Así en menos de dos días hemos pasado de una simple prueba de concepto a una autentica pandemia de explotaciones.

Una de las más llamativas es la que ya conocíamos desde el principio con DHCP y que ahora nos ilustra TrustSec, otra PoC en la que vemos como podemos insertar código en la opción 114 (default-url) de nuestro server para explotar la vulnerabilidad:


String () { ignored;}; echo ‘foo’ en servidor TFTPD64

Simplemente hacemos un renew en el cliente (o levantamos el interfaz) y observamos el resultado:



Esteganografia en audio

Publico esto que es un tema antiguo pero me parecio chistosa la forma de redacción:

Hey hola, bueno como algunos ya saben la estenografía es éste arte de guardar mensajes, generalmente son imágenes con texto y que tienen un fin de confidencialidad, y en breve veremos como podríamos ocultar una imagen con algún texto, en un audio  y ver el mensaje a través  del en Espectograma de dicha “melodía” aunque es bastante rancia.


Seré breve.

Primero necesitamos la imagen con el mensaje que queremos “encriptar” en mi caso  la siguiente, si tiene texto pero no lo pondré aún por cuestiones sentimentales.
images (copy)
Bueno para crear el sonido a partir de la imágen utilzé enscribe, cabe señalar que es para linux. Previamente debemos tener las siguientes librerias:
gd
gd-devel
libsndfile
Para que queden bien debemos compilar con:
Ésto en cada una de las librerias descargadas ;)
Luego de asegurarnos que no arrojo ningún error nuestras compilaciones, vamos a crear el audio a partir de la imagen con encribe.
ya tenemos nuestro audio con imagen oculta, y se lo podemos enviar a nuestro receptor, jiji. En este caso mi novio.

Para poder ver el mensaje, que estará oculto en el espectograma podemos usar varias aplicaciones, solo no recomiendo audicity, y bueno en mi opinión recomiendo alguna app en mi caso Acustic Picture Transmitter para Iphone o Ipad y sale algo como esto:

tux-e

Es importante que acomoden bien la frecuencia que en este caso fué  44.1kHz.

Bueno Saludos.

Fuente: http://estefani.mx/2014/esteganografia-en-audio.html

Mas libros interesantes

Buenos días.

Dejo un link bueno para bajar libros directamente:

http://cirrus.turtil.net/serve/pdf/

Saludos jadcodianos.

Virtual Wifi Router + Tutorial

Virtual Wifi Router


Cuando invitas a tus amigos a tu casa, una de las primeras cosas que te pueden preguntar es: "Tienes conexión wifi" , y por motivos de la vida tu proveedor de Internet no te dejo un punto de red wifi , y siendo el caso la única opción que tienes es decir "No tengo Wifi", en estos tiempos esto puede ser motivo de burlas hacia ti, pero ahora te traigo una solución muy sencilla y efectiva con la cual podrás pasar desapercibido con tus amigos.

Virtual Wifi Router es una pequeña aplicación que utiliza la tarjeta de red wifi de tu pc, ya sea usb o interna para simular un punto de acceso Wifi permitiendo la conexión de a Internet a diferentes dispositivos, como celulares o computadores portátiles.

Configuracion Virtual Wifi Router

https://www.youtube.com/watch?feature=player_embedded&v=W3tp2-sulM4


Descargar Virtual Wifi Router

Fuente: http://www.identi.li/index.php?topic=198479

jueves, 25 de septiembre de 2014

Android Data Extractor Lite - ADEL



http://www.ehacking.net/2014/06/android-data-extractor-lite-adel.html
This Python script dumps all important SQLite Databases from a connected Android smartphone to the local disk and analyzes these files in a forensically accurate workflow. If no smartphone is connected you can specify a local directory which contains the databases you want to analyze. Afterwards this script creates a clearly structured XML report. 



If you connect a smartphone you need a rooted and insecure kernel or a custom recovery installed on the smartphone. 

Forensic principles: ADEL is intended to treat data in a forensically correct way. This goal is reached by the fact that activities are not conducted directly on the phone but on a copy of the databases. This procedure assures that data does not become changed, neither by the users of ADEL nor by an uncompromised operating system. In order to proof the forensic correctness of ADEL, hash values are calculated prior and after each analysis, to guarantee that dumped data did not become changed during analysis. 

Extendibility: ADEL has been modularly built and contains two separate modules: the analysis and the report module. Predefined interfaces exist between these modules and both of them can be easily amended by additional functions. The modular structure allows for dumping and analyzing further databases of smartphones without great effort and facilitates updates of the system in the future. 

Usability: The use of ADEL is intended to be as simple as possible to allow its use by both qualified persons and non-experts. At best, the analysis of the mobile phone is conducted in an autonomous way so that the user does not receive any notice of internal processes. Moreover, the report module creates a detailed report in a readable form, including all of the decoded data. During the execution, ADEL optionally writes an extensive log file where all of the important steps that were executed are traced.





ADEL needs a predefined configuration for each device to work proper. This configuration has to be added in the following file:
xml/phone_configs.xml 

As an example we added the configuration for the Samsung Galaxy S2 running Android 2.3.3, more phone configurations will follow.
Example for the use of ADEL with a connected smartphone:
adel.py -d device -l 4 

Example for the use of ADEL with database backups:
adel.py -d /home/user/backup -l 4 


In the current development state, the following databases are forensically treated and parsed:

  • telephone and SIM-card information (e. g. IMSI and serial number)
  • telephone book and call lists,
  • calendar entries,
  • SMS messages,
  • GPS locations from different sources on the smartphone.


ADEL now makes use of a custom recovery image based on the Clockworkmod-Recovery. Due to this change you do not need to modify the kernel or the adb daemon anymore. Furthermore, on some newer smartphones you can load the modified recovery to RAM via fastboot, so you don't need to do any persistent changes to the smartphone.

Download and more information

Fuente: http://www.ehacking.net/2014/06/android-data-extractor-lite-adel.html

lunes, 22 de septiembre de 2014

5 excelentes buscadores de imágenes a partir de imágenes (reverse image search)

Para buscar imágenes en la red lo que se suele hacer es ir a un buscador, escribir ciertas palabras clave y esperar a que sean mostradas las adecuadas. Sin embargo, hay momentos en los que las palabras no son suficientes para definir algo por lo que puede ser útil ayuda como la del reverse image search, un proceso de búsqueda de imágenes inversa en el que en vez de usar texto como palabras clave, se usan otras imágenes. Así de simple: subes una imagen, el buscador la analiza pixel por pixel, y te muestra otras parecidas automágicamente. Como ejemplo, cinco buscadores con los que esto es posible:

1. TinEye y MulticolorEngine

imagenes similares
Un referente en este tipo de búsquedas por imágenes. Pulsa el botón “Seleccionar archivo” para cargar la imagen que usarás como base o simplemente indica una URL en donde pueda encontrarse, espera uno segundos y ya tendrás decenas de resultados con imágenes similares.
En un módulo especial de TinEye, algo así como su sección de funciones experimentales, se encuentra MulticolorEngine, una poderosa herramienta más avanzada que permite seleccionar hasta cinco colores dentro de una paleta y ver resultados en tiempo real de imágenes que tienen los colores seleccionados (se pueden cambiar los porcentajes de aparición de cada uno de los cinco). Por si fuese poco, también es posible extraer la paleta de colores de una imagen subida.

2. WeSEE

wesee
WeSEE destaca por su agradable y sencilla interfaz que permite realizar múltiples búsquedas por palabras clave o desde imágenes almacenadas en el equipo (con el botón de la cámara), pero destaca aún más por integrar resultados de imágenes publicadas en Pinterest. Con esto se garantiza la novedad de muchas de ellas, algo perfecto para quienes deben seguir las nuevas tendencias en Social Media.

3. RevIMG

Casi tan sencillo como TinEye: sube una imagen desde el PC o desde una URL, define una categoría desde el menú desplegable para filtrar mejor los resultados, y finalmente selecciona una región determinada de la imagen o bien la imagen completa para iniciar la búsqueda. Los resultados son organizados destacando con colores su porcentaje de eficacia.

4. Google Goggles

google goggles logo
Una aplicación móvil disponible para iOS y Android que se vale de la cámara del móvil para escanear objetos en vivo y subir las fotografías como consultas a Google Imágenes automáticamente. El resultado: información textual y miles de imágenes similares incluso en tiempo real. Puede ser útil para escanear portadas de libros, etiquetas de vinos, electrodomésticos, etc., todo lo que tenga que ver con objetos que se puedan conseguir en línea pero que pueden ser difíciles de describir con palabras.

5. Google Imágenes

Buenos algoritmos de análisis de imágenes y la increíble capacidad de indexación de Google, una combinación perfecta de búsqueda de imágenes que todos deberían conocer, por ejemplo, los profesores y editores que deben combatir el plagio a diario. Sólo arrastra una imagen desde tu equipo hasta el cajón de búsqueda de Google para tener en cuestión de segundos miles de resultados.
uso

Fuentes:
http://wwwhatsnew.com/2013/05/21/5-buscadores-de-imagenes-reverse-image-search/
http://www.taringa.net/posts/ciencia-educacion/13186269/Busqueda-por-imagen-de-Google-realmente-util.html

viernes, 12 de septiembre de 2014

Estándares de seguridad ISO 27000: ¿qué hay de nuevo?

La semana pasada tuve la oportunidad de participar, como representante de ESET en México, del segundo Congreso de Seguridad de la Información, organizado por el Instituto Politécnico Nacional (IPN), impartiendo el taller ‘Implementación del estándar ISO/IEC 27001:2013’.
En este taller planteamos varios objetivos a alcanzar, como conocer los conceptos básicos de seguridad de la información utilizados en la serie de estándares 27000, identificar los requisitos definidos en la nueva versión de ISO 27001, así como reconocer las principales diferencias entre las ediciones 2005 y 2013 de este estándar.
Como resultado, en esta publicación quiero compartirles algunas consideraciones abordadas en el taller, mismas que pueden ser tomadas en cuenta cuando se tiene como objetivo gestionar la seguridad de la información utilizando como base los estándares ISO.

Consideraciones para la familia de estándares 27000

Con anterioridad revisamos la serie de normas ISO 27000, mostrando la principal característica de cada documento. Sin embargo, en los últimos dos años estos estándares han tenido importantes modificaciones en su contenido, que a continuación revisaremos.
  • ISO/IEC 27000
Una manera de comenzar la implementación de ISO/IEC 27001 puede ser a través de conocer este documento, que contiene el glosario de todos los términos utilizados en la serie 27000, un resumen general de esta familia de estándares, así como una introducción al sistema de gestión de seguridad de la información (SGSI), el proceso continuo que gestiona todos los esfuerzos de una organización, enfocados en proteger sus activos de información a través de la evaluación y tratamiento de riesgos de seguridad.
Este estándar adquiere mayor relevancia, ya que se convierte en la única referencia normativa de la nueva versión de ISO/IEC 27001 (cláusula 2). También, en este último todos los términos y definiciones han sido eliminados, únicamente haciendo referencia a este documento.
  • ISO/IEC 27001
A diferencia de otros documentos de esta familia, ISO 27001 es certificable para las organizaciones que desean mostrar su compromiso con la protección de la información. En general, especifica los requisitos para establecer, implementar, operar, monitorear, revisar, mantener y mejorar el SGSI.
También incluye el Anexo A que se conforma de 14 dominios, 35 objetivos de control (una descripción de lo que se desea alcanzar con la aplicación de controles) y 114 controles de seguridad, que pueden ser seleccionados e implementados como parte del proceso de tratamiento de riesgos.
El Anexo B (principios de la OCDE) y Anexo C (correspondencia con los estándares ISO 9001 e ISO 14001) han sido removidos en la nueva edición. Este último debido a que se adopta la estructura del Anexo SL, que ofrece lineamientos para establecer un sistema de gestión genérico, correspondiente con los estándares que han sido revisados y actualizados, así como aquellos que se publicarán en el futuro.
  • ISO/IEC 27002
El código de prácticas para controles de seguridad de la información provee una lista de objetivos de control y controles comúnmente aceptados, que busca servir como una guía para la implementación de los mismos.
A diferencia de la versión 2005 de ISO 27001, en la edición 2013 ya no es una referencia normativa, por lo que su uso es opcional. Aunque todavía es ampliamente recomendable, ahora otras fuentes de información pueden consultadas para la aplicación de los controles de seguridad.
  • ISO/IEC 27004
Este estándar provee una guía enfocada en la medición y evaluación de la efectividad del sistema de gestión, de los objetivos de control y los controles, utilizados para gestionar la seguridad de la información de acuerdo con los requisitos de ISO/IEC 27001. Puede ser de mucha utilidad cuando la organización requiera dar cumplimiento a las cláusulas de evaluación de desempeño del SGSI.
  • ISO/IEC 27005
La gestión de riesgos de seguridad de la información descrita en este estándar tiene como objetivo guiar a los usuarios durante la implementación de los requisitos en materia de evaluación y tratamiento de riesgos de ISO 27001.
Aunado al proceso de gestión de riesgos plasmado en este estándar, es necesario aplicar una metodología de evaluación de riesgos de seguridad, que permita en primer lugar definir los criterios de aceptación de los riesgos, determinar el impacto y la probabilidad de cada uno de estos, para elegir opciones de tratamiento conscientes, enfocadas en reducir los riesgos a un nivel aceptable, con base en los criterios previamente establecidos.
  • ISO/IEC 27007
Este estándar proporciona una guía para llevar a cabo auditorías al SGSI y sobre las competencias que requieren los auditores. Tiene como base ISO 19011, que es el estándar utilizado para auditorías a sistemas de gestión de cualquier tipo. Sin duda, se trata de una referencia muy útil cuando se deba dar cumplimiento a la cláusula  de auditorías internas de ISO 27001.
Con la revisión de estos documentos, podemos tener una mayor visión al momento de abordar los requisitos de ISO 27001, ya que como su nombre lo indica, se trata de guías que facilitan y complementan la implementación.
En este mismo sentido, también se puede consultar ISO/IEC 27003, el estándar orientado a proporcionar más información sobre la operación de cada uno de los elementos necesarios para estar en cumplimiento con la norma 27001.
Hasta este punto revisamos aspectos importantes de los documentos de la familia 27000. En posteriores publicaciones revisaremos otros elementos a tomar en cuenta cuando se trabaja con los estándares ISO durante la gestión de la seguridad de la información. Hasta entonces y ¡éxito en la implementación de su SGSI!

Créditos imagen: ©digitalpimp./Flickr
Autor Miguel Ángel Mendoza, ESET

Fuente: http://www.welivesecurity.com/la-es/2014/09/10/estandares-seguridad-iso-27000-nuevo/

miércoles, 3 de septiembre de 2014

Tox, un servicio de comunicación que busca ser una alternativa a Skype segura

captura_de_pantalla_2014-09-02_a_las_18.18.43.png

Con todas las filtraciones de la NSA, es de esperar que usuarios de servicios tan comunes, como lo es Skype, estén pensando en alguna alternativa que pueda asegurarles un poco más de privacidad. Es por ello que un grupo anónimo de hackers crearon Tox; un servicio de comunicación seguro.
Como es de esperar esta herramienta de comunicación tiene como objetivo asegurar la privacidad de sus usuarios, aunque a su vez busca ofrecer las mismas características que hoy en día lleva Skype para que pueda presumir de ser una alternativa de comunicación totalmente viable.

Tox nos promete seguridad por no depender de un servidor de terceros.

Usualmente un servicio de comunicación necesita de un servidor central al que llegan los datos enviados por el remitente, para después trasferirlos a un destinatario. Así que la diferencia de Tox con alguno de estos servicios es que prescinde de dicho servidor pues los datos se envían por medio de un enlace peer-to-peer mediante un protocolo encriptado.

Es por ello que el servicio promete seguridad ya que, al prescindir de un servidor de terceros, sería imposible interferir con sus comunicaciones para robar información, así como detener su funcionamiento.

Su puesta en marcha no es tan simple como el de otros servicios de mensajería instantánea, aunque tampoco será cosa de otro mundo, pues sólo requiere la creación de una clave con la que nos podremos identificar, la cual además servirá para que agreguemos a nuestros contactos, pudiendo ocultar algunos de éstos enviándolos a una lista de privada.

ss.png

Por ahora el servicio se encuentra en una fase beta, aunque ya existen clientes con los que lo podemos probar, incluyendo para Windows, Linux, OS X, y dispositivos Android, no obstante, tenemos la promesa de recibir clientes para más plataformas en el transcurso de su desarrollo.



Vía | Wired
Más Información | Tox

Fuente: http://www.genbeta.com/mensajeria-instantanea/tox-un-servicio-de-comunicacion-que-busca-ser-una-alternativa-a-skype-segura

ReactOS®, un nuevo sistema operativo de código abierto compatible con windows

ReactOS® es un sistema operativo de código abierto basado en los mejores principios de diseño que se encuentran en la arquitectura de Windows NT® (versiones de Windows tales como Windows XP, Windows 7 y Windows Server 2012 siguen la arquitectura NT). Escrito completamente desde cero, ReactOS no es un sistema basado en Linux, y no comparte nada de la arquitectura UNIX.

El objetivo principal del proyecto ReactOS® es proporcionar un sistema operativo compatible a nivel binario con Windows. Esto permitirá correr tus drivers y aplicaciones tal y como lo harían en tu sistema Windows®. Además, se usa la misma interfaz de usuario del sistema Windows, así que aquellas personas acostumbradas a éste encontrarán ReactOS muy familiar. Es objetivo último de ReactOS® es permitirte usarlo como alternativa a Windows® sin obligarte a cambiar el software con el que estás acostumbrado a trabajar.


ReactOS 0.3.16 aún se encuentra en fase alpha, lo que significa que aún no está completo, y sólo se recomienda para propósitos de evaluación y testeo

Fuente: https://www.reactos.org/es

Saludos jadcodianos.

Trucos para buscar en google nivel básico.

https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-xap1/t1.0-9/10616395_911233005571581_97015843189543409_n.jpg

Curl.io, compartir archivos usando la consola.

curl.io

Hoy en día enviar un archivo es muy fácil: nos vamos a un servicio como WeTransfer, arrastramos lo que queramos enviar a la web y listo, el receptor se lo puede descargar tranquilamente. Pero ¿y si a mo ni me gustan las interfaces gráficas? Para todos los fanáticos del terminal, tenemos curl.io.

Esta sencilla web nos da instrucciones para enviar archivos almacenados localmente usando un comando, que copiamos y pegamos al terminal de nuestro sistema para recibir un enlace directo de descarga que podremos enviar al destinatario. Hay un modo simple, donde sólo tenemos que hacer ese copiar-y-pegar; y un modo seguro donde introducimos una frase que se usará como llave de cifrado.

En ambos casos, el archivo quedará almacenado en los servidores de curl.io durante 4 horas con un tamaño máximo de 5 GB. Lo sé, muchos preferiréis algo más simple... pero los que defienden el terminal a muerte se alegrarán de conocer esta alternativa. Y precisamente por depender de un terminal, curl.io sólo funciona en OS X y en Linux.

Fuente: http://www.genbeta.com/herramientas/curl-io-porque-compartir-archivos-usando-interfaces-graficas-esta-sobrevalorado

Crear Service en Android

Buenas tardes, en esta entrada y en las siguientes, vamos a enfocarnos sobre un aspecto importante de Android, los Services o Servicios.



Un Service es una aplicación en Android que se ejecuta en background sin tener que interactuar con el usuario. Por ejemplo, cuando usamos una aplicación, puede que queramos ejecutar algo de música en background a la vez. En este caso, el código que está ejecutando la música en background no necesita interactuar con el usuario, y por ello puede ejecutarse como un Service. Los Services son ideales tambien para situaciones en las cuales no tenemos que tener presente una UI para el usuario. Un buen ejemplo de este scenario es una aplicación que continuamente crea un log de coordenadas geográficas del dispositivo. En este caso podemos escribir un Service que haga algo en background.
Para comenzar, vamos a crear un Service, aunque lo único que haremos es crearlo y parar su ejecución, no hará ninguna función mas, pero aprenderemos a crearlo. En entradas posteriores veremos como podemos hacer que haga algo y ver mejor como funcionan.
Con esta pequeña introducción, vamos a ponernos manos a la obra:
  • Creación del Proyecto

    Para crear nuestro proyecto, vamos a pinchar en File -> New -> Android Application Project. En el caso de que la última opción no aparezca, podemos pinchar en “Other” con el cual nos aparecerá una ventana para elegir entre una lista. Para filtrar los resultados, podemos escribir “Android” en el cuadro de texto que encontraremos y así nos será mas fácil.
    Una vez se nos muestra la primera ventana del asistente, elegiremos un nombre para nuestro proyecto, yo en mi caso lo he llamado “EjemploService”, aunque no es importante y podeis poner el que querais. El resto de opciones podeis dejarlas como querais.
    A medida que avanzamos en el asistente vamos a encontrar una ventana donde se nos permitirá dar un nombre a nuestra Activity principal, yo en mi caso lo he llamado ServiceActivity, y su archivo layout se llama activity_service.xml. Este archivo layout se encuentra en la carpeta res/layoout, y en él definiremos la interfaz gráfica de nuestra Activity.
    Con esto, tendremos nuestro proyecto ya creado, y podemos continuar con la construcción de la aplicación.
  • ServiceActivity

    Una vez tenemos creado nuestro proyecto, tendremos nuestra clase Activity y su layout, ubicado como bien hemos especificado en la carpeta res/layout. Modificaremos su código para que quede como este:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".ServiceACtivity" >
     
        <Button
            android:id="@+id/btnStart"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="onClickComenzar"
            android:text="Comenzar Servicio" />
     
        <Button
            android:id="@+id/btnStop"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="onClickParar"
            android:text="Parar Servicio" />
     
    </LinearLayout>
    Podemos observar que tenemos 2 View del tipo Button, los cuales serán los encargados de comenzar el Service y de pararlo cuando deseemos. Hemos establecido valores en el atributo onClick, para luego crear métodos en la activity con el valor de estos atributos.
    Por otro lado, tenemos la clase ServiceActivity.java, cuya funcionalidad principal será comenzar el Service y pararlo cuando pulsemos el botón de detenerlo. Su código es el siguiente:

    package com.example.services;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
     
    public class ServiceActivity extends Activity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_service);
        }
         
        public void onClickComenzar(View v){
            startService(new Intent(getBaseContext(), MyService.class));
        }
         
        public void onClickParar(View v){
            stopService(new Intent(getBaseContext(), MyService.class));
        }
     
    }
    El código de nuestra Activity es bastante simple, lo único que hacemos es crear los 2 métodos para que los botones tengan funcionalidad
    • public void onClickComenzar(View v) En este método llamamos a otro método, llamado startService, y como argumento le pasamos un Intent el cual recibe el context de nuestra aplicación, y la clase MyService.class, que será la que contenga el servicio (Aún no la hemos creado).

      public void onClickComenzar(View v){
          startService(new Intent(getBaseContext(), MyService.class));
      }
    • public void onClickParar(View v) En este otro método invocaremos el método stopService el cual acepta como argumento un Intent el cual hemos creado nuevo con el context de nuestra Activity y el nombre de la clase de nuestro Service (MyService.class), que como he dicho anteriormente aún no hemos creado, pero será el siguiente paso.

      public void onClickParar(View v){
          stopService(new Intent(getBaseContext(), MyService.class));
      }
  • MyService

    Ahora vamos a crear nuestra clase para el Service, la cuál heredará de la clase Service. Para ello nos dirigimos a nuestro package (com.example.services en mi caso) y crearemos una nueva clase en su interior.
    Una vez nuestra clase esté creada, vamos a modificarla para que quede como la siguiente:

    package com.example.services;
     
    import android.app.Service;
    import android.content.Intent;
    import android.os.IBinder;
    import android.widget.Toast;
     
    public class MyService extends Service {
     
        @Override
        public IBinder onBind(Intent arg0) {
            // TODO Auto-generated method stub
            return null;
        }
     
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            // TODO Auto-generated method stub
            Toast.makeText(this, "Servicio en Ejecucion", Toast.LENGTH_SHORT).show();
            return START_STICKY;
        }
     
        @Override
        public void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            Toast.makeText(this, "Servicio destruido", Toast.LENGTH_SHORT).show();
        }
    }
    Vamos a explicar un poco los métodos que vemos:
    • onBind(Intent arg0) Vamos a ver su código:

      @Override
      public IBinder onBind(Intent arg0) {
          // TODO Auto-generated method stub
          return null;
      }
      Este método permite ligar una actividad a un servicio. Esto permite a la activity tener acceso a los miembros y métodos en el interior del Service. Por ahora, retornamos null para este método ya que en esta entrada solo veremos como crearlo.
    • onStartCommand(Intent intent, int flags, int startID) Vamos a ver su código:

      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          // TODO Auto-generated method stub
          Toast.makeText(this, "Servicio en Ejecucion", Toast.LENGTH_SHORT).show();
          return START_STICKY;
      }
      Este método es llamado cuando hacemos que el servicio se ejecute explícitamente mediante un método startService(). Este método ejecutará todo el código que necesitemos que haga nuestro Service. Finalmente, retornamos la constante START_STICKY para que nuestro service siga ejecutandose hasta que lo detengamos explícitamente.
    • onDestroy() Vamos a ver su código:

      @Override
      public void onDestroy() {
          // TODO Auto-generated method stub
          super.onDestroy();
          Toast.makeText(this, "Servicio destruido", Toast.LENGTH_SHORT).show();
      }

      Este método es llamado cuando el servicio es detenido usando el método stopService(), aquí es donde limpiamos los recursos que hayan sido usados por nuestro service.
  • AndroidManifest.xml

    Finalmente, para que nuestro Service puede usarse, tenemos que declararlo en el AndroidManifest de nuestra aplicación. A continuación vemos como se hace:

    xml version="1.0" encoding="utf-8"?>
        package="com.example.services"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="17" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.services.ServiceActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <service android:name=".MyService" />
        </application>
     
    </manifest>

    Vemos que hemos agregado la línea:


    <service android:name=".MyService" />
    Si quisieramos que nuestro service estuviera disponible para otras aplicaciones, podríamos añadir un action:

    <service android:name=".MyService">
        <intent-filter>
            <action android:name="sekth.droid.Services.MyService" /> 
        </intent-filter>
    </service>

Con esto ya tendríamos nuestra aplicación funcional, podemos ejecutarla en el emulador y ver como funciona, aunque realmente no haga nada interesante.
Podemos ver unas capturas aunque tengan poco contenido:
Principal Service ejecucion Service Ajustes Service detenido

A continuación un video sobre la aplicación en tiempo real:




Con esta entrada, hemos visto la manera en la que podemos crear un Service en Android, aunque en este caso no haga naad mas que ocupar ram haciendo nada, pero en futuras entrada podemos ver un poco mas el enfoque que podemos darle para que haga diferentes tareas.
El código del ejemplo podeis descargarlo de aquí.

Sin más, cualquier aporte o corrección es bienvenido.

Saludos!!!

Fuente: http://sekthdroid.wordpress.com/2013/02/10/crear-service-en-android/

Herramientas de Pentest desde Android

Android Network Toolkit – zAnti

zAnti 1 Dispositivos Android como herramientas para test de penetración
Iniciaremos con las herramientas que agrupan varias utilidades en una y después pasaremos por las mas puntuales, una de las que ha dado que hablar bastante últimamente es zAnti una herramienta que vio la luz por primera vez en el 2011 durante DEFCON y que integra una gran variedad de utilidades para auditar una organización en una sola aplicación, ha sido motivo de criticas ya que por su modelo de negocios capa o elimina muchas de las funcionalidades interesantes como los ataques MITM o la explotación de fallos de seguridad, a cambio de créditos que se van consumiendo con cada uso.
zAnti 2 Dispositivos Android como herramientas para test de penetración

dSploit – Android Network Penetration Suite

La siguiente aplicación se llama dSploit incluye muchas de las herramientas que trae zAnti sin restricciones o pedir créditos por ello, tiene un escáner de puertos, una herramienta para fuerza bruta, un creador de paquetes UDP o TCP personalizados, un buscador de vulnerabilidades y un gran modulo de Main in the middle.
dSploit 1 Dispositivos Android como herramientas para test de penetración
Este ultimo modulo es uno de los mas completos, trae varios ataques prediseñados y muy fáciles de implementar, aunque algunos estén pensados mas para el entretenimiento, otros pueden ser muy efectivos y peligrosos.
dSploit 6 Dispositivos Android como herramientas para test de penetración
El sistema de crackeo por fuerza bruta tiene soporte para muchos protocolos, además de traer los diccionarios básicos y la opción para agregar mas o generar las contraseñas al vuelo.
dSploit 5 Dispositivos Android como herramientas para test de penetración
Esperaba mas de un modulo llamado “vulnerability finder”, pero en el dSploit muestra simplemente los CVE relacionados con los servicios encontrados en la etapa de enumeración.
dSploit 4 Dispositivos Android como herramientas para test de penetración
El inspector es un servicio útil que permite conocer algunos datos de una dirección ip especifica, enumera servicios y deduce el sistema operativo.
dSploit 3 Dispositivos Android como herramientas para test de penetración
El scanner de puertos se queda corto comparado con el zAnti (que incluye una versión de nmap 6) pero cumple su función y es bastante rápido.
dSploit 2 Dispositivos Android como herramientas para test de penetración
Permite sacar claves por defecto de varios tipos de enrutadores y lanzar routerpwn cuando detecta que el objetivo es un router.

Revenssis – Compartido por 4v4t4r

Revenssis es una suite para pentest, es un gran conjunto de herramientas que incluyen:
  • Web App scanners
  • Encode/Decode & Hashing tools
  • Vulnerability Research Lab
  • Forensics Lab
  • Utilidades como Shell, SSH, DNS/WHOIS Lookup, Traceroute, Port Scanner, Spam DB Lookup, Netstat…
revenssis Dispositivos Android como herramientas para test de penetración

Fing – Network Tools

Fing es un programa que se anuncia como un escáner de red pero realmente tiene mas funcionalidades que esa, ping, traceroute, dns lookup, wake on lan, tcp connection tester, geo localización, son solo algunas de ellas.
Fing Dispositivos Android como herramientas para test de penetración

Connect Cat

Netcat para android, toda la navaja suiza en tu dispositivo móvil.
Connect Cat Dispositivos Android como herramientas para test de penetración

ExploitDB Latest Exploit

Esta es una pequeña utilidad que hace un llamado a los RSS de ExploitDB para mantenernos informados de los últimos exploits publicados en este portal de referencia en cuanto a fallos de seguridad.
ExploitDB Dispositivos Android como herramientas para test de penetración

Clientes para escáner de vulnerabilidades reconocidos

Nessus

Las grandes empresa que ya ofrecen productos para pentest se han dado cuenta del potencial que tienen los dispositivos móviles y se han lanzado a sacar sus clientes compatibles, tenable fue uno de los primeros en sacar el suyo y por eso tenemos cliente de nesus para Android e iOS
Nessus Dispositivos Android como herramientas para test de penetración

eEye Scanner

Pero no es la única, eEye empresa de seguridad recientemente adquirida por beyoundtrust (quien al parecer anda de compras…) es reconocidos por su escáner de vulnerabilidades Retina y ahora lanzo una herramienta llamada eEye Android Scanner ,que permite revisar configuración de nuestro dispositivo en busca de fallos de seguridad en él.
eEye Scanner Dispositivos Android como herramientas para test de penetración

Captura de datos y robo de sesiones, cookies, etc..

Existen varias herramientas para hacer este trabajo, de hecho los dispositivos móviles son excelentes para esto, ya que como decía anteriormente pasamos totalmente desapercibidos.

Intercepter-NG

La herramienta mas utilizada para esta labor en los equipos tradicionales es y lo seguirá siendo por un buen tiempo wireshark y lo mas parecido a wireshark en android es intercepter-ng, una excelente herramienta que también esta disponible en pc y captura contraseñas de una gran cantidad de protocolos, mensajes de chat de muchos servicios de mensajería, reconstruye archivos de varios protocolos entre otras cosas de forma simple.
Intercepter NG 1 Dispositivos Android como herramientas para test de penetración
Intercepter NG 2 Dispositivos Android como herramientas para test de penetración

FaceNiff

Otra herramienta muy popular de la cual hablamos hace un tiempo en la comunidad es FaceNiff, que permite con solo presionar un botón robar secciones de redes sociales y servicios online, incluso si están logueados desde https (usando sslstrip), todo de forma muy fácil… cosa que en pc no lo es tanto.
Facesniff Dispositivos Android como herramientas para test de penetración

DroidSheep

Pero faceniff no es la única herramienta para hacer esta tarea, Droidsheep, claramente inspirado en Firesheep (un plugin de firefox que permitía fácilmente este proceso) realiza ataques de arp-spoofing a través de la red, hace que el trafico pase por el dispositivo y captura las sesiones de las personas que la estén usando.
DroidSheep Dispositivos Android como herramientas para test de penetración
Desafortunadamente las autoridades alemanas son muy estrictas con su ley contra “herramientas de hacking” y el desarrollador de DroidSheep Andreas Koch, dejo de mantener la herramienta, aunque publico su código fuente y los hash de las ultimas compilaciones que el realizo.
La buena noticia es que encontré 2 de los 3 archivos que corresponden a los hash publicados por Andreas koch, la mala noticia es que no encontré un paquete de la ultima versión que correspondiera a los hash publicados por el desarrollador, solo encontré de la ultima versión un paquete compilado por un forero de xda-developers que generó un apk con hash AEC222945A7C54EA909EE987B37574A1, descárgalo bajo tu propio riesgo.
DroidSheep_15.apk
F0A647E720A5EDDCE04D95D0E4C4E2AD
AEC222945A7C54EA909EE987B37574A1version generada por el usuario mbirth del foro xda-developers
DroidSheep_14.apk
DB53F4C3CC2553F35C45D52A57E4908C
DroidSheep_13.apk
9722FDD6B1DA8151635B992931FBD66A

DroidSheep Guard

Pero Andreas Koch no solo desarrolló DroidSheep, también saco una herramienta llamada DroidSheep Guard, que permite determinar si alguien en la red esta haciendo un ataque arp spoofing o directamente esta usando DroidSheep y nos desconecta de la red si queremos.
DroidSheep Guardian Dispositivos Android como herramientas para test de penetración

Herramientas para redes inalámbricas..

inSSIDer

inSSIDer es una de las herramientas referentes para analizar redes inalámbricas en equipos tradicionales y ahora podemos disfrutar de inSSIDer en los dispositivos android.
inSSIDEr Dispositivos Android como herramientas para test de penetración

WiFinspect

WiFinspect es una suite de android para análisis de redes inalámbricas que incluye una serie de herramientas como un sniffer, host discovery, análisis de archivos pcap, entre otras utilidades para inspeccionar una red WiFi.
WiFinspector 1 Dispositivos Android como herramientas para test de penetración
WiFinspector 2 Dispositivos Android como herramientas para test de penetración

Find My Router´s Password

Otra herramienta útil para redes inalámbricas en Android, es Find my Router Password, que permite conseguir las claves de los routers utilizando ataques de fuerza bruta, con claves por defecto, diccionarios y claves generadas al vuelo.
Router Dispositivos Android como herramientas para test de penetración
Router2 Dispositivos Android como herramientas para test de penetración

Mac2WebKey HHG5XX

Mac2webkey HHG5XX es la herramienta creada por nuestro amigo paulino calderón, que sirve para deducir la clave por defecto que tienen algunos routers huawei, puede ser útil tenerla en nuestro teléfono por si llegáramos a encontrarnos uno de estos routers en el camino.
HHG5XX Dispositivos Android como herramientas para test de penetración

Mac Address Ghost

Mac Address Ghost es una herramienta que nos permita cambiar la dirección mac de nuestro android, muy útil cuando se hace filtrado por mac o cuando las tarjetas de internet en los aeropuertos u hoteles son muy caras… jejeje
MacGhost Dispositivos Android como herramientas para test de penetración

WiFiKill

Del mismo creador de FaceNiff existe una aplicación llamada WiFiKill que puede sernos útil en diferentes situaciones, por ejemplo, estas en un sitio publico donde sabes que hay una conexión decente a internet, pero esta muy lleno, con mucha gente usando la red para banalidades y necesitas descargar una imagen de 4gb para sacar unos pantallazos y terminar un informe, puedes:
A). buscar un sitio con menos gente y conexión mas rápida
B). utilizar WiFiKill
WiFiKill Dispositivos Android como herramientas para test de penetración
WifiKill permite desconectar otras personas de una red inalámbrica, es bastante configurable, permitiendo bloquear toda la red, menos tu equipo, un equipo especifico, o un sitio especifico que esta visitando una persona en especial, tiene un modulo de sniffeo que permite saber que sitios están visitando las personas a tu alrededor y poder identificar quien es el/la que esta consumiendo el preciado ancho de banda que necesitas con tanta urgencia.
Seguramente encontrarás algún uso para la herramienta, por lo que debes tenerla dentro de tu arsenal.

Backtrack en tu Android

Existe una aplicación llamada Complete Linux Installer, que permite instalar diferentes distribuciones GNU/Linux en tu dispositivo Android, entre las distribuciones soportadas se encuentra BackTrack 5, por lo que tendrías todas las herramientas incluidas en esta gran distribución diseñada para realizar pruebas de seguridad en tu dispositivo android, la documentación del procedimiento a seguir estara documentado próximamente en la comunidad *todavía no*.
Backtrac Dispositivos Android como herramientas para test de penetración

Seguridad Web

Arbisec Web Analyzer

Es una herramienta que permite extraer una gran cantidad de información de un sitio web, no es muy potente pero si útil cuando no tenemos mas que un dispositivo android en la mano.
Web Dispositivos Android como herramientas para test de penetración

SandroProxy

Que seria del análisis de la seguridad web sin los proxys como el ZAP o Burp e incluso plugins como Tamper Data o Live HTTP headers para firefox, el equivalente a este tipo de herramientas en android mas completo que conozco es SandroProxy, una excelente herramienta no solo para saber los peticiones que hace nuestro navegador a sitios web, sino las peticiones que hace cualquier aplicación android de cara a Internet, además de permitir instalar plugins externos y generar nuestros propios plugins para manejar los datos que pasen por el.
SandroProxy Dispositivos Android como herramientas para test de penetración

HTTP Requester

Una útil herramienta que permite hacer peticiones HTTP, modificar parámetros y ver el resultado.
HTTP Requester Dispositivos Android como herramientas para test de penetración

Firefox para Android

Firefox es de los mejores navegadores para equipos de escritorio y sin duda el mejor para android, ya que añade la posibilidad de tener extensiones y potenciar aun mas sus funcionalidades por defecto.
Firefox Dispositivos Android como herramientas para test de penetración

Scripting

Muchos exploits están escritos en lenguajes interpretados como python, perl, ruby, php, etc, otras veces necesitamos en auditorias escribir pequeños programas para automatizar tareas y para todo eso necesitamos que nuestro android soporte estos lenguajes de scripting.

SL4A Script Launcher

SL4A Script Launcher es una aplicación de android que permite ejecutar Python, Perl, Ruby, Lua, Java (BeanShell), JavaScript (Rhino) y una gran cantidad de lenguajes mas desde nuestro dispositivo, de esta forma podemos correr esos scripts que necesitamos para completar el trabajo.
sl4a Dispositivos Android como herramientas para test de penetración

QPython+ (Android Python)

QEdit es un editor de python para android muy completo y que permite escribir esos pequeños programas que a veces son necesarios en auditorias, todo sin usar un equipo de escritorio.
QEdit Dispositivos Android como herramientas para test de penetración

Privacidad/Anonimato

Orbot – Tor on Android

Orbot es la implementación de TOR para android, permite conectarse a la red de la cebolla y conseguir el anonimato que necesitas en un momento determinado.
Orbot Dispositivos Android como herramientas para test de penetración

Element53 Lite

Element53 Lite es una herramienta que permite crear un túnel DNS ya configurado por donde pase nuestro trafico, permite saltar la mayoría de limitaciones que se implementan en las empresas, ya que por lo general estas limitaciones no son aplicadas a este protocolo (con algunos proveedores de servicio se puede conseguir acceso gratis utilizando esta herramienta).
Element53 Dispositivos Android como herramientas para test de penetración

ProxyDroid

ProxyDroid es el complemento perfecto de Orbot y Element53, permite ponerle proxy a cualquier aplicación, incluso hacer pasar esta aplicación por la red TOR o por el túnel DNS creado con Element53.
ProxyDroid Dispositivos Android como herramientas para test de penetración

Anonymous Mail y FalseMail

Estas dos herramientas son muy útiles para realizar ataques de ingeniería social, el primero permite enviar correos anónimos con posibilidad que te responda el destinatario, teniendo como intermediario un servidor anónimo, mientras FalseMail permite suplantar el remitente lo cual puede ser bastante útil en determinados casos.
Mail Dispositivos Android como herramientas para test de penetración

Android PGP

Es una de las mejores implementaciones para PGP en Android, podrás cifrar archivos y mensajes con lo que muchos determinan uno de los mejores cifrados que podemos encontrar a nivel civil.
APGP Dispositivos Android como herramientas para test de penetración

Utilidades

System Tuner

System Tuner es un conjunto de herramientas que ayudaran a mantener tu sistema android, incluye un terminal, manejo de aplicaciones que se ejecutan al inicio del sistema y otras muchas funciones mas.
System Tuner Dispositivos Android como herramientas para test de penetración

ES File Explorer

ES File Explorer, es el mejor administrador de archivos para android, tiene soporte para bluetooth, archivos en red, cliente ftp, administrador de aplicaciones, y otras funciones.
File Dispositivos Android como herramientas para test de penetración

Android Terminal Emulator

Una de las mejores terminales para acceder al core de android, es Android Terminal Emulator que es mucho mas potente si le instalas Busybox (un conjunto de muchas herramientas utilitarias de Unix portadas a android).
Terminal Dispositivos Android como herramientas para test de penetración

Task Killer

Cuando tienes tantas aplicaciones instaladas y pocos recursos en tu dispositivo android, es necesario tener una herramienta que permita cerrar los programas abiertos fácilmente y Task Killer permite hacerlo con solo apretar un botón.
Taskkill Dispositivos Android como herramientas para test de penetración

Hacker’s Keyboard

Si vas a usar tu android como herramienta de pentesting, necesitas modificar tu teclado para que las teclas como /, ^, <>, , :, ;, y todas las teclas que usamos tan seguido cuando trabajamos en seguridad, estén mas a la mano y podamos agilizar nuestro trabajo.
HackerKeyboard Dispositivos Android como herramientas para test de penetración

Android VNC

Un cliente VNC siempre es bueno tenerlo a la mano, podemos tener clientes para cualquier protocolo en la google play, pero si queremos administrar el backtrack instalado en nuestro android (publicaré el articulo pronto), debemos tener este cliente instalado en nuestro dispositivo.
vnc Dispositivos Android como herramientas para test de penetración
Enlace del App Store

Si conoces alguna herramienta que no esta lista y cuya funcionalidad no este ya cubierta por una de las aplicaciones expuestas, déjala abajo en los comentarios y con gusto la añadiremos a este articulo.

Fuente: http://www.dragonjar.org/dispositivos-android-como-herramientas-para-test-de-penetracion.xhtml