https://www.infosec.com.br/wp-content/uploads/2018/03/145938-como-a-seguranca-da-informacao-reduz-riscos-empresariais-1000x640.jpg210345juliocesarhttps://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.pngjuliocesar2018-03-05 14:25:572018-06-27 22:00:17Segurança TI
https://www.infosec.com.br/wp-content/uploads/2017/05/How-WanaCrypt-Encrypts-Your-Files-Computerphile-1.jpeg6001200juliocesarhttps://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.pngjuliocesar2017-05-20 22:50:432017-10-10 00:52:17Como o wannacry encripta os arquivos?
https://www.infosec.com.br/wp-content/uploads/2017/04/Defcon-21-How-my-Botnet-Purchased-Millions-of-Dollars-in-Cars-and-Defeated-the-Russian-Hackers-1.jpeg6001200juliocesarhttps://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.pngjuliocesar2017-04-30 11:57:552017-10-09 20:34:18Como minha Botnet comprou milhões de dólares em carros e derrotou os hackers russos
https://www.infosec.com.br/wp-content/uploads/2017/04/xss_romenia-1.jpg6001200juliocesarhttps://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.pngjuliocesar2017-04-09 02:01:342017-10-10 00:35:59XSS Refletido na versão mobile do olx Romênia
https://www.infosec.com.br/wp-content/uploads/2017/04/xss_ols_ucrania.jpg6001200juliocesarhttps://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.pngjuliocesar2017-04-09 00:08:372017-10-10 00:39:28XSS Refletido na versão mobile do olx Ucrânia
https://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.png00juliocesarhttps://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.pngjuliocesar2017-04-08 21:24:582017-04-09 00:07:25DOM Based XSS no olx Colômbia
Antes de começar a explicação, é bom lembrar que command injection e code injection são duas falhas diferentes. Basicamente command injection pode ocorrer, caso haja a interação de forma insegura, entre a aplicação web e o sistema operacional sobre o qual a aplicação estiver rodando. Essa interação pode ocorrer por exemplo, através de funções como o exec no PHP ou wscript.shell no ASP. A falha ocorre quando a aplicação envia comandos para o sistema operacional, juntamente com dados que o usuário enviar para a aplicação (através de formulários, cookies, HTTP headers etc) sem nenhum tipo de validação. Com isso, se a aplicação web em questão não realizar de forma correta a validação daquilo que o usuário enviar, a aplicação poderá ser atacada por um usuário malicioso, que irá injetar comandos de sistema operacional através do parâmetro vulnerável. Nesse ataque, o comando que o usuário malicioso enviar, será executado utilizando os privilégios que a aplicação web possuir. Geralmente aplicações web rodam com privilégios de servidor web(apache, tomcat…). Por exemplo, se o servidor web for o apache, o atacante terá privilégios do apache.
Mas o que isso significa exatamente?
Por exemplo, a aplicação web disponibiliza ao usuário um serviço de nslookup. Se a aplicação web não realizar de forma correta a verificação do valor passado para o nslookup, o usuário malicioso pode injetar comandos que serão executados com privilégios que a aplicação web vulnerável possuir, o que pode levar ao comprometimento total do sistema.
O código acima aceita a requisição via GET do parâmetro “host”, depois executa o nslookup e por fim exibe o resultado ao usuário. O importante aqui, é analisarmos como o valor passado para o parâmetro “host” é enviado direto para a função system() sem realizar nenhum tipo de filtro ou validação.
Uma requisição legítima seria algo como “http://website.com/cmd.php?host=google.com”, mas como vimos no código acima não existe nenhum tipo de filtro ou validação, ou seja, nada impede que o usuário malicioso tente a seguinte requisição “http://website.com/cmd.php?host=google.com;cat /etc/passwd”, o que irá fazer com que a aplicação web vulnerável retorne o conteúdo do arquivo passwd.
Aqueles familiarizados com linha de comando em ambiente Unix/Linux, sabem que podemos juntar comandos utilizando o “;“.
O ataque também pode ser realizado através do método POST. Nesse caso será necessário a utilização de ferramentas como o Burp Suite ou OwaspZap.
Lembre-se de que essa vulnerabilidade permite ao atacante executar comandos no servidor alvo, logo, um shell reverso pode causar um estrago maior ainda.
No exemplo a seguir iremos criar um shell reverso. Para facilitar vamos utilizar o Commix que é uma ferramenta muito útil na hora de encontrar e explorar falhas de command injection. Caso você não tenha a ferramenta, execute o comando: git clone https://github.com/commixproject/commix.git
Shell reverso com o Commix
No exemplo a seguir o IP 192.168.1.9 pertence ao servidor alvo e o IP 192.168.1.10 pertence ao atacante.
Referências:
resources.infosecinstitute.com/commix-an-automated-tool-for-command-injection/#gref
www.owasp.org/index.php/Command_Injection
The Web Application Hacker’s Handbook
_________________________________
Preocupado(a) se sua empresa pode estar correndo esse risco? Entre em contato agora mesmo
https://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.png00juliocesarhttps://www.infosec.com.br/wp-content/uploads/2017/04/cropped-logo_infosec_300x75-1.pngjuliocesar2017-03-31 12:50:242017-04-09 00:10:50XSS Persistente no sistema de mensagens olx África do Sul
Segurança TI
CROSS SITE REQUEST FORGERY
Como o wannacry encripta os arquivos?
SQL Injection avançado
Como minha Botnet comprou milhões de dólares em carros e derrotou os hackers russos
XSS Refletido na versão mobile do olx Romênia
XSS Refletido na versão mobile do olx Ucrânia
DOM Based XSS no olx Colômbia
DOM Based XSS no olx Colômbia
Informei a equipe do olx sobre o problema e o mesmo já foi resolvido
Preocupado(a) se sua empresa pode estar correndo esse risco? Entre em contato agora mesmo
[contact-form-7 id=”171″ title=”Formulário de contato”]
Command Injection
O que é Command Injection?
Antes de começar a explicação, é bom lembrar que command injection e code injection são duas falhas diferentes. Basicamente command injection pode ocorrer, caso haja a interação de forma insegura, entre a aplicação web e o sistema operacional sobre o qual a aplicação estiver rodando. Essa interação pode ocorrer por exemplo, através de funções como o exec no PHP ou wscript.shell no ASP. A falha ocorre quando a aplicação envia comandos para o sistema operacional, juntamente com dados que o usuário enviar para a aplicação (através de formulários, cookies, HTTP headers etc) sem nenhum tipo de validação. Com isso, se a aplicação web em questão não realizar de forma correta a validação daquilo que o usuário enviar, a aplicação poderá ser atacada por um usuário malicioso, que irá injetar comandos de sistema operacional através do parâmetro vulnerável. Nesse ataque, o comando que o usuário malicioso enviar, será executado utilizando os privilégios que a aplicação web possuir. Geralmente aplicações web rodam com privilégios de servidor web(apache, tomcat…). Por exemplo, se o servidor web for o apache, o atacante terá privilégios do apache.
Mas o que isso significa exatamente?
Por exemplo, a aplicação web disponibiliza ao usuário um serviço de nslookup. Se a aplicação web não realizar de forma correta a verificação do valor passado para o nslookup, o usuário malicioso pode injetar comandos que serão executados com privilégios que a aplicação web vulnerável possuir, o que pode levar ao comprometimento total do sistema.
Exemplo prático de Command Injection
Vamos analizar o código abaixo:
<?php $host = 'google'; if (isset( $_GET['host'] ) ) $host = $_GET['host']; system("nslookup " . $host); ?> <form method="get"> <select name="host"> <option value="google.com">google</option> <option value="yahoo.com">yahoo</option> </select> <input type="submit"> </form>O código acima aceita a requisição via GET do parâmetro “host”, depois executa o nslookup e por fim exibe o resultado ao usuário. O importante aqui, é analisarmos como o valor passado para o parâmetro “host” é enviado direto para a função system() sem realizar nenhum tipo de filtro ou validação.
Uma requisição legítima seria algo como “http://website.com/cmd.php?host=google.com”, mas como vimos no código acima não existe nenhum tipo de filtro ou validação, ou seja, nada impede que o usuário malicioso tente a seguinte requisição “http://website.com/cmd.php?host=google.com;cat /etc/passwd”, o que irá fazer com que a aplicação web vulnerável retorne o conteúdo do arquivo passwd.
Aqueles familiarizados com linha de comando em ambiente Unix/Linux, sabem que podemos juntar comandos utilizando o “;“.
O ataque também pode ser realizado através do método POST. Nesse caso será necessário a utilização de ferramentas como o Burp Suite ou OwaspZap.
Lembre-se de que essa vulnerabilidade permite ao atacante executar comandos no servidor alvo, logo, um shell reverso pode causar um estrago maior ainda.
No exemplo a seguir iremos criar um shell reverso. Para facilitar vamos utilizar o Commix que é uma ferramenta muito útil na hora de encontrar e explorar falhas de command injection. Caso você não tenha a ferramenta, execute o comando: git clone https://github.com/commixproject/commix.git
Shell reverso com o Commix
No exemplo a seguir o IP 192.168.1.9 pertence ao servidor alvo e o IP 192.168.1.10 pertence ao atacante.
Referências:
resources.infosecinstitute.com/commix-an-automated-tool-for-command-injection/#gref
www.owasp.org/index.php/Command_Injection
The Web Application Hacker’s Handbook
_________________________________
Preocupado(a) se sua empresa pode estar correndo esse risco? Entre em contato agora mesmo
XSS Persistente no sistema de mensagens olx África do Sul
XSS Persistente no sistema de mensagens olx África do Sul
Informei a equipe do olx sobre o problema e o mesmo já foi resolvido.
PREOCUPADO(A) SE SUA EMPRESA PODE ESTAR CORRENDO ESSE RISCO? ENTRE EM CONTATO AGORA MESMO
[contact-form-7 id=”171″ title=”Formulário de contato”]