How To: Hashcat 3.0 on a 32-bit Linux VM
#1
As with most of the problems I run into, I'm sure there's a better way.

As soon as I saw the release announcement for hashcat 3, I tried it in my nearest VM, a 32-bit The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) machine. Lacking OpenCL drivers, I got a segmentation fault. I found that Intel doesn't offer 32-bit linux OpenCL drivers, and since my VM lacked a video card, that was about it. I asked on IRC and got pretty much the same answer; use a 64-bit VM, or a physical machine with a card.

I started looking at what was offered in the repository, and POCL (Portable Computing Language library) seemed to -almost- work. It was distributed with 64-bit libraries though. After a few days on and off of fooling with dependencies, I seem to have it working. I present to you "How to run hashcat 3 on a 32-bit VM... mostly..."

http://www.nullsec.us/hashcat-3-0-on-a-32-bit-linux-vm/

Remove clang and llvm versions versions 3.6 and 3.7. I'm not sure why, but in my experimenting, pocl seemed very picky about the versions of these libraries.

Code:
apt remove clang*  
apt remove llvm*  
apt-get autoremove -y  

Add the correct versions and path clang (which is in llvm's bin folder)

Code:
apt install clang-3.8  
apt install libclang-3.8-dev  
vim .bashrc -> Add clang to path "PATH=$PATH:/usr/lib/llvm-3.8/bin"  
   Open a new terminal and test with "clang --version", should return 3.8

Install a few more dependencies

Code:
apt install libhwloc-dev  
apt install ocl-icd-dev  
apt install ocl-icd-opencl-dev  

These dependencies that should already be there, make sure though

Code:
apt install pkg-config  
apt install autotools-dev  
apt install cmake  
apt install make  
apt install libltdl3-dev  


Git pocl, make, install

Code:
git clone https://github.com/pocl/pocl  
cd pocl  
./autogen.sh
./configure
make  
make install  


Now, you'll have to use --force, or you get warnings that you are not using a native Intel OpenCL runtime

Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~/Desktop/hashcat-3.00# ./hashcat32.bin -b hashcat (v3.00-1-g67a8d97) starting in benchmark-mode...
OpenCL Platform #1: The pocl project
Device #1: WARNING: Not a native Intel OpenCL runtime, expect massive speed loss You can use --force to override this but do not post error reports if you do so
Device #1: pthread-Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz, skipped

ERROR: No devices found/left

but if you do, everything should work... mostly...
Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~/Desktop/hashcat-3.00# ./hashcat32.bin --force -b hashcat (v3.00-1-g67a8d97) starting in benchmark-mode...
OpenCL Platform #1: The pocl project
Device #1: pthread-Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz, 1513/1513 MB allocatable, 1MCU

Hashtype: MD4
Speed.Dev.#1.: 15532.5 kH/s (109.65ms)
[... SNIP ...]
Hashtype: Juniper IVE
Speed.Dev.#1.: 6841 H/s (98.83ms)
error: Explicit gep type does not match pointee type of pointer operand (Producer: 'LLVM3.8.0' Reader: 'LLVM 3.8.0')


Messages In This Thread
How To: Hashcat 3.0 on a 32-bit Linux VM - by BeanBagKing - 07-05-2016, 01:23 AM