ZeroHour
Security Affairspublished ()ingested @securityaffairs1

Chinese threat actor exploits old ThinkPHP flaws since Oct. 2023

Vulnerabilities mentionedAll →

CVEVulnerabilityCVSSEPSSFlagsAffectedExposurePublished
CVE-2018-20062
Unauthenticated Remote Code Execution in ThinkPHP-based noneCms 1.3

NoneCms V1.3, an open-source Chinese CMS built on the ThinkPHP 5.0.x framework, is vulnerable to unauthenticated remote code execution through the framework's URL dispatcher in thinkphp/library/think/App.php. Because the framework's 's' routing parameter can invoke arbitrary framework classes and methods, an attacker can pass a crafted 'filter' value (e.g., s=index/\think\Request/input&filter=phpinfo&data=1) that is applied to the 'data' argument as a callable, executing attacker-chosen PHP functions or code. Successful exploitation gives full code execution on the web server under the application's privileges, enabling web shells, botnet implants, and ransomware staging without any credentials or user interaction. Any internet-facing deployment of noneCms V1.3 — and, more broadly, applications running the affected ThinkPHP 5.0.x framework (the public PoC references 5.0.23) — is exposed. Exploitation is confirmed in the wild: the flaw is on CISA's Known Exploited Vulnerabilities catalog (added 2021-11-03), EPSS assigns a 99.5% probability of exploitation within 30 days, and headlines note botnets such as Enemybot and Chinese threat actors chaining ThinkPHP RCEs against CMS servers.

Do: Apply updates per vendor instructions: upgrade noneCms to the latest release and update the bundled ThinkPHP 5.0.x framework to a patched build. Inspect web server and WAF logs for requests using the s=index/\think\Request/input&filter=... pattern and other ThinkPHP route-invocation payloads, and hunt for web shells or post-exploitation artifacts. Until patched, block or strictly validate the 's' and 'filter' query parameters at a WAF/reverse proxy and limit internet exposure of the application.

9.8100% KEV PoC ×2
  • ThinkPHP (CISA lists vendor as 'ThinkPHP noneCms') noneCms V1.3 confirmed vulnerable (built on ThinkPHP 5.0.x; PoC references ThinkPHP 5.0.23)
nicheunknown exact count; plausibly on the order of hundreds to a few thousand self-hosted sites, with at least some internet-exposed instances
CVE-2019-9082
Unauthenticated RCE in ThinkPHP < 3.2.4 (Open Source BMS, ZzzCMS zzzphp)

CVE-2019-9082 is an unauthenticated remote code execution flaw (CWE-94 code injection, CWE-306 missing authentication) in ThinkPHP versions before 3.2.4, as shipped in Open Source BMS v1.1.1 and other ThinkPHP-based products. An attacker triggers it by sending a crafted HTTP GET request to the route public/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=<command>, which makes the framework invoke the system function with attacker-controlled arguments. Because no authentication is required, any remote attacker who can reach the web application can execute arbitrary operating-system commands with the privileges of the web server, typically gaining a foothold for data theft, ransomware, or botnet/cryptomining implants. Affected users are operators of ThinkPHP-based sites and applications, specifically ThinkPHP prior to 3.2.4, Open Source BMS v1.1.1, and ZzzCMS zzzphp as listed by CISA. Exploitation is confirmed in the wild: the flaw is in CISA KEV (added 2021-11-03), has a 97.4% EPSS probability of exploitation within 30 days, and threat-actor activity against old ThinkPHP flaws — including a Chinese threat actor since October 2023 and the DirtyMoe wormable botnet — keeps pressure on unpatched servers.

Do: Upgrade ThinkPHP to version 3.2.4 or later (or a currently supported maintained branch) and update Open Source BMS beyond v1.1.1 and zzzphp to vendor-patched releases, per CISA's required action. Check access logs for requests to the invokefunction route (public/?s=index/\think\app/invokefunction with call_user_func_array/system) and hunt for signs of follow-on webshell, botnet, or cryptomining activity, given active abuse by Chinese-linked actors and the DirtyMoe botnet. As interim mitigation, block or restrict the invokefunction route at a WAF/reverse proxy for unauthenticated users; remediation is mandatory under BOD 22-01 because the flaw is in KEV.

8.897% KEV PoC ×3
  • ThinkPHP framework All versions before 3.2.4
  • OpenSourceBMS Open Source Background Management System (Open Source BMS) 1.1.1 (and other builds bundling ThinkPHP prior to 3.2.4)
  • ZzzCMS zzzphp CMS
massOn the order of hundreds of thousands of internet-exposed ThinkPHP instances, plus additional downstream Open Source BMS and zzzphp deployments
Full article593 words · extracted from securityaffairs.com · click to collapse

Akamai observed a Chinese-speaking group exploiting two flaws, tracked as CVE-2018-20062 and CVE-2019-9082, in ThinkPHP applications.

Akamai researchers observed a Chinese threat actor exploiting two old remote code execution vulnerabilities, tracked as CVE-2018-20062 and CVE-2019-9082, in ThinkPHP.

The campaign seems to have been active since at least October 2023, it initially targeted a limited number of customers/organizations but recently became widespread.

The attacks originated from various IP addresses associated with servers hosted on the “Zenlayer” cloud provider (ASN 21859) which is primarily located in Hong Kong.

“Attackers are exploiting known vulnerabilities, some of them several years old, and they are having success doing so. A prime example of this is the ThinkPHP remote code execution (RCE) vulnerabilities CVE-2018-20062 and CVE-2019-9082.” reads the analysis published by Akamai.

In attacks detected on October 17, 2023, threat actors exploited vulnerabilities by instructing victim servers to install an obfuscated shell from a remote server under the attacker’s control, rather than using common “proof of concept” commands. This initial campaign was short-lived, but a similar and much larger campaign has been observed as of April 2024.

The CVE-2018-20062 and CVE-2019-9082 vulnerabilities in the Chinese ThinkPHP framework impact content management systems like NoneCMS and open-source BMS. These vulnerabilities allow attackers to remotely execute code on the victim’s server. They are part of a series of exploit variants targeting different ThinkPHP components, disclosed over several years starting from 2018.

The attacks detected by Akamai exploit the flaws to download a file named “public.txt” from a compromised server in China. This file is saved on victims’ systems as “roeter.php,” likely a misspelling of “router.” The downloaded file contains an obfuscated web shell, a server-side backdoor script for remote control. The web shell code is obfuscated using a basic ROT13 transformation, resulting in a long HEX string. The attackers used a simple password, “admin,” to access the web shell.

ThinkPHP

“The web shell demonstrates advanced capabilities, such as navigating the file system, which enables operations like file editing, deletion, and timestamp modification for obfuscation purposes.” continues the analysis. “The webshell user interface, also known as Dama, is in Traditional Chinese. In addition to the aforementioned advanced mechanisms, Dama facilitates file uploads to the server and gathers crucial technical system data, including precise OS versions and PHP information, which aids in the identification of pertinent privilege escalation exploits.

The experts pointed out that the Dama web shell stands out because of the Chinese origin of the user interface.

Post-exploitation features include network port scanning and access to existing databases and server data. The web shell also allows privilege escalation by bypassing disabled sensitive PHP functions to execute shell commands on the server. The web shell also uses the Windows task scheduler to reconfigure WMI and add high-privileged users. The Akamai researchers observed that despite its extensive functionality, the web shell lacks support for a command-line interface (CLI) for executing direct OS shell commands.

“This web shell is yet another example of a one-day — despite how long they’ve been known,  attackers continue to target and exploit them, with notable success. This underscores the persistent challenge organizations face in identifying vulnerable assets and maintaining effective patch management processes.” concludes the report. “The recent attacks originated by a Chinese-speaking adversary highlight an ongoing trend of attackers using a fully fledged web shell, designed for advanced victim control. Interestingly, not all targeted customers were using ThinkPHP, which suggests that the attackers may be indiscriminately targeting a broad range of systems.”

Pierluigi Paganini

Follow me on Twitter: @securityaffairs and Facebook and Mastodon

(SecurityAffairs – hacking, ThinkPHP)



Text extracted automatically; images, tables and formatting may be missing. Original: https://securityaffairs.com/164239/hacking/hackers-exploits-old-thinkphp-flaws.html