WebSlayer - The Web Bruteforcer - 30/10/2008


WebSlayer is a tool designed for bruteforcing Web Applications, it can be used for finding not linked resources (directories, servlets, scripts, etc), bruteforce GET and POST parameters, bruteforce Forms parameters (User/Password), Fuzzing, etc. The tools has a payload generator and a easy and powerful results analyzer.


The tool works with "payloads", and you must define where the payload must be inserted in the request. Once the payload is inserted the tool will generate all the request and then perform the attack. The results of the attacks will have a lot of information useful for the tester to sort the responses and make decisions.

It was created to facilitate the task in Web Applications assessments, it's a tool by pentesters for pentesters ;)

Official Site at OWASP WebSlayer Project
It's possible to perform attacks like:

  • Predictable resource locator: it can find directories and scripts based on well known dictionaries, recursion supported
  • Login forms brute force
  • Session brute force
  • Parameter brute force
  • Parameter Injection (XSS, SQL, etc)
  • Basic and Ntml Bruteforcing  
Some features are:
  • Encodings: 15 encodings supported
  • All parameters attack: the tool will inject the payload in every parameter
  • Authentication: supports Ntml and Basic
  • Multiple payloads: you can use 2 paylods in different parts
  • Proxy support (authentication supported)
  • For predictable resource location it has: Recursion, common extensions, non standard code detection
  • Multiple filters for improving the performance and for producing cleaner results
  • Live filters
  • Threads
  • Session export
  • Integrated browser (webKit)
  • Predefined dictionaries for predictable resource location, based on known servers (Thanks to Dark Raver, www.open-labs.org)


How does it works?

The tool is based on payloads, you choose where you want to bruteforce just by replacing the part of the URL or the POST by the keyword FUZZ.

Features

The power of Webslayer resides in the way you can work with the results, for every attack you will have all the responses, and for each ;request you will have:

  • Html results
  • Source code
  • Headers
And you will be able to filter an sort the results by:
  • Return code
  • Length
  • Words
  • Lines
  • MD5
  • Regular expressions
  • Also you can filter response with common errors in it (errors that we define),
Webslayer will maintain all the attacks in the session so you can work with them, compare, check later, etc.

w1

Payload Generator
For the attacks you can load the payloads from dictionaries (files) or you can
create it with the powerful "Payload Generator", it allows creation of:

  • Numeric ranges
  • User Names
  • Credit cards numbers
  • Characters blocks
  • And wathever you can imagine..
After creating generators we can build a payload using them, and combining in infinite ways. wspay

23


And the real magic starts here, look at the  Payload generator down the image, where we can create a Payload with the differents generators
and a specified format:

3p

Encoding
For all the payloads you can apply any of these encodings:

Urlencode

Double Urlencode 

Base 64 

Uri Hexadecimal

Random upper 

Double nibble hexa

SHA1

MD5

Binary Ascii 

Html Decimal

Html Hexadecimal

UTF-8 Binary

UTF-8 

Mysql char 

MSsql char



Tools
Webslayer has other tools like:

-Encoder/decoder

3

-Requester (request creation/management or replay)

wsr


Webslayer allows to save the session, and export the requests to HTML. Saving the session will save all the attacks and the request/responses with all their information.


Examples of setup:

Predictable resource locator:

  1. Set the URL with the FUZZ keyword
  2. Select the dictionary file  (in the example common.txt)
  3. Set recursion level if you want
  4. Set the number of threads (you can experiment with this)
  5. Set extensions. If you want to add extensions to the dictionary, you can do it here (think that you have to multiply the dictionary length by the number of extensions, could get real big the attack, but if you have time is ok ;)
  6. Non Standard Code Detection: makes a check to verify if the server has a Non Standard Code, we ask for a inexistent word and check the response, if we get anything different from 404, we discard all the responses with that code.
  7. You can change the User-Agent, but this is ok.
  8. Then Launch

12

Login form bruteforce:

We set the url first, then we are going to bruteforce the login.asp, in the Post data we must paste the content of the POST.

In this example we have:

login=FUZZ&password=FUZ2Z


So we are using 2 payloads, for the first one we use the dictionary names.txt and for the second the dictionary common_pass.txt, beware of the length of the final dictionary, because it will pass the second dictionary for every word in the first dictionary, so if we have one dictionary with 10 words and the other with 100, we will have an  attack of 1000 requests.


The content-length will be auto calculated, so we don't have to worry.

Then we  launch the attack.

13

This is a first approach to the tool, you can do more types of attacks, but  i think is enough for this first time ;)


Team:

        -Christian Martorella aKa Laramies - Webslayer , wfuzz (engine)
        -Carlos del Ojo aKa deepbit  - wfuzz (engine),Payload Generator
        -Vicente Diaz - testing, Payload Generator  

Thanks to:

       
-Vicente Diaz for helping in testing and some programming.
        -Javier Mendez and Jonathan Barajas for the heavy testing and all his recommendations ;)
        -DarkRaver for his excellents wordlists, and the first PRL (Dirb)  www.open-labs.org
        -All S21sec team

Download here, right now only win32

Source code will be available ASAP in Google Code

Linux You can run the tool in linux that have the python-qt package with support for WebKit. Right now im aware that Debian Unstable, has the package. UpdateUbuntu 8.10 has the python-qt4 with WebKit support.

You can use the Win32 version, with Wine. thanks to Jonathan Barajas for the test.
Windows
Os X and Linux coming soon..