+ Responder ao Tópico



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

  2. Citação Postado originalmente por Nks Ver Post
    ...para fazer na rede toda!?? eu me interesso!...
    Citação Postado originalmente por Luspmais Ver Post
    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



  3. 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.

  4. Citação Postado originalmente por Nks Ver Post
    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.

    Citação Postado originalmente por Nks Ver Post
    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.

    Citação Postado originalmente por Nks Ver Post
    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.

    Citação Postado originalmente por Nks Ver Post
    bom aguardo, muit obrigado pela ajuda ate agora.
    Espero ter ajudado.

    Saudações,

    Trober



  5. Citação Postado originalmente por trober Ver Post
    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...






Tópicos Similares

  1. Automatização para remoção do WORM Skynet
    Por KuruminBranco no fórum Redes
    Respostas: 3
    Último Post: 06-11-2012, 09:49
  2. Qual melhor Kernel para atuallização do sistema
    Por no fórum Servidores de Rede
    Respostas: 8
    Último Post: 24-05-2003, 08:09
  3. Respostas: 3
    Último Post: 27-03-2003, 12:17
  4. Acessar o endereço 200.171.222.100:85 para autenticao do Spe
    Por Hacinn no fórum Servidores de Rede
    Respostas: 1
    Último Post: 10-01-2003, 16:57
  5. scripts para logs do Radius
    Por dboom no fórum Servidores de Rede
    Respostas: 1
    Último Post: 15-09-2002, 15:00

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L