Netz 🚀

Netz позволяет вам легко проводить исследование неверных конфигураций в Интернете, используя все необходимое для непрерывного исследования. Он содержит инфраструктуру как код как часть, поэтому вы можете поместить свой план в файл конфигурации, запустить интерфейс командной строки и дождаться результатов. Он также содержит некоторые более продвинутые функции, такие как быстрое сканирование BLAZING с помощью модуля ядра PF_RING ZC (Zero Copy).

Кратко о том, что дает Netz:

  • Массовое сканирование внутреннего и общедоступного Интернета
  • Легко расширяет ваш набор инструментов для тестирования на проникновение с помощью одного инструмента CLI
  • Простая установка в модуль ядра PF_RING ZC (Zero Copy)
  • Инструмент как для красной, так и для синей команды

Это полностью открытый исходный код!

Вы можете найти проект здесь Netz, и мы приглашаем вас принять участие в нем и сделать его еще лучше! 💃

WIIFM ($ ›Зачем мне это?)

В этом посте вы найдете макро и микро проблемы неправильной конфигурации Интернета, и вы узнаете, как Netz помог нам понять проблемный ландшафт в качестве одного из наших инструментов исследования @ SpectralOps.
Теперь, когда Netz является открытым исходным кодом - вы также можете проводить такие исследования!
Вскоре мы опубликуем больше данных о наших исследованиях, и мы выпустим больше инструментов из нашего арсенала исследований в области кибербезопасности.

Распространенные способы сканирования Сканирование Сканирование

Самый быстрый способ обнаружить сетевой актив, публично доступный в Интернете, - это использовать одну из служб поисковых систем, например Shodan, Censys или Zoomeye, и использовать язык запросов для просмотра широко распространенных интернет-компонентов. Если вы хотите сделать это вручную, а не использовать онлайн-сервис, или если вы хотите выполнить сканирование внутренних сетей, есть несколько способов сделать это. Существуют различные типы сканирования между небольшой сетью и большой сетью, где большая сеть может масштабироваться до всего Интернета.

Для сканирования в малых масштабах можно использовать популярную команду nmap (которая доступна в самом продвинутом дистрибутиве ОС для тестирования на проникновение - kali). Для более крупных сетей наиболее популярны ZMap и masscan.

Итак, как я собираюсь это сделать?

Итак, вы выполняете исследовательскую миссию и хотите просканировать весь Интернет (или его часть) - как вы собираетесь использовать эти инструменты? Отличный вопрос!

Если вы попытаетесь просканировать весь Интернет с помощью ZMap или masscan со своего компьютера, и вам интересны результаты, и вы не можете оставить компьютер, вам следует готовить еду в течение длительного времени, потому что она собирается займет несколько недель (рискуя пропускной способностью Netflix для других членов семьи в вашем доме). Это почему? потому что эти инструменты агрессивны по своей конструкции и позволяют сканировать весь Интернет за минимальное время. Вы можете контролировать пропускную способность, которую используют эти инструменты, и уменьшить ее, чтобы она была менее агрессивной, но тогда вам понадобится еще больше еды ...

Ускорьте время ожидания

Чтобы сократить время ожидания, вы можете использовать машину общедоступного облака, но даже в этом случае NIC (контроллер сетевого интерфейса) на базовой машине ограничен для PPS (пакетов в секунду).

Так что ты можешь сделать? Вы можете использовать более мощный компьютер с более сильным сетевым адаптером и большим количеством PPS, и тогда он будет намного быстрее. Насколько быстрее? это зависит от типа машины и типа сетевой карты - лучше будет меньше времени, но даже это может занять от нескольких часов до нескольких дней. Проблема в том, что если вы хотите провести множество тестов за минимальное время, даже самая сильная машина с лучшим типом сетевого адаптера будет ограничена, и что теперь? Мы можем использовать 2 разных подхода для разделения рабочей нагрузки:

  • Распространите сканирование на несколько машин, каждая машина сканирует выделенную подсеть CIDR, поэтому, например, мы можем разделить 0.0.0.0/0 на 4 подсети, чтобы каждая машина сканировала свою собственную подсеть, а затем объединяла результаты.
  • Используйте одну мощную машину с несколькими сетевыми адаптерами и позвольте машине использовать всю подсеть.

Просто сетевое или прикладное сканирование?

До сих пор мы говорили о сканировании сети, но, как я уже упоминал ранее, если вы хотите сделать больше, чем просто знать, что такое открытые порты и метаданные, и вы хотите выполнять прикладные действия с этими портами во время сканирования, вам понадобится приложение. сканер. Один из самых популярных - ZGrab2.

План выполнения

Итак, вот рабочий процесс плана выполнения, которого мы хотим достичь:

  1. Сканируйте подсеть как можно быстрее
  2. Передайте эти кортежи IP / портов прикладному сканеру для проверки различных проблем безопасности в этих портах.
  3. Идти на пляж :)

Получите больше, чем просто обзор Shodan

Вот несколько примеров проверки безопасности приложений:

  1. Вы хотите проверить, не настроен ли сервер Elasticsearch с доступом администратора - мы можем проверить это, выполнив HTTP-вызов к `/ _cat / index`, и в случае, если он вернет 200 OK - это проблема.
  2. Вы хотите проверить, настроен ли веб-сервер по ошибке со всем каталогом «.git», чтобы кто-нибудь мог прочитать его и раскрыть все полезные вещи, которые у вас есть. Простой HTTP-вызов `/ .git`, и в случае, если он возвращает 200 OK - это проблема.
  3. Вы хотите проверить, настроен ли Redis / Memcached / PostgreSQL / MySQL без учетных данных - в ZGrab2 есть конкретные прикладные сканеры, так что вы также можете его протестировать.

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

Зачем мне искать неправильные конфигурации во всем Интернете

Я хотел бы начать с игры: что бы вы почувствовали, если бы я сказал вам, что ваш домашний маршрутизатор открыт для Интернета для внутреннего доступа ...? Звучит немного пугающе, но первое, что приходит в голову, это: есть ли у меня что-то, что мне нужно защищать? В большинстве случаев ответ будет - нет, ничего особенного. Для тех, кто ответит наххх, я расскажу вам знаменитую историю о хакерах, взломавших радионяни, и я позволю вам представить, что произошло дальше 😅

А теперь новый вызов: что бы вы почувствовали, если бы я сказал вам, что внутренние данные вашей компании или, что еще хуже, данные клиентов вашей компании - открыты для Интернета? Если вы чувствуете, что ваше сердцебиение начало учащаться - поздравляем! вы успешно прошли испытание! Теперь вы можете продолжить чтение.

Как мы подходим к этой проблеме?

Мир изменился: мы находимся на пятой волне технологий, и, как обычно, мир программного обеспечения движется первым, а за ним следуют решения киберпространства. Организации движутся быстрее, чем когда-либо, чтобы оставаться конкурентоспособными, добавляя автоматизацию программного обеспечения в различных областях и внедряя различные инструменты и системы всеми командами. Компании быстро развиваются благодаря распространению общедоступных облаков и распространению концепции «Все как услуга», а также тому факту, что повсюду все контролируется автоматизацией программного обеспечения.

Приземленный

Сегодня почти любая компания в мире использует различные сторонние SAAS, PAAS и IAAS. Вдобавок к этим решениям «как услуга» устанавливаются инструменты конвейеров данных; рамки науки о данных; различные проекты с открытым исходным кодом; а также инструменты инфраструктуры и наблюдения DevOps. Все эти разные решения используют разные конфигурации и секреты / учетные данные, включая строки подключения к базе данных; Ключи API; асимметричные клавиши; жетоны; комбинации имени пользователя и пароля; настройки администратора, безопасности и конфиденциальности; и многое другое. Даже инфраструктура сегодня не такая, как раньше - инфраструктура управляется кодом, который снова содержит множество типов конфигураций, а вместе с ним - большую сложность. В некоторых организациях сложность еще выше, когда имеется несколько инфраструктур у нескольких поставщиков общедоступного облака.

Как ни странно, эти передовые технологии позволяют нам двигаться все быстрее и быстрее к лучшему, но в то же время - к риску киберпространства. Такая мощь влечет за собой большую ответственность: как обеспечить безопасность всех активов вашей компании?

И что теперь?

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

Что означает название проекта :: Netz

Слово имеет двойное значение: во-первых, когда вы произносите это слово, вы сказали на иврите слово Ястреб 🦅. Ястреб - хищник, который может сканировать землю в поисках еды за много миль в небе, а затем идет, чтобы поймать ее, что является аналогией того, как плохие хакеры действуют в мире: они ищут открытые и свободные дыры за много миль. по всему интернету, и пойди лови. Во-вторых, слово содержит Net, которая является частью сканирования сети, и Z, которые представляют собой наиболее серьезную проблему безопасности, называемую атаками нулевого дня.

Окончательный отказ от ответственности

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

Изображение предоставлено