why does mask ?d work but mask ?a not?
#1
Hi all, I do not understand the ?a correctly I guess.
Because when I type:

hashcat.exe -a3 -m110 -O --hex-salt 04d661b3e8f4e1ce8fd8e64188314c8cb2463953:d7e72797 ?a?a?a?a?a

it will not recover "Pas33", but when I type:

hashcat.exe -a3 -m110 -O --hex-salt 04d661b3e8f4e1ce8fd8e64188314c8cb2463953:d7e72797 ?a?a?a?d?a
or:
hashcat.exe -a3 -m110 -O --hex-salt 04d661b3e8f4e1ce8fd8e64188314c8cb2463953:d7e72797 ?u?l?l?d?d

it recovers "Pas33"


What did I do wrong (using hashcat-6.1.1 in win10-64)?
Thanks in advance

Klong
Reply
#2
what hardware do you have ? what driver version do you use ?
output of hashcat -I and maybe clinfo.exe would also be great.

Do you get any errors ? You are not using --force, right ?

all commands work for me. so I see no problem on my systems with the masks/commands

PS: do not post any hashes in this forum or you will get banned (https://hashcat.net/forum/announcement-2.html)
Reply
#3
First of all, Sorry for the hash!

I did not use --force, the commandlines I wrote above are complete.
Here is the result of hashcat.exe -I

OpenCL Info:
============

OpenCL Platform ID #1
  Vendor..: Intel(R) Corporation
  Name....: Intel(R) OpenCL
  Version.: OpenCL 1.2

  Backend Device ID #1
    Type...........: CPU
    Vendor.ID......: 8
    Vendor.........: Intel(R) Corporation
    Name...........: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
    Version........: OpenCL 1.2 (Build 76427)
    Processor(s)...: 4
    Clock..........: 2600
    Memory.Total...: 3791 MB (limited to 947 MB allocatable in one block)
    Memory.Free....: 3727 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 3.0.1.10891

  Backend Device ID #2
    Type...........: GPU
    Vendor.ID......: 8
    Vendor.........: Intel(R) Corporation
    Name...........: Intel(R) HD Graphics 4000
    Version........: OpenCL 1.2
    Processor(s)...: 16
    Clock..........: 1200
    Memory.Total...: 1400 MB (limited to 350 MB allocatable in one block)
    Memory.Free....: 1336 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 10.18.10.5100

the output of clinfo.exe is rather long:
Number of platforms                              1
  Platform Name                                  Intel(R) OpenCL
  Platform Vendor                                Intel(R) Corporation
  Platform Version                                OpenCL 1.2
  Platform Profile                                FULL_PROFILE
  Platform Extensions                            cl_intel_dx9_media_sharing cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics
  Platform Extensions function suffix            INTEL

  Platform Name                                  Intel(R) OpenCL
Number of devices                                2
  Device Name                                            Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
  Device Vendor                                  Intel(R) Corporation
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 1.2 (Build 76427)
  Driver Version                                  3.0.1.10891
  Device OpenCL C Version                        OpenCL C 1.2
  Device Type                                    CPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Max compute units                              4
  Max clock frequency                            2600MHz
  Device Partition                                (core, cl_ext_device_fission)
    Max number of sub-devices                    4
    Supported partition types                    by counts, equally, by names (Intel)
    Supported affinity domains                    (n/a)
    Supported partition types (ext)              by counts, equally, by names (Intel)
    Supported affinity domains (ext)              (n/a)
  Max work item dimensions                        3
  Max work item sizes                            1024x1024x1024
  Max work group size                            1024
  Preferred work group size multiple              128
  Preferred / native vector sizes
    char                                                1 / 16
    short                                                1 / 8
    int                                                  1 / 4
    long                                                1 / 2
    half                                                0 / 0        (n/a)
    float                                                1 / 8
    double                                              1 / 4        (cl_khr_fp64)
  Half-precision Floating-point support          (n/a)
  Single-precision Floating-point support        (core)
    Denormals                                    Yes
    Infinity and NANs                            Yes
    Round to nearest                              Yes
    Round to zero                                No
    Round to infinity                            No
    IEEE754-2008 fused multiply-add              No
    Support is emulated in software              No
    Correctly-rounded divide and sqrt operations  No
  Double-precision Floating-point support        (cl_khr_fp64)
    Denormals                                    Yes
    Infinity and NANs                            Yes
    Round to nearest                              Yes
    Round to zero                                Yes
    Round to infinity                            Yes
    IEEE754-2008 fused multiply-add              Yes
    Support is emulated in software              No
  Address bits                                    64, Little-Endian
  Global memory size                              3975979008 (3.703GiB)
  Error Correction support                        No
  Max memory allocation                          993994752 (947.9MiB)
  Unified memory for Host and Device              Yes
  Minimum alignment for any data type            128 bytes
  Alignment of base address                      1024 bits (128 bytes)
  Global Memory cache type                        Read/Write
  Global Memory cache size                        262144 (256KiB)
  Global Memory cache line size                  64 bytes
  Image support                                  Yes
    Max number of samplers per kernel            480
    Max size for 1D images from buffer            62124672 pixels
    Max 1D or 2D image array size                2048 images
    Max 2D image size                            16384x16384 pixels
    Max 3D image size                            2048x2048x2048 pixels
    Max number of read image args                480
    Max number of write image args                480
  Local memory type                              Global
  Local memory size                              32768 (32KiB)
  Max number of constant args                    480
  Max constant buffer size                        131072 (128KiB)
  Max size of kernel argument                    3840 (3.75KiB)
  Queue properties
    Out-of-order execution                        Yes
    Profiling                                    Yes
    Local thread execution (Intel)                Yes
  Prefer user sync for interop                    No
  Profiling timer resolution                      100ns
  Execution capabilities
    Run OpenCL kernels                            Yes
    Run native kernels                            Yes
  printf() buffer size                            1048576 (1024KiB)
  Built-in kernels                                (n/a)
  Device Extensions                              cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing

  Device Name                                    Intel(R) HD Graphics 4000
  Device Vendor                                  Intel(R) Corporation
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 1.2
  Driver Version                                  10.18.10.5100
  Device OpenCL C Version                        OpenCL C 1.2
  Device Type                                    GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Max compute units                              16
  Max clock frequency                            1200MHz
  Device Partition                                (core)
    Max number of sub-devices                    0
    Supported partition types                    by <unknown> (0x4800000000)
    Supported affinity domains                    (n/a)
  Max work item dimensions                        3
  Max work item sizes                            512x512x512
  Max work group size                            512
  Preferred work group size multiple              16
  Preferred / native vector sizes
    char                                                1 / 1
    short                                                1 / 1
    int                                                  1 / 1
    long                                                1 / 1
    half                                                0 / 0        (n/a)
    float                                                1 / 1
    double                                              0 / 0        (n/a)
  Half-precision Floating-point support          (n/a)
  Single-precision Floating-point support        (core)
    Denormals                                    No
    Infinity and NANs                            Yes
    Round to nearest                              Yes
    Round to zero                                Yes
    Round to infinity                            Yes
    IEEE754-2008 fused multiply-add              No
    Support is emulated in software              No
    Correctly-rounded divide and sqrt operations  Yes
  Double-precision Floating-point support        (n/a)
  Address bits                                    64, Little-Endian
  Global memory size                              1468006400 (1.367GiB)
  Error Correction support                        No
  Max memory allocation                          367001600 (350MiB)
  Unified memory for Host and Device              Yes
  Minimum alignment for any data type            128 bytes
  Alignment of base address                      1024 bits (128 bytes)
  Global Memory cache type                        Read/Write
  Global Memory cache size                        2097152 (2MiB)
  Global Memory cache line size                  64 bytes
  Image support                                  Yes
    Max number of samplers per kernel            16
    Max size for 1D images from buffer            22937600 pixels
    Max 1D or 2D image array size                2048 images
    Base address alignment for 2D image buffers  4096 bytes
    Pitch alignment for 2D image buffers          64 pixels
    Max 2D image size                            16384x16384 pixels
    Max 3D image size                            2048x2048x2048 pixels
    Max number of read image args                128
    Max number of write image args                8
  Local memory type                              Local
  Local memory size                              65536 (64KiB)
  Max number of constant args                    8
  Max constant buffer size                        65536 (64KiB)
  Max size of kernel argument                    1024
  Queue properties
    Out-of-order execution                        No
    Profiling                                    Yes
  Prefer user sync for interop                    Yes
  Profiling timer resolution                      80ns
  Execution capabilities
    Run OpenCL kernels                            Yes
    Run native kernels                            No
  printf() buffer size                            4194304 (4MiB)
  Built-in kernels                                block_motion_estimate_intel
  Device Extensions                              cl_intel_d3d11_nv12_media_sharing cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_accelerator cl_intel_motion_estimation

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)  No platform
  clCreateContext(NULL, ...) [default]            No platform
  clCreateContext(NULL, ...) [other]              Success [INTEL]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No platform

