Сисадмин и программист Марк Монтегю (Mark Montague) из Мичиганского университета с 19-летним стажем решения проблем информационной безопасности составил очень толковую презентацию с ясным изложением информации, необходимой для взлома сайта под WordPress. Цель презентации — убедить владельцев обязательно обновляться до последней версии программного обеспечения.
По мнению Монтегю, самый простой способ начать атаку — установить дистрибутив Kali Linux с более 300 хакерскими программами, там есть всё необходимое. Из них злоумышленнику понадобятся только три:
- WPScan: программа для поиска уязвимостей на сайтах WordPress и брутфорса паролей.
- Metasploit: фреймворк с простым веб-интерфейсом позволяет начать атаку без особых технических знаний.
- Weevely: "PHP web shell", который загружается на сайт и работает как бэкдор, потенциально, предоставляя полный контроль над веб-сервером.
Например, так выглядит результат работы WPScan.
Script started on Thu 02 Oct 2014 09:49:02 PM EDT
root@badguy2: ~# wpscan --url myblog2.catseye.org
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version 2.5.1
Sponsored by the RandomStorm Open Source Initiative
@_WPScan_, @ethicalhack3r, @erwan_lr, pvdl, @_FireFart_
_______________________________________________________________
[+] URL: http://myblog2.catseye.org/
[+] Started: Thu Oct 2 21:49:18 2014
[!] The WordPress 'http://myblog2.catseye.org/readme.html' file exists
[+] Interesting header: SERVER: Apache/2.4.7 (Ubuntu)
[+] Interesting header: X-POWERED-BY: PHP/5.5.9-1ubuntu4.4
[+] XML-RPC Interface available under: http://myblog2.catseye.org/xmlrpc.php
[+] WordPress version 4.0 identified from meta generator
[+] WordPress theme in use: twentyfourteen - v1.2
[+] Name: twentyfourteen - v1.2
| Location: http://myblog2.catseye.org/wp-content/themes/twentyfourteen/
| Style URL: http://myblog2.catseye.org/wp-content/themes/twentyfourteen/style.css
| Theme Name: Twenty Fourteen
| Theme URI: http://wordpress.org/themes/twentyfourteen
| Description: In 2014, our default theme lets you create a responsive magazine website with a sleek, modern des...
| Author: the WordPress team
| Author URI: http://wordpress.org/
[+] Enumerating plugins from passive detection ...
| 1 plugins found:
[+] Name: custom-contact-forms - v5.1.0.3
| Location: http://myblog2.catseye.org/wp-content/plugins/custom-contact-forms/
| Readme: http://myblog2.catseye.org/wp-content/plugins/custom-contact-forms/readme.txt
[!] Directory listing is enabled: http://myblog2.catseye.org/wp-content/plugins/custom-contact-forms/
[!] Title: Custom Contact Forms <= 5.0.0.1 - Cross Site Scripting
Reference: https://wpvulndb.com/vulnerabilities/6296
Reference: http://packetstormsecurity.com/files/112616/
[!] Title: Custom Contact Forms <= 5.1.0.3 Database Import/Export
Reference: https://wpvulndb.com/vulnerabilities/7542
Reference: http://blog.sucuri.net/2014/08/database-takeover-in-custom-contact-forms.html
Reference: http://www.rapid7.com/db/modules/auxiliary/admin/http/wp_custom_contact_forms
[i] Fixed in: 5.1.0.4
[+] Finished: Thu Oct 2 21:49:21 2014
[+] Memory used: 2.191 MB
[+] Elapsed time: 00:00:03
root@badguy2: ~# exit
Далее в дело вступает Metasploit, где есть все необходимые модули для взлома WordPress. Получив лицензионный код на программу и создав проект, можно атаковать любой IP.
С помощью Metasploit в WordPress создаётся новый аккаунт с правами администратора. Что делать на этом этапе? Можно просто стереть всё содержимое, но в этом мало смысла, потому что сайт восстановят из резервной копии. Скорее всего, злоумышленник предпочтёт установить бэкдор, чтобы расширить свои возможности.
Программа Weevely создаёт валидный PHP-код для размещения в основной директории WordPress, а удалённый доступ в систему осуществляется потом по адресу вроде http://***/weevely.php (разумеется, файл лучше переименовать в нечто менее заметное).
Автор презентации подробно объясняет, как разместить бэкдор в системе и что с ним делать в дальнейшем, а также описывает все необходимые меры безопасности, которые должен предпринять админ.
Говоря об экосистеме WordPress, можно предположить, что у злоумышленников есть список всех IP-адресов и всех сайтов, работающих под WordPress (с указанием версии WordPress и версий всех установленных плагинов), так что в случае обнаружения новой уязвимости очень оперативно начнётся атака по сценарию, описанному в этой презентации. А новые уязвимости для WordPress и плагинов появляются с завидным постоянством.