Ścieżki Ataku ESC1 i ESC8: Od Inżynierii Społecznej do Nadużycia AD CS
Detection stack
- AIDR
- Alert
- ETL
- Query
Podsumowanie
Aktorzy zagrożeń wykorzystali inżynierię społeczną za pośrednictwem Microsoft Teams do podszywania się pod pracowników pomocy technicznej IT i ustanowienia zdalnego dostępu za pomocą Quick Assist. Po uzyskaniu dostępu nadużyli źle skonfigurowanych usług certyfikatów Active Directory (AD CS) przy użyciu technik ESC1 i ESC8, aby zwiększyć swoje uprawnienia i uzyskać autoryzację na poziomie domeny. Włamania umożliwiły nieautoryzowaną rejestrację certyfikatów, aktywność DCSync i późniejsze wyprowadzenie danych.
Badanie
Badanie odtworzyło łańcuch ataku od początkowej interakcji phishingowej w Teams po późniejsze nadużycie certyfikatów. Analitycy skorelowali telemetryczne dane z sesji zdalnej, podejrzane wykonywanie w czasie rzeczywistym z katalogów zapisywalnych przez użytkownika oraz zdarzenia AD CS, w tym żądania rejestracji certyfikatów i aktywność PKINIT. Niedopasowania między autoryzowanymi tożsamościami a urządzeniami źródłowymi dostarczyły ważnych punktów początkowych do identyfikacji potencjalnych ataków NTLM relay.
Środki łagodzące
Organizacje powinny wprowadzić silne procedury weryfikacyjne dla niezamawianych zapytań o wsparcie i ograniczyć zewnętrzny dostęp w Microsoft Teams. Techniczne środki łagodzące obejmują użycie App Control for Business do blokowania nieautoryzowanych przebiegów oraz zabezpieczenie AD CS poprzez włączenie Advanced Protection for Authentication (EPA) i HTTPS na punktach końcowych rejestracji. Ważne jest również wyłączenie protokołu NTLM na usługach rejestracyjnych i regularne audytowanie szablonów certyfikatów.
Reakcja
Gdy zostanie wykryta złośliwa aktywność, osoby reagujące powinny natychmiast izolować zaatakowane stacje robocze i przeglądać skompromitowane tożsamości pod kątem ryzyka wykluczenia. Nieautoryzowane certyfikaty muszą zostać unieważnione, a zaktualizowane informacje o unieważnieniu opublikowane. Aktywne bilety Kerberos powinny być oceniane osobno, ponieważ unieważnienie certyfikatu nie unieważnia istniejących TGT. Ręczne środki zaradcze powinny być również przypisane do kont wykluczonych z automatycznego przerywania.
Przepływ ataku
Detekcje
Możliwa konfiguracja systemu sieciowego (przez cmdline)
Wykonanie pliku binarnego Java z nietypowej lokalizacji (przez process_creation)
Alternatywne oprogramowanie do zdalnego dostępu / zarządzania (przez process_creation)
Zdarzenia żądania certyfikatu dla kontrolera domeny [ADCS] (przez audyt)
Zdarzenia żądania certyfikatu [ADCS] (przez audyt)
Użycie źle skonfigurowanego szablonu ADCS [ESC1/SAN] (przez audyt)
Możliwy wymuszony atak (przez audyt)
Podejrzane próby działań związanych z certyfikatami (przez audyt)
Możliwe wykorzystanie ataku PetitPotam/ADCS-ESC8 [MS-EFSRPC/ADCS-PKI] (przez audyt)
Możliwy atak DCSync (przez audyt)
Możliwe nieautoryzowane użycie Quick Assist (przez audyt)
IOC (HashSha256), aby wykryć: od podszywania się pod pomoc techniczną do nadużycia AD CS: Badanie ścieżek włamań ESC1 i ESC8
Wykorzystywanie szablonów certyfikatów i wykrywanie relay NTLM [Microsoft Windows Security Event Log]
Wykorzystywanie uwierzytelniania opartego na certyfikatach z połączeniami LDAPS i SMB [Windows Network Connection]
Phishing w Teams oraz wykonywanie przenośnego środowiska uruchomieniowego dla nieautoryzowanego dostępu [Windows Process Creation]
Wykonanie symulacji
-
Narracja ataku & Komendy: Przeciwnik inicjuje kampanię phishingową przez Microsoft Teams, podszywając się pod wsparcie IT. Instrukują ofiarę, aby otworzyła „Quick Assist.” Po ustanowieniu sesji, atakujący używa zdalnego dostępu do umieszczenia przenośnego
python.exedo zamaskowanego katalogu:C:Users<User>AppDataRoamingKB. Na koniec, aby ułatwić ruch lateralny, atakujący wykonujesysteminfoandipconfigaby zebrać dane rozpoznawcze o gospodarzu. -
Skrypt testu regresyjnego:
# Skrypt symulacyjny: Phishing w Teams & wykonanie przenośnego środowiska uruchomieniowego # 1. Przygotowanie: Utwórz katalog 'malicious' w AppData $targetDir = "$env:APPDATAKB" if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force } # 2. Symuluj przenośne środowisko uruchomieniowe (tworząc plik pod nazwą python.exe) # W prawdziwym ataku byłby to rzeczywisty binariusz. $dummyPython = Join-Path $targetDir "python.exe" New-Item -Path $dummyPython -ItemType File -Force # 3. Symuluj proces nadrzędny 'Teams' uruchamiający Quick Assist # Uwaga: Ponieważ nie możemy łatwo spreparować rzeczywistego drzewa procesów Teams.exe w jednym skrypcie # bez zaawansowanego wstrzykiwania, symulujemy telemetrię, naśladując wiersz poleceń # i oczekiwane zachowanie w sposób naśladujący logikę. Write-Host "[!] Symulacja sekwencji ataku..." # Wyzwalaj logikę detekcji, symulując łańcuch procesów # Uwaga: Aby wyzwolić konkretną regułę Sigma, proces 'python.exe' # musi być widziany jako podrzędny dla 'Teams.exe' w strumieniu telemetrii. # Krok A: Symuluj Teams wywołujące Quick Assist (symulacja telemetrii manualna) # W prawdziwym środowisku testowym można by użyć narzędzia takiego jak 'ProcessHacker' lub 'Sysmon' # do manipulacji identyfikatorami PID rodziców, ale w tym skrypcie wykonamy sekwencję. Start-Process "cmd.exe" -ArgumentList "/c echo Symulacja Teams wywołująca Quick Assist" # Krok B: Wykonaj 'przenośne środowisko uruchomieniowe' z określonej ścieżki Start-Process -FilePath $dummyPython -ArgumentList "--version" -ErrorAction SilentlyContinue # Krok C: Wykonaj komendy Discovery Start-Process "cmd.exe" -ArgumentList "/c systeminfo" Start-Process "cmd.exe" -ArgumentList "/c ipconfig" Start-Process "cmd.exe" -ArgumentList "/c tasklist" Write-Host "[+] Symulacja zakończona. Sprawdź SIEM pod kątem alertów." -
Polecenia czyszczenia:
# Czyszczenie: Usuń zasymulowany złośliwy katalog i pliki $targetDir = "$env:APPDATAKB" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force Write-Host "[+] Czyszczenie zakończone sukcesem: $targetDir usunięto." } else { Write-Host "[-] Czyszczenie nieudane: Nie znaleziono katalogu." }