Gobuster to narzędzie służące do brute force’owania katalogów i plików na serwerach webowych, subdomen DNS, nazw hostów wirtualnych na serwerach internetowych, bucketów Amazon S3 i Google Cloud, oraz serwerów TFTP.
dirBuster to wielowątkowa aplikacja Java przeznaczona do brute force’owania nazw katalogów i plików. Jako jedyna z tej trójki posiada graficzny interfejs użytkownika który jest łatwy w obsłudze.
dirsearch to bogate w funkcje narzędzie linii komend do złożonego wykrywania zasobów stron internetowych cechuje je wysoka dokładność i imponującą wydajności. Program stosuje nowoczesne techniki brute force, a output jest miły dla oka.
Często, podczas penetracji lub testowania zabezpieczeń, mogą pojawić się sytuacje, w których będziesz potrzebował zidentyfikować ukryte katalogi lub pliki, które nie są dostępne publicznie.
Narzędzia te umożliwią Ci skanowanie struktury folderów i plików na serwerze w celu znalezienia ukrytych zasobów. Wykorzystują one technikę Brute Force, która polega na testowaniu różnych kombinacji nazw folderów i plików w celu znalezienia tych, które są chronione hasłem lub które nie są publicznie dostępne.
W tym wpisie pokażę Ci jak użyć tych narzędzi, aby przeprowadzić atak na stronę internetową i znaleźć jej ukryte pliki i foldery aby potem wykorzystać to w kolejnym ataku. Naszą ofiarą będzie maszyna wirtualna z serwisu Vulnhub.com jest to platforma online, która dostarcza wirtualne maszyny zawierające luki w bezpieczeństwie które mogą być wykorzystane do nauki przez np. pen testerów. Na tej maszynie wirtualnej będziesz już miał gotowy serwis do hakowania.
Wpis ten ma charakter edukacyjny używanie tego typu narzędzi do pentestów bez wcześniejszej zgody właściciela serwera jest nielegalne.
To jest pierwsza część z serii hakowania maszyny z VulnHub HACKSUDO: THOR gdzie celem jest znalezienie flagi w pliku root.txt.
Do dzieła!
Lab
- Oracle VirtualBox
- Kali linux zainstalowany na VirtualBox
- Plik maszyny wirtualnej Hacksudo: Thor
Konfig
Ze strony Vulnhub.com ściągnij plik zip i rozpakuj go

Importuj obraz maszyny wirtualnej do VirtualBox-a, podwójnie kliknij na rozpakowany plik hacksudo – Thor.ova a otworzy się okno ustawień importu programu virtualBox.

Wybierz swoją nazwę oraz folder podstawowy czyli lokalizację gdzie ma być zainstalowana wirtualna maszyna, następnie potwierdź przyciskiem zakończ.

Przed uruchomieniem przejdź do ustawień nowo dodanej maszyny. Prawym przyciskiem kliknij na dodanej wirtualnej maszynie i wybierz ustawienia następnie przejdź do Sieci i zmień ustawienia na: Podłączona do: Karta sieci izolowanej, Nazwa: VirtualBox Host-Only Ethernet Adapter.

W swoich ustawieniach maszyny wirtualnej Kali Linux ustaw dwie karty sieciowe pierwszą identycznie jak karta naszej ofiary na kartę sieci izolowanej.

Włącz drugą kartę sieciową , i ustaw ją na Mostkowana karta sieciowa, a w nazwie wybierz nazwę swojej karty sieciowej.

Uruchom obie maszyny wirtualne hacksudo: thor i Kali linux

Zanotuj adres IP naszej ofiary wyświetlony w oknie terminala maszyny hacksudo

Na początek
Sprawdź połączenie z swoją ofiarą prostym pingiem zobacz czy maszyna odpowiada

Zobacz jakie usługi i porty są otwarte użyj nmap aby przeskanować IP ofiary, w poniższym przykładzie użyłem następujących opcji:
-sV Wykrywaj wersje usług na otwartych portach
-sS Skanowanie TCP SYN
-sC uruchamiaj skrypty dla odkrytych usług
-p- skanuj wszystkie porty
-oN zapisuje wynik do pliku

