COVIL HACKER

, ! .


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » Segurança da Web - Injeção de comandos do sistema operacional


Segurança da Web - Injeção de comandos do sistema operacional

1 2 2

1

Injeção de Comando do SO

https://forumupload.ru/uploads/001b/c9/09/2/t548666.jpg

Neste tópico , falarei sobre a injeção de comandos os , que é uma das vulnerabilidades de segurança da web . Nosso objetivo, como sempre, será compreender a lógica da vulnerabilidade.
Os comandos inj. A vulnerabilidade permite que um invasor execute comandos do sistema operacional diretamente no servidor. Depois que o invasor pode executar comandos no sistema operacional, ele pode assumir o servidor e continuar seu ataque, dependendo de sua finalidade.

Como ocorre a vulnerabilidade?
Por exemplo, considere um site de ping simples.
Ele solicitará um endereço IP e executará um ping nesse endereço. Nesse caso, não é difícil adivinhar que o comando ping $ ip está sendo executado no sistema.

Se os dados (endereço IP) recebidos do usuário forem incluídos de forma insegura no comando do sistema (ping $ ip) dessa maneira, podemos falar sobre a vulnerabilidade Os Command Inj lá.

Neste ponto, o invasor tentará injetar seus próprios comandos. Ele fará esse processo de injeção com a ajuda de instruções de concatenação de comandos

https://forumupload.ru/uploads/001b/c9/09/2/t473746.png

Existem diferentes operadores para combinar comandos, vamos aprender todos eles.

Como você pode ver, o comando ping funcionou e o comando que injetamos depois também funcionou.
Desta forma, o comando pode ser injetado se não forem tomados cuidados cuidadosos com os dados recebidos do usuário.

https://forumupload.ru/uploads/001b/c9/09/2/t991344.png

Aqui está um código-fonte vulnerável.

Agora, examinaremos casos como detecção e exploração de vulnerabilidades no ambiente de laboratório do PortSwigger de forma aplicada.

Exemplo 1

https://forumupload.ru/uploads/001b/c9/09/2/t965727.png

Temos a função de verificação de estoque em nossa página .
Ao clicarmos no botão, vamos tentar examinar a requisição enviada ao servidor via BurpSuite

https://forumupload.ru/uploads/001b/c9/09/2/t617381.png

Os dados de identificação são retirados de nós e, aparentemente, um script está sendo executado em segundo plano e, em seguida, o resultado é refletido na tela.
Para resolver este exemplo, somos solicitados a executar o comando whoami .

https://forumupload.ru/uploads/001b/c9/09/2/t14563.png

Concluímos a instância com sucesso injetando o comando whoami.

Alguns comandos do sistema:

https://forumupload.ru/uploads/001b/c9/09/2/t49312.png

Aqui, se você não conhece o sistema operacional do sistema de destino , faz mais sentido executar o comando whoami para detectar a vulnerabilidade . Porque é um comando comum em ambos os sistemas.

Injeção de comando Blind Os
A saída do comando pode nem sempre ser visível para o usuário final dessa maneira. Neste caso , estaremos falando sobre o tópico de injeção de comando blind os .
Existem diferentes métodos de detecção desse tipo de vulnerabilidade. Um deles é baseado em tempo .

Vamos à prática.
ter um atraso de 10 segundos no sistema que nos foi solicitado.

Exemplo-2

https://forumupload.ru/uploads/001b/c9/09/2/t728078.png

Podemos atrasar o sistema usando o parâmetro -c com o comando ping

https://forumupload.ru/uploads/001b/c9/09/2/t720760.png

Após 10 segundos, o laboratório será marcado como resolvido.

https://forumupload.ru/uploads/001b/c9/09/2/t535887.png

Foi assim que resolvemos este laboratório.

Exemplo-3 Outro método de detecção de vulnerabilidade de
injeção de comando Blind Os é o redirecionamento de saída.
Sim, ao executarmos o comando echo tst > /var/www/html/test.txt, a página test.txt será criada.
Podemos direcionar as saídas de comando para esta página

https://forumupload.ru/uploads/001b/c9/09/2/t665853.png

Executamos o comando whoami e o salvamos no diretório /images/. Vamos tentar visualizar o arquivo.

https://forumupload.ru/uploads/001b/c9/09/2/t539862.png

é assim que redirecionamos a saída do comando.

Caminhos de combinação de comandos
&
&&
|
||
;
`command`
$(command)

O comando pode ser injetado com a ajuda dessas instruções.

Exemplo-4
Existe outro método para detectar a vulnerabilidade Blind Os Command Injection. É o método que chamamos de out of band.
Vamos ver na prática.

https://forumupload.ru/uploads/001b/c9/09/2/t714410.png

Em ataques fora de banda, você precisa ter um serviço onde possa ver as solicitações de DNS recebidas.
Se estiver trabalhando na rede local, você pode iniciar o http.server.
Você pode usar o ngrok para rede externa ou pode usar o colaborador burp.

https://forumupload.ru/uploads/001b/c9/09/2/t568226.png

Usando o comando nslookup nos sistemas Windows e Linux, fizemos uma consulta de DNS para o endereço que especificamos.
Se houver uma vulnerabilidade, podemos ver que essa solicitação foi enviada em nossos logs. Desta forma, podemos detectar a presença da vulnerabilidade na forma Out-of-Band

https://forumupload.ru/uploads/001b/c9/09/2/t981700.png

Vemos as solicitações de DNS recebidas, mas como extraímos as informações do sistema?
Você pode vê-lo no próximo aplicativo.

Exemplo-5

https://forumupload.ru/uploads/001b/c9/09/2/t10028.png

Adicionamos o comando whoami ao início do endereço como subdomínio.
Vejamos a solicitação de DNS recebida.

https://forumupload.ru/uploads/001b/c9/09/2/t29111.png

É assim que visualizamos a saída do comando whoami.

0

2


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » Segurança da Web - Injeção de comandos do sistema operacional


|