#  > Telecomunicações >  > Redes >  >  Procedimento para remoção do virus/worm SkyNet !!

## alexandrecorrea

Caros,

Segue um passo-a-passo de como evitar que o vírus envie dados de sua rede e também como removê-lo:

*Passo 01:* Bloquear o acesso IN->OUT do worm, para evitar envio de informações (login,senha,ips, etc)
o Worm faz comunicação com o IP: *178.216.144.75*, você deve incluir uma regra na tabela FILTER na chain FORWARD, dando um DROP quando o destino for o ip _178.216.144.75_. Caso queira monitorar quais clientes estão infectados, basta que, antes da regra de DROP, voce faça a mesma regra com o ACTION setado para LOG, assim todo acesso do worm vai ser logado.

*Passo 02:* Entre no rádio via SSH (Recomendo utilizar o PUTTY, http://the.earth.li/~sgtatham/putty/.../x86/putty.exe) e execute os seguintes comandos:


```
rm /etc/persistent/rc.poststart
rm -rf /etc/persistent/.skynet
cfgmtd -w -p /etc/
 reboot
```

 
Neste momento o rádio vai ser reinicializado, quando ele retornar, vai estar sem o vírus, você deve atualizar o rádio com os firmwares disponíveis aqui:

_http://189.84.0.10/ubnt.php_

Estes firmwares, são versões estáveis (5.2.1 e 5.3.3) já com as correções. Estes são para *TODA* linha M da ubiquiti (*Airmax M5,M2,M900*). Quando completar o UPLOAD para o rádio vai aparecer uma mensagem em um *box laranja*, avisando que o firmware é de terceiro, basta confirmar a atualização.

Depois de atualizado, volte via SSH no rádio e confirme se o vírus foi removido com sucesso, digitando o comand:


```
ls -l /etc/persistent/.skynet
```

 
o retorno deste comando deve ser:



```
XM.v5.3.3-ajcorrea# ls -l /etc/persistent/.skynet
ls: /etc/persistent/.skynet: No such file or directory
```

 
Pronto, agora é só fazer o mesmo procedimento nos outros rádios.



Para as versões _antigas (AirOS 3.x)_, NanoStation2, NanoStation5 (_não airmax_) você pode utilizar o firmware 4.0.1 disponível no site da ubnt. 

O motivo de ter feito patch para as versões 5.2.1 e 5.3.3 foi para manter a estabilidade da rede, vários usuários tiveram problemas com a versão 5.3.5 publicada pela UBIQUITI, problema este que em muitos casos o upload do rádio não consegue passar de 1MB, tanto como AP quanto como CLIENT (seja em modo router ou em modo bridge). 


Estes firmwares foram testados por vários outros provedores antes de serem publicados, é uma cópia original do firmware com a correção, não foram feitas alterações nas demais partes.



Como o vírus funciona:

*01 - A Falha:*Há uma falha no sistema de autenticação do web-server interno (lighthttpd) onde é possível acessar as configurações via web sem nenhuma senha, bastando informar alguns parâmetros na URL. A ubiquiti desenvolveu um "formulário" de administração para facilitar algumas tarefas (upload,download de arquivos por ex.), este formulário torna a falha mais fácil de ser explorada.
*02 - O WORM SkyNet:*Uma vez um único rádio infectado, o WORM espalha automaticamente pela rede, ele possui um 'daemon' que de tempos em tempos faz uma varredura em TODA rede. Ao encontrar os endereços vulneráveis, ele consegue enviar uma cópia do WORM para este(s) rádios. Estes novos rádios infectados vão fazer o mesmo procedimento, scanear e infectar os rádios que eles encontrarem.

O rádio infectado passa a não responder os comandos via WEB, ele remove TODAS as páginas, a única forma de acesso ao rádio é via SSH, se habilitado. Para rádios que não estão com SSH habilitado, a única forma de remover é fazendo o procedimento via TFTP.

O WORM tem um outro processo, que é o de ESCUTA de rede, ele coloca todas as interfaces em modo "promiscuo", onde é possível a captura de TODOS os pacotes. Com um FILTRO neste processo, ele consegue capturar dados do usuário, dados de administração da rede (usuário e senha de acesso ao rádio). 

De tempos em tempos, o WORM verifica se foram coletados dados, se sim, ele envia estes dados para o IP informado no início do tópico.

Após algum tempo de atividade, o WORM consegue DESLIGAR o rádio com o comando 'halt', assim o rádio passa a não responder mais, sendo necessária intervenção técnica manual (Remover o rádio da tomada e liga-lo novamente).

Ao inicializar, o vírus toma conta do rádio novamente. Após determinado período, o rádio será desligado novamente.

*Considerações finais:
*É importante lembrar que, rádios que tenham IP VÁLIDO, vão espalhar o WORM pela rede INTERNA e também para a rede EXTERNA (internet). Caso o Administrador do provedor não remova o vírus rapidamente, provavelmente terá seu ip ou bloco bloqueado em diversas redes, tendo ainda mais problemas.

Após remover e atualizar, trocar *TODAS* as senhas, pois o vírus enviou estes dados e poderão ser utilizados para um novo ataque.


Saudações,
Alexandre Jeronimo Correa (alexandrecorrea)

Onda Internet
Onda Internet - A sua internet mais que r

IPV6 Ready !

----------


## naldo864

quem entende ,realmente entende agradeço sua ajuda .

----------


## infoservice0101

Mais uma vez Alexandre:
-OBRIGADOOOOOOOOOOOOO

----------


## EribertoTorres

Alexandre, tenho uma pequena dúvida: os meus equipamentos estou instalando agora, vieram com o firmware 5.3.2 e atualizei para o 5.3.5 da página da UBNT. Mantenho os mesmos ou atualizo para essa versão que você postou?

Não estão infectados mas podem vir a ser, por isso já deixei o firmware atualizado. Gostaria de saber se isso é suficiente ou tenho que efetuar mais procedimentos? O próximo que pretendo é fechar as portas desnecessárias, deixando o ssh e o tftp.

Grato pela atenção.

Velhinho.

----------


## alexandrecorrea

A 5.3.5 esta com o patch.. não pega o virus.. o problema da 5.3.5 é que o upload não passa de 1MB ... ja fiz testes onde nao tive problemas com a 5.3.5 .. mas em outros casos.. aconteceu.. entao instalo o 5.3.3 q postei ai !!





> Alexandre, tenho uma pequena dúvida: os meus equipamentos estou instalando agora, vieram com o firmware 5.3.2 e atualizei para o 5.3.5 da página da UBNT. Mantenho os mesmos ou atualizo para essa versão que você postou?
> 
> Não estão infectados mas podem vir a ser, por isso já deixei o firmware atualizado. Gostaria de saber se isso é suficiente ou tenho que efetuar mais procedimentos? O próximo que pretendo é fechar as portas desnecessárias, deixando o ssh e o tftp.
> 
> Grato pela atenção.
> 
> Velhinho.

----------


## EribertoTorres

Valeu a dica Alexandre. Em caso eu limite a banda em 1 Mbps para download e para upload não haveria problemas com esse firmware 5.3.5 correto?
Como instalei os equipamentos ontem para testar, posso fazer algumas provas e ver em que cenários consigo alguma falha ou limitação. Uma simples cópia de arquivos de um servidor http seria suficiente? Melhor dito, uma cópia e um upload a um ftp ou uma pasta compartilhada pelo samba seria suficiente para testar o upload?

Agora que você comentou que me atentei para o firmware 5.3.3, na pressa juro que havia lido com final .5 rsss.

Outra coisa que vem me preocupando: recentemente descobriram que se pode atacar o WPS de alguns APs e consigo revelar inclusive senhas encriptadas WPA2, no caso, os equipamentos da UBNT estão livres dessa falha?

Desde já grato pela atenção e ajuda.

Att.,
Velhinho.

----------


## alexandrecorrea

não da pra saber como e quando ocorre a limitação do upload ... por ex na minha casa.. estava acontecendo problema de limitação.. e nao esta mais .. nao alterei nada..

sobre o problema do WPA.. nao sei .. se for problema no protocolo WPA2 .. com certeza tudo e qualquer equipamento com wpa vai estar com problema

----------


## youshimaru

Alexandre, vlw pelas dicas. Eu tinha entrado em contato com o Ubiquiti sobre este problema e o Kevin me indicou um tópico no fórum deles, mas o seu esta bem mais explicativo que o deles. Só uma questão, os equipamentos que eu possuía estavam apresentando problemas do sábado para o domingo(Antes de remover), todos eles desligavam. Este fator confirma para vocês também, ou é esporádico? Outra coisa, realmente é somente da série M que faz efeito né? Pois achei o vírus em um Bullet 5 v3.5 e ele não estava travando.

----------


## alexandrecorrea

depois de um tempo o virus desliga o equipamento (halt) ... so removendo da tomada para volta-lo ao funcionamento...

nao vi virus nas versoes anteriores a 3.6.1 .. mas PODE ser que seja possivel.. precisaria fazer uma analise...

----------


## adrianofante

Ótima dica alexandre, Parabéns!

Só pra complementar o tópico eu criei uma regra nos meus Gateways mikrotik para que bloquei tudo que for relacionado a skynet.tgz e dessa forma não é mais possivel fazer o upload do arquivo para os equipamentos ubiquiti, é claro que se o cara trocar o nome do arquivo ai ferrou, mas acredito que tudo é válido, pelo menos dificulta um pouco mais né?! 
regras do mk:

/ip firewall filter
add action=drop chain=forward comment="bloqueio upload virus ubiquiti skynet" content=skynet.tgz disabled=no
add action=drop chain=forward comment="bloqueio virus ubiquiti skynet" disabled=no dst-address=178.216.144.75
add action=log chain=forward comment="Log de quem tentou fazer download do virus" content=skynet.tgz disabled=no log-prefix="Virus Ubiquiti - Download"
add action=log chain=forward comment="Log de quem tentou fazer download do virus" disabled=no dst-address=178.216.144.75 log-prefix="Virus Ubiquiti"



Outra dica também é para quem usa os rocket como ap ou ptp é ativar o firewall em todos eles com uma regra assim:
Firewall Ubiquiti
Action: Drop
interface: Any
IP Type: IP
Source Ip/Mask: 0.0.0.0/0
Destination IP/Mask: 178.216.144.75/32
e marque a opção ON no firewall

dessa forma você isola um pouco mais o problema.

Lembrando que essas regras não são o fim do problema, é apenas alguma forma de amenizar.

T+

----------


## adrianofante

ahh outra coisa, após você criar a regra para bloqueio do conteúdo "skynet.tgz" você não vai conseguir acessar mais nada que contenha a palavra "skynet.tgz" , nem mesmo esse post....rsrsrsrsrs

pode ser que isso de problema para alguém, mas é uma diga portanto você não é obrigado a fazer.

----------


## Ollenini

Alexandre e Adriano ambos merecem parabéns pela contribuição

----------


## Nks

Grande Alexandre sempre com as grandes dicas... utilizo seu script de ack alto nos AP mikrotik ate hj!!! hehehe
Enfim, aproveitando o assunto que vc falou sobre atualizacao TFTP, eu gostaria de pergunta: Qual eh o ip tftp da linha M5 da ubiquiti? Tentei outro dia utilizando o 192.168.1.6 mais esses sao para chipset Realtek. Vc ou alguem sabe me dizer qual eh o ip tftp da linha M5??
E é o msm procedimento? Ligar com o reset pressionado??

Aguardo, obrigado.

----------


## alexandrecorrea

192.168.1.20

----------


## Nks

alexandre memos que nao fui infectado pelo virus, pois uso ip invalido nas rockets e nao sao tds da minha rede que tem muito conhecimento!
enfim, eu ainda estou vuneravel por nao ter atualizado as minhas rockets. entao eu quero atualizar minhas rockets, mais como vc falou q o firmware da ubnt 5.3.5, as vezes barra o trafego a 1mb de up, eu queria por esse 5.3.3 seu ai.
vc ta usando ele recentemente?

----------


## alexandrecorrea

independente de ter ou nao ip invalido... basta apenas 1 equipamento infectado.. e sua rede em pouco tempo fica toda cheia de "skynet" ..

use a versao 5.3.3 que esta no meu site, http://189.84.0.10/ubnt.php

ela eh a versao mais estavel com a correção !!

----------


## Ollenini

Ola Alexandre venho acompanhando este topico e gostaria de fazer uma pergunta.
você recomenda colocar esta versao 5.3.3 mesmo para equipamentos novos que nunca foram colocados em produção, isso impede uma possivel infcção?

----------


## Ollenini

No caso de um rocket M5

----------


## alexandrecorrea

sim, pode usar sem problema.. entre a 5.3.3 e a 5.3.5 nao houveram mudanças.. apenas correções do bug... e mexeram em alguma coisa que em alguns casos.. o upload fica estranho

----------


## Mulder

Sou novo aqui no fórum, e uso a firmware 5.2.1 Build 6359 nos Rockets, e a firmware 3.6. build 4703 no Nanos 5 Loco, nunca fiz atualização. Há aguma possibilidade de infecção na minha rede?.


Desde já agradeso a sua atenção.

----------


## victormota

Muito bom, parabéns.

----------


## Luspmais

> independente de ter ou nao ip invalido... basta apenas 1 equipamento infectado.. e sua rede em pouco tempo fica toda cheia de "skynet" ..
> 
> use a versao 5.3.3 que esta no meu site, http://189.84.0.10/ubnt.php
> 
> ela eh a versao mais estavel com a correção !!


Alexandre usei a v5.5, vc acha que devo fazer um downgrade pra 5.3.3 ou posso deixar essa 5.5 mesmo ?

----------


## alexandrecorrea

sem problemas com a 5.5 .. retorne somente se tiver achado algum bug

----------


## Luspmais

ok, muito obrigado... vou deixar 5.5 e qq noticia posto aqui...vlw

----------


## Luspmais

Pessoal, os procedimentos aqui surtiram resultado, todos meus rocket´s que estavam com problema agora estão a todo vapor desde terça-feira sem travar.
Obrigado a todos do fórum e a vc Alexandre que sempre encontra soluções e as posta aqui Under fazendo deste Fórum uma ferramenta poderosa.
Abraço a todos e sucesso.

----------


## EribertoTorres

Mudei para o 5.3.5 assim que postaram o problema (foi mais ou menos na mesma época que estava testando os Rockets), e quando saiu o 5.5 atualizei e estao funcionando bem.

----------


## raumaster

Desculpe se já perguntaram, mas tava lendo o changelog da versão 5.3.5 e lá fala que corrigiram o seguinte bug:


"HTTP server security exploit"

Esse bug foi corrigido nessa versão 5.3.3 postada aqui no tópico? To usando-a pq to tendo um problema com a 5.3.5 e a 5.5 piorou mais ainda. Por enquanto essa 5.3.3 tá estável.

----------


## alexandrecorrea

a 5.3.3 do http://189.84.0.10/ubnt.php esta com a falha corrigida..

----------


## isacloko

Muito Obrigado Pela dica ajudou mesmo Gente eu estava com esse problema aki na minha rede, como minha rede e meia grandinha fiz uma adaptação do Putty com o Dude Server, pra rodar em todos os meus clientes, sem precisar entrar um por um, e estavam quase todas infectadas, por isso viviam travando, se alguem precisar de fazer essa adaptaçãoe só entrar em contato.

obrigado!!!

----------


## Nks

isacloko, tem como vc postar para gente as regras que vc implementou para fazer na rede toda!??
eu me interesso!
valeu abracos

----------


## Luspmais

Seria de grande ajuda mesmo, afinal com uma rede grande com vários UNBT infectados isso seria muito bom.

----------


## trober

> ...para fazer na rede toda!?? eu me interesso!...





> Seria de grande ajuda mesmo, afinal com uma rede grande com vários UNBT infectados isso seria muito bom.


Boa tarde.

Há um tópico[1] aqui no _Under-Linux_, que descreve um código em _Python_[2] e _Paramiko_[3], que demonstra como executar comandos _SSH_ em lote, em diferentes dispositivos.

Uso essa combinação de ferramentas para distribuir regras de _firewall_, fazer _upgrade/update_ de roteadores, entre outras coisas. Executar dois _rm_, um _cfgmtd_ e um _reboot_, será suave.

Espero que o código seja útil.

[1] https://under-linux.org/f143/registrando-log-149969/
[2] http://www.python.org
[3] http://www.lag.net/paramiko/

Saudações,

Trober

----------


## Nks

boa tard trober, agradeco seus links e sua atencao. vi os topicos que vc participou falando sobre paramiko e ssh, ai dei mais uma googlada e meio que cheguei a uma conclusao, porem estou com 2 duvidas gostaria que vc me ajuda-se.

bom, instalei o paramiko no meu slackware que se comunica com as airgrids infectadas, segui o site e deu td certo vou postar aqui tbm:

$ *wget* http:*//*www.lag.net*/*paramiko*/*download*/*paramiko-1.7.6.tar.gz 
$ *tar* xzf paramiko-1.7.6.tar.gz 
$ *cd* paramiko-1.7.6 
$ python setup.py build 
$ *su* -c "python setup.py install"

depois de instalado, eu tenho que criar um arquivo com a extensao
.py com os comandos dentro. bom entao pesquisando cheguei a esses
comandos, nao sei se esta certo, corrija caso esteja errado, coloquei
o nome de removewormlote.py com as seguintes linhas:

#!/usr/bin/env python

cmd1 = "rm /etc/persistent/rc.poststart"
cmd2 = "rm -rf /etc/persistent/.skynet"
cmd3 = "cfgmtd -w -p /etc/"
cmd4 = "reboot"
host = '192.168.100.0/24' ##SCOBO DA MINHA REDE AIRGRID!!???
user = 'ubnt'
passwd = 'ubnt'
ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=user, password=passwd)
stdin, stdout, stderr = ssh.exec_command(cmd1)
stdin, stdout, stderr = ssh.exec_command(cmd2)
stdin, stdout, stderr = ssh.exec_command(cmd3)
stdin, stdout, stderr = ssh.exec_command(cmd4)
stdin.write(passwd + '\n')
stdin.flush()
print stdout.readlines()
ssh.close()