Otwarty port 80 z usługą apache mówi nam że na tym serwerze jest serwis internetowy otwórz go za pomocą przeglądarki przechodząc do strony http://adres_ip_twojej_maszyny

Mamy tu specjalnie przygotowaną stronę ‘banku’ którą musisz zhakować. Więć do dzieła!
Gobuster
W konsoli Kali Linux przełącz się na konto root i ściągnij gobuster za pomocą menadżera pakietów.

Za pomocą wget ściągnij słownik z tego githuba i zapisz go w folderze ze słownikami.
wget -P /usr/share/wordlist https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/raft-large-files.txt

Uruchom gobustera i przeprowadź atak brute force w konsoli wpisz:
gobuster dir -u http://adres_ip_swojej_maszyny -w /usr/share/wordlist/raft-large-directories.txt -x .php,.js,.html,.txt,.sh,.json -q -z
dir używa trybu wyliczania
-u czyli url strony
-w słownik którego użyć
-x rozszerzenia plików jakich szukać, oddzielane przecinkami
-q tryb cichy
-z nie wyświetlaj postępów

Po dość krótkim skanowaniu gobuster wyświetli listę znalezionych stron a wśród nich stronę admin_login.php

Otwórz przeglądarkę i przejdź do strony http://adres_ip_twojej_maszyny/admin_login.php

Świetnie odkryłeś ukryty stronę do logowania dla administratora w następnych częściach będziemy próbowali się do niej dostać. Teraz sprawdź czy pozostałe narzędzia wykryją coś więcej.
dirbuster
To narzędzie jako jedyne posiada graficzny interfejs użytkownika uruchom je z linii komend: dirbuster -u http://adres_ip_twojej_maszyny

Na początku wybierz słownik kliknij na Browse i przejdź do folderu /usr/share/wordlist następnie wybierz raft-large-directories.txt zatwierdź przyciskiem Select List

Ustaw jakich rozszerzeń plików ma używać dirbuster i uruchom go przyciskiem Start

Znalezione strony i plik możemy przeglądać w zakładce Results List View jako listę plików i folderów

Lub jako widok drzewa w zakładce Results Tree View

Jak widzisz dirbuster spełnił swoje zadanie i także znalazł ukrytą stronę admin_login.php ale co rzuciło mi się bardzie w oko to folder cgi-bin do uruchamiania skryptów cgi.
dirsearch
I na deser został dirsearch naprawdę potężne narzędzie do brute force’owania plików i katalagów. Więc przyjrzyjmy się bliżej folderowi cgi-bin. Uruchom dirsearch :
dirsearch -u http://adres_ip_twojej_maszyny/cgi-bin/ -f -e cgi
-u czyli adres url strony / cgi-bin
-f dodaj rozszerzenia do każdego wpisu ze słownika
-e użyj rozszerzeń

Po krótkim skanowaniu spójrz na wyniki mamy dwa interesujące pliki backup.cgi oraz shell.sh

W tym ataku korzystaliśmy ze standardowych słowników dirsearch które są całkiem dobre, wiec uruchom kolejny atak tym razem przeskanuj adres tylko z opcją f : dirsearch -u http://adres_ip_twojej_maszyny/ -f

Spójrz na wyniki mamy kolejny plik który coś może nam powiedzieć o systemie który atakujemy README.md

Zobacz co jest w pliku README.md przejdź do strony http://adres_ip_twojej_maszyny/README.md i uruchom ściągniety plik.

Przejrzyj plik a znajdziesz login i hasło administratora

Zaloguj się na stronie admin_login.php

Poznałeś 3 narzędzia do brute forcowania i za ich pomocą odkryłeś ukryte pliki i katalogi na serwerze. Przez złe praktyki admina uzyskałeś dostęp do panelu administracyjnego strony bankowej. Niestety dostęp ten nie daje nam nic ciekawego możemy tylko zarządzać klientami lub zamieszczać newsy na stronie. A przypomnę że naszym celem jest znalezienie pliku root.txt. W następnej części spróbujemy wykorzystać połączenie z panelem admina i przyjrzymy się bliżej sqlmap a nawet poszalejemy w metasploit framework.