Wyliczanie uprawnień

https://chacker.pl/

Jednym z największych wyzwań, z jakimi przyjdzie Ci się zmierzyć w przypadku wielu narzędzi AWS, jest kompletność pokrycia. Większość narzędzi ma ograniczenia dotyczące tego, co mogą zrobić bez wprowadzania przez nas zmian, a nadążanie za wysokim tempem zmian może być problemem. Zobaczmy, gdzie nasze narzędzia mają pewne ograniczenia i zalety:

Czy chciałbyś wykonać kilkaset wywołań API, aby spróbować zweryfikować, które uprawnienia do opisu (lub odczytu) masz w EC2 i Lambda? Prawdopodobnie nie. Jak możemy to zrobić w bardziej zautomatyzowany sposób? Po prostu używamy PACU i znajdujemy wszystkie uprawnienia — czy możemy?

Aby uruchomić narzędzie PACU z katalogu /opt/pacu (1) na komputerze Kali Linux, należy uruchomić plik Pythona cli.py (2). PACU organizuje kampanie według nazwy sesji; my nazwaliśmy naszą bieżącą sesję „ghh” (3). PACU może używać kluczy, które znajdują się już w ogólnym systemie operacyjnym. Aby to zrobić, użyjemy polecenia import_keys –all (4), aby zaimportować wszystkie profile i klucze zapisane w pliku poświadczeń. Po załadowaniu tych elementów możemy zacząć używać modułów. Jednym z modułów, których możemy użyć, jest moduł do wywoływania usługi IAM i brutalnego wymuszania uprawnień. Robimy to za pomocą polecenia run iam__bruteforce_permissions (5). Można by założyć, że jest to w 100% kompletny sposób na znalezienie wszystkich uprawnień w systemie, tak jak jest opisany. Tak nie jest. Jak zobaczysz później, to polecenie spróbuje wywołać API AWS, ale tylko dla określonych usług, takich jak EC2 i Lambda, i tylko dla bardzo wąskich wywołań API — głównie tych, które są przydatne w opisywaniu usług (polecenia oparte na odczycie). Możemy zobaczyć, co znaleźliśmy dla naszego klucza API, wywołując whoami (4). Polecenie wyświetli niektóre dozwolone i zabronione uprawnienia, ale nie jest ono w 100 procentach kompletne. Innym sposobem na osiągnięcie tego samego typu wyniku jest próba użycia każdego wywołania API. Następnie wyliczymy ec2_hosts (7) jako przykład walidacji naszych znanych uprawnień. Zobaczysz, że możemy wyliczyć większość danych EC2. PACU próbuje zbudować w pełni funkcjonalny moduł z dołączonymi bateriami do eksploatacji AWS, ale ma swoje wady. Nie zawsze zawiera każdy moduł, którego możesz potrzebować. Nie obsługuje również każdej usługi w AWS. Często musisz polegać na innych narzędziach, skryptach lub po prostu zwykłym interfejsie wiersza poleceń AWS, aby wykonać wiele ataków, które chcesz wykonać. Pokazujemy kilka przykładów w następnej sekcji. Chcemy jednak, abyś nadal korzystał z PACU, ponieważ ma on kilka przydatnych funkcji, takich jak:

  • Zezwalanie użytkownikowi na backdoorowanie usługi EC2 za pomocą skryptu rozruchowego
  • Umieszczanie adresu IP na białej liście w GuardDuty, czyli usłudze wykrywania zagrożeń z AWS
  • Wykorzystywanie narzędzia Amazon SSM do wykonywania poleceń
  • Backdoorowanie kont użytkowników poprzez dodanie zestawu kluczy API lub, w niektórych przypadkach, dodanie drugiego zestawu kluczy API
  • Pobieranie różnych typów zestawów danych, takich jak migawki bazy danych RDS i pliki S3

UWAGA: Wiele działań w tej sekcji zostanie zalogowanych w komponentach CloudTrail konsoli AWS; jest to robione domyślnie. Chociaż rejestrowanie jest dobre, samo w sobie nie wystarczy, aby zrozumieć, co się dzieje. Potrzebujesz dodatkowych narzędzi, aby pobrać dzienniki i lepiej je zrozumieć, tak jak w standardowym systemie operacyjnym. Sekcja jest bardzo głośna i może pozostawić duży ślad.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *