Как взламывают сайты ?
Взлом сайтов становиться возможным из-за уязвимостей кода сайта, уязвимостей и ошибках в настройках серверного программного обеспечения, а также из-за некорректной публикацией сайта на сервере.
УЯЗВИМОСТИ КОДА САЙТА
Инъекции:
Наиболее грозным и распространенным способом взлома сайта являются инъекции.
Возможность успешной эксплуатации инъекций на сайте в 99% случаев приводит к его взлому.
- RCE — Remote code execution. Удаленное выполнение кода на сервере.
- PHP — инъекции. Выполнение произвольного PHP кода.
- SQL — инъекции. Внедрение произвольного кода в SQL запрос.
- XPath — инъекции. Внедрение произвольного кода в XPath запрос.
Инклуды:
Не менее грозный и распространенный способ взлома сайта — это инклуды.
Возможность успешной эксплуатации любого инклуда на сайте в 100% случаев приведет к его взлому.
- RFI Remote file include. Включение удаленного файла.
- LFI — Local file include. Подключение, выполнение или чтение локальных файлов на сервере.
- PHP include. Включение удаленного PHP файла.
Клиентские атаки. Атаки на администраторов и посетителей сайта
Очень популярный способ взлома сайта — это атаки на клиента, в браузере жертвы.
Один из самых практикуемых способов взлома сайта.
Обусловлен тем, что клиентским атакам (к примеру XSS) подвержены более 75% всех сайтов в мире.
- XSS атака. Сross Site Sсriрting — межсайтовый скриптинг.
- CSRF атака. Сross Site Request Forgery — подделка межсайтовых запросов.
- Фишинг атака. Fishing — Фишинг атака — подделка страниц сайта.
Некорректная публикация сайта на сервере. Ошибки публикации.
Некорректная публикация сайта на сервере является грубейшей ошибкой разработчиков и администраторов ресурса, зачастую приводящая к его взлому.
К таким ошибкам, напрямую влияющих на безопасность сайта являются:
- Открытые директории с системными файлами.
- Открытый доступ и возможность выполнения системных файлов, взаимодействующих с файловой системой или базами данных.
- Системные архивы, бэкапы сайта, находящиеся в открытом доступе.
- Файлы дампа баз данных в открытом доступе.
- Открытый доступ к .svn или .git индексным файлам.
Ошибки администрирования сайта:
Нередко администраторы сайта устанавливают короткие и примитивные пароли к админкам, наподобие 123qwerty.
Такие пароли элементарно подбираются злоумышленниками с помощью специальных программ.
Небрежность администраторов сайта, имеющих доступ к FTP и административной панели, нередко приводит к взлому сайта.
Троянская программа отправленная по почте, якобы забытая кем — то, а на самом деле специально оставленная злоумышленником зараженная вирусами флэшка на столе у админа сайта могут привести к его взлому.
УЯЗВИМОСТИ СЕРВЕРА
Уязвимости программного обеспечения сервера несут огромную опасность для размещенных на них сайтах.
Устаревшие версии редакции серверных операционных систем, а также Nginx, Apachе, PHP, MySQL, FTP и прочего ПО несут в себе угрозу безопасности сайта, так как в большинстве случаев они уязвимы к взлому и атакам.
Кроме этого, существуют специальные программные решения, эксплойты, с помощью которых происходят взломы и атаки на сервер.
Неправильная настройка сервера также может открыть «дыру» или лазейку, через которую злоумышленник сможет осуществить взлом.
В этой статье приведены только самые популярные уязвимости, с помощью которых злоумышленники взламывают сайты.
Способов, техник и методов реализации атак и взлома сайтов огромное множество.
Аудит безопасности сайта
Надежная защита Вашего сайта от взлома и интернет атак.
Как взламывают сайты и как их от этого защитить
Если вы хотите, чтобы ваш сайт не взломали, не создавайте его. Рассказываем, почему взломать можно что угодно, и даём советы по защите.
Евгений Кучерявый
Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Если вы следите за IT-новостями, то регулярно слышите, что обнаруживаются утечки данных клиентов крупных компаний, находятся критические уязвимости в популярных приложениях, а серверы подвергаются атакам.
Безопасность — большая проблема в современном мире. Как жаль, что все эти крупные компании пишут такой плохой код. То ли дело я — мне взлом не страшен. Или страшен?
Почему вообще одни компании взламывают, а у других всё в порядке? Давайте разберёмся, как работают хакеры и как от них защититься.
Алгоритм взлома
Главное — помнить, что не существует систем, которые невозможно взломать. Примите это как аксиому. Вопрос лишь в том, сколько времени уйдёт на то, чтобы вас взломать. Наша задача — сделать так, чтобы хакеры тратили на обход защиты так много времени, чтобы им было попросту невыгодно на вас нападать.
Примерный алгоритм взлома следующий:
- попробовать обойтись без взлома;
- использовать известные способы взлома;
- задействовать грубую силу;
- создать свой инструмент;
- подойти к задаче с другой стороны и начать сначала.
Давайте вместе пройдём путь хакера и посмотрим, как он всё это делает.
ВАЖНО!
Мы никого не взламываем и вам не советуем. Вся информация в статье предоставлена для того, чтобы вы научились защищать свои сайты и приложения.
Цель взлома
Представим, что хакер планирует доступ к аккаунту одного конкретного пользователя на конкретном сайте.
Шаг первый: социальная инженерия
Лучший взлом — тот, которого не было. А чтобы получить доступ без взлома, нужно, чтобы пользователь сам предоставил вам все данные. Для этого используется социальная инженерия. И вот самые известные способы.
Письма от администрации
Нужно написать письмо человеку, представившись сотрудником компании, которой принадлежит сайт. Для этого можно подменить заголовки письма, чтобы пользователь подумал, что оно действительно пришло от официальных представителей.
«Здравствуйте, %юзернейм%! Мы получили информацию, что ваш аккаунт подвергся попытке взлома. Мы успели вовремя ликвидировать угрозу, но нам требуется доступ к вашему личному кабинету для проведения дальнейшего расследования. Для этого вы должны предоставить логин и пароль от своего аккаунта. Надеемся на ваше понимание и сотрудничество. С уважением, Василий Пупкин, руководитель отдела безопасности Название-Сайта.РУ»
Когда получаешь такое письмо, в первую очередь начинаешь переживать, что случилось что-то ужасное. И только когда эмоции улягутся, здравый смысл может затрубить о том, что это, скорее всего, мошенники.
Очарование
Вам вдруг пишет человек, который хочет знать о вас всё: откуда вы, чем увлекаетесь, любите ли животных, какая девичья фамилия вашей матери и так далее. Обычно этот человек выглядит как девушка или парень мечты — разве можно не доверять такой очаровашке?
Вы, конечно, поддерживаете беседу, а потом общение вдруг сходит на нет. А через какое-то время вы замечаете, что не можете зайти на сайт. Произошло вот что: взломщик узнал ответ на секретный вопрос, который необходим, чтобы восстановить доступ к аккаунту.
Фишинг
Вы получаете сообщение от друга или знакомого, в котором он просит зайти на сайт и проголосовать в конкурсе. После перехода по ссылке почему-то нужно заново авторизоваться, но, если это сделать, ничего не происходит. Вы закрываете вкладку, но уже слишком поздно.
На самом деле это подставной сайт: у него может быть такой же дизайн и даже адрес как у настоящего, но это всего лишь муляж, который используется, чтобы вы сами ввели свои данные.
Методы защиты
Чтобы защитить пользователей от взлома методами социальной инженерии, нужно постоянно информировать их о следующих вещах:
- Администрация никогда не запрашивает данные для входа на сайт.
- Никому нельзя сообщать одноразовые пароли или ответы на секретные вопросы.
- Нельзя переходить с вашего сайта на другие и авторизовываться на них. Особенно если ссылку они увидели в комментариях или получили личным сообщением.
Если же в аккаунт пользователя кто-то заходит с другого устройства, отправьте письмо с инструкцией, что нужно делать, если это авторизовался не сам пользователь.
Шаг второй: взлом с помощью известных уязвимостей
Если не удалось выведать пароль у пользователя, то нужно идти дальше и пробовать уязвимости, которым подвержены практически все сайты. Самая известная из них — SQL-инъекция.
SQL устроен так, что за один раз можно отправлять несколько запросов, которые разделяются точкой с запятой.
Например, у вас на сайте есть форма входа, в которую нужно ввести логин и пароль. Чаще всего запрос, который отправляется для проверки пользователей, выглядит так:
"SELECT * FROM users WHERE login = ' " . $login . "' AND password = ' " . $password . " ';"
Зная это, хакер может ввести в поле с паролем какую-нибудь команду-инъекцию. Например, такую:
qwerty'; UPDATE users SET password = '12345' WHERE login = 'user_login
Тогда общий запрос будет выглядеть так:
"SELECT * FROM users WHERE login = ' " . $login . "' AND password = 'qwerty'; UPDATE users SET password = '12345' WHERE login = 'user_login ';"
Здесь уже два запроса: первый пытается найти пользователя с указанными данными, а второй меняет пароль пользователя с логином user_login на 12345. Если инъекция сработает, хакер сможет просто войти, воспользовавшись новым паролем.
Методы защиты
Способов много. Например, можно запретить вводить кавычки, точки с запятой или ключевые слова из SQL. Но самый надёжный способ — передавать данные отдельно от запроса.
Тогда СУБД будет воспринимать инъекцию не как часть запроса, а только как введённый пароль. Подробнее о защите от SQL-инъекций можно почитать здесь.
Шаг третий: грубая сила
Если пока ничего не сработало, хакер может пробовать брутфорс — перебор паролей. Он запустит специальный скрипт, который попытается авторизоваться в вашем аккаунте с помощью случайных паролей.
Обычно сначала в ход идут самые распространённые варианты:
- qwerty;
- 12345;
- 0000;
- password;
- dartvader и прочие.
Методы защиты
Лучшая защита в этом случае — ограничить количество попыток авторизации. О том, как это реализовать, можете почитать в этой статье.
Шаг четвёртый: разработка своих методов взлома
Если ничего из этого не помогло, хакер может попробовать изучить исходный код страниц, чтобы определить, какие уязвимости есть у вашего сайта.
В отдельной группе риска — те, кто пользуется CMS (движки для создания сайтов): взломщик может узнать, на чём работает ваш сайт, установить такой же движок себе и поискать уязвимости изнутри.
Методы защиты
Нужно всегда использовать последние версии движков, в которых уже устранили старые лазейки, а новые ещё никто не нашёл.
Шаг пятый: смена подхода
Если точечный взлом не сработал, то хакер может пойти другим путём. Например, он попытается получить доступ к хостингу, на котором расположен сайт. Для этого он будет использовать все те же шаги, что и раньше, или попробует немного иначе.
Если на сайте есть возможность загрузить аватарку, то взломщик может попытаться передать через неё на сервер какой-нибудь скрипт. Например, файловый менеджер — так он сможет просматривать все файлы, которые есть на сайте. В том числе и те, в которых хранятся данные для подключения к базе данных.
Методы защиты
Стоит добавить на сайт несколько проверок для всех форм загрузки файлов. Например, для изображений можно добавить такие:
$imageFileType = strtolower(pathinfo(basename($file["name"]), PATHINFO_EXTENSION)); $check = getimagesize($file["tmp_name"]); //Пытаемся получить размеры изображения: если пользователь попробует загрузить какой-нибудь скрипт с расширением изображения, то будет возвращено false if($check !== false) < if($imageFileType == "jpg" || $imageFileType == "png" || $imageFileType == "jpeg" || $imageFileType == "gif") //Проверка расширения < //Файл можно загружать > >
Так взломщику не удастся загрузить ничего, кроме настоящих изображений. Но и тут защита не абсолютная, потому что вредоносный скрипт может содержаться внутри изображения.
Либо же он попытается подключиться к FTP и подменить серверные скрипты. А если он узнает логин и пароль для входа в phpmyadmin, то получит доступ ко всей базе данных.
Защититься от утечки можно шифрованием. Например, пароли лучше хешировать с помощью SHA-2, а важные персональные данные — кодировать шифром Виженера или чем посерьёзнее. Главное, чтобы у вас не украли ключи для дешифровки.
Заключение
Кибербезопасность — это невидимая война, в которой взломщики и специалисты по защите придумывают всё новые и новые способы укрепления баррикад и их обхода.
Но если вы не работаете в компании мирового уровня, то вряд ли кто-то захочет тратить своё время на взлом вашего сайта. Особенно если вы защитите его от основных способов взлома.
Читайте также:
- Как начать программировать на PHP
- Эмиль Шарифуллин из «Яндекса»: «Больше всего в работе мне нравится сложность»
- TypeScript: как с ним работать и чем он отличается от JavaScript
Structured Query Language —структурированный язык запросов. Используется для работы с базами данных.
Метод шифрования текстовых данных с помощью ключевого слова.
Общие принципы взлома сайтов
Встречаются еще самодельные CMS, созданные для конкретного сайта, но это сейчас стало редкостью — позволить себе поддержку своей системы могут только самые крупные ресурсы, и оправдать связанные с этим затраты непросто.
В основе большинства современных сайтов — готовые движки.
С точки зрения атакующего, движки сайтов ничем не отличаются от других сервисов и служб. Их исходный код обычно находится в общем доступе, и любой исследователь может проанализировать его на ошибки, в том числе бреши в безопасности. Поэтому сайты на CMS редко становятся жертвами целевой атаки. Чаще их ломают массово.
Такой взлом автоматизирован и обычно протекает по следующей схеме: хакер находит уязвимость (самостоятельно или просто гуглит что-то свежее). Затем он делает эксплоит или берет готовый и пишет специализированный бот. Этот бот ищет указанную дыру на всех сайтах подряд в заданном диапазоне и пытается эксплуатировать ее.
Разведка
Прежде чем пытаться атаковать цель, нужно собрать информацию о ней. Для этого хорошо подходит инструмент WhatWeb. Эта утилита предоставляет подробную информацию о CMS жертвы и использованных ей веб-инструментах.
Советуем запускать WhatWeb с ключом -а , указывая после него значение 3 или 4. Разница между ними только в том, что во втором случае WhatWeb будет сканировать еще и субдиректории. Имей в виду, что оба варианта задают агрессивный метод опросов — со всеми вытекающими, а точнее «втекающими» на сервер логами.
Вот пример запуска и собранных ответов:
https://URL [200 OK] Cookies[PHPSESSID], Country[UNITED KINGDOM][GB], Frame, HTML5, JQuery[1.9.0,2.2.3], Open-Graph-Protocol[website], PHP[7.1.33], PasswordField[password], Script[application/ld+json,text/javascript], Title[Bower Partnerships | Best Equity Release Broker Customer Service 2019], UncommonHeaders[link,x-robots-tag,alt-svc], WordPress, X-Powered-By[PHP/7.1.33], X-UA-Compatible[IE=EDGE]
- Здесь мы видим, что это сайт британской компании, сделанный на WordPress, используется PHP v. 7.1.33 и jQuery 1.9.0, 2.2.3. Неплохо для начала!
- Если у тебя нет VPN или ты просто не хочешь заморачиваться с установкой, обрати внимание на онлайновую версию WhatWeb.
Кстати, при работе с заграничными сайтами она дает большую скорость.
- Если тебе достаточно определить только название CMS, то для этого есть отдельные сервисы, даже русскоязычные.
Вот свежая статистика популярности различных CMS в рунете:
- WordPress — 58,12%;
- Joomla — 17,12%;
- OpenCart — 4,65%;
- Drupal — 3,75%;
- Wix — 3,74%;
- MODX Revolution — 2,81%;
- MODX Evolution — 2,76%;
- Nethouse — 2,23%;
- прочие — 4,78%.
WordPress
Поскольку WordPress — это сейчас самая популярная CMS, то перейдем сразу к ней. Под нее выпущен очень мощный сканер, который умеет творить магию, — WPScan. На момент написания статьи актуальная версия была 3.7.8. Этот сканер умеет определять версию сканируемого объекта, брутить админку (у него даже есть свой встроенный словарь), смотреть уязвимые открытые директории, определять установленные плагины и много всего другого. К тому же он предустановлен в Kali Linux и в других дистрибутивах для пентестеров. Есть даже версия в докер-контейнере.
На наш взгляд, управление и ключи WPScan могли бы и упростить. Даже хелпа у программы два — краткий ( -h ) и подробный ( —hh ).
- Перед первым использованием WPScan необходимо обновить его базу данных:
wpscan --update
- После этого начинаем сканирование. Сам по себе WPScan без ключей выдаст общую информацию о сайте, лишь поверхностно просканировав цель:
После строчки Interesting Finding(s): начинаются те самые моменты, на которые стоит обратить внимание:
- версия WP;
- открытые директории;
- подозрения на уязвимости;
- ссылки на ресурсы, где об этих уязвимостях можно почитать.
В конце вывода красным восклицательным знаком помечены строки, которые идут вразрез с правилами безопасности. В нашем случае это торчащий наружу конфигурационный файл wp-config.php с логином и паролем к базе данных.
Продолжаем копать и все тем же софтом пробуем сбрутить логин и пароль к админке:
wpscan --url http://[IP-address] --passwords pass.txt --usernames user.txt
Брутфорсится очень быстро благодаря многопоточности. Если админ использовал стандартные учетные записи и установил несложные пароли, то результат не заставит себя долго ждать.
Как видишь, учетные данные к админке и базе данных мы достали без особого труда. Для рядового взломщика это было бы больше чем предостаточно, но мы еще не все проверили. На очереди — плагины для WP и другие популярные точки входа.
Сканер показал нам, что на выбранном сайте нет ни одного установленного плагина, однако это может быть ложным выводом, основанным на ограничениях пассивного метода сканирования. Для более надежного обнаружения плагинов нужно задать агрессивный метод их поиска:
wpscan --url http://[IP-address] --enumerate ap --plugins-detection aggressive
Учти, что ключ ap покажет все найденные плагины, а vp — только уязвимые. Данная процедура занимает приличное время. Скорость будет зависеть от удаленности сайта, но даже в лучшем случае на это уйдет не меньше 30 минут.
Как видишь, агрессивный метод дал свои результаты: обнаружен антиспам-плагин Akismet версии 3.1.1.
Точно такими же действиями необходимо искать другие уязвимые дополнения к WP. Подробнее смотри мануал в разделе —enumerate .
Также посмотри идентификаторы известных уязвимостей — CVE. Например, для версии PHP, на которой работает CMS. Затем поищи готовые модули Metasploit для WP и проверь их в деле.
Joomla
Joomla тоже довольно популярная CMS, для которой есть свой сканер — JoomScan. Написали его ребята из Open Web Application Security Project (OWASP). Он еще актуален, хотя и давно не обновлялся. Последняя версия 0.0.7 вышла в сентябре 2018 года.
По своей сути это точно такой же сканер безопасности, как и WPScan, только немного попроще. JoomScan также предустановлен в большинстве хакерских дистрибутивов, а весь его мануал умещается в несколько строк:
Он тоже поддерживает агрессивный метод сканирования установленных компонентов. Команда запуска сканирования в агрессивном режиме выглядит так:
joomscan --url http://84.42.34.2/ --enumerate-components
Вот пример анализа найденной на просторах интернета версии сайта на Joomla:
Как видно по скриншоту, программа выдает версию CMS, CVE найденных уязвимостей и ссылки на эксплоиты, которыми можно воспользоваться для взлома сайта. Также в выводе приводятся все найденные на сайте директории и ссылка на файл конфигурации, если его забыли спрятать.
Брутфорсить админку JoomScan не умеет. Сегодня, чтобы выполнить такой брутфорс, нужен серьезный инструмент, который работает с цепочкой прокси-серверов. Хотя бы потому, что на сайтах с Joomla часто используется плагин brute force stop. Когда количество неудачных попыток авторизации достигает заданного числа, он блокирует IP-адрес атакующего.
Если сайт с Joomla работает на HTTP (что уже редкость), попробуй воспользоваться скриптом Nmap.
Drupal и другие CMS
С Drupal все немного сложнее, как и с другими непопулярными CMS. Годного сканера, который бы находил уязвимости на таких сайтах, просто нет. Из готовых инструментов лишь DroopeScan, но он только помогает быстро собрать базовую информацию о жертве.
Устанавливается DroopeScan через pip (естественно, у тебя должен быть установлен Python):
pip install droopescan
Запускаем сканирование. Так как он поддерживает не только Drupal, ему желательно явно указать, какую CMS мы ожидаем встретить на сайте:
Остальное приходится выискивать руками и гуглить в интернете. В этом очень помогают сайты с поиском по базам уязвимостей, например CVEdetails, и готовые эксплоиты с PoC (их можно найти на GitHub и в даркнете).
К примеру, возьмем уязвимость CVE-2018–7600, которой подвержены версии Drupal7.х и 8.х. Она позволяет загрузить и вызвать shell удаленно. Эксплоит для PoC можно взять тут:
Сканер выдал нам лишь версию CMS, и этого хватило для эксплуатации уязвимости. В целом взлом Drupal и других CMS по своей сути ничем не отличается от поиска дыр в любом другом онлайновом сервисе. Бреши в безопасности либо есть, либо их еще не нашли:
Не надо далеко ходить за боевым эксплоитом, чтобы открыть сессию в Meterpreter и воспользоваться уязвимостью в полной мере.
Удар по самописным сайтам
Со взломом самописных сайтов все намного сложнее. Нет конкретного сканера, который сказал бы: вот тут есть старая версия веб-приложения, в нем известная дыра, вот ссылка на эксплоит и подробное описание его применения. Есть только очень обширный список потенциальных уязвимостей, которые нужно проверить.
Взлом — дело сугубо творческое. В нем нет жестких рамок и перечня обязательных инструментов, особенно если они опенсорсные.
Если выполнить взлом самописного сайта, то лучше начинать с того же WhatWeb. Только теперь мы смотрим не CMS, а все обнаруженные сервисы и их версии.
Есть множество уязвимых версий самих фреймворков. К примеру, зачастую используют устаревшие версии Ruby on Rails или Apache Tomcat. Эксплоиты для них есть в открытом доступе.
Также стоит обратить внимание на версии самих языков программирования. К примеру, в PHP постоянно находят уязвимости, а с момента их обнаружения до апдейта на сайте может пройти не одна неделя.
Следующим шагом желательно воспользоваться сканерами безопасности. Даже если они не дадут готовый вердикт, то подкинут пищу для размышлений. Например, программа dirb поможет пробежаться по открытым директориям и вернет коды ответов.
Для проверки на типовые уязвимости воспользуйся универсальными сканерами: nikto, OWASP ZAP, w3af, skipfish. Также советую иметь в запасе mantra security toolkit.
Для всего остального есть Burp Suite. Обычно с его помощью выполняется более сложный поиск уязвимостей веб-приложений. В качестве примера рассмотрим поиск и эксплуатацию SQL-инъекций.
Ставим Burp Suite (в Kali Linux он уже предустановлен), находим в нем Repeater (повторитель запросов) и запускаем. В запросе GET или POST ищем передаваемое на сервер значение (типа id=12 ) и закидываем его в Repeater:
Добавляем одинарную кавычку, чтобы проверить отсутствие фильтрации специальных символов в передаваемом значении, и видим сообщение с ошибкой syntax error sql . Возникновение ошибки говорит о том, что сайт уязвим к SQL-инъекциям. Для автоматизации развития атаки используем sqlmap:
Ключ -u указывает на URL цели, а —dbs говорит проверить все СУБД.
Этот комбайн для SQL-инъекций сам определит, какой пейлоад подходит, и по твоим командам вытащит все нужные данные из баз на сайте. Он даже предложит сразу определить пароли по хешам, если найдет. Особенно этот софт полезен при эксплуатации так называемых слепых SQL-инъекций.
Зачем и как хакеры взламывают сайты
В этой статье мы разберемся, какие сайты представляют наибольший интерес для злоумышленников. А также ответим на самые основные вопросы: кто, каким образом и с какими целями взламывает сайты.
Для чего взламывают сайты
Причин может быть множество: от кражи данных до желания пошутить, в таких специфичных случаях, как взлом сайта школы или ВУЗа. Однако, можно выделить три наиболее распространенных причины:
- Нарушение бизнес-процессов. Приостановка деятельности компании в ходе временного ограничения работы веб-ресурса или его полное уничтожение. Как правило – элемент недобросовестной конкуренции. Некоторые группировки профильно предлагают услуги по взлому сайтов.
- Кража. Конфиденциальной информации о деятельности компании, данных о клиентах или другой информации.
- Реклама. На сайте размещаются ссылки, баннеры и другие элементы. Чаще всего они ведут на фишинговые или просто вредоносные сайты.
- Вымогательство. Здесь возможны два сценария: требование выкупа за неразглашение украденных в ходе взлома данных, либо шифрование важной для компании информации с помощью специального ПО.
Бывают случаи, когда сайт взламывается в благих намерениях – с целью получить информацию о возможности реализации уязвимости и передать ее специалистам компании. Этим занимаются багхантеры, или, как их принять называть, «белые хакеры». Ввиду того, что этот процесс может двояко трактоваться с позиции законности, багхантеры чаще пользуются платформами bug bounty и не занимаются поиском уязвимых ресурсов по всему интернету.
Способы взлома сайтов
Директор по развитию облачных и инфраструктурных решений МегаФона
Одними из самых распространенных векторов атак на Web-ресурсы является использование слабой аутентификации – пользователей или администраторов сайта, а также уязвимости сайтов и веб приложений. Так, за последние 6 месяцев количество атак на веб ресурсы, в том числе фишинговых, увеличилось кратно, а спрос на решения по защите от таких угроз вырос в 5 раз.
Данные риски можно снизить с помощью повышения осведомленности в области информационной безопасности. Обучающая платформа МегаФона Security Awareness поможет понять, например, как правильно формировать стойкие к взлому пароли и применять другие важные правила кибергигиены. Так же данный риск значительно снизит применение продуктов многофакторной аутентификации.
Наиболее простые способы получить те или иные учетные данные или привилегированные права в рамках ресурса – это брутфорс и фишинг.
Успешность брутфорса напрямую определяется сложностью установленного пароля. В случае с сильным паролем потребуются целые века, а в случае с Qwerty123 и другими популярными в прошлом году комбинациями – считанные минуты.
Фишинговым атакам, в первую очередь с помощью почтовых рассылок, подвергается огромное количество компаний. Частично эту проблему решают спам-фильтры и адекватное распределение привилегированного доступа, но качественно нивелировать эффективность этого метода можно только с помощью внедрения курсов цифровой грамотности, и их проведение с определенной периодичностью.
Говоря про уязвимости в веб-приложениях, стоит отметить методологию OWASP Top Ten, которая описывает наиболее актуальные угрозы для веб-сервисов. Уязвимости разбиты на 10 категорий и отсортированы по популярности, статистика наших проектов по анализу защищенности полностью коррелирует с OWASP Top Ten. Раз в несколько лет категории меняются, какие-то уходят, какие-то становятся более или менее актуальными, например:
1. Broken Access Control – данная категория стала наиболее серьезной угрозой для веб-приложений. Например, доступ к API интерфейсам без аутентификации с возможностью отправки POST, PUT, DELETE запросов.
2. Cryptographic Failures – новое название для категории Sensitive Data Exposure, внимание уделяется ошибкам, которые приводит к раскрытию конфиденциальных данных. Категория выходит на 2-ое место.
3. Insecure Design – новая категория в 2021, в которой основное внимание уделяется рискам, связанными с недостатками проектирования и реализации веб-приложений.
Чаще всего встречаются уязвимости связанные с бизнес логикой приложения, например, возможность накрутки баллов в системе лояльности и т.д.
Если говорить о том, как происходит взлом сайтов с участием профессиональных хакерских группировок, то многие из них профилируются на конкретных инструментах, но вполне могут использовать все «перебором», проверяя защиту на предмет очевидных брешей.
Профессиональные атаки наиболее опасны с той точки зрения, что их сложно обнаружить. Нередко компании узнают о взломе постфактум, после того, как проводившая ее группировка заявит об этом или выложит украденные данные в открытый доступ.
Руководитель службы информационной безопасности iiii Tech
Важно помнить, что основная цель взлома – извлечение прибыли, поэтому говорить об одном «наиболее частом» способе нельзя, при защите нужно учитывать различные направления атаки. Итак, наиболее часто встречающиеся виды взлома сайтов:
1. SQL-инъекции. Чтобы закрыть уязвимости к SQL-инъекциям нужно прописать скрипты, которые проверяют и обрабатывают любой введенный пользователем текст, удаляя текст инъекции.
2. XSS-атака или межсайтовый скриптинг. Есть универсальный способ защиты от SQL-инъекций и XSS-атак — обрабатывать все, что вводится в поля ввода до того, как записать текст из них в базу данных или выполнить.
3. Брутфорс. Если вы хотите защитить себя от брутфорса, создавайте сложные пароли с использованием специальных генераторов.
4. DDoS. DDoS-атака стоит денег и чем мощнее сервер, на который происходит атака, тем она дороже. На средние и небольшие предприятия дорогие и массированные атаки зачастую не производятся, поэтому среднему и малому бизнесу подойдут программы защиты вроде Cloudflare и DDoS-guard. Зачастую длительность DDoS атаки зависит от «бесплатного тестового» периода, который может выделяться для пробы заинтересованным злоумышленникам, обычно это время не превышает 10-15 минут.
5. Межсайтовая подделка запроса.Со стороны владельца сайта: нужно генерировать секретные ключи для каждой сессии, без которых нельзя выполнить запрос. Со стороны пользователя: разлогиниваться после посещения сайтов, даже на домашних ПК.
Конечно же нужно помнить о том, что кибербезопасность – это не разовое упражнение оценки, покупки средства защиты и его настройки, а постоянный, циклический процесс.
В условиях, когда количество кибератак непрерывно растет год от года, инструменты защиты становятся актуальными для все большего числа компаний. Даже если прямо сейчас цель «защититься» не стоит в приоритете, то имеет смысл провести аудит защищенности и составить комплексное представление об актуальном уровне безопасности цифровых ресурсов компании.
Как защититься от взлома
Несмотря на уход иностранных вендоров, на российском рынке достаточно разных классов решений для реализации защиты любой инфраструктуры. В то же время, лучший способ обеспечить высокий уровень – это проведение безопасной разработки.
Руководитель платформы кибербезопасности TheWall
Защита от взлома – это отдельная большая тема на целую книгу, но если кратко, то разработчикам следует придерживаться процесса безопасной разработки кода (SSDLC/Secure Software Development Lifecycle), регулярно проводить анализ защищенности систем и тесты на проникновение (pentest).
Как показывает наш опыт, лучшей практикой защиты является размещение веб-ресурса за WAF. Это межсетевой экран, который используется для защиты веб-приложений от эксплуатации веб-уязвимостей. WAF обнаруживает угрозы и защищает веб-приложение.
Превентивное насыщение сетевой инфраструктуры защитными инструментами особенно актуально в условиях роста количества кибератак. Если до этого года он рос постепенно, как реакция на увеличение присутствия компаний в интернет-пространстве, то в 2022 вырос кратно.
Увеличилось не только количество, но и продолжительность атак. Массовое распространение получил хактивизм, когда ресурсы из того или иного сегмента экономики атакуются по политическим мотивам, даже если компании не аффилированы с государством.
Руководитель группы SOC практики информационной безопасности Лиги Цифровой Экономики
Чтобы принять решение относительно того, нужно ли начинать интегрировать инструменты кибербезопасности, необходимо начать с комплексного аудита ИБ и ИТ. Под комплексным аудитом в данном случае понимается проверка соответствия принятых мер по обеспечению информационной безопасности целевому уровню защищенности, а также проверка специфических настроек инфраструктуры на соответствие политикам ИБ.
Среди маркеров можно выделить в первую очередь соответствие требованиям нормативно-правовой базы. Надо проверить наличие в организации всех необходимых документов и регламентов.
Следующим маркером будет проверка паспортов сервисов, карт сети, сведений об инвентаризации защищаемых активов. Отсутствие этих документированных сведений говорит как минимум о необходимости сбора информации о защищаемых активах.
Аудит безопасности позволяет составить модель актуальных для компании киберугроз на основе текущего состояния сетевой инфраструктуры организации. Фактически, это переход от ситуативной, реакционной защиты к планомерной работе в области информационной безопасности.
Защита сайта и другой инфраструктуры компании – это не только репутационная необходимость, но и способ обезопасить организацию от множества альтернативных издержек, связанных с утечками данных и приостановкой бизнес-процессов в ходе атаки. Особенно это актуально с учетом последних требований регуляторов: уже в ближайшем будущем российские компании могут подвергаться оборотным штрафам за утечки персональных данных.