Skip to content

Commit

Permalink
Merge pull request #62 from v1s1t0r1sh3r3/dev
Browse files Browse the repository at this point in the history
v6.1 dev into master
  • Loading branch information
OscarAkaElvis authored Mar 5, 2017
2 parents c0b93c3 + 037830a commit cbd563a
Show file tree
Hide file tree
Showing 7 changed files with 3,987 additions and 3,773 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
###6.1
- Network selection menues now colorized
- Language strings now in a separated file for easy handling and translating
- Validation and self-downloading system for new language strings file

###6.01
- Shebang changed to a more portable one `#!/usr/bin/env bash`
- New extra-verbose debug mode added
Expand Down
55 changes: 32 additions & 23 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,26 @@ Please note we have a code of conduct, please follow it in all your interactions

## Collaborating Translators

1. Translate the strings located in `language_strings()` function.
2. Ask by mail [[email protected]] if you have any doubt. You'll be informed about how to proceed.
3. You can be added as a collaborator on the project.
1. Update the date under shebang.
2. Translate the strings located in `language_strings.sh`.
3. Ask by mail [[email protected]] if you have any doubt. You'll be informed about how to proceed.
4. You can be added as a collaborator on the project.

## Collaborating Developers

1. Tweak *"debug_mode"* variable to "1" for faster development skipping intro and initial checks or to "2" for extra verbosity and the skips mentioned before.
2. Respect the **tab indentation**, code style and the **UTF-8** format.
1. Tweak *"debug_mode"* variable to "1" for faster development skipping intro and initial checks or to "2" for verbosity and the skips mentioned before.
2. Respect the **2 width tab indentation**, code style and the **UTF-8 encoding**.
3. Use **LF** (Unix) line break type (not CR or CRLF).
4. Use [Shellcheck] to search for errors and warnings on code. (Thanks [xtonousou] for the tip :wink:)
5. Increase the version numbers in `airgeddon.sh` and in [Readme] to the new version that the script represents. The versioning scheme we use is *X.YZ*. Where:
- *X* is a major release with a new menu (e.g. WPS menu)
- *Y* is a minor release with a new feature for an existing menu or a new submenu for an existing feature
- *Z* is a minor release with new bug fixes, small modifications or code improvements
6. Update the date on `airgeddon.sh` under shebang, if appropriate.
7. Direct push to [Master] is not allowed.
8. Pull Requests to [Master] are not allowed. Should be done over `dev` or any other branch. They require revision and approvement.
9. All the development and coding must be in English.
4. Use [Shellcheck] to search for errors and warnings on code. (Thanks [xtonousou] for the tip :wink:). To avoid false positive warnings you must launch shellcheck using `-x` argument to follow source files and from the directory where `airgeddon.sh` is. For example: `cd /path/to/airgeddon && shellcheck -x airgeddon.sh`
5. Increase the version numbers in `airgeddon.sh`, in [Readme] and in [Changelog] to the new version that the script represents. The versioning scheme we use is *X.YZ*. Where:
- *X* is a major release with a new menu (e.g. WPS menu)
- *Y* is a minor release with a new feature for an existing menu or a new submenu for an existing feature
- *Z* is a minor release with new bug fixes, small modifications or code improvements
6. Update the date on `.sh` and `.db` files under shebang, if appropriate.
7. Split your commits into parts. Each part represents a unique change on files.
8. Direct push to [Master] is not allowed.
9. Pull Requests to [Master] are not allowed. Should be done over [Dev] or any other branch. They require revision and approvement.
10. All the development and coding must be in English.

*Be sure to merge the latest from "upstream" before making a pull request!*

Expand All @@ -37,16 +39,16 @@ To be added on it you must prove first you are a *trusted collaborator* with you

## WPS PIN Database Collaborators

1. Add PINs ordered by the key in the associative array. (Keys are the first 6 BSSID digits).
2. Update the `known_pins.db` file.
3. Update the `pindb_checksum.txt` file with the calculated checksum of the database file using `md5sum` tool.
1. Add PINs ordered by the key in the associative array located in the `known_pins.db` file. (Keys are the first 6 BSSID digits).
2. Update the `pindb_checksum.txt` file with the calculated checksum of the database file using `md5sum` tool.
3. Update the date under shebang.

*PINs should be from devices that generate generic ones*
*PINs should be from devices that generate generic ones.*

## Beta Testers

1. Download the master version or the beta testing version from the development branch called [Dev]. Temporary branches may be existing for specific features that can be tested too.
2. Report any issues or bugs by mail [[email protected]] or submit issues requests [Here].
2. Report any issues or bugs by mail [[email protected]] or submit issue requests [Here].

---

Expand Down Expand Up @@ -131,8 +133,8 @@ If you enjoyed the script, feel free to donate. Invite me to a coffee through Pa
<table>
<tr>
<td>
Paypal: <i>v1s1t0r.1s.h3r3&#64;gmail.com</i> <br/>
Bitcoin: <i>1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH</i>
Paypal: <em>v1s1t0r.1s.h3r3&#64;gmail.com</em> <br/>
Bitcoin: <em>1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH</em>
</td>
</tr>
</table>
Expand All @@ -141,14 +143,21 @@ If you enjoyed the script, feel free to donate. Invite me to a coffee through Pa
&nbsp;
[![Bitcoin][Bitcoin]](https://blockchain.info/address/1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH)

<!-- URLs -->
<!-- MDs -->
[Readme]: README.md
[Changelog]: CHANGELOG.md

<!-- Code of Conduct -->
[Homepage]: http://contributor-covenant.org
[Version]: http://contributor-covenant.org/version/1/4/

<!-- Github -->
[Shellcheck]: https://github.com/koalaman/shellcheck "shellcheck.hs"
[Here]: https://github.com/v1s1t0r1sh3r3/airgeddon/issues/new
[Master]: https://github.com/v1s1t0r1sh3r3/airgeddon/tree/master
[Dev]: https://github.com/v1s1t0r1sh3r3/airgeddon/tree/dev
[xtonousou]: https://github.com/xtonousou "xT"
[Readme]: README.md

<!-- Images -->
[Paypal]: /imgs/banners/paypal_donate.png "Show me the money!"
[Bitcoin]: /imgs/banners/bitcoin_donate.png "Show me the money!"
66 changes: 38 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<!-- Change version for shield on each commit -->
<!-- Visit https://shields.io/ for more info -->
<!-- Shields' color scheme based on banner: colorA=273133 colorB=0093ee -->
<!-- Below is a workaround for IE8 or older; Make <details> tag work. -->
<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

# :satellite: airgeddon [![Version-shield]](CHANGELOG.md) [![Bash4.2-shield]](http://tldp.org/LDP/abs/html/bashver4.html#AEN21220) [![License-shield]](LICENSE.md) [![Paypal-shield]](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7ELM486P7XKKG) [![Bitcoin-shield]](https://blockchain.info/address/1AKnTXbomtwUzrm81FRzi5acSSXxGteGTH)

Expand Down Expand Up @@ -68,7 +66,7 @@

Bash **4.2** or later.

Compatible with any Linux that has installed the tools needed. The script checks for them at the beginning.
Compatible with any Linux distribution that has installed the tools needed. The script checks for them at the beginning.

> `airgeddon` is already included in some Linux distributions and repositories:
> - [Wifislax] 4.12, 64-1.0 or higher
Expand All @@ -91,14 +89,13 @@ Compatible with any Linux that has installed the tools needed. The script checks
- *Gentoo 20160514 and 20160704*
- *Fedora 24*
- *Red Hat 7 (Maipo)*
- *Arch 4.6.2-1 to 4.9.9-1*
- *Arch 4.6.2-1 to 4.9.11-1*
- *Raspbian 7 (Wheezy) and 8 (Jessie) (Raspberry Pi)*
- *OpenMandriva LX3*
</details>

#### Essential tools &#8592; The script does not work if you don't have installed all of them

<!-- HTML entities here: http://www.amp-what.com/unicode/search/%2F%26%5Cw%2F -->
#### Essential tools &#8592; The script does not work if you don't have installed all of them

Command | Possible package name | &#149; | Command | Possible package name
:------------|:----------------------|:-------:|:------------|:----------------------
Expand All @@ -124,8 +121,8 @@ Compatible with any Linux that has installed the tools needed. The script checks

##### Important tips about BeEF

- The right software you must install is BeEF (Browser Exploitation Framework). Be careful, do not mistake it with beef (Flexible Brainfuck Interpreter). This package has the same name and executable file name on some distributions and can lead into confusion. Anyway, `airgeddon` is able to detect the issue and displays a warning if needed. Here is a link to the right [BeEF installation's page].
- If you use a distribution which already has BeEF installed like Kali, BlackArch or Wifislax, there will be no problems. If you have manually installed BeEF, `airgeddon` is able to manage the integration asking for the path where it's installed, even modifying its own code in order to make updates-proof persistent changes.
- The right software you must install is **BeEF** (Browser Exploitation Framework). Be careful, do not mistake it with **beef** (Flexible Brainfuck Interpreter). This package has the same name and executable file name on some distributions and can lead into confusion. Anyway, `airgeddon` is able to detect the issue and displays a warning if needed. Here is a link to the right [BeEF installation's page].
- If you are using a distribution which already has BeEF installed like Kali, BlackArch or Wifislax, there will be no problems. If you have manually installed BeEF, `airgeddon` is able to manage the integration asking for the path where it's installed, even modifying its own code in order to make updates-proof persistent changes.

#### Update tools &#8592; Not necessary to work, only used for auto-update

Expand All @@ -142,19 +139,32 @@ Compatible with any Linux that has installed the tools needed. The script checks
lspci | pciutils
rfkill | rfkill

It is highly recommended to have the internal tools installed. They improve functionality and performance. For example, `xdpyinfo` allows the script to detect the display resolution in order to print on windows in a better way (size and position).
It is highly recommended to have the internal tools installed. They improve functionality and performance. For example, `xdpyinfo` allows the script to detect the display resolution in order to print on windows in a better way (size and position).

Of course, the script also uses many standard basic commands that are supposed to be included in any Linux distribution, so they are not checked (cp, rm, grep, pgrep, egrep, md5sum, uname, echo, hash, cat, sed, etc.).
Of course, the script also uses many standard basic tools that are supposed to be included in any Linux distribution, so they are not checked (cp, rm, grep, pgrep, egrep, md5sum, uname, echo, hash, cat, sed, etc.).

A command could be included in different packages, depending on the distribution.

---

### Usage

`airgeddon` should be launched with bash `bash /path/to/airgeddon.sh`. <br/>
If you launch the script using sh and a *"Syntax error"* appears, launch it with **bash** instead of **sh**. <br/>
Even with no initial error, it will maybe show itself later. Always use bash!
It is essential to run this script as **root**, otherwise `airgeddon` won't work properly.

<details open>
<summary id="gettingStarted"><strong>Getting Started</strong></summary>
- Clone the repository
- `git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git`
- Go to the newly created directory
- `cd airgeddon`
- Run it (remove **sudo** if you already have root permissions)
- `sudo bash airgeddon.sh`
</details>

`airgeddon` should be launched with **bash** `bash /path/to/airgeddon.sh` and not with `sh` or any other kind of shell. <br/>

If you launch the script using another shell, there will be *Syntax errors* and faulty results.
Even with no initial errors, they will appear later. Always launch with **bash**!

---

Expand All @@ -172,40 +182,40 @@ Even with no initial error, it will maybe show itself later. Always use bash!

### Known Incompatibilities

- Impossible compatibility for Mac OSX at the moment:
- *Bash version* &#8592; it can be avoided upgrading to 4 or later, this is not the real problem :smile:
- *Aircrack suite* &#8592; this suite for OSX does not support `airodump` and `aireplay`
- *Wireless tools* &#8592; `iwconfig` does not exist for OSX, and `airport` command cannot be used. It generates different outputs
- Incompatible with OpenBSD and FreeBSD. They are Unix systems but they have some differences with Linux:
- Incompatible with Mac OSX at the moment
- *Bash version* &#8592; it can be avoided by upgrading it using `brew` or whatever, this is not the real problem :smile:
- *Aircrack suite* &#8592; this suite does not support `airodump` and `aireplay` for OSX
- *Wireless tools* &#8592; `iwconfig` does not exist in OSX, so `airport` command cannot be used. It generates different outputs
- Incompatible with OpenBSD and FreeBSD. They are Unix systems but they have some differences with Linux
- *Bash* &#8592; They have no bash. It can be installed, this is not the real problem again :sweat_smile:
- *Wireless tools* &#8592; `iwconfig` does not exist on these systems, they use `ifconfig` instead and it generates different outputs
- *Wireless tools* &#8592; `iwconfig` does not exist in these systems, they use `ifconfig` instead and it generates different outputs

---

### Contributing

- Translations to other languages
- Translations into other languages
- More distribution support compatibility
- New features
- More WPS pins for the database
- Testing and feedback

Read [Contributing File] for more details on our code of conduct, and the process of project collaborating.
Read the [Contributing File] for more details on the process of project collaborating and on our code of conduct.

---

### Changelog

Read [Changelog File] to review changes.
Read the [Changelog File] to review changes.

---

### Disclaimer & License

<a href="LICENSE.md"><img src="http://gplv3.fsf.org/gplv3-127x51.png" align="left" hspace="10" vspace="6"></a>

This script must be used for educational purposes and penetration test only. <br/>
Use it only on your own networks or with the network's owner permission.<br/>
This script must be used for educational purposes and penetration testing only. <br/>
Use it on your own networks or with the permission of the network's owner only.<br/>
`airgeddon` staff is not responsible of its use in any case.

---
Expand All @@ -229,9 +239,9 @@ Use it only on your own networks or with the network's owner permission.<br/>
- The forum people of [Seguridadwireless.net], [Wifi-libre.com] and [Lampiweb.com]
- The [Hackware.ru] admins
- All the people who helped building the online PIN database for WPS
- Dominique Bongard for bringing to us Pixie Dust attacks
- Dominique Bongard for bringing to us the Pixie Dust attacks
- Zhao Chunsheng and Stefan Viehböck for their wonderful algorithms
- All developers who made and designed the third-party tools that `airgeddon` uses
- All the developers who made and designed the third-party tools that `airgeddon` uses

#### Inspiration
<!-- Links are missing, should be replaced -->
Expand Down Expand Up @@ -289,10 +299,10 @@ Use it only on your own networks or with the network's owner permission.<br/>
[cLn]: https://github.com/cLn73
[Luan]: https://github.com/Luan7805
[MiAl]: https://github.com/Mi-Al
[xtonousou]: https://github.com/xtonousou "xT"
[xtonousou]: https://github.com/xtonousou
[OscarAkaElvis]: https://github.com/OscarAkaElvis
<!-- Badges URLs -->
[Version-shield]: https://img.shields.io/badge/version-6.01-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "Latest version"
[Version-shield]: https://img.shields.io/badge/version-6.1-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "Latest version"
[Bash4.2-shield]: https://img.shields.io/badge/bash-4.2%2B-blue.svg?style=flat-square&colorA=273133&colorB=00db00 "Bash 4.2 or later"
[License-shield]: https://img.shields.io/badge/license-GPL%20v3%2B-blue.svg?style=flat-square&colorA=273133&colorB=bd0000 "GPL v3+"
[Paypal-shield]: https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square&colorA=002f86&colorB=009cde "Show me the money!"
Expand Down
Loading

0 comments on commit cbd563a

Please sign in to comment.