lunes, 16 de noviembre de 2015

Arachni - Web Application Security Scanner Framework Kali Linux 2.0



Saludos mis fieles lectores en esta oportunidad, les traigo Arachni  es una escanner de vulnerabilidades web ya algo  conocido desde hace años, pero hasta el dia de hoy es de gran ayuda para las investigaciones de vulnerabilidades a nivel mundial, ya que hasta la actualidad mantiene una actualización en sus repertorios frecuentemente, con la cual en este articulo vamos a interactuar con sus interfaces en la terminal  y en plataforma web.

Caracteristicas:

General

  • Cookies-jar / soporte para cookies.
  • Apoyo encabezado personalizado.
  • Soporte SSL con opciones de grano fino.
  • Agente de usuario spoofing.
  • El soporte de proxy de SOCKS4, SOCKS4A, SOCKS5, HTTP / 1.1 y HTTP / 1.0.
  • Autentificación Proxy.
  • Autenticación del sitio (basado en SSL, basada en formularios, Cookie Jar, Basic-Digest, NTLMv1, Kerberos y otros).
  • Detección automática de registro de salida y re-inicio de sesión durante la exploración (cuando el inicio de sesión inicial se realizó a través del inicio de sesión automático, login_script o plugins del proxy).
  • Página 404 personalizada detección.
  • IU abstracción:
  • Interfaz de línea de comandos.
  • Interfaz Web del usuario.
  • Pausa funcionalidad / reanudar.
  • Apoyo hibernación - Suspender a y restaurar desde el disco.
  • Peticiones HTTP asíncrona de alto rendimiento.


Navegación spider Html5 Javascript DOM, AJAX

Arachni incluye un entorno de navegador integrado, de bienes con el fin de proporcionar una cobertura suficiente para las aplicaciones web modernas que hacen uso de tecnologías como HTML5, JavaScript, manipulación DOM, AJAX, etc.
La información pertinente incluye:


  • Página DOM, como código HTML.
  • Con una lista de transiciones DOM requeridas para restaurar el estado de la página a la que en el momento en que se registra.
  • DOM original (es decir, antes de la acción que causó la página para iniciar sesión), como código HTML.
  • Con una lista de transiciones DOM.
  • Sumideros de flujo de datos - Cada fregadero es un método de JS que recibió un argumento viciado.
  • Objeto principal del método (ej .: DOMWindow).
  • Firma del método (ej .: decodeURIComponent ()).
  • Lista de argumentos.
  • Con la mancha identificada situado recurrentemente en los objetos incluidos.
  • Método de código fuente.
  • Stacktrace JS.
  • Flujo de ejecución se hunde - Cada fregadero es una carga útil JS ejecutado con éxito, ya que se inyecta por los controles de seguridad.
  • Incluye un stacktrace JS.
  • JavaScript pila-rastros incluyen:
  • Nombres de los métodos.
  • Ubicaciones método.
  • Códigos fuente Método.
  • Las listas de argumentos.

Browser-cluster

El clúster navegador es lo que coordina el análisis de navegador de los recursos y permite que el sistema para realizar operaciones que normalmente serían bastante tiempo de una forma de alto rendimiento.

Las opciones de configuración incluyen:


Mediante la inspección de todas las páginas posibles y sus estados (cuando se utiliza código de cliente) Arachni es capaz de extraer y auditar los siguientes elementos y sus entradas:


Junto con los que requieren la interacción con un navegador real debido a eventos DOM.
Campo de golf
Junto con los que tienen parámetros del lado del cliente en su fragmento, es decir:

  • LinkTemplates - lo que permite la extracción de insumos arbitrarias de caminos genéricos, basados ​​en las plantillas suministradas por el usuario - útil cuando las reglas de reescritura no están disponibles.
  • Junto con los que tienen parámetros del lado del cliente en sus fragmentos de URL, es decir: http://example.com/#/param/val/param2/val2
  • Galletas
  • Encabezados
  • Elementos del lado del cliente genéricos como entradas que se han asociado eventos DOM.
  • Parámetros AJAX-petición.
  • Solicitar datos JSON.
  • Datos de la solicitud XML.
  • Arquitectura distribuida abierta

En la actualidad, las siguientes plataformas se pueden identificar:


Sistemas operativos
  • BSD
  • Linux
  • Unix
  • Ventanas
  • Solaris
  • Servidores Web
  • apache
  • IIS
  • Nginx
  • Gato
  • Embarcadero
  • Lenguajes de programación
  • PHP
  • ÁSPID
  • ASPX
  • JSP
  • Pitón
  • Rubí
  • Marcos
  • Estante

El usuario también tiene la opción de especificar plataformas adicionales (como un servidor de base de datos) con el fin de ayudar al sistema sea lo más eficiente posible. Alternativamente, la huella dactilar se puede desactivar por completo.

Por último, Arachni siempre errar por el lado de la precaución y enviar todas las cargas útiles disponibles cuando no identifica plataformas específicas.

