Perimeter
11/17/2009
03:10 PM
Robert Graham
Robert Graham
Commentary
50%
50%

How To Hack A Brazilian Power Company

The recent "60 Minutes" story claiming hackers had caused power outages in Brazil was (likely) bogus, but that doesn't mean hackers can't do this. The story got widespread coverage in the Brazilian press, which meant hackers there were suddenly interested in the subject. And just days later, chatter appeared on Brazilian hacker Websites expressing interest in ONS, the Website of Brazil's national power grid operator.

The recent "60 Minutes" story claiming hackers had caused power outages in Brazil was (likely) bogus, but that doesn't mean hackers can't do this. The story got widespread coverage in the Brazilian press, which meant hackers there were suddenly interested in the subject. And just days later, chatter appeared on Brazilian hacker Websites expressing interest in ONS, the Website of Brazil's national power grid operator.

A member of the Brazilian press called me and asked if I could confirm whether there was a danger. I confirmed it: The Website had obvious vulnerabilities that any teenager could hack.

The first was the "robots.txt" file. This is a file that tells search engines to ignore parts of a Website. It's the first thing hackers look at: If you don't want part of your Website appearing in search results, then it's likely sometime hackers would be interested in. This was the file at http://www.ons.org.br/robots.txt:

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

According to the underground chatter, the URL http://www.ons.org.br/agentes/agentes.aspx contains all sorts of internal applications that should not be publicly available. It also contains documents and manuals that would teach outsiders a lot about how ONS works.

Picking one of the applications at random, you can enter a username of "asdf'asdf" (with a quote character in the middle). The quote character is a test to see whether the application is vulnerable to SQL injection. The request will be rejected, but what's important is how it will be rejected.

Photobucket

After doing this, you would see the result below:

Photobucket

To a high degree of probability this indicates that the application is vulnerable to SQL injection. However, this is a variant known as "blind" injection: While you can send bad SQL queries to the Website, you cannot see their results. This means that while the Website is vulnerable, it's not something an average teenager would be able to exploit.

Elsewhere on the Website is a registration page. Filling it out and giving a company name of "asdf'asdf" produces the following error message:

Erro ao Cadastrar AgenteLine 1: Incorrect syntax near 'asdf'. Unclosed quotation mark before the character string ',0,')'.insert into cadastro_agente (nm_cod_pk, vc_nome, vc_sobrenome, vc_email, vc_endereco, vc_estado, vc_cidade, vc_ddd_telefone, vc_telefone, vc_sexo,nm_cod_funcao_fk, dt_nascimento, dt_cadastro,vc_info, vc_tratamento, vc_empresa, vc_cep,vc_site, vc_email_secundario, nm_cod_tipo_fk, dt_alteracao, nm_permission_mkt, vc_password, nm_numero, vc_complemento) values(13256, 'Winnie', 'Thepoo', 'teste@mailinator.com', '', 'AC', '', '', '', 'M', '4', '1980-1-1', getDate(), '1', 'Poobear', 'asdf'asdf', '-', '', '', '2', getDate(), 1, 'letmein', 0, '')

This again indicates SQL injection. However, in this case, the injection isn't blind: The error page repeats the underlying SQL query. This sort of injection would be much easier for hackers to exploit.

SQL injection is the most common vulnerability on Websites. Most security professionals add a quote ' mark to their Web input whenever they visit a new site, curious to see whether they will get an error message (like the one above). It's not 100 percent proof that the system is vulnerable, but in my experience doing pen testing, more than 95 percent of the time such a vulnerability will lead to a full compromise of the Website.

ONS was notified last week of this problem. They've confirmed that, indeed, its Website was hacked. It claims to have fixed the SQL injection problems and that there was no danger because there was no connection between its Website network and back-end control network. In my experience, that claim is likely wrong. Data has to be transferred somehow from the power transmission grid to the front-end network. Once a hacker breaks into the network, he can usually find that connection.

My point with this post is to give details, not to scare. Power grids are still more likely to have accidental failures than hacker attacks. If Al Qaeda or the Chinese wanted to create power outage, then they could do so more effectively with 10 well-placed bombs. Hacking is a threat, and it's one that most power companies do take seriously, but it's not something worth panicking about.

Robert Graham is CEO of Errata Security. Special to Dark Reading

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Dark Reading Tech Digest, Dec. 19, 2014
Software-defined networking can be a net plus for security. The key: Work with the network team to implement gradually, test as you go, and take the opportunity to overhaul your security strategy.
Flash Poll
Title Partner’s Role in Perimeter Security
Title Partner’s Role in Perimeter Security
Considering how prevalent third-party attacks are, we need to ask hard questions about how partners and suppliers are safeguarding systems and data.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-5211
Published: 2015-01-27
Stack-based buffer overflow in the Attachmate Reflection FTP Client before 14.1.433 allows remote FTP servers to execute arbitrary code via a large PWD response.

CVE-2014-8154
Published: 2015-01-27
The Gst.MapInfo function in Vala 0.26.0 and 0.26.1 uses an incorrect buffer length declaration for the Gstreamer bindings, which allows context-dependent attackers to cause a denial of service (crash) or possibly execute arbitrary code via unspecified vectors, which trigger a heap-based buffer overf...

CVE-2014-9197
Published: 2015-01-27
The Schneider Electric ETG3000 FactoryCast HMI Gateway with firmware before 1.60 IR 04 stores rde.jar under the web root with insufficient access control, which allows remote attackers to obtain sensitive setup and configuration information via a direct request.

CVE-2014-9198
Published: 2015-01-27
The FTP server on the Schneider Electric ETG3000 FactoryCast HMI Gateway with firmware through 1.60 IR 04 has hardcoded credentials, which makes it easier for remote attackers to obtain access via an FTP session.

CVE-2014-9646
Published: 2015-01-27
Unquoted Windows search path vulnerability in the GoogleChromeDistribution::DoPostUninstallOperations function in installer/util/google_chrome_distribution.cc in the uninstall-survey feature in Google Chrome before 40.0.2214.91 allows local users to gain privileges via a Trojan horse program in the ...

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
If you’re a security professional, you’ve probably been asked many questions about the December attack on Sony. On Jan. 21 at 1pm eastern, you can join a special, one-hour Dark Reading Radio discussion devoted to the Sony hack and the issues that may arise from it.