Słaby opis przejścia [TryHackMe].

Apr 01 2023
Niedawno stworzyłem pokój THM na wydarzenie CTF na mojej uczelni i oto przewodnik !! Link: https://tryhackme.com/jr/weak Uwaga: Pudełko zajmuje do 5-7 minut, aby poprawnie uruchomić wszystkie usługi, więc musisz być trochę cierpliwy :) Recon Podstawowe skanowanie portów pudełka ujawnia, że ​​porty 80 i 22 są otwarte z ważnymi usługami (odpowiednio http i ssh).

Niedawno stworzyłem pokój THM na wydarzenie CTF na mojej uczelni i oto przewodnik !!

Połączyć:https://tryhackme.com/jr/weak

Uwaga: Pudełko zajmuje do 5-7 minut, aby poprawnie uruchomić wszystkie usługi, więc musisz być trochę cierpliwy :)

zwiad

Podstawowe skanowanie portów urządzenia ujawnia, że ​​porty 80 i 22 są otwarte z prawidłowymi usługami (odpowiednio http i ssh).

Wyliczenie

Http

Bardzo prosty szablon

Strona http nie ma aktywnych przycisków ani niczego, więc chciałbym zrobić analizę kodu źródłowego i usuwanie katalogów.

Użytkownik: Tyron

Ten konkretny komentarz sugeruje, że Tyrone może być ważnym użytkownikiem pudełka.

Tymczasem niszczenie katalogów ujawnia istnienie pliku o nazwie impressum.txt

Który na szczęście wygląda jak klucz prywatny do logowania ssh.

Łącząc dwa do dwóch, można uzyskać login dla tyrone.

tak chmod 600 atw
tak!

Więcej wyliczeń

Po zalogowaniu plik local.txt jest natychmiast znajdowany w /home/tyrone/

Ponadto /var/www/html/ ma plik o nazwie flag2, którego nie wolno nam czytać

Patrząc na to z bliska, należy do samego Tyrone'a, więc możemy zmienić uprawnienia i pozwolić nam go przeczytać.

Nie próbuj kopiować flagi pls

Zwykły grep na zawartości pliku pokazuje nam jeszcze dwa pliki, które można odczytać, gdy zmienimy ich uprawnienia

4 flagi w dół!

Katalog główny zawiera plik tekstowy, który tyrone może odczytać, ale wyraźnie nie jest to flaga

baseRot1364 wygląda jak opakowanie base64 wokół rot13

Base64 — Rot13 — Base64

Opuśćmy tę flagę!

Eskalacja przywilejów

Użytkownik tyrone nie ma uprawnień sudo ani żadnych poświadczeń dostępnych w żadnych katalogach.

Spojrzenie na bity SUID za pomocą następującego polecenia pozwala nam spojrzeć na pliki binarne, które pozwalają każdemu użytkownikowi na ich wykonanie jako użytkownik, który jest ich właścicielem

find / -perm -4000 2>/dev/null

https://gtfobins.github.io/gtfobins/tee/#suid

Teraz możemy nadpisać dowolny plik w systemie plików. ( Easy Priv Esc przez /etc/passwd)

Istnieje jednak inny wektor eskalacji uprawnień, który chciałbym wyświetlić.

crontab jest nieczytelny. Dziwny.

Pozwala monitorować usługi, aby zobaczyć, co crontab jest uruchomiony.

https://github.com/DominicBreuker/pspy

Coś, Gdzieś uruchamia skrypt

Świetnie, nadpiszmy to
Niestandardowe polecenie zastąpienia script.sh
Teraz powinno to zmienić się w bit SUID, gdy tylko zegar osiągnie 00
Bash jest teraz bitem SUID.

Dostęp do roota jest teraz łatwo dostępny za pomocą prostego polecenia GTFOBins

https://gtfobins.github.io/gtfobins/bash/#suid

cd do rootowania i pobierz plik proof.txt ezpz.

Wszelkie komentarze, sugestie lub krytykę można przekazać mi za pośrednictwem Twittera, LinkedIn lub zostawiając komentarz tutaj

@JodisKripe