11.01.2013

Исследование безопасности сети при помощи смартфона. Часть 1

image

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

Автор: Кен Вестин (Ken Westin)

Традиционно считается, что тестирование безопасности системы выполняется лишь извне, когда симулируется атака на удаленное проникновение в сеть. В большинстве случаев компании прилагают усилия для защиты от удаленного проникновения, используя фаервол и другие способы усиления безопасности. Однако, учитывая большое распространение смартфонов и Wi-Fiсетей, существуют способы проникновения в сеть внутри офисного помещения.

Мобильные телефоны обладают множеством функций: поддержкой Wi-Fi, видеокамеру, жесткий диск, постоянное подключение к сетям стандарта 3G и 4G и большим числом приложений. При этом если в телефоне имеется root-доступ, его аппаратные и сетевые возможности не только сравнимы с настольным компьютером, но даже превосходят его по некоторым параметрам. Все это позволяет использовать смартфоны для тестирования на проникновение в сеть также как и компьютеры, и даже эффективнее, поскольку мобильное устройство можно легко спрятать в кармане или внутри офисного помещения.

Предупреждение: информация в этой статье предоставлена только в ознакомительных целях. Представленные инструменты следует использовать лишь для исследования и тестирования своих собственных сетей и/или с согласия администратора. Некоторые из программ могут нарушить работу, как телефона, так и сети. НЕ ИСПОЛЬЗУЙТЕ ЭТИ МЕТОДЫ НА РАБОЧИХ СЕТЯХ ИЛИ ТАМ, ГДЕ ВАМ ЭТО ДЕЛАТЬ НЕ РАЗРЕШЕНО.

Настройка телефона

В своих экспериментах я использую телефон на операционной системе Android, а если точнее, Samsung Galaxy S с правами привилегированного пользователя. Я настоятельно рекомендую получить root-доступ, установив новую прошивку, например, Cyanogen (я использовал Cyanogen 7). Многие упомянуты в статье приложения, требуют права привилегированного пользователя. Также желательно проводить эксперименты не на вашем рабочем телефоне, а на каком-либо другом, поскольку телефон с root-доступом менее защищен от проникновения вредоносных программ.

На телефон можно установить большинство Linux-дистрибутивов на Android-телефонах, включая Backtrack 5, с использованием GitBrew. Однако использование линукса в Android-телефоне несколько запутано, и, возможно, вам будет удобнее использовать нетбук. Хотя в этой статье я буду использовать некоторые специальные приложения для ОС Android, которые предоставляют определенные аппаратные преимущества для смартфонов. Если у вас есть успешный опыт использования других платформ, поделитесь об этом в комментариях.

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

Первое приложение, использованное мной при тестах – обозреватель сети. На Android Marketplace существует немало таких программ. Одна из них - Network Discovery, которая бесплатна и не требует прав привилегированного пользователя. Разработчики этого приложения создали удобный дизайн, который позволяет окинуть одним взглядом объекты сети, что не так просто сделать, учитывая ограниченную площадь экрана мобильного телефона. Программа определяет операционную систему, тип и производителя сетевого устройства. Network Discovery совместимо с Wi-Fi сетями, позволяя подключаться как к открытыми сетям, так и к сетям доступным по паролю.

Помимо подключения к сети, необходимо уметь искать доступные сети, открытые порты устройств, уязвимости и так далее, и тому подобное. Это отнимает много времени и требует наличия большого количества инструментов. Тут нам помогут две утилиты. Одна из них - Anti, созданная израильской компанией Zimperium. Вторая – dSploit, проект с открытым исходным кодом. Последний продукт был изучен не полностью, так как в процессе тестирования возникали ошибки, но как только у меня будет рабочая версия dSploit, я напишу дополнительную статью.

Утилиты Anti и dSploit позволяют автоматизировать задачи по поиску уязвимостей. При запуске они ищут открытые сети, сканируют устройства в сети и пытаются протестировать каждое устройство на наличие уязвимостей. Если обнаружена брешь, Anti пытается получить доступ к этому устройству, запуская эксплоиты из базы Metasploit и ExploitDB, после чего вы может производить удаленное администрирование, например, снимать скриншот с экрана или извлекать диск из устройства (чтобы удостовериться, что у вас имеются права администратора в системе).

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

Функция «Cracker» подбирает пароли ко всем открытым портам, и время ее работы зависит от количества портов и объема загружаемого словаря. При тестировании сети мне удалось обнаружить несколько уязвимостей. В основном это были общедоступные каталоги, а также роутер, у которого в настройках был стандартный пароль.

Встроенный монитор позволяет получить список Wi-Fi сетей, узнать мощность сигнала и доступность сети. Сканер сети довольно быстр, и мне удалось исследовать весьма большую сеть примерно за 30 секунд. При запуске сканирования программа спросит, нужно ли проводить дополнительное детальное исследование устройств на уязвимости.

Утилиты Anti и dSploit прекрасные средства для поиска уязвимостей при помощи мобильных устройств. Само тестирование запускается в один клик, позволяя находить незащищенные Wi-Fi сети и получать более детальную информацию в автоматическом режиме. Фактически вы можете запустить поиск и убрать телефон в карман, что делает мобильные устройства мощным инструментом для проверки безопасности сети.