De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Otimizando a detecção de ataques de SQLi com evasão do Ossec HIDS

Colaboração: Alexandro Silva

Data de Publicação: 23 de abril de 2013

SQL injection é uma das vulnerabilidades mais difundidas e exploradas em aplicações Web, não é muito difícil encontrar esta falha em diversos CMSs, plugins e códigos de sites espalhados pela internet.

Ferramentas de proteção como WAFs e IDS/IPS possuem regras que alertam ou bloqueiam este tipo de ataque, porém existem diversas técnicas evasivas que permitem o concretização do ataque como:

  • White Space Manipulation;
  • URL encoding;
  • Unicode/UTF-8;
  • Hex Encoding;
  • char() function;
  • Comment Exploitation;
  • Concatenation, etc.

SQLmap, uma das melhores ferramentas para este tipo de ataque, possui um pool de scripts de evasão (tamper) bastante interessante.

Aproveitei o laboratório da apresentação que farei no Flisol para melhorar a detecção destes ataques e acabei criando algumas regras que otimizaram o tempo de identificação e o bloqueio. As regras atuais conseguem identificar o ataque, porém o delay entre a identificação e o bloqueio é um pouco alto, usando mais de um tamper e outras opções como o aumento do intervalo das requisições piora ainda mais detecção.

Estas novas regras foram aprovadas pelo upstream do Ossec HIDS estando disponíveis no repositório do projeto e serão publicadas juntamente com a nova versão que está na versão alfa.

Quem estiver interessado em utilizar ou testar apenas adicione as linhas abaixo no arquivo /var/ossec/rules/local_rules.xml.

  <group name="attack,sqlinjection,">
     <rule id="160001" level="6">
       <if_sid>31100</if_sid>
  <url>=%27|select%2B|insert%2B|%2Bfrom%2B|%2Bwhere%2B|%2Bunion%2B</url>
       <description>SQL injection attempt.</description>
     </rule>
     <rule id="160002" level="6">
       <if_sid>31100</if_sid>
  <url>%EF%BC%87|%EF%BC%87|%EF%BC%87|%2531|%u0053%u0045</url>
      <description>SQL injection attempt.</description>
     </rule>
  </group>

Sugestões e melhorias serão sempre bem vindas! =P

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Alexandro Silva