openwall / openwall/john

AxCrypt v2.x not working?

Open
#4,292 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

Hi there, today I was testing the axcrypt2-opencl format and notice that there might be some issues.
The hash is not cracked even knowing that the correct password is in the wordlist.

Extracting the hash:

python3 axcrypt2john.py test.axx > /tmp/axcrypt.hash

Running it with John:

$ sudo ./john --wordlist=/tmp/axcrypt.txt --format=axcrypt2-opencl /tmp/axcrypt.hash
Device 1: GeForce GTX 1070
Using default input encoding: UTF-8
Loaded 1 password hash (axcrypt2-opencl, AxCrypt 2.x [PBKDF2-SHA512 AES OpenCL])
Cost 1 (iteration count) is 63200 for all loaded hashes
Press 'q' or Ctrl-C to abort, almost any other key for status
Warning: Only 1344 candidates left, minimum 1920 needed for performance.
0g 0:00:00:01 DONE (2020-08-11 10:02) 0g/s 834.7p/s 834.7c/s 834.7C/s Dev#1:46°C dfgvsdf
Session completed

I also tried to remove the filename before the hash, nothing changed.
I can assure that the correct password is in the file /tmp/axcrypt.txt used as a wordlist; I double checked and I am able to decrypt it using the normal AxCrypt GUI and works even in a PC with no AxCrypt installed but using AxCryptBruteforcer, so the account is not logged in.

Edit: I am able to crack the test.axx file; however that is the only one. Once I realised that, I tried to create multiple accounts with different passwords and I was not able to crack any of them.


Requested info:

