Narrator: W
tym wykładzie
zajmiemy się lukami w zabezpieczeniach przekazywania plików.
Są to najprostsze rodzaje
luk, ponieważ pozwalają nam przesłać dowolny typ pliku.
Na przykład, jeśli komputer docelowy może zrozumieć php, możemy
przesłać dowolny plik php lub powłokę php i
uzyskać pełną kontrolę nad komputerem docelowym.
Teraz, gdy komputer docelowy lub serwer docelowy rozumie Python
lub inny język, możesz po prostu
przesłać kod Python,
powłokę Python lub powłokę Ruby.
Możesz tworzyć te
powłoki za pomocą Veil-Evasion lub
Metasploit, lub możesz użyć własnej powłoki php lub Python.
To,
co dzisiaj zrobimy, przyjrzymy
się narzędziu zwanemu cuchnącemu, które generuje
powłoki php i pozwala nam
uzyskać dostęp i zrobić wiele fajnych rzeczy na docelowym komputerze.
Przede wszystkim mam tutaj moją DVWA.
I zwykle, gdy próbujesz zaplanować test
strony internetowej,
zalecam, zanim spróbujesz użyć
jakichkolwiek narzędzi lub czegokolwiek, po
zebraniu informacji, po prostu wejdź i spróbuj przejrzeć stronę.
Zobacz, co możesz zobaczyć, po prostu poznaj stronę internetową.
Zobacz, co jest na nim zainstalowane i tak dalej.
I spróbuj wykorzystać wszystkie funkcje, które widzisz.
Powiedzmy na przykład, że poszedłeś na
wszystko, a następnie osiągnąłeś przesyłanie.
Widzimy, że ta strona internetowa pozwala nam przesłać plik.
Teraz to czasami w twoich zadaniach testowania penetracji, może to
być strona internetowa, która pozwala ci przesłać
zdjęcie profilowe, zdjęcie, jeśli jest to strona niejawna, może
pozwala ci na przesyłanie zdjęć samochodów lub cokolwiek,
co próbujesz dodać Strona internetowa.
Jak widać tutaj, witryna oczekuje,
że wybierzesz obraz i prześlesz obraz.
Zobaczmy, czy możemy najpierw załadować obraz.
Więc przejdę do pobierania i mam
zdjęcie tutaj w zasobach.
Tylko zdjęcie samochodu.
Prześlę go i zobaczę, czy zostanie przesłany.
Widzimy, że przesyłanie zakończyło się
pomyślnie i jest przechowywane w tej konkretnej lokalizacji,
więc ...
co oznacza dwa katalogi wstecz, a następnie tę nazwę pliku.
Zobaczmy więc, czy zdjęcie zostało rzeczywiście przesłane.
Więc zabieram
dwa katalogi, usuwam luki i przesyłam.
Używam tylko tego.
A potem zdobędziemy tę lokalizację na serwerze, aby sprawdzić,
czy zdjęcie zostało poprawnie przesłane.
Jak widzimy, zdjęcie zostało przesłane, więc to
wszystko dobrze.
Teraz kolejną
rzeczą, którą chcemy zrobić, spróbuj załadować plik php.
Aby to zrobić, użyjemy narzędzia zwanego
weevly,
jak powiedziałem, aby utworzyć ładunek lub powłokę, jeśli chcesz to nazwać.
I to oczywiście będzie php shell.
Możesz użyć metasploit, jak powiedziałem,
aby utworzyć ładunek
php, ale będziemy musieli po prostu spojrzeć
na inne narzędzie, które zostało zaprojektowane do testowania penetracji aplikacji internetowych.
Narzędzie jest więc
bardzo łatwe, umieścimy nazwę narzędzia, która jest bardzo popularna.
A potem zamierzamy umieścić generowanie,
ponieważ chcemy wygenerować ładunek lub plik powłoki.
Następnie umieścimy hasło do tego pliku, aby
tylko my mogli uzyskać do niego dostęp i kontrolować stronę internetową, gdy
przesyłamy ją na stronę internetową.
Więc moje hasło to 1-2-3-4-5-6.
A potem powiem, gdzie chcę to przechowywać.
Chcę przechowywać go w katalogu głównym i
nazwiemy go skorupą. php.
Tak bardzo prosta, z pewnością nazwa programu.
Generuj to generowanie powłoki.
Hasło, przy pomocy którego
powłoka będzie nas uwierzytelniać, i będzie
przechowywane w katalogu głównym / powłoce. php.
Wciśnę Enter i został utworzony teraz, jeśli
jestem już w moim katalogu głównym, więc po prostu powinienem to zobaczyć.
I możemy to zobaczyć tutaj.
Następną rzeczą jest powrót do
naszej witryny i próba przesłania tej powłoki.
I szukam muszli i oto ona.
I trafiłem w przesyłanie.
Jak widać teraz, oznacza
to, że plik został pomyślnie przesłany i znajduje
się w tym samym miejscu, w którym było zdjęcie.
Więc wszystko, co musimy teraz zrobić, to użyć tego samego linku i
ponownie użyjemy weevly do interakcji z
tą powłoką, którą przesłaliśmy.
Teraz sprawdźmy najpierw, czy powłoka istnieje i
czy została poprawnie przesłana.
Więc po prostu przejrzę go w przeglądarce.
Muszla. php i widać, że dostajesz
pustą stronę, więc nie otrzymujemy pliku 404,
który nie został znaleziony, co oznacza, że plik został przesłany i tam jest.
Więc postaramy się wchodzić w interakcję z nim z ukrycia.
Aby się z nim połączyć, wpiszemy się weeve,
a następnie umieścimy adres URL w miejscu, w którym znajduje się powłoka.
To tutaj załadowano naszą powłokę.
A potem wstawimy hasło.
Więc moje hasło to 1-2-3-4-5-6.
Bardzo prosty, niestety, adres URL, pod którym znajduje się
plik, i 1-2-3-4-5-6.
Jest to bardzo podobne do sytuacji, gdy używasz swojego
programu obsługi wielu programów do oczekiwania na
połączenia lub połączenia przez backdoor.
Więc dosłownie po prostu
połączymy się z backdoor, który przesłaliśmy.
I jak widać, teraz
jesteśmy w systemie plików, więc z tego miejsca możesz
po prostu wpisać dowolne polecenie Linuksa.
Będziesz mógł, zostanie on wykonany
na komputerze docelowym i zobaczysz wynik tutaj.
Więc jeśli zrobię pwd, zobaczysz, że
jestem w var / www / hackable / uploads, a jeśli zrobię
identyfikator, zobaczę mojego użytkownika
w tej chwili, czyli www. dane.
A jeśli zrobisz uname -a tylko po to, aby
potwierdzić, że jest to maszyna metaplikowalna, zobaczysz,
że jest to maszyna metaplanowalna Linux.
Teraz możemy zrobić wszystko, co chcemy.
Możemy wymienić pliki, możemy nawigować.
Możesz wykonać dowolne polecenie Linuksa.
Teraz się zmieniliśmy, nasze miejsce zostało zmienione.
Weevly oferuje również znacznie więcej funkcji niż tylko to.
Dzięki temu możesz robić wiele fajnych rzeczy.
Jeśli wpiszesz pomoc, zobaczysz wszystkie fajne rzeczy, które
możesz zrobić weevly.
Możesz więc spróbować zwiększyć swoje uprawnienia.
Wykonuj zapytania SQL i wiele fajnych rzeczy, które zostały zaprojektowane
do testowania penetracji aplikacji internetowych.
Na razie zostawię to w tym miejscu.
A to tylko pokazuje,
jak korzystać z luk w zabezpieczeniach przekazywania plików.