apagao

Na noite do dia 10/11/2009, por volta das 22h00, todos os grandes centros do Brasil se viram na escuridão. Dentre eles estão o estado de São Paulo e Rio de Janeiro, juntamente com outros estados. Além dos afetados no Brasil, tivemos vizinhos estrangeiros.

Entre os responsáveis por isso, o mais dito, foi o fato de o incidente ter sido causado por uma tempestade de raios. Porém boa parte de história não foi contada.

Há uma semana, no jornal “60 minutes” do canal americano CBS, um ex-hacker black-hat, Kevin Poulsen, afirmou que o Brasil estaria sujeito a ataques de hackers em seu sistema elétrico e, como sempre, o governo brasileiro juntamente com o ministro de Minas e Energia, Edison Lobão, negam completamente a possibilidade. Porém, a verdade pode ser dura para todos os brasileiros.

Ao ver a possibilidade, procurei analisar se realmente seria possível adentrar no sistema de gerenciamento elétrico do país. Até então, não conhecia nada sobre o assunto, porém ao analisar algumas noticias, percebi que um dos principais órgãos a gerenciar a energia é o Operador Nacional do Sistema (ONS).

Dando uma googlada, pude facilmente encontrar a página do governo (www.ons.org.br) e, caminhando por alguns links, notei nada de importante. Foi então que pensei: “Se eles tivessem alguma coisa confidencial, não estariam na página. E se eles quisessem esconder de indexadores como Google?”. Aí que veio a primeira parte da surpresa.

Existe o arquivo robots.txt na raiz de alguns servidores que definem algumas regras para os indexadores. O grande problema é que muitos desenvolvedores utilizam esses arquivos para ‘esconder’ diretórios e arquivos de possíveis atacantes. Porém um atacante poderia facilmente descobrir tais diretórios simplesmente e acessar os arquivos, como segue:

http://www.ons.org.br/robots.txt

Ao acessar este arquivos, temos o seguinte conteúdo:

User-agent: * Disallow: /agentes/agentes.aspx
Disallow: /download/agentes/

Fiquei surpreso ao perceber que realmente tentaram utilizar tais recursos para proteger um diretório.

Acessando o primeiro dos endereços, sem qualquer autenticação podemos ter acesso ao endereço de todos os Sistemas Agentes da ONS, inclusive alguns com software para download e manual. Não conheço quaisquer destes sistemas, porém um deles me chamou a atenção quanto ao blecaute que ocorreu na ultima terça-feira, o Sistema de Administração de Contratos de Transmissão (SACT), que é acessível através do do endereço http://aplicleg.ons.org.br/intunica/

Com isto, conseguimos chegar a uma tela de login que representa nada mais nada menos do que o Operador Nacional do Sistema Elétrico. Pensei que a partir de então o processo seria mais difícil, porém mais uma vez fiquei surpreso com a incompetência do governo.

Ao fazer o primeiro teste, que qualquer ferramenta de auditoria de segurança faria, obtive um grande susto. Ao colocar uma aspas simples no campo de usuário e senha pude detectar a mais grotesca das falhas Web, um SQL INJECTION, tendo como resultado o seguinte:

[IfxException: ERROR [HY000] [Informix .NET provider]General error.] IBM.Data.Informix.IfxConnection.HandleError(IntPtr hHandle, SQL_HANDLE hType, RETCODE retcode) +27 IBM.Data.Informix.IfxCommand.ExecuteReaderObject(CommandBehavior behavior, String method) +739 IBM.Data.Informix.IfxCommand.ExecuteReader(CommandBehavior behavior) +104 IBM.Data.Informix.IfxCommand.ExecuteReader() +48 OnsClasses.OnsData.OnsCommand.ExecuteReader() IntUnica.Menu.btnOk_Click(Object sender, ImageClickEventArgs e) System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +109 System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +69 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1292

Ou seja, além de ter encontrado uma falha de SQL Injection, já descobri de cara que o sistema funciona rodando um banco de dados IBM Informix. A partir deste passo ficaria extremamente fácil para qualquer pessoa com conhecimento intermediário de SQL Injection invadir o Operador Nacional do Sistema Elétrico.

É interessante ressaltar que não tenho qualquer ligação com o ocorrido no dia 11 de novembro de 2009, e que irei parar a divulgação neste ponto para não comprometer mais ainda o funcionamento do sistema (odeio escuro). Não estou afirmando que o ocorrido foi causado por um ataque hacker, porém se tivesse sido, é importante deixar bem visível que o mesmo aconteceria sem qualquer dificuldade.

Espero que este post abra os olhos do governo, para que não possamos sofrer danos maiores em situações mais críticas.

Fonte: Hack n’ Roll

Anúncios