Pyrit setup
Pyrit is a tool used to pre-compute all possible SSID:PASSWORD combinations to generate a list of PMK tokens.
Pre-requisite
Pyrit version 0.3.0 and up depend on Scapy2 (package inspection) and SQLAlchemy 0.5.6 (database interface).
Scapy: On a Debian bases distribution, get the package using aptitude. Backtrack 4 final include the Scapy2.
sudo aptitude update sudo aptitude install python-scapy scapy2
Install
Main App
Download the latest pyrit from pyrit.googlecode.com.
wget http://pyrit.googlecode.com/files/pyrit-0.3.0.tar.gz
Extract, build and install the package.
tar zxvf pyrit-0.3.0.tar.gz cd pyrit-0.3.0 python setup.py build sudo python setup.py install
If errors like this occurs:
cpyrit/_cpyrit_cpu.c:21:20: error: Python.h: No such file or directory
On Ubuntu, try to install python2.6-dev along with the other dev packages.
Test to verify the core modules work.
pyrit eval pyrit list_cores pyrit -e linksys create_essid
If these operations execute without error, everything should be set.
GPU Cores
Now, to install the GPU accelerated modules.
OpenCL (Nvidia/AMD/Cell)
OpenCL support requires the OpenCL SDK; Nvidia OpenCL SDK or ATI Stream SDK.
But before installing the SDK, the (proprietary) graphics drivers for the video card has to be installed and set-up beforehand. This is normally a procedure covered on great detail in the distro wiki or help forum, as it's something most Linux users need to do to get GPU acceleration up and running (games). For Ubuntu, see Check the ATI Binary Driver Howto and cchtml Installation Guide.
Here is a summary, for ATI Catalyst 10.3 on a 64-bit setup:
Install binary drivers under System->Administration->Hardware Drivers Enable the Source Code repository from the Synaptic Package Manger wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-10-3-x86.x86_64.run sudo apt-get update sudo apt-get install libqtgui4 sudo sh ./ati-driver-installer-10-3-x86.x86_64.run --buildpkg Ubuntu/karmic # will install dependencies and build packages sudo apt-get install ia32-libs # only for 64-bit systems sudo dpkg -i *.deb In case of broken packages, open Synaptic Package Manager and click on Fix Broken Packages from Edit menu sudo aticonfig --initial # generates /etc/X11/xorg.conf fglrxinfo # when logged into X window
To install the ATI SDK, follow these steps to set up the paths (there are no packages or anything to compile).
Download the ATI SDK package from the official ATI Stream SDK page.
wget http://download2-developer.amd.com/amd/Stream20GA/ati-stream-sdk-v2.01-lnx64.tgz tar zxvf ati-stream-sdk-v2.01-lnx64.tgz mv ati-stream-sdk-v2.01-lnx64 ~/ati-stream-sdk
As per the installation notes, set the paths.
pico ~/.bashrc paste the following lines and correct the username/64-bit path: export ATISTREAMSDKROOT=/home/ivc/ati-stream-sdk export ATISTREAMSDKSAMPLESROOT=/home/ivc/ati-stream-sdk/samples export LD_LIBRARY_PATH=$ATISTREAMSDKROOT/lib/x86_64:$LD_LIBRARY_PATH
The cpyrit setup.ph script doesn't know where to find the cl.h header files and will report this error:
_cpyrit_opencl.c:23:19: error: CL/cl.h: No such file or directory
Edit setup.py and at the top add the path for /home/ivc/ati-stream-sdk/include to the list:
for path in ('/usr/local/opencl/OpenCL/common/inc', \ '/opt/opencl/OpenCL/common/inc', \ '/home/ivc/ati-stream-sdk/include', \ '/usr/local/opencl/include'):
I had problems with the build and ld reporting it couldn't find the OpenCL library:
/usr/bin/ld: cannot find -lOpenCL collect2: ld returned 1 exit status
A quick workaround was to create a symblink of libOpenCL.so to /lib64:
sudo ln -s /home/ivc/ati-stream-sdk/lib/x86_64/libOpenCL.so /lib64/
And finally, to build the cpyrit OpenCL module:
wget http://pyrit.googlecode.com/files/cpyrit-opencl-0.3.0.tar.gz tar zxvf cpyrit-opencl-0.3.0 cd cpyrit-opencl-0.3.0 python setup.py build sudo python setup.py install
Test to verify the new module is ready.
pyrit list_cores pyrit benchmark
The core list should look like this:
Core list and benchmark results from a 2x ATI 5850 graphics cards and a 4x core i5 processor setup:
Pyrit 0.3.0 (C) 2008-2010 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ Running benchmark (70257.3 PMKs/s)... | Computed 74064.44 PMKs/s total. #1: 'OpenCL-Device 'Cypress: 33964.8 PMKs/s (RTT 1.7) #2: 'OpenCL-Device 'Cypress: 34079.1 PMKs/s (RTT 1.8) #3: 'CPU-Core (SSE2)': 722.9 PMKs/s (RTT 2.3) #4: 'CPU-Core (SSE2)': 723.5 PMKs/s (RTT 2.3) #5: 'Network-Clients': 0.0 PMKs/s (RTT 0.0)
Nvidia CUDA
This module install in a similar way. I have not tested this method. Make sure the Nvidia graphics drivers work with the graphics card. Next install the CUDA-Toolkit to get the required Nvidia compiler.
To install the cpyrit CUDA module:
wget http://pyrit.googlecode.com/files/cpyrit-cuda-0.3.0.tar.gz tar zxvf cpyrit-cuda-0.3.0 python setup.py build sudo python setup.py install
Test to verify the new module is ready.
pyrit list_cores
Database Setup
The default file container is a blobspace on the local filesystem, but with the -u parameter an external database can be used for storage.
To begin, the current SQLAlchemy version, 0.4.5, is too old to be used with pyrit. Version 0.5.6 or later is required for pyrit 0.3.0.
Get the latest stable release, extract, build and install.
wget http://downloads.sourceforge.net/project/sqlalchemy/sqlalchemy/0.5.8/SQLAlchemy-0.5.8.tar.gz tar zxvf SQLAlchemy-0.5.8.tar.gz cd SQLAlchemy-0.5.8 sudo aptitude install python-setuptools sudo easy_install SQLAlchemy
Next, to use a MySQL database, install the python-mysqldb package.
sudo aptitude install python-mysqldb
Or else an error like this will let you know:
return __import__('MySQLdb') ImportError: No module named MySQLdb