| Current File : //usr/local/scripts/forwarder.pl |
#!/usr/local/cpanel/3rdparty/bin/perl
#BEGIN { unshift @INC, '/usr/local/cpanel'; }
use lib '/usr/local/share/perl5';
#use strict;
use Cpanel::SafetyBits ();
use Cpanel::AcctUtils ();
use Cpanel::PublicAPI ();
use Cpanel::LiveAPI ();
use MIME::Lite;
$server = `hostname`;
chomp($server);
open(FD,"</usr/local/scripts/forwarders");
@lista = <FD>;
close(FD);
foreach $linha ( @lista ) {
chomp($linha);
@injected = `grep -i $linha /etc/valiases/*`;
foreach $l ( @injected ) {
chomp($l);
print $l."\n";
$badguy = $linha;
(undef,$conta,undef) = split ( /:/,$l);
($user,$domain) = split (/\@/,$conta);
($bguser,$bgdomain) = split (/\@/,$badguy);
$bguser =~ s/^\s+//;
my $owner = Cpanel::AcctUtils::getdomainowner( $domain, { 'default' => '' } );
if ( !$owner ) {
die "Cannot find the owner of $domain, try rebuilding /etc/userdomains first with /usr/local/cpanel/scripts/updateuserdomains";
}
my $pubapi = Cpanel::PublicAPI->new( 'usessl' => '0');
my $res = $pubapi->whm_api('domainuserdata', "domain=$domain");
my $owner = $res->{'data'}->{'userdata'}->{'owner'};
my $fuser = $res->{'data'}->{'userdata'}->{'user'};
my $contacto = $res->{'data'}->{'userdata'}->{'serveradmin'};
my $homedir = $res->{'data'}->{'userdata'}->{'homedir'};
if ( !$homedir ) {
die "Cannot find the owner of $domain";
}
print "$conta - $badguy \n";
$cmd = "cpapi2 --user=$fuser Email delforward email=$user%40$domain emaildest=$bguser%40$bgdomain";
system($cmd);
$msg = "";
$msg = "Servidor gerido $server - Cliente: $fuser endereco indicado na conta: $contacto <br><br>";
$msg = $msg . "Estimado(a) Cliente<br><br>Vimos por este meio notificar que foi detectada a presença de um forward/encaminhamento aparentemente injectado por terceiros na conta de email $conta que permite aos mesmos receberem uma cópia de todas as mensagens recebidas nessa conta. <br><br>";
$msg = $msg . "O encaminhamento malicioso ( $badguy ) foi entretanto removido de forma a mitigar a situação .<br><br>";
$msg = $msg . "Este tipo de acção é conseguido através do acesso indevido a contas de email por terceiros, usando as credenciais válidas das mesmas. Essas credenciais são obtidas na esmagadora maioria dos casos através de trojans/virus/keyloggers/etc instalados nos dispositivos onde as contas são acedidas. <br><br>";
$msg = $msg . "Outra forma poderá ser através do uso de redes WiFi não encriptadas ( normalmente públicas e sem password ) e com protocolos de mail sem TLS/SSL, facilitando o \"sniffing\" desses dados por terceiros.<br><br>";
$msg = $msg . "Deverão alterar a password da conta em questão com urgência.<br><br>";
$msg = $msg . "Após essa acção tomada sugerimos que verifiquem os pontos de acesso à referida conta para a presença de vírus, trojans, keyloggers, etc, que possam estar a facilitar as credenciais a terceiros.<br><br>";
$to = "abusecc\@ptisp.pt";
$msg = MIME::Lite->new(
From =>'Malware/intrusion detector <message@ptisp.pt>',
To =>$to,
Subject =>"Servidor $server - Conta $conta - Forwarder/encaminhamento suspeito detectado ",
Data =>$msg,
Type =>'text/html'
);
$user = "message\@ptisp.systems";
$pass = "geicu7ohy4utaiceiN6eGe";
$msg->send('smtp', 'mta.ptisp.systems', AuthUser=>$user, AuthPass=>$pass, Timeout=>60,);
}
}