bom minha duvida é como comunico com tds os airgrids sem ter que colocar ip
de cada cliente, 1 por 1. no caso ai eu coloquei o scobo da rede toda
porem nao sei se vai funcionar!!! eh isso mesmo ou nao?

minha segunda duvida eh: como sao 3 comandos representei como cmd1, cmd2 e cm3.
vai funcionar ou tem que ser de outra maneira?

bom aguardo, muit obrigado pela ajuda ate agora.

----------


## trober

> bom minha duvida é como comunico com tds os airgrids sem ter que colocar ip de cada cliente, 1 por 1.


Não é possível comunicar com todos ao mesmo tempo. É uma operação por lote. A conexão SSH é "um para um". O que você precisa, é ter uma arquivo (csv, xml, ini, txt), com os endereços IP de todos os seus clientes. O seu _script_ lerá esse arquivo, e terá um referencial de conexão.




> no caso ai eu coloquei o scobo da rede toda porem nao sei se vai funcionar!!! eh isso mesmo ou nao?


Não vai funcionar. _Host_ é sempre /32 (em IPv4). Menos específico que isso é _network_. Como a conexão SSH é "um para um", não pode ser o escopo da rede.




> minha segunda duvida eh: como sao 3 comandos representei como cmd1, cmd2 e cm3. vai funcionar ou tem que ser de outra maneira?


