Wednesday, May 25, 2011

Comodo Hack e MySQL.com SQL injection



A poeira da invasao e possivel compremetimento do código do SecurID da RSA ainda não baixou e outros ataques que merecem nota já ocorreram nos últimos dias. Segue um breve resumo sobre o I) #ComodoGate e II) blind SQL injection do MySQL.com e Sun.com.

I) COMODOGATE:


Update (25/05/2011 - 09:34) - A ComodoBr.com (apesar dos varios selos estilo "HackerSafe" no rodape do site) foi tambem comprometida via SQL Injection e um dump parcial de seu Banco de Dados foi publicado: http://pastebin.com/9qwdL1pA

Update (04/04/2011- 12:17) - O cryptome.org acaba de publicar um .rar com dois arquivos com o backup dos bancos de dados da GlobalTrust (33M) e da InstantSSL (9,3M).

Update (30/03/2011 - 17:43) - Mais 2 Autoridades Registradoras da Comodo foram comprometidas (além da italiana GlobalTrust). Que outros certificados forjados foram gerados? Aguardemos..

Fonte: o "ComodoHacker" postou mais uma de suas mensagens no estilo "Avassalador" em http://pastebin.com/kkPzzGKW - Trecho:

"From listed resellers of Comodo, I owned 3 of them, not only Italian one, but I interested more in Italian brach because they had too many codes, works, domains, (globaltrust, cybertech, instantssl, etc.) so I thought they are more tied with Comodo".

A Comodo confirmou em mensagem de um executivo, que descreve algumas das ações de "contenção de danos" que estão sendo colocadas em prática pela empresa.

Update (29/03/2011 - 20:15) - o G1 Segurança (Globo.com) publicou bastante material sobre o tema - Hacker invade empresa de segurança e falsifica 'cadeados' de sites - incluindo link para este post. Obrigado @altieres!

Update (29/03/2011 - 14:33) - o jornal Alemão Der Spiegel também o entrevistou.

Update (28/03/2011 - 18:47) - o blog ErrataSec divulgou uma entrevista com o hacker iraniano responsável pelo "ComodoGate.

Update (28/03/2011 - 17:01h) - O "ComodoHacker" agora tem conta no twitter: @ichsunx e acaba de divulgar outros dois dados para confirmar que é ele o responsável pelos ataques: 1) o Certificado falso gerado para o site de addons da Mozila. 2) a tabela de hashes de um BD do RA invadido.

Todos os textos publicados pelo hacker podem ser visualizados no seguinte link: http://pastebin.com/u/ComodoHacker


1) O Certificado parece válido - eis a saída do comando " $ openssl x509 -in mozilla.crt -text -noout "
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Hardware
Validity
Not Before: Mar 15 00:00:00 2011 GMT
Not After : Mar 14 23:59:59 2014 GMT
Subject: C=US/postalCode=38477, ST=Florida, L=English/streetAddress=Sea Village 10, O=Google Ltd., OU=Tech Dept., OU=Hosted by GTI Group Corporation, OU=PlatinumSSL, CN=addons.mozilla.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
00:ab:c6:6d:36:f3:15:73:78:83:73:ce:74:85:d5:
ae:ec:b2:f0:e0:24:1f:13:83:b8:20:ac:bb:9a:fe:
88:bb:ab:a1:1d:0b:1f:45:00:aa:49:b7:35:37:0c:
6a:ef:47:4c:b9:d1:be:e3:57:12:04:8d:92:c7:b6:
ec:01:bc:b6:da:c7:81:38:20:ad:72:85:e6:0e:fc:
81:6c:07:ad:68:76:38:c5:44:d7:cc:c6:4a:c5:97:
3e:64:f4:51:e6:f0:7e:b2:ec:56:f7:25:82:4d:49:
98:cb:16:98:dd:23:f1:89:91:d1:17:97:40:99:26:
d6:e2:a2:2b:5e:df:bd:89:f2:1b:1a:53:2d:cc:50:
41:7a:d0:3d:2a:0c:55:70:14:01:e9:58:49:10:7a:
0b:93:82:8b:e1:1e:ed:3a:80:10:82:ce:96:8a:34:
f0:cc:d7:d3:b9:b4:50:87:55:54:09:b8:9d:42:28:
55:00:e5:8c:35:54:bf:dd:25:91:46:b7:0d:e5:5d:
83:a8:e5:8b:fb:84:e4:3c:ae:76:da:c4:43:2b:5b:
74:0b:f8:be:5d:68:f1:78:5b:b5:ce:7d:f1:5d:99:
40:da:ca:ee:38:81:50:be:98:a1:6c:b8:24:ad:f3:
af:8c:0f:d7:11:28:2c:84:18:4c:7d:b5:d9:8f:30:
b5:1b
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Authority Key Identifier:
keyid:A1:72:5F:26:1B:28:98:43:95:5D:07:37:D5:85:96:9D:4B:D2:C3:45

X509v3 Subject Key Identifier:
DD:80:D2:54:3D:F7:4C:70:CA:A3:B0:DD:34:7A:32:E4:E8:3B:5A:3B
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Certificate Policies:
Policy: 1.3.6.1.4.1.6449.1.2.1.3.4
CPS: https://secure.comodo.com/CPS

X509v3 CRL Distribution Points:
URI:http://crl.comodoca.com/UTN-USERFirst-Hardware.crl
URI:http://crl.comodo.net/UTN-USERFirst-Hardware.crl

Authority Information Access:
CA Issuers - URI:http://crt.comodoca.com/UTNAddTrustServerCA.crt
OCSP - URI:http://ocsp.comodoca.com

X509v3 Subject Alternative Name:
DNS:addons.mozilla.org, DNS:www.addons.mozilla.org
Signature Algorithm: sha1WithRSAEncryption
33:3b:63:15:fc:b1:ec:14:2c:93:dd:75:94:de:81:5a:d9:4e:
99:be:fb:4a:a4:39:55:4d:a1:40:7a:de:13:2a:87:a9:37:cf:
e8:d5:fb:ad:d1:7b:6d:6f:8c:20:87:82:54:e6:57:49:bc:20:
28:84:cd:d6:01:d9:93:8b:17:6e:23:66:e5:84:c8:80:3f:c6:
a1:70:80:e4:ec:4d:1d:f9:fc:91:5a:73:62:29:9a:f7:20:1c:
61:e0:8b:39:9f:ca:bc:7e:8d:dd:bc:d9:b1:e3:9f:9e:df:15:
53:91:21:52:0b:d9:1a:23:0f:66:36:db:ac:93:96:4a:a3:a5:
22:cf:29:f7:a2:99:a8:f6:b6:d9:40:ae:d9:7e:b6:f6:58:2e:
9b:ac:36:ca:64:8f:65:52:dc:86:9c:82:ab:6e:50:4b:da:5f:
fa:05:00:88:30:0e:de:8d:56:bf:81:47:8d:3d:06:e2:b2:62:
92:67:8f:9e:c8:9a:b2:e5:06:b8:70:24:b8:77:7c:23:0a:38:
c3:79:08:d8:b1:51:9d:ac:95:11:c7:40:17:9e:a3:1c:8f:f2:
11:a7:68:27:da:49:05:84:18:7c:58:2d:01:67:5c:e5:9f:a1:
29:bb:4a:39:45:2f:bf:11:aa:79:a2:ed:b4:d4:b5:65:43:b7:
93:46:8a:d3
A chave privada também foi postada:
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAq8ZtNvMVc3iDc850hdWu7LLw4CQfE4O4IKy7mv6Iu6uhHQsf
RQCqSbc1Nwxq70dMudG+41cSBI2Sx7bsAby22seBOCCtcoXmDvyBbAetaHY4xUTX
zMZKxZc+ZPRR5vB+suxW9yWCTUmYyxaY3SPxiZHRF5dAmSbW4qIrXt+9ifIbGlMt
zFBBetA9KgxVcBQB6VhJEHoLk4KL4R7tOoAQgs6WijTwzNfTubRQh1VUCbidQihV
AOWMNVS/3SWRRrcN5V2DqOWL+4TkPK522sRDK1t0C/i+XWjxeFu1zn3xXZlA2sru
OIFQvpihbLgkrfOvjA/XESgshBhMfbXZjzC1GwIDAQABAoIBAQCJoijaEXWLmvFA
thiZL7jEATCNd4PK4AyFacG8E9w8+uzR15qLcFgBTqF95R49cNSiQtP/VkGikkkc
ao25aprcu2PnNA+lpnHKajnM9G3WOHuOXHXIps08es3MmBKTxvjNph6cUlqQULrz
Zry+29DpmIN/snpY/EzLNIMptn4o6xnsjAIgJDpQfFKQztxdmZU6S6eVVn0mJ5cx
q+8TTjStaMbh+Yy73s+rcaCXzL7yqWDb1l5oQJ/DMYNfufY6lcLgZUMwFxYKjCFN
ScAPCiXFUKTzY3Hy1Z4tLndFxipyEPywDep1TB2nMb+F3OOXUs3z+kKVjGFaGnLZ
591n3x3hAoGBAOOgsb4QybjHh9+CxhUkfsqcztGGdaiI3U5R1qefXL7R47qCWfGc
FKdoJh3JwJzHEDX68ZmHz9dPhSXw6YrlLblCi6U/3g7BOMme5KRZKBTjHFo7O9II
B0laE5ISRH4OccsOC3XUf9XBkm8szzEBj95DgzB0QydPL4jp7NY0h0QrAoGBAMEv
jEFkr/JCRe2RWUSx/a1WT/DHnVLMnDb/FryN2M1fAerpMYNUc2rnndjp2cYbsGLs
cSF6Xecm3mUGqn8Y5r8QqBwxCp5OunCFCXEJvkiU3NSs8oskCsB8QJ6vk3qmauUK
jClX91heSCigwhC2t+1txnF290m/y0T46EfqOSrRAoGAUlyVk4D9jEdeCWiHBaVj
3ynnx3ZQYj/LW4hPE+2coErPjG+X3c0sx/nuOL8EW3XHjtCS1IuIj45tTfIifqg3
6B2E67D1Rv9w7br5XeIIl64pVxixp2hSQp8+D49eiwHs+JzHVsYhzxUwR9u9yCyZ
gsGI2WJn3fRP7ck+ca8l9msCgYB4B2Hec3+6RqEKBSfwvaI+44TRtkSyYDyjEwT+
bCeLGn+ng/Hmhj8b6gKx9kH/i86g+AUmZtAXQZgmLukaBM/BYMkCkxnk2EeQh6gh
Goumrw8x+K7N8rvXcpv3vGEmcGW0H0SMn4In3pR44cER/2Tx2SXV87Obl9Xk6b3w
iL+yMQKBgFjXcmiBW8lw3l2CaVckd/1SzrT80AfRpMT9vafurxe+iAhl9SDAdoZe
3RlshoItDQLW1ROlkLhM7Pdq/XZvLRm128hiIGKTDBnxtfN8TKAg+V7V+/TTfdqv
8jq7epvZsq5vjOC1FZh2gOhf50QwpqDJktjdyka1sPiBKQSoxfbZ
-----END RSA PRIVATE KEY-----
Resumindo os passos:

