OWASP Basic Expression & Lexicon Variation Algorithms (BELVA) Project

=Main=

OWASP Basic Expression & Lexicon Variation Algorithms (BELVA) ProjectTool Project
This project is a custom dictionary builder. Often times when pen-testing there are words that are specific to the organization being tested that are not usually found in the large wordlists. Two examples are the name of the organization under assessment or vertical/industry specific keywords associated with the organization. The current tools found generate either too much data per word or were difficult to configure/customize.

Description
This project gives the end user the ability to import data from proxies such as ZAP and burp, substitute letters/numbers/special characters in any given combination, apply policies to select and remove words to fit the organization specific password policies as well as write plugins for extendability. The app also allows the pen tester to create custom username based on policy.

https://www.owasp.org/images/9/95/OwaspBELVAv0.1.png

Licensing
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see .

Any contributions are Copyright &copy; by Kenneth F. Belva or OWASP 2016.


 * valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |

Download Project
Source Code

Project Leader
Kenneth F. Belva

Note: This project is dedicated to my dad.

Get Involved

 * Contribute Plugins!

Classifications

 * valign="top" style="padding-left:25px;width:200px;" |

News and Events

 * [21 March 2016] First Alpha Release


 * }

=FAQs=

Many projects have "Frequently Asked Questions" documents or pages. However, the point of such a document is not the questions. The point of a document like this are the answers. The document contains the answers that people would otherwise find themselves giving over and over again. The idea is that rather than laboriously compose and post the same answers repeatedly, people can refer to this page with pre-prepared answers. Use this space to communicate your projects 'Frequent Answers.'

How can I participate in your project?
All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet it's goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key.

If I am not a programmer can I participate in your project?
Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator. See the Road Map and Getting Involved tab for more details.

= Acknowledgements =

Contributors
The success of OWASP is due to a community of enthusiasts and contributors that work to make our projects great. This is also true for the success of your project. Be sure to give credit where credit is due, no matter how small! This should be a brief list of the most amazing people involved in your project. Be sure to provide a link to a complete list of all the amazing people in your project's community as well.

The OWASP Tool Project Template is developed by a worldwide team of volunteers. A live update of project contributors is found here.

The first contributors to the project were:


 * Colin Watson who created the OWASP Cornucopia project that the template was derived from
 * Chuck Cooper who edited the template to convert it from a documentation project to a Tool Project Template
 * YOUR NAME BELONGS HERE AND YOU SHOULD REMOVE THE PRIOR 3 NAMES

= Road Map and Getting Involved =

A project roadmap is the envisioned plan for the project. The purpose of the roadmap is to help others understand where the project is going as well as areas that volunteers may contribute. It gives the community a chance to understand the context and the vision for the goal of the project. Additionally, if a project becomes inactive, or if the project is abandoned, a roadmap can help ensure a project can be adopted and continued under new leadership. Roadmaps vary in detail from a broad outline to a fully detailed project charter. Generally speaking, projects with detailed roadmaps have tended to develop into successful projects. Some details that leaders may consider placing in the roadmap include: envisioned milestones, planned feature enhancements, essential conditions, project assumptions, development timelines, etc. You are required to have at least 4 milestones for every year the project is active.

Roadmap
As of November, 2013, the highest priorities for the next 6 months are:
 * Complete the first draft of the Tool Project Template
 * Get other people to review the Tool Project Template and provide feedback
 * Incorporate feedback into changes in the Tool Project Template
 * Finalize the Tool Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project

Subsequent Releases will add
 * Internationalization Support
 * Additional Unit Tests
 * Automated Regression tests

The project was original conceived while doing active pen-tests at clients. It was clear that a good number of users would choose words as passwords or SSIDs that fit within the context of the specific organization. Unfortunately, there was no easy way to create a high quality custom dictionary with word variations with the open source tools currently available.

I envisioned an import utility that could take XML export data from ZAP or burp, parse the words and automatically choose the most important words to alter, then have those selected manipulated according to rules of the testers choosing. One specific set of rules could be customized according to the password policies of the organization, if known. This would create a dictionary custom to that organization against which could be imported into other assessment tools.

The current state of the project will take a word and manipulate it against a set of rules.

Features that are needed:

1. Import utility for ZAP and burp XML 2. Auto-word selector 3. Additional rule manipulations 4. GUI front end / PyQT4 (?)

Getting Involved
Involvement in the development and promotion of Tool Project Template is actively encouraged! You do not have to be a security expert or a programmer to contribute. Some of the ways you can help are as follows:

Coding
We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests

Localization
Are you fluent in another language? Can you help translate the text strings in the Tool Project Template into that language?

Testing
Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.

Feedback
Please use the Tool Project Template project mailing list for feedback about:  What do like? What don't you like? What features would you like to see prioritized on the roadmap? 

=Minimum Viable Product=

This page is where you should indicate what is the minimum set of functionality that is required to make this a useful product that addresses your core security concern. Defining this information helps the project leader to think about what is the critical functionality that a user needs for this project to be useful, thereby helping determine what the priorities should be on the roadmap. And it also helps reviewers who are evaluating the project to determine if the functionality sufficiently provides the critical functionality to determine if the project should be promoted to the next project category.

The Tool Project Template must specify the minimum set of tabs a project should have, provide some an example layout on each tab, provide instructional text on how a project leader should modify the tab, and give some example text that illustrates how to create an actual project.

It would also be ideal if the sample text was translated into different languages.

=Project About=

This page is where you need to place your legacy project template page if your project was created before October 2013. To edit this page you will need to edit your project information template. You can typically find this page by following this address and substituting your project name where it says "OWASP_Example_Project". When in doubt, ask the OWASP Projects Manager. Example template page: https://www.owasp.org/index.php/Projects/OWASP_Example_Project