Yandex dzen.

O que é exploração e como os hackers usam

Saudações. Quem são hackers e o que eles já discutiram. Não vamos repetir, além disso, é aberto abertamente na rede e no cinema. Os métodos e tipos de hackers de ataque hacker são numerosos, portanto, para não criar do artigo "vinagrete", destacamos um, o que é popular entre os hackers negros e em 2020. Eu não tentarei "salvar intriga", descreveremos: "Exploits".

Para o conhecimento introdutório, entendemos que as façanhas fazem parte do código de computador (ou no programa compilado e não apenas ...), que usa a "vulnerabilidade da vítima" e, em seguida, as metas são ramificadas para: Obtendo acesso; "Hanging" Server; Interrupção. Se o leitor se deparar com as palavras "Dos Atak", então saiba que 85%, hackers usaram "explorações". Na verdade, o nome, se traduzir do inglês, significará: "Usando algo". Ou explorando, daí as raízes da palavra "exploração".

Esses programas (solicitaremos explorações por programas, Embora não seja verdade ) são divididos em destinos: para Windows, Linux e outros operários; Para outros programas e assim por diante. Etc.

Eu acho que os leitores querem buscar entender como esse programa mágico, capaz de se envolver, pendurar e fornecer o acesso "mestre" no servidor "estranho". Vamos primeiro descobrir por que o acordo é chamado de programa, não é verdade. O fato é que ele é explorado não apenas o arquivo compilado, mas também um texto (até mesmo o bloco de notas com uma descrição de como hackear "O sistema" já está explorando). Eu entendo o mal-entendido mais fácil da leitura, mas é: se você abrir um notebook e lá na forma de um texto para escrever como "aproveitar" qualquer servidor, também será uma exploração. Mas o que pelo menos gostaria, diversificaria um artigo, vamos pelo menos escrever a palavra: programa. Além disso, tais façanhas se encontram na forma de um programa em "qualquer" linguagem. Hackers, estes são ex-programadores que no passado estavam procurando erros em programas Portanto, essas pessoas facilmente possuem linguagens C / C ++, Perl e TD. A tarefa de tais programas é reduzida para o estouro do buffer, registros SQL, solicitações "Linden" para o site e assim por diante.

O que é exploração e como os hackers usam

Acontece que usa a sequência de programas, caso a tarefa seja "complicada".

Encontre e faça o download de explorações prontas em internet aberta não é legal. E, claro, o autor não recomenda a procura de tais programas no DarkNet.

Então, agora, quando uma compreensão sobre as façanhas depositadas na cabeça, vá para "prática virtual". Suponha que a situação: na cidade de Voronezh, um homem vive que regularmente voa para Moscou e há "nosso" uma dama casada. O cônjuge enganado, incapaz de pegar o amante, é decidido em vingança, mas remotamente. Para fazer isso, seu marido é necessário acesso ao computador "Scounding". Não vamos entrar nos detalhes, mas afirmamos o fato: tornou-se conhecido como o navegador usa um "rival de astúcia". Felizmente para um marido avançado, neste navegador há uma "vulnerabilidade". Ele permanece apenas para forçar o "código de execução" do amante, que sem o conhecimento do usuário, carrega malware "ao lado". Então o marido escreve uma carta, em nome de sua esposa e envia um amante pelo correio. O resultado é compreensível (abre a letra e o código já está "no caso").

Os famosos programas são: "Angler" (conjunto complexo (funciona em RAM)); "Neutrino" (Crosschild russo em Java, custa 34 mil dólares); "Kit Blackhole" (bate os navegadores Chrome, "Oslik", "Firefox" ).

Comentário ("negativo \ positivo"). Se inscrever. Como. Adeus.

Oi, Habrovsk. Em antecipação ao início do curso "Administrador Linux. Profissional » Nosso especialista - Alexander Kolesnikov preparou um artigo interessante, que teremos prazer em compartilhar com você. Convide também os futuros alunos e todos aqueles que desejam visitar uma lição aberta no tópico "Métodos e a capacidade de depurar os scripts do shell bash."

O sistema operacional Linux provou ao mundo todo o poder dos projetos de código aberto - graças a ela hoje, temos a oportunidade de analisar o código-fonte do sistema operacional de trabalho e com base nele para montar seu próprio sistema para resolver certos objetivos. Devido à sua abertura, o Linux se tornou o sistema operacional mais seguro do mundo, uma vez que o código-fonte aberto permite desenvolver e melhorar os subsistemas de proteção contra ataques ao sistema operacional e melhorar o próprio sistema operacional. De fato, no momento há um grande número de proteção da comunidade criada: hoje não é mais tão fácil exceder as vulnerabilidades do tipo de estouro de buffer para obter privilégios elevados há menos de 20 anos. No entanto, hoje você pode encontrar explorações em domínio público, que até as versões mais recentes do kernel podem aumentar os privilégios do usuário. Considere neste artigo, como funciona e por que acontece. Vamos passar pelos principais componentes da exploração e considerar como alguns deles funcionam.

Todas as informações fornecidas foram coletadas exclusivamente para fins informativos.

Tipos de exploração

Escolha um termo geral que denotaremos o que é Explorar - O algoritmo que viola o funcionamento normal do sistema operacional, nomeadamente os mecanismos de separação do acesso. Nós também apresentaremos o conceito Vulnerabilidades - Esta é uma imperfeição de software que pode ser usada por um algoritmo de exploração. Sem vulnerabilidade, a existência de uma exploração é impossível.

Nós introduzimos a classificação de explorações. A separação básica de explorações para os subgrupos para qualquer sistema operacional começa no nível de arquitetura. Hoje, os sistemas operacionais incluem pelo menos 2 níveis de privilégios que são usados ​​para o seu trabalho. Abaixo está uma foto que mostra claramente a separação de privilégios. Foto tirada Daqui .

A imagem mostra muito claramente que o kernel (kernel space) está presente no sistema operacional, geralmente é o modo mais privilegiado, é aqui que chamamos o sistema operacional. E o segundo nível é personalizado (espaço de usuário): Aplicativos e serviços regulares que usamos todos os dias são lançados aqui.

Desenvolveu historicamente que, para cada um dos níveis acima, as vulnerabilidades podem ser encontradas para as quais uma exploração pode ser criada, mas a exploração para cada nível tem suas limitações.

No nível do usuário, qualquer exploração que afeta o aplicativo terá exatamente esses privilégios usados ​​pelo usuário que lançou um aplicativo vulnerável. Portanto, esse tipo de exploração permite obter controle total sobre o sistema operacional se o aplicativo for iniciado pelo administrador do sistema. Em contraste com o nível de usuário, nível de kernel. Se contiver um código vulnerável, ele poderá ativar imediatamente o sistema operacional com privilégios máximos. Abaixo se concentrará no estudo dessas explorações.

Explant

Imagine pequenas estatísticas sobre a divulgação de vulnerabilidades para o kernel das distribuições do sistema operacional Linux do Debian, SUSE, Ubuntu, Arch Linux dos últimos 4 anos.

Dados tirados Daqui . A imagem não finge ser completa, mas mostra que há muitas vulnerabilidades, e até hoje é do que escolher construir uma exploração. Vamos tentar descrever o que é explorar.

Qualquer exploração para qualquer nível do sistema operacional hoje consiste em partes que devem ser implementadas em seu código:

  1. Operações Preparatórias:

    1) Navegue na exibição de memória necessária

    2) Criando os objetos necessários no sistema operacional

    3) Ignorando mecanismos de proteção do sistema operacional para vulnerabilidade

  2. Chame parte vulnerável.

  3. Executa uma carga útil:

    1) Para abrir o acesso ao sistema operacional

    2) Para alterar a configuração do sistema operacional

    3) Para a saída do sistema

Ao executar todos os itens, que são indicados acima, você pode escrever uma exploração viável. Tome várias explosões dos últimos anos e tente descobrir se é possível encontrar algumas regularidades ou empréstimos que são usados ​​para violar a separação do acesso no sistema operacional Linux. Como objetos de estudo, tomamos façanhas que usam as seguintes vulnerabilidades com identificadores de CVE:

CVE-2020-8835.

CVE-2020-27194.

Exploração de desastre

CVE-2020-8835. рASPASSES O kernel do sistema operacional Linux da versão 5.5.0. A vulnerabilidade está na implementação de tecnologia EBPF. . A tecnologia foi projetada para garantir que o usuário possa criar manipuladores personalizados para filtrar o tráfego de rede. Como o componente principal para filtrar, uma máquina virtual com seu próprio conjunto de comandos é usada. O código que é executado pelas vidas da máquina virtual no kernel: Um erro neste código traz um invasor para trabalhar com memória com privilégios máximos. No caso da vulnerabilidade descrita, o problema era que as operações de processamento de operações 32 bits não foram processadas corretamente, e a máquina virtual poderia escrever e ler os dados na RAM nuclear.

Como o autor da exploração usa essa vulnerabilidade e o que é realizada uma carga útil, considere mais.

Fase preparatória

Para esta fase, a próxima parte do código é responsável.

Linha 394 - Criando um objeto na memória que armazenará dados em comandos para EBPF. . A linha 400 carrega no código de memória que será executada na máquina virtual e violará as condições para processar comandos de 32 bits. A preparação da memória acabou, as seguintes linhas criarão um objeto de um soquete que será chamado de comandos enviados para BPF. . Depois disso, a câmara da vulnerabilidade começará.

Chame o código vulnerável

Chamar um código vulnerável, ou melhor, trabalhar com os comandos da máquina virtual é realizado a partir da linha 423 para 441. A tarefa principal deste código é obter o endereço básico da estrutura que está na memória, neste caso, é um Processo de heap (heap). Assim que estes comandos forem executados, a exploração será capaz de detectar os dados usados ​​pelo sistema operacional para controlar a separação do acesso. No sistema operacional Linux, esses dados são armazenados na estrutura Tarefa. .

Payload

A carga útil desta exploração é que após sua execução, você pode executar um processo com direitos de usuário raiz . Para isso, o código de exploração produz modificação dos campos de campo do kernel do sistema operacional Linux - Cred. Esta é uma estrutura que entra na estrutura Tarefa. . Estrutura de código-fonte Cred. Pode ser encontrado aqui .

Ações de modificação de campo Credção struct. pode ser visto em linhas 472.473.474. . Isto é, esta ação está redefinindo o valor Uid, gid, sgid Processo criado. Do ponto de vista, é definido como valores de identificador que geralmente usam raiz . O método é muito semelhante ao que é usado para os ataques no sistema operacional Windows.

Você pode se proteger sem atualizar o sistema operacional, se fizer as seguintes alterações na configuração: sudo sysctl kernel.unprivileged_bpf_disabled = 1

CVE-2020-27194. - novamente vulnerabilidade em EBPF. . Existem versões da versão 5.8. *. Os criadores desta tecnologia estão brincando que BPF. - Este é o Javascript para o kernel. De fato, esse julgamento não está longe da verdade. A máquina virtual realmente realiza manipulações sobre equipes usando a tecnologia JIT, que realiza todas as vulnerabilidades típicas dos navegadores no kernel do sistema operacional, ou seja, é difícil configurar o subsistema de proteção para proteger o código. A vulnerabilidade em consideração é que a partir do código da máquina virtual, você pode modificar qualquer área de RAM. Talvez isso seja devido ao fato de que a máquina virtual é insegura trabalhando com operações de 64 bits. Vulnerabilidade totalmente semelhante do que consideramos acima.

Exploit, que é projetado para usar a vulnerabilidade descrita, realiza as mesmas operações que a exploração CVE-2020-8835. Algoritmo de exploração Próximo:

  1. Código de download com processamento de operações de 64 bits

  2. Crie um soquete e envie dados para os comandos de chamada EBPF.

    1. Encontre em mente o endereço da estrutura Tarefa. Executando comandos em uma máquina virtual

  3. Modificar valores. Uid, gid, sgid e lançar um shell interativo.

O autor escreveu o código-fonte com novos chips e recursos adicionais. Oferecemos ao leitor para olhar para o código você mesmo. Os estágios listados do trabalho da exploração acima não ficarão confusos.

Proteção contra essa vulnerabilidade sem usar atualizações é a mesma: sudo sysctl kernel.unprivileged_bpf_disabled = 1

Qual é o resultado?

Com base em duas façanhas, que foram consideradas no artigo, pode-se assumir que aumentar os privilégios no Modern Lux OS não é mais magia de programação escura, mas um processo de modelo totalmente carregado que inclui reutilização de funções e objetos na RAM. Ao mesmo tempo, nem é necessário escrever código dependente de base (Shellcode) que executará a maioria das ações. É o suficiente para simplesmente alterar os identificadores que são usados ​​para atribuir privilégios para usuários.

Saiba mais sobre o curso "Administrador Linux. Profissional ".

Inscreva-se para uma lição aberta "Métodos e a capacidade de depurar os scripts do shell bash."

Consulte Mais informação:

O que é exploração?

No estágio de desenvolvimento em todos os programas e redes, os mecanismos de proteção contra hackers no tipo de bloqueios, aviso de vigilância não autorizada, são incorporados. A vulnerabilidade é semelhante à janela aberta, para obter através do qual não será muito difícil para um invasor. No caso de um computador ou rede, os invasores podem estabelecer softwares maliciosos usando vulnerabilidade para obter controle ou infectar o sistema para seus fins mercenários com consequências relevantes. A tigela de tudo isso acontece sem o conhecimento do usuário.

Explant
Como surge o explorador?

As façadas são causadas por erros no processo de desenvolvimento de software, como resultado das quais as vulnerabilidades são usadas com êxito no sistema de proteção do programa, que são usadas com sucesso por cibercriminosos para obter acesso ilimitado ao próprio programa, e através dele ainda mais para o computador. . Os explantes são classificados de acordo com o tipo de vulnerabilidade, que é usado por um hacker: dia zero, DOS, Spoofing ou XXS. É claro que os desenvolvedores de programas lançarão em breve atualizações de segurança para eliminar defeitos encontrados, no entanto, até este ponto, o programa ainda é vulnerável a intrusos.

Como reconhecer a exploração?

Como as explorações usam barras nos mecanismos de segurança do programa, um usuário comum quase não tem chance de determinar sua presença. É por isso que é extremamente importante manter os programas estabelecidos atualizados, especialmente em tempo hábil de atualizações de segurança, fabricados pelos desenvolvedores de programas. No caso de o desenvolvedor de software liberar a atualização de segurança para eliminar uma determinada vulnerabilidade em seu software, mas o usuário não irá estabelecer, então, infelizmente, o programa não receberá as definições virais mais recentes.

Como eliminar a exploração?

Devido ao fato de que as façanhas são a conseqüência de defeitos cometidos, sua eliminação é incluída nos deveres diretos dos desenvolvedores, para que os autores precisarão preparar e enviar correção de erros. No entanto, a obrigação de manter os programas instalados atualizados e atualmente instalar os pacotes de atualização para não dar uma chance de chances de usar vulnerabilidades, reside completamente no usuário. Uma das formas possíveis não perca as atualizações mais recentes - Use o gerenciador de aplicativos que garantirá que todos os programas instalados sejam atualizados ou - o que é ainda melhor - use a ferramenta de pesquisa e instalação automática.

Como parar as tentativas de hackers para usar vulnerabilidades de programas de terceiros
  • Certifique-se de ter instalado as atualizações e patches de segurança mais recentes para todos os programas.
  • Para ser seguro on-line e mantenha-se atualizado com eventos, defina todas as atualizações imediatamente após a liberação.
  • Instale e use antivírus Premium, que é capaz de atualizar automaticamente os programas instalados.
Guarde-se de explorações

Confiar no senso comum e seguir as regras básicas de trabalho seguro na Internet. Hackers só podem aproveitar a vulnerabilidade se conseguirem acessar seu PC. Não abra os anexos em mensagens suspeitas e não baixe arquivos de fontes desconhecidas. Suporte de programas instalados atualizados e também instalar atualizações de segurança atempadas. Se você deseja simplificar maximamente essa tarefa, baixe o Avast AntiVirus, que não fornecerá apenas proteção confiável contra todos os tipos de malware, mas também ajudará na instalação das atualizações mais recentes para programas de terceiros.

Добавить комментарий