Nessus para Android


Nessus es un programa de escaneo de vulnerabilidades. Nessus escanea los puertos para buscar puertos abiertos y después intentar varios exploits para atacarlo.
Nessus es un proyecto desarrollado por Tenable Network Security, Inc.




DSPLOIT - Una suite de android para pentesting


Nacido dsploit Android aplicación para las pruebas de penetración y evaluación contemplaba seguridad.

¿QUÉ ES DSPLOIT?

dSploit es una suite para Android para el análisis y la penetración de la red, que tiene como objetivo ofrecer a los profesionales y los frikis de la herramienta de seguridad de TI profesional para realizar evaluación contemplaba red más avanzados y completos de seguridad en un dispositivo móvil. Una vez que inicie la aplicación, el usuario será capaz de mapear su red, identificar los sistemas operativos y servicios que se ejecutan en otros parámetros, la búsqueda de vulnerabilidades conocidas, crack procedimientos de conexión de los sistemas de autenticación más comunes, realizar ataques de hombre en el medio y por lo tanto tiene el control total del tráfico de la red, tanto sniffer pasivo con una contraseña y disector de los protocolos más comunes que la manipulación activa de paquetes en tiempo real desde y hacia otras máquinas en nuestro propio red, etc, etc.

DETALLES

Los requisitos para instalar y usar dSploit son:

Un dispositivo Android con al menos la versión 3.0 del sistema operativo.
El dispositivo debe ser necesariamente rootato.
Una instalación completa de busybox (por lo tanto todos los binarios instalados, que no forman parte de eso).

NMAP para Android


NMAP (Network Mapper o Mapeador de Redes) es una herramienta para scannear puertos abiertos. Se diseño para explorar grandes redes, aunque funciona a perfecto también para hacer mapeos a equipos individuales. A demás de puertos, también dice que servicio lo utiliza y sus versiones. Otra de las cosas que suele mostrar es que filtros o cortafuegos tiene, y a veces hasta el sistema operativo que tiene el equipo entre otras docenas de cosas.
Nmap es una herramienta que se usa mucho en auditorias de seguridad y a demás muchos la usan con fines delictivos. Lo primordial es su tabla de puertos con sus estados que son los siguientes: 

Closed: Cerrado
Open: Abierto
Filtred: Filtrado
Unfiltred: No Filtrado

Abierto significa que la aplicación en la máquina destino se encuentra esperando conexiones o paquetes en ese puerto. Filtrado indica que un cortafuego, filtro, u otro obstáculo en la red está bloqueando el acceso a ese puerto, por lo que Nmap no puede saber si se encuentra abierto o cerrado.  Los puertos cerrados no tienen ninguna aplicación escuchando en los mismos, aunque podrían abrirse en cualquier momento. Los clasificados como no filtrados son aquellos que responden a los sondeos de Nmap, pero para los que que Nmap no puede determinar si se encuentran abiertos o cerrados.
A lo largo de este tutorial se encontraran con parámetros en mayúsculas y minúsculas, es muy importante que los respeten ya que varia su función.

Nota: Solo funciona en telefonos rooteados

Taller de Python #1


Introducción a Python

En este taller veremos Python desde cero. Empezaremos por descargar nuestro interprete e iremos avanzando en conocimientos hasta llegar a desarrollar nuestros propios programas.
Python es un lenguaje scripting por lo tanto se interpreta en lugar de compilarse, a diferencia de otros lenguajes que es necesario pasarlos a binarios para que puedan ejecutarse.
Es un lenguaje multiplataforma, ya que no solo se usa en Windows, sino que también se puede usar en Linux, MAC, etc.
Una de las ventajas es que es un lenguaje muy prolijo y entendible a la hora de programarlo y esto facilita la tarea de aprenderlo.
A lo largo de este taller, veremos lo potente e importante que puede ser saber Python.

Instalación

Windows de 32 o 64 bits?

Lo que primero debemos hacer, es saber si nuestro sistema operativo es de 32 o 64 bits. Para ello vamos a:

Inicio >> Panel de control >> Sistema
 
En mi caso estoy utilizando un sistema operativo de 32 bits.
Lo que necesitaremos para poder programar en este lenguaje, será un editor de texto y el interprete de Python.
Con respecto al editor de texto, pueden utilizar cualquiera que les agrade o les resulte cómodo, yo utilizare Sublime Text 2

Y al intérprete de Python

Instalación en Windows

En la pagina del interprete, podremos ver lo siguiente: 

NOTA: Usaremos por ahora Python 2.x debido a que es la versión estable. Mas adelante, veremos algo de Python 3.x

Una vez descargado, ejecutamos el MSI que descargamos


Es muy importante saber la ruta en donde se instalara. Yo les recomiendo dejarla en donde viene por defecto que es en C:\Python27\
Damos en Next y continuamos la instalación hasta que finalice

Ahora abrimos una consola:
INICIO > EJECUTAR > COMMAND (En Windows 95,98)
INICIO > EJECUTAR > CMD  (En Windows XP)
INICIO > EN LA BARRA BUSCAR > CMD (En Windows Vista y 7)
Y dentro de la consola escribimos python, lo mas probable, es que les aparezca el siguiente error:

"python" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Esto se debe a que no esta añadido en las variables de entorno, asique tipeamos lo siguiente:
PATH C:\Python27;%PATH%

Presionamos enter, cerramos la consola y la volvemos a abrir… Ahora si tipeamos python, debería aparecernos algo como esto:


Esto nos indica que lo hemos hecho bien, y ya podemos comenzar a programar.

Instalación en Linux

La instalacion en Linux es mucho mas facil… abrimos una consola (CTRL + ALT + T) y tipeamos:
sudo apt-get install python
Y esto nos instalara Python en linux.
Luego al comienzo de cada script, debemos añadir la linea:
#! /usr/bin/pyhton27
Para que el intérprete busque ahí las librerías.

Primeros pasos en Python 

Comenzaremos con programas básicos. Como dijimos en la introducción, Python es un lenguaje scripting ya que no es necesario compilarlo para poder ver el programa en funcionamiento.
Dentro de la consola, pondremos 5+7 y veremos lo que pasa

 

Rápidamente nos hará el cálculo.
Python se caracteriza por ser una potente calculadora. Es por eso que ahora probaremos con algo más avanzado.
En la consola pondremos 56+28-34*6
 

Ahora también podemos trabajar con variables, asignándoles algún valor.
Podemos probar con X=7
Seguido a esto colocamos 105*X


Hasta el momento se ve muy fácil y básico, aunque también muy tedioso ya que tipear comandos desde la consola no es muy gustoso, es por eso que ahora armaremos nuestro primer script.

Operadores Aritmeticos

 A continuación veremos los operadores que se suelen utilizar con frecuencia en Python.

 

Nuestro Primer Script

Abrimos nuestro editor de texto y haremos el famoso "Hola Mundo"
Dentro del editor pondremos:
print "Hola Mundo"


La sintaxis print sirve para mostrar una cadena de valores en pantalla. Un poco mas adelante lo veremos mas en detalle.
Ahora lo guardamos (CTRL + S) o (File >>Save As..), lo guardamos con extension *.py y nos aseguramos que en tipo de archivo diga “All Files (*.*)”

 

Y ahora lo correremos nuestro script desde la consola.
Es importante saber en donde guardamos nuestro script, yo lo hice en el escritorio, asique desde la consola, debemos pararnos en el directorio en donde esta guardado y tipeamos
python taller1.py
 
Y nos muestra nuestro Hola mundo…

Variables

Las variables en Python pueden estar formadas por letras o números, pero siempre deben comenzar con letras o un guion bajo. Algo a tener en cuenta, es que este lenguaje es sensible a mayúsculas y minúsculas. Es decir, para el intérprete no es lo mismo "A" que "a".

Las variables en Python pueden ser de tipo:

Numerica:

Enteros (Ej: 7) Son números positivos y negativos, que no poseen decimales.
Dentro de los enteros, tenemos dos tipos, Cortos (int) o Largos (long) expresados de la siguiente forma:
Entero_corto = 7
Entero_largo = 7L
Flotante (Ej: 7,9) Son todos números reales que posean decimales y se representan como (float)
Flotante = 1.345
Compleja o imaginaria (Ej: 2+3i) Son aquellos que poseen una parte real y otra imaginaria y se representan como (complex)
Imag = 4.3 + 7i
Cadenas de Texto: (Ej: "ANTRAX"), las cadenas de texto es simplemente texto y pueden estar entre comillas dobles o simples
Ej1 = "ANTRAX"
Ej2 = 'ANTRAX'
Booleano: True, False (Verdadero o Falso), Estos dos son muy utilizados en bucles o condiciones.

Concatenaciones

Como vimos antes, es posible sumar, restar, multiplicar, dividir, etc… Pero no solo se hace con números sino que también con letras, palabras y variables.
Realizaremos el siguiente ejemplo:

Como resultado tendremos


Ya que sumo las dos cadenas de texto, la del Hola y X que tenia almacenado otra cadena de texto.
Otra forma de concatenar dos cadenas de texto seria:
print "Hola" + "underc0de"
Y con eso obtendremos el mismo resultado que la forma anterior.
Ahora veremos un ejemplo un poco más complejo, en donde concatenaremos números, variables y cadenas de texto

Explico rápidamente, guarde mi nick en la variable a, luego en el print, lo que hice fue mostrar la cadena de texto "hola" concatenado con la variable "a" que es mi Nick, hasta aquí tenemos "hola ANTRAX" luego lo concatene con "el resultado de 145 + 34 es" y hasta aquí tendríamos "hola ANTRAX el resultado de 145 + 34 es" finalmente para concatenar con números, es necesario colocar una coma. Aquí lo que hace es resolver la suma algebraica de 145+34 y como resultado final tenemos:

 Comentarios

 Los comentarios sirven para ayudar a entender el código, para explicar una función o simplemente agregar algún texto.
Es importante saber que estos comentarios no son ejecutados a la hora de correr el programa. Para colocar un comentario, solo basta con poner el carácter numeral, seguido del comentario. Ejemplo:
#esto es un comentario
Aquí lo mostrare en el editor de texto:


Los comentarios suelen ser útiles a la hora de hacer publico un script, de esta forma, la persona que lo lea pueda entender mejor que hace cada función del código.

Python desde Android

Como parte extra de este taller, les enseñare a instalar Pythonen algún dispositivo móvil con Android, para que puedan programar desde el.
Lo que necesitamos descargar el ultimo APK del SL4a. Actualmente la última versión es la r6.
Instalamos como cualquier apk de android y lo abrimos.

 Presionamos en View
 Entramos a Interpreters

Y agregamos a Python… A demás de python, como podrán ver, pueden agregar Perl, Ruby, PHP entre otros

 Al presionar sobre Python, lo comienza a descargar

 
 Luego lo instalamos
 

Esto suele demorar algunos minutos en descargar los módulos y librerías


Una vez que termine, veremos algo como esto


 Volvemos a abrir SL4a y podremos ver scripts de muestra hechos en Python


Finalmente clickeando sobre alguno de ellos, tendremos la opción de editarlos o ejecutarlos.

Ejercitacion

1.- Realizar un código que concatene 3 variables, de las cuales 2 sean numéricas.
El usuario X lleva Y días y Z horas conectado
2.- Realizar un código para cada uno de los siguientes ejercicios. Cada número debe ser una variable
a. 273 * 4 + 97 * 5 – 1200 / 6
b. 1470 / 5 + 400 * 2 - 49**2
c. 15**5 / 50 – 37 * 4
Todos los resultados deben mostrarse de la siguiente forma:
El resultado es:

Automatizaciones en Android con Selenium II





1 – Introducción

En este documento voy a mostrar como lanzar automatizaciones en un dispositivo móvil con android, que puede ser teléfono o tablet y con eclipse elaboraremos un script que por medio de Selenium II será ejecutado en el dispositivo.

Los elementos que vamos a utilizar para este tutorial serán los siguientes:

-        Dispositivo móvil con Android y el USB (En mi caso es un Motorola XT300) o puede ser un emulador que lo encontramos dentro del SDK que descargaremos.
-        Android SDK (http://developer.android.com/sdk/index.html) Incluye Eclipse
-        Android Server APK (http://code.google.com/p/selenium/downloads/list)
-        Librerias de Selenium - Java (http://seleniumhq.org/download)
-        Conexion WIFI a internet

 2 – Integración de ADB

Descargamos Android SDK y lo descomprimimos. Copiamos la carpeta SDK y Eclipse y la pondremos en el disco C (Creandole una carpeta para alojar a ambos)
En mi caso los metí dentro de una carpeta llamada android y me quedo en esta ruta:

c:\android

Lo que sigue ahora es definir la variable de entorno. Para que el equipo me reconozca el adb que viene dentro del SDK.

Para ello vamos a:

Inicio >> Panel de control >> Sistema >> Configuraciones avanzadas del sistema

Una vez ahí dentro, nos dirigimos a la pestaña Avanzada >> Variables de entorno

Editamos el PATH y colocamos la ruta en la que copiamos el SDK. Deberíamos tener algo como esto:



Añadimos un punto y coma después de la ultima ruta, colocando la nuestra. En mi caso es

c:\android\sdk\platform-tools

Si todo quedo correcto, deberíamos poder colocar “adb” en una consola y debería traer los parámetros del mismo

Inicio >> cmd >> adb



Si llegamos hasta acá, quiere decir que todo está perfecto. De lo contrario, lo más seguro es que este mal definido el PATH.

3 – Instalación de drivers USB

Tomamos nuestro dispositivo móvil y vamos a activar el modo de depuración

Configuraciones >> Aplicaciones >> Desarrollo

Y tildamos “Depuración de USB”

Una vez hecho esto, conectamos el dispositivo a la PC y abrimos eclipse que está en la carpeta que creamos en el disco C.

Abrimos el Android SDK Manager y descargamos los USB Drivers. Al estar conectado el dispositivo móvil, identifica que drivers utiliza y descargara e instalara automáticamente los drivers necesarios.



Para saber si todo quedo bien instalado, abrimos una consola y tipeamos

adb devices

Y esto debería devolvernos un número de serie que es nuestro dispositivo conectado.



Si llegamos hasta acá, es por que venimos muy bien! En caso de lanzar error, es porque el driver del dispositivo, no fue bien instalado.

4 – Instalación de Android Server en el móvil

Abrimos una consola y nos paramos en el directorio en donde se encuentra el Android Server APK. Una vez ahi, escribimos la siguiente línea:

adb -s [serialId] -e install -r [APK]

En donde el serialId es el serial de nuestro dispositivo móvil y APK es el nombre con el cual descargaron el Android Server. Debería quedarles algo como esto:

adb -s 003089349226000000000000 -e install -r android-server-2.6.0.apk



Si nos aparece el Success como en la imagen, es porque quedo bien instalado.

Ahora iniciaremos la aplicación en el móvil con el siguiente comando

adb -s [serialId] shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity

Automáticamente, se iniciara en el móvil la aplicación WebDriver (recuerden reemplazar el SerialId por el de ustedes)



Finalmente seteamos el puerto de escucha con el siguiente comando

adb -s [serialId] forward tcp:8080 tcp:8080

5 – Creación del proyecto e importación de librerías

Abrimos eclipse y creamos un nuevo proyecto.

File >> New >> Java Project


Asignamos un nombre al proyecto y una ubicación, seguido a esto, damos click en Next.

Vamos a la pestaña de librerías y pulsamos el boton Add External JARs...

Añadimos la librería de android.jar que está dentro de:

sdk >> platforms >> android-4.2

Y las de selenium que descargamos



Finalmente clickeamos en Finish

6 – Ejecutando nuestro primer Script

File >> New >> JUnit Test Case

Le colocamos un nombre y damos click en Finish



Borramos lo que tenemos dentro del cuadro de código y colocamos el siguiente:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.android.AndroidDriver;


public class androidtest {
               
private static WebDriver driver;
   
    @Before
    public void setUp() {
        driver = new AndroidDriver();
       driver.get("http://underc0de.org");
    }
   
    @After
    public void tearDown(){
        driver.close();
        driver.quit();
    }

@Test

public void measurePerformance() throws InterruptedException {
    Thread.sleep(3000);
    driver.findElement(By.className("readViewMoreBtn")).click();

}
}



Ejecutamos el Test Case y podremos verlo en nuestro móvil. Al finalizar, nos mostrara el resultado si se corrió bien o mal.

7 – Emulando el ambiente de prueba

Presionamos el icono del dispositivo móvil (ADV) que está en el eclipse. Y crearemos un nuevo dispositivo



Le asignamos un nombre, elegimos la resolución de pantalla y la versión de android, luego damos click en ok.


Seleccionamos el emulador, presionamos Start y luego Launch, y se abrirá el emulador.



Una vez hecho esto, los pasos para lanzar la prueba son los mismos que la anterior, es decir, repetimos los pasos del punto 4, que eran los de instalar el andoird server en el móvil.

Finalmente, lanzamos el test con eclipse



Y con esto podremos hacer más scripts y lanzar las pruebas contra el emulador.

Espero que les haya gustado y les sirva.


ANTRAX