Greetings, Klong
Reply
#4
try to add this to your command:
-D 1
Reply
#5
thank you! CPU worked with the all ?a mask.

But the question remains: Is it not possible for me to use GPU reliably?
And do you know why ?a (on position 4) does not include/represent ?d on my system?

Greetings
Klong
Reply
#6
I'm pretty sure it's a very nasty driver bug. The same code works with all the other devices and drivers etc.

You might be able to work around it with different driver versions. but it's actually quite dangerous and probably nobody can guarantee that it works with all different attack types and hash types (and other parameters, masks, dicts etc).

It seems to be a very dangerous bug of the driver. not of hashcat

hashcat already tries to detect errors with the self-tests, but of course it can't do intensive testing on each and every run and therefore not all problems could be catch all the time.

I don't think this can be fixed with an easy update/change to hashcat... I think only a driver update, a fix of the GPU driver would resolve the main problem, unfortunately.
Reply
#7
OK then, thanks again for your effort!
Reply
#8
did you try with other hash types ?

do they work correctly with your Intel GPU (windows operating system) ?
Reply
#9
sorry for my late reply!

No, I just started with a sneak view into decryption and so I only wanted to look up an old vba-project's password that I forgot.

Maybe some other time, when I would come across another hash...
...at the moment I don't have the means to extract hashes.

Greetings
Klong
Reply
#10
run
Code:
hashcat -b

or
Code:
hashcat -b --benchmark-all

or the example hashes from https://hashcat.net/wiki/example_hashes

There is no need to extract any hashes, it' just a test: try the example hashes and see if the problem is specific to a certain hash type or if the driver has indeed problems with many/most of the hash types
thx
Reply