Escolar Documentos
Profissional Documentos
Cultura Documentos
Notícia legal.
Este livro é protegido por direitos autorais. Isto é apenas para uso pessoal. Você não pode
alterar, distribuir, vender, citar, usar ou parafrasear qualquer parte do conteúdo deste livro
sem o consentimento do autor ou proprietário dos direitos autorais.
Ações legais serão instauradas se isso for violado.
Observe que as informações contidas neste documento são apenas para fins educacionais
e de entretenimento. Este livro não pretende substituir o aconselhamento médico. Consulte
o seu médico para aconselhamento e tratamento médico.
Índice
Introdução
Parte I
Introdução ao Kali Linux e Hacking
Capítulo 1: Introdução ao Hacking O que
é Hacking?
Sequestro
de Sessão de Malware
Injeção SQL
Phishing
DOS
Pretos
Chapéus
Cinzentos Chapéus Vermelhos Chapéus Verdes
Machine Translated by Google
Blue Hats
Script Kiddies
Hacktivistas
Chapéu Branco (Hacking Ético)
O que é segurança cibernética?
Os elementos da segurança cibernética
Segurança da informação: a tríade da CIA
Confidencialidade
Integridade
Disponibilidade
VPN
Nós de endereço de
rede
Hosts
Endereço IP
Endereço IP público vs. privado
Atribuição de um endereço
IP Camadas de protocolo
O que é Linux?
O que é KaliLinux?
Devo usar Kali Linux?
Recursos do Kali Linux
parte II
Hackeando Kali Linux
O que é Nmap?
Como usar o Nmap para compreender e explorar vulnerabilidades
Comandos de digitalização
Verificação de ping
Detecção de versão
Verificação ociosa
Teste de penetração
Pré-engajamento
Reconhecimento
Exploração
Pós-exploração
Comunicando
Testando novamente
Cadeias proxy
VPN
Tor e Kali Linux
O que é Metasploit?
Módulos Metasploit de
usuários do Metasploit
Machine Translated by Google
Usando Metasploit
Instalando Metasploit
Gerenciando o banco de dados Metasploit
O armazenamento de dados Metasploit
Os espaços de trabalho do Metasploit
Conclusão
Machine Translated by Google
Introdução
Você já esteve em uma situação em que quis tentar hackear alguma coisa? Talvez
você quisesse testar a segurança de algo que estava desenvolvendo ou simplesmente
quisesse se desafiar e não sabia por onde começar. Se isso é algo que você
considerou, Kali Linux pode ser o sistema operacional de que você precisa para
iniciar o processo.
É importante observar que o Kali Linux não é para todos – você precisa de algum
nível de familiaridade com o funcionamento do Linux ou pelo menos uma ideia de
como interagir com o Linux se desejar usar o Kali Linux de maneira útil. Se você não
tem essa familiaridade, pode ser do seu interesse voltar e começar o estudo de uma
distribuição mais simples do Linux, como Ubuntu ou Mint, antes de começar a mexer
no Kali Linux. Se você decidir seguir em frente com o Kali Linux, tenha em mente
que as ferramentas desta distribuição podem causar sérios danos se usadas
indevidamente e podem até levar a consequências significativas. Esta não é uma
distribuição a ser tomada de ânimo leve.
Se você decidir prosseguir, este livro lhe dará o guia para iniciantes do Kali Linux e
como usá-lo para começar a hackear. A primeira metade do livro é dedicada a
fornecer o conhecimento básico que será necessário para realmente aproveitar ao
máximo. Você receberá informações sobre hackers e como isso tornou a segurança
cibernética mais importante do que nunca. Você aprenderá os fundamentos do
networking em si, mergulhando em vários conceitos diferentes e como eles funcionam.
Você aprenderá tudo sobre o Kali Linux – o que é, como é instalado e como usá-lo,
e aprenderá vários dos comandos mais básicos do Linux.
Na segunda metade deste livro, você começará a discutir a utilização do Kali Linux
para diversos propósitos diferentes. Você aprenderá sobre o Nmap e como ele pode
ser usado para detectar e explorar vulnerabilidades. Você será guiado pelas etapas
para permanecer anônimo. Você mergulhará no Metasploit e em como usá-lo com o
Kali Linux. Você aprenderá sobre certificados digitais e como usá-los e, finalmente,
aprenderá sobre bash (Bourne Again SHell) e scripts Python e por que os dois às
vezes são considerados conflitantes, apesar do fato de que poderiam muito bem
funcionar juntos e cooperarem para obter resultados muito melhores do que se
continuarem separados.
Machine Translated by Google
Quando terminar de ler este livro, você terá uma ideia das informações básicas
necessárias para primeiro decidir se o Kali Linux é para você e, se for, você
saberá como começar a usá-lo e terá uma compreensão de quão poderosa é
esta distribuição do Linux.
Embora o Kali Linux não seja para todos, se acontecer de você se enquadrar
na categoria de pessoas que encontrariam uso neste programa, então as
ferramentas que serão fornecidas com esta distribuição são ativos incrivelmente
valiosos que você não vai querer perder. tendo em seu arsenal.
No final do dia, você será capaz de determinar se está satisfeito com a ideia do
Kali Linux e se isso é para você ou se, em vez disso, você deveria fazer
questão de mudar para uma distribuição diferente do Linux. .
Você poderá decidir se deseja continuar trabalhando inteiramente com o shell
ou se deseja aprender Python. E, se nada disso que foi discutido faz algum
sentido, então, ao chegar ao final do livro, você deverá encontrar alguma
clareza com os tópicos em questão e como eles devem ser usados.
Machine Translated by Google
Parte I
É uma das piores coisas que podem acontecer a muitas pessoas: elas acessam sua conta
bancária ou cartão de crédito apenas para perceber que o saldo de sua conta está completamente
esgotado ou que alguém está fazendo uso intenso de seu cartão de crédito. Isto pode devastar
absolutamente muitas pessoas e, infelizmente, hoje em dia, esta é uma preocupação muito real.
Hoje em dia, as informações financeiras são armazenadas em algum lugar. Seu banco tem um
registro do número da sua conta, dos números do seu cartão e de tudo o mais que alguém
precisaria para acessá-lo. Você provavelmente faz login em algum lugar para pagar contas de
cartão de crédito ou serviços públicos.
Você pode até fazer a maior parte de suas compras, tanto de mantimentos quanto outras vezes
online. Isso significa que suas informações pessoais são constantemente usadas online. Você
insere seu número de seguro social para solicitar um cartão de crédito. As três principais agências
de crédito mantêm suas informações, rastreando-as e atualizando-as regularmente. Você pode
até solicitar impostos online. Este tem um
Machine Translated by Google
Para ser justo, essas informações geralmente são armazenadas por trás de todos os
tipos de protocolos de segurança implementados. Eles têm como objetivo proteger suas
informações contra vazamentos para pessoas que possam estar interessadas em usá-
las para fins nefastos, mas, assim como a armadura, geralmente há uma maneira de
passar por isso. Alguns sistemas podem ser mais seguros do que outros, mas no final
das contas, um indivíduo dedicado seria capaz de encontrar uma maneira de romper
se se esforçasse.
Assim que eles rompem esse sistema de segurança, eles têm acesso a todos e
quaisquer dados, que podem então ser liberados e vendidos, levando você a ter sua
identidade roubada. Todos querem evitar esse resultado infeliz, mas com o
armazenamento de informações valiosas surge o risco de ataque e exploração, que
deve ser contabilizado.
O que é hackear?
Hackear, então, é o ato de identificar qualquer tipo de fraqueza no sistema de segurança
de um computador ou rede e, em seguida, explorar essa fraqueza para obter o acesso
necessário a tudo o que está escondido atrás do firewall.
Por exemplo, um exemplo comum é o uso de um algoritmo projetado para identificar
uma senha, a fim de arrombar digitalmente o bloqueio de uma rede ou conta. Essa
conta foi então explorada para obter o acesso desejado.
Nem sempre o hacking pode ser feito com a intenção de causar danos – algumas
pessoas o fazem por meios legítimos, como localizar uma falha no sistema e repará-la.
Outros podem optar por fazê-lo para se divertir, não muito diferente de resolver um
quebra-cabeça complicado ou tentar resolver problemas matemáticos cada vez mais
complicados para testar e aprimorar habilidades. Outros ainda o fazem para roubar
informações para algum propósito, seja para usá-las para obter ganhos financeiros ou
para paralisar o sistema que estão invadindo.
A invasão pode ocorrer de diversas formas, como enganar alguém para que clique em
um anexo de um e-mail que concederá acesso a um computador.
Outras formas, no entanto, exigem muito mais conhecimento técnico, desenvolvendo a
capacidade de enganar e acionar o sistema para conceder acesso e informações que
de outra forma deveriam ser salvaguardadas. Este livro discutirá principalmente métodos
Machine Translated by Google
Por exemplo, algumas pessoas podem hackear seu console de videogame para executar
emuladores que lhes permitam jogar ROMs de jogos diferentes, incluindo alguns que
podem não ter sido planejados para serem usados naquele sistema.
Outros podem usar suas habilidades para roubar informações e vendê-las a pessoas que
desejam roubar uma identidade. No entanto, existem inúmeras opções que um hacker
pode usar para obter acesso a todas as informações que deseja. O restante desta seção
discutirá alguns dos métodos de hacking mais comuns que existem, permitindo que você
tenha uma ideia do que o hacking pode acarretar.
Tenha em mente que esta lista não é exaustiva.
Programas maliciosos
Malware é software malicioso – resumido em uma palavra. Inclui software como vírus que
são instalados, seja clicando em algo que permite o download ou baixando você mesmo,
mas depois de permitir a entrada, você compromete suas informações. Os invasores
geralmente usam um link ou anexo de e-mail que parece inofensivo para induzi-lo a
instalar qualquer malware que esteja oculto.
O malware instalado pode causar todos os tipos de problemas, como monitorar o uso do
computador, como as teclas digitadas, o que permite ao hacker acessar todos os tipos de
informações que podem ser pessoais ou confidenciais. Também pode conceder acesso
total ao computador, dependendo do malware instalado. No geral, porém, na grande
maioria das vezes, o usuário do computador terá que fazer algo que acione o download
do malware.
Sequestro de sessão
Como será discutido mais adiante, quando um usuário está navegando na internet, o
computador do usuário envia diversas transações para os servidores do site, permitindo que o
Machine Translated by Google
site para ver quem está acessando, o que está sendo solicitado e enviando as
informações adequadas de volta ao usuário para exibição. Isso é feito por meio de
roteadores e redes e, quando feito corretamente, você consegue acessar as
informações solicitadas sem problemas, seja simplesmente navegando em sites e
clicando em links ou inserindo informações confidenciais.
Injeção SQL
SQL (geralmente pronunciado como “sequela”) é um acrônimo para linguagem de
consulta estruturada. É a linguagem de programação usada principalmente como
meio de comunicação com bancos de dados.
A injeção de SQL, então, busca utilizar código projetado para acionar o servidor para
fornecer informações que normalmente são protegidas. Especialmente quando o
servidor contém informações pessoais importantes, ele pode ser um alvo valioso –
essas informações podem ser vendidas ou usadas como alavanca para chantagem.
Efetivamente, o ataque de injeção de SQL explora uma das vulnerabilidades conhecidas
do SQL, da qual o invasor tira vantagem. Isso pode ser feito inserindo um código
específico em uma barra de pesquisa ou interagindo com ele de uma forma que acione
resultados indesejados.
Phishing
Para aqueles que sabem que é melhor não abrir um anexo ou link aleatório que lhes
foi enviado, existem outros métodos que podem ser usados para fazer com que você clique.
O invasor pode saber que não é provável que você simplesmente abra um anexo
aleatório, então ele considera o motivo para abrir esse anexo um motivo atraente e
motivador. Essas pessoas muitas vezes imitam outras pessoas para fazer você clicar
no link.
Por exemplo, você pode receber um e-mail de alguém afirmando trabalhar para o IRS
e dizendo que tem um saldo pendente com essa pessoa. Eles não especificam o saldo,
mas incluem um extrato anexado ao e-mail no qual você deve clicar para vê-lo.
Claro, toda a situação é falsa. Não há saldo devido e, se você fosse esperto, se
lembraria de todos os avisos que são enviados todos os anos sobre como o IRS só
entrará em contato com você por correio tradicional. Os phishers dependem de você
não saber o que está fazendo, ficar muito curioso ou não ser cauteloso o suficiente
para passar pelo processo de verificação dupla das fontes antes de baixar um
documento.
DOS
Você já tentou sair de um grande evento de uma cidade pequena? Especialmente se
houver apenas uma estrada que permita a saída, você poderá ficar preso no trânsito
por horas. O mesmo tipo de ocorrência pode acontecer com sites – normalmente, os
servidores só conseguem acomodar uma determinada quantidade de tráfego e, se o
tráfego ficar muito ruim, o site fica sobrecarregado e não consegue carregar os sites
necessários para ninguém. Às vezes isso acontece legitimamente, como se fosse altamente
Machine Translated by Google
os ingressos desejados serão colocados à venda em um horário específico com previsão de esgotamento
ou durante vendas massivas e em quantidade limitada.
No entanto, às vezes, um indivíduo pode decidir que deseja que esse tipo de ponto final aconteça. Quando
fazem isso, inundam intencionalmente o site com tráfego – tanto que os servidores do site não conseguem
mais acomodar a carga e ninguém consegue acessar nada. Conhecido como DOS (Denial of Service), esse
ataque geralmente vem de uma única fonte, todos
No entanto, às vezes, ele vem de vários endereços IP ao mesmo tempo, usando computadores diferentes
para atacar e dificultando o rastreamento e a parada.
Isso é conhecido como DDOS – negação de serviço distribuída.
por outro lado, tem havido hackers com motivação política ou social que usam o hacking para
chamar a atenção para um evento específico ou para obter informações confidenciais – essas
pessoas são conhecidas como hacktivistas.
Não importa o motivo do hacking, uma coisa é certa: a menos que o hacking seja feito para ajudar
a preparar o sistema que está sendo hackeado, a fim de melhorar a segurança, o hacking é
perigoso. É prejudicial. Não é um brinquedo. Não é algo para ser considerado levianamente. Se
você está neste livro porque quer hackear alguém ou se vingar de alguém por causa de algo que
aconteceu ou simplesmente quer ver o mundo pegar fogo, pare. Feche este livro. Encontre um
hobby fazendo algo que não vá potencialmente arruinar vidas. Em última análise, vidas já foram
arruinadas por hackers antes.
Normalmente, as pessoas terão um dos quatro motivos para hackear maliciosamente um servidor
ou computador:
Eles estão participando de uma tentativa de hacking patrocinada pelo governo para
obter inteligência nacional, enfraquecer a infraestrutura ou apenas causar estragos.
Estas pessoas não se importam com as regras ou leis e, de facto, criaram a necessidade de
segurança cibernética e de leis de segurança cibernética, que serão discutidas mais adiante neste
capítulo. Pessoas invadindo bancos de dados e servidores levaram a um
Machine Translated by Google
precisamos garantir que estes estejam mais seguros do que nunca, levando à criação de todo
o campo de empregos em segurança cibernética.
Os hackers geralmente são classificados com títulos referentes às cores dos chapéus. Eles
podem ser pretos ou com, vermelhos ou verdes, ou até azuis. Compreender essas cores de
chapéu pode ajudá-lo a entender melhor por que as pessoas podem optar por hackear, mais
especificamente do que os quatro motivos listados acima. Também pode ajudá-lo a esclarecer
por que você deseja aprender a hackear por meio do Kali Linux.
Chapéus Pretos
Quando você pensa em um hacker, provavelmente é um chapéu preto – eles fazem isso por
motivos nefastos. Estes são os que são frequentemente encontrados violando servidores e
explorando pontos fracos. Eles fazem isso para roubar e ganhar dinheiro. Essas pessoas,
embora criminosas, também fazem uso de algumas das técnicas mais básicas que são
aprendidas. Embora sejam bastante inteligentes, eles são motivados por meios nada honrosos
– tudo o que lhes interessa é o que têm a ganhar.
Chapéus
Cinzentos Os hackers de chapéu cinza são um pouco mais complicados do que os chapéus
pretos. Eles estão hackeando para roubar, mas geralmente em termos menos nefastos. Eles
podem estar interessados em compartilhar arquivos ou invadir software para usá-lo sem pagar
taxas de licenciamento.
Eles geralmente interagem com servidores e redes de forma exploratória, mas não
necessariamente para roubar as informações contidas neles. Em vez disso, eles tratam o
hacking mais como um hobby de que gostam. Eles normalmente não informam os sites
quando encontram explorações, mas provavelmente se oferecem para corrigi-las mediante o
pagamento de uma taxa. Essencialmente, essas pessoas ficam mais motivadas por se verem
e provarem aos outros que são importantes.
Chapéus Vermelhos
autoridade e realizam suas tentativas de acordo com suas próprias regras. Se usar a
expressão combatendo fogo com fogo, os chapéus vermelhos lutarão contra uma
tocha com um lança-chamas - eles tentam agressivamente destruir o acesso do
chapéu preto às redes ao descobrir quem é o chapéu preto, com a intenção de tornar
o chapéu preto completamente incapaz de causar mais danos. Embora essas
pessoas tendam a existir mais distantes do resto da comunidade hacker, elas tendem
a ser algumas das mais sofisticadas, querendo jogar de acordo com suas próprias
regras.
Chapéus Verdes
Chapéus Azuis
Script Kiddies
Essas pessoas não ganham cor, mas ainda assim é importante mencioná-las.
Essas pessoas geralmente não têm interesse em roubar informações, mas ainda
gostam de pegar códigos já criados e injetá-los em servidores na tentativa de causar
problemas. Eles são mais propensos a utilizar
Machine Translated by Google
suas habilidades em técnicas como DDoS para inundar um site apenas para irritar as
pessoas sem qualquer propósito real.
Hacktivistas
Conforme brevemente mencionado, os hacktivistas são aqueles motivados pela
política. Eles podem ser agrupados nos chapéus pretos, embora geralmente estejam
hackeando na tentativa de trazer à luz algo importante para sua causa. Eles podem
tentar divulgar informações ou registros que deveriam ser mantidos em sigilo ou
podem decidir realmente causar problemas para uma empresa. Eles podem até tentar
combater grupos terroristas graças ao seu impressionante conhecimento prático. Eles
estão tentando levar a mudanças positivas, embora possam usar métodos negativos
para alcançá-las. Eles são motivados acima de tudo pela sua causa.
hackers, que podem ter o coração no lugar certo, mas fazem as coisas de uma
maneira tão ruim e destrutiva quanto os hackers black hat.
Como muitos dados existentes são bastante sensíveis e devem ser protegidos, a
segurança cibernética é absolutamente essencial. Não apenas os dados do usuário
individual são protegidos ao implementar práticas de segurança cibernética, mas a
empresa que implementa as práticas também se protege. Como a probabilidade
de uma violação massiva diminui com o uso da segurança cibernética, a
probabilidade de grande atenção negativa da imprensa também diminui. A
segurança cibernética ajuda a diminuir o risco de violações, ataques de ransomware
e roubo de identidade de indivíduos e, embora a segurança cibernética possa ser
difícil de manter devido ao mundo em constante mudança da tecnologia e da TI,
mantê-la traz sérios benefícios.
As práticas de segurança cibernética devem ser usadas por qualquer pessoa que
use qualquer coisa conectada à Internet – seja você um funcionário, proprietário
de um servidor ou usuário individual, há etapas que você pode seguir para evitar
Machine Translated by Google
caindo nas armadilhas de hackers ou daqueles que procuram explorar seus dados.
Tudo começa com sua senha. No entanto, existem também muitos outros pontos em
que a segurança dos seus dados pessoais como utilizador já não está nas suas próprias
mãos e cabe à empresa responsável pelos seus dados protegê-los.
Normalmente, essas ameaças são abordadas concentrando a maior parte dos recursos
na proteção dos componentes mais cruciais para proteger contra quaisquer ameaças
que sejam conhecidas e significativas. No entanto, esta abordagem também deixa
alguns sistemas menos protegidos ou indefesos ou deixando o sistema aberto a
ameaças que podem ser consideradas menos conhecidas ou menos perigosas.
Os Elementos da Cibersegurança A
Cada um destes três lados da tríade é crucial: As informações protegidas devem ser
confidenciais, acessíveis e mantidas com integridade. Sem alcançar todos estes três
objetivos, a segurança da informação não foi totalmente
Machine Translated by Google
Confidencialidade
Esta é a capacidade de proteger informações de qualquer tipo de acesso não
autorizado a elas. Quando as informações são confidenciais, elas não podem ser
acessadas por ninguém não autorizado. Por exemplo, quando você vai ao consultório
médico, seu histórico médico é confidencial, a menos que você assine um formulário
de liberação. No ambiente médico, essas informações são protegidas tanto por
medidas de segurança quanto por regulamentos de conduta para evitar que suas
informações médicas confidenciais se tornem conhecidas. No lado da segurança da
informação, as informações que estão sendo protegidas só serão acessíveis por
usuários autorizados, sendo os usuários não autorizados automaticamente rejeitados
caso não forneçam as credenciais corretas. Por exemplo, considere uma agência de
crédito que tenha acesso a todas as suas informações pessoais, desde o seu número
de segurança social até às contas e números de conta de qualquer uma das suas
linhas de crédito – se os seus dados não estiverem seguros, corre o risco de roubo de identidade.
Integridade
Por exemplo, imagine que você verificou sua conta bancária antes de comprar um
novo computador porque queria ter certeza de que seu cheque de depósito direto
havia, de fato, sido depositado. Se o seu aplicativo bancário não for atualizado
corretamente ou não refletir o fato de que você, de fato, foi pago, você pensará que
não conseguirá comprar aquele laptop ou qualquer outra necessidade que possa ter
tido.
Disponibilidade
Machine Translated by Google
onde for solicitada e necessária. Como as informações geralmente são protegidas, elas não estão
disponíveis para todos, mas devem estar disponíveis para aqueles que possuem as credenciais
adequadas. Isto deve ser mantido tanto quanto possível – a protecção de dados sem acesso
imediato aos mesmos não é exactamente a mais útil em situações em que os dados se tornam
essenciais. Por exemplo, imagine que seus registros médicos estão sendo protegidos. Se o seu
médico não conseguisse acessar seus registros médicos sob demanda, você não conseguiria
obter o
tratamento adequado.
Machine Translated by Google
Com o uso em larga escala da Internet, vem a introdução da rede. Embora possa
ser fácil pensar que as informações ou solicitações que você envia pela Internet
simplesmente aparecem instantaneamente após serem transmitidas para um
satélite, especialmente se você estiver usando um roteador para uma conexão
doméstica sem fio, o que realmente acontece é que os dados que você passa
por fios para obter as informações solicitadas para serem devolvidas a você, tudo
em velocidades extremamente rápidas. Esta é a criação da rede e, quer você já
tenha considerado isso ou não, ela é uma grande parte de tudo nos dias de hoje,
e você provavelmente usa a rede várias vezes ao dia. Quer você verifique sua
conta bancária ou até mesmo compre algo com cartão de débito ou crédito, você
está enviando informações por meio de uma rede.
Definida de forma simples, uma rede são dois ou mais computadores conectados
de alguma forma para compartilhar informações ou interagir de alguma forma.
Os computadores não precisam estar conectados via fio – eles podem ser
conectados através de feixes infravermelhos, através da transmissão de ondas de rádio
Machine Translated by Google
Existem vários casos em que uma rede é a escolha certa para o uso planejado. Por
exemplo, imagine que você tem dois computadores (um laptop e um desktop), um tablet e
um telefone celular. Você usa regularmente todos os quatro itens em casa e deseja ter
certeza de que os dados anexados ao seu laptop, que você usa principalmente para
acessar e navegar na Internet ou responder e-mails, também estejam disponíveis em seu
desktop mais poderoso, que pode ser reservado para programas mais intensivos, como
jogar videogame ou editar arquivos ou vídeos grandes. Você também, apenas por
conveniência, gostaria de ter certeza de que as fotos tiradas em trânsito com o telefone
também podem ser acessadas de outras fontes. Quando você deseja aquele nível de
conectividade, onde pode acessar todos os seus arquivos de qualquer lugar, você está
procurando uma conexão de rede. Ao obter essa conexão de rede, você poderá
compartilhar esses arquivos com facilidade.
É claro que existem outras maneiras pelas quais as redes também se tornam cruciais. Se
você trabalha em uma escola, por exemplo, pode estar familiarizado com laboratórios de
informática. Nesses laboratórios, os alunos inserem suas informações de login em qualquer
computador para acessar a mesma conta. Os professores também podem enviar suas
informações para fazer logon em qualquer computador dessa rede, desde que usem a
senha e o nome de usuário corretos.
Tipos de redes
As próprias redes podem assumir diversas formas diferentes. Essas redes são utilizadas
para tudo e qualquer coisa que envolva a transmissão de informações, seja imprimindo
um documento ou enviando um e-mail. É importante compreender que, ao discutir redes,
você está discutindo principalmente um dos dois tipos de rede diferentes, embora existam
vários outros, dependendo da finalidade. Os dois mais comumente discutidos são LAN e
WAN, com a VPN sendo um terceiro próximo. Esses três tipos de redes têm seus próprios
cenários de uso específicos. Esta seção lhe dará uma breve visão geral de LAN, WAN e
VPN, embora você descubra que a VPN será discutida com mais detalhes em capítulos
posteriores.
E
Machine Translated by Google
A mais comum das redes no entendimento moderno é a LAN. Esse tipo de rede é
conhecido como rede local – ela conecta computadores e dispositivos de baixa
tensão entre si em uma área pequena ou local. Isto pode ocorrer dentro de um único
edifício ou até mesmo em alguns edifícios que possam precisar compartilhar
informações. Com o uso de um roteador, uma LAN pode interagir com uma WAN
para transferir dados de forma rápida e segura. Se você for configurar uma rede
pessoal em casa, provavelmente será uma LAN, especialmente se mais de uma
pessoa a compartilhar.
FURGÃO
VPN
VPN significa rede privada virtual. É uma rede que se estende pela internet como se
estivessem acessando uma rede privada que outras pessoas não conseguem
acessar, através da internet. Isto também pode ser alcançado remotamente, através
do uso de uma conexão virtual ponto a ponto, na qual os sites privados e remotos
podem acessar uns aos outros. Eles são roteados pela Internet a partir de uma rede
privada para transferir informações confidenciais e garantir que sejam seguras.
Normalmente, isso era feito criptografando os dados – fazendo com que não
pudessem ser lidos facilmente por alguém que, em primeiro lugar, não deveria ter
acesso a eles.
Endereço de rede
Um endereço de rede é uma forma pela qual os nós e hosts em uma rede podem ser
identificados. Assim como sua casa tem um endereço que permite que o correio
tradicional seja entregue exatamente no seu endereço, onde quer que esteja, seu
computador tem seu próprio tipo de endereço. Ao abordar algo para o seu específico
Machine Translated by Google
endereço, alguém mesmo do lado oposto do mundo poderá lhe enviar algo. A
rede funciona assim: permite que você envie algo para um ponto muito específico,
mesmo que você não esteja conectado fisicamente de forma alguma.
Nós
Os nós são o ponto de redistribuição individual dentro de uma conexão de rede -
se você estivesse enviando algo por correio tradicional, os nós seriam todas as
agências postais individuais pelas quais a correspondência passa. Se você enviar
algo do Alabama para uma cidade remota no Alasca, essa carta não irá viajar
diretamente para aquela cidade remota – ela passará por vários postos de controle
que funcionam como pontos de redistribuição. O nó também pode se referir ao
terminal final. Na verdade, é todo local para o qual os dados foram encaminhados
até que finalmente cheguem ao fim da linha e sejam entregues onde deveriam
estar.
Anfitriões
Endereço de IP
Esses endereços IP não são estáticos com base no computador; em vez disso, eles
são fornecidos pelo provedor de serviços de Internet (ISP) para você. Como o ISP
atua como gateway da sua LAN para a Internet, ele também marca suas solicitações
com o endereço IP atribuído à sua casa ou ponto de acesso. Ele permite que o
computador faça essa conexão com a Internet e, em seguida, conceda acesso a ela.
Ele é capaz de se conectar ainda mais através do uso de protocolos de Internet, que
serão discutidos posteriormente neste capítulo. Isso significa que sempre que você
se conectar a um novo local da Internet, mesmo no mesmo computador, você
receberá um novo endereço IP. O wifi local do café lhe dará um endereço IP diferente
daquele que você tem em casa ou no trabalho, mesmo que todos os três tenham
sido acessados no mesmo computador. Isso ocorre porque, quando você está em
um novo local da Internet, você acessa a Internet de um novo local. Suas informações
precisam seguir um caminho totalmente diferente para chegar até você com base
em sua localização.
Atribuindo um endereço IP
Há também um terceiro tipo de endereço IP: o endereço IP estático. Este endereço
IP permitirá que você use vários serviços de rede sem a necessidade do endereço
IP do sistema que hospeda os serviços. Isso pode ser feito de várias maneiras,
como vincular o endereço MAC a um endereço IP ou configurar um em uma linha
de comando ou em um gerenciador de rede.
Quando desejar fazer isso manualmente, você precisará verificar o roteador que
está usando. De modo geral, os roteadores usarão seus próprios métodos para
bloquear e vincular endereços IP e você deve sempre verificar o manual do roteador
que está usando. A maneira como isso funciona é vinculando diretamente o
endereço MAC ao endereço IP. O endereço MAC é o endereço de controle de
acesso à mídia – é um identificador colocado em um dispositivo, definindo-o
exclusivamente. Isso é permanente e atribuído ao controlador de interface de rede
(NIC) desse dispositivo específico. Isso significa que o item sempre terá o mesmo
endereço MAC, não importa quantas vezes ele seja redefinido ou alterado
diretamente para os padrões de fábrica.
Quando você torna o endereço IP estático, o que você faz é atribuir diretamente
esse endereço MAC específico a um endereço IP específico. No entanto, este
método não será usado para criar um IP estático para uma máquina virtual.
No Kali Linux, criar um endereço IP estático é incrivelmente simples. Tudo que você
precisa fazer é usar as configurações do Network Manager. Ao fazer isso, você
deve ir até o canto superior direito da tela e clicar na seta do menu. Em seguida,
clique em “Wired Connected” seguido de “Wired Settings”.
Machine Translated by Google
Depois de fazer isso, você receberá uma nova janela. Você deverá ver ícones de
engrenagem – clique no ícone de engrenagem conectado ao menu Wired. Isso abrirá outra
janela, na qual você escolherá a guia IPv4. Você pode então mudar o método IPv4 de
automático para manual, seguido de inserir o IP estático desejado que você gostaria de
implementar.
Você também deve selecionar sua máscara de rede – para a maioria das pessoas, basta
digitar 255.255.255.0. Você deve então registrar seu Gateway, que deve corresponder ao
endereço IP do roteador. Isso leva às seguintes configurações:
Ao alinhar essas configurações, você pode optar por definir quaisquer configurações de
DNS, se desejar, embora isso não seja necessário. Depois de terminar de configurar o
endereço, máscara de rede e gateway, você pode clicar em aplicar.
Para garantir que você tenha o endereço IP do roteador, tudo que você precisa fazer é
digitar o comando:
ip ro
Se você observar a resposta “default via”, você terá o endereço IP do seu roteador.
Machine Translated by Google
Por último, para aplicar todas as alterações ao endereço IP, você deve reiniciar a rede.
Você pode fazer isso com o seguinte comando no terminal:
Supondo que você já esteja familiarizado com o Linux e com os princípios básicos de
seu uso, você sabe que sudo é o comando que aciona o sistema para contornar
quaisquer restrições administrativas, desde que você tenha sido definido como usuário sudo.
Se você achar que não está familiarizado com esse processo, poderá se beneficiar
procurando um guia para iniciantes em Linux antes de prosseguir com o livro.
Com o comando sudo inserido, agora você pode parar para verificar seu IP local atual
para ter certeza de que suas alterações foram recebidas e feitas. Você pode fazer isso
com o seguinte comando:
ip um
Você poderá então ver qual é o endereço IP do seu sistema. Se corresponder ao que
você tentou definir, você conseguiu definir seu próprio endereço IP.
Camadas de Protocolo
O IP começou como IPv4 (Internet Protocol Versão 4), embora esteja começando a
ser substituído pelo IPv6.
Em última análise, o IP é responsável por diversas funções. Ele pode ser dividido
em quatro funções distintas – aplicação, transporte, internet e vinculação de dados.
Há também uma quinta camada para a transmissão de dados e pacotes – a camada
física, embora o modelo TCP/IP não abranja o físico.
O modelo TCP/IP
O modelo TCP/IP é uma das especificações do IP – é a lista definitiva de regras
sobre como a comunicação deve ocorrer entre computadores em uma rede. Ele
dita o padrão de formatação dos dados, permitindo que todos os sistemas utilizem
os mesmos padrões. Essencialmente, o modelo TCP/IP permite que todos os
sistemas, independentemente de sua origem, acessem a mesma Internet.
Machine Translated by Google
Isso é feito criando datagramas padrão – esses datagramas têm dois componentes.
Eles têm um cabeçalho e uma carga útil. O cabeçalho inclui o endereço IP de origem,
o endereço IP do destino e quaisquer outros metadados necessários para garantir que
todas as informações sejam recebidas exatamente onde deveriam. A carga útil então
são os dados que serão entregues à fonte que precisa recebê-los. Quando a carga útil
e o cabeçalho são aninhados no que é chamado de pacote, o processo é conhecido
como encapsulamento.
Com a pilha IP, existem cinco camadas distintas, conforme mencionado anteriormente.
As primeiras quatro camadas são relevantes para o modelo TCP/IP. A primeira
camada, a camada física, é responsável pela codificação e transmissão de dados de
uma fonte para o meio de comunicação de rede adequado. Ele usa dados chamados
bits que são enviados da camada física, que a camada física do destino receberá.
Essencialmente, a primeira camada pega a entrada que você coloca no computador,
por meio de cliques e pressionamentos das teclas do teclado em bits, e os codifica.
Esse
Em seguida, você passa pela camada de enlace de dados – durante essa camada, os
pacotes que foram previamente codificados são transferidos da camada de rede para
dois hosts separados. Esta transmissão de pacotes às vezes é controlada pelo
Machine Translated by Google
Uma vez que os dados são enviados ao destino, no entanto, ainda existem mais
duas camadas antes que possam ser acessados. A próxima camada é a camada de
Transporte – sua responsabilidade é permitir que a mensagem seja transferida. Isso
geralmente ocorre de duas maneiras: através do protocolo de controle de transmissão
ou através do User Datagram Protocol (UDP).
O UDP, por outro lado, permite uma transmissão mais rápida de dados.
Infelizmente, a transmissão mais rápida de dados tem um custo: precisão.
A verificação de erros é eliminada e, em vez disso, concentra-se no envio de dados
da forma mais rápida e precisa possível. Porque esperar pelo envio dos dados pode
levar tempo, latência ou defasagem entre o que foi solicitado e o que foi feito. Em
alguns casos, as pessoas podem preferir sacrificar a precisão e a segurança em
favor da velocidade do UDP. Ambos estes
Machine Translated by Google
Homem no meio
Conforme discutido anteriormente neste livro, o ataque man-in-the-middle é um
ataque no qual o invasor intercepta secretamente e às vezes altera a comunicação
entre um host e um destinatário. O anfitrião e o destinatário pensam que são capazes
de se comunicar livremente ou que estão falando diretamente um com o outro, mas
o MITM está ouvindo – eles são capazes de fazer com que duas partes se sintam
seguras e protegidas, ao mesmo tempo em que coletam informações valiosas que
podem ser usado posteriormente de alguma forma, formato ou forma. Isso geralmente
é feito através do invasor que consegue obter acesso a um dos IDs de transmissão
que devem ser exclusivos entre os dois usuários finais.
Machine Translated by Google
Às vezes, isso ocorre quando alguém dentro do alcance do Wi-Fi consegue se inserir
na conexão e começa a interceptar informações. É mais bem-sucedido quando o
invasor consegue personificar ambos os terminais, certificando-se de que nenhuma
pessoa ou usuário levantou qualquer suspeita.
Ataques
cibernéticos Os ataques cibernéticos são tentativas maliciosas intencionais de
roubar informações ou de outra forma violar um sistema de informação de outra
pessoa. Normalmente, isso ocorre porque alguém vê algum tipo de valor em interferir
deliberadamente no computador ou na rede de outra pessoa. As razões para os
ataques cibernéticos têm aumentado ultimamente, com as pessoas às vezes vendo-
os como ataques instantâneos – eles podem invadir intencionalmente um sistema
para pedir um resgate ou oferecer-se para corrigir a exploração descoberta por um
preço. Não importa a situação, estes ataques cibernéticos são inegavelmente
prejudiciais. Eles podem ter sérias implicações financeiras, ao mesmo tempo que
colocam em risco dados confidenciais. Isso pode acontecer de forma ativa ou passiva.
Um ataque cibernético passivo, por outro lado, ocorre quando um sistema de rede é
monitorado e verificado para encontrar vulnerabilidades abertas. Em vez de tentar
alterar as informações de alguma forma ou alterar a rede, as informações são
simplesmente usadas para monitorar os dados de alguma forma. É levado para uso,
mas na verdade não é alterado.
DOS e DDOS
Um ataque de negação de serviço é um ataque projetado para causar sérios
problemas à rede. O objetivo disso é inundar uma rede específica para travá-la.
Assim como um engarrafamento aumenta quando muitas pessoas estão em uma
estrada que é pequena demais para acomodá-lo, a rede não será capaz de gerenciar
muitas solicitações ao mesmo tempo se não for grande o suficiente para fazê-lo.
Geralmente, isso é feito com uma máquina invasora capaz de executar um programa
cliente, que então inunda constantemente o servidor alvo com pings e solicitações
para paralisá-lo. À medida que a rede continua tentando responder a tempo, ela fica
cada vez mais lenta até parar completamente.
Falsificação de MAC
Como você já leu, os endereços MAC geralmente são permanentes e codificados na NIC de um
dispositivo. No entanto, existem maneiras de editar e alterar isso. Isso é conhecido como falsificação de MAC.
Machine Translated by Google
Quando a falsificação de MAC é usada, o sistema operacional alvo ou com o qual interage pode ser
enganado e acreditar que o endereço MAC é na verdade algo totalmente diferente. Efetivamente, isso
permite que a identidade de um computador seja alterada e ocultada. Na maioria das vezes, isso é feito
porque o indivíduo deseja ignorar as listas de controle de acesso. Caso tenham sido banidos de um
servidor, por exemplo, eles conseguem contornar essa lista alterando-a. Eles também podem se passar
por outro dispositivo para obter acesso não autorizado a um sistema por meios semelhantes.
A falsificação de MAC também pode ser feita para ocultar a identidade – se você desejar usar uma
conexão não criptografada, como uma linha criptografada IEEE, não será possível impedir que a rede Wi-
Fi forneça a outras pessoas acesso ao endereço MAC. Ao falsificar seu endereço, você evita ser rastreável.
Você terá escondido essa identidade e, ao fazê-lo, poderá ficar invisível, por assim dizer. Seu verdadeiro
endereço MAC foi ocultado e, por causa disso, você pode escapar da detecção pelas autoridades.
Machine Translated by Google
Neste ponto, você deve ser capaz de ver que a segurança cibernética é crucial e
que existem boas razões para aprender como hackear, a fim de identificar quaisquer
elos fracos em seus sistemas e protegê-los de danos.
É aqui que entra o Kali Linux. Agora, como um aviso rápido antes de continuar,
nunca é recomendado que você use esses métodos para danificar ou sabotar
deliberadamente outra pessoa ou sua conexão. Você não deve usar as ferramentas
do Kali Linux para fins ilegais.
No entanto, se decidir fazê-lo, tenha em mente que você será inteiramente
responsável por suas próprias ações. Este livro não tolera nem incentiva o uso de
hackers para fins nefastos. Se você decidir utilizar essas habilidades, o motivo para
fazê-lo deve ser o desejo de proteger ou defender sua própria segurança.
Este capítulo apresentará o Kali Linux de maneira adequada - você aprenderá antes
de tudo o que é o Linux e, a partir daí, aprenderá sobre o Kali Linux, a distribuição
específica do Linux. Você aprenderá como instalar o Kali Linux, o que vem com o
Kali Linux e algumas das informações e comandos específicos comuns do Kali Linux
que você pode precisar saber. Ao final deste capítulo, você terá um conhecimento
prático do que é Kali Linux e também de como instalá-lo em seu computador.
O que é Linux?
Primeiro, você deve entender o que é o Linux em si, já que Kali Linux é, em última
análise, uma distribuição Linux (coloquialmente chamada de distro). Se você já
estiver familiarizado com o Linux, poderá pular esta seção, pois ela provavelmente
não fornecerá mais nada. Se você não está familiarizado com o Linux, leia esta
seção e lembre-se de que esta não é uma distribuição que deve ser encarada
levianamente ou tratada como um brinquedo. Kali Linux é perigoso e não deve estar
nas mãos de alguém que não será capaz de se proteger contra danos graves.
Machine Translated by Google
O próprio Linux é um sistema operacional – ele foi projetado para ser de código
aberto. Isso significa que o código em si é facilmente alterável e de distribuição
gratuita. Ele foi intencionalmente projetado para ser flexível e capaz de ser alterado
de diversas maneiras diferentes. O código é de código aberto, o que significa que o
acesso para alterar o mainframe e o código base é bastante simples e, em muitas
formas de Linux, se você simplesmente conseguir obter acesso ao terminal, poderá
instruí-lo a fazer qualquer coisa— mesmo que o que você disser seja prejudicial ou
arrisque travar todo o sistema que você instalou.
Quando você aprende a usar o Linux, você recebe controle livre sobre o sistema.
Mais especificamente, porém, o Linux descreve o próprio kernel e não o sistema
operacional real. O kernel é a base que permite que o sistema operacional do
computador inicialize o hardware, permitindo que a interação inicial entre o sistema
operacional e o usuário comece a construir a partir dele. Algumas formas de Linux,
como Mint ou Ubuntu, são projetadas para serem prontamente acessíveis, facilmente
compreendidas e construídas para serem gerenciadas e utilizadas com facilidade.
Outras distribuições do Linux são muito mais técnicas e exigem que você tenha muito
mais conhecimento de programação para realmente comandá-las. São distribuições
como o Gentoo, que é amplamente conhecido como um meme da Internet, assim
como excluir o System 34 do Windows para fazer com que tudo trave. Outros
formulários ainda trazem consigo diversas ferramentas e funções às quais você não
necessariamente teria acesso de outra forma, como várias das ferramentas baseadas
em penetração do Kali Linux. É importante que você entenda o que pode e o que não
pode fazer, quais são suas próprias capacidades e como você pode interagir com os
sistemas antes de decidir instalar o Kali Linux.
Se até agora você estava perdido com a conversa sobre kernels e distribuições ou
com a ideia de codificar seus próprios programas e comandar seu computador, por
favor pare de ler agora e procure um livro para iniciantes antes de revisitá-lo. Esses
conceitos são cruciais e espera-se que você tenha algum nível de familiaridade com
o sistema daqui em diante, seja você iniciante ou não. Lembre-se de que você pode
causar danos irreparáveis se tentar usar este sistema sem saber totalmente o que
está fazendo – você deve ser cauteloso e cuidadoso para evitar um desastre causado
por você mesmo.
O que é KaliLinux?
Machine Translated by Google
Ao usar o Kali Linux, você obtém acesso às ferramentas projetadas para ajudá-lo
nas tarefas de segurança da informação. Você poderá participar de testes de
penetração, pesquisas de segurança e muito mais. Como o Kali Linux é gerenciado
e mantido pela Offensive Security, um dos principais instrutores em segurança
cibernética, você sabe que as ferramentas fornecidas são muito parecidas com
aquelas que você enfrentará no futuro.
O Kali Linux possui várias características importantes que o tornam útil no mundo
do hacking – essas ferramentas o tornam valioso tanto para aqueles interessados
em hackear para fins nefastos quanto para aqueles que estão interessados em
melhorar a segurança em geral. No entanto, essas características tiveram um custo.
Vários dos benefícios comumente conhecidos do uso de distros Linux foram
alterados para tornar o Kali Linux uma ferramenta mais valiosa. Afinal, a beleza do
Linux é que ele é capaz de fazer qualquer coisa que você seja capaz de programar,
para que você possa criar um sistema operacional que atenda exatamente às suas
necessidades. Agora, vamos analisar essas mudanças importantes na distribuição
padrão do Linux.
Lembre-se de que o acesso root se refere ao fato de alguém ter ou não autoridade
administrativa naquele dispositivo. O usuário root não tem salvaguardas, não é
informado sob nenhuma circunstância e não pode ser substituído pelo sistema. Na maioria
Machine Translated by Google
Em casos com vários outros sistemas Linux, é altamente recomendável evitar usar a conta de
acesso root e, em vez disso, configurar outra com privilégios sudo. No entanto, isso não é
possível com o Kali Linux – o sistema operacional não permite que nenhum outro usuário ou
acesso root seja deixado para trás. Isso significa que o sistema operacional, se você não souber
o que está fazendo, pode ser completamente destruído com apenas um ou dois erros de
digitação ou sem saber o que está fazendo. Devido à natureza das ferramentas e ao cenário de
uso do Kali Linux, quase tudo o que você fará seria considerado privilégio mais alto e você teria
que comandar constantemente o sistema com sudo ou, de qualquer maneira, precisaria
permanecer na conta de usuário root.
Como ter que evitar a conta root seria um fardo, o Kali Linux mudou para permanecer
constantemente com acesso root. Este é mais um motivo pelo qual esta não é uma distro para
iniciantes.
Embora os serviços de rede geralmente sejam habilitados em distribuições Linux, no Kali Linux
existem ganchos de sistema que deixam os serviços de rede desabilitados por padrão. Este é
um método de segurança – permite que os serviços permaneçam seguros e protege a
distribuição independentemente dos pacotes instalados.
Outras formas de rede, como Bluetooth, também estão desativadas.
Embora quase todas as outras distribuições Linux estejam interligadas pelo kernel
Linux comum, a distribuição Kali Linux não usa esse kernel exato - aquele que é
utilizado no Kali Linux foi personalizado, permitindo que seja corrigido para injeção
sem fio, ainda de outra maneira. que é capaz de atuar como uma ferramenta útil para
testes de penetração.
Como o Kali Linux foi projetado para ser seguro, há uma lista mínima de fontes de
software que têm permissão de acesso ao sistema. Embora muitas pessoas possam
sentir a necessidade ou a tentação de adicionar sistemas que não estão autorizados
ou que estão na lista de repositórios, isso pode causar uma grande probabilidade de
travamento total da instalação do Linux. Por esse motivo, você deve reconhecer que
o Kali Linux não é tanto um sistema operacional do dia-a-dia, mas uma ferramenta
para treinamento e cenários de uso muito específicos. Se você não fizer uso dele em
um desses cenários, como testes de penetração ou praticar suas habilidades,
encontrará pouca utilidade para o sistema. Você não usará isso para navegar
diariamente na web e tentar responder e-mails ou jogar videogame – tentar fazer isso
corre o risco de travar tudo.
Sim, existe algum grau de personalização, mas você não poderá instalar apenas
nada. Você deve instalar a partir de uma lista escolhida de repositórios se desejar que
eles funcionem imediatamente. Se você tentar instalar algo que não está nessa lista,
terá que passar por vários obstáculos para tentar consertá-lo e, mesmo assim, é
provável que você cause mais problemas do que corrigiu. Para navegação e uso
regulares, Kali Linux não é adequado para você.
Livre
Machine Translated by Google
Esta é talvez uma das razões mais convincentes para usar o Kali Linux – se ele servir para
você, é totalmente gratuito. Você nunca será obrigado a pagar para ter acesso a este conjunto
de ferramentas, o que significa que não há licenças contínuas para manter.
Seguro
O Kali Linux foi desenvolvido por um pequeno grupo confiável para interagir com os repositórios
e ainda possui diversos protocolos para ajudar a garantir que o Kali Linux seja o mais seguro
possível. Isso significa que qualquer pacote enviado para download será assinado pelos
desenvolvedores que o comprometeram e construíram, permitindo o rastreamento da
responsabilidade caso algo dê errado.
Customizável
Embora o Kali Linux tenha cenários de uso muito específicos que são incentivados e certos
usos do sistema sejam fortemente desaprovados, todo o sistema foi construído para ser
personalizável. Você pode tentar alterar o Kali Linux para atender às suas necessidades,
mesmo que essas necessidades vão contra o uso recomendado.
Você pode ter complicações, mas é capaz de tentar fazer tudo o que achar necessário.
Todo o código-fonte está disponível para as pessoas verem ou ajustarem de acordo com suas
necessidades específicas. As pessoas podem acompanhar o desenvolvimento e os códigos-
fonte para ter certeza de que conseguirão exatamente o que desejam e precisam, com as
poucas limitações listadas na seção anterior.
Kali Linux permite que usuários Linux localizem seus arquivos e bibliotecas graças
ao familiar padrão de hierarquia de sistema de arquivos que sempre foi usado. Isso
significa que se você já está familiarizado com o Linux, usá-lo terá um obstáculo a
menos para superar.
Kernel personalizado
Neste ponto, você deve ter uma boa ideia se a instalação do Kali Linux irá beneficiá-
lo. Se você acha que é, de fato, o que é certo para você depois de analisar tudo
sobre o sistema operacional, então é hora de começar a discutir o processo de
instalação do sistema operacional. A instalação é o primeiro passo para poder
utilizar o sistema operacional Kali Linux e pode ser feita de várias maneiras. Se
você estiver instalando o Kali Linux de alguma forma que não seja o método de
instalação tradicional de instalação do sistema operacional Kali Linux em seu
computador ou se você acha que executará uma máquina virtual, talvez seja melhor
acessar o site oficial do Kali Linux e olhando os guias e tutoriais que eles têm
disponíveis.
Quando estiver pronto para instalar, você deve certificar-se de ter tudo o que
precisa. Isso pode variar muito dependendo do sistema que você está usando.
Aqueles que executam Linux provavelmente já têm tudo o que precisam instalado,
mas se você estiver executando macOS X ou Windows, você está
Machine Translated by Google
Depois de instalar o GPG, você precisa baixar e importar sua cópia da chave
oficial do Kali Linux. Você fará isso com o seguinte comando:
Em resposta, você receberá um número chave. Para verificar se sua chave foi
instalada, você deve tentar mais um comando:
Contanto que você não encontre nada informando que há um erro, você deverá
verificar se possui uma chave, bem como um limite de tempo durante o qual a
chave é eficaz.
sem nome –m
e depois de fazer isso, você receberá a resposta “x86_64”, significando que você
está executando um formato de 64 bits no momento, ou uma resposta “i386”
significando que você está executando um sistema de 32 bits. Você precisa ter
certeza de que o ISO escolhido é a versão correta.
Machine Translated by Google
Antes de executar o Kali Linux Live, que será discutido em breve, você precisa
verificar novamente se possui o lançamento oficial e legítimo do Kali Linux, em
vez de algum tipo de versão hackeada ou alterada que foi distribuída em outro
lugar na Internet. . Você pode fazer isso simplesmente de três maneiras diferentes:
Talvez o método mais rápido de colocar o Kali em funcionamento seja usar um USB
inicializável ao vivo. Essencialmente, o que você está fazendo é colocar o Kali Linux em
uma unidade USB e inicializá-lo a partir desse USB. Isso traz várias vantagens próprias,
como evitar qualquer tipo de destruição ou caos. Ao usar isso, você não está fazendo
nenhuma alteração no sistema que está usando – você está simplesmente executando-o a
partir do USB. Isso também traz à tona o fato de que ele é portátil e personalizável – você
poderá levá-lo com você para qualquer lugar e inicializá-lo a partir de qualquer computador,
e poderá criar seu próprio Kali ISO personalizado na unidade USB da mesma maneira. isso
será discutido aqui.
Para criar a unidade inicializável, você precisará ter uma cópia verificada do ISO, um
utilitário de imagem de disco (se estiver usando Windows, você pode baixar o Win32 Disk
Imager, ou se estiver no Linux ou OS X, você provavelmente já tem isso e tudo que você
precisa fazer é usar o comando dd para acessá-lo) e uma unidade USB ou um cartão SD,
desde que o sistema que você está usando permita acesso direto com qualquer um desses
métodos.
Seu armazenamento deve ter pelo menos 4 GB, sendo recomendado mais.
Machine Translated by Google
Ao fazer isso em um computador Windows, você terá que seguir várias etapas que são
diferentes em comparação com se você estivesse executando uma máquina Linux ou OS X.
Selecione o arquivo ISO do Kali Linux que você está criando e confirme se está
substituindo a unidade USB adequada. Quando você tiver confirmado que está
correto, pressione o botão Escrever. Assim que terminar a imagem, ejete a
unidade USB e ela estará pronta para
usar.
etapas são um pouco mais complicadas e você corre o risco de ter dificuldades ou sobrescrever
acidentalmente uma unidade de disco que não foi intencional. Você precisará ter certeza de
que está usando os comandos corretos para garantir que não está sobrescrevendo nada
acidentalmente.
Primeiro, você deve descobrir o caminho do dispositivo que usará para gravar a
imagem na unidade USB. Você deseja fazer isso sem o USB inserido naquele
momento. Dentro do terminal, você deseja escrever:
sudo fdisk -l
Você deve obter uma saída que mostre uma única unidade com três
partições.
Neste ponto, conecte seu USB à porta disponível e repita mais uma vez o
comando anterior de sudo fdisk -l e agora você deverá obter uma saída
semelhante mostrando um dispositivo extra este
Machine Translated by Google
tempo que não existia antes - desta vez, é a sua unidade USB.
Agora, você deve criar a imagem do arquivo ISO no dispositivo USB com
um comando semelhante ao que será fornecido a seguir. Este comando
assume que sua imagem ISO se chama “kali-linux-2017.1-amd64.iso”
e está atualmente no diretório de trabalho.
Também pressupõe que o nome da sua unidade USB seja “/dev/sdb” e
você desejará substituir o nome do arquivo e o nome da unidade, se
necessário. Você pode escolher o tamanho do bloco se quiser tentar
acelerar as coisas, mas este é o tamanho mais seguro que criou imagens
confiáveis. O comando aqui é:
lista questionável
uma nova unidade de disco que não estava presente antes, e é assim que
você sabe agora como endereçar o comando.
Neste ponto, você precisa criar a imagem do arquivo Kali ISO para o
dispositivo com um comando como:
Lembre-se de que não há garantia de que seu arquivo e sua unidade tenham os
mesmos nomes de arquivo. Você precisará alterá-los de acordo.
Neste ponto, você poderá usar qualquer uma das suas unidades USB para inicializar o
sistema operacional. Tudo o que você precisa fazer é abrir o menu de inicialização ao
iniciar o computador com o USB montado e selecionar Kali Linux.
Existem outros métodos que você pode usar para acessar o Kali Linux, como instalá-lo no
próprio computador, mas um dos métodos mais recomendados de acesso ao software é
através do uso do drive USB. Se você tiver interesse em baixar todo o sistema para o seu
hardware, fique à vontade para navegar no site oficial específico do Kali Linux para obter
mais acesso e informações para fazer exatamente isso.
Machine Translated by Google
Deste ponto em diante, as informações que você obterá serão uma mistura de
informações práticas e informações que você poderá usar ativamente de alguma
forma. Este capítulo em particular fornecerá as informações necessárias para
começar a interagir com o Kali Linux. Você receberá uma lista dos comandos mais
comuns e básicos necessários.
Ao ler esses comandos, tente realmente se familiarizar com eles. Você quer ter
certeza de que entende o que eles são e como podem ser melhor usados para
beneficiá-lo. Se você puder fazer isso, você garantirá que também será capaz de
interagir com sua distribuição Linux, independentemente da sua escolha. Lembre-se
que com Kali Linux, você estará como usuário root por padrão e precisará tomar os
cuidados necessários. Ao usar vários desses comandos quando você não tem acesso
root, você se depara com problemas que o impedem de seguir em frente. Porém,
com Kali, se você já estiver no usuário root, o comando é executado instantaneamente,
mesmo que seja prejudicial. É por isso que a atenção aos detalhes, e uma quantidade
meticulosa deles, é crucial se você realmente deseja desenvolver suas habilidades
com o Kali Linux e se tornar hábil em testes de penetração e hacking.
O terminal
Se você está familiarizado com Linux e comandos básicos, também deve estar
familiarizado com o Terminal. É assim que você consegue interagir com o shell do
Linux, comandando-o para fazer o que você espera.
Basicamente, você inserirá informações no servidor e esperará que ele saia do outro
lado com a resposta adequada. Esta é a base dos comandos mais simples do Linux.
Para relembrar rapidamente, se já faz algum tempo, você estará emulando o terminal
em um ambiente gráfico para poder ver a entrada e a saída de uma forma que possa
ler e entender. Se você já possui Linux ou OS X, já tem acesso ao Terminal, podendo
também instalar outros. Se você possui Windows, pode instalar o PuTTY. O Kali
Linux também terá seu próprio terminal que você poderá acessar com facilidade.
Machine Translated by Google
Prompts de comando
Efetivamente, então, se você for apelidado de hacker como seu usuário, e o servidor em
que você está hackeando e você estiver atualmente no diretório inicial padrão, você poderá
ver um prompt padrão de:
hacker@hacking:~$
No Kali Linux, entretanto, você está sempre conectado à conta de usuário root único. Você
verá o nome de usuário “root” em vez de “hacker” ou qualquer outro nome que possa estar
lá.
Executando os Comandos
Quando você quiser dar seus comandos, você deve especificar o que deseja de
uma forma que o sistema seja capaz de gerenciar adequadamente. Você pode
inserir um script, uma série de informações prescritas que farão com que o
sistema responda de uma maneira específica. Você também pode inserir seus próprios comando
Isto é o que será a maior parte deste capítulo atual: maneiras de interagir e comandar o
servidor.
Você também pode inserir seus comandos de duas formas: Com ou sem argumentos. Ao
inserir um comando sem argumento, você está inserindo um comando simples sem esperar
mais nada. Isso fará com que o computador envie exatamente o que você especificou ou
faça exatamente o que você disse. Se você escrever ls, por exemplo, de repente você terá
tudo listado na sua frente na tela – os arquivos e diretórios do diretório atual.
Machine Translated by Google
Outra maneira comum de executar comandos é com opções – isso significa que eles
precisam seguir algum tipo de modificação. Isto é seguido por um - e uma letra que
informa ao sistema o que você precisa dele. Por exemplo, se voltarmos para ls, você
pode optar por adicionar algo mais a ele, como ls -l que informa ao seu sistema que
você deseja listar uma lista mais longa de permissões, incluindo muito mais detalhes
do que normalmente seriam incluído.
Você também pode misturar e combinar, para poder combinar suas opções e
argumentos - na verdade, é incrivelmente comum misturar os dois para executar o
comando correto.
A partir daqui, você receberá vários comandos no Linux que considerará úteis. Este
será um ótimo curso de atualização ou você não precisava dessas informações em
primeiro lugar. Se você não precisava dessas informações ou se sente confiante em
sua capacidade de navegar em um sistema Linux, sinta-se à vontade para parar aqui
e pular para o próximo capítulo. No entanto, se você não estiver totalmente confiante
em sua capacidade de navegar pelo software, pode ser inteligente pelo menos gastar
algum tempo lendo esta lista abrangente de comandos que foram fornecidos para
você.
Claro, você também pode voltar a essas informações mais tarde, se sentir que precisa
de um comando e quiser ter certeza de que será realmente capaz de aprender como
usá-los.
Arquivos
diretório tar cf archive.tar Isso criará um arquivo tar (archive.tar) que contém o
diretório.
Diretório tar cjf archive.tar.bz2 Semelhante ao acima, mas o arquivo tar será
compactado usando o formato bzip2.
Diretório tar czf archive.tar.gz Outra variação do primeiro comando. Ele criará um
tar compactado com gzip (archive.tar.gz).
tar xjf archive.tar.bz2 Use isto para extrair dados de um tar compactado bzip2.
tar xzf archive.tar.gz O comando para extrair de um tar que foi compactado no
formato gzip.
Navegação no diretório
Esses códigos permitirão que você navegue pelo diretório de forma rápida e fácil. Ao
fazer isso, você poderá alternar de um espaço para outro sem precisar percorrer
manualmente seus diretórios, um de cada vez.
cd É
.. semelhante ao anterior, mas possui dois pontos. Irá mover você um nível acima
na árvore de diretórios. Por exemplo, você está no diretório 2, que fica no diretório 1.
Você irá para o diretório 1 com este comando.
Uso de disco
Esses comandos específicos estão diretamente relacionados ao uso do disco. Eles permitirão que você veja
todos os tipos de informações sobre o status atual do disco, o que pode ser extremamente necessário quando
você monitora seu sistema de perto.
Machine Translated by Google
df -h Você poderá ver o espaço usado e disponível em seus discos com este comando.
df -i Use isto para ver inodes usados e disponíveis em seus sistemas de arquivos (montados).
du -ah Mostrará o tamanho do arquivo para todos os objetos e diretórios em um formato legível
por humanos (bytes, megabytes, gigabytes).
du -sh Semelhante ao acima, mas exibirá apenas as informações do diretório em que está sendo
trabalhado no momento.
fdisk -l Quando precisar ver os tamanhos e tipos de partição de seus discos rígidos, use este
comando.
comandos nesta seção o ajudarão a interagir diretamente com o arquivo e o diretório em seu
sistema. Eles permitirão todo tipo de acesso extra e usabilidade de seus arquivos e permitirão que
você aproveite ao máximo seu sistema e eficiência.
mv arquivoA arquivoB Renomeia arquivoA para arquivoB. Também pode mover um arquivo. Se
o arquivoB for um diretório, o comando moverá o arquivoA para esse diretório.
rm file Remove o arquivo em questão. Mais comumente conhecido como exclusão de um arquivo.
Machine Translated by Google
rm -rf directory Use isto quando quiser “forçar” a exclusão de um diretório e seu
conteúdo recursivamente. Novamente, certifique-se de que é isso que você pretende
fazer, pois nenhuma confirmação será solicitada.
Transferências de arquivos
Esses comandos funcionam como um guia para mover os arquivos de um lugar para outro conforme
necessário, a fim de garantir que você sempre possa colocar seus arquivos onde quiser.
scp file.txt server:/tmp Secure copia o arquivo (neste caso file.txt) para a pasta /
tmp no servidor.
badblocks -s /dev/sda Isso verificará se há algum bloco ilegível no disco sda (você
pode alterar sda para qualquer unidade de disco que deseja verificar).
free -h Isso exibirá o espaço de memória livre e usado em seu sistema naquele
momento, especificamente em um formato legível por humanos. Você também pode
selecionar -m em vez de -h para exibição em MB ou -g para obter o resultado em GB.
hdparm –I /dev/sda Isso fornecerá todos os tipos de informações sobre o disco sda.
Instalando Pacotes
yum info package Exibe informações sobre o pacote que você refere.
yum search keywords Fornece uma busca por um pacote usando uma palavra-chave.
Rede Esses
comandos estão diretamente relacionados à rede, permitindo que você veja o que está acontecendo
com sua própria rede e qualquer coisa com a qual sua rede esteja interagindo.
dig -x IP_ADDRESS Use isto para executar uma pesquisa reversa de um determinado endereço IP
ethtool eth0 Uma ferramenta para visualizar e alterar drivers de rede e configurações de hardware.
hostname -i Este comando é usado para exibir o endereço de rede do “nome do host”.
hostname -I Muito semelhante ao comando acima, mas exibirá todos os endereços IP locais .
netstat -nutlp Mostrará a você todas as portas tcp e udp de escuta e seus programas relacionados.
Monitoramento de desempenho
Machine Translated by Google
Esses comandos são dedicados a garantir que você seja capaz de monitorar o desempenho do seu
sistema. Isso garantirá que seu sistema esteja funcionando bem, de forma eficaz e de acordo com
sua preferência, a fim de garantir que não haja mais nada que você precise fazer para otimizar suas
próprias configurações para o que você deseja ou precisa que sejam.
lsof Permite uma lista de todos os arquivos abertos atualmente presentes no sistema.
lsof -u [nome de usuário] Permite uma lista de arquivos abertos presentes atualmente pelo nome de
usuário especificado.
tail 100 var/log/messages Isso permitirá que você veja as últimas 100 mensagens de log do sistema.
tcpdump –i eth0 Isso permitirá que você veja todos os pacotes listados naquela interface específica
(neste caso, eth0).
tcpdump –i eth0 'port 10' Isso permitirá o monitoramento de dados na porta 10, e você pode alterar
o nome da porta para qualquer porta que esteja tentando gerenciar.
vmstat 1 Isso permitirá que você veja as estatísticas relacionadas à memória virtual .
Gerenciamento de processos
Esses comandos são dedicados ao gerenciamento de processos - eles informam o que os processos
que estão atualmente em andamento estão fazendo, bem como permitem que você mude de
processos em primeiro plano para processos em segundo plano conforme necessário para garantir
que sua própria atividade não seja prejudicada devido a outros processos em execução também.
fg Este comando colocará o processo em segundo plano mais recente em primeiro plano.
fg n
Semelhante ao comando acima, isso empurrará o processo “n” para a frente.
kill pid Use isto para encerrar ou “matar” um processo específico, onde o ID do processo
corresponde a “pid”.
killall processname Quando você deseja eliminar todos os processos com um nome
específico, utilize este comando.
início Um visualizador de processos. É mais antigo que htop , mas tem o mesmo propósito.
Possui algumas diferenças, como falta de suporte ao mouse (algo que o htop possui).
Escolha sua preferência.
Procurar
Quando você precisar encontrar algo em seu sistema, esses comandos são sua melhor
aposta. Ao usar seus comandos de pesquisa, você será capaz de encontrar com facilidade
os arquivos aos quais precisa de acesso rápido e saber exatamente onde eles estão, para
poder ir até eles e acessá-los em outro lugar.
find /home -size +25M Utilize este comando para localizar arquivos maiores que
25MB em /home
Machine Translated by Google
find /home/mark -name 'prefix*' Isso encontrará arquivos em /home/mark que começam com
“prefix”.
host Conecta-se ao host usando o nome de usuário que você usa localmente.
cat /etc/redhat-release Mostra qual redhat está atualmente presente em seu computador para
uso.
data Isso mostrará a hora e a data atuais no sistema que você está usando.
última reinicialização Isso mostrará a última vez que o sistema foi reinicializado.
uname -r Isso permite que a saída mostre qual versão do kernel você está usando.
uptime
Informa há quanto tempo seu sistema está ativo ou há quanto tempo está carregando.
whoami Isso lhe dirá com quem você está atualmente conectado ao sistema.
groupadd group1 Permite criar um novo grupo “group1” nesta instância. Você pode
substituir “grupo1 por qualquer outro nome para o seu grupo.
usermod –aG group1 “name” Permite mover o usuário “name” para o grupo “group1”.
Machine Translated by Google
parte II
Neste ponto, você pode estar bastante ansioso para começar a usar o Kali Linux de
uma vez por todas. Agora você deve ter o sistema operacional instalado ou está se
preparando para fazê-lo. De qualquer forma, a leitura desta seção pode fornecer
informações valiosas. É aqui que você começa a ver o verdadeiro poder do Kali Linux
e como ele pode ser usado. Você começará a ver a força que pode ser conquistada
hackeando e aprendendo a ver e exercer essa força por si mesmo. Você também
deverá ser capaz de começar a ver como é fácil para uma rede ficar desprotegida ou
indefesa. Quando isso acontece, é do seu interesse garantir que você possa descobrir
vulnerabilidades para corrigi-las.
Nmap é apenas uma das muitas ferramentas que o Kal Linux oferece, e este capítulo
em particular se concentra nele. O Nmap é poderoso, permitindo coletar e identificar
informações que devem ser úteis, permitindo detectar tudo no sistema. É
principalmente uma ferramenta de segurança, mas você deve ter em mente que
também pode ser usada para causar danos. Agora é hora de mergulhar no início do
processo de hacking propriamente dito.
Se você já instalou o Kali Linux, vá em frente e abra-o – o Nmap vem por padrão, já
fornecido no sistema.
O que é Nmap?
Nmap significa mapeador de rede – é uma ferramenta incrivelmente popular usada
para descobrir o que está disponível para você. Tal como acontece com todas as
ferramentas fornecidas a você na distribuição Kali Linux, seu uso é gratuito e seguro.
Ao usar o Nmap, você é capaz de mapear redes, permitindo-se ver inventários e
também encontrar portas abertas. É bastante simples de usar – abre um terminal no
qual você pode inserir seus comandos e scripts, permitindo que você faça o que
quiser no sistema depois de entrar.
Machine Translated by Google
Esta ferramenta é capaz de funcionar através de firewalls e roteadores, pode ignorar um filtro de
IP e navegar nos sistemas. Embora tenha sido projetado para ser capaz de passar por redes
massivas, também pode ser usado em escalas menores. Ele é usado principalmente para
varredura de portas, detecção de versão, detecção de sistema operacional e uso de varreduras
de ping. Funciona de forma bastante simples: usa pacotes IP para encontrar hosts em uma rede
e o que eles estão executando. Muitas informações podem ser obtidas apenas descobrindo o que
o computador de alguém está executando.
No geral, o Nmap é incrivelmente poderoso – ele permite que você execute todos os tipos de
ações e procure diversas explorações. Ele não apenas coleta informações, mas também permite
a verificação de segurança, tornando-se uma ferramenta multifuncional que pode beneficiá-lo
muito. Pode ser usado para ações como:
A ferramenta em si é incrivelmente comum e também é compatível com CLI e GUI, o que significa
que não é apenas comum e poderosa, mas também flexível.
Como usar o Nmap para compreender e explorar vulnerabilidades Quando estiver pronto
para usar o Nmap, você terá várias opções diferentes. Você poderá verificar um alvo, alvos
limitados ou vários alvos, todos com base no comando que você pode enviar. A meta determina
exatamente como você passaria pelo processo de uso deste sistema, mas, em última análise, isso
levará algum tempo.
o uso mais básico do Nmap seja através da varredura. Quando quiser digitalizar, você tem várias
opções diferentes. Você pode escolher o que deseja atingir, seja um indivíduo, vários indivíduos
ou um diretório inteiro. Imagine por um momento que você deseja digitalizar uma única unidade ou
Machine Translated by Google
alvo nmap #
nmap target.com #
nmap 192.143.1.1
Isso fará a varredura daquele sistema específico. Se você deseja verificar todas as sub-
redes associadas a esse sistema, seu comando mudará ligeiramente. Em vez disso,
seria:
alvo nmap/cdir #
nmap 192.143.1.1/24
E se, em vez disso, você quisesse verificar vários alvos diferentes, bastaria
rotulá-los e separar os endereços IP com espaços. Por exemplo, talvez você
escrevesse:
nmap
alvo-50#nmap 192.143.1.1-50
Você também pode decidir que o que você precisa é de uma lista de vários
hosts que estão sendo verificados – neste caso, você deseja adicionar o
parâmetro adequado. Neste caso, esse ,parâmetro seria -sL que criaria o
prompt de comando de:
Às vezes, porém, você pode querer verificar toda a sub-rede, mas também sabe que
precisa deixar uma seção dessa sub-rede totalmente sem verificação para evitar a
detecção.
Especialmente se você tiver um único endereço IP que deve evitar, poderá criar seu
código com um parâmetro destinado a excluir esse endereço IP. Isto é bastante simples.
Tudo que você precisa fazer é adicionar o parâmetro -exclude assim:
Você pode até inserir um único arquivo que contenha todos os endereços IP excluídos,
se tiver um, inserindo o nome do arquivo na exclusão.
Sua varredura também pode ser ainda mais específica – você pode começar a
especificar exatamente quais portas serão direcionadas se também tiver os códigos corretos.
Nesse tipo de varredura, o Nmap envia um pacote SYN para o destino certo, mas nunca
se preocupa em realmente criar ou acionar uma sessão. No final, a interação nunca é
registrada pelo computador de destino porque o computador nunca iniciou uma sessão.
Isto é o que torna a varredura TCP SYN tão benéfica. Isso é usado por padrão, embora
você precise de acesso root. Claro, se você estiver usando Kali Linux ao fazer isso, não
haverá problema,
Machine Translated by Google
já que você estará na conta root por padrão. Um comando para esse tipo de verificação
é semelhante a:
Varredura UDP
Esta varredura procura portas UDP abertas em qualquer máquina alvo. Ele não faz
uso de um pacote SYN devido ao direcionamento de uma porta UDP. No entanto, você
ainda poderá tornar isso mais eficiente se usar os comandos –sS e –sU juntos.
Ao usar este método de varredura, o Nmap envia um pacote UDP e aguarda algum
tipo de resposta. Uma mensagem de erro indica que a porta está fechada, mas uma
resposta adequada informará que a porta está realmente aberta e acessível. Neste
caso, você usará o seguinte comando:
Varredura FIN
Às vezes, uma varredura TCP SYN não seria necessariamente a escolha certa com
base nos parâmetros fornecidos. Normalmente, um firewall causará um bloqueio dos
pacotes SYN, então você precisará seguir outro método. Quando isso acontecer, você
pode tentar usar uma varredura FIN
Machine Translated by Google
— isso envia apenas um sinalizador FIN, o que significa que não requer a conclusão da
transação TCP que, de outra forma, acionaria a detecção do Nmap.
O comando adequado para uma varredura FIN é –sF, como:
O que traz de volta muitas informações – deve fornecer se o host está ativo ou inativo,
qual é a latência e o estado da porta. O destino não registra essa verificação, mas você
consegue obter as informações.
Varredura de
Ping Ao contrário de outras formas discutidas até agora, a varredura de ping é usada
apenas para determinar se o host está ativo ou ativo no momento. Não descobre se uma
porta está aberta. Requer acesso root, pois existe a possibilidade de enviar pacotes
ICMP. Quando não houver acesso root concedido, ele completará o comando usando a
chamada connect(). O comando para uma varredura de ping é -sP e seria usado: # nmap
-sP 192.143.1.1
Detecção de versão
Este é o comando que você precisa se quiser determinar que tipo de software está sendo
usado no computador de destino ou em qualquer porta. Ele não detecta nenhuma porta
aberta, embora precise obter informações de qualquer porta aberta para fornecer
informações sobre o software que foi detectado. O primeiro passo aqui seria encontrar
uma porta que esteja aberta com uma varredura TCP SYN e então direcionar o –sV para
a porta específica disponível.
Varredura ociosa
Em uma varredura ociosa, você pode manter sua invisibilidade durante a varredura.
Nesta técnica específica, você não envia nenhum pacote real do seu próprio endereço
IP. Em vez disso, é necessário um host de dentro da rede de destino para enviar pacotes.
Isso exigirá que você primeiro descubra uma abertura
Machine Translated by Google
porta dentro do IP e então usa um host zumbi para se comunicar com o alvo.
Neste código, você usará primeiro o IP do host zumbi e depois o IP do alvo
para criar um comando de:
Neste caso, o host zumbi 192.143.1.4 está sendo usado para se comunicar
com 192.143.1.1 sem detecção, pois eles fazem parte da mesma rede.
Teste de penetração
Em última análise, o teste de penetração pode ser dividido em sete etapas ou
fases – quando você consegue passar por essas fases, é mais provável que
encontre algum tipo de fraqueza ou vulnerabilidade. Ao utilizar essas fases,
você descobrirá que sua capacidade de romper um sistema aumenta. Será
mais provável que você consiga quebrar, o que significa que é mais provável
que você identifique qualquer um dos pontos fracos que precisa corrigir em seu
próprio sistema.
Pré-engajamento
Esta etapa específica é mais como uma precaução, mas é crucial –
quando você está no estágio de pré-engajamento, precisa começar
descobrindo o escopo do teste. Essencialmente, você está procurando
os objetivos exatos de sua tentativa de penetrar na rede. Você precisa
ter certeza de que sabe o que está planejando para não fazer nada não
intencional. Especialmente se você pretende fazer isso como uma
possível carreira, você precisa adquirir o hábito de definir o que vai
fazer e quais são os limites do que você pode ou não fazer. Você
precisa saber exatamente o que se espera que você faça e em quais
redes deve se concentrar. Anote tudo. Se você estiver tentando invadir
a rede de outra pessoa a pedido dela, certifique-se de se proteger
legalmente e de obter documentação assinada declarando que você
está trabalhando a pedido e dentro dos termos dela. Como os testes de
penetração são perigosos porque tentam minar as medidas de
segurança, você quer ter certeza de que não será culpado se algo der
catastroficamente errado, o que pode acontecer ocasionalmente.
Machine Translated by Google
Reconhecimento
Nesta fase, você trabalhará na coleta de informações. Embora você possa preferir pular
isso se conseguir se safar, você estará mais preparado se realmente souber o que está
fazendo. Quando você tiver todas as informações de que precisa bem alinhadas à sua
frente, saberá o que espera. Em particular, você pode querer coletar informações sobre a
rede que está almejando ou sobre os tipos de tecnologia mais prováveis que encontrará.
Você pode querer obter informações pessoais sobre as pessoas que está tentando invadir
ou sobre seus endereços de e-mail.
Quando você está tentando entrar furtivamente em uma rede, você nunca sabe o que é ou
não útil ou necessário. Reúna o máximo de informações possível para estar preparado e
depois passe para a etapa 3, somente depois de estar satisfeito por ter reunido tudo que
será útil para você.
Outra técnica comum neste estágio é usar ferramentas de varredura e scanners de portas
para encontrar portas abertas ou hosts ativos. Ao fazer isso, você poderá descobrir que é
capaz de encontrar outra fraqueza que pode ser explorada para ganhar
Machine Translated by Google
Isso é quase como o reconhecimento v 2.0 – aqui, você está fazendo questão de
obter mais detalhes sobre os sistemas. Você deve ser capaz de identificar quais
sistemas estão presentes, se estão ou não ativos e se há algum tipo de firewall ou
software antivírus instalado. Com sua lista de vulnerabilidades identificada, é hora
de começar a descobrir mais informações também.
Exploração
Neste ponto, é hora de começar a tentar acessar a rede. Você deve ter vários locais
diferentes que poderá usar para atacar o sistema e é hora de começar a fazer
esses movimentos. Você encontrou algum ponto fraco que pode ser usado para
acessar? Você pode tentar iniciar um shell ou tentar obter algum tipo de credencial
atribuída a você para que possa começar a acessar como usuário root.
Existe algum espaço para usar as informações de outro computador para ajudá-lo
a entender? A parte principal desta fase é tentar obter o máximo de acesso possível
sem ser detectado e bloqueado. Embora seja possível causar muitos danos sem
nunca obter acessos e permissões administrativas, na maioria das vezes, o que
você está tentando fazer é obter essa permissão.
Este estágio dependerá em grande parte da rede que você está tentando romper e
você precisará ser criativo. Certificar-se
Machine Translated by Google
que você documente o que funciona e o que não funciona à medida que avança, para que
possa começar a descobrir as coisas. Lembre-se, se você estiver fazendo isso para si
mesmo ou para um cliente, vai querer saber exatamente o que funcionou e o que não
funcionou. Quando você tiver obtido o máximo de informações possível aqui, é hora de
passar para a próxima etapa.
Pós-exploração Em
seguida vem a fase pós-exploração. Neste ponto, você terá concluído o teste, seja por
ficar sem empate ou por ter atingido o fim de sua capacidade de explorar ou ficar sem
sistema para explorar. Neste ponto, você deve fazer uma lista de todas as vulnerabilidades
e fornecê-las ao cliente. Ao longo do processo, você deveria ter feito anotações, ou
potencialmente capturas de tela, de qualquer coisa que funcionou ou não. Você deve ser
capaz de descobrir o quão significativa é a exploração que você fez – você entrou no
servidor principal ou ficou preso em um computador com pouco acesso sofisticado ao
servidor? Quão valiosas foram as informações que você obteve do sistema, se houver?
Qual é o risco do próprio sistema?
Além disso, você também deve pensar em como corrigir quaisquer vulnerabilidades
descobertas. Você consegue pensar em um patch fácil para resolver o problema?
Há algo mais que você possa fazer para garantir que a rede seja mais segura? O que a
rede pode fazer melhor? O que funcionou bem? Além disso, você também deve certificar-
se de limpar também. Você precisa remover tudo o que foi plantado no sistema e alterar
toda e qualquer configuração para o que costumavam ser. Você quer ter certeza de que
tudo o que você explorou foi removido.
Relatórios
Nesta fase, é hora de elaborar seu relatório. Pode não ser divertido, mas se você passou
pelo teste de penetração para ajudar alguém, precisa ter certeza de que seu relatório foi
redigido de maneira correta e organizada. É aqui que você consegue transmitir quaisquer
fraquezas e vulnerabilidades que colocarão o cliente em risco. Você terá certeza de que
será capaz de informar quais explorações aconteceram e como elas devem ser corrigidas.
Machine Translated by Google
Este estágio deve ser o mais brutalmente honesto possível – você deseja que a outra
parte saiba exatamente o que aconteceu e como consertar. Se o sistema deles for
realmente vulnerável à exploração e você tiver acesso a tudo, deixe-o solto. Diga-
lhes, em termos imparciais, mas honestos, exatamente como as coisas deram errado.
É aqui que eles também recebem um exemplo de plano de ação para garantir que
tudo seja corrigido. Quanto mais claro você deixar esse estágio para o cliente, melhor
você se sairá em seu trabalho e maior será a probabilidade de seu cliente conseguir
resolver os problemas e proteger a rede.
Retestando
Este não é um estágio pelo qual todos estão dispostos a passar como testadores de
penetração, mas é importante se você quiser fazer um trabalho completo ao fazê-lo.
Durante esse estágio, você dará ao cliente tempo para examinar suas próprias
vulnerabilidades e tentar repará-las e reavaliar suas tentativas de reforçar suas
defesas. Basicamente, você testará novamente as partes que foram corrigidas para
ver se elas realmente corrigiram qualquer vulnerabilidade existente. Nem sempre
você será solicitado a fazer isso, mas se for, é sempre um ato de boa fé prosseguir
com isso.
Machine Translated by Google
Assim como muitos ladrões usam luvas para esconder suas impressões digitais do
sistema que estão tentando acessar, certificar-se de calçar suas próprias luvas
digitais metafóricas pode ajudá-lo a permanecer anônimo. Isso significa que suas
informações serão privadas – você poderá disfarçar a si mesmo e ao seu software
para garantir que seu endereço IP real não esteja sendo usado.
Agora, você pode estar pensando: e se estiver usando uma máquina virtual? Isso
não teria um endereço IP digitalizado ou ficaria mais oculto porque tudo é digital?
Sim e não – no entanto, isso ainda é tão seguro quanto a rede que você está
usando. Isso significa que se você realmente deseja o verdadeiro anonimato,
também vai querer envolver o uso de outra coisa. Você vai querer adicionar
ferramentas extras e precauções para se proteger contra a descoberta do seu
endereço IP. Quando você consegue combatê-lo, é mais provável que permaneça
anônimo.
Proxychains
Talvez um dos métodos mais simples para ocultar seu endereço IP seja
através do uso de um servidor proxy. Ao usar cadeias de proxies, você
pode ocultar seus rastros, tornando-os mais difíceis de seguir. Ao torná-los
mais difíceis de seguir, você terá maior probabilidade de evitar a detecção.
Quando você usa um proxy, é claro que esse proxy registra suas
informações. No entanto, você também pode contornar isso: você pode
agrupar vários proxies em uma cadeia. Contanto que pelo menos um proxy
possa estar fora da jurisdição do alvo, você poderá evitar o problema completamente.
Machine Translated by Google
Felizmente, no Kali, você tem acesso a uma ferramenta conhecida como Proxychains.
Isso pode ser encontrado em seu diretório, que você pode acessar com um comando de
localização. Provavelmente estará no diretório /usr/bin.
Agora, imagine que você queira usar isso com o Nmap para escanear anonimamente e
através de um proxy. Talvez, em particular, você queira usar uma varredura TCP SYN no
endereço IP 192.143.1.1, mas deseja fazê-lo por meio de um proxy utilizando a ferramenta.
Nesse caso, você criaria um prompt de comando de:
Isso então aciona você para fazer a varredura TCP SYN naquele endereço IP específico
por meio de um proxy.
Abra o arquivo de configuração em seu editor de texto e você verá um arquivo com
todos os tipos de informações. Dentro dele, você descobrirá que uma área específica
possui um local para adicionar o proxy. Você simplesmente inserirá o endereço IP de
todos os proxies que estiver utilizando lá. Normalmente, os proxychains serão
padronizados para o Tor, como você pode ver no seu arquivo. Se você for usar o Tor, deixe como está
Se não estiver usando o Tor, você precisará fazer as edições apropriadas no arquivo.
Este livro avançará com o Tor.
Com o servidor proxy configurado, é hora de testá-lo. Você pode fazer isso enviando
uma varredura através do proxy. Ao enviar a digitalização, você verá o endereço IP
escolhido listado e ele deverá estar alinhado com o do seu proxy.
Além de apenas configurar o proxy, você também pode fazer muitas outras coisas com
isso. Você pode adicionar vários proxies, por exemplo, e encadeá-los para que
encadeiem aleatoriamente, em uma ordem específica ou usem apenas parte deles.
Você também pode encontrar encadeamentos aleatórios em seu arquivo. Você pode
adicionar novamente o # para comentar a linha dynamic_chains e, em vez disso,
remover o # da opção random_chain. Você só pode usar uma ou outra dessas opções
a qualquer momento, então você terá que voltar e remover uma se quiser usar a outra.
VPN
Outra camada de segurança que você pode adicionar ao seu sistema é adicionar uma
VPN além do uso de endereços proxy. Esta é uma prática comum – permite maior
proteção contra pirataria ou outros problemas. Também permite que as pessoas evitem,
por exemplo, quaisquer atividades específicas que possam ser ilegais dentro de um
país. Ele também permite que você verifique outras redes sem ser detectado – algo
que é comumente considerado ilegal em vários países. Até mesmo a simples varredura
da rede pode ser suficiente para que ela seja considerada ilegal, mesmo que você não
tenha feito nada com ela. Agora, já que você está lendo sobre a melhor forma de fazer
exatamente
Machine Translated by Google
Existem vários motivos para usar uma VPN, todos incrivelmente atraentes. Uma
VPN não apenas permite ocultar seu endereço IP e, portanto, protegê-lo, mas
também permite que você use qualquer rede, garantindo que ainda haja criptografia.
Além disso, você poderá fazer login em suas informações confidenciais sem se
preocupar com a possibilidade de elas serem sequestradas se você estiver em outra
rede. Você poderá ignorar qualquer monitoramento que possa ter sido instalado ou
acessar sites com restrição regional.
Claro, também é importante reconhecer que a sua VPN não irá encobrir tudo –
haverá algumas maneiras de identificá-lo. Por exemplo, seu mecanismo de pesquisa
normal provavelmente poderá reconhecê-lo simplesmente devido aos cookies e ao
comportamento de navegação, especialmente se você já estiver conectado a uma
conta nesse mecanismo específico. Apesar das deficiências, no entanto, o fato de
uma VPN poder ajudá-lo a ocultar mais significa que você pode confiar nela para
fornecer mais proteção do que teria de outra forma. Assim como o cinto de
segurança não é garantia de segurança em um acidente de carro, uma VPN não é
garantia de segurança – no entanto, é uma camada extra que existe para ajudar a
mantê-lo seguro, se necessário.
Quando quiser habilitar uma VPN no Kali Linux, você terá alguns comandos para
usar e etapas a seguir, mas no final, você adicionará proteção extra ao seu software,
o que significa que poderá se proteger melhor.
A opção VPN geralmente está desabilitada por padrão quando você usa o Kali Linux,
então você terá que abri-la antes de continuar. Isso exigirá que você insira seu próprio
comando, como:
Este comando específico é específico para habilitar uma VPN. Neste ponto, pode ser
necessário reiniciar a rede e o gerenciador de rede. Ao reiniciar, você descobrirá que
a VPN agora está disponível.
# wget https://www.privateinternetacess.com/openvpn/openvpn.zip
Seu arquivo deve estar pronto e agora é hora de passar para a etapa 3.
Se você acessar a VPN, encontrará vários detalhes importantes que permitirão saber se
você está realmente usando ou não a VPN adequada. Nesse caso, você deverá ver um
nome de conexão PrivateInternetAccess VPN, um gateway que deve estar mais próximo
de sua localização pessoal, um nome de usuário que você pode definir, uma senha que
você pode salvar e, em seguida, o certificado CA.
Para obter o certificado CA, você deve ir para /etc/openvpn para acessar o diretório
correto e, em seguida, selecionar ca.crt para usá-lo neste estágio.
Neste ponto, se você clicar em Network Manager > VPN Connections >
PrivateInternetAccess VPN, deverá ver um indicador de conexão amarelo.
Sua VPN agora está pronta para uso.
Quando quiser usar o Tor em sua máquina Kali Linux, você terá que instalá-lo
manualmente. Como você está no Kali, você está bloqueado como usuário root,
o que significa que não pode usar o modo de atalho que normalmente consegue
utilizar. Em vez de poder utilizar qualquer atalho, você precisará baixar
manualmente o download do Tor.
Você pode fazer isso através do site oficial do Projeto Tor. Você vai querer fazer
o download do pacote no site deles e, em seguida, baixar o torbrowser-launcher
no GitHub.
Tenha em mente que este comando acredita que o único arquivo em seu
diretório que começa com “tor” é o arquivo para download tore. Então, você
precisa executar o Tor Browser Bundle. Isso exigirá que você use o script start-
tor-browser que acabou de extrair:
# ./start-tor-browser.desktop
O que é Metasploit?
Em particular, Metasploit refere-se a uma ferramenta específica usada. A equipe de pentest
que o estiver usando poderá usar o código que já foi feito para eles ou o código
personalizado que eles criaram e depois injetá-lo em uma rede. Ao fazer isso, as falhas
nessa rede específica são descobertas e chamadas à atenção. Isto significa então que
eles são capazes de resolver os pontos fracos dessa rede específica para que possam ser
resolvidos.
O Projeto Metasploit surgiu em 2003 para ser usado como uma ferramenta de rede portátil
baseada em Perl. No entanto, em 2007, foi convertido para Ruby e licenciado pela Rapid7,
onde permaneceu. Algumas das ferramentas da estrutura Metasploit, que é maior que o
próprio Metasploit, incluem várias outras ferramentas que são usadas regularmente no Kali
Linux. Todas essas ferramentas
Machine Translated by Google
têm propósitos diferentes e a estrutura Metasploit está se tornando uma das escolhas
padrão em desenvolvimento e mitigação. Antes disso, as sondagens costumavam ser
realizadas manualmente, tornando o teste de caneta incrivelmente lento, exaustivo e
tedioso.
A estrutura cresceu até incluir algumas ferramentas proprietárias em vez das ofertas
gratuitas que foram incorporadas ao Kali Linux. Essas ferramentas, como Metasploit Pro e
Metasploit Express oferecem seus próprios benefícios, porém, são desnecessárias se você
não quiser utilizá-las.
Usuários do Metasploit
Graças à ampla gama de aplicativos do Metasploit, ele é usado desde hackers éticos que
desejam tornar seus próprios sistemas operacionais e servidores mais protegidos até
aqueles que estão legitimamente interessados em invadir um sistema operacional para fins
nefastos. É, no entanto, uma ferramenta incrivelmente confiável, fácil de instalar e útil.
Não importa a linguagem que você escolha usar ou qual plataforma você está utilizando, o
Metasploit deve funcionar, e esta é uma parte bastante significativa do motivo pelo qual o
Metasploit é tão incrivelmente popular em primeiro lugar. É tão útil para garantir que seja
facilmente acessível que se tornou generalizado.
Módulos Metasploit
Existem vários módulos incluídos no Metasploit. Esses são componentes
essenciais – software que possuem ações muito específicas que devem
executar. Eles também representam as ações que você pode realizar na
estrutura do Metasploit. Esses módulos são facilmente localizados: tudo o que
você precisa fazer é encontrar o seguinte
repositório: /path/to/metasploit/apps/pro/msf3/modules
Ouvintes: malware projetado para se ocultar para ouvir. Quando são capazes de
ouvir, são capazes de reunir todos os tipos de informações importantes, permitindo
que informações confidenciais, como senhas, números de segurança social ou outras
informações que as pessoas gostariam de manter privadas, sejam vazadas.
Shellcode: Código programado para ser ativado assim que estiver dentro do alvo
para realizar finalidades específicas, permitindo uma forma mais discreta de entrar e
ativar.
Gerador NOP: Esta é uma ferramenta capaz de produzir uma série de bytes aleatórios
projetados para contornar qualquer ID padrão para passar por firewalls ou bloqueios
importantes.
Usando o Metasploit
Quando você tiver o Metasploit instalado e pronto para uso, tudo o que você precisa fazer é coletar
informações de alguma forma, seja por meio da varredura da primeira porta ou encontrar um scanner
de vulnerabilidade para encontrar uma maneira de entrar.
Depois de entrar, tudo o que você precisa fazer é escolher um exploit e uma carga útil e o Metasploit
fará o resto para você. Efetivamente, a exploração é a forma como as fraquezas são identificadas e
tornam as redes mais difíceis de defender.
A estrutura foi projetada especificamente para fazer uso de vários modelos e interfaces, como
maldições interativas msfconsole e muito mais. Ele pode funcionar a partir do terminal/cmd e também
é compatível com a Metasploit Community Web Interface, que suportará testes de penetração.
Instalando Metasploit
Machine Translated by Google
Antes de poder usar o Metasploit, entretanto, você deve primeiro instalá-lo. A instalação
exigirá que você primeiro desative todos os seus firewalls e software antivírus. Devido
ao arquivo em si, muitas vezes ele é considerado malicioso quando você tenta instalá-lo
com firewalls e software antivírus em execução. Isso interrompe sua instalação. Por
causa disso, é melhor desabilitar o firewall e o software antivírus antes de continuar.
Isso também significa, no entanto, que você também deve certificar-se de que sua fonte
de download é legítima e segura. Se você não tomar cuidado, poderá baixar
inadvertidamente algo que pode ser perigoso ou problemático para você.
Finalmente, para instalar o Metasploit, sua melhor aposta é instalá-lo no site do Rapid7.
Isso permitirá que você obtenha o instalador para seu sistema operacional específico.
Ele também conterá um ambiente independente que você pode usar para atualizar e
executar a estrutura. Isso significa que tudo o que você precisa será atendido durante o
processo de instalação inicial. Você pode, é claro, configurar manualmente o Metasploit
se desejar fazê-lo, mas essa etapa é desnecessária e será ignorada para os fins deste
livro.
Quando você tiver os arquivos, inicie o instalador. Ele solicitará que você insira uma
estrutura específica. Como usuário do Kali Linux, você descobrirá que ele está pré-
instalado e não precisará continuar.
Quando estiver pronto para iniciar isso, você usará o seguinte comando:
Machine Translated by Google
$ msfdb inicialização
Isso acionará o início do banco de dados e você poderá usar qualquer um dos vários comandos que
funcionarão melhor para você. Esses comandos adicionam funcionalidade extra e ajudam a gerenciar
o espaço disponível.
Os comandos mais comuns nesta fase que você precisará incluir: msfdb reinit Isso fará com
msfdb delete Usar este comando específico fará com que seu banco de dados seja totalmente
excluído, sem que ele seja reinicializado como o comando anterior causou.
msfdb start Este comando inicia o backup do banco de dados novamente, permitindo que ele
comece a ser
executado msfdb stop Este comando, quando usado, interromperá a execução do banco de dados
msfdb status Este comando permitirá que o terminal imprima o status atual do banco de dados,
mostrando todas as informações críticas dentro do terminal.
O armazenamento de dados do
Metasploit Além de ter tudo o que foi listado até agora, há também o armazenamento de dados –
outro componente central da estrutura do Metasploit que muitas vezes é totalmente esquecido. Esta
é uma série de valores que permitirão configurar qualquer comportamento que desejar dentro da
estrutura Metasploit.
O armazenamento de dados permite que as interfaces alterem as configurações, enquanto as cargas
são capazes de corrigir opcodes e as explorações são capazes de especificar parâmetros específicos.
Isso também permite que a estrutura passe entre os módulos.
O armazenamento de dados global pode permitir que todos os módulos o utilizem. Quando a opção
datastore estiver definida, todos os módulos terão acesso a ela. Para definir o mundo
Machine Translated by Google
Os espaços de trabalho do
Você escreveria:
a B espaço de trabalho ms –a C
No geral, é claro, se você estiver pronto para usar o Metasploit, descobrirá que é
incrivelmente fácil se envolver nele. Tudo que você precisa saber é como percorrer
o sistema e como entender o que você está vendo. Quando você sabe quais tipos
de módulos estão disponíveis, por
Machine Translated by Google
por exemplo, você poderá escolher aqueles que funcionam para você. Como o
Metasploit já vem repleto de todos os tipos de informações para você, projetadas
para garantir que você seja capaz de fazer quase qualquer coisa com apenas alguns
comandos, em vez de ter que dizer constantemente manualmente ao seu sistema o
que você deseja que ele faça, ele é na verdade incrivelmente fácil de usar. É
exatamente por isso que se tornou tão popular.
No final das contas, você deve ficar bem com a versão gratuita que vem com o Linux,
embora existam atualizações disponíveis se você quiser pagar por elas e, em última
análise, isso será uma opinião pessoal e você terá que decidir com base em seus
próprios pensamentos e desejos. É claro que as versões atualizadas, embora tenham
preços bastante elevados, são projetadas para serem incrivelmente poderosas para
você. Eles são voltados para profissionais altamente qualificados em testadores de
caneta que sabem exatamente o que estão fazendo e exatamente o que estão
obtendo, e são capazes de justificar esse preço enorme. No entanto, você não
precisa fazer isso também.
Machine Translated by Google
Especialmente nos dias de hoje, quando estamos tão preocupados com o roubo ou
apropriação de dados, é fácil sentir que os nossos dados estão em risco, e por uma
boa razão – e estão. No entanto, ao introduzir uma camada de certificados digitais,
você adiciona uma camada extra de segurança aos seus servidores ou faz com que
suas informações privadas estejam protegidas. Você pode ter certeza de que, embora
esteja usando sites que podem estar na Internet pública, seus próprios dados sejam certificados.
Se você tiver uma LAN, no entanto, talvez não precise desse tipo de certificação
importante que acompanha o uso da rede pública para dados.
O custo do pagamento desses certificados pode ser desnecessário comparado ao
risco. Nesses casos, a melhor ideia para proteger uma rede é usar sua própria CA local
ou autoridade de certificação – isso assinará automaticamente quaisquer certificados
que estejam ativamente instalados em sua LAN para proteger seus servidores.
Na maioria das vezes, isso é feito com uma ferramenta conhecida como OpenSSL –
algo que vem pré-empacotado com o Kali Linux. Discutiremos como criar um certificado
em breve, mas, por enquanto, voltaremos nosso foco primeiro às informações básicas.
para você, você é mais que bem-vindo para persegui-lo. No mínimo, é mais linguagem
de comando que você pode usar. Na melhor das hipóteses, você poderá encontrar
algum uso legítimo nele.
Efetivamente, a chave pública vem em pares – há a chave pública que é usada para
bloquear os dados que precisam ser autenticados, e há a chave privada que é
mantida pelo proprietário, usada para assinar e descriptografar os dados protegidos.
Efetivamente, isso faz com que o proprietário do certificado digital compartilhe a
chave pública com seus dados que foram criptografados, para que possam acessá-
los com a chave privada que os acompanha.
Hoje em dia, a maioria dos principais navegadores da web utiliza certificados digitais
– isso permite que as pessoas saibam que o conteúdo que estão visualizando não foi
alterado por alguém que não teve permissão para fazê-lo e permite descriptografar e
criptografar o conteúdo da web. Efetivamente, esta é apenas mais uma forma de
desenvolver a privacidade e a proteção que as pessoas procuram nas suas interações
com a Internet.
Embora você seja capaz de emitir sua própria PKI (infraestrutura de chave pública) e
discutiremos isso em breve, na maior parte, existe algum tipo de organização que
geralmente gerencia a criação e distribuição de PKIs.
Esta organização é conhecida como autoridade certificadora.
Autoridades de certificação
Machine Translated by Google
Tipos de certificados
Em última análise, existem vários tipos de certificados que podem ser
fornecidos para um indivíduo. Esses certificados vêm de uma fonte diferente
ou têm uma finalidade diferente e serão tratados de forma diferente
dependendo do tipo de certificado. Os vários certificados que podem ser
usados serão discutidos nesta seção. Os certificados existem em uma
espécie de cadeia entre si, com um validando o outro.
Machine Translated by Google
Certificado Raiz
O certificado raiz é um certificado de chave pública destinado a identificar uma
autoridade de certificação raiz (CA raiz). Qualquer pessoa é capaz de gerar uma
chave de assinatura e assinar esse novo certificado, embora ele não seja
considerado válido até que seja assinado pela CA confiável ou válida. O certificado
raiz é essencialmente o topo da cadeia – deve ser fornecido por um certificado
confiável. Normalmente, eles estão relacionados ao software que você está usando
– se você estiver usando a Microsoft, por exemplo, é provável que seu certificado
raiz seja assinado pela Microsoft.
Certificado Intermediário
Machine Translated by Google
Certificado SSL
O certificado final, o resultado final, é a camada de soquetes seguros – esta é a
tecnologia padrão global que permite o uso de comunicação criptografada entre um
navegador e um servidor. Eles são usados por milhões de pessoas e empresas em
todo o mundo para proteger dados contra hackers ou ladrões de identidade.
Efetivamente, o SSL permite que a conversa entre o usuário e o servidor seja mantida
privada, mesmo que esteja acontecendo na rede pública da web. Normalmente, são
emitidos por uma autoridade de certificação, em quem se confia para garantir que os
dados serão, de fato, protegidos conforme prometido.
A camada SSL vem em vários tipos diferentes de certificados – eles podem ser
validados por domínio, validados por organização ou validação estendida.
Os certificados SSL validados por domínio dizem o mínimo e prometem o mínimo –
tudo o que você precisa fazer para obter esse SSL é provar que está usando o nome
de domínio correto. Isso mostra que os dados estão sendo enviados e recebidos
conforme pretendido para quem possui o certificado, não há como provar quem é
esse titular do certificado.
você provavelmente já esperava, o Kali Linux vem com seu próprio programa que
permite criar certificados. Isso é feito através do OpenSSL. Embora isso nem sempre
funcione para você e possa, de fato, ser rejeitado quando você tentar usá-lo, você
pode fazê-lo. Você pode fornecer todos os benefícios de criptografia com seu
certificado SSL autoassinado, mas não obterá os benefícios de autenticação. Isso
significa que muitas pessoas não poderão confiar no seu site e é provável que
qualquer pessoa que tentar acessá-lo receba um aviso informando que seu site ou
servidor não é, de fato, verificado e, portanto, não pode ser garantido.
Apesar disso, pode ser útil tê-lo, mesmo que seja apenas para você. Esta seção
discutirá as etapas necessárias para criar seus próprios certificados SSL.
Primeiro, abra o OpenSSL. Lá, você deve usar os seguintes comandos:
oepnssl req –x509 –sha256 –dias 365 –key key.pem –in csr.csr –out
certificado.pem
O primeiro comando aciona uma chave privada RSA de 2.048 bits – este é o formato
recomendado para sua chave e ela será gerada no primeiro comando.
Lembre-se de que eles criptografarão o site e garantirão que seus dados estejam
protegidos, mas na verdade não oferecem benefícios de autenticação.
Obviamente, eles ainda podem ter sua utilidade, como ao proteger um site
durante os estágios iniciais, mas devido ao aviso, é provável que você não queira
manter isso como sua única forma de verificação se estiver esperando tráfego
de longo prazo ou se você lidará com qualquer tipo de informação sensível, como
métodos de pagamento ou endereços.
Em última análise, você precisará descobrir até que ponto pode valer a pena
pagar por um certificado legítimo se não quiser lidar com avisos de segurança
que afugentam as pessoas.
Machine Translated by Google
Não há como negar que o bash tem uma história – é o que foi efetivamente usado
inicialmente por aqueles que acessavam seus sistemas originais e, embora fosse
absolutamente útil na época, há dúvidas agora sobre se ainda é a melhor maneira de
interagir. É como a velha colega de trabalho teimosa que está no trabalho desde
sempre e se recusa a mudar, apesar de seu jeito ser desajeitado, ineficiente e, na
verdade, redundante. Todos ficariam mais felizes se ela adotasse a versão mais fácil,
e a produtividade e a facilidade do trabalho aumentariam, mas ela recusa.
Esse mesmo tipo de resistência aparece com o bash e a transição do bash para outra
linguagem, como o Python, que atualmente é um dos principais candidatos como
substituto.
A ideia hoje em dia é que o shell pode estar se tornando obsoleto – existem maneiras
melhores de interagir com o seu sistema operacional. Em particular, o shell possui
vários recursos preocupantes:
Cada um deles dá a mão à ideia de substituir a casca. Embora o shell tenha sido usado
como uma linguagem de programação legítima, ele é incompleto – não foi projetado para
ser uma linguagem de programação completa, mas o Python é.
O próprio Python é uma linguagem de programação interpretada de alto nível que deve ser
dinâmica. Ele foi criado para ser orientado a objetos, deve ser em camadas. Ele deve ser
usado como uma linguagem de script ou até mesmo como uma espécie de agente de
ligação entre dois aplicativos ou componentes diferentes. Python é bastante simples de
aprender e está focado em fornecer um sistema de fácil leitura, permitindo que seja mais
fácil de acessar do que algumas linguagens mais complexas que podem enfatizar frases ou
sintaxes antigas e desatualizadas que são simplesmente usadas por tradição e familiaridade
neste momento. . No entanto, a familiaridade nem sempre é uma coisa boa. Às vezes, o
que é mais necessário do que nunca é uma mudança, ou pelo menos uma adaptação de
alguma forma para garantir que você seja capaz de continuar crescendo. É aqui que Python
e bash se encontram.
Curiosamente, o Python já vem instalado por padrão nas principais distribuições Linux. Se
você abrir um prompt de comando e digitar “python”, deverá receber um interpretador
Python. Isso por si só sugere que pode valer a pena usar Python em vez de bash ao
considerar a criação de scripts. Graças apenas à facilidade de uso, isso economizaria tempo.
Dê uma olhada em alguns dos motivos mais convincentes para deixar de focar em scripts
de shell e passar a usar Python como um substituto:
A afirmação aqui não é abandonar totalmente a casca – a casca tem absolutamente seus
próprios propósitos. No entanto, a casca também é fraca em vários aspectos. Pense em
como seria muito melhor navegar por várias de suas tarefas de uma maneira muito mais
simples - seria bom ter sintaxe e comandos que fizessem mais sentido, em vez de serem
lembrados simplesmente por sua causa, agora que você deveria se lembrar deles .
Claro, existem áreas onde o bash é, sem dúvida, mais simples. É exatamente por isso que
os dois deveriam ser reunidos. Quando estão juntos, eles são capazes de trazer à tona o
que há de melhor um no outro – você terá o melhor dos dois mundos graças a um sistema
que é capaz de fazer a transição entre os dois com facilidade. Python é mais completo e
mais facilmente usado em vários contextos diferentes, enquanto o bash foi projetado com
o Linux em mente. É impossível negar que parte do bash é simplesmente mais agradável
de usar. Por exemplo, considere mover um arquivo da sua área de trabalho para um
diretório no bash:
Embora já tenhamos discutido que é possível trazer seu código Python dentro de seu shell,
também é possível ir na outra direção - você pode introduzir seu script Python dentro de seu
shell e inserir seus scripts de shell dentro Python também. Tudo que você precisa fazer é
importar o módulo do sistema operacional. Se você fizer isso, também poderá usar seus
comandos bash no Python - isso significa que você será capaz de misturar e combinar seus
comandos com facilidade. Pense em como as crianças que cresceram falando duas línguas
em casa tendem a mudar perfeitamente de uma para outra na mesma frase, inserindo
algumas palavras em uma língua e ao mesmo tempo inserindo algumas das outras línguas
de forma intercambiável, criando o que soa como algo que seria impossível de entender, mas
eles o fazem com facilidade. Isso é o que você faria com Python inserindo o bash também.
Para trazer a linguagem bash para python, tudo que você precisa fazer é:
Você deve absolutamente tentar mexer nos dois idiomas. Se você ainda não está familiarizado
com Python, você pode se sentir inclinado a se esforçar para aprendê-lo - é incrivelmente
simples de aprender e se você já foi capaz de aprender a se comunicar com o Linux, você
deve ser capaz de aprender a entender Python também.
Tudo o que você precisa fazer é dedicar alguns dos esforços que antes eram necessários
para desenvolver suas habilidades com o Linux para aprender esse sistema também. Você
provavelmente descobrirá que, com o aumento da produtividade, rapidamente passará a
gostar da mudança.
Se você não tem certeza se possui o Python instalado atualmente em seu sistema, você está
com sorte – para descobrir, você precisará inserir o seguinte comando:
Machine Translated by Google
$ python –versão
Você provavelmente obterá uma forma mais antiga e estável de Python que seja
suficiente, mas provavelmente desejará atualizar essa forma para a versão mais
recente. Esta versão está mudando constantemente, então é melhor verificar a
versão que está disponível para você ao ler este livro – você pode fazer isso
simplesmente procurando pela versão mais recente on-line e depois atualizando.
Se você decidir seguir Python em particular, você vai querer encontrar alguns guias
e livros, não muito diferentes deste que você está lendo agora para descobrir o que
precisa saber. Tutoriais e aulas na web são sempre pontos de partida fantásticos
para você começar a experimentar Python.
Eventualmente, à medida que você se sentir mais confortável e familiarizado, poderá
decidir começar a entrelaçar suas tentativas de usar os dois idiomas juntos. Você
pode até decidir que prefere Python a usar o shell, e isso também é bom. Em última
análise, a tecnologia está mudando tão rapidamente que você não pode se dar ao
luxo de se conter com medo de mudar, crescer ou mudar para algo novo – a transição
e o aprendizado são absolutamente benéficos para você.
Agora que este capítulo e este livro chegam ao fim, é hora de você começar a pensar
em como juntar tudo. É hora de considerar se você está realmente interessado no
Kali Linux ou se prefere aprender outra coisa. O que é certo, porém, é que, em última
análise, você deve orientar a si mesmo e às suas próprias decisões para garantir que
está satisfeito com o que escolheu fazer.
Machine Translated by Google
Conclusão
Sim, este ponto foi reiterado várias vezes porque é muito importante.
Mesmo depois de ler este guia, se você não estiver totalmente confiante em si
mesmo e em suas habilidades, pode ser melhor renunciar temporariamente ao
Kali Linux enquanto desenvolve suas habilidades - e está tudo bem.
Talvez neste ponto você tenha seguido o conselho do capítulo final deste livro e
tenha decidido examinar o Python também, aprimorando suas habilidades de
script para poder utilizar melhor seus próprios comandos. Essa também é uma
decisão fantástica de se tomar e também ajudará a orientá-lo em sua jornada,
simplesmente porque você terá muito mais conhecimento.
Machine Translated by Google
Não importa o que você escolha fazer a seguir, seja buscar mais conhecimento sobre
Linux em geral ou tentar descobrir a melhor forma de interagir com o Kali Linux que
você já instalou, uma coisa é certa: esperamos que você tenha aprendido alguma
coisa durante o processo de leitura deste livro. É com grande esperança que, ao
chegar ao fim deste livro, você o tenha considerado informativo, útil e esclarecedor
sobre o grande mundo do Kali Linux e tudo o que ele tem a oferecer. Não importa se
você é um novato ou alguém familiarizado com outras distros Linux, boa sorte em
seus empreendimentos e lembre-se: só porque você sente que as coisas podem
estar complicadas agora, não significa que você tenha que desistir. Você pode se
esforçar para aprender se quiser, e com esse esforço virão resultados.