Brakeman - Rails Security Scanner

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

[ Hits: 3.620 ]

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

Instalando o nginx no CentOS 7

Web Application Security com CAL9000

theHarvester - Vamos colher alguns e-mails?

VirusZoo - Um zoológico diferente

Proteção contra vulnerabilidade POODLE SSLv3

Leitura recomendada

Mudando senha de administrador do Windows usando o Linux

Visão geral do Nmap

Bloquear/liberar WhatsApp via iptables

Regra pra abrir várias portas com IPTABLES

zuluCrypt no Debian 8 Jessie - Criptografia

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts