El método system.multicall está habilitada por defecto en el XMP-RPC de Drupal y WordPress. Como su nombre lo indica, permite realizar múltiples llamas a métodos en una sola petición HTTP y se utiliza en la realización de operaciones masivas como la eliminación de numerosos comentarios, ediciones de varias entradas, entre otras operaciones en lote. Las llamadas se empaquetan en una lista que funciona como parámetro de entrada de system.multicall, se estructura en un documento XML y se envía utilizando el método POST.
Muchas de los métodos que están disponibles en los CMS mediante XML-RPC, requieren que el usuario se autentique. Por ejemplo, el método getUsersBlogs retorna la lista de usuarios pero requiere que el solicitante tenga autorización para acceder a dicha información. Los ciberdelincuentes hace mucho tiempo que se aprovechan de esto y realizan peticiones continuas a métodos de esta clase, en un esfuerzo por adivinar la contraseña de los usuarios. Para lograr su objetivo, tienen que hacer una petición HTTP individual por cada intento de autenticación, creando un patrón inusual en los registros del servidor, lo que puede y debe levantar la alerta en los IDS correspondientes.
En este escenario, el método system.multicall, viene a empeorar la situación, pues permite que los atacantes empaqueten decenas y cientos de peticiones de autenticación en una sola llamada HTTP. Por supuesto, si los IDS están configurados para disparar la alarma luego de 10 peticiones continuas de autenticación, en este caso, estaríamos tratando con ¡500 intentos! pero en una simple petición HTTP, y esta pasaría desapercibida pues 1<10. Esta característica lo convierte en un ataque amplificado (Figura 1).
Paso 1. Estructurar la llamada al método system.listMethods en un documento XML (ej. listMethods.xml).
curl -d @listMethods.xml http://mi.app.web.com/xmlrpc.php
Paso 3. Inspeccionar el documento XML de respuesta, buscando la cadena system.multicall
Los autores consultados coinciden en la necesidad de bloquear el acceso a xmlrpc.php en aquellos casos (la inmensa mayoría) que no se usa. Si lo requiere un plugin muy específico como JetPack, debe bloquearse el acceso al método system.multicall vía firewall o mediante código fuente. Muchos proponen una solución más radical, eliminando simplemente el archivo xmlrpc.php. En mi criterio debes hacer una búsqueda, teniendo en cuenta tu plataforma, versión y plugins usados, para encontrar la vía más adecuada e inocua para tu aplicación web.
Consideraciones finales
XML-RPC es un protocolo para la realización de llamadas remotas a procedimientos. Por este motivo no coincido con el nombre de ataque XML-RPC. Creo que es más adecuado referirse al método en cuestión que es explotado. Las vulnerabilidades de XML-RPC se producen por dos vías, la primera está dada por la implementación de los métodos disponibles a consumir y las acciones que estos permiten realizar en el sistema y segundo, el desconocimiento de muchos administradores sobre XMLR-RPC, su habilitación por defecto y su funcionamiento como punto de entrada.
Les propongo revisar estas referencias para profundizar sobre el tema:
*https://blog.cloudflare.com/a-look-at-the-new-wordpress-brute-force-amplification-attack/ Artículo muy instructivo y fácil de comprender.
*Brute Force Amplification Attacks Against WordPress XMLRPC: Artículo que levantó la alarma sobre los Ataques de fuerza bruta amplificado con el método system.multicall.
*phpxmlrpc.sourceforge.net: Breve referencia técnica al método system.multicall
Fuente del post:www.henryraul.wordpress.com
Espero os sirva y os gusto el post, saludos.