For the complete documentation index, see llms.txt. This page is also available as Markdown.

rConfig

rConfig 3.9.4 exposed over HTTPS on TCP/8081 can be chained from authentication bypass to authenticated command injection for an apache shell.

Discovery

Nmap indicators:

8081/tcp open  http  Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16)
|_http-title: 400 Bad Request

Plain HTTP to the port may show:

Reason: You're speaking plain HTTP to an SSL-enabled server port.

Browse with HTTPS:

https://TARGET:8081/login.php
rConfig - Configuration Management

The version is visible in the page footer:

rConfig Version 3.9.4

The authenticated settings page can leak useful environment information:

https://TARGET:8081/settings.php
PHP Version: 5.4.16
OS Version: Linux quackerjack 3.10.0-1127.10.1.el7.x86_64
Database Verson: 5.5.65-MariaDB
Database Name: rconfig
Database Connection: Localhost via UNIX socket

Auth Bypass to Temporary Admin

Exploit-DB 48878.py can create a temporary admin user. Configure the target URL with HTTPS and the trailing slash:

Run the PoC and choose user creation for the authentication bypass:

Successful path:

The observed temporary credentials were:

Use the temporary admin instead of changing the real admin password.

Authenticated RCE

Use Exploit-DB 48241.py (search.crud.php command injection, CVE-2020-10879) with the temporary admin account:

Successful shell:

Confirm context:

rConfig Database Credentials

After getting a shell, rConfig database credentials were available in the application directory:

Observed values:

Use them locally to enumerate the application database:

Useful tables:

References

  • https://www.exploit-db.com/exploits/48878

  • https://www.exploit-db.com/exploits/48241

Last updated