Arachni Web Application Security Scanner

Anuncio
Arachni
Web Application Security Scanner
Introducción al análisis de vulnerabilidades
Autor:
G.J.A PSI 2011/2012
¿Qué es Arachni?
Arachni es un framework que nos permite realizar ataques sobre una aplicación web y
obtener las vulnerabilidades encontradas.
La web oficial es http://arachni-scanner.com
¿Qué pruebas podemos realizar con él?
Arachni posee los siguientes modulos con los que poder realizar pruebas sobre una
aplicación web
-Path_traversal
http://www.owasp.org/index.php/Path_Traversal
-os_cmd_injection_timing/os_cmd_injection
http://www.owasp.org/index.php/OS_Command_Injection
-response_splitting
http://www.owasp.org/index.php/HTTP_Response_Splitting
-xpath
http://www.owasp.org/index.php/XPATH_Injection
-xss/xss_event/xss_uri/xss_tag/xss_path
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
-code_injection/code_injection_timing
https://www.owasp.org/index.php/Code_Injection
-sqli_blid_rdiff /sqli_blind_timing
http://www.owasp.org/index.php/Blind_SQL_Injection
-rfi(Remote File Inclusion)
http://projects.webappsec.org/w/page/13246955/Remote%20File%20Inclusion
-unvalidated_redirect
http://www.owasp.org/index.php/Top_10_2010-A10-Unvalidated_Redirects_and_Forwards
-ldapi
http://www.owasp.org/index.php/LDAP_injection
-csrf
http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
-sqli
http://www.owasp.org/index.php/SQL_Injection
-xst
http://www.owasp.org/index.php/Cross_Site_Tracing
-unencrypted_password_forms
http://www.owasp.org/index.php/Top_10_2010-A9-Insufficient_Transport_Layer_Protection
Para ver todos los módulos disponibles basta con usar $arachni –lsmod
Entorno de pruebas
Para realizar las pruebas he usado Dojo http://www.mavensecurity.com/web_security_dojo/
una distro Linux basada en Ubuntu que cuenta con numerosas herramientas para pruebas de
seguridad y hallar vulnerabilidades.
Las aplicación sobre la que se han realizado las pruebas han sido Damn Vulnerable Web App
(DVWA) e Insecure Web App ,aplicaciones con numerosas vulnerabilidades cuya función es
probar herramientas de testeo y comprobar nuestras habilidades.
Comenzando las pruebas
No es necesaria una conexión a Internet para estas pruebas
Una vez arrancado Dojo,vamos a la pestaña Applications>Targets>DMVA .
Esto lanzará Firefox,y nos mostrará la pantalla de login para DVMA. El usuario es admin y la
contraseña password. Abrimos el terminal Arachni cli(Applications>Tools>Arachni_cli)
Para realizar un análisis con todos los módulos basta con ejecutar
$arachni URL
El análisis puede tardar desde varios minutos a varias horas,dependiendo de la aplicación que
estemos analizando.Con DVWA e Insecure Web App estos análisis tardan alrededor de 20
minutos.Una buena idea es elegir que vulnerabilidad queremos buscar cargando el módulo
adecuado
$arachni –m xss_* URL
Asi comprobaremos si hay algún tipo de vulnerabilidad XSS
Cada análisis se guarda en un archivo .afr que podemos interpretar con Arachni pero podemos
darle varios formatos.Para darle salida en un archivo de texto basta con añadir la opción
$arachni -m xss_* --report=txt http://localhost:8080/insecure/public/Login.jsp
Los distintos formatos se pueden consultar con $arachni --lsrep
Arachni Web User Interface
Por si lo preferimos, Arachni también posee una interfaz via web. Para ello ,ejecutamos los
siguientes comandos, en dos consolas del Arachni client (Applications>Tools>Arachni_cli)
$arachni_xmlrpcd
$arachni_web
En el navegador ahora,si ponemos localhost:4567 accederemos a la interfaz gráfica,con la que
podemos realizar los mismos análisis que por línea de comandos.Para poder realizar el análisis
hay que asegurarse que tenemos un dispatcher vivo en la pestaña Dispatchers.
Conclusión
Arachni es una herramienta útil para un pre-auditoría sobre una aplicación web, pero no es
correcto pensar que con arreglar los avisos que nos proporciona la aplicación es segura 100%
ya que Arachni tiene sus limitaciones.
Como se puede ver en el análisis de la DVWA,no hay referencias a los ataques de xss,SQL
injection y demás vulnerabilidades que podemos encontrar en la aplicación
Screenshots
Insecure Web Application
Damn Vulnerable Web Appilcation
Análisis en curso
Análisis finalizado
Algunas vulnerabilidades encontradas
Insecure Web Application
[+] [1] Cross-Site Scripting in HTML tag.
[~] ~~~~~~~~~~~~~~~~~~~~
[~] ID Hash: 5b42c2448cfd3ac3a6d7256c1e0fa423
[~] Severity: High
[~] URL:
http://localhost:8080/insecure/public/ForgotLogin.jsp
[~] Element: form
[~] Method: POST
[~] Tags:
xss, script, tag, regexp, dom, attribute, injection
[~] Variable: email
[~] Description:
[~] Unvalidated user input is being embedded in a HTML element.
This can lead to a Cross-Site Scripting vulnerability or a form of HTML manipulation.
[~] CWE: http://cwe.mitre.org/data/definitions/79.html
[~] Requires manual verification?: false
[~] References:
[~] ha.ckers - http://ha.ckers.org/xss.html
[~] Secunia - http://secunia.com/advisories/9716/
[*] Variations
[~] ---------[~] Variation 1:
[~] URL: http://localhost:8080/insecure/public/ForgotLogin.jsp
[~] Injected value: [email protected]"
arachni_xss_in_tag="5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb5
7e9
[~] Matched string: <input type="text" name="email" id="email" size="100"
value="[email protected]"
arachni_xss_in_tag="5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb5
7e9">
[+] [2] Unencrypted password form.
[~] ~~~~~~~~~~~~~~~~~~~~
[~] ID Hash: 03721c189bcd149c0f41e80afe34ac51
[~] Severity: Medium
[~] URL:
http://localhost:8080/insecure/public/Login.jsp
[~] Element: form
[~] Tags:
unencrypted, password, form
[~] Variable: pass
[~] Description:
[~] Transmission of password does not use an encrypted channel.
[~] CWE: http://cwe.mitre.org/data/definitions/319.html
[~] Requires manual verification?: false
[~] References:
[~] OWASP Top 10 2010 - http://www.owasp.org/index.php/Top_10_2010-A9Insufficient_Transport_Layer_Protection
[*] Variations
[~] ---------[~] Variation 1:
[~] URL: http://localhost:8080/insecure/public/Login.jsp
[+] [3] A common directory exists on the server.
[~] ~~~~~~~~~~~~~~~~~~~~
[~] ID Hash: 16c4d4d2b7fd8bee3b7e8ef2fc5ec853
[~] Severity: Medium
[~] URL:
http://localhost/doc/
[~] Element: path
[~] Tags:
path, directory, common
[~] Description:
[~]
[~] CWE: http://cwe.mitre.org/data/definitions/538.html
[~] Requires manual verification?: false
[~] References:
[*] Variations
[~] ---------[~] Variation 1:
[~] URL:
http://localhost/doc/?5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb
57e9=
[~] ID: doc
[~] Injected value:
doc
Damn Vulnerable Web App
[+] [1] A common directory exists on the server.
[~] ~~~~~~~~~~~~~~~~~~~~
[~] ID Hash: 37eddd67bb00f74e04ea2f697f52ee0a
[~] Severity: Medium
[~] URL:
http://localhost/dvwa/config/
[~] Element: path
[~] Tags:
path, directory, common
[~] Description:
[~]
[~] CWE: http://cwe.mitre.org/data/definitions/538.html
[~] Requires manual verification?: false
[~] References:
[*] Variations
[~] ---------[~] Variation 1:
[~] URL:
http://localhost/dvwa/config/?91ad30139bee44d279edd2d74cabdbacd63833a452621964cdd
31841722039d8=
[~] ID: config
[~] Injected value:
config
[+] [2] A common directory exists on the server.
[~] ~~~~~~~~~~~~~~~~~~~~
[~] ID Hash: 63d3a23179f10d2d5e89b9b6f106ea3e
[~] Severity: Medium
[~] URL:
http://localhost/dvwa/docs/
[~] Element: path
[~] Tags:
path, directory, common
[~] Description:
[~]
[~] CWE: http://cwe.mitre.org/data/definitions/538.html
[~] Requires manual verification?: false
[~] References:
[*] Variations
[~] ---------[~] Variation 1:
[~] URL:
http://localhost/dvwa/docs/?91ad30139bee44d279edd2d74cabdbacd63833a452621964cdd3
1841722039d8=
[~] ID: docs
[~] Injected value:
docs
[+] [3] A common directory exists on the server.
[~] ~~~~~~~~~~~~~~~~~~~~
[~] ID Hash: 16c4d4d2b7fd8bee3b7e8ef2fc5ec853
[~] Severity: Medium
[~] URL:
http://localhost/doc/
[~] Element: path
[~] Tags:
path, directory, common
[~] Description:
[~]
[~] CWE: http://cwe.mitre.org/data/definitions/538.html
[~] Requires manual verification?: false
[~] References:
[*] Variations
[~] ---------[~] Variation 1:
[~] URL:
http://localhost/doc/?91ad30139bee44d279edd2d74cabdbacd63833a452621964cdd3184172
2039d8=
[~] ID: doc
[~] Injected value:
doc
[+] [4] A common directory exists on the server.
[~] ~~~~~~~~~~~~~~~~~~~~
[~] ID Hash: 50f4d9dd6920d330afa24c519f39f114
[~] Severity: Medium
[~] URL:
http://localhost/doc/ftp/
[~] Element: path
[~] Tags:
path, directory, common
[~] Description:
[~]
[~] CWE: http://cwe.mitre.org/data/definitions/538.html
[~] Requires manual verification?: false
[~] References:
[*] Variations
[~] ---------[~] Variation 1:
[~] URL:
http://localhost/doc/ftp/?91ad30139bee44d279edd2d74cabdbacd63833a452621964cdd3184
1722039d8=
[~] ID: ftp
[~] Injected value:
ftp
Descargar