-
Notifications
You must be signed in to change notification settings - Fork 2
Metasploit Loginpalooza
Just looking for the list or the scorecard? If so, feel free to skip ahead.
This wiki describes how to set up an environment and participate in the Metasploit Loginpalooza contest by creating Metasploit Framework LoginScanners, running from now until September 1, 2014. Read this, and start knocking out modules that use the new Metasploit Credential gem, now available for all and sundry users who care to track the new branch.
If you've never set up a Metasploit Framework development environment, bop on over to http://r-7.co/MSF-DEV and do that -- the docs assume an Ubuntu Linux OS, vim, and ssh private key authentication.
If you didn't just set up your environment, you'll need to probably prune your remote refs to avoid the "unable to resolve reference refs/remotes/upstream/staging/electro-release" error. There used to be a staging branch, now it's a directory. So, to clean that up:
git checkout master # Switch to your master branch
git branch -D staging # Deletes your local staging branch if you have one
git push origin :staging # Deletes your remote staging branch if you have one
git remote prune upstream origin && # Clears out refs to staging branches
git gc && # Garbage collect
git fetch upstream && # Fetch the current repo info for usptream
git fetch origin # Fetch the current repo info for usptreamThis may take a minute or two.
Now, just treat the electro-release branch just like you would any other.
git checkout -b staging/electro-release --track upstream/staging/electro-release
bundle install
Performing the above will get you a copy of the target branch and install all the new gems you'll need to use the new Credential hotness.
There are lots of helpful docs written by Dave Maloney, aka @dmaloney-r7, aka @TheLightCosine, on how to get rid of the old report_auth_info() method in your chosen module and replace it with a fancy new create_credential_login() method. Read up on that at Creating Metasploit Framework Login Scanners. It's really quite thrilling.
Now that you have some idea of what you're doing, pick a module from the list, and edit away!
This works pretty much just like a regular Metasploit module update, but for one important detail: You will want to open a pull request against the staging/electro-release branch.
To make the Pull Request process a little easier, I have an alias in my .gitconfig of pr-url (thanks kernelsmith!)
pr-url =!"xdg-open https://github.com/$(git config github.user)/$(basename $(git rev-parse --show-toplevel))/pull/new/$1:$2...$(git branch-current) #"Using this is easy and fun:
git push origin
git pr-url rapid7 staging/electro-releaseWe will keep a simple Gist score card with links to Merged PRs, here, and the way to win is simple: Have the most Loginpalooza pull requests landed between right now and September 1st. That "landed" bit is important. If your module is broken, it won't be landed, and if it's a duplicate, it will be rejected.
Of course, there will be lots of discretion from the Metasploit Committers on who gets credit if/when people collaborate. GitHub is all about collaboration, of course. Generally speaking, anyone who is legitimately helpful on the code review and implementing changes will get credit. If it becomes obvious that people are cheating or just leeching off the work of others without doing anything usefully original, then credit for "merely" helping will drop off.
The prize for first place is a really sweet Hak5 WiFi Pineapple kit.
The second place prize is a Onion Pi from Adafruit. These little buggers are adorable.
Hey, I'm sure you'll get public praise and thank you's, and you'll get some training on how to credential-snarf the new and exciting way. You can't put a price tag on that!
Check out the example FTP module over at Creating Metasploit Framework LoginScanners.
Nobody's started yet! This space will list users and their landed/contributed to pull requests.
- auxiliary/scanner/ftp/anonymous.rb
- auxiliary/gather/apache_rave_creds.rb
- auxiliary/scanner/http/apache_userdir_enum.rb
- auxiliary/voip/asterisk_login.rb
- post/osx/gather/autologin_password.rb
- auxiliary/scanner/http/axis_local_file_include.rb
- exploits/windows/http/ca_arcserve_rpc_authbypass.rb
- auxiliary/scanner/misc/cctv_dvr_login.rb
- auxiliary/scanner/http/cisco_asa_asdm.rb
- auxiliary/scanner/http/cisco_ironport_enum.rb
- auxiliary/scanner/couchdb/couchdb_login.rb
- post/windows/gather/credentials/credential_collector.rb
- auxiliary/gather/d20pass.rb
- auxiliary/scanner/http/dell_idrac.rb
- auxiliary/scanner/http/dlink_dir_300_615_http_login.rb
- auxiliary/scanner/http/dlink_dir_615h_http_login.rb
- auxiliary/scanner/http/dlink_dir_session_cgi_http_login.rb
- auxiliary/scanner/http/dolibarr_login.rb
- auxiliary/gather/doliwamp_traversal_creds.rb
- auxiliary/server/capture/drda.rb
- auxiliary/scanner/http/drupal_views_user_enum.rb
- auxiliary/scanner/misc/dvr_config_disclosure.rb
- auxiliary/gather/eaton_nsm_creds.rb
- auxiliary/scanner/http/ektron_cms400net.rb
- post/osx/gather/enum_osx.rb
- post/windows/gather/enum_snmp.rb
- post/windows/gather/enum_tomcat.rb
- post/multi/gather/filezilla_client_cred.rb
- exploits/multi/http/glassfish_deployer.rb
- auxiliary/scanner/http/glassfish_login.rb
- auxiliary/gather/hp_snac_domain_creds.rb
- auxiliary/scanner/http/hp_sys_mgmt_login.rb
- auxiliary/server/capture/imap.rb
- auxiliary/scanner/http/infovista_enum.rb
- auxiliary/scanner/ipmi/ipmi_dumphashes.rb
- auxiliary/scanner/oracle/isqlplus_login.rb
- auxiliary/scanner/oracle/isqlplus_sidbrute.rb
- exploits/linux/http/kloxo_sqli.rb
- auxiliary/scanner/scada/koyo_login.rb
- auxiliary/scanner/telnet/lantronix_telnet_password.rb
- auxiliary/scanner/lotus/lotus_domino_hashes.rb
- auxiliary/scanner/lotus/lotus_domino_login.rb
- auxiliary/scanner/mongodb/mongodb_login.rb
- post/linux/gather/mount_cifs_creds.rb
- auxiliary/scanner/msf/msf_rpc_login.rb
- auxiliary/scanner/msf/msf_web_login.rb
- auxiliary/scanner/nessus/nessus_ntp_login.rb
- auxiliary/scanner/nessus/nessus_xmlrpc_login.rb
- auxiliary/scanner/nexpose/nexpose_api_login.rb
- auxiliary/scanner/http/novell_mdm_creds.rb
- auxiliary/scanner/misc/oki_scanner.rb
- auxiliary/scanner/http/openmind_messageos_login.rb
- auxiliary/scanner/openvas/openvas_gsad_login.rb
- auxiliary/scanner/openvas/openvas_omp_login.rb
- auxiliary/scanner/openvas/openvas_otp_login.rb
- auxiliary/scanner/http/oracle_ilom_login.rb
- post/windows/gather/credentials/outlook.rb
- auxiliary/scanner/http/owa_login.rb
- auxiliary/scanner/pcanywhere/pcanywhere_login.rb
- post/multi/gather/pgpass_creds.rb
- auxiliary/scanner/postgres/postgres_version.rb
- post/linux/gather/pptpd_chap_secrets.rb
- auxiliary/scanner/http/radware_appdirector_enum.rb
- auxiliary/scanner/misc/raysharp_dvr_passwords.rb
- post/windows/gather/credentials/razer_synapse.rb
- post/windows/gather/credentials/razorsql.rb
- auxiliary/scanner/rservices/rexec_login.rb
- auxiliary/scanner/http/rfcode_reader_enum.rb
- auxiliary/scanner/rservices/rlogin_login.rb
- auxiliary/scanner/misc/rosewill_rxs3211_passwords.rb
- auxiliary/scanner/rservices/rsh_login.rb
- auxiliary/scanner/http/sap_businessobjects_user_brute.rb
- auxiliary/scanner/http/sap_businessobjects_user_brute_web.rb
- auxiliary/scanner/http/sap_businessobjects_user_enum.rb
- auxiliary/scanner/sap/sap_ctc_verb_tampering_user_mgmt.rb
- auxiliary/scanner/sap/sap_mgmt_con_brute_login.rb
- auxiliary/scanner/sap/sap_soap_bapi_user_create1.rb
- auxiliary/scanner/sap/sap_soap_rfc_brute_login.rb
- auxiliary/scanner/sap/sap_web_gui_brute_login.rb
- auxiliary/scanner/http/sentry_cdu_enum.rb
- auxiliary/scanner/http/sevone_enum.rb
- auxiliary/scanner/oracle/sid_brute.rb
- auxiliary/admin/oracle/sid_brute.rb
- auxiliary/server/capture/sip.rb
- post/windows/gather/smart_hashdump.rb
- post/windows/gather/credentials/smartermail.rb
- post/windows/gather/credentials/spark_im.rb
- auxiliary/scanner/http/splunk_web_login.rb
- auxiliary/scanner/http/squiz_matrix_user_enum.rb
- auxiliary/scanner/ssh/ssh_identify_pubkeys.rb
- post/windows/gather/credentials/sso.rb
- auxiliary/scanner/telnet/telnet_ruggedcom.rb
- auxiliary/scanner/http/titan_ftp_admin_pwd.rb
- auxiliary/scanner/http/tomcat_enum.rb
- post/windows/gather/credentials/tortoisesvn.rb
- post/windows/gather/credentials/total_commander.rb
- auxiliary/scanner/http/typo3_bruteforce.rb
- auxiliary/gather/vbulletin_vote_sqli.rb
- exploits/unix/webapp/vbulletin_vote_sqli_exec.rb
- auxiliary/scanner/http/vcms_login.rb
- auxiliary/scanner/vmware/vmauthd_login.rb (in progress: #3608 by @TomSellers)
- auxiliary/scanner/vmware/vmware_http_login.rb
- auxiliary/scanner/dcerpc/windows_deployment_services.rb
- auxiliary/scanner/http/wordpress_login_enum.rb
- auxiliary/gather/wp_w3_total_cache_hash_extract.rb
- post/windows/gather/enum_domain.rb - Partials, should create realms but not full cores
- post/windows/gather/enum_domain_group_users.rb - Should create realms and publics but won't be able to get privates
- post/windows/gather/enum_domains.rb - Creates realms
- post/windows/gather/enum_logged_on_users.rb - Creates publics but not privates
- Home Welcome to Metasploit!
- Using Metasploit A collection of useful links for penetration testers.
-
Setting Up a Metasploit Development Environment From
apt-get installtogit push. - CONTIBUTING.md What should your contributions look like?
- Landing Pull Requests Working with other people's contributions.
- Using Git All about Git and GitHub.
- Contributing to Metasploit Be a part of our open source community.
- Meterpreter All about the Meterpreter payload.