Commit Graph

13785 Commits

Author SHA1 Message Date
Vladimir Ivanov 391e013d89 Removed var lhost, lport in exploit module cve_2020_6207_solman_rs.rb
Changed fail reason if agent_name is nil in lib sap_sol_man_eem_miss_auth.rb
2021-03-25 11:26:14 +03:00
Vladimir Ivanov 924f7feb76 Updated Arch in the exploit module cve_2020_6207_solman_rs.rb
Corrected by rubocop library sap_sol_man_eem_miss_auth.rb
2021-03-24 16:26:01 +03:00
Vladimir Ivanov abe8c73be9 Added get_agent_os in lib sap_sol_man_eem_miss_auth.rb 2021-03-24 16:03:20 +03:00
dwelch-r7 a9d38ecc15 Land #14430, Add warnings for no db connection while using uuid tracking 2021-03-24 12:12:18 +00:00
Vladimir Ivanov 567f78c532 Update PAYLOAD_XML, check_response in lib sap_sol_man_eem_miss_auth.rb
Delete class var agents in auxiliary and exploit modules
2021-03-24 11:21:57 +03:00
Vladimir Ivanov ce8a3eea12 Update check_response in lib sap_sol_man_eem_miss_auth.rb 2021-03-23 23:57:40 +03:00
Vladimir Ivanov 2c18435e6e Update pretty_agents_table in lib sap_sol_man_eem_miss_auth.rb
Change output in auxiliary and exploit modules
2021-03-23 23:00:34 +03:00
Grant Willcox 7580100964 Land #14938, Add time command 2021-03-23 14:35:24 -05:00
Vladimir Ivanov 81a22503d9 Update enable_eem, script_action in lib sap_sol_man_eem_miss_auth.rb 2021-03-23 22:20:46 +03:00
Alan Foster 9bb8eaaded Add time command 2021-03-23 16:45:29 +00:00
Vladimir Ivanov 4399fa73fc Update make_rce_payload, make_soap_body in lib sap_sol_man_eem_miss_auth.rb
Update rce command in auxiliary module cve_2020_6207_solman_rce.rb
2021-03-23 19:02:59 +03:00
Vladimir Ivanov d5ac1f8078 Update make_ssrf_payload, make_rce_payload, make_soap_body in lib sap_sol_man_eem_miss_auth.rb 2021-03-23 17:41:06 +03:00
Vladimir Ivanov 70a46d411e Update make_agents_array in lib sap_sol_man_eem_miss_auth.rb 2021-03-23 16:18:27 +03:00
Spencer McIntyre 79967f2179 Land #14844, Move on_session_open event to after the session has been bootstrapped 2021-03-23 08:50:18 -04:00
dwelch-r7 88f9f926f2 Remove duplicate event 2021-03-23 11:42:26 +00:00
Vladimir Ivanov d76224066f Rename option URIPATH to TARGETURI 2021-03-23 13:33:39 +03:00
Vladimir Ivanov 113dce79de Move lib/metasploit/framework/sap_solman/client.rb to lib/msf/core/exploit/remote/http/sap_sol_man_eem_miss_auth.rb 2021-03-23 13:20:27 +03:00
Alan Foster d63ff8a559 Fix search command for single characters 2021-03-22 19:02:31 +00:00
Grant Willcox 9713402caf Add in more documentation to the help output, add support for searching by if modules have a check method or not, and support outputting an appropriate error message if the -s option is used with an invalid parameter 2021-03-19 15:01:58 -05:00
pingport80 332a076cec define sort, sort_options and desc 2021-03-19 15:01:56 -05:00
pingport80 bdf87c8080 add missing end 2021-03-19 15:01:56 -05:00
pingport80 d5ff94f101 add -s and -r options for search 2021-03-19 15:01:56 -05:00
pingport80 6584282b96 add sort to search command 2021-03-19 15:01:55 -05:00
bwatters 2c1869f9df Land #14907, Add exploit for CVE-2021-1732
Merge branch 'land-14907' into upstream-master
2021-03-18 14:29:59 -05:00
kalba-security a38e2702c8 Add recommendations from code review, avoid returning checkcodes 2021-03-18 12:21:51 -04:00
kalba-security 26c1ca56d1 Add unauthenticated version check for older Nagios XI versions 2021-03-18 12:21:51 -04:00
kalba-security 9434f30665 Move login_after_install_or_license to mixin login.rb, minor improments 2021-03-18 12:21:51 -04:00
kalba-security 484d5eee09 Correct version ranges for supported exploit modules, update documentation, make sure to return cookies after authentication 2021-03-18 12:21:51 -04:00
kalba-security 2b081847fa Add functionality to complete Nagios XI install and sign license agreement, improve cookie filtering logic 2021-03-18 12:21:51 -04:00
kalba-security 1749addbd8 Improve html checks and make cookie handling compatible with older versions 2021-03-18 12:21:51 -04:00
kalba-security aab3b4a7ee Add Nagios XI mixin and auxiliary scanner module and docs 2021-03-18 12:21:51 -04:00
Adam Cammack 736369b643 Land #14905, Use ensure to run exploit cleanup 2021-03-17 11:56:09 -05:00
Adam Cammack 0122daa3e7 Add local modules and statuses to analyze 2021-03-16 10:37:25 -05:00
Spencer McIntyre 0bff88c0c0 Update the module metadata and add module docs 2021-03-16 10:40:34 -04:00
Jeffrey Martin 13dae6730c remove random characters from yard-docs 2021-03-16 09:21:28 -05:00
Jeffrey Martin 83d757f0dd use ensure for cleanup
There exists a possibility that cleanup can be missed when an exploit raises
an exception other than `Interrupt` when run, by shifting the cleanup into
`ensure` for all exceptions when `keep_handler` is not set handlers and
other cleanup tasks from a module will be called for more possible error
states.
2021-03-15 17:17:09 -05:00
Spencer McIntyre 2e3d98a36a Move the DLL injection code into a reusable function 2021-03-15 11:47:02 -04:00
Grant Willcox 94dbe9f39e Land #14882, Fix Wordpress user login validation for recent versions of WordPress 2021-03-11 16:47:42 -06:00
Grant Willcox 4c0da1c82f Ninja commit to fix a typo 2021-03-11 16:46:50 -06:00
suryasaradhi 37eaf7944b Added changes to regex expression
Now the search will be for the exact user error
2021-03-12 03:12:58 +05:30
Jeffrey Martin da31abc7ee Land #14874i, Fix autoloading when using the rpc client 2021-03-11 15:08:27 -06:00
suryasaradhi ae29e749c7 Fixed wordpress user login validation
## BUG

