Lucene search
K

TrendMicro Anti-Threat Toolkit Improper Fix

🗓️ 30 Jan 2020 00:00:00Reported by Stefan KanthakType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 189 Views

TrendMicro Anti-Threat Toolkit Improper Fix, Vulnerabilities with Files and Batch Scrip

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Trend Micro Anti-Threat Toolkit 1.62.0.1218 - Remote Code Execution Exploit
21 Oct 201900:00
zdt
Circl
CVE-2019-9491
21 Oct 201900:00
circl
CNVD
Trend Micro Anti-Threat Toolkit Input Validation Error Vulnerability
21 Oct 201900:00
cnvd
CNVD
Trend Micro Anti-Threat Toolkit Arbitrary Code Execution Vulnerability
4 Feb 202000:00
cnvd
CVE
CVE-2019-20358
30 Jan 202021:10
cve
CVE
CVE-2019-9491
21 Oct 201918:35
cve
Cvelist
CVE-2019-20358
30 Jan 202021:10
cvelist
Cvelist
CVE-2019-9491
21 Oct 201918:35
cvelist
Exploit DB
Trend Micro Anti-Threat Toolkit 1.62.0.1218 - Remote Code Execution
21 Oct 201900:00
exploitdb
EUVD
EUVD-2019-10911
7 Oct 202500:30
euvd
Rows per page
`Hi @ll,  
  
on September 29, 2019, John Page reported a remote code execution  
with escalation of privilege in TrendMicro's Anti-Threat Toolkit  
to its vendor.  
TrendMicro assigned CVE-2019-9491 to this vulnerability and told  
the reporter, his dog and the world on October 18, 2019, that they  
had fixed the vulnerable product.  
  
See <https://success.trendmicro.com/solution/000149878>,  
<https://seclists.org/fulldisclosure/2019/Oct/42> and  
<http://hyp3rlinx.altervista.org/advisories/TREND-MICRO-ANTI-THREAT-TOOLKIT-(ATTK)-REMOTE-CODE-EXECUTION.txt>  
  
TrendMicro's claim was but wrong, the vulnerability was NOT FIXED!  
  
The files attk_ScanCleanOffline_gui_x86.exe, attk_collector_cli_x86.exe,  
attk_ScanCleanOffline_gui_x64.exe and attk_collector_cli_x64.exe  
offered on <https://spnsupport.trendmicro.com/> were STILL vulnerable,  
as was their payload!  
  
  
Vulnerability #1:  
~~~~~~~~~~~~~~~~~  
  
On a fully patched Windows 7 SP1, the executable self-extractors  
attk_ScanCleanOffline_gui_x86.exe, attk_collector_cli_x86.exe,  
attk_ScanCleanOffline_gui_x64.exe and attk_collector_cli_x64.exe  
loaded and executed at least the following DLLs from their  
"application directory", typically the user's "Downloads" folder  
%USERPROFILE%\Downloads\, instead from Windows' "system directory"  
%SystemRoot%\System32\  
VERSION.dll, IPHLPAPI.dll, WINNSI.dll, WINHTTP.dll, WEBIO.dll,  
DHCPCSVC.dll, CRYPTSP.dll, BCRYPT.dll, NCRYPT.dll, DNSAPI.dll,  
RASADHLP.dll, PROPSYS.dll, APPHELP.dll  
  
On other versions of Windows this list varied, but some DLLs were  
ALWAYS loaded from the "application directory"!  
  
This BEGINNER's error is well-known and well-documented since MORE  
than 20 years:  
see <https://capec.mitre.org/data/definitions/471.html>,  
<https://cwe.mitre.org/data/definitions/426.html>,  
<https://cwe.mitre.org/data/definitions/427.html>,  
<https://blogs.msdn.microsoft.com/david_leblanc/2008/02/20/dll-preloading-attacks/>,  
<https://insights.sei.cmu.edu/cert/2008/09/carpet-bombing-and-directory-poisoning.html>,  
<http://www.binaryplanting.com/index.htm>,  
<https://attack.mitre.org/wiki/Technique/T1073>,  
<https://skanthak.homepage.t-online.de/sentinel.html>,  
<https://skanthak.homepage.t-online.de/verifier.html>,  
<https://skanthak.homepage.t-online.de/!execute.html>,  
<https://skanthak.homepage.t-online.de/minesweeper.html>  
  
  
Demonstration/Proof of concept:  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  
Follow <https://skanthak.homepage.t-online.de/minesweeper.html>,  
build a "minefield" of forwarder DLLs, then copy attk_*.exe into  
the directory where you built the DLLs and execute it: enjoy the  
multiple message boxes displayed from the forwarder DLLs.  
  
  
Vulnerability #2:  
~~~~~~~~~~~~~~~~~  
  
On all versions of Windows, the batch script batCollector.bat,  
unpacked from the executable extractors, which controls execution  
of the TrendMicro AntiThreat Toolkit itself, executed  
findstr.com/findstr.exe/findstr.bat/findstr.cmd  
plus  
REG.com/REG.exe/REG.bat/REG.cmd  
(see the environment variable PATHEXT for the extensions) from  
the directory  
"TrendMicro AntiThreat Toolkit\HC_ATTK"  
where the batch script batCollector.bat lives:  
  
--- batCollector.bat ---  
  
| @echo off  
| setlocal disableDelayedExpansion  
| set wd=%~dp0  
| cd /d %wd%  
...  
| for /f "tokens=*" %%a in ('findstr BatCollector= ..\..\config.ini') do (  
...  
| REG EXPORT ...  
...  
  
findstr and REG are called in the script without file extension and  
without path (although BOTH are well-known), so CMD.exe runs  
findstr.com/findstr.exe/findstr.bat/findstr.cmd and  
REG.com/REG.exe/REG.bat/REG.cmd from its "current working directory"  
"TrendMicro AntiThreat Toolkit\HC_ATTK"  
  
The missing path and extension are BEGINNER'S error #2.  
  
Again see <https://cwe.mitre.org/data/definitions/426.html>,  
<https://cwe.mitre.org/data/definitions/427.html>  
and <https://capec.mitre.org/data/definitions/471.html>  
  
  
Vulnerability #3:  
~~~~~~~~~~~~~~~~~  
  
The executable self-extractors fail to restrict (at least write)  
access to this directory for UNPRIVILEGED users, i.e. allow write  
access only for members of the "Administrators" group: this is  
BEGINNER'S error #3.  
  
In standard installations of Windows, where the qUACkery-controlled  
user account created during setup is used, this UNPROTECTED directory  
is therefore writable by the UNPRIVILEGED user who can place a rogue  
findstr.com/findstr.exe/findstr.bat/findstr.cmd and  
REG.com/REG.exe/REG.bat/REG.cmd there ... and gains administrative  
privileges!  
  
Additionally an UNPRIVILEGED attacker can add arbitrary command  
lines to the UNPROTECTED batch script batCollector.bat between its  
creation and its execution, or replace it completely.  
  
Again see <https://cwe.mitre.org/data/definitions/426.html>,  
<https://cwe.mitre.org/data/definitions/427.html>  
and <https://capec.mitre.org/data/definitions/471.html>,  
plus <https://cwe.mitre.org/data/definitions/732.html>,  
<https://cwe.mitre.org/data/definitions/377.html>,  
<https://cwe.mitre.org/data/definitions/379.html>  
and <https://capec.mitre.org/data/definitions/29.html>  
  
  
stay tuned, and FAR AWAY from so-called security products:  
their "security" is typically worse than that of the products  
they claim to protect!  
  
Stefan Kanthak  
  
PS: the TrendMicro Anti-Threat Toolkit inspected in October 2019  
was built from scrap: the developers used VisualStudio 2008  
(end-of-life since two years), linked against an outdated and  
vulnerable LIBCMT, shipped an outdated and vulnerable cURL 7.48  
plus an outdated and vulnerable libeay32.dll 1.0.1.17 (OpenSSL  
1.0.1 is end-of-life since more than 3 years; the last version  
was 1.0.1.20).  
This POOR (really: TOTAL lack of proper) software engineering  
alone disqualifies this vendor and its "security" products!  
  
JFTR: "they'll never come back" (really: developers SELDOM learn)  
<https://seclists.org/fulldisclosure/2010/Sep/332>  
<https://seclists.org/fulldisclosure/2015/Dec/128>  
  
  
Timeline:  
~~~~~~~~~  
  
2019-10-23 sent reports for both vulnerabilities to vendor  
  
2019-10-25 vendor acknowledged receipt  
  
2020-01-07 CVE-2019-20358 assigned by vendor  
  
2020-01-29 updated advisory published by vendor  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation