summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-wireless/wepattack
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-wireless/wepattack')
-rw-r--r--net-wireless/wepattack/Manifest1
-rw-r--r--net-wireless/wepattack/files/wepattack-0.1.3-filter-mac-address.patch186
-rw-r--r--net-wireless/wepattack/files/wepattack-0.1.3-missed-string.h-warnings-fix.patch30
-rw-r--r--net-wireless/wepattack/files/wepattack.conf9
-rw-r--r--net-wireless/wepattack/metadata.xml18
-rw-r--r--net-wireless/wepattack/wepattack-0.1.3-r3.ebuild57
6 files changed, 301 insertions, 0 deletions
diff --git a/net-wireless/wepattack/Manifest b/net-wireless/wepattack/Manifest
new file mode 100644
index 000000000000..42a0a5551098
--- /dev/null
+++ b/net-wireless/wepattack/Manifest
@@ -0,0 +1 @@
+DIST WepAttack-0.1.3.tar.gz 25063 SHA256 4a251df5b68eb2724491470cddda699e8fabdfce3c4778a722fb9299e4dc21a2 SHA512 fe8d9843613fc29b7802f699311cb67fe3546a17a279ebc2e150cce155e726270dc937b1c941d9e9287b813febf171fe56053f6b010c4f2021e45e572f91fdf4 WHIRLPOOL fcbbf595fc35e3f6fcdbd8e5a5bc334d40e1603fd6c40bd008440617c092b80cf1d24189c5459145fc87b2e8b88c8b352ff6688546375e7b67118796dea5d920
diff --git a/net-wireless/wepattack/files/wepattack-0.1.3-filter-mac-address.patch b/net-wireless/wepattack/files/wepattack-0.1.3-filter-mac-address.patch
new file mode 100644
index 000000000000..63ba5f3473bb
--- /dev/null
+++ b/net-wireless/wepattack/files/wepattack-0.1.3-filter-mac-address.patch
@@ -0,0 +1,186 @@
+--- a/src/config.h
++++ b/src/config.h
+@@ -37,7 +37,7 @@
+ #define WEPKEYSTORE (WEPKEYSIZE * WEPKEYS)
+
+ #define DEBUG 0
+-#define VERSION "0.1.3"
++#define VERSION "0.1.3 (Gentoo patched)"
+
+
+ #endif
+--- a/src/log.c
++++ b/src/log.c
+@@ -73,7 +73,7 @@
+ fprintf(fp, "Cracking started: %s", ctime(&start_time));
+ fprintf(fp, "%s\t%s\n", word, in);
+
+- fprintf(fp, "\nBssid\tKeyNo\tWepKey\tASCII\tEncryption\tElapsed Time");
++ fprintf(fp, "\nBssid\t\t\tKeyNo\tWepKey\t\tASCII\tEncryption\tElapsed Time");
+ fclose(fp);
+ }
+
+@@ -120,7 +120,7 @@
+ fprintf(fp, "\n");
+ print_hex_array(fp, list->frame.bssid, 6);
+ fprintf(fp, "\t%d", list->frame.key);
+- fprintf(fp, "\tnot cracked\t\t%d sec",
++ fprintf(fp, "\tnot cracked\t\t\t\t%d sec",
+ (int)difftime(now, start_time));
+ }
+ list = list->next;
+--- a/src/misc.c
++++ b/src/misc.c
+@@ -40,10 +40,11 @@
+ fprintf(stdout,"WEPATTACK by Dominik Blunk and Alain ");
+ fprintf(stdout,"Girardet - Version %s\n", VERSION);
+ fprintf(stdout,"\nusage: wepattack -f dumpfile [-w wordfile]");
+- fprintf(stdout, " [-m mode] [-n network]\n");
++ fprintf(stdout, " [-m mode] [-b mac_address] [-n network]\n");
+ fprintf(stdout,"-f dumpfile \tnetwork dumpfile to read\n");
+ fprintf(stdout,"\t\t(in PCAP format as TCPDUMP or ETHEREAL uses)\n");
+ fprintf(stdout,"-w wordlist \twordlist to use (default: stdin)\n");
++ fprintf(stdout,"-b mac_address \tfilter the mac address from the dump file\n");
+ fprintf(stdout,"-m mode \trun wepattack in diffente modes (default: all)\n");
+ fprintf(stdout,"\t\tvalues: 64, 128, n64, n128\n");
+ fprintf(stdout,"-n network \tnetwork number to attack\n");
+--- a/src/wepattack.c
++++ b/src/wepattack.c
+@@ -4,6 +4,8 @@
+ * Author: Alain Girardet/Dominik Blunk
+ * Last Modified: 2002-10-24
+ *
++* Send me any suggestions about the patch to kirano_1@hotmail.com
++*
+ * Description: Read guessed passwords from stdin and applies RC4
+ * on sniffed encrypted 802.11 DATA packets
+ *
+@@ -57,6 +59,11 @@
+ // default mode (all modes sequential)
+ static unsigned char use_modes = 0x01;
+
++// to check bssid
++char* BSSID=NULL;
++wlan_packet_list* bssids_list=NULL;
++int is_bssid_set = 0;
++
+ void clean_up();
+
+ //
+@@ -64,7 +71,11 @@
+ //
+ void load_packets(char *infile, int network) {
+
+- int network_count = 0;
++ int network_count = 0;
++ wlan_packet_list* aux;
++ wlan_packet_list* aux_2;
++ wlan_packet_list* aux3;
++ char bssid_aux[18],bssid_aux2[13],bssid_aux3[18],bssid_aux4[13];
+
+ // load networks from file
+ list_packet_to_crack = get_packets(infile);
+@@ -77,17 +88,57 @@
+
+ current_packet = list_packet_to_crack;
+
+- // list all available networks
+- printf("\n\nFounded BSSID:");
+- while (current_packet->next != NULL) {
+- network_count++;
+- printf("\n%d) ", network_count);
+- print_hex_array(stdout, current_packet->frame.bssid, 6);
+- printf("/ Key %d", current_packet->frame.key);
+- current_packet = current_packet->next;
++ //Make another list with provided bssid
++ if (is_bssid_set){
++ for (aux=current_packet; aux!=NULL;aux=aux->next){
++ sprintf(bssid_aux,"%.2X:%.2X:%.2X:%.2X:%.2X:%.2X",aux->frame.bssid[0],aux->frame.bssid[1],aux->frame.bssid[2],aux->frame.bssid[3],aux->frame.bssid[4],aux->frame.bssid[5]);
++ sprintf(bssid_aux2,"%.2X%.2X%.2X%.2X%.2X%.2X",aux->frame.bssid[0],aux->frame.bssid[1],aux->frame.bssid[2],aux->frame.bssid[3],aux->frame.bssid[4],aux->frame.bssid[5]);
++ sprintf(bssid_aux3,"%.2x:%.2x:%.2x:%.2x:%.2x:%.2x",aux->frame.bssid[0],aux->frame.bssid[1],aux->frame.bssid[2],aux->frame.bssid[3],aux->frame.bssid[4],aux->frame.bssid[5]);
++ sprintf(bssid_aux4,"%.2x%.2x%.2x%.2x%.2x%.2x",aux->frame.bssid[0],aux->frame.bssid[1],aux->frame.bssid[2],aux->frame.bssid[3],aux->frame.bssid[4],aux->frame.bssid[5]);
++ if ((strncmp(bssid_aux,BSSID,17) == 0) || (strncmp(bssid_aux2,BSSID,12) == 0) || (strncmp(bssid_aux3,BSSID,17) == 0) || (strncmp(bssid_aux4,BSSID,12) == 0)){
++ aux_2 = malloc(sizeof(wlan_packet_list));
++ memcpy(&aux_2->frame.frameControl, aux->frame.frameControl, 2);
++ memcpy(&aux_2->frame.duration, aux->frame.duration, 2);
++ memcpy(&aux_2->frame.srcAddress, aux->frame.srcAddress, 6);
++ memcpy(&aux_2->frame.dstAddress, aux->frame.dstAddress, 6);
++ memcpy(&aux_2->frame.bssid, aux->frame.bssid, 6);
++ if(aux->frame.address4 > 0) {
++ memcpy(&aux_2->frame.address4, aux->frame.address4, 6);
++ }
++ memcpy(&aux_2->frame.sequenceControl, aux->frame.sequenceControl, 2);
++ memcpy(&aux_2->frame.iv, &aux->frame.iv, 3);
++ aux_2->frame.key=aux->frame.key;
++ memcpy(&aux_2->frame.payload, aux->frame.payload, (aux->framesize)- (aux->frame.limits_payload));
++ if (bssids_list == NULL){
++ aux3 = malloc(sizeof(wlan_packet_list));
++ aux3->next = NULL;
++ bssids_list = aux3;
++ }
++ aux_2->framesize = aux->framesize;
++ aux_2->next = bssids_list;
++ bssids_list = aux_2;
++ }
++ }
++ if (bssids_list != NULL){
++ //we must free the old list
++ delete_list(list_packet_to_crack);
++ list_packet_to_crack = bssids_list;
++ current_packet = list_packet_to_crack;
++ }
++ else printf("\n\nProvided BSSID not found. Cracking all networks");
+ }
++
++ // list all available networks
++ printf("\n\nFounded BSSID:");
++ while (current_packet->next != NULL) {
++ network_count++;
++ printf("\n%d) ", network_count);
++ print_hex_array(stdout, current_packet->frame.bssid, 6);
++ printf("/ Key %d", current_packet->frame.key);
++ current_packet = current_packet->next;
++ }
+
+- if (network > network_count)
++ if (network >= network_count)
+ network = 0;
+
+ // if only one should be attacked, remove the others from the list
+@@ -220,11 +272,15 @@
+
+ // process command line options
+ // program will terminate, if invalid options are passed
+- while((op = getopt(argc, argv, "n:m:f:w:?")) != -1) {
++ while((op = getopt(argc, argv, "n:b:m:f:w:?")) != -1) {
+ switch(op) {
+ case 'n':
+ network_arg = atoi(optarg);
+ break;
++ case 'b':
++ BSSID = optarg;
++ is_bssid_set = 1;
++ break;
+ // arg for packet file to read from
+ case 'f':
+ packet_file = optarg;
+--- a/src/wepattack.h
++++ b/src/wepattack.h
+@@ -38,6 +38,7 @@
+ unsigned char iv[3];
+ unsigned char key;
+ unsigned char payload[2400];
++ int limits_payload;
+ };
+
+ /*
+--- a/src/wepfilter.c
++++ b/src/wepfilter.c
+@@ -104,6 +103,7 @@
+ memcpy(&newframe->frame.key, data+limits.key, 1);
+ newframe->frame.key = newframe->frame.key >> 6;
+ memcpy(&newframe->frame.payload, data+limits.payload, length-limits.payload);
++ newframe->frame.limits_payload = limits.payload;
+ newframe->framesize = length;
+ newframe->next = *head;
+ *head = newframe;
diff --git a/net-wireless/wepattack/files/wepattack-0.1.3-missed-string.h-warnings-fix.patch b/net-wireless/wepattack/files/wepattack-0.1.3-missed-string.h-warnings-fix.patch
new file mode 100644
index 000000000000..b46220d0eff5
--- /dev/null
+++ b/net-wireless/wepattack/files/wepattack-0.1.3-missed-string.h-warnings-fix.patch
@@ -0,0 +1,30 @@
+--- a/src/modes.c
++++ b/src/modes.c
+@@ -20,6 +20,7 @@
+
+ #include <sys/types.h>
+ #include <stdio.h>
++#include <string.h>
+ #include "modes.h"
+ #include "rc4.h"
+ #include "wlan/wlan_compat.h"
+--- a/src/wepattack.c
++++ b/src/wepattack.c
+@@ -32,6 +32,7 @@
+ #include <zlib.h>
+ #include <math.h>
+ #include <signal.h>
++#include <string.h>
+ #include "wepattack.h"
+ #include "wepfilter.h"
+ #include "log.h"
+--- a/src/verify.c
++++ b/src/verify.c
+@@ -19,6 +19,7 @@
+
+ #include <stdio.h>
+ #include <zlib.h>
++#include <string.h> /* memcmp() */
+
+ int verify_crc32(unsigned char *data, int length, unsigned long* crc) {
+
diff --git a/net-wireless/wepattack/files/wepattack.conf b/net-wireless/wepattack/files/wepattack.conf
new file mode 100644
index 000000000000..2eb627da06c5
--- /dev/null
+++ b/net-wireless/wepattack/files/wepattack.conf
@@ -0,0 +1,9 @@
+# /etc/wepattack.conf
+#
+# Configuration for WEPATTACK
+# Dominik Blunk and Alain Girardet and Christoph Brill
+# 08-06-2005
+#
+
+JOHNDIR=/usr/sbin
+WORDLIST=/usr/share/john/password.lst
diff --git a/net-wireless/wepattack/metadata.xml b/net-wireless/wepattack/metadata.xml
new file mode 100644
index 000000000000..7d7e9c4af0ae
--- /dev/null
+++ b/net-wireless/wepattack/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>netmon</herd>
+ <longdescription lang="en">
+ WepAttack is a WLAN open source Linux tool for breaking 802.11 WEP keys.
+ This tool is based on an active dictionary attack that tests millions of
+ words to find the right key. Only one packet is required to start an
+ attack.
+ </longdescription>
+ <use>
+ <flag name="john">Build with <pkg>app-crypt/johntheripper</pkg>
+ support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">wepattack</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-wireless/wepattack/wepattack-0.1.3-r3.ebuild b/net-wireless/wepattack/wepattack-0.1.3-r3.ebuild
new file mode 100644
index 000000000000..2e38482cb4fb
--- /dev/null
+++ b/net-wireless/wepattack/wepattack-0.1.3-r3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+MY_P="WepAttack-${PV}"
+DESCRIPTION="WLAN tool for breaking 802.11 WEP keys"
+HOMEPAGE="http://wepattack.sourceforge.net/"
+SRC_URI="mirror://sourceforge/wepattack/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="john"
+
+DEPEND="
+ dev-libs/openssl
+ net-libs/libpcap
+ sys-libs/zlib
+"
+
+RDEPEND="${DEPEND}
+ john? ( app-crypt/johntheripper )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-filter-mac-address.patch
+ epatch "${FILESDIR}"/${P}-missed-string.h-warnings-fix.patch
+ chmod +x src/wlan
+ sed -i \
+ -e "/^CFLAGS=/s:=:=${CFLAGS} :" \
+ -e 's:-fno-for-scope::g' \
+ -e "/^CC=/s:gcc:$(tc-getCC):" \
+ -e "/^LD=/s:gcc:$(tc-getCC):" \
+ -e 's:log.o\\:log.o \\:' \
+ src/Makefile || die
+ sed -i \
+ -e "s/wordfile:/-wordlist=/" \
+ run/wepattack_word || die
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_install() {
+ dobin src/wepattack
+ if use john; then
+ dosbin run/wepattack_{inc,word}
+ insinto /etc
+ doins "${FILESDIR}"/wepattack.conf
+ fi
+ dodoc README
+}