Аудит безопасности. Уязвимости
Я обещал вам рассказать про уязвимости, что это и с чем их едят.
Начну, пожалуй, с самого главного: уязвимость = человеческий фактор.
Что такое уязвимость вообще?
В прицнипе, в нашем контексте, значение не отличается от обычного значения этого слова.
Уязвимость = дырка = получение несанкционированного доступа.
В прошлой части мы изучали сервисы, работающие на сервере. Обычно, следующей частью аудита является поиск уязвимостей под текущие версии сервисов
Вообще, если говорить понятными словами, то уязвимость - это часть кода/обьекта правил и тд, в которой присутствуют ошибки.
Они не всегда присутствуют в самом коде приложения/сервиса/обьекта.
Неправильное разграничение прав это тоже уязвимость.
Когда обычный пользователь может выполнять действия, предназначенные для администраторов, либо может смотреть каталоги веб-сервера, не предназначенные для него (.htaccess/index.php и тд)
Как пример нахождения и эксплуатирования уязвимости, я бы хотел привести свой опыт. Приступим.
На дворе 201* какой-то год. Я обучаюсь в IT колледже (из IT там только название). Пары скучные, делать нечего, ничего нового не рассказывают. В процессе чтения новостей, мне попадается статья об интересной, свежей уязвимости EternalBlue. Если вкратце обьяснять что это такое, то EternalBlue - уязвимость прокотола SMB, использование которой заключается в отправке специально сформированного пакета, для получения удаленного доступа.
Почитав об этом подробнее, мне захотелось сразу ощутить себя участником KillNet'а. Использовать shodan/censys для поиска целей мне было неинтересно, ведь я уже являлся частью локальной сети своего колледжа.
Еще немного информации, уязвимость была исключительно в ОС windows XP-Server 2016.
У нас, как раз, все здание было напичкано ПК с виндой. Далее мои действия были таковыми:
- Сканирование локальной сети на наличие уязвимых машин, использовал утилиту nmap с параметром 192.168.1.1/24 (сканирование всей локальной сети по маске) -о (определение ОС) -p 445 (проверка наличия уязвимого сервиса)
- Формирование списка IP-адресов, уязвимых перед EternalBlue
Я использовал виртуальную машину с Kali Linux, прокинул мост, чтобы она была в локальной сети. С помощью msfconsole (metasploit framework) начал эксплуатировать уязвимость.
Из всего списка IP-адресов, сработало только на одном ПК, и этот ПК оказался нашего директора =)
Немного порыскал информацию на рабочем столе и подключенном сетевом диске. Нашел вопросы-ответы на различные работы и еще очень много полезной информации.
После всего, я рассказал об этом директору, затем нашему IT отделу и защитил диплом по этой ситуации =)
Как итог, могу сказать, что уязвимости были, есть и будут. Людям свойственно ошибаться и невозможно продумать абсолютно всю.
Следите за новостями и экспериментируйте. Удачи