Закрываем дыры в своем сайте на примере сканеров уязвимости ресурсов


Когда-то давно в еще далеком 2012 году я открыл цикл рубрик по хакингу, вернее, по поиску и исправлению уязвимостей в различных IT приложениях. Но потом блог «опопсился» в целях популяризации публики и превратился в то, что вы видите. Однако, как и обещал, programbeginner.ru вновь станет тем ресурсом, каким я его видел и создавал изначально.

Так как ко мне часто обращаются те, кто только начинает свои робкие шаги на поприще веб-разработки, то приходится  нередко и слышать жалобы о том, что их сайт «угнали» или заразили шеллкодом. Причем, эти люди искренне недоумевают о том, почему так происходит. А ведь причина очень проста – сейчас столько  автоматизированных средств для поиска уязвимостей, что буквально делает взлом слабозащищенного ресурса делом лени и времени.

Наверняка читатель это статьи имеет свой сайт или блог. И скорее всего это будет из троицы популярных CMS – WordPress, Joomla или Drupal. WordPress вообще сейчас отдельная тема. Изначально созданный для блогосферы, он теперь позволяет создавать колоссальные сайты, причем, эта эволюция системы у меня проходила буквально на глазах за все эти четыре года. В итоге простой для освоения, этот мощный движок  заполонил  дисковые пространства жестких дисков хостингов всего мира.

Впрочем, эта проблема касается не только Worpdress. Тоже самое можно сказать и о Joomla, Drupal и о многих бесплатных и популярных CMS. Вполне законно, что чем популярнее движок, тем больше его устанавливают и тем больше к нему привлекается внимание хакеров. Ведь владельцу популярного ресурса есть что терять, а, значит, он легче расстанется со своими деньгами, дабы его защитить.

В этой статье я не буду ничего писать ни об инъекциях в код, ни о метасплойте, хотя посредством Armitage такой пентест превращается в нечто сродни баловству. Сейчас вообще появилось масса инструментов, облегчающих жизнь пентестерам и хакерам. И особенно так называемым «скрипт-кидди», часто новичкам, которые хотят что-либо «хакнуть», не понимая многих процессов при этом, но упорно мучающие тот или иной инструмент для пентеста. А их сейчас безумно много. Взять тот же Kali Linux, который должен быть у любого мало-мальски уважающего себя айтишника. Профессиональный дистрибутив представляющий из себя набор высококлассных инструментов для сканирования уязвимостей и взлома многих систем. Однако Kali Linux это просто сборник программ, которые легко можно установить и в Ubuntu, Debian, Fedora т.д.

Так как ко мне обращаются мои рефералы с ihc.ru (хорошего хостинга, на котором я и сижу все эти четыре года), имеющие блоги на WordPress, на примере этой CMS я и покажу как обнаруживают, сканируют и ломают эти сайты.

Итак, нам понадобится браузер Google Chrome, инструмент под названием WPscan и немножко усидчивости.

Поставьте в Chrome расширение под названием Wappalyzer. Это незаменимое расширение для тех, кто занимается поиском и устранением уязвимостей на различных ресурсах. Wappalyzer определяет, на чем работает тот или иной сайт, сильно упрощая подбор средств для пентеста. Так что иметь в своем арсенале обязательно!

Так достаточно просто можно узнать много о сайте
Так достаточно просто можно узнать много о сайте

Вот пример того, как мы в гугле нашли сайт «жертвы» и с помощью Wappalyzer считали информацию по нему.

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

Теперь нам понадобиться WPscan –написанная на языке ruby программа для поиска информации и уязвимости сайтов, созданных на WordPress. К слову, для Joomla такой инструмент называется joomscan, для Drupal  — drupscan. У меня стоит Kali Linuxна виртуалке и я буду пользоваться им, если у вас стоит Ubuntu, к примеру, и на ней версия от 14.04, то можете установить wpscan следующим образом:


sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential

git clone https://github.com/wpscanteam/wpscan.git

cd wpscan

sudo gem install bundler && bundle install --without test

Будем считать, что программа у вас уже установлена. Что ж, теперь  остается дело техники – запустить ее и считать интересующую информацию:

wpscan –u адрес_сайта [—опции, которые можно посмотреть в справке]

Команда без опций даст полную информацию по сайту:

Сканируем сайт с помощью wpscan
Сканируем сайт с помощью wpscan

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

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

Безусловно, то, что я сейчас написал весьма поверхностно. Однако фактически вы можете буквально изучить свой сайт, да и сайт конкурента. Понравилась тема или плагин? Просканировали и установили у себя нечто подобное. Перечисления в wpscan довольно-таки простые:

wpscan  -u сайт –enumerate p            -покажет перечень всех плагинов на сайте

wpscan  -u сайт –enumerate t           -покажет перечень тем

wpscan  -u сайт –enumerate u-покажет список всех пользователей сайта

Фактически, все это и можно использовать во вред, та как зная, какие пользователи есть на сайте, можно попытаться брутфорсом подобрать пароль, причем, снова же при помощи wpscan. Поэтому здесь нужно быть особенно внимательным и осторожным.

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

Не забывайте обновляться. Это избавит вас от массы уязвимостей как самого движка, так и плагинов.

Также имейте в виду, что wpscan нагло «палит» все, что лежит в директориях  вашего сайта. Даже если темы или плагины не активны, они лежат в каталогах сайта и представляют брешь, поэтому просто удаляйте все то, чем вы не пользуетесь.

Не помешает в файле robots.txt запретить индексацию каталогов, которые могут о вас много чего рассказать ненужного. Например:

User-Agent:*

Disallow:/cgi-bin

Disallow: /wp-login.php

Disallow:/wp-admin/

Disallow:/wp-includes/

Disallow:/wp-content/

Disallow:/wp-content/plugins/

Disallow:/wp-content/themes/

Disallow:/?author=*

После этого добавьте уже то, что можно индексировать и все.

WordPress славится тем, что очень легко расширяется плагинами, превращающими его в мощнейшую систему. Поэтому установите плагины, усложняющие взлом. Лично я советую использовать такие плагины как: iThemesSecutity – очень мощный плагин. Однако безопасности много не бывает и прежде чем установить тему, рекомендую использовать Revisium WordPress Theme Checker, а сам сайт промониторить на зловредов с помощью Sucuri Security.

А вот авторизация, господа… Здесь просто поставьте LoginLockDown, ограничивающих количество неудачных попыток авторизоваться, и не пускающих больше по этому ip адресу в течение некоторого промежутка времени.

Как видите, современным взломщикам сейчас достаточно уметь пользоваться автоматизированными инструментами, которых сейчас много. Поэтому не поленитесь просканировать свой сайт на Worpdress на предмет уязвимости wpscan. Поверьте, это спасет вас в дальнейшем от ряда проблем.

Яндекс.Метрика