Skip to content

TheBugFather/NetBrute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetBrute

☑️ Bandit verified  |  ☑️ Synk verified  |  ☑️ Pylint verified 10/10

alt text alt text

Notice

This tool may be used for legal purposes only.
Users take full responsibility for any actions performed using this tool.
The author accepts no liability for damage caused by this tool.
If these terms are not acceptable to you, then do not use this tool.

Purpose

NetBrute is a dynamic tool to brute force connecting to network services and delivering payloads for purposes of enumeration.

License

The program is licensed under GNU Public License v3.0

Contributions or Issues

CONTRIBUTING

Prereqs

Made for Windows and Linux, written in Python 3.10.6

Installation

  • Run the setup.py script to build a virtual environment and install all external packages in the created venv.

Examples:
  - Windows: python setup.py venv
  - Linux: python3 setup.py venv

  • Once virtual env is built traverse to the (Scripts-Windows or bin-Linux) directory in the environment folder just created.
  • For Windows, in the venv\Scripts directory, execute activate or activate.bat script to activate the virtual environment.
  • For Linux, in the venv/bin directory, execute source activate to activate the virtual environment.
  • If for some reason issues are experienced with the setup script, the alternative is to manually create a venv, activate it, then run pip install -r packages.txt in project root.
  • To exit from the virtual environment when finished, execute deactivate.

How to use

For the tool to be able to work, ensure that all args are provided in proper order, a parse delimiter is in the payload where he wordlist items will be parsed, and a match or a negation match string to specify successful operation based on what is or is not found in the remote host's response.

SMTP user enumeration example:
  Payload (arg): "VRFY <@>"
  NEGATION_MATCH (global var): 'rejected'

Before executing the script, ensure to look at the global variables section at the top of the script. The following global variables have the following meaning in relation to the program:

  • PARSE_DELIMITER:   The set delimiter value is used in the arg payload to specify where wordlist items will be parsed in.
  • RESPONSE_BUFFER:   The size of the buffer of the receiving size of the socket buffer for the remote host.
  • SLEEP_INTERVAL:   The amount of seconds to pause the program operation in between the payload delivery and expected response.
  • MATCH:   If not None, the specified string means successful operation if found in remote host output.
  • NEGATION_MATCH:   If not None, the specified string means successful operation if not found in remote host output.

Note: Only one of the two MATCH and NEGATION_MATCH variables should have a string indicator and the other should remain None

Examples:
  - Windows: python netbrute.py <host> <port> <wordlist> <payload>
  - Linux: python3 netbrute.py <host> <port> <wordlist> <payload>

About

Python custom network service brute force tool for enumeration purposes

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages