Tak więc lokalne pełne włączenie jest naprawdę dobre, ponieważ pozwalają nam czytać pliki na serwerze
i możemy być w stanie odczytać pliki z hasłami lub poufnymi informacjami, co byłoby naprawdę świetne,
jeśli rzeczywiście możemy uzyskać pełny dostęp lub pełną kontrolę nad celem serwer wykorzystujący luki w zabezpieczeniach lokalnych plików.
W tym wykładzie zobaczymy, jak możemy uzyskać odwróconą powłokę, wykorzystując lukę w zabezpieczeniach plików lokalnych,
którą widzieliśmy w poprzednim wykładzie.
Tak więc, ponieważ pozwalają nam czytać pliki na serwerze, udało nam się napisać cokolwiek na tym
serwerze, a następnie napisać złośliwy kod, a następnie go przeglądać i uruchamiać ten kod.
Więc to jest dokładnie to, co zamierzamy zrobić.
Istnieje wiele metod, aby to osiągnąć.
Zwykle odbywa się to za pomocą plików dziennika, ponieważ pliki dziennika zwykle rejestrują lub zapisują rzeczy, które mają miejsce
na serwerze.
Możesz więc spróbować zalogować się za pomocą nazwy użytkownika.
Ale zamiast wpisywać nazwę użytkownika, wpisz kod pocztowy lub możesz spróbować wysłać wiadomość e-mail, a
następnie zamiast wiadomości e-mail wpisz kod, a następnie spróbuj przeglądać te pliki dziennika, a kod BHP zostanie wykonany.
Pierwsza metoda, której się przyjrzymy, będzie wykorzystywała zmienną environ.
Jest to więc w zasadzie plik, który zawiera tablicę informacji o bieżącym środowisku.
Po prostu weźmy na to szybki przykład.
Właśnie tutaj jestem na mojej maszynie Calli.
Nic nie biorę.
Nie jestem na żadnym serwerze i zamierzam tylko zobaczyć, jaka jest zawartość tego pliku.
Tak więc ten plik istnieje we wszystkich systemach operacyjnych Linux.
Więc teraz po prostu otworzę ten plik za pomocą polecenia card.
Jak widać, zobaczysz wiele zmiennych środowiskowych, które są powiązane z obecnym
środowiskiem.
Więc teraz spróbujemy otworzyć ten plik tutaj i mojego brata zamiast
hasła.
Więc to będzie w prox self środowiska.
OK, zamierzam wejść.
Jak widać, ponownie widzimy szereg zmiennych dotyczących bieżącego środowiska.
Interesująca jest tutaj ta zmienna, dzięki czemu możemy zobaczyć, że agent użytkownika.
Jest wysyłany i jest wyświetlany właśnie tutaj.
Teraz agent użytkownika to w zasadzie przeglądarka używana przez użytkownika.
Strona myśli, że używam Firefoksa, co jest poprawne.
A to dlatego, że Firefox za każdym razem, gdy otwierasz witrynę, faktycznie informuje ją, jaka to przeglądarka.
Tak dzieje się na naszej stronie internetowej.
Więc to jest faktycznie wysyłane od klienta, więc możemy faktycznie zmodyfikować tę wartość.
Spróbujemy zmienić wartość agenta użytkownika i umieścimy kod, który da
nam odwrotny shelp.
Zanim to zrobimy, upewnijmy się, że kod zostanie wykonany na serwerze.
Więc wyślemy zwykły kod, który będzie wyświetlał informacje.
Więc teraz włączę mój myśliwiec.
Pokazałem ci jak skonfigurować proxy.
Więc jeśli nie wiesz, jak to zrobić, wróć do tego wykładu i zobacz, jak możesz skonfigurować proxy.
Więc właśnie włączyłem przechwytywacz i zamierzam przeglądać dokładnie ten sam adres URL.
I tutaj, jeśli przejdziemy do ścinania, zobaczysz, że Firefox wysyła tutaj agenta użytkownika i
wysyła go jako Mozilla pięć, cokolwiek.
Więc zamierzamy zmodyfikować tę wartość i wstawić kod BHB, a kod, który zamierzam umieścić,
jest bardzo prosty.
Po prostu wyświetla informacje.
Jest to więc funkcja o nazwie BHP info.
A potem zamierzam przekazać ten pakiet.
Jak widać, kod HP został wykonany na stronie internetowej, na stronie docelowej.
Oznacza to, że jeśli wyślemy złośliwy kod na tę stronę, faktycznie będziemy mogli uzyskać pełny dostęp
lub możemy uruchomić nasz kod.
Teraz możesz dosłownie wysłać dowolny rekord.
Możesz wysłać kod do listy plików.
Możesz wysłać kod, aby przesłać plik, lub możesz wysłać jeden z kodów, które były używane wcześniej w celu
uzyskania połączenia zwrotnego.
Więc to właśnie zamierzam zrobić.
Użyję dokładnie tego samego kodu, którego używaliśmy wcześniej i na poprzednich wykładach, aby uzyskać pełną kontrolę
nad komputerem docelowym.
Więc po prostu wpiszę to tutaj w terminalu, a potem skopiuję.
Więc będziemy używać tranzytu.
A my korzystamy z Netcare.
A potem wstawię mój adres IP.
I użyję portu, który zamierzam wykonać w tym ataku, użyję ośmiu osiem,
osiem, osiem, a potem postawimy średnik.
Więc to jest to samo.
To tylko funkcja.
Używamy tego w wykonaniu kodu w przyszłym roku.
Więc dosłownie skopiuję to i wstrzyknę jako agent użytkownika.
Teraz, zanim to zrobię, wysłucham części ósmej osiem osiem osiem cztery połączenia.
Więc użyjemy tego samego kodu, którego używaliśmy wcześniej.
Znowu z Netcare.
A teraz nasłuchujemy połączeń, mamy włączony interceptor, zamierzam przeglądać
stronę, wchodzę i zmodyfikuję agenta użytkownika.
Ponownie, nie zapomnij umieścić tutaj znaków zapytania, ponieważ umieściłem tam tylko
kod, więc mamy otwieranie i zamykanie dla HP, a następnie umieszczamy nasz kod, który jest kodem przechodzącym.
A ona była S. H. , nasz adres IP, po którym następuje port, na którym nasłuchujemy.
Wchodzę i idę do przodu.
Jak widać, otrzymaliśmy połączenie z powrotem przy użyciu lokalnego pliku, luka w zabezpieczeniach.
Teraz mogę przeglądać pliki.
Mogę zrobić Mogę zrobić Ellos, mogę zrobić ID i mogę zrobić prawie wszystko, co chcę na serwerze teraz,
gdy mam pełny dostęp.
Udało nam się więc przekonwertować lukę umożliwiającą włączenie plików lokalnych, która może wyświetlać tylko pliki lub umożliwiać
tylko odczytywanie plików na serwerze.
Udało nam się to przekonwertować i wykorzystać, aby uzyskać pełny dostęp do serwera docelowego w miarę możliwości, ponieważ byliśmy
w stanie zapisać do zmiennej środowiskowej proc self, która wyświetla naszego agenta użytkownika, oraz zmieniając agenta użytkownika
na nasz kod, byliśmy w stanie uruchomić dowolny rekord, jaki tylko chcieliśmy.