Miér Jun 29, 2011 12:26 pm
En la actualidad, con la evolución de los dispositivos de seguridad perimetral, la concienciación por parte de los administradores de red y los fabricantes de software, cada vez es más complicado encontrar, durante el proceso de una revisión de seguridad, vulnerabilidades en los sistemas operativos y en el software en general instalado en un servidor.
Por el contrario, es muy común encontrar vulnerabilidades Web ya que los programadores (o más bien el mercado) sigue priorizando la funcionalidad y usabilidad de la aplicación por encima de la seguridad y, normalmente, al desarrollar dichas aplicaciones web, no se tienen en cuenta las metodologías de programación segura para los diferentes lenguajes de programación utilizados, tampoco se revisa el código fuente antes de su paso a producción, etc.
Vulnerabilidades como Inyecciones de SQL, XPATH, Cross Site Scripting (XSS), Cross-site request forgery (XSRF), Inyecciones LDAP o CRLF, fallos en los mecanismos de autenticación de la aplicación, etc. siguen siendo todavía demasiado habituales.
Para facilitar un poco la tarea de descubrir vulnerabilidades Web y como alternativa a los programas comerciales como HP Webinspect o IBM Appscan, esta disponible desde hace tiempo Wapiti que acaba de publicar su última versión 2.2.1 y dispone de licencia GPLv2.
Wapiti está programado en Python, está disponible en español y su uso, a pesar de no disponer de entorno gráfico, es de lo más simple, basta ejecutar el programa con un intérprete de Pyhton versión 2.4 o superior desde Windows o Linux, seguido de la dirección a revisar como opción principal:
a partir de entonces, se cargará el módulo de Web Crawling de que dispone para intentar descubrir todas las posibles páginas y ficheros existentes en la aplicación analizada. Wapiti utiliza la librería para "web spider" lswww, también programada en Python y del mismo creador:
Posteriormente, y una vez que se tiene localizada toda la estructura de directorios de la aplicación, carga los diferentes módulos existentes (si no se le ha indicado lo contrario) y va comprobando las vulnerabilidades de cada módulo:
Wapiti detecta las siguientes vulnerabilidades:
* Errores en la gestión de ficheros (fopen, readfile, includes, ...)
* Inyección en Bases de Datos (SQL, XPATH, sorpota PHP, JSP y ASP)
* Inyección XSS
* Inyección CRLF
* Inyección LDAP
* Ejecución de comandos (eval(), system(), passtru(), ...)
* Inyección CRLF (HTTP response splitting, session fixation, etc.)
* Búsqueda de archivos potencialmente peligrosos en el servidor web
* Búsqueda de copias de seguridad (backups) de scripts
* Configuraciones htaccess débiles que permitan saltárselos
Wapiti permite configurar y personalizar todos los parámetros del análisis, puede trabajar con cookies y con formularios de autenticación y, también, especificar un proxy de la siguiente forma:
Al terminar el análisis , se indica la ruta del informe generado en formato HTML, por defecto, aunque también se puede configurar para que Wapiti cree el informe final en formato XML o, incluso, en texto plano (.txt).
Wapiti destaca por lo detallado de sus reportes, donde se puede observar la descripción de las diferentes vulnerabilidades encontradas, formas de resolverlas y algunas páginas de referencia donde poder ampliar la información sobre los fallos encontrados.
[Tienes que estar registrado y conectado para ver este vínculo]
Saludos chicas :D
Por el contrario, es muy común encontrar vulnerabilidades Web ya que los programadores (o más bien el mercado) sigue priorizando la funcionalidad y usabilidad de la aplicación por encima de la seguridad y, normalmente, al desarrollar dichas aplicaciones web, no se tienen en cuenta las metodologías de programación segura para los diferentes lenguajes de programación utilizados, tampoco se revisa el código fuente antes de su paso a producción, etc.
Vulnerabilidades como Inyecciones de SQL, XPATH, Cross Site Scripting (XSS), Cross-site request forgery (XSRF), Inyecciones LDAP o CRLF, fallos en los mecanismos de autenticación de la aplicación, etc. siguen siendo todavía demasiado habituales.
Para facilitar un poco la tarea de descubrir vulnerabilidades Web y como alternativa a los programas comerciales como HP Webinspect o IBM Appscan, esta disponible desde hace tiempo Wapiti que acaba de publicar su última versión 2.2.1 y dispone de licencia GPLv2.
Wapiti está programado en Python, está disponible en español y su uso, a pesar de no disponer de entorno gráfico, es de lo más simple, basta ejecutar el programa con un intérprete de Pyhton versión 2.4 o superior desde Windows o Linux, seguido de la dirección a revisar como opción principal:
- Código:
python wapiti.py http://www.antrax-labs.tk
a partir de entonces, se cargará el módulo de Web Crawling de que dispone para intentar descubrir todas las posibles páginas y ficheros existentes en la aplicación analizada. Wapiti utiliza la librería para "web spider" lswww, también programada en Python y del mismo creador:
- Código:
python wapiti.py http://www.antrax-labs.tk
Wapiti-2.2.1 (wapiti.sourceforge.net)
Posteriormente, y una vez que se tiene localizada toda la estructura de directorios de la aplicación, carga los diferentes módulos existentes (si no se le ha indicado lo contrario) y va comprobando las vulnerabilidades de cada módulo:
- Código:
python wapiti.py http://www.antrax-labs.tk
Wapiti-2.2.1 (wapiti.sourceforge.net)
................................................................................
...........
Aviso
========
El escaneo ha sido guardado en el fichero \src/scans/antrax-labs.tk.xml
Puede ser usado para realizar ataques sin necesidad de escanear nuevamente el sitio web utilizando el parámetro "-k"
* Cargando módulos :
mod_crlf, mod_exec, mod_file, mod_sql, mod_xss, mod_backup, mod_htaccess, mod_blindsql, mod_permanentxss, mod_nikto
* Lanzando módulo crlf
Wapiti detecta las siguientes vulnerabilidades:
* Errores en la gestión de ficheros (fopen, readfile, includes, ...)
* Inyección en Bases de Datos (SQL, XPATH, sorpota PHP, JSP y ASP)
* Inyección XSS
* Inyección CRLF
* Inyección LDAP
* Ejecución de comandos (eval(), system(), passtru(), ...)
* Inyección CRLF (HTTP response splitting, session fixation, etc.)
* Búsqueda de archivos potencialmente peligrosos en el servidor web
* Búsqueda de copias de seguridad (backups) de scripts
* Configuraciones htaccess débiles que permitan saltárselos
Wapiti permite configurar y personalizar todos los parámetros del análisis, puede trabajar con cookies y con formularios de autenticación y, también, especificar un proxy de la siguiente forma:
- Código:
python wapiti.py http://www.antrax-labs.tk -c <cookie_file> (para trabajar con cookies)
python wapiti.py http://www.antrax-labs.tk -a <login%password> (para utilizar un usuario y una contraseña válidos de la aplicación)
python wapiti.py http://www.antrax-labs.tk -p <url_proxy> (para especificar un proxy)
Al terminar el análisis , se indica la ruta del informe generado en formato HTML, por defecto, aunque también se puede configurar para que Wapiti cree el informe final en formato XML o, incluso, en texto plano (.txt).
Wapiti destaca por lo detallado de sus reportes, donde se puede observar la descripción de las diferentes vulnerabilidades encontradas, formas de resolverlas y algunas páginas de referencia donde poder ampliar la información sobre los fallos encontrados.
- Código:
Informe
------
Un informe ha sido generado en el fichero generated_report
Abre generated_report/index.html con un navegador para ver el informe
[Tienes que estar registrado y conectado para ver este vínculo]
Saludos chicas :D