Kali Linux и WPScan


Kali Linux и сканер безопасности WordPress

Kali Linux отличный дистрибутив для тестирования безопасности сети и сетевых приложений.

Kali Linux

В сегодняшней статье я расскажу как протестировать на наличие уязвимостей и в целом на безопасность, свой интернет ресурс на WordPress.

Мое первое знакомство с Kali Linux, а ранее BackTrack датируется приблизительно началом 2006 года, когда я еще был студентом и только начинал осваивать сети.

В целом, предмет сети был одним из горячо любимых мною, и на то время еще активно существовала (а возможно еще и сейчас у кого-то существует) уязвимость в протоколе RPC DCOM Microsoft Windows 2000/XP и даже Microsoft Server 2003, но если честно я не проверял, и по этому утверждать не буду. 😉

В 2003 году для эксплуатации уязвимости был создан массивный RPC Dcom эксплоит KaHT II, который использовался автономно. Аналогом можно считать эксплоит Microsoft RPC DCOM MSO3-026 из Metasploit Framework.

Metasploit Framework в последующем стал входить в состав дистрибутива BackTrack.

В общем это был мой первый опыт взаимодействия со средой Metasploit Framework, в рамках которого я усвоил насколько удобно и эффективно использовать готовые решения для реализации некоторых задач. В подтверждение вышесказанному, хочется отметить тот факт, что никто из преподавателей, чьи компьютеры начинали неожиданно перезагружаться, так и не заметил подвоха. 😉

А теперь обо всем по порядку.

Скачать дистрибутив Kali Linux (32 bit и 64 bit), можно на официальном сайте, здесь: kali.org/downloads

После этого необходимо сделать загрузочный диск или флешку, а можно сразу установить на виртуальную машину типа VirtualBox.

Подробности создания загрузочного диска и последующей установки ОС Kali Linux на пользовательский компьютер, я не буду описывать в этой статье, т. к. руководств и материалов по раскрытию этого вопроса уже и так хватает в сети интернет, скажу лишь, что процесс установки Kali Linux ни чем не отличается от установки всех остальных дистрибутивов Linux.

В качестве альтернативы можно просто загрузиться в режиме (Live) без установки, как показано на первом скриншоте.

Сканеры безопасности и уязвимости сайтов на WordPress

В статье о уязвимостях сайта на WordPress я уже писал, что неопытные администраторы очень часто подвергают опасности свои сайты используя настройки по умолчанию, которые позволяют злоумышленнику легко узнать реальный логин администратора и провести брутфорс атаку с использованием подбора пароля по словарю.

Есть и такие, кто после одного неудачного обновления, перестал совсем обновлять свою CMS. Вот для этих людей, данная статья будет очень полезна.

Возможности WPScan

Утилита WPScan входит в состав дистрибутива Kali Linux, и позволяет провести ряд тестов на наличие известных паблику уязвимостей, как в самом движке WordPress, так и в его плагинах и темах.

Посмотреть функциональные возможности WPScan можно командой:

wpscan --help

Краткий обзор параметров WPScan:

wpscan --url site.com

Покажет версию WordPress, используемую тему и наличие уязвимых плагинов, а также даст ссылки на веб ресурсы, где подробно описана эксплуатация оных.

kali

Здесь может быть только одна рекомендация: обновляйтесь, не стесняйтесь, чем чаще, тем лучше! 🙂

wpscan --url site.com --enumerate p

Выводит список всех установленных плагинов.

wpscan --url сайт.ру --enumerate t

Покажет все установленные темы, поэтому не рекомендуется хранить на сервере папки с неиспользуемыми темами.

wpscan --url site.com --enumerate tt

Проверяет сайт на наличие timpthumbs, описание возможных багов timthumb.php смотрите в статье о уязвимостях WordPress.

wpscan --url sites.org --enumerate u

Определяет логины и имена всех пользователей WordPress.

Правда, справедливости ради, хочется отметить тот факт, что WPScan все таки выводит логины, которые указаны в поле user_nicename таблицы wp_users, поэтому если вы еще не спрятали свой реальный логин, то рекомендую не откладывать сие действие в долгий ящик.

Заходите через PhpMyAdmin в свою БД, находите таблицу wp_users, и меняете значение в поле user_nicename, если хотите еще и изменить свой реальный логин от админки, то меняете значение в поле user_login

Изменяем Login WordPress

wpscan --url тест.ру --wordlist password.txt --username логин_пользователя

Позволяет подключить текстовый файл и осуществить подбор пароля по словарю.

Для защиты от подобных брутфорс атак, необходимо использовать плагины ограничивающие количество попыток ввода данных на странице авторизации WordPress, лично я использую плагин Simple Login LockDown.

От более гибкозаточенных брутов отлично помогает ограничение доступа к файлу авторизации wp-login.php  по ip адресу.

Для этого в файл .htaccess необходимо добавить вот эти инструкции:

<files "wp-login.php">
Order Deny,Allow
Deny from all
Allow from 182.203.71.118
</files>

В данном случае 182.203.71.118 является вашим ip адресом, и доступ к файлу wp-login.php разрешен только для него. 😉

P.S. Изменение настроек по умолчанию, и регулярное обновление движка, тем и плагинов, является основой безопасности любой CMS, просто в контексте данной статьи я решил сделать основной акцент именно на безопасность WordPress.