Новая брутфорс-атака, эксплуатирующая XMLRPC в WordPress
Вы создаете сайт, поскольку это очень просто сделать сегодня, публикуете контент, и в течение нескольких недель какие-то пользователи пытаются неоднократно войти в консоль. Такие попытки входа в систему идут из ботнетов, они автоматизированы, и их цель проста – «захватить столько сайтов, сколько получится, угадывая пароли». Как только они найдут пароль, который будет подходить, они начинают пользоваться сайтом для распространения разных вирусов, спама и т.д.
Вот лишь небольшой пример нашего собственного honeypot’а, который регистрирует сотню попыток входа в день путем тестирования различных комбинаций логина и пароля:
user: admin, pass: admin user: admin, pass: 123456 user: admin, pass: 123123 user: admin, pass 112233 user: admin, pass: pass123 ..
Пароли могут выглядеть глупо, однако после попыток ввода 200-300 популярных паролей злоумышленники все же могут получить контроль над сайтом.
XMLRPC wp.getUsersBlogs
Первоначально брутфорс-атаки всегда осуществлялись через /wp-login.php, однако в последнее время для этого все чаще используется метод wp.getUsersBlogs XMLRPC, чтобы угадать столько паролей, сколько получится. Использование XMLRPC – более быстрый и сложный для обнаружения метод. Не спутайте этот пост с тем, что мы уже публиковали в марте, когда мы заметили, что XMLRPC используется для DDOS-атак сайтов. В данном случае злоумышленники несколько усовершенствовали свой подход, пытаясь угадывать логин и пароль, что, естественно, отличается от DDOS-атак.
Такая атака возможна, поскольку многочисленные вызовы в реализации WordPress XMLRPC требуют логина и пароля. В данном виде атак, как мы заметили, используется wp.getUsersBlogs (и иногда wp.getComments), однако могут применяться и другие вызовы. Если вы передадите им логин и пароль, то они ответят вам, является ли данная комбинация корректной или нет:
<methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value> <string>admin</string></value></param> <param><value><string>112233</string></value></param></params> </methodCall>
В примере выше злоумышленники пытались проверить логин admin и пароль 112233.
Крупномасштабный брутфорс
Чтобы исследовать масштаб этой атаки, мы обратились к логам. Несколько прошлых недель оказались довольно интересными, с начала июня атаки выросли в десять раз и включили в себя примерно 2 миллиона попыток входа, которые произошли с 17,000 разных IP. В определенные дни было почти 200,000 попыток входа.
Единственная причина, по которой эти числа не стали выше, заключается в том, что мы уничтожаем логи после блока попыток, поэтому все, что вы видите – это постепенное увеличение атак, однако не полная картина происходящего. И это довольно страшно для владельцев сайтов.
Другой интересный аспект атаки – имена пользователей. Вместо того чтобы просто пытаться ломать пользователя с логином admin, злоумышленники пытаются определить доменное имя и выяснить реального администратора сайта, используя его логин вместо стандартного admin. Вот основные имена пользователей, которые пытались ломать:
179005 test 167147 admin 32030 sitedomain (domain modified to protect the innocent) 15850 sitedomain2 (domain modified to protect the innocent) 9590 realsiteadmin (user name modified to protect the innocent) 9564 realsiteadmin2 (user name modified ..)
Таким образом, из двух миллионов попыток только 167,000 использовали имя пользователя admin. Это демонстрирует тот факт, что простое отключение пользователя с логином admin не поможет, если злоумышленники могут узнать реального пользователя сайта. Именно по этой причине мы больше не делаем ставку на отказ от имени пользователя admin для повышения безопасности.
Что касается паролей – злоумышленники используют самые популярные пароли, найденные во многих словарях:
1dc13d admin 123123 admin1 admins 123456 12345678 7777777 letmein 121212 qweqwe iloveyou administrator holysh!t 55555 1q2w3e qwerty wordpress wpsite internet asdfghjkl 121314 lollipop killer pass lovers hello dragon admin123 office jerome fyfcnfcbz
Защита от брутфорса
Есть много способов защититься от брутфорс атак. Если у вас есть выделенный сервер, вы можете установить OSSEC и позволить ему автоматически блокировать IP-адреса, которые слишком много раз вводят неправильные пароли. Мы предлагаем автоматическую защиту от брутфорса в нашем файрволе (CloudProxy), поэтому если вам требуется решение в один клик, вы можете воспользоваться им.
Естественно, многие инструменты прикладного уровня (т.е. плагины) помогают справиться с брутфорс атаками. Однако ни один из плагинов, который мы попробовали, не защитил нас от вызовов XMLRPC, за исключением нашего собственного плагина. Вероятно, поэтому мы и видим такое изменения в методах атак.
Источник: blog.sucuri.net