Jump to content


Photo

Monitorar Nobody No Envio De E-mail


  • Faça o login para participar
1 reply to this topic

#1 Hospedar-se .Com

Hospedar-se .Com

    Super Veterano

  • Usuários
  • 1500 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 21/04/2006, 15:54

Muitos hosts tem problemas com spam por causa que a maioria dos sites de seus clientes são inseguros quanto a programação, principalmente os que usam sistemas php (nada contra), o famoso método usado pelos LAMMERS ou NEWBIES (como preferirem serem chamados) é a insegurança com a função include(); do php, com isso da pra carregar uma função que esteja em outro site para dentro do site mal programado, a maioria dos problemas começam nesse ponto.

Exemplo Simples de uma invasão:

USUÁRIO MAL INTENCIONADO -> SITE DO CLIENTE -> INDEX.PHP?pagina=index (Inseguro)


Nisso ele vai tentar verificar se está inseguro, no caso ficaria assim:

INDEX.PHP?pagina=http://www.uol.com.br ou qualquer outro endereço

Nosso amigo newbie consegue o acesso :blink: o próximo passo ele vai gerar funções php para poder carregar no site do cliente e executar comandos aleatórios, o que provavelmente esse cliente irá reclamar que o site foi alterado ou invadido pela insegurança de seus scripts...



Chegando à esse ponto, alguns comandos podem ser desabilitados pra dificultar o invasor (talvez falemos disso no próximo tutorial). Para não fugir do assunto vou ensinar uma técnica de que site o usuário nobody está enviando os e-mail:


1º - Logar como root no shell e dar um stop em seu servidor de e-mail.


2º - Mover o SENDMAIL para outro arquivo, em qualquer linguagem linux o sendmail é usado para enviar emails sem autenticação

mv /usr/sbin/sendmail /usr/sbin/sendmail.hidden


3º - Vamos criar um simples script para monitorar tudo o que está indo para o sendmail (é nesse ponto que a mágica começa):

Novo Script: /usr/sbin/sendmail (copiar e colocar nele)
#!/usr/local/bin/perl

use Env;
my $date = `date`;
chomp $date;
open (INFO, ">>/var/log/spam_log") || die "Failed to open file: $!";
my $uid = $>;
my @info = getpwuid($uid);
if($REMOTE_ADDR) {
		print INFO "$date - $REMOTE_ADDR ran $SCRIPT_NAME at $SERVER_NAME \n";
}
else {
	   print INFO "$date - $PWD -  @info \n";
}
my $mailprog = '/usr/sbin/sendmail.hidden';
foreach  (@ARGV) {
		$arg="$arg" . " $_";
}
close (INFO);

open (MAIL,"|$mailprog $arg") || die "cannot open $mailprog: $! \n";
while (<STDIN> ) {
		print MAIL;
}
close (MAIL);


4º - Vamos colocar ele para ser um executável
chmod +x /usr/sbin/sendmail


5º - Para terminar, vamos criar os arquivos onde irão ser gravado tudo o que está acontecendo:
touch /var/log/spam_log
chmod 0777 /var/log/spam_log



Agora para acompanhar tudo o que está acontecendo com o sendmail, basta acessar o shell e digitar:
tail -f /var/log/spam_log

Pra sair dos logs, é só apertar CTRL+C




Exemplo de LOG gerado:
Fri Apr 21 15:40:04 BRT 2006 - /home/USUARIO/public_html/forum -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:40:53 BRT 2006 - /home/USUARIO/public_html -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:41:19 BRT 2006 - /home/USUARIO/public_html/forum -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:42:23 BRT 2006 - /home/USUARIO/public_html/forum -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:43:39 BRT 2006 - /home/USUARIO/public_html/forum -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:44:18 BRT 2006 - /home/USUARIO/public_html/guestbook -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:44:32 BRT 2006 - /home/USUARIO/public_html/forum -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:45:17 BRT 2006 - /home/USUARIO/public_html/site -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:47:36 BRT 2006 - /home/USUARIO/public_html/php -  nobody x 99 99   Nobody / /sbin/nologin
Fri Apr 21 15:49:38 BRT 2006 - /home/USUARIO/public_html/sistemas/forum -  nobody x 99 99   Nobody / /sbin/nologin


Caso aconteça spam através do NOBODY, já temos como identificar com mais facilidade de qual dos sites está vindo.

Você pode colocar mais funções no código pra bloquear palavras antes de enviar o e-mail, etc... isso é só um exemplo básico de como identificar os problemas.


OBS.: Não enviar e-mails com dúvidas, postar direto no fórum. (y)

Edição feita por: Hospedar-se .Com, 21/04/2006, 16:07.


#2 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 25/10/2017, 13:23

Vente Propecia Generique viagra Buy Betnovate No Presc Uk




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq