Inicio > Hacking, Web Applications > Funcionamiento de W3AF Introducción al Framework – Parte I

Funcionamiento de W3AF Introducción al Framework – Parte I

Como ya se ha indicado en el post anterior sobre la instalación de W3AF, este tiene ciertos requerimientos que deben ser cumplidos antes de poder utilizar este framework, sin embargo una vez se configura el entorno, utilizar esta herramienta es muy provechoso para realizar diferentes tipos de tareas relacionadas con penetración en aplicaciones web.

Para entender el funcionamiento de W3AF es necesario en primer lugar, entender como se encuentra subdividido en 3 tipos de Plugins que son: Discovery (Descubrimiento), Audit (Auditoria) y Attack (Ataque) los 3 interactuan con el fin de detectar vulnerabilidades sobre un objetivo dado y finalmente atacar dicha vulnerabilidad con el fin de inyectar un payload u obtener acceso no autorizado a los recursos del objetivo

En la consola de W3AF tenemos los siguientes comandos:

w3af>>> help

|———————————————————————————————————————————————————————|

| start | Start the scan.

| plugins | Enable and configure plugins.

| exploit | Exploit the vulnerability.

| profiles | List and use scan profiles.

| cleanup | Cleanup before starting a new scan.

|———————————————————————————————————————————————————————|

| http-settings | Configure the HTTP settings of the framework.

| misc-settings | Configure w3af misc settings.

| target | Configure the target URL.

|———————————————————————————————————————————————————————|

| back | Go to the previous menu.

| exit | Exit w3af.

| assert | Check assertion.

|———————————————————————————————————————————————————————|

| help | Display help. Issuing: help [command] , prints more specific help about “command” |

| version | Show w3af version information.

| keys | Display key shortcuts.

|———————————————————————————————————————————————————————|

Las opciones tienen su descripción justo al frente, las mas interesantes en primera instancia son target, http-settings y plugins, con el fin de establecer el objetivo, definir la configuración HTTP y finalmente habilitar o desactivar plugins. Por otro lado también se cuenta con el comando back, que permite cambiar de contexto de ejecución, si por ejemplo estamos ubicados en la configuración de HTTP u otros podemos volver al contexto anterior.

Probablemente una de las razones por las que W3AF es comparado con MetaSploit Framework es por la forma en la que se utilizan los plugins y demás opciones disponibles, ya que todas se encuentran en un único contexto con sus propias opciones de configuración, una característica que resulta bastante familiar en MetaSploit, ya que en MetaSploit, navegamos a través de exploits, payloads, auxiliaries, etc. y cada uno tiene su propio contexto y sus propias opciones de configuración.

OBJETIVOS W3AF

En primera instancia, es necesario definir donde se encuentra localizada la aplicación web objetivo, para esto, es necesario seguir los siguientes pasos:

1. Establecer el contexto de objetivos en W3AF:

w3af>>> target

w3af/config:target>>> help

|———————————————————————————————————————————————————————|

| view | List the available options and their values. |

| set | Set a parameter value. |

|———————————————————————————————————————————————————————|

| back | Go to the previous menu. |

| exit | Exit w3af. |

| assert | Check assertion. |

|———————————————————————————————————————————————————————|

w3af/config:target>>> view

|——————————————————————————————————————————————————————–|

| Setting | Value | Description |

|——————————————————————————————————————————————————————–|

| targetOS | unknown | Target operating system (unknown/unix/windows) |

| targetFramework | unknown | Target programming framework (unknown/php/asp/asp.net/java/jsp/cfm/ruby/perl) |

| target | | A comma separated list of URLs |

|——————————————————————————————————————————————————————–|

2. Definir la ruta de la aplicación que será el objetivo de nuestro análisis

w3af/config:target>>> set target http://localhost/dvw

3. Opcionalmente, establecer la plataforma del objetivo y el lenguaje en el que esta escrita la aplicación web:

w3af>>> target set targetOS windows

w3af>>> target set targetFramework jsp

Como puede apreciarse, en los comandos anteriores no ha sido necesario desplazarse hasta el contexto de “target” para establecer una propiedad, sin embargo a lo largo de los siguientes pasos siempre se navegará hasta el contexto correspondiente con el fin de aclarar conceptos.

CONFIGURACIONES W3AF

Las opciones generales de configuración de W3AF, se dividen en dos categorías, a saber, parámetros de configuración del protocolo HTTP y parámetros de configuración de uso general del Framework, a continuación se su funcionamiento:

Http Settings

Para configurar adecuadamente estas propiedades es necesario navegar a la opción correspondiente y conocer las opciones de configuración HTTP disponibles, con esto en mente, se procede a indicar los pasos para editar estas propiedades

1. Establecer el contexto de Configuración de protocolo HTTP.

w3af>>> http-settings
w3af/config:http-settings>>>

2. Listar las opciones de configuración disponibles.

w3af/config:http-settings>>> view

|—————————————————————————————|

| Setting | Value | Description |

|—————————————————————————————|

| urlParameter | | Append the given URL parameter to every |

| | | accessed URL. Example: |

| | | http://www.foobar.com/index.jsp;<parameter&gt;?id=2 |

| timeout | 15 | The timeout for connections to the HTTP |

| | | server |

| headersFile | | Set the headers filename. This file has |

| | | additional headers that are added to each |

| | | request. |

|—————————————————————————————|

| ignoreSessCookies | False | Ignore session cookies |

| cookieJarFile | | Set the cookiejar filename. |

|—————————————————————————————|

| ntlmAuthUser | | Set the NTLM authentication username for |

| | | HTTP requests |

| ntlmAuthPass | | Set the NTLM authentication password for |

| | | HTTP requests |

| ntlmAuthURL | | Set the NTLM authentication domain for |

| | | HTTP requests |

|—————————————————————————————|

| maxFileSize | 400000 | Maximum file size |

| userAgent | w3af.sourceforge.net | User Agent header |

| maxRetrys | 2 | Maximum number of retries |

|—————————————————————————————|

| never404 | | A comma separated list that determines |

| | | what URLs will NEVER be detected as 404 |

| | | pages. |

| always404 | | A comma separated list that determines |

| | | what URLs will ALWAYS be detected as 404 |

| | | pages. |

| 404string | | If this string is found in an HTTP |

| | | response, then it will be tagged as a 404. |

|—————————————————————————————|

| proxyPort | 8080 | Proxy TCP port |

| proxyAddress | | Proxy IP address |

|—————————————————————————————|

| basicAuthUser | | Set the basic authentication username for |

| | | HTTP requests |

| basicAuthPass | | Set the basic authentication password for |

| | | HTTP requests |

| basicAuthDomain | | Set the basic authentication domain for |

| | | HTTP requests |

|—————————————————————————————|

3. Estableciendo algunas propiedades de configuración HTTP

w3af/config:http-settings>>> set basicAuthDomain localhost

w3af/config:http-settings>>> set basicAuthUser admin

w3af/config:http-settings>>> set basicAuthPass password

w3af/config:http-settings>>> set 404string W3AF no ha encontrado el recurso

w3af/config:http-settings>>> set always404 /page1.html /page1.jsp /page1.asp /page1.jsf

w3af/config:http-settings>>> set never404 /index.html

Evidentemente las opciones de configuración dependen directamente de la información que tengamos del objetivo, con el fin de establecer opciones personalizadas que se adapten al escaneo que se pretende realizar.

Misc Settings

Se trata de parámetros de configuración globales para determinar el funcionamiento del Framework, en especial con aquellas características del Framework que están relacionadas con la integración de herramientas externas, para configurar estas características se siguen los siguientes pasos:

1. Establecer el contexto de parámetros globales del Framework.

w3af>>> misc-settings

w3af/config:misc-settings>>>

 2. Listando los parámetros de configuración globales del Framework.

w3af/config:misc-settings>>> view

|—————————————————————————————|

| Setting | Value | Description |

|—————————————————————————————|

| msf_location | /opt/metasploit3/bin/ | Enable this when you are doing a |

| | | demo in a conference |

|—————————————————————————————|

| fuzzFormComboValues | tmb | Indicates what HTML form combo |

| | | values w3af plugins will use: all, |

| | | tb, tmb, t, b |

| fuzzFCExt | txt | Indicates the extension to use when |

| | | fuzzing file content |

| fuzzableHeaders | | A list with all fuzzable header |

| | | names |

| fuzzCookie | False | Indicates if w3af plugins will use |

| | | cookies as a fuzzable parameter |

| fuzzFileContent | True | Indicates if w3af plugins will send |

| | | the fuzzed payload to the file forms |

| fuzzFileName | False | Indicates if w3af plugins will send |

| | | fuzzed filenames in order to find |

| | | vulnerabilities |

|—————————————————————————————|

| exportFuzzableRequests | | Export all discovered fuzzable |

| | | requests to the given file (CSV) |

|—————————————————————————————|

| demo | False | Enable this when you are doing a |

| | | demo in a conference |

| nonTargets | | A comma separated list of URLs that |

| | | w3af should completely ignore |

|—————————————————————————————|

| interface | eth0 | Local interface name to use when |

| | | sniffing, doing reverse connections, |

| | | etc. |

| localAddress | 192.168.1.34 | Local IP address to use when doing |

| | | reverse connections |

|—————————————————————————————|

| maxDiscoveryTime | 120 | Maximum discovery time (minutes) |

| maxThreads | 15 | Maximum number of threads that the |

| | | w3af process will spawn. Zero means |

| | | no threads (recommended) |

| autoDependencies | True | Automatic dependency enabling for |

| | | plugins |

|—————————————————————————————|

3. Estableciendo valores de configuración para los parámetros que resulten de interés.

w3af/config:misc-settings>>> set demo True

w3af/config:misc-settings>>> set msf_location /opt/metasploit3/msf3
w3af/config:misc-settings>>> set maxDiscoveryTime 60

En la próxima entrada se indicara el funcionamiento a nivel con un nivel de detalle mas elaborado sobre este framework.

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: