@gv__/smb2
v1.0.3
Published
"SMB2 client with NTLMv2 support for node.js"
Readme
@gv/smb2
Node.js SMB2 client with NTLMv2 authentication support for modern SMB servers.This package was created to solve authentication issues with newer SMB servers that require NTLMv2 hashing. Some existing SMB2 packages still struggle with modern SMB authentication configurations, even when the correct username and password are provided.
Problem it solves
I previously used @marsaud/smb2, which worked well in many cases.However, some newer SMB servers only accept NTLMv2 authentication, and older implementations may fail during login.
In modern SMB authentication:
Passwords are not sent directly The password is converted into a secure NTLM hash Older systems used NTLMv1, which is considered weak Most modern SMB servers now require NTLMv2
Because of this, authentication may fail even when the username and password are correct.
This package was built to properly support NTLMv2-based SMB authentication in Node.js.
Installation
npm install @gv/smb2
Usage
const SMB2 = require('@gv/smb2');
const client = new SMB2({ share: '\\0.0.0.0\sharname', username: 'username', password: 'password', domain: '' });
client.readdir('', function(err, files) { if(err) { console.log('❌ Test Failed:', err.message); process.exit(1); } console.log('✅ Test Passed! Files:', files); process.exit(0); });
Why NTLMv2?
why the ntmlv2 is importent in smb server wher we try to connec it this not username and password raw passing this password need to hasting in periveslu using the ntlmv1 that weak so smb update to ntlmv2 hasting but the node still passing the ntmlv1 hash passwork that show auth invalied even you give the correct the username and password so i create the this package
Author
Gokul Vasan
Cybersecurity & Backend Developer
Email: [email protected]
#License
MIT License
Contributing
Pull requests and suggestions are welcome.
If you find bugs or compatibility issues with SMB servers, feel free to open an issue.
