Здравствуйте еще раз! В первой части этой статьи мы охватили несколько различных способов проникновения в маршрутизатор. В этой части мы сфокусируем внимание на том, что можно сделать после получения доступа к маршрутизатору.
Здравствуйте еще раз! В первой части этой статьи мы охватили несколько различных способов проникновения в маршрутизатор. В этой части мы сфокусируем внимание на том, что можно сделать после получения доступа к маршрутизатору.
Как описывалось ранее, с помощью файла конфигурации пен-тестер может получить массу полезной информации, такой как установление новых целей для атак, идентификация уязвимых систем и сетей, возможность определения используемых паролей, и многое другое.
Теперь, когда у нас есть конфигурация маршрутизатора, мы можем проанализировать её для определения уязвимых мест и другой полезной информации. Ниже представлен вид типичной конфигурации маршрутизатора:
! version 12.0 service timestamps debug uptime service timestamps log uptime service password-encryption ! hostname router2 ! logging buffered errors enable secret 5 $1$sz0o$PYahL33gyTuHm9a8/UfmC1 ! username xyzadmin password 7 05331F35754843001754 ip subnet-zero no ip routing ! ! ! interface Ethernet0 description Internal Corporate Link ip address 10.0.1.199 255.255.255.0 no ip directed-broadcast no ip route-cache no ip mroute-cache ! interface Ethernet1 description Link to DMZ ip address 172.16.1.1 255.255.255.0 no ip directed-broadcast no ip route-cache no ip mroute-cache ! interface Serial0 description Link from PSInet bandwidth 1536 no ip address no ip directed-broadcast no fair-queue ! interface Serial1 no ip address no ip directed-broadcast no ip route-cache no ip mroute-cache shutdown ! ip default-gateway 10.0.1.1 ip http server ip classless ! logging history critical logging trap warnings logging 10.0.1.103 access-list 100 permit tcp host 192.168.2.99 host 10.0.1.199 eq telnet access-list 100 permit tcp host 192.168.2.99 host 10.0.1.199 eq finger access-list 100 permit ip 0.0.0.0 255.255.255.248 host 10.0.1.199 access-list 100 permit ip host 10.0.1.103 any access-list 100 deny ip any any snmp-server community public RO snmp-server community private RW snmp-server location XYZ Widgets Inc. Server Room (417) snmp-server contact Network Admins snmp-server host 10.0.1.112 h3rn3c4 banner motd ^C THIS IS A PRIVATE COMPUTER SYSTEM. This computer system including all related equipment, network devices (specifically including Internet access), are provided only for authorized use. All computer systems may be monitored for all lawful purposes, including to ensure that their use is authorized, for management of the system, to facilitate protection against unauthorized access, and to verify security procedures, survivability and operational security. Monitoring includes active attacks by authorized personnel and their entities to test or verify the security of the system. During monitoring, information may be examined, recorded, copied and used for authorized purposes. All information including personal information, placed on or sent over this system may be monitored. Uses of this system, authorized or unauthorized, constitutes consent to monitoring of this system. Unauthorized use may subject you to criminal prosecution. Evidence of any such unauthorized use collected during monitoring may be used for administrative, criminal or other adverse action. Use of this system constitutes consent to monitoring for these purposes. ^C ! line con 0 password 7 01030717481C091D25 transport input none line aux 0 line vty 0 4 password 7 095C4F1A0A1218000F login ! end
Первое, что мы сделаем, это попытаемся взломать пароль доступа. Нам он представлен в виде MD5 хеша, который считается не взламываемым. Но мы не собираемся декодировать пароль, т.к. это просто невозможно. Вместо этого мы выполним "словарную атаку". Также как программа "John the Ripper" анализирует файл /etc/shadow, так и с помощью очень популярного средства "Cain and Abel" возможно проводить как "перебор в лоб" так и "словарную атаку".
Ниже представлен скриншот, показывающий эту программу во время проведения "словарной атаки" на хешированный пароль.
Рисунок 1. «Cain and Able»
Как видно из представленного выше скриншота, программой "Cain and Abel" был успешно подобран пароль. Теперь, когда у нас есть такое количество информации, мы можем попытаться зарегистрироваться в системе. Если ACLs запретит нам зарегистрироваться напрямую, то мы можем добавить правило, которое позволит зарегистрироваться в системе или вообще можем отключить ACL.
Прежде чем что-либо изменять в маршрутизаторе, нам необходимо просмотреть его полную конфигурацию. Слишком часто я нахожу быстро перемещенные мной пути и мне приходиться прекращать вредить. Единственное, на что мне сейчас необходимо обратить внимание - это представленные ниже строки:
logging buffered errors logging history critical logging trap warnings logging 10.0.1.103
Этот маршрутизатор регистрируется на уровне 4 в syslog сервере 10.0.1.103. Можно, конечно, полностью отключить регистрацию, но это может вызвать слишком сильные подозрения. Также можно увеличить уровень регистрации до уровня регистрации критических ситуаций. В таком случае при модификации маршрутизатора, на syslog сервер ничего не отсылается.
В этот момент любые изменения, вносимые в маршрутизатор, будут сохраняться через http сервер.
Теперь мы запускаем web-браузер и начинаем использовать в своих интересах упомянутую HTTP уязвимость.
РИС 2. Изменяем уровень регистрации на маршрутизаторе
Хотя мы действительно изменили уровень регистрации так, чтобы большинство событий не регистрировалось, но нет никаких гарантий, что сетевые администраторы не используют других методов для контроля над маршрутизатором.
В таком случае мы будем использовать тот же самый метод увеличения ACL полномочий для доступа к маршрутизатору.
РИС. 3 Добавляем ACL, открывающий нам доступ к маршрктизатору
Теперь, когда мы добавили ACL полномочия, позволяющие нам получить полный доступ к маршрутизатору, мы можем взломать менее защищенный Vigenere пароль, защищающий доступ к VTY портам и telnet протоколу. Получив доступ к telnet, мы можем использовать этот пароль для полного управления маршрутизатором.
В файле конфигурации маршрутизатора, существует еще несколько пунктов, о которых следуют упомянуть. ACL показывает проверенный хост. У этого хоста (192.168.2.99) есть права для регистрации на маршрутизаторе, а также для просмотра списка зарегистрированных пользователей на маршрутизаторе. Также у нас есть определенные пользователем строки идентификаторов, которые вероятно будут использоваться на других системах. Обычно, для последующего использования, я размещаю все найденные пароли, наряду со связанными с данной компанией словами, в словарный файл. Дополнительно, мы знаем определенное имя пользователя "xyzadmin".
Вся описанная информация может использоваться для помощи в испытании на проникновение. Обычной практикой в большинстве сетей, является использование основанной на классах схемы паролей. Это означает что каждый различный класс систем, будь-то Unix серверы, NT серверы, маршрутизаторы, коммутаторы и т.п имеют общий пароль. Хотите верьте, хотите нет, но в некоторых сетях используются одинаковые административные пароли для всего! Если это так, то у нас появляется возможность использовать полученный доступ к маршрутизатору для проникновения в другие системы.
Чтобы проверить так это или нет, можно попытаться зайти на syslog сервер. Наиболее вероятно, что это UNIX сервер, поэтому не будет возможна root регистрация, если только они действительно не принимают всерьез свою безопасность. Мы используем найденное имя пользователя "xyadmin" и взломаем с помощью утилиты GetPass, связанный с этим именем пароль. Если эта попытка входа в систему была успешной, то мы как минимум получим категорию доступа к внутренней сети компании XYZ на уровне пользователя. Все это было возможно из-за уязвимости в Cisco HTTP сервере. Другими целями могут быть TFTP сервера, перечисленные в фале конфигурации.
Другой способ обнаружения маршрутизаторов и коммутаторов заключается в использовании CDP (Cisco dicovery protocol). CDP чрезвычайно полезен в "просмотре" сети для обнаружения других Cisco устройств. Это полезно для всех людей, получающих доступ к вашим Cisco устройствам, включая также и злоумышленников. Данная служба не является необходимой, и она не предоставляет информации, которой нет в правильно администрированной сети. Как только устройство проанализировано, взломщик может пытаться использовать полученные пароли на новых устройствах.
Как только пен-тестер зарегистрировался в маршрутизаторе, он, вероятно, захочет узнать к каким еще системам он может получить доступ. Пока он пытается взломать более мощные системы, возможно использование из маршрутизатора служб telnet и traceroute для исследования внутренней сети. В описанной выше конфигурации маршрутизатора, интерфейсы имеют хорошо описанные метки такие как:
description Internal Corporate Link ip address 10.0.1.199 255.255.255.0 no ip directed-broadcast no ip route-cache no ip mroute-cache ! interface Ethernet1 description Link to DMZ ip address 172.16.1.1 255.255.255.0 no ip directed-broadcast no ip route-cache no ip mroute-cache ! interface Serial0 description Link from PSInet bandwidth 1536 no ip address no ip directed-broadcast no fair-queue !
Вы хотите отключить доступ компании в Интернет? Пожалуйста. Необходимо только отключить последовательный порт (serial link) у провайдера. Конечно, маловероятно, что пен-тестер хотел бы это сделать, но я привожу этот пример, чтобы привлечь ваше внимание к важности маршрутизатора. Так как маршрутизатор обеспечивает сетевой трафик, то ему более чем необходимо доверять. Также может оказаться не очень надежным использование в маршрутизаторе протокола telnet (не забывайте пример с общими паролями).
Списки контроля доступа (ACL), присутствующие в описанной конфигурации не являются большими, но анализ более сложных ACL может раскрыть нам очень многое. Вы могли бы хорошо изучить исходный порт, чтобы использовать сканирование портов (если Вы не хотите изменять ACL). Также вы могли бы изучить доверяемые сети и хосты.
Вы можете задаваться вопросом о снифинге трафика маршрутизатора, так как через это устройство действительно пропускается каждый сетевой пакет. Хотя я и не буду обсуждать это в статье, но сниффинг возможен. Возможно установление GRE туннеля с другим маршрутизатором или системой, понимающей GRE. Политика маршрутизации может быть установлена таким образом, чтобы передавать определенный или весь трафик через GRE туннель. В другом конце GRE туннеля, на системах, способных выполнять снифферы, может быть установлен etheral или dsniff. Установка сниффинга очень сложна, и условия и загрузка на маршрутизаторе должны быть правильными. Это очень просто можно использовать для перезагрузки Интернет канала и потенциального отключения сети. Из-за всего этого я сомневаюсь, что даже самые профессиональные пен-тестеры рисковали бы при проведение этого вида атаки, если бы им не давали бы явного разрешения. Для получения дополнительной информации об этом виде нападений, прочитайте превосходную статью, написанную Дэвидом Тэйлором
Выводы
Я надеюсь, с помощью этих статей я несколько просветил Вас, и вы теперь более осведомлены в том, что вы можете делать как пен-тестер.