Você pode usar de operadores lógicos do _shell_, como por exemplo: cmd1 && cmd2 && cmd3 && cmd. O operador && somente executará o comando subsequente se a ação anterior ocorrer com êxito (EXIT_STATUS == 0).

Se quiser usar mais comandos, ou caso um tenha o risco de EXIT_STATUS != 0 (como a remoção de um diretório que não existe mais), é melhor fazer um _for_, _while_ , _until_, _foreach_, ou outro tipo de laço, para rodar os comandos.




> bom aguardo, muit obrigado pela ajuda ate agora.


Espero ter ajudado.

Saudações,

Trober

----------


## Nks

> Não é possível comunicar com todos ao mesmo tempo. É uma operação por lote. A conexão SSH é "um para um". O que você precisa, é ter uma arquivo (csv, xml, ini, txt), com os endereços IP de todos os seus clientes. O seu _script_ lerá esse arquivo, e terá um referencial de conexão.


como faco isso? no caso eu crio um arquivo com toda a lista de ips, vamos supor, desculpe se estiver errado pois nao sou programador!!
vamo la, eu crio um arquiv com tds os enderecos de ip com o nome de listaips.txt (coloquei txt nao sei pq foi apenas um exemplo!), ai la dentro tem:
192.168.0.100
192.168.0.101
192.168.0.102 .... e assim vai tds as airgrids infectadas...

ai la no script, em host onde eu coloquei o escopo da rede, que esta errado, eu coloco o endereco onde se encontra esse arquivo txt??
ex.:
host= '/listaips.txt'

simples assim ou estou totalmente errado???? hehehe
agradeco a sua disposição...

----------


## trober

> como faco isso? no caso eu crio um arquivo com toda a lista de ips, vamos supor, desculpe se estiver errado pois nao sou programador!!
> vamo la, eu crio um arquiv com tds os enderecos de ip com o nome de listaips.txt (coloquei txt nao sei pq foi apenas um exemplo!), ai la dentro tem:
> 192.168.0.100
> 192.168.0.101
> 192.168.0.102 .... e assim vai tds as airgrids infectadas...
> 
> ai la no script, em host onde eu coloquei o escopo da rede, que esta errado, eu coloco o endereco onde se encontra esse arquivo txt??
> ex.:
> host= '/listaips.txt'
> ...


Olá.

Fiz uma aplicação para você, desde que concorde com as seguintes isenções.

1) Não há na aplicação qualquer verificação de consistência e integridade. Se o arquivo de _hosts_ estiver deformado, com formato inválido, a aplicação não verificará esses erros. O código parte do princípio que você compôs corretamente o formato dos arquivos. Fique atento ao preenchimento de _commands.txt_ e _hosts.csv_. Esses arquivos não podem ter linhas em branco.

2) A aplicação foi totalmente validada por PEP8, apenas. Outros validadores, como _PyLint_, não foram considerados.

3) A aplicação foi feita para ser executada em _FreeBSD_. Para executar em _GNU/Linux_, faça as adaptações no _shebang_ (a primeira linha do arquivo, aquela que começa com #!/).

4) Se um dos _hosts_ estiver _off-line_, não há tratamento para ignorar o insucesso da conexão e passar para o próximo ativo de rede. A aplicação considera que todos os _hosts_ estão on-line e com serviço de _SSH_ rodando.

5) Se concorda com as isenções acima, prossiga a leitura:

* Código-fonte da aplicação, em Python.*


```
#!/usr/local/bin/python
# -*- encoding: utf-8 -*-
 
import    csv
import    paramiko
from datetime import datetime
 
 
def CommandLoad(File):
    """
        Read command file sets and return it.
    """
 
    FILE = open(File, "r+")
    varList = []
 
    for varLine in FILE:
        varList.append(varLine)
 
    FILE.close()
 
    return varList
 
 
def HostLoad(File):
    """
        Read each host in hosts file.
    """
 
    CSVFile = open(File, 'r')
 
    Data = csv.reader(CSVFile)
 
    for Row in Data:
 
        IP = str(Row[0])
        PORT = int(Row[1])
        LOGIN = str(Row[2])
        PASSWORD = str(Row[3])
 
        FILENAME = str(IP) + '-' + str(
            datetime.now().strftime("%Y-%m-%d-%H%M"))
 
        SaveLog(FILENAME, SSHConnect(IP, PORT, LOGIN, PASSWORD))
 
 
def SaveLog(Filename, List):
    """
        Save output (stdout) in file.
    """
    varFile = open(Filename, "w")
    varFile.writelines(List)
    varFile.close()
 
 
def SSHConnect(Host, Port, Login, Password):
    """
        Connect to devices.
    """
 
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(Host, port=Port, username=Login, password=Password)
 
    List = []
 
    for Commands in CommandLoad("commands.txt"):
 
        stdin, stdout, stderr = ssh.exec_command(Commands)
 
        for line in stdout:
            List.append(line.replace('\r', ''))
 
    ssh.close()
 
    return List
 
HostLoad("hosts.csv")
```

 
* Estrutura de hosts.csv, sendo composto por IP, porta, login e senha, valores estes separados por vírgula, conforme sugere o formato do arquivo CSV (comma separated values).* *ESTE ARQUIVO NÃO PODE TER LINHAS EM BRANCO.*