a) usando o certificado publico da mozilla para addons.mozilla.org para criptografar um arquivo:
$ openssl rsautl -encrypt -inkey public.pem -pubin -in verify.txt -out encrypted

b) usando o certificado privado divulgado pelo hacker (acima) para descriptografar:
$ openssl rsautl -decrypt -inkey private.pem -in encrypted -out decrypted.txt

c) verificando que os arquivos são iguais e portando a chave privada é válida:
$ md5sum verify.txt decrypted.txt

830ea5a732ec9c497d5999ca7b9575b2 verify.txt
830ea5a732ec9c497d5999ca7b9575b2 decrypted.txt


2) a tabela de hashes do RA italiano comprometido - como era esperado - já começou a ser crackeada (fonte):


Post Original (28/03/2011 - 03h30):

No ano passado, no post "Root DNS, CA e AS - uma questão de (des)confiança" - já havíamos alertado para as falhas estruturais que foram exploradas pelo(s) hacker(s) que emitiram certificados emitidos pela Comodo:
Os Root Certificates são a base do sistema de confiança de comunicações criptografadas de comércio eletrônico, personal banking, etc - São utilizados em comunicações criptografadas e pré-cadastrados e autorizados por sistemas operacionais e navegadores, que possuem listas independentes que são enviadas aos usuários sem sua anuência.

Num exemplo corriqueiro, uma vez que um certificado SSL/TLS seja apropriadamente assinado por um destes certificados raiz, ele passa a ser "confiável" e o usuário verá o cadeado ao lado da URL iniciada porhttps no navegador - gerando uma sensação de confiança que muitas vezes pode não corresponder à realidade. (..continua.. )
E foi exatamente isto que aconteceu.. Uma vez que um atacante possua um certificado assinado por uma root CA e por conseguinte aceito pelo browser do usuário - game over. Ataques do tipo MITM (man-in-the-middle) podem ser aplicados - vide demo com o sslstrip. O resultado: nem o usuário, nem o site que utiliza https não perceberão que sua comunicação "https" está sendo "aberta" e lida por um adversário.

Muito se especulou sobre como o ataque teria ocorrido e sobre a atribuição de responsabilidade:

- Iran targets Gmail and Skype with fake SSL hack (PCPro - UK)
- Hack Obtains 9 Bogus Certificates for Prominent Web Sites - Traced to Iran (Wired)
- Iranian Hackers Suspected in Recent Security Breach (New York Times)

A própria empresa atacada (Comodo) liberou dados sobre o comprometimento - resumindo:

- 9 certificados falsos foram emitidos: entre eles Microsoft Live (Hotmail), Yahoo, Skype, Google , Gmail, Mozilla Addons [ nota:

- Evidências (IPs) indicam que ataque veio do Irã. [ nota: conforme Bejtlich e Coppert, a atribuição mais precisa de responsabilidade para este tipo de ataque precisa considerar mais pontos, dentre eles: 1)Timing, 2)Vítimas,3)Origem, 4)Mecanismo de Entrada, 5)Vulnerabilidade ou Exposição, 6)Exploit ou Payload, 7)Weaponization,8)Atividade pós-exploração, 9)Método de Comando e Controle, 10)Servidores de Comando e Controle,11)Ferramentas, 12)Mecanismo de Persistência, 13)Método de Propagação, 14)Dados Alvo, 15)Compactação de Dados, 16)Modo de Extrafiltração, 17)Atribuição Externa, 18)Profissionalismo, 19)Variedade de Técnicas, e 20)Escopo.

- O foco do atacante foi a infra-estrutura de comunicação, e não financeira como em um cybercrime tradicional [ nota: realmente, o atacante poderia ter lucrado milhões emitindo certificados falsos de bancos por exemplo. A análise dos pontos 2-vítimas 14-dados alvo e 20-escopo dentre as possíveis atribuições listadas acima parecem indicar um ataque focado na monitoração de comunicações e possivelmente com interesse político e não econômico.]

- O atacante somente pode fazer uso dos certificados se controlar a infra-estrutura de DNS [nota: para uma capacidade de "grampo" nacional, sim [ nota: no caso da suspeita do envovimento do governo do Irã), mas ataques a estrutura de DNS de pequenos ISP até root-dns são possíveis.. ]

- O perpetrador executou seus ataques com precisão cirúrgica / O governo do Irã recentemente atacou outros métodos de comunicação criptografada. [nota: bons pontos, mas a dificudade de atribuir a responsabilidade a um Estado por ações como esta é constante e já observamos no caso do Aurora, e do StuxNet, por exemplo. ]

Até que - supostamente (a ser confirmado) - o próprio "hacker" publicou - hoje - um "manifesto" sobre detalhes do ataque, seus objetivos e motivações (e completa falta de modéstia =) .Para comprovar a autoria do incidente, mais tarde ele publicou partes do código decompilado da biblioteca "TrustDLL" do parceiro da Comodo.

Dentre os comentários do "ComodoHacker" - destaco:

