Перво наперво стоит провести анализ транзитного сетевого трафика с помощью любого сетевого анализатора в "неразборчивом" режиме работы сетевой карты (promiscuous mode). В качестве сетевого анализатора для подобных целей замечательно подходит WireShark или CommView. Чтобы выполнить этот этап, хватит и пары часов работы сетевого анализатора. По прошествии этого времени накопится достаточно данных для проведения анализа перехваченного трафика. И в первую очередь при его анализе следует обратить внимание на следующие протоколы:
- протоколы коммутации (STP, PVST+, CDP, DTP, VTP, и им подобные)
- протоколы маршрутизации (RIP, BGP, EIGRP, OSPF, IS-IS и другие)
- протоколы динамической конфигурации узла (DHCP, BOOTP)
- открытые протоколы (telnet, rlogin и подобные)
Что касается открытых протоколов, – вероятность того, что они попадутся во время сбора пакетов проходящего мимо трафика в коммутируемой сети, достаточно мала. Однако, если такого трафика много, то в обследуемой сети явно наблюдаются проблемы в настройках сетевого оборудования.
Во всех остальных случаях присутствует возможность проведения красивых сценариев:
- классическая MITM (Man in the middle) в случае, когда используется DHCP, RIP
- получение роли корневого узла STP (Root Bridge), что позволяет перехватывать трафик соседних сегментов
- перевод порта в магистральный режим с помощью DTP (enable trunking), позволяет перехватывать весь трафик своего сегмента сети
Для реализации этих сценариев взаимодействия с сетевыми протоколами коммутации доступен замечательный инструмент Yersinia.
Предположим, что в процессе анализа трафика были выявлены пролетающие мимо DTP-пакеты (смотри скриншот). Тогда отправка пакета DTP ACCESS/DESIRABLE может позволить перевести порт коммутатора в магистральный режим. Дальнейшее развитие этого сценария позволяет прослушивать весь свой сегмент этой сети.
Предположим, что в процессе анализа трафика были выявлены пролетающие мимо DTP-пакеты (смотри скриншот). Тогда отправка пакета DTP ACCESS/DESIRABLE может позволить перевести порт коммутатора в магистральный режим. Дальнейшее развитие этого сценария позволяет прослушивать весь свой сегмент этой сети.
После тестирования канального уровня стоит переключить внимание на третий уровень модели OSI. Дошла очередь и до проведения сценария взаимодействия через ARP-poisoning. Тут все просто, выбираем инструмент Ettercap NG. Все дело в том, что в случае успешной реализации сценария ARP-poisoning в отношении всего своего сегмента сети может наступить ситуация, когда MiTM компьютер по середине не справится с потоком поступающих данных и, в конечном счете, это может стать причиной отказа в обслуживании целого сегмента сети, что обязательно заметят. Поэтому наиболее правильным будет выбрать единичные цели, например, рабочие места администраторов и/или разработчиков, какие-либо определенные серверы (возможно контроллер домена, СУБД, терминальный сервер, bgp-маршрутизатор и другие важные элементы сети).
Успешно проведенная ARP-poisoning позволяет получить в открытом виде пароли к различным информационным ресурсам – СУБД, каталогу домена (при понижении проверки подлинности NTLM), SNMP-community string, bgp пакеты UPDATE, пароли для сетевого оборудования с уровнем доступа level 15 и другие приятные вещи. В менее удачном случае могут быть получены хеш-значения от паролей к различным системам, которые нужно будет постараться восстановить по радужным таблицам (rainbow tables), по словарю или методом "в лоб". Перехваченные пароли могут использоваться где-то еще на других сайтах в сети интернет, но впоследствии это также необходимо подтвердить или опровергнуть.
Кроме того, стоит проанализировать весь перехваченный трафик на присутствие CAV2/CVC2/CVV2/CID/PIN, передаваемых в открытом виде. Для этого можно пропустить сохраненный cap-файл через NetResident и/или 0x4553-Intercepter. Второй, кстати, замечательно подходит для анализа накопленного трафика в целом.
Встраивание в уже созданную BGP сессию и реализация bgp hijacking
Сразу стоит обозначить результат — поменять маршруты движения трафика, но не управлять каким-то bgp-роутером через консоль, то есть не проникая в его систему управления от слов совсем и никак, просто модифицировать данные его таблиц маршрутизации. Для этого используется обычная реализация IP Spoofing + TCP hijacking = BGP Spoofing сценария для того, чтобы перенаправить все общение между двумя роутерами через свой хост, то есть осуществление полного перехвата и фильтрации BGP-сесий этих роутеров. Об инструментах, которые позволяют сделать это внутри транзитной сети поговорим немного позже.
Реализация BGP spoofing сценария через консоль роутера
После того, как был получен доступ к bgp-роутеру, крнечный результат реализации сценария bgp-hijacking будет зависеть от настроек его bgp-соседей. Есть вероятность, что этому bgp-роутеру доверяют все его bgp-соседи, а им — их bgp-соседи и так далее, так можно незаметно поменять пути маршрутизации и сделать bgp-обход целых сетевых сегментов, манипулируя при этом огромными объемами сетевого трафика в Интернет.
А возможно, что через этот bgp-роутер можно будет изменить пути только в сети, в которой он сам и находиться или в автономной системе этого bgp-роутера, но и это на самом деле не такой уж и плохой результат, даже если сеть или Автономная Система небольшие.
Для начала надо определить, из каких AS у нас наиболее вероятен перехват трафика, а это, как правило, соседние AS относительно той, в которой находиться BGP-роутер. Принадлежность определенного IP к AS и соседи определенной AS могут быть получены различными сервисами, например, тот же ipinfo.io либо простым выполнением команды show ip bgp neighbors на роутере.
Еще есть интересные сервисы, такие как asnmap.com или bgplay от RIPE. Интерфейс BGP роутера — консоль с ограниченными, определенными командами для управления и конфигурирования текущего BGP демона или устройтсва и некоторых прилагающихся сетевых сервисов. То есть попав на этот интерфейс можно в реальном времени без каких-либо перезапусков и перезагрузок менять конфигурацию bgp-демона или устройства, хотя если попасть в файловую систему роутера, то можно и поменять конфигурацию с его перезапуском.
Так всё таки, какой сценарий выбрать для понимания bgp в крипте?
Эксплуатация уязвимостей протокола BGP в контексте криптовалют и блокчейнов - это довольно специфическая область, которая требует углубленного изучения. Давайте разберемся, какие сценарии могут быть наиболее востребованы в контексте процессинга крипты. В сети блокчейнов первого уровня маршрутизация между нодами использует протокол BGP для установления соединений между ними через Интернет, например, Bitcoin или Ethereum. Новые блоки, содержащие транзакции, также распространяются по сети Интернет при помощи BGP, и оно играет важную роль в синхронизации состояния всего блокчейна. BGP помогает поддерживать согласованность состояния блокчейна между всеми нодами.
Децентрализованные биржи (DEX) также осуществляют обмен ордерами при помощи BGP и стабиьность его работы влияет на эффективность маршрутизации ордеров между различными DEX. Обеспечение ликвидности: BGP может помочь в распределении ликвидности по различным пулам.
Так какой же сценарий выбрать?
Выбор конкретного сценария зависит от ваших целей. Если вы новичок и только начинаете изучать BGP в контексте криптовалют, то лучше начать с простых сценариев, таких как маршрутизация в сети Bitcoin и управление bgp-роутером через консоль. Но для этого Вам предстоит сначала найти этот роутер и получить к нему доступ ранее озвученными методами, включая пример на видео.
Если вы уже разрабатываете блокчейн-приложения, то вам будет полезно изучить, как BGP используется для масштабирования и создания децентрализованных сетей. Тажке если вы занимаетесь администрированием блокчейн-инфраструктуры, то вам необходимо понимать, как BGP используется для обеспечения надежности и доступности сети. BGP - это сложный протокол, и его полное понимание требует времени и усилий. Начните с простых концепций и постепенно углубляйтесь в более сложные темы. Для воздейтвия на таблицу маршрутизации bgp-роутера без доступа в его консоль вам понадобится специализированное программное обеспечение, например ciag-bgp-tools-1.00.tar.gz или Insinuator (ex loki).
Хотите более конкретные рекомендации? Расскажите о ваших текущих знаниях и целях, и я смогу подобрать для вас наиболее подходящий сценарий. Какие из этих сценариев вы хотели бы изучить подробнее?
No comments:
Post a Comment