Está en la página 1de 13

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL


CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E
INFORMÁTICOS

Título:
Herramientas de Auditoría Informática

Carrera:
Ingeniería en Sistemas Computacionales e Informáticos

Área Académica:
Auditoria de Sistemas

Línea de Investigación:
Auditoria de Sistemas

Ciclo Académico y paralelo:


Noveno

Alumnos participantes:
Allaica C. Joel
Alarcón S. Christian O.
Guanoluisa T. Sylvia I.

Docente:
Ing. Julio Balarezo
Mobile Security Framework (MobSF)
Definición

En español conocido como Marco de seguridad móvil es un entorno completo de


análisis que permite hacer pruebas estáticas
y dinámicas en ejecutables de Android
(APK), iOS (IPA) y Windows Mobile (APPX).

El analizador estático puede realizar


revisiones automáticas de códigos, detectar
permisos y configuraciones inseguros y
detectar códigos inseguros como
sobrescritura ssl, desvío ssl, cifrado débil,
códigos ofuscados, permisos incorrectos,
secretos codificados, uso incorrecto de API
peligrosas, fuga de información confidencial.
Información PII y almacenamiento inseguro
de archivos.

El analizador dinámico ejecuta la aplicación


en una VM o en un dispositivo configurado y
detecta los problemas en tiempo de ejecución. Se realiza un análisis adicional de los
paquetes de red capturados, tráfico HTTPS descifrado, volcados de aplicaciones,
informes de errores o fallos, información de depuración, seguimiento de pila y en los
activos de la aplicación, como archivos de configuración, preferencias y bases de
datos.

La herramienta puede ser utilizada para analizar ejecutables de Android (​APK​), iOS
(​IPA​) y Windows Mobile (​APPX​), como también código fuente empaquetado en
archivos ​ZIP​. Dentro del alcance de esta publicación, nos centraremos en el análisis
estático de un archivo APK.

Aplicación

Tras concretar el análisis estático, MobSF nos mostrará una interfaz similar a lo que
se puede ver en la siguiente imagen, resaltando algunas características propias de
la muestra y su código.
Un menú lateral nos permitirá rápidamente navegar entre las diferentes secciones
del análisis, mientras que en la barra superior podremos acceder al listado de todos
los análisis realizados con anterioridad por la herramienta.

Los resultados del análisis estático se categorizan en las siguientes secciones:

Información del archivo​: nos mostrará un resumen de sus características más


sobresalientes, que podrán permitirnos su posterior identificación. Entre ellas
encontramos el nombre de la muestra, su tamaño y los hashes resultados de
diferentes funciones hash (MD5, SHA1, SHA256).

Información de la aplicación: aquí encontraremos detalles de la aplicación


mayormente obtenidos del Androidmanifest, como ser el nombre del paquete, el
nombre de clase de la actividad principal a ser lanzada por el ​laucher y atributos
referentes a los requisitos de la plataforma para la cual la aplicación fue
desarrollada.
Posibles elementos vulnerables: seguidamente encontraremos en la pantalla
cuatro recuadros que nos resumen la información referente a las actividades,
servicios, receptores de intentos y proveedores de contenidos, indicando cuántos de
ellos son exportados. La identificación de estos cuatro elementos es un paso
rutinario en cualquier proceso de análisis de malware o pentesting de aplicaciones,
ya que nos permitirá no sólo saber cómo se comporta la aplicación, sino también
vislumbrar posibles puntos de explotación.

Naturaleza del código: esta sección resulta muy interesante ya que nos permite
determinar qué tan compleja es la muestra que estamos analizando, pudiendo
determinar si ejecuta código nativo, si realiza la carga dinámica de código, si utiliza
métodos por reflexión, si posee alguna función de cifrado o si el código se encuentra
ofuscado.

Análisis del código decompilado: dentro de las opciones para el análisis del
código fuente, MobSF nos permite acceder a un listado de las clases tanto en
formato java como en smali, y también al archivo manifiesto. Además, encontramos
dos opciones: una para escanear nuevamente la muestra y otra para iniciar su
análisis dinámico.
Información del certificado: el análisis del certificado de un APK puede arrojar
datos muy interesantes en cuanto a quién ha desarrollado la aplicación y qué otras
muestras maliciosas se han encontrado con el mismo certificado, pudiendo utilizar
su identificador para realizar búsquedas en plataformas como Koodous.

Listado de permisos: en esta sección podremos observar una lista de los permisos
declarados en el manifiesto de la aplicación, conjuntamente a una descripción del
mismo y una categorización según la peligrosidad que puede representar para el
sistema al acceder a información o funcionalidad sensible.
Android API: esta sección resulta muy útil para un analista, ya que permite
identificar rápidamente qué funcionalidades de la API del sistema son accedidas por
cada clase de la aplicación. De este modo, es muy sencillo identificar qué función
realiza cada clase y podremos concentrarnos en aquello que realmente nos
interese.
MetaSploit

Definición
Es un software Open Source que se auto describe como un Framework de
seguridad que permite automatizar la explotación de vulnerabilidades en sistemas
operativos, aplicaciones y redes. También a través de este Framework es posible
desarrollar Exploits —piezas de software que permiten tomar ventajas de alguna
vulnerabilidad—para explotar bugs conocidos o no en cualquier sistema informático.

La potencia de metasploit son los módulos que componen el framework, estos


pueden ser desarrollados por los usuarios ampliando así la potencia del conjunto de
forma personalizada. Metasploit-framework cuenta con diferentes interfaces, aunque
muy probablemente sea, msfconsole la única forma soportada para acceder a la
mayoría de sus características.

Estos módulos Metasploit son herramientas que pueden servir para evaluar la
seguridad de los sistemas, así como para generar información para escribir códigos
de ataque.

Los atacantes utilizan los códigos de explotación con el objetivo de entrar y atacar a
los sistemas para obtener información sensible o dejar la máquina zombie formando
parte de una Botnet.

Actualmente se empiezan a compartir los códigos de explotación de sofisticados


ingenios en los que se ha avanzado notablemente con la técnica utilizada,
Los scripts de los shell, que frecuentemente antes estaban llenos de fallos,
utilizados para ejecutar códigos o comandos hostiles después de que el ataque
tuviera éxito, también han evolucionado notablemente.

Aplicación
En primer lugar debemos siempre tener actualizado el framework para evitar
funciones obsoletas y disponer de todos los módulos actualizados (msfupdate) (es
necesario hacerlo desde root). Ahora lanzaremos la interfaz de consola
(msfconsole) en la que disponemos de los siguientes comandos:

help: ​Con este comando podremos desplegar la lista de comandos disponibles en la


consola de Metasploit, también podemos especificar el comando seguido de -h, o
poner help seguido del comando, para obtener información detallada acerca del
comando específico.
search: ​seach, seguido de una característica, nos muestra los módulos que
contienen dicha característica. Un pequeño truco para comprobar si está actualizado
sería buscar una característica reciente para ver si disponemos de ella o no.
info: ​Muestra detalles del módulo (opciones, objetivos y descripción). Si estamos
usando ese módulo (hemos usado -use sobre él), nos basta con poner el comando,
de lo contrario debemos especificar la ruta del módulo.
show: Muestra en pantalla las opciones del módulo. Puede ir seguido de actions,
advanced, all, auxiliary,… en función de las opciones específicas que queramos ver.
use: Selecciona el módulo que especifiquemos. El comando back sirve para quitar
la selección.
set: ​configurar parámetros de un módulo en concreto. Unset sería para borrar la
configuración.
setg: ​configurar parámetros de los módulos a nivel global, para todos los módulos.
Unsetg para borrar esta configuración.
connect: Sirve para conectarnos a otras máquinas especificando la ip + el puerto, de
este modo podríamos disponer de módulos y configuraciones en otra máquina y
acceder desde máquinas remotas. Esta utilidad se vale del famoso netcat, así que
disponemos de opciones parecidas a las de netcat.
irb​: Sirve para ejecutar un intérprete de Ruby, de este modo podemos utilizar script
de Ruby sobre msf para automatizar o facilitarnos el trabajo si tenemos manejo en
Ruby.
load: ​Cargar un plugin. Unload para la operación inversa.
loadpath: ​Sirve para cargar un directorio independiente, para así tenerlo disponible
también desde la consola.
check:​ Comprobar si es vulnerable o no antes de lanzar el script.
exploit:​ Lanzar el módulo. Disponemos de las siguientes opciones:
-j:​ Lo lanza en segundo plano (backround).
-z:​ Para que tras una explotación exitosa no se interactúe con la sesión.
-e​: Se lanza el payload con una codificación realizada previamente con un payload.
sessions: Con este comando podemos ver las conexiones remotas que llevamos
obtenidas. Las sesiones se obtienen mediante el éxito del comando exploit, el cual
nos devuelve una shell o un meterpreter del sistema remoto explotado. Cada sesión
dispone de un identificador único y se debe especificar ese indicador para
interactuar con una máquina específica. Con este comando disponemos de las
siguientes opciones:
-l: Lista de sesiones.
-v: Muestra información extra. Complementa a -l.
-s: Ejecuta un scvript sobre todas las sesiones abiertas (-s <script>).
-k: Finaliza todas las sesiones.
-c: Ejecuta un comando sobre todas las sesiones.
-v: Permite actualizar la shell a una shell del tipo Win32.
-i: Se le indica a sessions en que sesión queremos interactuar.
resource: Permite cargar un fichero (normalmente .rc), para automatizar un
proceso.
makerc​: Almacena en un fichero (.rc) el historial de comandos y acciones utilizadas
(se guarda en home/.msf3/).
save: Guarda lo que llevamos hecho para así poder retomar el proceso (lo guarda
en home/.msf3/config). Al lanzar msfconsole este comprueba si existe el archivo
config, y si es así lo carga.
jobs: Muestra los módulos que se encuentran en ejecución en segundo plano
(background) (Sirve para obtener la información de los módulos, finalizarlos,…).
run: ​Permite ejecutar un módulo auxiliary cargado en la consola.
route: Permite enrutar sockets a sesiones (com route en Linux). Permite la adición
de subredes, puertas de enlace (gateways), y máscaras de red. Útil para el pivoting
(Comprometer máquinas que se encuentren en la red de la máquina vulnerada).

Comandos de base de datos:

Metasploit utiliza una base de datos, de este modo es posible recopilar información
desde escáneres externos y otras herramientas de análisis.

db_​: Mostrar comandos de base de datos.


db_driver: Muestra las bases de datos disponibles y la que estamos usando por
defecto. También permite cambiar la base de datos que estamos usando.
db_connect: Crea y conecta con la base de datos: Previamente se debe configurar
el usuario de la db. Este comando prepara todas las tablas en la base de datos que
se utilizaron para recolectar y analizar información.
db_nmap: ​Ejecuta la herramienta nmap y almacena todos los resultados de
escaneo en las tablas preparadas.
db_autopwn: Esto es la “Metralleta de Metasploit”. Ayuda a lanzar una colección de
exploit frente a una(s) máquina(s) de la(s) que hemos obtenido información. El
problema es que este comando no está disponible en la versión Comunnity (versión
gratuita). Este comando dispone de las siguientes opciones:
-t: Muestra los exploit que se están probando.
-x: Selecciona los módulos basados en vulnerabilidades referidas.
-p: Selecciona los módulos basados en puertos abiertos.
-e: Lanza exploits contra todos los objetivos.
-r: Tras la explotación utiliza una shell inversa.
-b: Utiliza una shell atada a un puerto aleatorio.
-R: Se le pasa un rank, para sólo seleccionar módulos con cierto nivel
db_hosts: Muestra las máquinas alojadas en la base de datos (SO, MAC, sv,…).
db_destroy: Elimina la base de datos.
Área de Trabajo
Metasploit brinda la posibilidad de crear diferentes espacios de trabajo para guardar
de forma ordenada la información de nuestras auditorías, lo cual resulta muy útil
cuando uno se encuentra ejecutando varios proyectos a la par.

Dejando que Metasploit inicia una instancia propia de la base de datos Postgres, los
datos que recolectamos sobre nuestra víctima se irán guardando en una estructura
ordenada dentro de la base, para cada workspace.

Por ejemplo: ​hackeo ético para dos clientes.

Para separar la información de ambas organizaciones bastará con crear dos


workspaces diferentes. Esto lo hacemos mediante el comando:

workspace -a nombre_espacio_-trabajo

En el elejmplo:

workspace -a Empresa_A
workspace -a Empresa_B

Al hacer esto creamos dos estructuras de tablas separadas para cada empresa,
aparte de la estructura por defecto que se crea durante la instalación e inicio del
MSF. Ahora cuando queramos trabajar en uno de los proyectos, bastará con
ubicarnos en el espacio de trabajo apropiado usando el comando workspace de
trabajo en cuestión

Golismero

Definición:

GoLismero es una herramienta de seguridad que han presentado en la convención


OWASP orientada a realizar auditorías de páginas web para buscar posibles
agujeros de seguridad existentes en estas, aunque también podría ser utilizado para
buscar fallos en cualquier otro tipo de servicios (redes, servidores, etc).

Las características de GoLismero son:

● Es una herramienta multiplataforma con soporte para Windows, Linux, Mac y


BSD
● No necesita dependencias, todo el código está escrito en Python.
● En comparación con otros frameworks escritos en Python, GoLismero está
optimizado y ofrece un resultado óptimo.
● Es una herramienta muy fácil de usar.
● La herramienta puede recopilar y analizar resultados recogidos por otras
herramientas de seguridad como sqlmap, xsser, openvas, dnsrecon,
theharvester, etc.
● Permite la creación de plugins de forma sencilla.

Aplicación:

Comando para ver las opciones de golismero

python golismero.py -h
Comando para realizar auditoría de la página:

python golismero.py ​www.uta.edu.ec​ -o prueba_redeszone.txt

Entorno de Trabajo

Para empezar a utilizar Golismero, los descargamos de GitHub y para ejecutarlo


necesitamos del intérprete de Python.

Se utiliza Golismero en Windows como en Linux o en Mac ya que es


multiplataforma, para obtener una auditoría y el reporte final de una página web.
CONCLUSIONES
Metasploit no es el primer framework de explotación disponible, ni tampoco el más
potente. Herramientas como Core Impact e Inmunity Canvas, las cuales incluyen
exploits de actualización, también se encuentran disponibles con soporte comercial.
Otros sitios, como Packet Storm y Miw0rm, poseen igualmente importantes
cantidades de código de explotación disponible.

Golismero es un framework que nos facilita la realización de una auditoría de un


sitio web que puede ser un sitio que uno mismo construye o para realizar auditorías
sobre otros sitios web para detectar anomalías que afecten la seguridad o la pérdida
de información.

Bibliografía:
[1]​ ​https://underc0de.org/foro/hacking/pentesting-con-golismero/
[2]
https://www.redeszone.net/2013/08/23/golismero-una-nueva-herramienta-para-auditar-webs
/

También podría gustarte