Comments (3)
I really appreciate your interest in the project , especially the patience to comment and improve the code , please send me how many pull requests you want, and lets work together.
only commenting on the improvements , I think we could add a status bar with the percentage of attempts instead of printing each try and use threading like you said.
from pythem.
Glad you appreciated the improvements
Pull request has been sent.
add a status bar with the percentage of attempts instead
Sounds like a good idea or maybe some kind of counter?
Also, looking at existing tools like JTR and Hydra, it might make sense to add the possibility to resume an interrupted brute force attack from where it left off.
As i understand it, the current module/ssh_brute.py
supports attacking one user account on one host machine. This activity would be detected fairly quickly during an engagement if a IDS is deployed on the network. Using threading would possibly trigger the IDS quicker.
Brute force will always be noisy but, it might be possible to delay it by changing the attack pattern and spreading the attack over multiple user accounts and multiple targets plus, adding a grace period.
Example:
IDS is triggered after 5 failed attempts per user account within 5 minutes.
We are attacking 5 targets, 10.1.1.100 - 10.1.1.1.4
On each target there are 5 accounts, user{0-4}, we want to brute force.
Attacking each user account individually on each target would trigger the IDS at the fifth failed password. Using paramiko to brute force SSH accounts takes (very) roughly 3 seconds per attempt.
With this in mind, not triggering the IDS would requires less than 5 failed logins per user account within the 300 second time frame, on any of the five accounts on any of the five targets.
Attack pattern
- target 1: (4 attempts * 5 accounts) * 3 sec/attempt = 60 seconds
- target 2: (4 attempts * 5 accounts) * 3 sec/attempt = 60 seconds
- target 3: (4 attempts * 5 accounts) * 3 sec/attempt = 60 seconds
- target 4: (4 attempts * 5 accounts) * 3 sec/attempt = 60 seconds
- target 5: (4 attempts * 5 accounts) * 3 sec/attempt = 60 seconds
300 seconds (5 minutes) have elapsed after cycling trough the five targets and the five user accounts.
If needed, the script can enter a grace period, (IDS reset time) - (total elapsed time), before resuming the attack pattern.
Yes, im aware that the grace period can be made much shorter with tweaking and further calculations but, i hope you see my general idea here.
Sorry for the long comment, just suggestions, let me know if you think its something you would like to implement and if you would like me to help with this.
from pythem.
I did this module very fast only to add functionality to the tool , it would be a good idea to attack more than a User in reality any idea is welcome , however I am engaged with the sniff/pforensic/arpspoof/injection modules but I will try to analyze the brute-force module this week, if you done any cool updates send more pull requests.
from pythem.
Related Issues (20)
- Error: Couldn't retrieve MAC address from gateway, retrying... HOT 1
- How target all client ? HOT 1
- Tab/Indentation Issue HOT 2
- ---
- Command-Line Version For Future Script HOT 1
- Tests for module imports
- Refactor modules and interface
- Replace code that depends on OS packages.
- Create API server
- Program not executing HOT 1
- Python 3.x compatibility HOT 1
- Improve test cases for modules
- Accept port as parameter for SSH Brute-Force
- SSH spoofing module to act while man-in-the-middle is active
- Console interface
- Building wheel for NetfilterQueue (setup.py) ... error HOT 1
- Suggest adding 3 new features
- arpspoof start doesnt't work HOT 8
- Docker build error
- Can't install
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pythem.