Взлом авиакомпании за 3 простых шага и получение TSA nofly list
Шаг 1 : Во власти скуки
Как и многие другие мои взломы, эта история началась с того, что мне было скучно, и я просматривал shodan (или, zoomeye, китайский shodan), ища открытые серверы jenkins, которые могут содержать какие-нибудь интересные товары. На данный момент я, вероятно, просмотрел около 20 открытых серверов, когда я вдруг заметил знакомые слова. "ACARS", множество упоминаний "экипажа" и так далее. Большинство и этих слов, я слышал раньше, скорее всего, во время просмотра роликов Mentour Pilot на YouTube. Тут меня ждал Джекпот! Открытый сервер Jenkins, принадлежащий CommuteAir.
Шаг 2 : Сколько на самом деле у нас доступа?
Хорошо, но давайте не будем слишком быстро радоваться. То, что мы нашли забавный сервер jenkins, не означает, что у нас будет доступ к чему-то большему, чем журналы билдов. Быстро выясняется, что хотя у нас нет анонимного доступа администратора (да, это довольно часто случается [боже, как я люблю jenkins]), у нас есть доступ к рабочим пространствам билдов. Это означает, что мы можем видеть репозитории, которые были созданы для каждого из ~70 заданий билдов.
Шаг 3 : Давайте разбираться
Большинство проектов здесь кажутся довольно маленькими проектами Spring Boot. Стандартизированное расположение проектов и широкое использование каталога ресурсов для конфигурационных файлов будет очень полезно в этом деле. Самый первый проект, который я решил рассмотреть более подробно, это проект "ACARS incoming", поскольку я уже слышал термин acars, и он звучит пикантно. Быстрый взгляд на каталог ресурсов показывает файл под названием application-prod.properties (то же самое также для -dev и -uat). Это не может быть так же просто, не так ли? Ну, это точно! Через две минуты после нахождения этого файла я смотрю на filezilla, подключенную к sftp-серверу navtech, заполненному входящими и исходящими сообщениями ACARS. это авиационное дерьмо действительно становится серьезным.
Вот вам сообщения ACARS об отправлении:
С этого момента я начал пытаться найти журналистов, заинтересованных в, вероятно, довольно широком нарушении прав американской авиации. К сожалению, это заставило людей возлагать надежды на то, что я стою за проблемами TSA и посадками самолетов днем ранее, но, к сожалению, я не настолько крут. поэтому, пока я ждал, пока кто-нибудь откликнется на мой призыв к журналистам, я просто продолжал копать, и о, что же я нашел. По мере того, как я просматривал все больше и больше конфигурационных файлов во все большем количестве проектов, меня осенило, насколько сильно я уже успел ими завладеть всего за полчаса или около того. Закодированные там учетные данные позволили бы мне получить доступ к navblue apis для дозаправки, отмены и обновления рейсов, замены членов экипажа и так далее (при условии, что я готов когда-либо в жизни взаимодействовать с SOAP api, чего я точно не делаю).
Однако я продолжал изучать два проекта под названиями noflycomparison и noflycomparisonv2, которые, похоже, получают список TSA nofly и проверяют, не попал ли туда кто-нибудь из членов экипажа Commuteair. Там есть жестко закодированные учетные данные и имена учетных записей s3 bucket, однако я просто нигде не могу найти сам список. Возможно, отчасти потому, что он, похоже, всегда удаляется сразу после обработки, скорее всего, специально из-за таких любопытных котят, как я.
Прошло несколько часов, и вот я уже разговариваю с Микаэлем Таленом, штатным писателем dailydot. я вкратце рассказываю ему о том, что мне удалось найти, и о том, как всего за полчаса до начала нашего разговора мне удалось найти учетные данные AWS. теперь у меня есть доступ практически ко всей их инфраструктуре aws через aws-cli. множество s3 buckets, десятки таблиц dynamodb, а также различные серверы и многое другое. commute действительно любит aws.
также поделился с ним тем, как мы, похоже, близки к тому, чтобы найти список nofly TSA, что, очевидно, сразу же сделает эту историю еще более значительной, чем если бы это была "всего лишь" супер-тривиальная авиакомпания, которой можно было бы владеть. я даже заглянул в nofly s3 bucket в этот момент, который, похоже, был пуст. поэтому мы в последний раз заглянули в репозиторий noflycomparison, чтобы посмотреть, есть ли там что-нибудь, и впервые действительно заглянули в репозиторий с тестовыми данными. И вот оно. Три файла csv, employee_information.csv, NOFLY.CSV и SELECTEE.CSV. Все они были размещены в репозитории в июле 2022 года. Nofly csv имеет размер почти 80 мб и содержит более 1,56 миллиона строк данных. это должно быть реальное дело (позже мы получили подтверждение, что это действительно копия списка nofly от 2019 года).
святое дерьмо, у нас действительно есть список nofly. святой гребаный бингл. что?! :3
После того, как джекпот был найден, и его начали изучать мои друзья-журналисты, я решил немного углубиться в aws. Я взял образцы документов из различных s3 buckets, просмотрел планы полетов и выгрузил несколько таблиц dynamodb. На данный момент я нашел практически все PII, которые только можно представить, для каждого из членов экипажа. Полные имена, адреса, номера телефонов, номера паспортов, номера лицензий пилотов, время проведения следующей проверки и многое другое. У меня были путевые листы для каждого рейса, возможность получить доступ к каждому плану полета, целая куча изображений, прикрепленных к заказам на рейсы с возмещением расходов, содержащих еще больше PII, данные о техническом обслуживании самолета и все остальное.
Я полностью овладел ими менее чем за день, не требуя практически никаких навыков, кроме терпения, чтобы просмотреть сотни результатов Shodan/zoomeye.
Наш канал : https://t.me/webhack_kakao