Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Delphi] como iniciar ferramentas de administração remota!

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

  • Font Size
    #1

    Tutorial [Delphi] como iniciar ferramentas de administração remota!

    Revisão 1.3 do tutorial "Introdução ao Delphi, Trojan-oriented" de Sr_Sombrero.
    Se você copiar este tutorial no todo ou em parte, não se esqueça de mencionar o autor e [Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Olá! Este guia é para aqueles que querem aprender a programação e como aconteceu comigo, não sei por onde começar. Vou explicar brevemente o básico para evitar o tédio e então mover-se para explicar como programar um Trojans simples.

    O que é Delphi?
    É uma linguagem de programação visual baseada em Pascal. Tem bom equilíbrio entre a simplicidade e poder, e é ideal para iniciantes em programação e está bem estruturado. Porque ele é usado para multiuso programação quase qualquer aplicação. Entre as aplicações mais populares são programados em Delphi Skype.

    Entre os Trojans são programados em Delphi:
    Poison Ivy
    Instituição de 2004
    Besta
    Sub7
    NetBus
    Optix Pro
    Assassin 2
    TequilaBandita
    Bandook
    Rat nuclear
    Coolvibes

    Esta lista (incompleta) é mostrado para ser uma linguagem ideal para o nosso propósito. Além disso Binders podem ser feitas e qualquer outro programa.

    Para mais informações, consulte a wikipedia Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Qual é a versão começar?
    Você não precisa da versão mais recente. Eu recomendo que você instale pelo menos a versão 6 (que é o utilizado no momento da escrita deste tutorial). Outras versões mais recentes que tenham sido populares foram 7 e 2007.

    A nova versão irá consumir mais recursos para a eleição então você tem que considerar um PC com essa conta, mas para você ficar quieto eu lhe digo que a versão 7 para baixo funciona em qualquer computador a partir deste milênio:-D e programas feitos em uma versão mais antiga pode ser compilado sobre os casos mais recentes e mais no passado, com pouca ou nenhuma mudança.

    As diferentes versões podem ser baixadas para testes de redes P2P, ou versões menores rapidshareware página livre para Borland ou CodeGear.

    Para os ansiosos que queria compilar algo

    Provavelmente o primeiro contato que tiveram com Delphi quis compilar alguma fonte que encontrou na net. Se compilado, para vós, mas de erro se deu não decepciona. Vou explicar a causa mais comum que uma fonte não compilou para baixo.

    Assistir a exibição de Delphi é uma área com rótulos que dizem "Standard", "adicionais", etc. e para baixo tem pequenas imagens de botões, menus, etc. É a "paleta de componentes".
    Às vezes acontece que estão faltando componentes e, portanto, não consegue abrir ou compilar de outras fontes.
    Esta paleta (ou bar) é customizável, e cada versão do Delphi traz pequenas diferenças nos componentes incluídos e também pode instalar componentes feitos por terceiros.
    Que um componente não está no bar não significa que nós temos, porque se viesse em uma versão anterior é normalmente na pasta do Delphi e Tenema para instalar nós.

    Esta explicação foi para aqueles que não têm sido capazes de compilar algo não jogar tudo acho que é muito difícil.
    A questão da instalação de componentes deve ser visto abaixo, agora vamos seguir desde o início, porque é a maneira mais rápida de aprender.

    O primeiro manual

    Antes de tudo uma recomendação: "manuais print" encuadernenlos ou pegá-lo em uma pasta para indicá-los e fazer anotações. No papel lê muito mais rápido do que a tela fixa e muito mais. Não quero dizer que é preciso para imprimir qualquer idiota, mas se os primers.

    Para começar, há um manual de fácil leitura e exercícios em espanhol desde o início, embora seja um pouco velho, ele serve bem. Eu recomendo que você leia o capítulo "Banco de Dados 1" como o sujeito não nos interessam para o nosso propósito.

    Você pode baixá-lo aqui Curso de Delphi - por Jorge
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... ... delphi.htm

    -------------------------------------------------- -----------------------------------------

    Alguns Pascal

    Se você seguiu os passos recomendados no manual eles já têm uma prática bastante Delphi. Criaram suas primeiras aplicações, mas devem ser várias coisas no ar.
    É hora de ver alguma teoria para entender melhor o que fizemos. Dissemos que Delphi é baseado em Pascal, por isso temos de fazer o básico dessa linguagem.

    Curso de pascal (por Comac)
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Este manual é útil, mesmo a partir da perspectiva de alguém que não sabe nada sobre programação. Explica tudo que você precisa para começar a programar em Pascal.
    É em espanhol e o único inconveniente é que é a era do "Turbo Pascal", por mais que se aplica a Delphi.
    Eu recomendo que você leia o capítulo 6 (incluído), e não se esqueça que se você imprimir melhor.

    Outra alternativa manual
    Pascal essenciais (Marcos Cantu)

    Uma introdução ao Delphi Pascal orientado. Foi escrito pelo autor mais conhecido por Delphi. Como em seus livros são os aspectos mais básicos, torna disponível (gratuitamente) este PDF em seu site. Link para uma versão em espanhol Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Eles também podem ver o mesmo autor Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... (em Inglês).

    -------------------------------------------------- -----------------------------------------

    Maneiras de programar um Trojan em Delphi

    Ao fazer um trojan ou aplicação similar em Delphi podem seguem basicamente dois caminhos:

    1) Crie um formulário em que trazemos componentes Delphi.
    Vantagem: simplicidade.
    Desvantagem: Usando uma forma afeta o tamanho do servidor (cerca de 220 Kb comprimido com UPX).

    2) Crie uma aplicação do tipo console (aplicativo de console) e use unidades de luz ou diretamente chamar a API do Windows.
    Vantagem: Se não usamos unidades para engordar o projeto pode ser alcançado por muito menor (cerca de 30 Kb).
    Desvantagem: mais complexas.

    Em um cavalo de Tróia de próxima geração, o usual seria o cliente com o primeiro método eo segundo servidor.
    Como rookies temos que usar o primeiro método para o cliente eo servidor. Bem ... não decepcionado, os servidores da Optix, Sub7 e Roubo são feitas com este método e ninguém vai dizer que eles são ruins. O único problema, como eu disse, é o tamanho, mas dada a velocidade das conexões de hoje não é tão importante.

    Aplicações cliente-servidor usando componentes

    Delphi traz diferentes componentes para este fim são:
    1) TServerSocket / TClientSocket comumente usado para trojans, simples e eficaz.
    2) Componentes INDY mais completa e maior. Eu não vi nenhum Trojan programado usando estes componentes, mesmo que eu vi que são amplamente utilizados para outras aplicações cliente / servidor.

    Então vamos usar TServerSocket / TClientSocket
    (Eles estão na seção "Internet" da "paleta de componentes" na IDE Delphi, se não você tem que instalá-los).

    Aqui estão as fontes nas quais trabalhamos. Para compilar o código deve ser colado cada arquivo no bloco de notas e salve-o com o nome correspondente. Em seguida, coloque todos os arquivos na mesma pasta e você pode abri-lo com Delphi.

    Ejemplo 1
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Ejemplo 2
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Estes exemplos simples são mais úteis para ver o código fonte completo de um Trojan, como podemos ver o essencial, sem se tornar emaranhado numa teia de código. Agora vou explicar um pouco:

    Ao trabalhar com sockets há 2 abordagens possíveis:
    1) Ler dados do socket e escrever de forma assíncrona, e não bloqueia a execução de outro código na aplicação, enquanto isso acontece. Isso é chamado de "conexões nonblocking".
    2) A outra alternativa é a utilização de "conexões bloqueio", onde a aplicação deverá ler nem escrever está completo antes de executar a seguinte linha de código. Por "ligações de bloqueio" você precisa usar threads, que é mais complicado, então vamos fazê-lo da primeira forma (Trojans mais comum).
    Esta propriedade é escolhido no "Server Type" ClientSocket componente e ServerSocket.

    Trazer os exemplos, ambos são feitos com componentes e ClientSocket ServerSocket usado no modo nonblocking.

    Primeiro exemplo (Client1.htm e Server1.htm)

    Servidor

    Ver ServerSocket1 propriedades do componente (nenhuma explicação necessária).
    Veja também os eventos desse componente.

    Todos os códigos relacionados aos eventos da tomada porque o programa não prevê interação do usuário. No entanto, o servidor tem 3 espaços onde a informação é registrada.

    Assistir ao evento "OnClientConnect", isso indica a primeira vez que o servidor aprende a conexão com o cliente. Usando "TCustomWinSocket" o servidor pode ver quem está tentando se conectar. No final deste evento que atualizar a lista de conexões usando a propriedade "ActiveConnections" do servidor.

    Um código semelhante é executado quando o cliente se desconecta do servidor (OnClientDisconnect).

    Vemos que o servidor pode ler as mensagens (que envia ao cliente) chamando o ReciveText função. Esta operação deve ser realizada somente quando houver dados disponíveis para leitura, ou quando o evento é acionado OnClientRead.
    Note que esta é uma leitura destrutiva, as informações extraídas (stream) é removido de lá.

    Cliente

    Ver ClientSocket1 propriedades do componente (nenhuma explicação necessária).
    Veja também os eventos desse componente.

    O cliente é mais interativo. Há EditBox onde fica o endereço do servidor ao qual você deseja se conectar. Com CheckBox alterna a ligação.
    Lembre-se do primeiro ziper remoto? tinha uma opção para se conectar, porque eu não poderia fazer de outra forma =).

    Note que você pode escrever uma mensagem em outro EditBox e pressionando a enviar.

    Tenha em mente que estes programas estão longe de ser perfeito, porque eles não controlam certas coisas. Por exemplo. o socket é ativa antes de enviar a mensagem, assim você pode obter erros se executar determinadas ações.


    Segundo exemplo (Client2.htm e Server2.htm)

    Servidor

    Aqui já estamos vendo a implementação de um protocolo (como aqueles usados ​​por cavalos de Tróia).
    Um protocolo é um conjunto de regras (comandos). Basicamente, o servidor pode receber diferentes ordens e executar a ordem de acordo com diferentes ações.

    Neste exemplo, o servidor aceita 4 tipos de ordens:
    Listando um diretório.
    Enviar uma BMP.
    Enviar um txt.
    Executar um programa.

    Por sua vez, quando o servidor responde para indicar que tipo de informação também irá enviar as informações.

    O essencial é ver o que o servidor quando você lê o socket (OnClientRead).
    Primeiro extrair os primeiros 5 caracteres de texto recebida por estes contêm o comando.
    Em seguida, executar um código dependendo do texto (comando) contidas nestes primeiros 5 caracteres. Os comandos são:
    EXEC!, TEXT!, BITMED!, LISTA!
    As fontes podem ver o código que é executado no comando.

    Cliente

    Vimos que o servidor também envia 5 caracteres que permitem que o cliente saber que tipo de informação que você recebe.
    No exemplo do cliente é outro caminho a seguir para ler o cabeçalho. (Eu sempre usei o acima para o cliente e servidor).
    Aqui, quando o cliente lê, define um estado para encontrar as informações que vem a seguir.

    Isso é tudo por agora, Se você quiser ver mais sobre este assunto pode baixar o livro de "Mastering Delphi 6" Mark Cantu em PDF em qualquer rede P2P (em Inglês). Este tópico é discutido no capítulo 21.

    -------------------------------------------------- ----------------------------------------

    Nosso Primeiro Trojan


    Neste exemplo veremos duas coisas novas: Como ativar ClienteSocket usando um botão em vez de uma caixa de seleção para saltar e como evitar erros.

    Abra um novo projeto no Delphi e coloca um ServerSocket no formulário.
    Definir as propriedades componente Active como True, ServerType em stNonBlocking e escolha uma porta (por exemplo, 800) no qual o servidor vai escutar.

    Agora vamos escrever o OnRead evento.
    No exemplo quando recebe o comando '01 'beeps servidor quando você começa a 02 "mostra a mensagem de um cliente e retorna uma confirmação, é que isto vai ser a base para novas parcerias de trabalho mais divertido de comandos .
    Código:
    TForm1.ServerSocket1ClientRead procedimento
    (Sender: TObject; Socket: TCustomWinSocket);
    Comando var: integer;
    FullCommand, st: string;
    começar
    FullCommand = Socket.ReceiveText;
    st: = copy (FullCommand, 1,2);
    Comando: = StrToInt (st);
    Command caso de
    01: beep;
    02:
    começar
    ShowMessage (st);
    st: = 'A mensagem do''' + st +'''foi recebida;
    Socket.SendText (st);
    fim;
    / / Etc.
    fim;
    fim;


    Agora para o cliente.

    Abra um novo projeto no Delphi e coloque um componente ClientSocket, três botões e dois EditBox.
    Nas propriedades coloque Active para False ClientSocket ClientType stNonBlocking e colocar na mesma porta no servidor (ex.: 800).

    Abaixo está o código para o evento OnCreate e OnError de ClientSocket1 OnRead e eventos OnClick dos botões Button1, Button2 e Button3:
    Código:
    TForm1.FormCreate procedimento (Sender: TObject);
    começar
    Button1.Caption: = 'Ligar';
    Button2.Caption: = 'Enviar Bipe ";
    Button3.Caption: = 'Enviar Mensagem';
    Edit1.Text: = '127 .0.0.1 ';
    Edit2.Text: = 'Oi do cliente ";
    fim;

    procedure TForm1.Button1Click (Sender: TObject);
    começar
    se ClientSocket1.Active = False Then
    tentar
    ClientSocket1.Host = Edit1.Text;
    ClientSocket1.Active: = True;
    Button1.Caption: = 'Disconnect';
    exceto
    ClientSocket1.Active: = False;
    final
    outro
    começar
    ClientSocket1.Close;
    Button1.Caption: = 'Ligar';
    fim;
    fim;

    procedimento TForm1.Button2Click (Sender: TObject);
    começar
    ClientSocket1.Socket.SendText ('01 ');
    fim;

    procedimento TForm1.Button3Click (Sender: TObject);
    começar
    ClientSocket1.Socket.SendText ('02 '+ Edit2.Text);
    fim;

    Procedimento TForm1.ClientSocket1Read
    (Sender: TObject; Socket: TCustomWinSocket);
    var s: string;
    começar
    s: = Socket.ReceiveText;
    ShowMessage (s);
    fim;

    Procedimento TForm1.ClientSocket1Error
    (Sender: TObject; Socket: TCustomWinSocket;
    ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    começar
    ErrorCode: = 0;
    Button1.Caption: = 'Ligar';
    fim;

    O código é auto-explicativo, exceto perto do evento OnError. Com esse evento nós lidamos com os erros que ocorrem no soquete, e digitando "ErrorCode: = 0;" saltar para adverti-lo que um ESocketError.

    Escondendo do Window Server

    Com Application.ShowMainForm: = False; podemos fazer o aplicativo não aparecer na guia "Aplicativos" "TaskManager".

    TForm1.FormCreate procedimento (Sender: TObject);
    começar
    Application.ShowMainForm: = False;
    fim;
    sigpic
    Similar Threads

  • Font Size
    #2
    muito bom, parabeeens
    sigpic

    Comment


    • Font Size
      #3
      Sintir apenas falta de uma formatação mais bem feita.... =/
      Em tópico grandes, como esse, é recomendável usar formatação
      (Piada de nerd) - Você comprou o cu dele?
      - Sim, comprei, era super duro e bem feito! Esse metalúrgico é de confiança!
      (Piada by Kaao; inventei ela do nada '-')

      NÃO RESPONDO PERGUNTAS POR PM!

      Se quiser uma ajuda minha, me indique o tópico com a sua duvida.

      Comment


      • Font Size
        #4
        desculpa aee tinha mim esquecido de formatar o
        texto mais da proxima vez eu faco a formatacao blz vlw por lenbra mano
        sigpic

        Comment

        X
        Working...
        X