Wykorzystanie dostępu do wykonywania nieautoryzowanych działań

https://chacker.pl/

Jak wspomniano wcześniej, RedBoto składa się z serii skryptów, a jeden ze skryptów służy do eksploatowania usług AWS. Niektóre skrypty RedBoto są zaprojektowane jako jednorazowe, z niewielką lub żadną jednolitością lub obsługą błędów. Mimo to dla wielu osób korzystających z nich praktyczność jest kluczowa. Uruchommy nasz pierwszy skrypt:

Skrypt describeInstances.py (1) to prosty skrypt wyliczeniowy EC2, który działa na liście regionów (2). Chociaż nie jest to pełna lista regionów, skrypt został zaprojektowany z myślą o prostocie, a nie złożoności. Możemy zobaczyć identyfikatory instancji (3), nazwę komputera i jego stan. Uruchommy następny skrypt:

UWAGA UserData to specjalne pole, które można osadzić w każdej instancji EC2, aby umożliwić dostosowywanie maszyny w czasie rozruchu. Typowy mechanizm używany do odczytu i wykonywania danych użytkownika to framework o nazwie cloudinit. Mechanizm ten jest zaprojektowany do uruchamiania opcjonalnych danych użytkownika podczas rozruchu w celu wykonywania operacji bootstrapowych w systemach operacyjnych. Możemy nadużywać tej funkcji, wstawiając lub odczytując dane użytkownika.

Następny skrypt describeUserData.py (4) przejdzie w ciemno przez każdą instancję i wyliczy wszystkie dane użytkownika (5) przechowywane w konfiguracji instancji. Jak widać, można tu przechowywać dowolną liczbę elementów, w tym nazwy użytkowników i hasła (6). To nie jest dobry wzorzec przechowywania informacji, ale nadal widzimy go w użyciu. Ważne jest, aby szukać haseł w danych użytkownika i innych kluczowych elementach danych.

Systemy operacyjne Windows w EC2 sprawiają, że dane użytkownika są o wiele bardziej interesujące. Częścią procesu tworzenia niektórych systemów operacyjnych Windows jest posiadanie nazwy użytkownika Administrator. Czasami pseudolosowo utworzone hasło jest szyfrowane przy użyciu klucza SSH używanego na koncie. Gdybyśmy mieli dostęp do tego klucza SSH, czy moglibyśmy odszyfrować tę wartość? RedBoto ma skrypt, który robi właśnie to:

WSKAZÓWKA: Upewnij się, że skopiowałeś swój ~/.ssh/id_rsa z dowolnego urządzenia, którego użyłeś do zbudowania swoich początkowych maszyn, na maszynę, którą atakujesz. Ważne jest również, aby zauważyć, że ta wersja getEC2WinCreds.py została zmodyfikowana, aby działała z naszymi laboratoriami. Oryginalny skrypt opiera się na fakcie, że mamy plik PEM dla naszego klucza SSH, ale używamy kluczy w formacie OpenSSH. Ta wersja nie próbuje deserializować plików PEM.

Używając pliku getEC2WinCreds.py (7), system automatycznie sprawdzi określony region i wyliczy wszystkie wystąpienia EC2 (8), szukając konkretnie platformy Windows jako klucza. Następnie skrypt przejdzie do każdego z zlokalizowanych identyfikatorów wystąpień i, używając klucza SSH jako klucza deszyfrującego, spróbuje odszyfrować każde z pól hasła (9). Zapewnia również wgląd w publiczny adres IP. Jeśli zostanie znaleziony, nastąpi zmiana, która ujawni port RDP w Internecie i umożliwi zdalny dostęp do urządzenia.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *