
































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
informações sobre segurança da informação e tecnologia, conhecimentos básicos de um hacker.
Tipologia: Manuais, Projetos, Pesquisas
1 / 72
Esta página não é visível na pré-visualização
Não perca as partes importantes!

































































Em oferta
Bom, imagino que você que baixou esse livro está iniciando agora no mundo hacker, ou então já iniciou há um tempo mas não tem conhecimento de outras áreas desse ramo. Então, os ensinamentos passados aqui serão feitos com uma didática e linguagem simples, para o fácil entendimento de todos. Pretendo explicar com o máximo de detalhes possíveis, e de uma forma descomplicada, o funcionamento do mundo hacker, bem como as ferramentas e técnicas usadas por eles. Mas não confunda hacker com cracker, existe um abismo de diferença entre esses dois caras.
Hacker, ou white hat (chapéu branco), de acordo com Eric Raymond, criador do símbolo hacker, o ‘hacker’ é o indivíduo que tem um conhecimento extraordinário em informática, e usa esse conhecimento paraelaborar e modificar softwares e hardwares de computadores, seja desenvolvendo funcionalidades novas ou adaptando as antigas, mas sempre usando o conhecimento de forma legal (legal no sentido de legalidade, dentro da lei). O hacker pode então desenvolver softwares antimalwares, para combater com as pragas virtuais, criadas pelos crackers.
Não muito conhecido pelas pessoas, o cracker, ou black hat (chapéu preto), é praticamente o hacker do mal. Os crackers são indivíduos também com amplo conhecimento em informática, mas que usam esse conhecimento para quebrar sistemas de segurança a fim de obter vantagens ilícitas. Os crackers muitas vezes são generalizados e conhecidos apenas como os caras que crackeiam programas e jogos pagos, por exemplo photoshop, Battlefield 3, ou o próprio Windows (ou vai me dizer que você pagou por esse Windows que está usando agora?! Rs), mas na verdade os crackers fazem muito mais do que isso. Eles podem por exemplo criar softwares maliciosos (malwares) que roubam as suas senhas quando você digita.
Os gray hats (chapéu cinza) são o meio-termo entre hacker e cracker. “Como assim meio- termo, Nick?”. Bom, nem todos são bonzinhos o tempo todo, né? Nem malvados toda hora. Gray hat é aquele cara que também tem bastante conhecimento em informática e hacking, sabe os limites, mas de vez em quando, ultrapassa esses limites, seja por diversão, ou qualquer outro motivo, mas sem causar danos significativos e sem roubar informaçõesdo sistema invadido. O gray hat pode invadir o PC de um colega, trocar o plano de fundo dele para um pênis e zuar com a cara dele pro resto da vida, mas sem causar qualquer dano significativo na máquina da vítima. Até o próximo capítulo, onde falaremos sobre ética!
Antes de tudo, o que é ética? Ética, de acordo com o dicionário, é o ramo da filosofia que estuda o comportamento moral de um indivíduo em uma sociedade. Traduzindo do grego para português, ética significa bons costumes, caráter...
“Beleza Nick, mas o que isso tem a ver com hacker?” Aí que tá... Como eu já expliquei acima, hacker é diferente de cracker, que é diferente do gray hat, já que o hacker tem noção do que faz, tem noção do que é certo e errado, e faz o correto. Para conseguir bons contatos e fazer boas amizades no mundo hacker, é necessário agir com ética, ter caráter. Coisas como invadir um site puramente por diversão e apagar todo o conteúdo que lá tem é coisa de cracker, e totalmente antiético e imoral.
Um exemplo de atitude de um hacker: O hacker encontra uma falha de segurança no site da polícia federal, e com a exploração dessa falha ele teria acesso ao sistema de busca de indivíduos por CPF, uma espécie de consulta. Então ele entra em contato com o webmaster do site avisando da falha, sem causar nenhum dano e sem divulgar nada publicamente sobre a falha.
Um exemplo de atitude de um cracker: O cracker encontra uma falha em um dos servidores do Outlook, que permite que ele envie email para qualquer pessoa se passando por outra. Ao invés de alertar à Microsoft sobre a falha, ele a explora e consegue usá-la a seu favor, para enviar spam para várias pessoas.
Não quero que você pense que eu estou aqui para ditar regras, de forma alguma, estou apenas comentando sobre a ética que um hacker deve ter. Cabe a você, depois de ler o livro todo, a escolher que caminho quer seguir. Eu particularmente me considero um gray hat. Já ajudei muita gente que precisava, mas também já fiz algumas brincadeiras com certas pessoas, que estão marcadas até hoje, haha. Até mais, e bons estudos!
O golpe do telefonema
Um desconhecido liga para sua casa e diz ter sequestrado seu filho, e que quer R$20.000,00 na conta dele hoje, se não vai matá-lo. Você, no desespero, fala o nome do seu filho, perguntando se está tudo bem com ele. Sabendo disso, o golpista pode fazer ameaças usando o nome de seu filho, o que é bem mais aterrorizante... Outros golpistas que utilizam mais a internet podem até selecionar suas vítimas. As redes sociais, principalmente o Facebook, são uma ótima forma para saber o que as pessoas estão fazendo. Estamos no tempo em que as pessoas publicam tudo que estão fazendo.
identificação de localização ativada, mostrando em que local a foto foi tirada. Isso se não for daquelas pessoas que publicam o próprio número do telefone pedindo para ser chamada no whatsapp para conversar. Todas essas informações são valiosas na mão de criminosos. Eles podem descobrir uma certa rotina na sua vida, e planejar golpes seguindo-a. Por exemplo, eles sabem que você trabalha todos os dias das 9h até 18h, então sabem que nesse período, você não tem contato com sua família. Eles podem então ligar para seu(ua) filho(a), deixando o celular dele ocupado para novas ligações, e assim aplicar o golpe do telefonema em você, porque você não vai conseguir ligar para seu filho. Uma dica que dou para você, é dizer o nome errado do seu filho quando atender esse tipo de chamada. Ex:
_- Golpista: “Alô? Estou com seu filho aqui.”
O golpe da página fake
Outro golpe que está presente todos os dias é o da página fake. Bem provável que você já saiba o que é, ou pelo menos tenha ouvido falar, mas você sabe como ela funciona? Vou explicar. A página fake, como o próprio nome diz, é uma página falsa de um determinado site. Exemplo: Banco do Brasil, Facebook, Gmail. Qualquer site com formulário de login pode ser alvo de página fake. O objetivo dela é pegar os dados de quem tentar logar nela. Como isso é feito? Simples. Quando você coloca seu login e senha, e clica no botão Logar, você envia uma requisição à uma página ( geralmente PHP ou ASP ), essa página verifica se seus dados estão certos e faz o login se estiver. Nós podemos baixar a página, criando uma cópia idêntica, e podemos também alterar a página para qual o formulário fará a requisição quando alguém logar.
Nessa nova página, ao invés de verificar os dados inseridos, ela pega-os e salva em outra página, ou manda para o email do cracker. Veja abaixo um exemplo de spam contendo uma página fake em meu email:
Imagem: Acervo Pessoal
Nessa imagem que recebi via email, havia um link para uma página fake, que capturava a agência e senha Bradesco da vítima. Uma pessoa desavisada poderia pensar que a mensagem é real, e fazer a suposta atualização, dando a agência e conta na mão de bandidos.
Dicas que eu posso te dar para não cair nesse golpe:
1º - Sempre verifique a URL do site antes de logar. A maioria das URLs de páginas fake tem o nome suspeito, diferente do original, ou com algum erro de digitação. Se for diferente do original, não coloque seus dados. Ex: Original: bancodobrasil.com.br Falso: bancodobrasi.com.br
2º - Verifique se o site tem https:// no início. A maioria dos sites grandes usam esse serviço de segurança. Se o site que você for logar não tiver com esse serviço ativado, ou tiver com um cadeado quebrado no lugar, não logue, de forma alguma. Isso acontece porque o cracker tentou forçar o https na URL, sem esse serviço estar rodando, por isso é exibido um cadeado quebrado, alertando que o site pode ser falso. O HTTPS é a junção do protocolo
Outras técnicas como a utilização de KL Banker, KL proxy e etc. são quase a mesma coisa, e as dicas que eu posso dar são as mesmas. Mantenha seu antivírus atualizado e tome muito cuidado com os sites onde entra. Sempre verifique o arquivo HOSTS.
Como os crackers clonam cartões? O texto abaixo e dos próximos tópicos foi escrito por Hackuv e editado por mim. Créditos a ele =)
Você está feliz, comprando algo com cartão de crédito, tudo certo. Ou quase isso.A fatura que vem no final do mês está com compras que você não fez. Compras em outras cidades, estados e até países. Você foi vítima, seu cartão foi clonado! Os crackers conseguem os dados do seu cartão de crédito de duas maneiras.
A primeira é com um chupa cabra. O mesmo pode ser instalado em um terminal bancário ou até mesmo nessas maquininhas POS ou Pinpads que tem nas lojas. Os dados ficam salvos em um dispositivo Flash, e os estelionatários precisam ir "colher" os dados na loja, trocando os dispositivos e até em alguns casos, roubando os mesmos. Existem ocorrências que os chupas cabras tinham conexão Bluetooth e a distância se conseguia ter acesso a esses dados armazenados (falaremos mais sobre conexão via bluetooth no capítulo de redes). Lembrando que o chupa cabra funciona em três tipos de equipamentos: equipamentos POS, pinpads de TEF (Transferência Eletrônica de Fundos) e terminais bancários, e como é um sistema separado, não depende de nada. Pode ser instalado em qualquer leitora de cartão magnético.
Teminal POS:
Imagem: MerchantDataSystems
Chupa-cabra em terminal bancário:
Imagem: Fraudes.org
A segunda maneira é com malware TEF, que nada mais é que um Sniffer que atua na porta Serial(COM). Sniffer é um software que fica capturando todo o tráfego que passa em determinado local. Para ter acesso aos dados, ou os ladrões iam "colher", muitas vezes plugando um pendrive e o mesmo descarregava os dados para ele, ou o malware os enviava via email ou ftp ou qualquer protocolo de comunicação que esteja configurado, os dados fraudados. Lembrando que a técnica do vírus só se consegue fazer no TEF, pois necessita que os dados trafeguem por um computador antes de chegar na internet.
Terminal TEF:
Imagem: PrismaCPI
Venho Lembrar que isso tudo é para conhecimento. O uso desta técnica é considerada falsidade ideológica pelo art. 229º Código Penal, e quem utiliza dessas técnicas para o mal está sujeito as penas da lei!
Se me permitir, vou recomendar um filme sobre Kevin Mitnick, que na minha opinião, é o maior grey hat de todos os tempos. Ele usava mais da engenharia social para invadir, e já invadiu grandes empresas e órgãos governamentais sem ser pêgo. O filme que eu recomendo é “Hackers - Operação Takedown”. Está disponível no youtube. Conta sobre algumas das invasões de Kevin, até sua captura pela polícia. Hoje eleescreve livros e artigos sobre segurança de informações, dá palestras em diversos países e trabalha como consultor em segurança de sistemas. Se você se interessar por engenharia social, ele tem dois livros, “A arte de enganar”, onde ele fala sobre como a engenharia social pode conseguir informações preciosas, e “A arte de invadir”, onde ele conta sobre sua experiência como cracker nos anos 90. Tem umas histórias bem interessantes nesse livro, e são até inspiradoras. Você pode procurar os dois em PDF por aí que vai encontrar.
Nos vemos no próximo capítulo, onde eu mostrarei por onde você pode começar a estudar no mundo hacker.
Uma pergunta que eu recebo bastante é essa. Usuários novatos que não sabem por onde começar, nem o que aprender primeiro. Bom, essa pergunta é um pouco difícil de responder, não há uma resposta pronta para ela... Visto que o mundo hacker tem várias áreas, não tem como eu dizer para você começar por X ou Y. Se quiser focar na área de deface, terá que aprender a usar exploits, explorar falhas de programação, etc... Se quiser focar na parte de invasões à PCs, terá que aprender sobre malwares, e como deixá-los indetectáveis... Se quiser entrar na área do cracking, terá que aprender a programar em Assembly, entender sobre engenharia reversa, e sacar bem sobre a estrutura interna dos arquivos do Windows. Acredito que esse livro te dará uma boa base para seus estudos, já que eu falo sobre as principais áreas do hacking. Assim, você poderá ver em qual área se encaixa melhor e focar seus estudos nessa área. Na minha opinião, – e agora estou falando por mim – eu acho que de início os usuários novatos devem aprender a programar, porque isso vai dar a base de todo o estudo que eles precisam. Digamos que você queira invadir um site que está com uma vulnerabilidade de código no arquivo que faz a verificação de login. Se você não sabe programar aplicações WEB, não vai saber explorar falhas no site, e não conseguirá efetuar a invasão. Isso serve também para a área de invasão à computadores. Você cria um server de trojan e quer infectar uma vítima com ele, mas ele está sendo detectado pelo antivírus, e você precisa de um crypter para fazer com que ele torne-se indetectável. Se você não sabe programar, só vai conseguir o crypter comprando, e bem caro. Se você soubesse programar, teria construído um crypter indetectável, ou talvez até o próprio trojan indetectável. Você deve estar se perguntando agora o que é programação, ou então já sabe, ou já ouviu falar, ou blablabla... Então nos veremos no próximo capítulo, onde eu falo um pouco sobre programação.
Em programação, algorítmo é um esquema para resolver um determinado problema. Vou dar um exemplo de algoritmo de um programa em PHP que verifica se um determinado valor é um número.
_1. _
Vamos entender esse código. Na linha 1 e 7 nós estamos dizendo que o nosso código é na linguagem PHP, isso é padrão, em todas as linguagens terá algo que diga que o código inicia e termina. Na linha 2 nós definimos uma variável chamada numero , contendo o valor 3. Variável é um espaço na memória usado para armazenar dados, qualquer tipo de dado, desde um numero até um texto. Na linha 3 nós usamos uma estrutura condicional chamada if, que em inglês significa “se”, juntamente com a função “isint()”, que verifica se o valor digitado é um número inteiro. Nós falamos ao programa assim: “se o valor digitado for um número inteiro, então, faça isso:...”. Na linha 4 nós definimos o que o programa vai fazer se a condição de cima for verdadeira. No caso, a condição de cima é verificar se o valor digitado é um numero inteiro. Então, se essa condição for verdadeira, ele vai exibir a mensagem “É um número!”. Na linha 5 nós definimos o código que seria executado se essa condição fosse falsa. Nesse caso, esse código não seria executado, porque a condição é verdadeira (3 é um número inteiro).
Mas se o valor da variável $numero não fosse um número, o código da linha 4 não seria executado, ele iria pular pra linha 5. O else significa “caso contrário”.
Então, traduzindo para o português, o código ficaria assim:
_1. _
Entenderam? Esse é apenas um dos conceitos das linguagens de programação. Se quiser se aprofundar em programação (e eu recomendo infinitamente que você faça isso), procure por cursos/apostilas de algoritmo e lógica de programação.
Supondo que você precise ir na casa do seu amigo, que fica na rua de trás. Para você chegar até lá, você precisa seguir uma série de sequências lógicas, como andar, virar à esquerda, seguir em frente, virar direita, virar na casa amarela e bater na porta, certo? Mas veja, há dois caminhos, o que eu disse acima, e o outro, em que você entra em um beco que tem na calçada e vai direto para casa dele, sem precisar virar em lugar nenhum. Você segue uma linha reta, logo, percorre menos espaço. Qual caminho você prefere? Ir pela rua, dar voltas e andar mais, ou ir pelo beco em uma linha reta, andando menos? Bom, se você é normal, escolheu a segunda opção. É assim que você tem que pensar em programação, sempre faça a melhor e mais simples escolha possível, porque linhas e linhas de código dão dor de cabeça. “Será que essa é a forma mais simples de se fazer isso?”. Pense nisso.
Tipos de conversão
Em programação, quando seu código está pronto para ser executado, você precisa salvá-lo e convertê-lo para um arquivo executável, certo? E essa conversão pode ser feita por compilação ou interpretação. Se o método de conversão traduz todo o código do programa primeiro, para depois ser executado, dizemos que o código foi compilado, e o software que se responsabiliza por fazer isso é o compilador. Isso é útil pois o programa pode ser executado várias e várias vezes, sem precisar de uma nova compilação para cada execução, o que o torna mais versátil. Exemplos de linguagens compiladas: C, C++, Pascal, Visual Basic, etc.
Porém, se o método de conversão executa o código na medida em que ele é executado, dizemos que o código foi interpretado, e o software que se responsabiliza por fazer isso é o interpretador. Programas interpretados geralmente são mais lentos do que os compilados, mas são bem mais flexíveis, permitindo que eles rodem em várias plataformas. Por isso são chamadas de script. Exemplos de linguagens interpretadas: PHP, Perl, Python, Javascript, etc.
Linguagens como C e C++ são compiladas estaticamente, e seus códigos fontes são transformados diretamente em linguagem de máquina. Enquanto as linguagens mais modernas como Java, C# e Python têm seus códigos fontes transformados em uma linguagem intermediária (específica de cada linguagem), que será interpretada pela máquina virtual da linguagem quando o programa for executado.
Todos nós já ouvimos falar sobre banco de dados. Seja na internet, no trabalho, ou com algum amigo. Mas você já parou para pensar para que serve e o quão importante é o banco de dados? O que é um banco de dados? Bom, sabemos que um banco (agência bancária) é um lugar onde você pode guardar seu dinheiro de forma segura, e pode consultá-lo, sacar ou depositar quando quiser. Assim funciona o banco de dados na internet. Ele é um lugar na internet que armazena dados. Todo e qualquer tipo de dados. Desde números de fotos até cartões de crédito, ou nomes e senhas de usuários, ou os tópicos de um determinado site. Você baixou esse livro no Fórum Guia do Hacker, mas isso só foi possível porque eu criei um tópico para o download, e o conteúdo desse tópico ficou armazenado no banco de dados do fórum.
Existem basicamente duas formas de se administrar um banco de dados:
- Centralizando todos os dados em apenas um banco de dados, ou seja, o banco fica apenas em um servidor, e contém todos os dados que devem ser acessados pelas aplicações e/ou pelos clientes, e como ele fica centralizado totalmente no servidor, requer mais capacidade de processamento do mesmo. - Descentralizando os dados, dividindo-os em vários bancos e em servidores diferentes. São úteis porque cada banco exige apenas da capacidade de processamento do processador do servidor em que estão rodando, e como os dados estão divididos entre eles, cada um vai ficar com um pouco, não havendo sobrecarga. Os bancos de dados devem ser gerenciados por algum lugar, e é por isso que existem os S istemas G erenciadores de B anco de D ados (SGBT). Com esses softwares, é possível manipular os dados que são contidos no BD, podendo adicionar, remover, alterar, fazer consultas e etc. Um desses softwares, por exemplo, é o MySQL , que utiliza a linguagem SQL (Structured Query Language) como interface. É certamente o banco de dados mais utilizado atualmente, por conta da sua flexibilidade e facilidade ao trabalhar com seus comandos. NASA, Bradesco, HP, Nokia, Sony, Google, Cisco, todos esses gigantes utilizam o MySQL. Uma falha bem comum e que foi explorada exaustivamente nos últimos anos é o SQL Injection. Essa falha permite que o invasor injete querys (comandos) SQL no servidor/programa devido a uma falha na validação de dados. Por exemplo, no formulário de login de um determinado site, o banco de dados pega o login e senha, e os coloca em um comando para verificar se os dados são reais. Mas, se os dados passados não forem validados antes, é possível passar comandos para o banco e fazer com que ele ache que ele deve fazer outra coisa. Você pode injetar um comando que retorne toda a lista de usuários e senhas, por exemplo. Veremos sobre essa falha e outras mais para frente no capítulo de vulnerabilidades. Vamos falar sobre pentest agora, que tem muito a ver com isso. Até mais =)
Talvez seja a área mais cobiçada no mundo hacker. A área as invasões. Foi aqui que a fama do nome hacker se criou. Traduzindo para o português, pentest significa “Teste de penetração”. Mas não é essa penetração aí que você tá pensando não, safadinho... Penetração nesse caso se refere à intrusão em um sistema. Esse teste serve para avaliar a segurança em determinado sistema, programa, computador ou até mesmo em uma rede. É possível conseguir quebrar a criptografia de uma senha do wi-fi do seu vizinho usando algumas ferramentas de pentest! Mas lembre-se que isso é crime, e com a lei da Carolina Dieckmann, essa lei está mais frisada. Mas não vamos falar isso agora, vou dar-me a entender que todos testarão suas habilidades em ambientes controlados. Existem profissionais que são pagos pra isso, os chamados Pentesters. São profissionais que são especializados em fazer auditoria no sistema em busca de falhas, vulnerabilidades, bugs, simulando sempre um ataque real para descobrir a ‘reação’ do sistema à determinada exploração. Para que haja um bom planejamento antes do ataque, para que tudo seja feito corretamente, como planejado.
(Spoiler sobre GTA V abaixo) Você já jogou GTA V? Ou já viu algum vídeo da primeira missão? Se não viu, eu explico. O personagem principal precisa de dinheiro para pagar uma dívida, e para conseguir esse dinheiro ele planeja assaltar uma joalheria. Dias antes do roubo ele entra nela com um óculos com câmera, para filmar as entradas de ar (por onde ele poderia entrar e sair despercebido), filmar os locais onde têm câmeras, e perguntar para a balconista o tipo de jóias que eles vendem (para saber se o roubo seria lucrativo). O resto eu não vou contar, essa é a parte interessante. Os ladrões planejam dias antes do roubo, para que tudo dê certo. Imagine o tempo que os caras demoraram para planejar o assalto ao Banco Central. Não quero passar uma imagem ruim do mundo hacker, até porque você já sabe bem a diferença entre um hacker e cracker. Mas se você quer saber como os crackers atacam, precisa saber de algumas coisas...
Bom, depois essa história toda foi só para explicar que no pentest, o procedimento é o mesmo. Não é só chegar e usar qualquer exploit (explicarei nos próximos tópicos o que é exploit) achando que vai funcionar. Você precisa estudar seu alvo, analisar o comportamento dele diante às várias situações. Antes de falar sobre as etapas do pentest, vamos entender o conceito de exploit.