Hej z tej strony Rafał. Dzisiaj opiszę maszynę Wonderland, która jest świetnym treningiem eskalacji uprawnień na systemie Linux. Na początku skan nmapem. Obie usługi nie mają luk bezpieczeństwa. Dodatkowo SSH nie ma żadnego baneru w związku z tym rozwiązanie kryje się na stronie lub w słownikowym ataku na SSH. Zacznijmy więc od strony. Strona nie wykorzystuje żadnych dziwnych nagłówków. W kodzie strony również nie ma nic ciekawego. W takim razie skorzystajmy z gobustera i nikto, może akurat dowiemy się czegoś więcej. Jak widzimy skan nikto nie wykazał nic ciekawego, a foldery znalezione przez gobustera nie zawierają żadnych przydatnych informacji. Zostało nam tylko sprawdzenie zdjęć z folderu img. Programy takie jak strings, exiftool i binwalk nic nie znalazły, ale za to program steghide już tak. routes.txt Dla pustego hasła udało nam się wyekstrahować z obrazu plik hint.txt. Zerknijmy na jego zawartość. Z pozoru nic ciekawego, ale po dłuższym namyśle doszło do mnie, że prawdopodobnie jest to ścieżka URL tym bardziej, że gobuster wykrył folder pod nazwą r. Jak się okazuje faktycznie było to rozwiązanie zagadki. Na pierwszy rzut oka strona wygląda niewinnie, ale w kodzie strony znajduje się login i hasło najprawdopodobniej do SSH. Sprawdźmy to. Udało się. Dostaliśmy się na komputer ofiary, teraz czas na drugą część walktrough. Podnoszenie uprawnieńZaczniemy od sprawdzenia możliwości korzystania z polecenia sudo. Jak widać Alice może wykonywać kod pythona dla podanego pliku jako użytkownik rabbit. Teraz potrzebujemy w jakiś sposób stworzyć powłokę użytkownika rabbit wykorzystując skrypt w naszym folderze. Niestety nie możemy go nadpisać, ale na początku skryptu widać, że importuje on moduł random. Oszukajmy trochę ten skrypt i stwórzmy własny plik random.py, który tworzy powłokę. Podatny program zaimportuje nasz skrypt i wykona jego kod. Udało się! Zerknijmy do folderu użytkownika rabbit. Od razu w oczy rzuca się program teaParty, który korzysta z bitu SUID, a na dodatek właścicielem jest root. Być może uda się go wykorzystać, ale najpierw sprawdźmy jak działa. Wygląda na to, że jest podatny na atak bufferoverlow. Niestety na tym systemie nie ma ani GDB, ani Radare2 w związku z tym korzystając z protokołu SCP przesłałem program na swój komputer i od razu wrzuciłem go do Ghidry, żeby podejrzeć jego kod. Ciekawa sprawa. Jak widać przepełnienie bufora było tylko rabbit hole. Za to widzimy tutaj użycie funkcji systemowej date. Być może uda nam się podmienić zawartość zmiennej PATH i wykonać nasz złośliwy program o tej samej nazwie co date, żeby stworzyć powłokę. Kod programu będzie zawierał po prostu ścieżkę do polecenia bash. Udało się. Oczywiście jesteśmy użytkownikiem Hatter ponieważ jak widać na screenshocie z Ghidry przed wykonaniem polecenia date ustawiany jest guid i uid na 1003. W folderze użytkownika Hatter nie ma nic ciekawego oprócz pliku z hasłem do wyżej wymienionego usera. Przez jakieś 15 minut szukałem ciekawych rzeczy, ale na próżno, aż w końcu zdecydowałem się na uruchomienie skryptu LinPeas. To był strzał w dziesiątkę. Możemy wykonywać polecenia Perla z innymi uprawnieniami. Spróbujmy to wykorzystać. Niestety te polecenie nie działa ponieważ program perl ma przyznane uprawnienia do wykonywania tylko i wyłącznie dla roota i grupy hatter, a my jesteśmy tylko użytkownikiem hatter. Tu z pomocą przychodzi hasło dla naszego użytkownika. Po prostu zalogujmy się korzystając z tego hasła jako użytkownik hatter, a następnie spróbujmy jeszcze raz wykonać polecenie z trony GTFOBins. Jesteśmy rootem! Flaga user znajduje się w folderze /root. Co ciekawe mógł ją odczytać dowolny użytkownik niekoniecznie root. Flaga superużytkownika znajduje się w folderze alice. Z racji tego, że tryhackme to już dużo bardziej oficjalna i profesjonalna strona nie publikuję zawartości flag i zachęcam do rozwiązania maszyny samemu.
0 Comments
Leave a Reply. |
|