• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Находим полезные штуки в публичных облаках

bratva

TPU unit
Пользователь
Регистрация
26.01.2022
Сообщения
2 127
Реакции
4 582
В публичных облаках может повстречаться куча удивительных вещей. Вы можете найти самые разнообразные штуки - от чужих учеток до полных бэкапов, включая ключи для разных сервисов - AWS, Google Cloud и Azure.

Некоторые такие ключи помогут вам захватить организацию в домене! Поскольку большинство компаний до сих пор не имеют никаких ограничений на использование облачных провайдеров, злоумышленник может нанести существенный ущерб организации.

Для того, чтобы найти полезные штуки мы практически всегда пользовались инструментом: https://grayhatwarfare.com/

Цели
Проблема не новая и существует достаточное количество времени. Я включаю ссылки на поиск, редактируя только самые критичные моменты, для читателя не составит труда восстановить все запросы в течение нескольких секунд, и поскольку я уважаю ваше время, я включаю все ссылки на запросы, рассмотренные в данной статье.

Было очень сложно (или невозможно) уведомить владельца облачного сервиса о наличии проблемы, поскольку в большинстве случаев такого владельца не установить. А взлом AWS аккаунтов только для получения контактных адресов (для рассылки наших уведомлений), будет переходить границы здравого смысла.

Возникла также идея аннулировать утекшие ключи API, просто выгрузив их на github (проабузив их секретный сканер ключей). Согласно этому посту - https://xebia.com/blog/what-happens-when-you-leak-aws-credentials-and-how-aws-minimizes-the-damage/ - AWS уведомит пользователя об утекших учетках. Однако это все равно не заблокирует доступ ко всем ресурсам сразу и этого недостаточно, чтобы сообщить обо всех утекших ключах, потому что тем самым я просто соберу их для других... Если кто-нибудь знает способ безопасно сообщить об утечке ключей API, дайте мне знать.

Следующие главы представляют собой примерный перечень того, что можно найти, и подробное объяснение, почему этих вещей там быть не должно. Имейте в виду, что это всегда лишь самый минимум того, что реально можно найти.

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

Личный стафф

Давайте начнем с вопросов, касающихся конфиденциальности.

Учетные записи Outlook и почтовые ящики (pst, eml, msg)


Файлы PST могут быть импортированы в Outlook и могут быть полными учетными записями электронной почты.
outlook_accounts.png

Учетные записи Outlook

outlook_accounts_imported.png

Импортированные учетные записи Outlook

То же распространяется и на файлы msg и eml, которые представляют собой отдельное электронное письмо. Зачем вы делаете резервную копию одного электронного письма? Потому что это важно…

Сканы паспортов
Personalausweise (немецкие и австрийские ID-карты)



Сохранение паспортов и документов, удостоверяющих личность, запрещено законами ряда стран.

pass1.png

pass2.png

Немецкое удостоверение личности - спереди и сзади

pass3.png

Австрийское удостоверение личности

Другие
pass4.png

Паспорт Алгерии

pass5.png

Паспорт Словении

Свидетельства о рождении


cob.png

Индийское свидетельство о рождении

cob2.png

Свидетельство о рождении Пуэрто-Рико

SSNы


Некоторые номера социального страхования США…
ssn1.png

ССН номер 1

ssn2.png

ССН номер 2


Рецепты


Медицинские данные и рецепты

presc1.png

Пример рецепта

Похоже, что имеется довольно большой объем данных некой компании, включая записи их видеозвонков, рецепты, медицинские записи…


med.png

Медицинские данные

Счета и данные клиентов

Конечно же можно найти счета и данные о клиентах, доступные напрямую. Это, конечно, плохо, но ситуация становится еще хуже, когда дело касается дампов баз данных.

cust1.png

Данные клиентов

Политики


pol.png

Политики страхования

Ключи и лицензии

Также доступно множество лицензионных файлов и ключей. Например, Windows Server 2016 из файла unattended.xml.

lic`.png

unattended.xml с некоторыми паролями и ключом Windows Server

lic2.png

Ключ рабочий!

lic3.png

Еще один, с дополнительными учетными данными для домена
 
Учетные записи

Когда дело доходит до учетных данных, это просто вопрос поиска нужных файлов. Некоторое идеи можно получить от таких инструментов, как Snaffler, который отлично справляется с поиском OnPrem учеток.

Имена файлов по умолчанию с учетными данными

AWS - credential.csv



При добавлении нового пользователя IAM в AWS, генерируется файл Credentials.csv с учетными данными.

aws.png

CSV-файлы в виде сборки при добавлении пользователя IAM в AWS.

aws2.png

Пример

aws3.png

Учетные данные AWS


После разговора с моим другом, профессионалом в AWS @rootcathacking (поскольку я ничего в нем не понимаю), стало ясно, что роли IAM были настроены неправильно, и вся организация может быть скомпрометирована. Если вам нужны более глубокие знания об AWS, посетите его блог: https://rootcat.de/blog/

aws4.png

Конечно, учетка работает, и вся Организация может быть скомпрометирована.


Ключи AWS


aws5.png

Учетные записи AWS


Но эти учетные записи наверняка уже нерабочие? Конечно...

aws6.png

Список бакетов

aws7.png

Еще учетки


aws8.png

Учетка AWS SMTP

aws9.png

Расширение для установки S3 Bucket


Azure Token

Я также нашел несколько учетных записей служб Azure, например. для службы BLOB-объектов. Чтобы проверить эти учетные данные, мы можем использовать Azure CLI и запросить их следующим образом:
Код:
az storage share list --account-name "frowt######" --account-key "YfCL+0LjmmtdJ92BMZJHpTbeO+BB0n0tIdy+bvOE5xiJuMUG2ItHFyNou1ehl75u4p######################"

az storage file list --share-name "assets-dev" --account-name "frowt######" --account-key "YfCL+0LjmmtdJ92BMZJHpTbeO+BB0n0tIdy+bvOE5xiJuMUG2ItHFyNou1ehl75u4p######################""

azure.png

Действительные учетные данные BLOB-объекта для Azure.

Google Cloud


Например, мы можем выполнить поиск файлов gha-creds.json. Эти файлы содержат токен учетной записи облачной службы Google.

gcloud.png

Учетные данные облака Google

Gcp_scanner довольно удобен для перебора токенов и доступа к ним. И, конечно же, мы снова получаем несколько действительных токенов…

gcp.png

Действительные учетные данные и отчет сканера gcp.


CSCFG — классическая схема конфигурации облачных служб Azure


Эти файлы cscfg содержат сумасшедшее количество различных учетных данных. Большинство, но не все учетные данные связаны с ресурсами Azure.

azure-csfg.png

Конфиг csfg #1

azure-csfg2.png

Конфиг csfg #2
 
Сертификаты


Более 30 тысяч результатов по сертификатам .pfx и .p12. Почему именно эти два типа? В отличие от файлов .der, .pem, .key мы знаем назначение и, в основном, URL-адрес этих сертификатов. Если мы получим закрытый сертификат или ключ, это хорошо, но совершенно бесполезно, если мы не знаем, где его использовать…

cert1.png

30 тысяч сертификатов!

Мы можем попробовать перебрать пароли к сертификатам, и получить интересный результат. Большинство сертификатов со слабым паролем предназначены для аутентификации клиента (Client Authentication) и защищенной электронной почты (Secure Email), например. для SMIME. Мы можем легко получить более (!) 200 действительных сертификатов, подобных этому:

cert2.png

Типичный сертификат защищенной почты и удостоверения личности

cert3.png

Цепочка CA

Есть и другие весьма интересные сертификаты, например, Подписание кода для разработчиков Apple (Code Signing for Apple Developers).

Код:
kligo-cert.p12         PW: #####
Code Signing (1.3.6.1.5.5.7.3.3)
01/02/2027
False
C=US, O=Apple Inc., OU=Apple Certification Authority, CN=Developer ID Certification Authority

Код:
PS > $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
PS > $cert.Import("$pwd\kligo-cert.p12",'#####','DefaultKeySet')
PS > $cert.ToString()
[Subject]
  C=US, O=Medeo, OU=5TJZ8J82S5, CN=Developer ID Application: Medeo (5TJZ8J82S5), OID.0.9.2342.19200300.100.1.1=5TJZ8J82S5
[Issuer]
  C=US, O=Apple Inc., OU=Apple Certification Authority, CN=Developer ID Certification Authority
[Serial Number]
  67D5A56F672A53C9
[Not Before]
  04/07/2023 14:36:04
[Not After]
  01/02/2027 23:12:15
[Thumbprint]
  5467E477BAC46A3E8E83A8BDBB18A24F48B13595

cert4.png

Сертификат подписи кода


Инструменты для удаленного доступа

Winscp



winscp1.png

Результаты по WinSCP

Хорошо известно, что конфигурационные файлы WinSCP небезопасно зашифрованы, а это означает, что пароли можно просто восстановить

winscp2.png

Пример конфига WinSCP

winscp3.png

И еще один конфиг WinSCP


FileZilla


<Passcoding="base64"> Думаю, вы понимаете, к чему это приведет.

filezilla1.png

Пример с Filezilla

filezilla2.png

И еще пример с Filezilla


Sublime

Конфигурация Sublime иногда содержит учетные данные sftp.

sublime1.png

Пример конфига Sublime №1

sublime2.png

Пример конфига Sublime №2


Менеджер паролей


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

pm.png

Пример самого безопасного в мире файла


VPN​


Конфигурационные файлы OpenVPN интересны тем, что некоторые из них не требуют аутентификации пользователя. И они позволяют сразу подключиться к VPN…

openvpn1.png
 
Другие находки


Некоторые компании также хранят данные о своих тикетах в бакетах, внутри которых может быть тоже важная информация.

tickets.png

Доступ к порталу провайдера №1

tickets2.png

Доступ к порталу провайдера №2


Конфигурации программного обеспечения

Gitlab



Файлы конфигурации Gitlab также могут быть полезными, поскольку обычно там настройки SMTP.

gitlab1.png

Конфиг Gitlab

config.php


Неудивительно, что в файлах конфигурации PHP можно найти много учетных данных.

gitlab2.png

Конфиг PHP #1

gitlab3.png

Конфиг PHP #2


Резервные копии

Всегда доступно множество бэкапов, иногда размером в несколько Террабайт. Конечно, они все еще могут быть зашифрованы, но... надежда умирает последней.

Виртуальные диски


virtualdisks.png

Найденные виртуальные диски

Виртуальные диски можно легко открыть с помощью 7zip:
virtualdisks2.png

Открытый виртуальный диск

virtualdisks3.png

Просмотр резервной копии


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

IMG-файлы

То же самое касается файлов IMG, они часто также используются для резервных копий.

img.png

IMG-файл

Резервные копии Veeam и Acronis


Резервные копии Veeam и Acronis обычно защищены паролем. Но если удастся подобрать пароль, там всегда найдется что-нибудь интересное.

Образы криминалистов (forensic)


Форенсик образы — это полные образы дисков, созданные во время реагирования на инциденты. При наличии правильных инструментов их можно открыть. Например, есть соответствующие инструменты для 7zip.

Архивные файлы


archives.png

Доступно огромное количество данных

SQL


Резервные копии SQL — это безумие, поскольку они могут привести к утечке полных данных приложения, включая учетные данные пользователя, а также данные о платежах. И таких файлов много...

sql1.png

Файлы BAK обычно представляет собой резервные копии MSSQL

Дампы MySQL

Дампы MySQL также содержат в себе множество чувствительных данных.
sql2.png

Дамп MySQL как резервная копия

BSON-файлы


В качестве резервной копии также используются двоичные файлы JSON, некоторые из которых содержат весьма интересные данные.

bson.png

BSON-файл с токенами для Firebase

Скрипты

Также неудивительно, что мы можем найти множество типичных учетных данных в файлах сценариев, таких как vbs, cmd, bat, ps1, sh. Однако, здесь сложно найти имя файла, который может содержать учетные данные, поскольку мы не можем просмотреть файлы без загрузки.


bash1.png

Bash-скрипт с учетными данными

bash2.png

Bash-скрипт с учетными данными

bash3.png

Bash-скрипт с учетными данными AWS

ps.png

Скрипт Powershell с учетными данными
 
Приложение 1. Легкое извлечение данных с помощью Excel

Сегодня Excel предлагает удобную функцию для быстрого сбора данных из веб-сервиса. Допустим, мы хотим выполнить некоторые проверки для бакетов S3 и составить список с результатами.


bucket.png

Список бакетов

Теперь мы можем легко импортировать эти данные в Excel с помощью запроса.
excel1.png

Импортировать данные из веба

excel2.png

Выберите нужные данные

excel3.png

Готово!


Но подождите, сейчас у нас есть только первая страница данных… Не вопрос!

excel4.png

Настройте запрос

Код:
let
    // Define a function to get data for a specific page
    GetDataForPage = (page) =>
        let
            Source = Web.Page(Web.Contents("https://buckets.grayhatwarfare.com/buckets?type=aws&page=" & Text.From(page))),
            Data0 = Source{0}[Data],
            #"Changed Type" = Table.TransformColumnTypes(Data0,{{"#", Int64.Type}, {"Bucket", type text}, {"Files", Int64.Type}, {"Container", type text}})
        in
            #"Changed Type",

    // Use List.Generate to create a list of data for pages 1 to 50
    Pages = List.Generate(() => 1, each _ <= 50, each _ + 1),
    
    // Use Table.Combine to combine the data for all pages
    CombinedData = Table.Combine(List.Transform(Pages, GetDataForPage))
in
    CombinedData

Теперь мы сканируем 50 страниц или 1000 строк!

excel5.png

Просканировано 1000 строк в пределах 50 запросов.


Это не обход ограничения по скорости, т.е. это означает, что если вы столкнетесь с этой проблемой, вам придется еще немного изменить запрос, возможно с Catspin или Fireprox!

Приложение №2. Проверка ключей AWS


Как проверить, действительны ли еще учетные данные.

Код:
root@ ~ [1]# aws configure --profile tmp
AWS Access Key ID [None]: AKIAIUH2AI65LLS3Y###
AWS Secret Access Key [None]: rINcfgU63NBUFaFJFP3kO9cR4sVX############
Default region name [None]: ap-south-1
Default output format [None]:
root@ ~# aws sts get-caller-identity --profile tmp
{
    "UserId": "AIDAJLSWOFPMWAJPP5S36",
    "Account": "140444460056",
    "Arn": "arn:aws:iam::140444460056:user/chetan.awate"
}
root@ ~# aws s3 ls --profile tmp
2022-12-14 12:54:34 63moons-map-migrated
2022-12-14 12:55:14 a-presto-test-bucket-1
2022-12-14 12:55:46 amplify-myamplifytest-dev-163751-deployment
2022-12-14 12:56:15 astha-wfh-ec2
2022-12-14 12:56:45 astha-wfh-ec2-prod-serverlessdeploymentbucket-crtvtwylvb7o
[...]
2022-12-14 15:52:07 wave2-binaries
2022-12-14 15:52:10 zohobucket1
root@ ~# aws ec2 describe-instances --profile tmp
{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-7d5f2412",
                    "InstanceId": "i-0280648b8540ccbc0",
                    "InstanceType": "t2.medium",
                    "KeyName": "asterisk_server",
                    "LaunchTime": "2022-02-03T05:53:46.000Z",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "Placement": {
                        "AvailabilityZone": "ap-south-1a",
                        "GroupName": "",
                        "Tenancy": "default"
                    },
                    "PrivateDnsName": "ip-172-31-23-174.ap-south-1.compute.internal",
                    "PrivateIpAddress": "172.31.23.174",
                    [...]

Приложение №3. Скачайте сниппет

Во время поиска было довольно удобно сразу выкачивать пачку файлов. Команда для этого может выглядеть так (и да, здесь довольно много возможностей для улучшений, но, это рабочий метод!):
Код:
curl --request GET \
 --url 'https://buckets.grayhatwarfare.com/api/v2/files?keywords=winscp&order=last_modified&direction=desc&extensions=ini&start=0&limit=100'  \
 --header 'Authorization: Bearer ###########' \
 | jq | grep "url" | cut -d ":" -f 2- \
 | sed 's/,//g' | xargs -i wget --no-check-certificate {}

Оригинальный источник: https://badoption.eu/blog/2024/02/20/buckets.html
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх