Polowanie na PHP2Shell RCE w Odsłoniętych Otwartych Katalogach
Detection stack
- AIDR
- Alert
- ETL
- Query
Podsumowanie
Niezidentyfikowany aktor zagrożenia z powodzeniem wyeksfiltrował 68,8 GB kopii zapasowych bazy danych z agencji rządowej na Filipinach. Operacja została ujawniona po tym, jak napastnik pozostawił serwer etapowy z uruchomionym niezabezpieczonym katalogiem HTTP Pythona dostępnym z internetu. Narzędzia odzyskane z serwera obejmowały przerobiony ładunek GodPotato nazwany Wrqsnx oraz stager PowerShell.
Śledztwo
Śledztwo obejmowało inżynierię wsteczną odzyskanych ładunków i badanie dzienników dostępu z ujawnionego serwera etapowego. Badacze wyśledzili infrastrukturę napastnika do hosta Linux zarządzanego przez UpCloud Ltd i zidentyfikowali ofiarę poprzez dopasowanie certyfikatów powiązanych z Filipińskim Administracyjnym Biurem Zatrudnienia za Granicą. Analiza wykazała, że operator używał stagera PowerShell do wykonania ładunku w pamięci i uniknięcia wykrycia opartego na dysku.
Działania zapobiegawcze
Organizacje powinny wyłączyć listy katalogów na serwerach internetowych i zapewnić, że środowiska etapowe nigdy nie są publicznie dostępne. Zastosować ścisłą kontrolę dostępu do wrażliwych kopii zapasowych baz danych i monitorować nieautoryzowane użycie narzędzi takich jak Rclone czy Impacket. Konta usługowe powinny być regularnie audytowane pod kątem SeImpersonate uprawnień, aby zredukować ryzyko eskalacji przywilejów lokalnych z narzędzi takich jak GodPotato.
Odpowiedź
Gdy wykrywane są nieautoryzowane katalogi etapowe lub znane narzędzia eksploatacyjne takie jak Impacket, natychmiast izoluj dotknięte systemy. Przeprowadzaj analizę pamięci, aby zidentyfikować stagerów w pamięci i sprawdź systemy pod kątem podejrzanych nazwanych potoków. Przeprowadź audyt aktywności kont usługowych pod kątem nieoczekiwanego podszywania się pod tokeny, eskalacji przywilejów lub wykonywania poleceń na poziomie SYSTEM.
Przebieg ataku
Wciąż aktualizujemy tę część.
Wykrycia
Wywołanie podejrzanych klas/metod .NET z linii poleceń PowerShell (via process_creation)
Podejrzane ciągi PowerShell (via powershell)
Podejrzane pliki w publicznym profilu użytkownika (via file_event)
IOCs (HashSha256) do wykrycia: Polowanie na wycieki PHP2Shell RCE w otwartych katalogach
IOCs (SourceIP) do wykrycia: Polowanie na wycieki PHP2Shell RCE w otwartych katalogach
IOCs (DestinationIP) do wykrycia: Polowanie na wycieki PHP2Shell RCE w otwartych katalogach
Wykrywanie wykonania stagera PowerShell Portalload [Windows Powershell]
Wykrywanie przerobionego wykonania GodPotato [Windows Process Creation]
Wykonanie symulacji
-
Narracja ataku i polecenia: Przeciwnik zdobył wyspecjalizowanego stagera o nazwie
portalload.ps1. Aby uniknąć pozostawienia dużego śladu na dysku, przeciwnik zamierza użyć tego skryptu do ponownego złożenia zakodowanych fragmentów bezpośrednio w pamięci. Atakujący uruchamia skrypt za pomocą CLI PowerShell. Działanie to ma na celu wywołanie wykrycia specyficznej nazwy pliku przez SOC, co w rzeczywistości byłoby próbą użycia znanego złośliwego narzędzia. -
Skrypt testowy regresji:
# Skrypt symulacyjny do wywołania reguły wykrywania 'portalload.ps1'. # Tworzy fikcyjny plik, aby symulować obecność stagera. New-Item -Path "$env:TEMPportalload.ps1" -ItemType "File" -Value "# Zawartość symulowanego stagera" # Uruchom 'złośliwy' stager przez PowerShell, aby wygenerować telemetrię wykrywania Start-Process powershell.exe -ArgumentList "-File `"$env:TEMPportalload.ps1`"" -
Polecenia czyszczenia:
# Usuń fikcyjny plik utworzony podczas symulacji Remove-Item -Path "$env:TEMPportalload.ps1" -Force