Brakeman - Rails Security Scanner

Publicado por Roberto Soares (3spreto) em 24/09/2014

[ Hits: 2.234 ]

Blog: http://codesec.blogspot.com

 


Brakeman - Rails Security Scanner



Brakeman[1] é uma ferramenta de segurança, utilizada para escanear códigos escritos em Ruby on Rails por meio de análise estática à procura de vulnerabilidades.

Instalação

Você precisa ter o RubyGems[2] instalado em sua máquina, sendo assim, basta o comando abaixo para que a ferramenta seja instalada:

gem install brakeman

Utilização

Após sua instalação, você pode utilizar o Brakeman de duas formas. A primeira é especificando o diretório que contém a aplicação a ser analisada:

brakeman railsgoat/

Ou então, acessar o diretório e apenas executar o Brakeman:

cd railsgoat/
brakeman

E na prática, como fica?

Vamos a um exemplo de código Rails vulnerável, utilizando uma aplicação desenvolvida especialmente para fins didáticos, que é o RailsGoat[3].

Utilize o Git para fazer o download de todo o código:

git clone https://github.com/OWASP/railsgoat.git

Agora, basta executar o Brakeman no código em questão:

brakeman railsgoat/

Você terá uma saída similar a esta abaixo:
Linux: Brakeman - Rails Security Scanner

Como podemos ver, foi gerado alguns avisos sobre possíveis vulnerabilidades:

  +-------------------------------+-------+
  | Warning Type..................| Total |
  +-------------------------------+-------+
  | Attribute Restriction.........|   1   |
  | Command Injection.............|   1   |
  | Cross Site Scripting..........|   1   |
  | Cross-Site Request Forgery....|   1   |
  | Dangerous Send................|   1   |
  | File Access...................|   1   |
  | Format Validation.............|   1   |
  | Mass Assignment...............|   5   |
  | Remote Code Execution.........|   4   |
  | SQL Injection.................|   2   |
  | Session Setting...............|   2   |
  +-------------------------------+-------+


Lembrando que nos resultados de ferramentas deste tipo, podemos obter falsos positivos e falsos negativos, sendo assim, é altamente recomendado a análise manual por algum analista e/ou empresa[4] com experiência no assunto, para que todas a falhas presentes sejam mitigadas.

Referências


See you in the next tip. :)
@espreto

Outras dicas deste autor

Paros Proxy - Web Application Security

DuckDNS - Simples solução para DNS dinâmico

Matriux - Distribuição para Penetration Testers

Extensões do Firefox para testes de segurança

VirusZoo - Um zoológico diferente

Leitura recomendada

Como recuperar senhas no Ubuntu 14.04

Protegendo SSH no CentOS com Fail2ban

Coloque o iptables para iniciar como serviço no Conectiva 10

Inserir comentários em regras do iptables

Limitar acesso de mais de um usuário via SSH

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts