O meu "sentido de aranha" deveria ter dado o sinal de alerta, mas não deu. E como eu estava com outro problema pendente, deixei esse para resolver depois.
Voltando ao problema de navegação, eu já sabia que não era um problema "normal" de rede porque eu monitorava o servidor normalmente (eu uso o VNC) e até o serviço DHCP estava funcionado. Então eu executei services.msc e constatei que o serviço "Compartilhamento de Conexões com a Internet" estava parado. Achei estranho, mas reiniciei o serviço, e voltei às pesquisas que estava fazendo.
Porém não passou muito tempo e a navegação parou de novo. Fui conferir e o mesmo serviço estava parado outra vez. Reiniciei-o e após algum tempo havia parado novamente. Reiniciei o servidor e o problema persistiu.
Executei eventvwr.msc e procurei por quaisquer erros ou alertas ocorrendo no momento do desligamento do ICS. Nada.
Aí eu passei a cronometrar. O serviço estava sendo interrompido a intervalos irregulares de entre 9 e 10 minutos. Fiz uma pesquisa no Google a respeito e encontrei outras pessoas com o mesmo problema, mas nenhuma solução ou mesmo uma dica relevante.
E o tráfego de 5KB/s de upload não parava nem por um momento.
Como o Windows 2000 não tem um Msconfig.exe, usei o Autoruns para procurar por possíveis intrusos. A quantidade de informação exibida por Autoruns intimida e acaba sendo fácil deixar algo passar despercebido, além do fato de que eu considerava uma invasão ao meu servidor algo pouco provável. Por isso se não fosse por um pequeno detalhe eu talvez não tivesse notado o intruso:
A presença da variável %WINDIR% na listagem chamou minha atenção. Não é indício de vírus mas é um erro de programação incomum. Mas foi a atenção que eu precisava para notar que o arquivo svchost.exe legítimo do Windows deveria estar em System32 e não em System.
Nota: O MSCONFIG não teria mostrado esse intruso, pois não olha em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell
No caso, o processo estava sendo executado assim:
Explorer.exe %WINDIR%\system\svchost.exe
Matei o processo com o Process Explorer (o Gerenciador de Tarefas do Windows não me mostraria qual dos vários SVCHOST.EXE era o ilegítimo, pois não mostra o caminho) e no ato o upload de 5KB/s parou. Removi o arquivo e reiniciei o servidor. O problema sumiu. Submeti o arquivo ao Avast, que não reportou nada. Submeti o arquivo então ao Serviço VirusTotal, que acusou apenas 25% (em 13/06) de positivos, principalmente de antivirus de pouca notoriedade. Mas os 25% já não deixam qualquer dúvida.
Nota: O MSCONFIG não teria mostrado esse intruso, pois não olha em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell
No caso, o processo estava sendo executado assim:
Explorer.exe %WINDIR%\system\svchost.exe
Matei o processo com o Process Explorer (o Gerenciador de Tarefas do Windows não me mostraria qual dos vários SVCHOST.EXE era o ilegítimo, pois não mostra o caminho) e no ato o upload de 5KB/s parou. Removi o arquivo e reiniciei o servidor. O problema sumiu. Submeti o arquivo ao Avast, que não reportou nada. Submeti o arquivo então ao Serviço VirusTotal, que acusou apenas 25% (em 13/06) de positivos, principalmente de antivirus de pouca notoriedade. Mas os 25% já não deixam qualquer dúvida.
Procurei por outros indícios da invasão no servidor e encontrei um outro arquivo de apenas 58KB e nome aleatório na raiz de C:. Submeti o arquivo ao VirusTotal e o resultado foi de 31.25%.
Pelo que pude apurar, este segundo arquivo é apenas um "downloader" e entrou primeiro no meu PC. Ele fez o download de svchost.exe e o instalou no servidor.
Horas depois do vírus ter sido removido eu percebi uma coisa estranha: Eu não conseguia acessar os compartilhamentos do servidor. Fui verificar e dois dos três compartilhamentos de rede do servidor haviam sumido. Eu até posso entender porque um malware removeria os compartilhamentos (proteger-se da "competição" seria um motivo) mas não entendo por que apenas dois deles.
Pausa para fazer um mea culpa: A raiz de C: havia sido compartilhada por mim. Eu realmente não esperava nennhuma invasão desta máquina, já que havia desligado o netbios e compartilhamentos para a placa wireless e tomado outras precauções para "esconder" o PC.
Já vi que não foi suficiente. :/
E mais: o servidor não roda nem anti-virus (teria sido inútil) nem firewall de terceiros. Um firewall extra poderia ter denunciado o intruso, mas por causa de alguns problemas de desempenho da rede que tive ao usar firewall eu deixei o servidor sem nenhum :/
Casa de ferreiro...
Mas é o primeiro problema em seis meses de operação 24H.
O desligamento do serviço ICS faz sentido. O serviço responsável pelo firewall é o mesmo do ICS e você não pode desligar um sem desligar o outro. A linha de comando para isso é "net stop sharedaccess". A intenção do malware era desligar o firewall e no meu caso isso não passa despercebido porque impede todos os outros computadores da minha rede de acessar a internet.
O engraçado é que se o malware não estivesse desligando o serviço ICS e eu estivesse usando P2P, o tráfego de 5KB/s dele teria passado despercebido, porque a banda mínima oferecida por meu provedor é de 16KB/s, chegando a mais de 80KB/s dependendo do horário. O programador foi esperto ao limitar o tráfego. Como eu não estou usando P2P eu teria eventualmente percebido o tráfego estranho por causa do meu monitoramento com o NetMeter, mas poderia levar dias.
Pelo que pude apurar, este segundo arquivo é apenas um "downloader" e entrou primeiro no meu PC. Ele fez o download de svchost.exe e o instalou no servidor.
Horas depois do vírus ter sido removido eu percebi uma coisa estranha: Eu não conseguia acessar os compartilhamentos do servidor. Fui verificar e dois dos três compartilhamentos de rede do servidor haviam sumido. Eu até posso entender porque um malware removeria os compartilhamentos (proteger-se da "competição" seria um motivo) mas não entendo por que apenas dois deles.
Pausa para fazer um mea culpa: A raiz de C: havia sido compartilhada por mim. Eu realmente não esperava nennhuma invasão desta máquina, já que havia desligado o netbios e compartilhamentos para a placa wireless e tomado outras precauções para "esconder" o PC.
Já vi que não foi suficiente. :/
E mais: o servidor não roda nem anti-virus (teria sido inútil) nem firewall de terceiros. Um firewall extra poderia ter denunciado o intruso, mas por causa de alguns problemas de desempenho da rede que tive ao usar firewall eu deixei o servidor sem nenhum :/
Casa de ferreiro...
Mas é o primeiro problema em seis meses de operação 24H.
O desligamento do serviço ICS faz sentido. O serviço responsável pelo firewall é o mesmo do ICS e você não pode desligar um sem desligar o outro. A linha de comando para isso é "net stop sharedaccess". A intenção do malware era desligar o firewall e no meu caso isso não passa despercebido porque impede todos os outros computadores da minha rede de acessar a internet.
O engraçado é que se o malware não estivesse desligando o serviço ICS e eu estivesse usando P2P, o tráfego de 5KB/s dele teria passado despercebido, porque a banda mínima oferecida por meu provedor é de 16KB/s, chegando a mais de 80KB/s dependendo do horário. O programador foi esperto ao limitar o tráfego. Como eu não estou usando P2P eu teria eventualmente percebido o tráfego estranho por causa do meu monitoramento com o NetMeter, mas poderia levar dias.
Esse negócio de anti-virus é complicado. A algumas semanas por um motivo bem similar eu mandei o AVG pastar e instalei a versão free do AntiVir.
ResponderExcluirDigamos que eu estou muito satisfeito, não lerdeou o sistema e o índice de positivos em arquivos altamente suspeitos que o AVG diz estar tudo ok é bem maior.
Também estou com o Antivir em vez do AVG. Mas esse downloader aí que voce achou no seu servidor escondido no meu deve estar abarrotado!
ResponderExcluirJefferson, você executou um '.exe' do mal na sua máquina (cliente do servidor) para que o servidor fosse infectado, correto? Ou existe uma maneira da infecção ter ocorrido SEM a sua execução? (ou a execução no PC da sua irmã)
ResponderExcluirAté onde eu sei, um vírus só vai conseguir penetrar no meu Windows se eu (ou alguém, ou algo) o executar.
Tive um problema com conseqüências muito chatas na semana passada e estou achando que terei que rever os meus conceitos.
Rafa,
ResponderExcluirEu não executei nada "do mal" nessa máquina. É um servidor e só executo nele um grupo bem definido de programas.
Como eu estava com o drive C: compartilhado alguém que é capaz de colocar um arquivo na minha raiz tem condições de programar a execução desse arquivo no próximo boot.
Tirando isso, existem exploits que podem permitir, mesmo se meu drive C: não estivesse compartilhado, a colocação do arquivo na raiz e sua execução, mas eu presumo que o Windows 2000 SP4 não tenha nenhuma falha dessas.
Eu realmente não tenho como saber com certeza como o programa entrou e foi executado. Mas ninguém na minha casa o executou. Esse servidor sequer tem teclado e mouse.
Naaaaaaaaa... :)
ResponderExcluirEu prefiro lidar com "demônios que eu conheço" ;)