```
172.30.0.2,22,ubnt,larry
172.30.0.3,22,ubnt,moe
172.30.0.4,22,ubnt,curly
```

 
* Estrutura de commands.txt, arquivo que tem todos os comandos que você deseja executar nos hosts definidos em hosts.csv.* *ESTE ARQUIVO NÃO PODE TER LINHAS EM BRANCO.*


```
rm /etc/persistent/rc.poststart
rm -rf /etc/persistent/.skynet
cfgmtd -w -p /etc/
reboot
```

 
Com isso, você já resolve o problema. Todos os comandos declarados no arquivo _commands.txt_, serão executados em todos os hosts descritos em _hosts.csv_.  :Smile: 

Testa e nos avisa.

Saudações,

Trober

----------


## Nks

trober, muito obrigado por deixar td mastigado agora eh soh engolir!!hehe
isso vai ajudar muito, o unico problemas eh encontrar tds airgrids on-line para rodar o script!

uma ultima coisa, no hosts.csv e commands.txt eu tenho que colocar o 
#!/usr/local/bin/python na primeira linha ou apenas no arquivo .py????

bom e uma ultima duvida, no caso nas setoriais eu removi o virus e coloquei o firmware do alexandre, agora sempre lembro dele quando acesso o aircontrol pois aparece do lado da versao do firmware o a.correa!! nada mais justo pois seu firmware nao barra o up em 1mb igual oultimo disponivel no site da ubnt! nao estou reclamando!!! hehehe
enfim, depois de atualizado ele corrige o buq, e nao infecta mais, nos airgrids, se eu apenas remover o virus e nao atualizar o firmware, sera que outros airgrids que eu ainda nao removi o virus pode infectar esses que eu ja removi, pois apenas removi e nao atualizei o firmware??

ah eu dei um drop no ip que o virus manda informacao, igual o alexandre recomendou! mais acho q ele se espalha sem a necessidade de se comunicar com esse ip??

abracos a tods, muito obrigado trober e tbm ao alexandre correa !
sucesso e felicidades....

----------


## trober

> trober, muito obrigado por deixar td mastigado agora eh soh engolir!!hehe
> isso vai ajudar muito, o unico problemas eh encontrar tds airgrids on-line para rodar o script!


Você pode fazer um controle de _exception_, para tratar os _AirGrid_ que estão desligados.




> uma ultima coisa, no hosts.csv e commands.txt eu tenho que colocar o 
> #!/usr/local/bin/python na primeira linha ou apenas no arquivo .py????


Somente no arquivo de extensão _.py_.