- o RA (Registration Authority) invadido foi a italiana GlobalTrust.it / InstantSLL.it
- não há um grupo de hackers envolvido no ataque, somente ele (com a "experiência de 1000")
- ele cita que decidiu hackear o algoritimo RSA - mas não há evidências que o liguem ao ataque ao SecureID (que discutiremos mais abaixo neste post)
- ele reclama que muita atenção está sendo dada a este ataque e mais ninguém escreve sobre o StuxNet e o envolvimento de Israel e dos EUA aos ataques às centrífugas iranianas, e também reclama que a mídia não dá atenção aos projetos HAARP e Echelon..

O "hacker" termina sua carta com a seguinte frase: "Janam Fadaye Rahbar”, que significa “Eu vou sacrificar minha alma pelo meu líder".

Os ingredientes da história indicam que se tratou de um ataque com o objetivo de possibilitar uma fácil monitoração de comunicação encriptada com SSL e - independente de quem foi o responsável - um possível "cliente final" é o governo do Irã (aliás, qualquer governo interessado em monitorar a comunicação de seus cidadãos) .

Algumas reações ao que foi publicado pelo "ComodoHacker":

- The Comodo hacker releases his manifesto (ErrataSec)
- Solo Iranian hacker takes credit for Comodo certificate attack (ComputerWorld)
- How the Comodo certificate fraud calls CA trust into question (ArsTechnica)

Contramedidas:

A criptografia por sí não é útil sem a autenticação / confiabilidade dos dois lados da comunicação, e por isto os principais browsers (Chrome, Firefox, IE) já atualizaram suas blacklists com a lista dos certificados SSL fraudulentos. Esteja certo que você utiliza a última versão do seu navegador e habilite a checagem "verificar revogação certificado" / OCSP - Online Certificate Status Protocol.

O problema é que um atacante em condições de interceptar as comunicações https também pode impedir que o processo de validação das blacklists funcione adequadamente - enviando para o cliente um código 3 OCSP - try later.

Mais detalhes sobre isto pode ser visto na apresentação de Moxie Marlinspike na BlackHat de 2009, chamada "More Tricks For Defeating SSL In Practice" - (se estiver com pressa, veja a página 129) e outro bom material sobre o assunto aqui (revocation is useless). Como vocês podem ver, mais uma vez o Chrome (e agora o FF4) sai na frente no quesito segurança por suportar HSTS - o que ao menos gera um alerta ao usuário..

Como já informamos por aqui anteriormente, um passo é manter em seu browser apenas os certificados-raiz realmente necessários.

Um tweet recente do Moxie Marlinspike sugere aos possíveis responsáveis pelo ataque (os iranianos) que liberem os americanos Shane and Josh caso o Irã esteja usando a ferramenta dele (sslstrip) com o modo autoupdate para evitar o download de add-ons de segurança do firefox (em http://addons.mozilla.org).

Outras dicas de como evitar a utilização de certificados forjados pelo seu browser foram publicadas nos links a seguir:


Do ponto de vista corporativo, você pode monitorar os certificados SSL vistos no seu gateway internet e revisá-los, com ferramentas free como o Bro-IDS ou o NetWitness Investigator.


II) MySQL.com / Sun.com Blind SQL injection:

Casa de ferreiro.. como sabemos, o MySQL foi adquirido pela Sun e a Sun foi adquirida pela Oracle.

Pois bem, hoje foi publicada na lista Full Disclosure a exploração via Blind SQL Injection dos principais bancos de dados do site Mysql.com, e o mysql do site Sun.com também foi comprometido via SQLi.

Vale ressaltar que SQL Injection consta como 2o lugar na lista do MITRE/Sans (http://cwe.mitre.org/top25/) que divulga os 25 erros mais comuns em softwares.

Dentre os dados divulgados estão as tabelas, colunas e hashes de senhas (MD5) de usuários do site que já estão sendo crackeadas e publicadas.. O header dos dados segue abaixo:
Vulnerable Target : http://mysql.com/customers/view/index.html?id=1170
Host IP : 213.136.52.29
Web Server : Apache/2.2.15 (Fedora)
Powered-by : PHP/5.2.13
Injection Type : MySQL Blind
Current DB : web
Atribuição de Responsabilidade:


Mais informações/repercussões sobre este ataque:



1 comment: