você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

Buscar possíveis vírus

Por Rogério Reis

Data de Publicação: 26 de Julho de 2008

Apesar de toda a estrutura existência para evitar vírus na rede, especialmente os appliances e regras nos MTAs, usuário é usuário em qualquer lugar e sempre consegue um jeitinho de se infectar, ultimamente pelos falsos cartões virtuais.

Segue um script que fiz e coloquei no cron para rodar uma vez por dia, ele busca por arquivos com extensões perigosas (.com, .vbs, .scr, .pif) e mais podem ser adicionadas, se ele encontrar algum arquivo deste tipo, ele envia um e-mail reportando quais arquivos estão nesta condicão.

Achei útil escrever este script para o servidor de arquivos, deste modo, se algum usuário se infectar, posso identificar rapidamente quem é o mesmo, verificando o dono do arquivo.

Depende do programa sendEmail, pois alguns servidores de arquivos não possuem acesso a internet para enviar mensagens pelo comando mail. Pode ser encontrado em http://caspian.dotconf.net/menu/Software/SendEmail/

Sei que o código pode ser melhorado, quem quiser sugerir, fique à vontade.

  #!/bin/bash
  # Anexex - script para monitorar o servidor de arquivos na busca de anexos que podem ser virus
  # Autor Rogerio Reis rogerio-reis@bol.com.br
  # Data  29/07/05
  
  # Arquivos temporarios
  cabecalho="/tmp/anexex-cab.txt"
  relat="/tmp/relat-anexex.txt"
  comp="/tmp/anexex.txt"
  relatcab="/tmp/relatcab.txt"
  
  # Cria arquivos de tempo de execucao
  > $cabecalho
  > $relat
  > $relatcab
  
  # Data
  hoje=`date`
  
  # Atualiza a base de arquivos
  #updatedb
  
  #Cabecalho do relatorio
  echo "Relatorio Anexex ---- Verifica possiveis virus na rede" >> $cabecalho
  echo "Data: $hoje" >> $cabecalho
  echo "" >> $cabecalho
  echo "" >> $cabecalho
  
  # E-mail para reportar os fatos
  email=email@dominio.com.br
  servidor=10.0.0.1 #ip do servidor de e-mails
  
  qtdpif=`locate *.pif > /tmp/qtdpif && cat /tmp/qtdpif | wc -l`
  if [ 0 -ne $qtdpif ]
  then
         echo "Encontrado arquivo com extensao .pif" >> $relat
         echo "Quantidade encontrada: $qtdpif" >> $relat
         cat /tmp/qtdpif >> $relat
         echo "" >> $relat
  fi
  
  qtdvbs=`locate *.vbs > /tmp/qtdvbs && cat /tmp/qtdvbs | wc -l`
  
  if [ 0 -ne $qtdvbs ]
  then
         echo "Encontrado arquivo com extensao .vbs" >> $relat
         echo "Quantidade encontrada: $qtdvbs" >> $relat
         cat /tmp/qtdvbs >> $relat
         echo "" >> $relat
  
  fi
  
  qtdcom=`locate *.com > /tmp/qtdcom && cat /tmp/qtdcom | wc -l`
  if [ 0 -ne $qtdcom ]
  then
         echo "Encontrado arquivo com extensao .com" >> $relat
         echo "Quantidade encontrada: $qtdcom" >> $relat
         cat /tmp/qtdcom >> $relat
         echo "" >> $relat
  fi
  
  qtdscr=`locate *.scr > /tmp/qtdscr && cat /tmp/qtdscr | wc -l`
  if [ 0 -ne $qtdscr ]
  then
         echo "Encontrado arquivo com extensao .scr" >> $relat
         echo "Quantidade encontrada: $qtdscr" >> $relat
         cat /tmp/qtdscr >> $relat
         echo "" >> $relat
  
  fi
  
  if diff $comp $relat
  then
         exit 0
  else
         # Envia e-mail reportando
         cat $cabecalho $relat > $relatcab
         cat $relatcab | /usr/local/sendEmail-v1.42/sendEmail -f anexex@dominio.com.br -t $email -s $servidor -u "Anexo Executavel"
         # Atualiza arquivo de comparacao
         cp -f $relat $comp
  fi

Recomende este artigo nas redes sociais

 

 

Veja a relação completa dos artigos desta coluna