-
-
Notifications
You must be signed in to change notification settings - Fork 730
Add legba module for bruteforcing various services #2530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
This looks great, nice work! Legba has been a much requested module. The trick will be writing tests for the different protocols, and also getting Legba to compile properly on all the different platforms. @Vinnie64 may be able to help as he's been working on something similar to this |
Nice! I can start working on it and see how it goes. Input from @Vinnie64 is also appreciated |
I think the distro tests are now failing because
Is it intended this way? At least I expected it to be the other way around @TheTechromancer |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev #2530 +/- ##
======================================
- Coverage 93% 93% -0%
======================================
Files 404 406 +2
Lines 33387 33521 +134
======================================
+ Hits 30922 31038 +116
- Misses 2465 2483 +18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
I think EDIT: |
@christianfl that fix has been merged; you may need to rebase from dev. |
026a7af
to
24d64b4
Compare
Thanks @TheTechromancer ! |
c82ab51
to
1f5bd15
Compare
Hey! Did a bit of work again 😎 Feedback welcome! If you'd consider merging, feel free to squash the commits into one. |
Saw that you are in the process of deprecate |
Hi, yes this is happening - but it wont make into stable until 3.0. Could be a while before that happens. Going to try to test this out next week, from what I had a chance to look at so far, looks great. Really appreciate all the work writing tests and supporting all the distros, etc. |
You're very welcome! Ok good to know, cool to see those event type merged. Feel free to ping me in case anything's needed here. |
Fantastic work on this module. A couple small changes and then it should be good to merge:
diff --git a/bbot/modules/deadly/legba.py b/bbot/modules/deadly/legba.py
index b6d7da6e4..91d7b5488 100644
--- a/bbot/modules/deadly/legba.py
+++ b/bbot/modules/deadly/legba.py
@@ -41,15 +41,15 @@ class legba(BaseModule):
}
options_desc = {
- "ssh_wordlist": "Wordlist URL for SSH combined username:password wordlist, newline separated (default https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt)",
- "ftp_wordlist": "Wordlist URL for FTP combined username:password wordlist, newline separated (default https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt)",
- "telnet_wordlist": "Wordlist URL for TELNET combined username:password wordlist, newline separated (default https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Default-Credentials/telnet-betterdefaultpasslist.txt)",
- "vnc_wordlist": "Wordlist URL for VNC password wordlist, newline separated (default https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Default-Credentials/vnc-betterdefaultpasslist.txt)",
- "mssql_wordlist": "Wordlist URL for MSSQL combined username:password wordlist, newline separated (default https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Default-Credentials/mssql-betterdefaultpasslist.txt)",
- "mysql_wordlist": "Wordlist URL for MySQL combined username:password wordlist, newline separated (default https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Default-Credentials/mysql-betterdefaultpasslist.txt)",
- "postgresql_wordlist": "Wordlist URL for PostgreSQL combined username:password wordlist, newline separated (default https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Default-Credentials/postgres-betterdefaultpasslist.txt)",
- "concurrency": "Number of concurrent workers, gets overridden for SSH (default 3)",
- "rate_limit": "Limit the number of requests per second, gets overridden for SSH (default 3)",
+ "ssh_wordlist": "Wordlist URL for SSH combined username:password wordlist, newline separated",
+ "ftp_wordlist": "Wordlist URL for FTP combined username:password wordlist, newline separated",
+ "telnet_wordlist": "Wordlist URL for TELNET combined username:password wordlist, newline separated",
+ "vnc_wordlist": "Wordlist URL for VNC password wordlist, newline separated",
+ "mssql_wordlist": "Wordlist URL for MSSQL combined username:password wordlist, newline separated",
+ "mysql_wordlist": "Wordlist URL for MySQL combined username:password wordlist, newline separated",
+ "postgresql_wordlist": "Wordlist URL for PostgreSQL combined username:password wordlist, newline separated",
+ "concurrency": "Number of concurrent workers, gets overridden for SSH",
+ "rate_limit": "Limit the number of requests per second, gets overridden for SSH",
}
deps_common = ["rust"]
@@ -120,7 +120,7 @@ class legba(BaseModule):
]
async def setup(self):
- self.output_dir = "/tmp/legba-output"
+ self.output_dir = self.scan.temp_dir / "legba-output"
self.helpers.mkdir(self.output_dir)
return True |
886f709
to
5bac4ad
Compare
Thanks for reviewing! I applied the suggested changes |
4cf3944
to
a2315a6
Compare
My fault 😁 Works again. I squashed commits so I think it's ready to be merged! |
Hey there!
Saw the discussion on: #1689
We developed a Legba module internally and I did a thorough review. Would you mind include it and/or have some comments?
Best wishes,
Christian
Supported protocols
Screenshot
ToDo