While trying using 

`module> auxiliary/scanner/http/wordpress_login_enum`

User validation does not occur correctly in wordpress 5.x



## Verification

- mkdir wordpress
- cd wordpress
- nano docker-compose.yml
- Enter the following into the file

```
version: '3.3'
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}
```
- sudo docker-compose up -d

- Follow the setup instructions at 127.0.0.1:8000 and set up a new user in WordPress.
- Start msfconsole
- creds add user:test
- use auxiliary/scanner/http/wordpress_login_enum
- set RHOSTS 127.0.0.1
- set RPORT 8000
- set DB_ALL_USERS true
- run

## Expected Output

```
msf6 > use auxiliary/scanner/http/wordpress_login_enum 
msf6 auxiliary(scanner/http/wordpress_login_enum) > show options

Module options (auxiliary/scanner/http/wordpress_login_enum):

   Name                 Current Setting  Required  Description
   ----                 ---------------  --------  -----------
   BLANK_PASSWORDS      false            no        Try blank passwords for all users
   BRUTEFORCE           true             yes       Perform brute force authentication
   BRUTEFORCE_SPEED     5                yes       How fast to bruteforce, from 0 to 5
   DB_ALL_CREDS         false            no        Try each user/password couple stored in the current database
   DB_ALL_PASS          false            no        Add all passwords in the current database to the list
   DB_ALL_USERS         false            no        Add all users in the current database to the list
   ENUMERATE_USERNAMES  true             yes       Enumerate usernames
   PASSWORD                              no        A specific password to authenticate with
   PASS_FILE                             no        File containing passwords, one per line
   Proxies                               no        A proxy chain of format type:host:port[,type:host:port][...]
   RANGE_END            10               no        Last user id to enumerate
   RANGE_START          1                no        First user id to enumerate
   RHOSTS                                yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT                80               yes       The target port (TCP)
   SSL                  false            no        Negotiate SSL/TLS for outgoing connections
   STOP_ON_SUCCESS      false            yes       Stop guessing when a credential works for a host
   TARGETURI            /                yes       The base path to the wordpress application
   THREADS              1                yes       The number of concurrent threads (max one per host)
   USERNAME                              no        A specific username to authenticate as
   USERPASS_FILE                         no        File containing users and passwords separated by space, one pair per line
   USER_AS_PASS         false            no        Try the username as the password for all users
   USER_FILE                             no        File containing usernames, one per line
   VALIDATE_USERS       true             yes       Validate usernames
   VERBOSE              true             yes       Whether to print output for all attempts
   VHOST                                 no        HTTP server virtual host

msf6 auxiliary(scanner/http/wordpress_login_enum) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf6 auxiliary(scanner/http/wordpress_login_enum) > set RPORT 8080
RPORT => 8080
msf6 auxiliary(scanner/http/wordpress_login_enum) > set DB_ALL_USERS true
DB_ALL_USERS => true
msf6 auxiliary(scanner/http/wordpress_login_enum) > run

[-] The connection was refused by the remote host (127.0.0.1:8080).
[-] / does not seem to be WordPress site
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/wordpress_login_enum) > set RPORT 8000
RPORT => 8000
msf6 auxiliary(scanner/http/wordpress_login_enum) > run

[*] / - WordPress Version 5.6.1 detected
[*] 127.0.0.1:8000 - / - WordPress User-Enumeration - Running User Enumeration
[*] 127.0.0.1:8000 - / - WordPress User-Validation - Running User Validation
[*] / - WordPress User-Validation - Checking Username:'Administrator'
[-] 127.0.0.1:8000 - [1/4] - / - WordPress User-Validation - Invalid Username: 'Administrator'
[*] / - WordPress User-Validation - Checking Username:'administrator'
[-] 127.0.0.1:8000 - [2/4] - / - WordPress User-Validation - Invalid Username: 'administrator'
[*] / - WordPress User-Validation - Checking Username:'test'
[+] / - WordPress User-Validation - Username: 'test' - is VALID
[+] / - WordPress User-Validation - Found 1 valid user
[-] 127.0.0.1:8000 - [4/4] - / - WordPress User-Validation - Invalid Username: 'normal'
[*] 127.0.0.1:8000 - [5/4] - / - WordPress Brute Force - Running Bruteforce
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/wordpress_login_enum) > 

```

## Linked Issue

[https://github.com/rapid7/metasploit-framework/issues/14790#issue-81372544](https://github.com/rapid7/metasploit-framework/issues/14790#issue-813725448,"https://github.com/rapid7/metasploit-framework/issues/14790#issue-813725448")

Please remind me if any issue is found with the fix! ;-)
2021-03-12 00:02:11 +05:30
Spencer McIntyre b0239b34e3 Document the new java deserialization mixin methods 2021-03-11 12:09:29 -06:00
Spencer McIntyre 8d2e644f4f Add a new Java Deserialization mixin and use it to set the shell 2021-03-11 12:09:29 -06:00
Spencer McIntyre 3ecf0914e1 Use 'none' as the original ysoserial type, increase the size
Increasing the size to occupy two bytes seems to be helping stabilize
the generation for both the ROME and CommonsCollections1 payloads.
2021-03-11 12:09:29 -06:00
dwelch-r7 fce10b8b76 fix autoloading when using the rpc client 2021-03-11 16:42:34 +00:00
dwelch-r7 5f1916072c Handle modules failing to be created when checking compatibility 2021-03-10 14:36:38 +00:00
dwelch-r7 38688e1429 Only fire off on_session_open event after we know the session is fully initialised 2021-03-09 18:32:03 +00:00
Shelby Pace d114641468 Land #14201, add favorite command 2021-03-08 13:06:22 -06:00
Grant Willcox 0b9cd7f6f4 Land #14816, Autoload faker to avoid potential missing constant errors 2021-03-03 15:59:18 -06:00