Activo


  • Inyección SQL (sql_injection) - basado en la detección de errores.
  • Oráculo
  • InterBase
  • PostgreSQL
  • MySQL
  • MSSQL
  • EMC
  • SQLite
  • DB2
  • Informix
  • Firebird
  • SAP DB Max
  • Sybase
  • Frontbase
  • Ingres
  • HSQLDB
  • MS Access
  • Ciego de inyección SQL utilizando el análisis diferencial (sql_injection_differential).
  • Ataques de temporización de inyección SQL utilizando Ciegos (sql_injection_timing).
  • MySQL
  • PostgreSQL
  • MSSQL
  • NoSQL inyección (no_sql_injection) - detección de la vulnerabilidad basada error.
  • MongoDB
  • Inyección utilizando el análisis de Ciegos NoSQL diferencial (no_sql_injection_differential).
  • Detección CSRF (CSRF).
  • Inyección de código (code_injection).
  • PHP
  • Rubí
  • Pitón
  • JSP
  • ASP.NET
  • Ataques de temporización de inyección de código utilizando Ciegos (code_injection_timing).
  • PHP
  • Rubí
  • Pitón
  • JSP
  • ASP.NET
  • Inyección LDAP (ldap_injection).
  • Recorrido Path (path_traversal).
  • *nada
  • Ventanas
  • Gato
  • La inclusión de archivos (file_inclusion).
  • *nada
  • Ventanas
  • Gato
  • PHP
  • Perl
  • División de Respuesta (response_splitting).
  • Inyección de comandos OS (os_cmd_injection).
  • *nada
  • * BSD
  • IBM AIX
  • Ventanas
  • Ciegos inyección de comandos OS utilizando ataques de temporización (os_cmd_injection_timing).
  • Linux
  • * BSD
  • Solaris
  • Ventanas
  • Inclusión de archivo remoto (RFI).
  • Redirecciones no validadas (unvalidated_redirect).
  • Redirecciones DOM no validadas (unvalidated_redirect_dom).
  • XPath inyección (xpath_injection).
  • Genérico
  • PHP
  • Java
  • dotNET
  • libXML2
  • XSS (XSS).
  • Sendero XSS (xss_path).
  • XSS en caso de atributos de elementos HTML (xss_event).
  • XSS en etiquetas HTML (xss_tag).
  • XSS en el contexto de la escritura (xss_script_context).
  • DOM XSS (xss_dom).
  • Insumos DOM XSS (xss_dom_inputs).
  • Contexto guión DOM XSS (xss_dom_script_context).
  • El código fuente de divulgación (source_code_disclosure)
  • XML entidad externa (xxe).
  • Linux
  • * BSD
  • Solaris
  • Windows

Pasivo


  • Métodos HTTP permitidos (allowed_methods).
  • Archivos de respaldo (backup_files).
  • Directorios de copia de seguridad (backup_directories)
  • Directorios comunes (common_directories).
  • Archivos comunes (common_files).
  • PUT HTTP (http_put).
  • La insuficiente protección de la capa de transporte para las formas de contraseña (unencrypted_password_form).
  • Detección de WebDAV (WebDAV).
  • Detección de HTTP TRACE (xst).
  • Número de tarjeta de crédito de la divulgación (credit_card).
  • Usuario divulgación CVS / SVN (cvs_svn_users).
  • Privado divulgación dirección IP (private_ip).
  • Puertas traseras (backdoors comunes).
  • mala configuración LÍMITE .htaccess (htaccess_limit).
  • Respuestas interesantes (interesting_responses).
  • Grepper objeto HTML (html_objects).
  • Dirección de divulgación (emails) E-mail.
  • Número de Seguro Social de los EE.UU. divulgación (SSN).
  • Lista de directorios contundente (directory_listing).
  • Mezcla de Recursos / Scripting (mixed_resource).
  • Galletas inseguros (insecure_cookies).
  • HttpOnly galletas (http_only_cookies).
  • La función de autocompletar para los campos de formulario de contraseña (password_autocomplete).
  • Origen de la parodia de acceso Restricción Bypass (origin_spoof_access_restriction_bypass)
  • Carga basada en formularios (form_upload)
  • localstart.asp (localstart_asp)
  • Conjunto de la galleta por un dominio principal (cookie_set_for_parent_domain)
  • Missing cabeceras-Transporte-seguridad estrictas para los sitios HTTPS (HSTS).
  • Missing X-Frame-Options encabezados (x_frame_options).
  • Política CORS Inseguro (insecure_cors_policy).
  • Política entre dominios Inseguro (allow-access-from) (insecure_cross_domain_policy_access)
  • Política entre dominios Inseguro (permitir-http-request-headers-from) (insecure_cross_domain_policy_headers)
  • Política de cliente de acceso Inseguro (insecure_client_access_policy)
  • Reporteros

  • HTML (zip)
  • Texto
  • JSON
  • XML
  • YAML.

Aceptación de arachi y sus capacidades según su fuente


Puntuaciones de detección de vulnerabilidades representan la capacidad de un escáner para detectar diferentes tipos y permutaciones de vulnerabilidades, así como la exactitud de los resultados cuando se trata de trampas que comúnmente causan falsos positivos.

Detección y precisión las puntuaciones de vulnerabilidad se pueden encontrar en:

http://sectoolmarket.com/web-application-scanners/57.html

Puntajes Arachni:

  • SQL inyección: 100% (0% de falsos positivos)
  • XSS Reflejado: 90,91% (0% de falsos positivos) - Misses casos que requieren soporte para el lenguaje VBScript ahora obsoleto.
  • Inclusión de archivo local: 100% (0% de falsos positivos)
  • Inclusión de archivo remoto: 100% (0% de falsos positivos)
  • Redirección no validado: 100% (0% de falsos positivos)
  • Archivos de copia de seguridad: 100% (0% de falsos positivos)


La interfaz de usuario de la web permite que varios usuarios realizar y gestionar múltiples exploraciones y luego colaborar en esas exploraciones y las cuestiones que han iniciado sesión. También hace que el manejo y el aprovechamiento de la naturaleza distribuida de Arachni muy fácil, lo que le permite correr la carga de trabajo de muchas exploraciones a través de un charco de despachadores.

Estos resultados se derivan del hecho de que Arachni aprende de comportamiento de la aplicación web y de forma inteligente se adapta a cada recurso de aplicación web, que lleva a una gran cobertura y precisión la vulnerabilidad - entre otras cosas.

referencia:
http://www.arachni-scanner.com/features/framework#Checks

Descarga:

http://www.arachni-scanner.com/download/

Al momento que descarguen el paquete de instalación acuérdense de escoger el que sea adaptable para su arquitectura en mi caso eligiere el mio que es de 64 bits

La descargare por la terminal:

root@kali:~# wget https://github.com/Arachni/arachni/releases/download/v1.3.2/arachni-1.3.2-0.5.9-linux-x86_64.tar.gz

Una ves ya cargado completamente la descarga lo que haremos sera extraerlo.

root@kali:~# tar -zxvf arachni-1.3.2-0.5.9-linux-x86_64.tar.gz


 ahora lo que haremos sera entrar a la carpeta extraída y entrar al modulo "bin" para ejecutar la interface web que sera nuestra primera plataforma de prueba en Arachni.

root@kali:~# cd arachni-1.3.2-0.5.9
root@kali:~/arachni-1.3.2-0.5.9# cd bin
root@kali:~/arachni-1.3.2-0.5.9/bin# ./arachni_web

Como podemos observar ya iniciamos nuestra servidor local con la plataforma de Arachni, en la parte de abajo vemos una lista del protocolo tcp en este caso es el link de nuestra plataforma en el localhost

* Listening on tcp://localhost:9292


Usted se preguntara ¿cual sera las credenciales de usuario?, las credenciales lo encontramos en el directorio principal de la carpeta en el archivo "README",pero haré una prueba para los que no entiendan, entraremos a la carpeta mencionada y ejecutar el archivo.

root@kali:~# cd arachni-1.3.2-0.5.9
root@kali:~/arachni-1.3.2-0.5.9# ls
root@kali:~/arachni-1.3.2-0.5.9# nano README


Cuando hallamos abierto el archivo con nano del README, deben bajar hasta encontrar la linea de dichas credenciales, de igual manera pueden abrirlo con leafpad

Entrar nuevamente a la plataforma y añaden las credenciales administrativas:



Interactuando con la plataforma 

Ahora que ya tenemos todo en orden, lo que haremos vamos a dirigirnos a la sesión "Scans" para establecer nuestra URL con la cual vamos auditar como lo vemos en la siguiente imagen:

Una ves establecido el url que vamos auditar, le daremos en GO! para iniciar la auditoria, entonces el escaner empezara a auditar la plataforma, en su proceso en vivo puede mostrar los resultados de las fallas encontradas, en mi caso fue muy sencilla encontrar y explotar un Banco.

Ya terminamos con la inteface web, ahora vamos a dirigirnos en la sección por la terminal, cabe aclarar que pueden ejecutarlo en la misma carpeta o por la terminal en cualquier modulo, ya que kali linux tiene instalado esta herramienta, pero su versión web tiene errores, es por eso que descargue el complemento web para ejecutarlo sin problemas : )

root@kali:~# arachni http://www.peru.gob.pe/

La imagen que acabo de mostrar solo es el 3% de la auditoria que esta llevando acabo, si desea usted puede ver los resultados en su totalidad cuando lo ejecute sin mas que decir un saludo especial!

0 comentarios:

Publicar un comentario

Datos del Autor


Obra de K. Haring

Hola, mi nombre es omar soy estudiante de Ingenieria de sistemas en Perú. actualmente me estoy dedicando a dar ponencias sobre seguridad Informática.
Soy una persona sencilla y humilde que me encanta aprender nuevos temas en mis tiempos libres.


"Me considero un novato en busca de conocimiento"


Entradas Populares