Skip to content

Commit

Permalink
reaver 1.3
Browse files Browse the repository at this point in the history
  • Loading branch information
sid77 committed Jan 10, 2012
1 parent 9b24f4c commit 48b23cd
Show file tree
Hide file tree
Showing 5 changed files with 169 additions and 0 deletions.
13 changes: 13 additions & 0 deletions network/reaver/README
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,13 @@
Reaver implements a brute force attack against Wifi Protected Setup (WPS)
registrar PINs in order to recover WPA/WPA2 passphrases, as described in
http://sviehb.files.wordpress.com/2011/12/viehboeck_wps.pdf.

Reaver has been designed to be a robust and practical attack against WPS, and
has been tested against a wide variety of access points and WPS
implementations.

On average Reaver will recover the target AP's plain text WPA/WPA2 passphrase
in 4-10 hours, depending on the AP. In practice, it will generally take half
this time to guess the correct WPS pin and recover the passphrase.

This package requires libpcap and sqlite3.
15 changes: 15 additions & 0 deletions network/reaver/doinst.sh
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,15 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}

config etc/reaver/reaver.db.new

112 changes: 112 additions & 0 deletions network/reaver/reaver.SlackBuild
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,112 @@
#!/bin/sh

# Slackware build script for reaver.

# Copyright 2012-2013 Marco Bonetti <sid77@slackware.it>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


PRGNAM=reaver
VERSION=${VERSION:-1.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
DOCS="../docs/LICENSE ../docs/README"

# LIBDIRSUFFIX is not strictly needed, I'll leave it here for future
# improvements
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi

# sqlite3 requires -ldl in order to build against it
SLKCFLAGS="$SLKCFLAGS -ldl"

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;

# one more directory
cd src

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--build=$ARCH-slackware-linux

make
# make install is b0rked
mkdir -p $PKG/usr/sbin
install -o 0 -g 0 -m 0755 walsh $PKG/usr/sbin/walsh
install -o 0 -g 0 -m 0755 reaver $PKG/usr/sbin/reaver
# not really sure how to handle future reaver.db updates
mkdir -p $PKG/etc/reaver
install -o 0 -g 0 -m 0644 reaver.db $PKG/etc/reaver/reaver.db.new
mkdir -p $PKG/usr/man/man1
install -o 0 -g 0 -m 0644 ../docs/reaver.1.gz $PKG/usr/man/man1/reaver.1.gz

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
10 changes: 10 additions & 0 deletions network/reaver/reaver.info
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,10 @@
PRGNAM="reaver"
VERSION="1.3"
HOMEPAGE="https://code.google.com/p/reaver-wps/"
DOWNLOAD="https://reaver-wps.googlecode.com/files/reaver-1.3.tar.gz"
MD5SUM="6ec7dbb11b67e1b4a20f2ceba5f69547"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Marco Bonetti"
EMAIL="sid77@slackware.it"
APPROVED=""
19 changes: 19 additions & 0 deletions network/reaver/slack-desc
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.

|-----handy-ruler-------------------------------------------------------|
reaver: reaver (brute force attack against Wifi Protected Setup)
reaver:
reaver: Reaver implements a brute force attack against Wifi Protected Setup
reaver: (WPS) registrar PINs in order to recover WPA/WPA2 passphrases.
reaver:
reaver:
reaver:
reaver:
reaver:
reaver:
reaver:

0 comments on commit 48b23cd

Please sign in to comment.