> bom e uma ultima duvida, no caso nas setoriais eu removi o virus e coloquei o firmware do alexandre, agora sempre lembro dele quando acesso o aircontrol pois aparece do lado da versao do firmware o a.correa!! nada mais justo pois seu firmware nao barra o up em 1mb igual oultimo disponivel no site da ubnt! nao estou reclamando!!! hehehe
> enfim, depois de atualizado ele corrige o buq, e nao infecta mais, nos airgrids, se eu apenas remover o virus e nao atualizar o firmware, sera que outros airgrids que eu ainda nao removi o virus pode infectar esses que eu ja removi, pois apenas removi e nao atualizei o firmware??
> 
> ah eu dei um drop no ip que o virus manda informacao, igual o alexandre recomendou! mais acho q ele se espalha sem a necessidade de se comunicar com esse ip??


Não uso produtos Ubiquiti, por isso, não tenho opinião sobre essa parte da sua mensagem, apesar de ser o foco principal desse tópico.




> abracos a tods, muito obrigado trober e tbm ao alexandre correa !
> sucesso e felicidades....


Fico feliz em ter ajudado  :Smile: 

Saudações,

Trober

----------


## Nks

trober, cara deu td certo, to passando aqui soh pra agradecer novamente msm. eu listei apenas as on-lines, e rodei e executou certinho!

em relacao ao virus da minha pergunta anterior, nao se espalha nao.

abracos

----------


## trober

> trober, cara deu td certo, to passando aqui soh pra agradecer novamente msm. eu listei apenas as on-lines, e rodei e executou certinho!


Que boa notícia  :Smile: 

Você pode usar o nMap, com -n -sP, em conjunto com a opção -oG (_grepable_), filtrando só os _hosts_ ativos (_UP_), e com uns _awk_ para lá, uns _sed_ para lá, você monta dinamicamente seu arquivo _hosts.csv_, sem ter de tratar _exception_ no _Python_  :Wink: 




> em relacao ao virus da minha pergunta anterior, nao se espalha nao.


Não uso Ubiquiti, mas é sempre bom saber. Grato pela informação  :Smile: 




> abracos


Para você também.

Saudações,

Trober

----------


## Nks

pra galera que nao quer usar o phyton e quer enviar os comando em massa, eu descobri uma outra maneira, pelo AirControl.
Muito simples!!!

_1._ _No AirControl, selecione os dispositivos para serem consertos_
_2._ _Clique direito, e selecione 'Tasks/Operations'_
_3._ _Escolhe 'Execute Command'_
_4._ _No campo de comandos, digita "rm /etc/persistent/rc.poststart; rm -rf /etc/persistent/.skynet; cfgmtd -w -p /etc/; reboot;" -- sem aspas_
_5._ _Clique 'Done'_

abracos.... da pra agendar um schedule para ficar passando de tantos em tantos segundos de acordo que vc escolher para os que estao off-line.

----------


## clovisjr

Boa noite galera,

pra monitorar os radios infectados e novas infecções
eu resolvi implantar esta regra abaixo
ela adiciona numa address list o ip dos radios infectados
e na outra regra o bloqueio



/ip firewall filter
add action=drop chain=forward comment="BLOQUEIO INFECTADOS SKYNET" disabled=no \
dst-address=178.216.144.75 src-address-list=virus_ubnt
add action=add-src-to-address-list address-list=virus_ubnt \
address-list-timeout=1w3d chain=forward comment="LISTAR INFECTADOS SKYNET" \
disabled=no dst-address=178.216.144.75


o importante é fazer o monitoramento com wireshark se o ip ainda é o mesmo.
ou mesmo com torch do mikrotik se o worm não foi alterado nesse período.

Abraços

----------


## alexandrecorrea

clovis, a segunda regra deve ser antes da primeira..., se ele fizer o DROP .. ele nao chega na outra regra..

----------


## clovisjr

Verdade Alexandre, Vlw

só alterem a ordem, aki eu usei a ordem certa, 
ms não atentei na hora de postar

abraços

----------


## raumaster

Alguém aí tem outro link pra baixar o firmware 5.3.3ajcorra? Ou entao puder me mandar via email... 

Valeu!

----------


## ZeXP

Vendo aqui depois de longo tempo nunca havia me preocupado com esse worm, resolvi colocar a regra no firewall do mikrotik pra criar uma lista de ips que tentem acessar o ip alvo do skynet! Encontrei uns poucos dispositivos com o worm, os ubiquit blz,fiz o procedimento e ficou ok! Mas me deparei com outro fabricante que usa aparentemente o airos 5.0 mais precisamente o dispositivo aquario de referencia PS-5817 uma cpezinha horrivel diga-se de passagem, mas que tenho na rede algumas delas e os ips dos clientes que usam ela apareceram na lista criada! O cruel que ela não deixa entrar por ssh! Dai não ter como fazer o procedimento de remoção do worm como também não tem firmware de atualização e o pior de tudo foi descontinuado! É o descaso dessas empresas que criam cpes pra atender o mercado nacional! Tomei uma decisão de não ariscar mais, tentei com esse aquário (ave maria) com os elsys (ave maria 3 vezes), não tento mais fiquei com os ubiquiti!

