Novamente sites da Rede Globo são invadidos
07/07/2006 Written by Marcelo Almeida (Vympel)
O grupo de defacers chilenos, conhecidos como Byond Hackers Team, invadiu 17 sites da Globo.com hoje por uma falha conhecida no xmlrpc. Este componente é bastante usado por aplicações PHP e possui uma falha grave de segurança que permite um invasor entrar em um servidor rodando a versão comprometida e executar comandos arbitrários, conforme informou a GulfTech no seu boletim de segurança em 02 de julho de 2005.
Como é uma falha bastante antiga em um componente muito usado por scripts PHP, diversos sites de prestígio sofreram ataques por esta falha.
Não é a primeira vez que websites da Globo foram invadidos, o Zone-H tem registro de vários websites desta empresa…
Alguns dos motivos dos ataques são de caráter político, outros por “diversão” ou para ter um certo “prestígio” na comunidade dos crackers. Por pertencer a uma empresa mundialmente famosa é considerada por eles um alvo de maior valor pois deveria ser mais seguro em relação aos demais websites.
Outro grupo de defacers brasileiros conhecidos como Outlaw, foram os primeiros a invadirem vários destes sites comprometidos na invasão de hoje.
As cópia destas invasões podem ser vistas neste link.
Esta é a mesma falha de que segurança foi utilizada no ano passado por um grupo de defacers também brasileiros conhecidos como Unknown Core para invadir 306 sites da famosa universidade de Stanford nos Estados Unidos, fato este que teve bastante repercussão mundial.
A seguir segue o exemplo da falha de segurança explorada pelos defacers:
//decompose incoming XML into request structure
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($parser, “xmlrpc_se”, “xmlrpc_ee”);
xml_set_character_data_handler($parser, “xmlrpc_cd”);
xml_set_default_handler($parser, “xmlrpc_dh”);
if (!xml_parse($parser, $data, 1)) {
//return XML error as a faultCode
$r=new xmlrpcresp(0,
$xmlrpcerrxml+xml_get_error_code($parser),
sprintf(“XML error: %s at line %d”,
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
xml_parser_free($parser);
} else {
xml_parser_free($parser);
$m=new xmlrpcmsg($_xh[$parser][’method’]);
//now add parameters in
$plist=””;
for($i=0; $i\n”;
$plist.=”$i — ” . $_xh[$parser][’params’][$i]. ” \n”;
eval(‘$m->addParam(‘ . $_xh[$parser][’params’][$i]. ”);”);
}
O atacante cria um arquivo XML com aspas simples para escapar no eval () para poder enganar o servidor. Com a versão vulnerável o magic_quotes_gpc () não aplica a $HTTP_RAW_POST_DATA no script deixando o invasor executar comandos arbitrários no servidor.
Método usado para enganar o script com esta falha:
Quando este script é executado o resultado to phpinfo() é mostrado na tela, podendo o invasor alterar este comando para qualquer outro comando para obter acesso ao servidor.
As empresas que utilizem algum tipo de aplicação que utilizem a versão com falha deste componente podem encontrar a última versão livre desta falha no site do responsável pelo XMLRPC.
Share this content:





