Bug#642934: [PATCH] Add GnuTLS support to Aircrack-ng

2012-06-10 Thread intrigeri
Carlos Alberto Lopez Perez wrote (10 Jun 2012 22:48:00 GMT) :
> After a quick chat with Thomas on the IRC, he told me he is fine with
> Debian including this GnuTLS patch for aircrack-ng.

this is good news.

> I will be publishing the package to debian mentors this week (ASAP). I
> will need a sponsor for the package.

please keep me in the loop.



-- 
To UNSUBSCRIBE, email to debian-wnpp-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/85ipeysida@boum.org



Bug#642934: [PATCH] Add GnuTLS support to Aircrack-ng

2012-06-10 Thread Carlos Alberto Lopez Perez
On 08/06/12 18:35, intrigeri wrote:
> Hi,
> 
> Thomas d'Otreppe wrote (08 Jun 2012 13:43:28 GMT) :
>> Not yet as I'm solving another problem:
>> http://aircrack-ng.blogspot.com/2012/05/forum-virus-details.html
> 
> Good luck with that!
> 
>> I just need to test it but it looks good so I don't think it will
>> need any modifications. As soon as trac/svn is up, I'll take care
>> of this.
> 
> Thanks for answering. Any kind of ETA?
> 
> (Debian Wheezy should be frozen in the second part of June, so I'm
> trying to see what's blocking the inclusion of aircrack-ng in there.
> It'd be very sad to see Wheezy released without aircrack-ng, after
> all the awesome work that was put in it by you and others.)
> 
> 
> 

After a quick chat with Thomas on the IRC, he told me he is fine with
Debian including this GnuTLS patch for aircrack-ng.

So I have backported it to aircrack-ng 1.1 and I have the debian package
of aircrack-ng 1.1 with the GnuTLS patch as also a few other patches
that I cherry-picked from the development branch almost ready.

I will be publishing the package to debian mentors this week (ASAP). I
will need a sponsor for the package.

Thanks! Best regards!

-- 
~~~
Carlos Alberto Lopez Perez   http://neutrino.es
Igalia - Free Software Engineeringhttp://www.igalia.com
~~~



signature.asc
Description: OpenPGP digital signature


Bug#642934: [PATCH] Add GnuTLS support to Aircrack-ng

2012-06-08 Thread intrigeri
Hi,

Thomas d'Otreppe wrote (08 Jun 2012 13:43:28 GMT) :
> Not yet as I'm solving another problem:
> http://aircrack-ng.blogspot.com/2012/05/forum-virus-details.html

Good luck with that!

> I just need to test it but it looks good so I don't think it will
> need any modifications. As soon as trac/svn is up, I'll take care
> of this.

Thanks for answering. Any kind of ETA?

(Debian Wheezy should be frozen in the second part of June, so I'm
trying to see what's blocking the inclusion of aircrack-ng in there.
It'd be very sad to see Wheezy released without aircrack-ng, after
all the awesome work that was put in it by you and others.)



-- 
To UNSUBSCRIBE, email to debian-wnpp-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/85vcj17oe1@boum.org



Bug#642934: [PATCH] Add GnuTLS support to Aircrack-ng

2012-06-08 Thread Thomas d'Otreppe

Hi,

Not yet as I'm solving another problem:  
http://aircrack-ng.blogspot.com/2012/05/forum-virus-details.html


I just need to test it but it looks good so I don't think it will need  
any modifications. As soon as trac/svn is up, I'll take care of this.


Best regards,

Thomas


intrigeri > wrote :


Hi,

Carlos Alberto Lopez Perez wrote (01 May 2012 05:07:45 GMT) :

I have translated the OpenSSL functions used on Aircrack-ng to the
GnuTLS counterparts.

[...]

I am attaching here the patch (is on top of r2153)


Did anything happen on this front since then?

Cheers,
--
  intrigeri
  | GnuPG key @ https://gaffer.ptitcanardnoir.org/intrigeri/intrigeri.asc
  | OTR fingerprint @ https://gaffer.ptitcanardnoir.org/intrigeri/otr.asc







--
To UNSUBSCRIBE, email to debian-wnpp-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120608154328.20412lpm2lajr...@ssl0.ovh.net



Bug#642934: [PATCH] Add GnuTLS support to Aircrack-ng

2012-06-07 Thread intrigeri
Hi,

Carlos Alberto Lopez Perez wrote (01 May 2012 05:07:45 GMT) :
> I have translated the OpenSSL functions used on Aircrack-ng to the
> GnuTLS counterparts.
[...]
> I am attaching here the patch (is on top of r2153)

Did anything happen on this front since then?

Cheers,
--
  intrigeri
  | GnuPG key @ https://gaffer.ptitcanardnoir.org/intrigeri/intrigeri.asc
  | OTR fingerprint @ https://gaffer.ptitcanardnoir.org/intrigeri/otr.asc



-- 
To UNSUBSCRIBE, email to debian-wnpp-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/85d35abmtk@boum.org



Bug#642934: [PATCH] Add GnuTLS support to Aircrack-ng

2012-04-30 Thread Carlos Alberto Lopez Perez
Hello,


Since the issue with the OpenSSL license seems to have reached a
dead-end because the crc_chop_tbl table is copyrighted as GPL and the
author is impossible to contact [1]...


I have translated the OpenSSL functions used on Aircrack-ng to the
GnuTLS counterparts.


I did this using macro definitions. Therefore there was not needed any
change on the actual code of Aircrack-ng apart from a few lines to
include the wrapper header and also to make GnuTLS thread-safe on
aircrack-ng, airodump-ng and airbase-ng.


I am attaching here the patch (is on top of r2153)


I hope you will find it OK to be included on Aircrack-ng.


All tests that I did were successful. However further tests should be done.


Anyway, if you accept the patch, this will be the default on Debian
(Aircrack-ng built with GnuTLS), so I guess that Debian users will take
care of testing this in deep.


About speed, for example, breaking a WPA key, with OpenSSL I get ~ 2700
k/s and with GnuTLS ~ 2400 k/s. So, seems that OpenSSL performs better
than GnuTLS, but don't seems to be a big deal (+12%).


Best regards!
-

[1] http://trac.aircrack-ng.org/ticket/953

-- 
~~~
Carlos Alberto Lopez Perez   http://neutrino.es
Igalia - Free Software Engineeringhttp://www.igalia.com
~~~
From 150cd9bdf3eed81ac601d17662cc2835834d79d5 Mon Sep 17 00:00:00 2001
From: Carlos Alberto Lopez Perez 
Date: Tue, 1 May 2012 06:24:59 +0200
Subject: [PATCH] Add support for GnuTLS

  * It adds a wrapper that translates the OpenSSL primitives to the
GnuTLS counterparts using macro definitions.

  * Compile with:
make gnutls=true

  * The following tests done with this patch were successful:
* Cracking WEP key with Koreak attack
* Cracking WEP key with PTW attack
* Cracking WPA key (using a dictionary)
* Aireplay-ng attacks: -1, -3, -4 (chopchop), -5
* Packetforge ARP generation and injection (based on xor file
  obtained with aireplay-ng chopchop attack)

  * This patch is on top of r2153
---
 INSTALLING   |7 +++-
 src/Makefile |8 +++-
 src/airbase-ng.c |9 +
 src/aircrack-ng.c|9 +
 src/airodump-ng.c|9 +
 src/crypto.h |4 ++
 src/gnutls-openssl-wrapper.h |   76 ++
 7 files changed, 119 insertions(+), 3 deletions(-)
 create mode 100644 src/gnutls-openssl-wrapper.h

diff --git a/INSTALLING b/INSTALLING
index 5186dda..1440030 100644
--- a/INSTALLING
+++ b/INSTALLING
@@ -1,6 +1,6 @@
 === Requirements ===
 
- * OpenSSL development package
+ * OpenSSL development package or GnuTLS development package
  * If you want to use airolib-ng and '-r' option in aircrack-ng,
SQLite development package >= 3.3.17 (3.6.X version or better is recommended):
-  libsqlite3-devel
@@ -43,11 +43,16 @@ to compile and install the suite:
 Note: Experimental. Each script has its own dependences.
 Note: It's only required in install phase.
 
+* gnutls:   Use GnuTLS crypto library instead of the default OpenSSL.
+
 Example:
 
   * Compiling:
 make sqlite=true unstable=true
 
+  * Compiling with GnuTLS
+make gnutls=true
+
   * Installing:
 make sqlite=true unstable=true install
 
diff --git a/src/Makefile b/src/Makefile
index 9bd87de..984debc 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -104,8 +104,12 @@ ifeq ($(OSNAME), cygwin)
 LIBS		+= -liphlpapi -lsetupapi -luuid
 endif
 LIBOSD		= $(OSD)/lib$(OSD).a
-
-LIBSSL		= -lssl -lcrypto
+ifeq ($(gnutls), true)
+	LIBSSL		= -lgnutls -lgcrypt
+	CFLAGS 		+= -DUSE_GNUTLS
+else
+	LIBSSL		= -lssl -lcrypto
+endif
 LIBSQL		=
 ifeq ($(SQLITE), true)
 	LIBSQL		= -L/usr/local/lib -lsqlite3
diff --git a/src/airbase-ng.c b/src/airbase-ng.c
index 8bbb73e..2470fe9 100644
--- a/src/airbase-ng.c
+++ b/src/airbase-ng.c
@@ -68,6 +68,10 @@
 #include "osdep/osdep.h"
 #include "osdep/common.h"
 
+#ifdef USE_GNUTLS
+	GCRY_THREAD_OPTION_PTHREAD_IMPL;
+#endif
+
 static struct wif *_wi_in, *_wi_out;
 
 #define CRYPT_NONE 0
@@ -3880,6 +3884,11 @@ int main( int argc, char *argv[] )
 rCF = (pCF_t) malloc(sizeof(struct CF_packet));
 memset(rCF, 0, sizeof(struct CF_packet));
 
+#ifdef USE_GNUTLS
+// Register callback functions to ensure proper locking in the sensitive parts of libgcrypt.
+gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+gnutls_global_init();
+#endif
 pthread_mutex_init( &mx_cf, NULL );
 pthread_mutex_init( &mx_cap, NULL );
 
diff --git a/src/aircrack-ng.c b/src/aircrack-ng.c
index b06af6d..6c33224 100644
--- a/src/aircrack-ng.c
+++ b/src/aircrack-ng.c
@@ -76,6 +76,10 @@
 sqlite3 *db;
 #endif
 
+#ifdef USE_GNUTLS
+	GCRY_THREAD_OPTION_PTHREAD_IMPL;
+#endif
+
 extern int get_nb_cpus();
 
 static uchar ZERO[32] =