Ponieważ ten sam nasłuch jest nadal na miejscu, uruchommy Invoke-SharpUp.ps1, aby zobaczyć, co może znaleźć (zauważ, że używamy tego samego stagera iex/iwr, którego używaliśmy do tej pory):
Widzimy, że usługa „Vulnerable Software” ma modyfikowalny plik binarny usługi. Przyjrzyjmy się plikowi binarnemu z icacls.exe:
To pokazuje, że nie mamy żadnych uprawnień do tego pliku binarnego. Dlaczego więc SharpUp go wyróżnił? Został wyróżniony z powodu niezacytowanej ścieżki usługi. Kiedy system Windows szuka plików binarnych, zaczyna od próby wyszukania pliku binarnego przy każdej przerwie spacji. W tym przypadku będzie szukał c:\Software\Vulnerable.exe, zanim dojdzie do vulnagent.exe. Przyjrzyjmy się uprawnieniom w katalogu C:\Software:
Mamy tutaj możliwość dodawania plików i katalogów, więc możemy spróbować utworzyć vulnerable.exe. Stwórzmy aplikację C#, aby po prostu dodać siebie do lokalnej grupy Administrators. Utworzymy plik vulnerable.cc w c:\programdata, a następnie go skompilujemy. W przypadku zawartości użyj tego podstawowego skryptu C#:
Po zapisaniu pliku jako c:\ProgramData\vulnerable.cc możemy go skompilować za pomocą wbudowanego kompilatora C# w środowisku .NET:
Teraz, gdy wszystko jest już gotowe, spróbujmy ponownie uruchomić tę usługę:
Teraz jesteśmy członkami lokalnej grupy Administratorzy, ale użycie polecenia whoami /groups nie pokaże tego. Aby uzyskać uprawnienia, musimy się wylogować i zalogować ponownie lub rozpocząć nową sesję za pomocą runas lub innej metody. Tak czy inaczej, musimy utworzyć nową powłokę z uprawnieniami Administratora, więc zróbmy to i zbadajmy kilka taktyk eskalacji z Active Directory.