$ sudo ./john --list=build-info
Version: 1.9.0-jumbo-1
Build: linux-gnu 64-bit x86_64 AVX2 AC OMP
SIMD: AVX2, interleaving: MD4:3 MD5:3 SHA1:1 SHA256:1 SHA512:1
CPU tests: AVX2
$JOHN is ./
Format interface version: 14
Max. number of reported tunable costs: 4
Rec file version: REC4
Charset file version: CHR3
CHARSET_MIN: 1 (0x01)
CHARSET_MAX: 255 (0xff)
CHARSET_LENGTH: 24
SALT_HASH_SIZE: 1048576
SINGLE_IDX_MAX: 2147483648
SINGLE_BUF_MAX: 4294967295
Effective limit: Number of salts vs. SingleMaxBufferSize
Max. Markov mode level: 400
Max. Markov mode password length: 30
gcc version: 7.5.0
GNU libc version: 2.27 (loaded: 2.27)
OpenCL headers version: 2.2
Crypto library: OpenSSL
OpenSSL library version: 01010100f
OpenSSL 1.1.1  11 Sep 2018
GMP library version: 6.1.2
File locking: fcntl()
fseek(): fseek
ftell(): ftell
fopen(): fopen
memmem(): System's
$ sudo ./john --list=opencl-devices
Platform #0 name: NVIDIA CUDA, version: OpenCL 1.2 CUDA 10.1.152
    Device #0 (1) name:     GeForce GTX 1070
    Device vendor:          NVIDIA Corporation
    Device type:            GPU (LE)
    Device version:         OpenCL 1.2 CUDA
    Driver version:         418.67 [recommended]
    Native vector widths:   char 1, short 1, int 1, long 1
    Preferred vector width: char 1, short 1, int 1, long 1
    Global Memory:          8119 MB
    Global Memory Cache:    240 KB
    Local Memory:           48 KB (Local)
    Constant Buffer size:   64 KB
    Max memory alloc. size: 2029 MB
    Max clock (MHz):        1797
    Profiling timer res.:   1000 ns
    Max Work Group Size:    1024
    Parallel compute cores: 15
    CUDA cores:             1920  (15 x 128)
    Speed index:            3450240
    Warp size:              32
    Max. GPRs/work-group:   65536
    Compute capability:     6.1 (sm_61)
    Kernel exec. timeout:   no
    NVML id:                0
    PCI device topology:    01:00.0
    PCI lanes:              1/16
    Fan speed:              79%
    Temperature:            34°C
    Utilization:            22%

    Device #1 (2) name:     GeForce GTX 1070
    Device vendor:          NVIDIA Corporation
    Device type:            GPU (LE)
    Device version:         OpenCL 1.2 CUDA
    Driver version:         418.67 [recommended]
    Native vector widths:   char 1, short 1, int 1, long 1
    Preferred vector width: char 1, short 1, int 1, long 1
    Global Memory:          8119 MB
    Global Memory Cache:    240 KB
    Local Memory:           48 KB (Local)
    Constant Buffer size:   64 KB
    Max memory alloc. size: 2029 MB
    Max clock (MHz):        1784
    Profiling timer res.:   1000 ns
    Max Work Group Size:    1024
    Parallel compute cores: 15
    CUDA cores:             1920  (15 x 128)
    Speed index:            3425280
    Warp size:              32
    Max. GPRs/work-group:   65536
    Compute capability:     6.1 (sm_61)
    Kernel exec. timeout:   no
    NVML id:                1
    PCI device topology:    02:00.0
    PCI lanes:              1/16
    Fan speed:              65%
    Temperature:            30°C
    Utilization:            4%

    Device #2 (3) name:     GeForce GTX 1070
    Device vendor:          NVIDIA Corporation
    Device type:            GPU (LE)
    Device version:         OpenCL 1.2 CUDA
    Driver version:         418.67 [recommended]
    Native vector widths:   char 1, short 1, int 1, long 1
    Preferred vector width: char 1, short 1, int 1, long 1
    Global Memory:          8119 MB
    Global Memory Cache:    240 KB
    Local Memory:           48 KB (Local)
    Constant Buffer size:   64 KB
    Max memory alloc. size: 2029 MB
    Max clock (MHz):        1708
    Profiling timer res.:   1000 ns
    Max Work Group Size:    1024
    Parallel compute cores: 15
    CUDA cores:             1920  (15 x 128)
    Speed index:            3279360
    Warp size:              32
    Max. GPRs/work-group:   65536
    Compute capability:     6.1 (sm_61)
    Kernel exec. timeout:   no
    NVML id:                2
    PCI device topology:    04:00.0
    PCI lanes:              1/16
    Fan speed:              64%
    Temperature:            30°C
    Utilization:            0%

    Device #3 (4) name:     GeForce GTX 1070
    Device vendor:          NVIDIA Corporation
    Device type:            GPU (LE)
    Device version:         OpenCL 1.2 CUDA
    Driver version:         418.67 [recommended]
    Native vector widths:   char 1, short 1, int 1, long 1
    Preferred vector width: char 1, short 1, int 1, long 1
    Global Memory:          8119 MB
    Global Memory Cache:    240 KB
    Local Memory:           48 KB (Local)
    Constant Buffer size:   64 KB
    Max memory alloc. size: 2029 MB
    Max clock (MHz):        1708
    Profiling timer res.:   1000 ns
    Max Work Group Size:    1024
    Parallel compute cores: 15
    CUDA cores:             1920  (15 x 128)
    Speed index:            3279360
    Warp size:              32
    Max. GPRs/work-group:   65536
    Compute capability:     6.1 (sm_61)
    Kernel exec. timeout:   no
    NVML id:                3
    PCI device topology:    06:00.0
    PCI lanes:              1/16
    Fan speed:              76%
    Temperature:            31°C
    Utilization:            2%

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with axcrypt2john.py and the axcrypt2-opencl format invoked by ./john, comparing extraction and cracking behavior for test.axx and account-generated files. Reproduce the reported wordlist case using the supplied build and OpenCL details; done means passwords known to be correct are consistently accepted for the affected AxCrypt 2.x files.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, python
Domain
security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.