Narrador: Nesta
palestra,
veremos as Vulnerabilidades de Upload de Arquivos.
Esses são os tipos mais simples
de vulnerabilidades, porque permitem o upload de qualquer tipo de arquivo.
Por exemplo, se o computador de destino puder entender o php,
podemos enviar qualquer arquivo php ou um shell de php e
obter controle total sobre o computador de destino.
Agora, como o computador de destino ou o servidor de destino
entende Python ou qualquer outra linguagem, basta
fazer o upload de código
Python, shell Python ou shell Ruby.
Você pode criar esses
shells usando o Veil-Evasion ou o
Metasploit, ou pode usar seu próprio shell php ou Python.
O que
vamos fazer hoje, vamos
dar uma olhada em uma ferramenta chamada weevly
que gera shp php e nos
permite obter acesso e fazer várias coisas legais no computador de destino.
Então, primeiro de tudo, eu tenho meu DVWA aqui.
E geralmente quando você está tentando planejar um site,
o que eu
recomendo é que, antes de tentar
usar qualquer ferramenta ou qualquer coisa,
depois de coletar informações, você entre e tente navegar no site.
Veja o que você pode ver, basta ter uma idéia do site.
Veja o que está instalado nele e tudo isso.
E tente explorar todos os recursos que você vê.
Por exemplo, digamos que você fez tudo
e depois alcançou o upload.
Podemos ver que este site nos permite fazer upload de um arquivo.
Agora, isso às vezes nas tarefas de teste de penetração, pode ser
um site que permita o upload de uma foto
de perfil, uma imagem, se for um site classificado, talvez esteja
permitindo o upload de fotos de carros ou o que
você estiver tentando adicionar o site.
Portanto, como você pode ver aqui, o site
espera que você escolha uma imagem e faça upload dela.
Então, vamos ver se podemos fazer upload de uma imagem primeiro.
Então eu vou nos meus downloads e eu
tenho uma foto aqui nos recursos.
Apenas uma foto de um carro.
Vou fazer o upload e ver se é carregado.
E podemos ver que o upload
foi bem-sucedido e está armazenado nesse local específico, então
é ....
o que significa dois diretórios anteriores e, em seguida, esse nome de arquivo.
Então, vamos ver se a imagem foi realmente carregada.
Então, estou retirando dois
diretórios, removendo as vulnerabilidades e fazendo o upload.
Eu só estou usando isso.
E então vamos obter esse local no servidor, apenas para ver
se a imagem foi carregada corretamente.
E, como podemos ver, a imagem foi carregada, então
está tudo bem.
Agora, a próxima coisa
que queremos fazer, vamos tentar fazer upload de um arquivo php.
E para fazer isso, usaremos uma ferramenta chamada
weevly, como
eu disse, para criar uma carga útil ou um shell, se você quiser chamá-lo.
E obviamente será um shell php.
Você pode usar o metasploit como
eu disse para criar
uma carga útil em php, mas teremos que
procurar uma ferramenta diferente, projetada para testes de penetração de aplicativos da web.
Portanto, a ferramenta é
muito fácil, vamos colocar o nome da ferramenta, que é pesado.
E então vamos colocar generate, porque
queremos gerar uma carga útil ou um arquivo shell.
Em seguida, colocaremos uma senha para esse
arquivo, para que somente nós possamos acessá-lo e controlar o site
ao carregá-lo no site.
Então, minha senha será 1-2-3-4-5-6.
E então eu vou dizer onde eu quero guardar.
E eu quero armazená-lo na raiz e
vou chamá-lo de shell. php.
Muito simples, weevly é o nome do programa.
Gerar é gerar um shell.
A senha com a
qual o shell nos autentica e
será armazenada no root / shell. php.
Vou apertar enter e ele é criado
agora, se eu já estou na minha raiz, então eu apenas ls devo vê-lo.
E podemos ver aqui.
Então, a próxima coisa é que vamos
voltar ao nosso site e tentar fazer upload desse shell.
E eu vou procurar concha e aqui está.
E eu bati no upload.
E como você pode ver
agora, está me dizendo que o arquivo foi enviado com
sucesso e está no mesmo local em que a foto estava.
Então, tudo o que precisamos fazer agora é usar o mesmo link e
usaremos mais uma vez para interagir com
o shell que enviamos.
Agora vamos ver primeiro se o shell existe
e se foi carregado corretamente.
Então, eu só vou navegar através do meu navegador.
Concha. php e você pode ver que
você obtém uma página em branco, portanto não
encontramos o arquivo 404 não encontrado, o que significa que o arquivo foi carregado e está lá.
Então, vamos tentar interagir com isso de forma weevly.
Para se conectar a ele, digitaremos
weevly e depois colocaremos a URL onde está o shell.
Então é aqui que o nosso shell foi carregado.
E então vamos colocar a senha.
Então, minha senha era 1-2-3-4-5-6.
Muito simples, a URL onde está o
arquivo e 1-2-3-4-5-6.
Isso é muito parecido com quando você
usa o manipulador múltiplo aguardando conexões
ou conectado através do backdoor.
Então, literalmente, vamos
nos conectar ao backdoor que enviamos.
E como você pode ver, agora
estamos no sistema de arquivos, portanto, a partir deste local, você
pode simplesmente digitar qualquer comando do Linux.
E você poderá, será executado no
computador de destino e verá o resultado aqui.
Portanto, se eu fizer um pwd, você
verá que estou em var / www / hackable / uploads e se eu fizer
um ID, verei meu
usuário no momento, que é www. dados.
E se você fizer um uname -a apenas para confirmar
que esta é a máquina meta-explorável, verá que
esta é a máquina meta-explorável do Linux.
Agora podemos fazer o que quisermos.
Podemos listar os arquivos, podemos navegar.
Você pode executar qualquer comando do Linux que desejar.
Agora nós mudamos, nosso lugar foi mudado.
Weevly também oferece muito mais recursos do que apenas isso.
Então, na verdade, permite que você faça várias coisas legais.
Se você digitar ajuda, verá todas as coisas legais que você
pode fazer com o weevly.
Então você pode tentar escalar seus privilégios.
Execute consultas SQL e muitas coisas interessantes que foram projetadas apenas para
testes de penetração de aplicativos da web.
Por enquanto, vou deixar assim.
E isso apenas mostra
como usar as vulnerabilidades de upload de arquivos.