I am attempting to get hashes from a memory dump using volatility3's hashdump.Hashdump module, and I keep running into this error:
AttributeError: function/symbol 'ARC4_stream_init' not found in library '/home/cyber/.local/lib/python3.9/site-packages/Crypto/Util/../Cipher/_ARC4.cpython-39-x86_64-linux-gnu.so': /home/cyber/.local/lib/python3.9/site-packages/Crypto/Util/../Cipher/_ARC4.cpython-39-x86_64-linux-gnu.so: undefined symbol: ARC4_stream_init
I tried googling it and the only thing I could find was something similar with pdfs here. I also tried reinstalling the requirements from volatility and I reinstalled pycrypto crypto and cryptodome as I thought they might be causing issues. Any help would be greatly appreciated.
$python3 vol.py -f /home/cyber/Downloads/memdump.mem windows.hashdump.Hashdump
Volatility 3 Framework 2.5.2
Progress:  100.00        PDB scanning finished                       
User    rid    lmhash    nthash
Traceback (most recent call last):
  File "/home/cyber/Downloads/volatility3/vol.py", line 10, in <module>
    volatility3.cli.main()
  File "/home/cyber/Downloads/volatility3/volatility3/cli/__init__.py", line 790, in main
    CommandLine().run()
  File "/home/cyber/Downloads/volatility3/volatility3/cli/__init__.py", line 447, in run
    renderers[args.renderer]().render(constructed.run())
  File "/home/cyber/Downloads/volatility3/volatility3/cli/text_renderer.py", line 193, in render
    grid.populate(visitor, outfd)
  File "/home/cyber/Downloads/volatility3/volatility3/framework/renderers/__init__.py", line 245, in populate
    for level, item in self._generator:
  File "/home/cyber/Downloads/volatility3/volatility3/framework/plugins/windows/hashdump.py", line 571, in _generator
    hbootkey = self.get_hbootkey(samhive, bootkey)
  File "/home/cyber/Downloads/volatility3/volatility3/framework/plugins/windows/hashdump.py", line 409, in get_hbootkey
    rc4 = ARC4.new(rc4_key)
  File "/home/cyber/.local/lib/python3.9/site-packages/Crypto/Cipher/ARC4.py", line 130, in new
    return ARC4Cipher(key, *args, **kwargs)
  File "/home/cyber/.local/lib/python3.9/site-packages/Crypto/Cipher/ARC4.py", line 58, in __init__
    result = _raw_arc4_lib.ARC4_stream_init(c_uint8_ptr(key),
  File "/usr/lib/python3/dist-packages/cffi/api.py", line 912, in __getattr__
    make_accessor(name)
  File "/usr/lib/python3/dist-packages/cffi/api.py", line 908, in make_accessor
    accessors[name](name)
  File "/usr/lib/python3/dist-packages/cffi/api.py", line 838, in accessor_function
    value = backendlib.load_function(BType, name)
AttributeError: function/symbol 'ARC4_stream_init' not found in library '/home/cyber/.local/lib/python3.9/site-packages/Crypto/Util/../Cipher/_ARC4.cpython-39-x86_64-linux-gnu.so': /home/cyber/.local/lib/python3.9/site-packages/Crypto/Util/../Cipher/_ARC4.cpython-39-x86_64-linux-gnu.so: undefined symbol: ARC4_stream_init
				
                        
Create a fresh and new virtual environment:
Activate the created environment:
Install the
arc4package to use the encryption/decryption:The content of the
main.pyfile:You must initialize the RC4 object at the beginning of each operation because RC4 is a stream cipher. By initializing a new object, the stream pointer will point to the beginning of the stream, hence decrypting accordingly.
Run the program with: