Portanto, a inclusão total local é muito boa porque nos permite ler arquivos no servidor
e podemos ler arquivos com senhas ou informações confidenciais, o que seria realmente ótimo se pudéssemos
realmente obter acesso total ou controle total sobre o destino servidor usando vulnerabilidades de inclusão de arquivo local.
Portanto, nesta aula, veremos como podemos obter um shell reverso explorando a vulnerabilidade de inclusão de arquivo
local que vimos na aula anterior.
Então, como eles nos permitem ler arquivos no servidor, conseguimos escrever qualquer coisa naquele servidor, então podemos escrever
algum código malicioso e, em seguida, navegá-lo e fazer com que esse código seja executado.
Então é exatamente isso que vamos tentar fazer.
Existem vários métodos para o conseguir.
Normalmente é feito usando os arquivos de log porque os arquivos de log geralmente registram ou gravam coisas que acontecem
no servidor.
Portanto, você pode tentar fazer o login com um nome de usuário.
Mas ao invés de colocar um nome de usuário, você coloca um código postal ou você pode tentar enviar um
e-mail e então ao invés do e-mail, coloque um código e tente navegar nesses arquivos de log e o código BHP será executado.
O primeiro método que vamos dar uma olhada, porém, vai explorar a variável de ambiente.
Portanto, este é basicamente um arquivo que contém uma série de informações sobre o ambiente atual.
Então, vamos dar um exemplo disso rapidamente.
Bem aqui estou na minha máquina Calli.
Eu não estou levando nada.
Não estou em nenhum servidor e vou apenas ver qual é o conteúdo desse arquivo.
Portanto, este arquivo existe em todos os sistemas operacionais Linux.
Então, vou abrir esse arquivo agora usando o comando card.
E como você pode ver, você verá uma série de variáveis ambientais relacionadas ao ambiente
atual.
Então o que vamos fazer agora é tentar abrir este arquivo aqui e meu irmão ao invés
da senha.
Portanto, será em um ambiente prox self.
OK, vou entrar.
E como você pode ver, novamente, podemos ver uma série de variáveis sobre o ambiente atual.
O que é interessante aqui é essa variável para que possamos ver o agente do usuário.
Está sendo enviado e está sendo exibido aqui.
Agora, o agente do usuário é basicamente o navegador atual usado pelo usuário.
O site acha que estou usando o Firefox, o que é correto.
E isso porque o Firefox, sempre que você abre um site, ele realmente diz ao site qual é o navegador.
Então isso acontece em nosso site.
Então, na verdade, isso é enviado do cliente para que possamos realmente modificar esse valor.
E o que vamos tentar fazer é modificar o valor do agente do usuário e colocar o código
que nos dará shelp reverso.
Antes de fazermos isso, vamos ter certeza de que o código será executado no servidor.
Então, vamos enviar apenas um código normal que exibirá informações.
Vou ligar meu interceptor agora.
Mostrei como configurar um proxy.
Então, se você não sabe como fazer isso, volte para aquela palestra e veja como você pode configurar um proxy.
Acabei de ligar o interceptor e vou navegar exatamente na mesma URL.
E bem aqui, se formos decapitadores, você verá que o Firefox está enviando o agente de usuário bem aqui e
o está enviando como Mozilla Five, tanto faz.
Então, o que vamos fazer é modificar esse valor e colocar o código BHB e o código que
vou colocar é muito simples.
Basicamente, ele exibirá apenas informações.
Portanto, é uma função chamada BHP info.
E então vou encaminhar este pacote.
E como você pode ver, o código da HP foi executado no site, no site da Target.
Isso significa que, se enviarmos um código malicioso para este site, poderemos realmente obter acesso total ou podemos
fazer com que nosso código seja executado.
Agora, você pode enviar literalmente qualquer registro que desejar.
Você pode enviar código para listar arquivos.
Você pode enviar um código para fazer upload de um arquivo ou pode enviar um dos códigos que foram usados antes para obter
uma conexão reversa.
Então é isso que vou fazer.
Vou usar exatamente o mesmo código que usamos antes e nas aulas anteriores para obter controle total sobre o
computador de destino.
Na verdade, vou apenas digitá-lo aqui no terminal e depois copiá-lo.
Então, vamos usar o passthrough.
E estamos usando o Netcare.
E então colocarei meu endereço IP.
E vou usar a porta, que é esse ataque, vou usar oito, oito,
oito, oito, e aí colocamos o ponto-e-vírgula.
Então é o mesmo.
É apenas uma função.
Usaremos isso na execução do código no próximo ano.
Então, literalmente, vou apenas copiar isso e injetá-lo como o agente do usuário.
Agora, antes de fazer isso, vou ouvir na Parte oito oito oito oito quatro conexões.
Então, vamos usar o mesmo código que usamos antes.
Novamente, com o Netcare.
E agora estamos ouvindo conexões, temos nosso interceptor ligado, vou navegar no site,
vou entrar e vou modificar o agente do usuário.
Novamente, não esqueça de colocar os pontos de interrogação aqui, porque eu só coloquei o
código lá, então temos a abertura e o fechamento para a HP e depois colocamos o nosso código, que é o código de passagem.
E ela tem sido S. H. , nosso IP, seguido pela porta em que estamos ouvindo.
Vou entrar e vou avançar.
E como você pode ver, conseguimos uma conexão de volta usando o arquivo local, vulnerabilidade de inclusão.
Agora posso navegar pelos arquivos.
Posso fazer, posso fazer Ellos, posso fazer ID e posso fazer praticamente tudo o que quiser no servidor, agora
que tenho acesso total.
Assim, fomos capazes de converter uma vulnerabilidade de inclusão de arquivo local que só pode mostrar arquivos para você ou só pode permitir
a leitura de arquivos no servidor.
Conseguimos converter isso e explorá-lo para obter acesso total ao servidor de destino o máximo possível, porque fomos capazes
de gravar na variável de ambiente proc self, que exibe nosso agente de usuário, e alterando o agente de
usuário para nosso código fomos capazes de executar qualquer registro que desejamos.