https://github.com/angeal185/node-brute-force
multi thread brute-force password cracker for nodejs
https://github.com/angeal185/node-brute-force
Last synced: 8 months ago
JSON representation
multi thread brute-force password cracker for nodejs
- Host: GitHub
- URL: https://github.com/angeal185/node-brute-force
- Owner: angeal185
- License: mit
- Created: 2020-07-18T16:08:39.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-18T17:24:34.000Z (about 5 years ago)
- Last Synced: 2025-01-06T17:17:12.652Z (9 months ago)
- Language: JavaScript
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-brute-force
multi thread brute-force password cracker for nodejs* master is responsible for creating and updating the decipher pad
* workers are responsible for decryption
* decryption is asynchronous
* each worker can have multiple decryption threads running simultaneously
* will crack any nodejs encrypted data assuming it is configured correct
* accepts and returns data as byte arrays
* working fast example at `./example/example.js`crack data with iv and tag
```js
const { Crack } = require('./node-brute-force');Crack({
workers: 1, // clusters
threads: 10, // simultaneous decryptions per worker
dev: true, // unshift() pad if true | pop() pad (faster but not in order) if false
verbose: 100, // status log to console interval ms || false to disable
file: {
enabled: true, // enable write to file
dest: './ptext.json' // result dest
},
data: [ // encrypted data
240,122,126,200,131,140,8,84,50,104,165,187,
38,232,119,79,207,240,87,98
],
defaults: { // if any of these are wrong, it wont work. get it right.
key_len: 32, // encryption key length
cipher: "aes", // encryption cipher | includes aes|aria|camellia
bit_len: "256", // encryption bits | includes 128|192|256
mode: "gcm", // encryption mode | includes gcm|cbc|ccm|ctr|cfb|cfb1|cfb8|ocb|ofb
iv: [ // encryption iv
48,59,101,235,103,19,234,9,51,154,126,14,
61,145,241,18,157,76,13,148,158,98,13,115,
74,96,61,230,86,117,191,55
],
tag: [ // encryption tag
172,159,255,174,112,56,224,121,203,48,207,
6,122,18,28,96
],
tag_len: 16 // encryption tag length || 0 if none
}
})```
crack data without iv and tag
```js
const { Crack } = require('./node-brute-force');Crack({
workers: 1, // clusters
dev: true, // unshift if true | pop if false
verbose: 10000, // status log to console interval ms || false to disable
file: {
enabled: true, // enable write to file
dest: './ptext.json' // result dest
},
data: [ // encrypted data
240,122,126,200,131,140,8,84,50,104,165,187,
38,232,119,79,207,240,87,98
],
defaults: {
key_len: 32, // encryption key length
cipher: "aes", // encryption cipher | includes aes|aria|camellia
bit_len: "256", // encryption bits | includes 128|192|256
mode: "gcm", // encryption mode | includes gcm|cbc|ccm|ctr|cfb|cfb1|cfb8|ocb|ofb
iv_len: 32, // encryption iv length
tag_len: 16 // encryption tag length || 0 if none
}
})```
converting data to byte array to be used for crack
```js// binary
let data = 'test data'
data = Array.from(Buffer.from(data, 'binary'));//hex
data = '746573742064617461';
data = Array.from(Buffer.from(data, 'hex'));//base64
data = 'dGVzdCBkYXRh'
data = Array.from(Buffer.from(data, 'base64'));//nodejs buffer
data = Buffer.from('test data')
data = Array.from(data);...
```