Сегодня мы подготовили для вас интересный материал о взломе крупной корпорации. Не скрою что это кропотливая и долгая работа, требующая терпения и усидчивости. Но собранная в данной статье база инструментарием позволит вам взломать корпоративную сеть, при этом будут применятся только бесплатные инструменты.
Reconnaissance, или сбор информации, — это первый этап тестирования на проникновение, когда цель уже определена. Понемногу этот этап превратился в отдельную науку, объединив в себе целый комплекс тактик и методик, а также обзавелся множеством инструментов и сервисов, упрощающих рутину. Какие возможности это нам открывает?
Дальше я перечислю самые популярные сервисы, с помощью которых можно провести полноценные исследования, и продемонстрирую основные приемы работы с ними. Однако главной темой статьи будет сервис grayhatwarfare.com, с помощью которого я и взломал корпорацию TUI Group.
Сервисы для сбора информации можно условно разделить на несколько категорий — по типу предоставляемых данных или по сферам применения. Перечислим наиболее известные из них.
Подобных ресурсов достаточно много, и некоторые я даже специально пропустил — например, psbdmp.ws — из-за их чересчур узкой специализации. Однако сканировать весь интернет самостоятельно уж слишком долго и трудоемко. На гитхабе можно найти большой арсенал инструментов, адаптированных для работы почти с каждым из упомянутых сервисов. Но я постараюсь обратить твое внимание на упущенные кейсы и пробудить порыв к новаторству!
В конце статьи я кратко расскажу о моих экспериментах с, казалось бы, банальным Shodan. Ты, наверное, даже слышал об их последствиях, об этом уже писали. Я свято верю, что не нарушил никаких законов, так что смело раскрою свое авторство и некоторые оставшиеся за кадром подробности.
Если вспомнить большинство громких утечек за последние год-полтора, то можно выделить современные тенденции и цели атакующих. Я их перечислю:
Очевидно, под угрозой в основном плохо настроенные серверы и приложения, в которых авторизация зачастую отсутствует вовсе. Для сканирования используются все те же инструменты с открытым исходным кодом, которые можно найти на гитхабе, так что я не стану их перечислять. Некоторые атакующие используют для поиска Shodan, другие сканируют сеть самостоятельно.
Я не добавил AWS S3-бакеты в список неслучайно. Если посмотреть хронологию утечек информации из бакетов, то можно заметить явное снижение зафиксированных после 2018 года инцидентов. Этому поспособствовал ряд причин: шумиха, принятые Amazon меры, вооруженные сканерами баг-хантеры и так далее.
Конечно, можно купить хостинг, обзавестись новейшим софтом и принять участие в гонке сканеров, но мы не ищем легких путей! Подкрутить потоки и поковырять настройки какого-нибудь приложения может каждый, но самое интересное начинается там, где приходится использовать смекалку.
Несмотря на обилие публикаций на тематических площадках, у довольно популярного и давно присутствующего на рынке GrayHatWarfare долго не было ни одного приложения или библиотеки для полноценной работы с предоставляемым им API. Все, что я нашел на гитхабе, — это криво написанный веб-парсер на python-mechanize.
Оказалось, этому есть причины: использование услуг этого сервиса стоит немалых денег, а условия бесплатного аккаунта не позволяют рассчитывать на достойный результат. Хотя я могу ошибаться. Язык запросов API настолько прост и лаконичен, что писать код по большому счету не нужно. Тем не менее я решил создать инструмент для работы с GrayHatWarfare, а вместе с этим реализовать многопоточность и обойти лимиты выдачи сервиса. Раз уж писать, то как следует!
Поиск по всем проиндексированным файлам ограничен 2000 результатов. Файлы же в обособленном бакете можно листать почти без ограничений, особенно когда мы ищем конкретные расширения файлов и используем исключающие ключевые слова. Так что я подменил один метод другим и реализовал перебор ID всех доступных бакетов. Таким образом, поиск всех имеющихся файлов с расширением .zip займет всего 20–30 минут. Ровно столько времени у меня ушло, чтобы скормить API 91 тысячу реквестов без единого фейла!
Итак, мы можем искать файлы с любыми расширениями. Между тем в API предусмотрена возможность добавлять к запросам ключевые слова, но только исключающие, иначе поиск ломается. Эти слова проверяются в каждой отдельной части полного URL-адреса искомого файла. Такой радикализм оправдан. В бакетах куча мусора типа медиафайлов, фронтенда и всяких опенсорсных бэкенд-модулей. Однако не бойся экспериментировать: все отброшенные урлы все равно запишутся в отдельный файлик trash.txt. Чтобы добавить свои собственные исключающие ключевики, сохрани их в файл exclude.txt.
Найденные файлы можно фильтровать и по размеру. Он указывается во время запуска программы. Чтобы запустить приложение, выполни в терминале следующие команды:
~$ git clone https://github.com/d34db33f-1007/grayhat2.git
~$ cd grayhat2 && python3 main.py
Фильтрация файлов по размеру — встроенная фича GrayHatWarfare API, но исключительно для оплаченных аккаунтов. В нашей реализации программы мы можем получать размеры файлов нативным образом только потому, что по факту мы не выполняем поиск, а просто листаем содержимое бакетов одно за другим.
Выходит, любой пользователь с оплаченным аккаунтом может просто запросить у API «топ-1000» самых тяжелых файлов, которые нередко и оказываются набором пользовательских данных, то есть пресловутой «утечкой». Значит, искать там больше нечего? А вот и нет!
Я попытался искать с помощью GrayHatWarfare файлы .csv
тяжелее 500 Мбайт. Среди них попадались интересные находки, но их оказалось недостаточно, чтобы ликовать и праздновать победу.
Второе, что мне пришло в голову, — это поиск приватных RSA/SSH-ключей. Вот тут мне повезло! Я проверил по очереди два расширения файлов: .priv
и .key
. К моему удивлению, уже через час после того, как я накатал на коленке свой питоновский скрипт, я обнаружил сразу три утечки! Как известно, беда не приходит одна. На серверах с приватными ключами я также нашел следующее:
По первым двум инцидентам мне не удалось связаться с владельцами ресурсов, но я уведомил Google и Amazon о произошедшем, хотя четкого ответа также не последовало. В TUI Group мне ответили на следующий день после обращения и залатали дыру уже спустя неделю.
Дальше я поэтапно опишу, как получил полный доступ с правами суперпользователя к продакшен EC2-инстансу Musement. Забавно, что такой очевидный инцидент до сих пор оставался незамеченным. Это тревожный звоночек: если тенденция стала мейнстримом, лучше всего ее избегать.
Собрав access-ключики, которые разработчики так любезно оставили в своем питоновском скрипте, я успешно авторизовался в аккаунте Amazon. Попробовав выполнить разные команды, я понял, что у меня имеется доступ только на чтение, причем далеко не везде. К тому же сервер, к которому я хотел подключиться по SSH, разрешал соединения только с IP-адресов из белого списка.
Недолго думая, я нашел на гитхабе популярный awesome-лист, посвященный пентесту Amazon, и начал с самого простого. Первым делом я собрал все публичные адреса EC2-машин, а также все IP-адреса из политик NACL (Network Access Control List) с помощью утилиты aws_public_ips
. В сумме набралось где-то тридцать адресов.
Собранные адреса я начал сканировать на наличие открытых портов в диапазоне 1–64 000 с помощью утилиты masscan
. Пока шло сканирование, я запустил еще две классические утилиты, которые позволяют получить более обширную и подробную информацию об имеющейся в твоем распоряжении облачной инфраструктуре:
Результаты оказались неожиданно приятными. Даже несмотря на то, что SGP (Security Group Policies) и IAM-права для утекшего аккаунта были настроены корректно. Для начала pacu
нашел способ повысить привилегии, пользоваться которым мне не позволяют этические принципы. Метод заключался в эксплуатации уязвимости CloudTrail CSV Injection. Имея возможность создавать trail (грубо говоря, события), я мог попытаться создать trail с вредоносной Excel-формулой в качестве названия. Эта попытка провалилась бы, но в логах осталось бы название. При импорте такого лога в формате .csv в Excel возникает опасность выполнения вредоносного кода на машине администратора.
ScoutSuite удивил меня еще больше. Ниже приведены частичные примеры того, что он смог нарыть в облаке.
Кроме того, на самом S3-бакете лежали очень интересные бэкенд-файлики. В общей сумме я смог вытянуть из пользовательских данных EC2-машин где-то 400 с лишним скриптов и конфигов.
Результаты сканирования внешних IP-адресов EC2-машин не сильно радовали, пока я не обнаружил роутеры с дефолтными админ-паролями и функцией VPN.
93.62.224.145 :: Huawei AR Web Platform 93.62.224.151 :: Huawei AR Web Platform
Главное достоинство этих роутеров заключалось в том, что они находились в белом списке NACL для входящего и исходящего трафика по всем портам, включая SSH, а также позволяли маршрутизировать трафик сквозь себя.
Теперь я мог спокойно подключиться к главному продакшен-серверу с root-правами, используя найденный приватный SSH-ключ.
Более подробные сведения о различиях между SGP и NACL
Утечку компания пофиксила быстро, но, к сожалению, ни вознаграждения, ни даже банальной благодарности я от них не получил. Вместо этого мне сообщили, что на меня не станут подавать в суд, так как при тестировании я придерживался инструкций, которые они мне отправили на почту в ответ на мое письмо.
Для меня этот опыт — неприятное напоминание о том, что часто IT-компании ориентируются на гигантов индустрии, но игнорируют аспекты, связанные с безопасностью своего продукта и конечных пользователей. Поэтому давай сделаем мир безопаснее общими усилиями!
Уже качаешь очередной hawkeye? Вот и правильно! Но не вздумай останавливаться на серых шляпах: попробуй совместить Google-дорки с Shodan’ом или поиграть с его родными тегами в трендах. Из этой затеи вполне может получиться что-нибудь интересное.
Наш блог в этом году писал об уязвимых видеорегистраторах LILIN. Эти уязвимые регистраторы изначально нашел я, заинтересовался и начал реверсить. Поэтому ответственно заявляю: в Qihoo 360 нагло приврали о количестве уязвимых устройств. На самом деле их было не 5К, а более 300К. Вот оригинальный дорк:
http.html_hash:"1640961097"
В итоге мне даже удалось продать найденные баги. Продавать я их пытался на легальных площадках вроде Zerodium, но не везде они котировались. Видимо, информация об уязвимости утекла в паблик с одной из таких платформ. В моем гитхабе ты можешь найти больше информации об этом инциденте.
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…