----------


## daniel viana

como eu faço bloqueiar o acesso IN-OUT do login e senha, eu nao sei como fazer, preciso da sua ajuda.

----------


## Macgaiver

Bom Galera, como alguns equipamentos nunca estao on-line quando estou ou por vezes eles mudam de Ip ao desligarem e religarem o equipamento, então resolvi ajustar este script para que me mostre no log o nome do usuario junto com IP e MAC para se o equipamento mudar o ip o pego pelo MAc  :Wink: 

/ip firewall filter
add action=add-src-to-address-list address-list=virus_ubnt \
 address-list-timeout=1w3d chain=forward comment=\
 "LISTAR INFECTADOS SKYNET" disabled=no dst-address=178.216.144.75
add action=drop chain=forward comment="BLOQUEIO INFECTADOS SKYNET" disabled=\
 no dst-address=178.216.144.75 src-address-list=virus_ubnt
/system script
add name=Captura_MAC policy=\
 ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
 source=":global ipusuario;\r\
 \n:global nomeusuario;\r\
 \n:global ip;\r\
 \n:if ([:len [/ip firewall address-list find list=virus_ubnt]]>0) do={\r\
 \n:log error \"---------- ANTENAS COM VIRUS SKYNET -------------\";\r\
 \n:foreach i in [/ip firewall address-list find list=virus_ubnt] do={:set \
 ipusuario [/ip firewall address-list get \$i address];\r\
 \n:foreach j in=[/ip hotspot active find address=\$ipusuario] do={:set ip \
 [/ip hotspot active get \$j mac];\r\
 \n:foreach k in=[/ip hotspot active find address=\$ipusuario] do={:set nom\
 eusuario [/ip hotspot active get \$k user];\r\
 \n:log error \$nomeusuario;\r\
 \n:log error \$ipusuario;\r\
 \n:log error \$ip;\r\
 \n:log error \"-----------------------------------------------------------\
 ---------------------\";\r\
 \n}};}\r\
 \n/tool e-mail send [email protected] server=XXX.XXX.XXX.XXX to=\
emaildestino@skynetsemfio.com.br subject=\"IP's Antenas detectadas com Virus\" body=\"\$ip\
 \_\$ipusuario\"}\r\
 \n"
/system scheduler
add disabled=no interval=1m name=captura_mac on-event=Captura_MAC policy=\
 ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive \
 start-date=jul/01/2013 start-time=00:00:00

----------


## Macgaiver

> Vendo aqui depois de longo tempo nunca havia me preocupado com esse worm, resolvi colocar a regra no firewall do mikrotik pra criar uma lista de ips que tentem acessar o ip alvo do skynet! Encontrei uns poucos dispositivos com o worm, os ubiquit blz,fiz o procedimento e ficou ok! Mas me deparei com outro fabricante que usa aparentemente o airos 5.0 mais precisamente o dispositivo aquario de referencia PS-5817 uma cpezinha horrivel diga-se de passagem, mas que tenho na rede algumas delas e os ips dos clientes que usam ela apareceram na lista criada! O cruel que ela não deixa entrar por ssh! Dai não ter como fazer o procedimento de remoção do worm como também não tem firmware de atualização e o pior de tudo foi descontinuado! É o descaso dessas empresas que criam cpes pra atender o mercado nacional! Tomei uma decisão de não ariscar mais, tentei com esse aquário (ave maria) com os elsys (ave maria 3 vezes), não tento mais fiquei com os ubiquiti!


Amigo, entre nas aquários, por telnet, Exemplo :
Telnet 192.168.1.123 8939
Elas tem o Telnet Ativo na porta 8939, Coisa que os caras da aquário não informaram nem quando liguei pedindo ajuda.. e ainda disseram que os equipamentos deles não continham tal Vírus. hehehehe Ironicamente o nome de minha empresa leva o mesmo nome "SkyNet Sem Fio"

----------


## CSilva

Alexandre muito obrigado pela ajuda. Comprei uma rocket m5 com a versão ainda 5.3 até então nem dei atenção... configurei como ap coloquei na torre e meus problemas começaram... a rocket passava algumas horas ligada e do nada parava de se comunicar com os clientes... então vi seu post segui a risca e até agora show. Valeu muito obrigado!!!

----------

