W tym wykładzie zobaczymy inną metodę wykorzystania luk w lokalnych plikach służących do włączania
plików i uzyskania pełnej półki lub pełnej kontroli nad serwerem docelowym.
W poprzednim filmie zobaczyliśmy, jak zrobić z użyciem zmiennej środowiskowej nasze zmienne środowiskowe.
W tym wykładzie dowiemy się, jak to zrobić w oparciu o dzienniki, na których serwery mają dużo plików dzienników
iw zasadzie w tej chwili możemy odczytać dowolny plik na serwerze, o ile mamy pozwolenie na jego
odczytanie.
Jeśli uda nam się napisać cokolwiek do któregoś z tych plików, możemy wykonać kod i
przejąć kontrolę nad naszym celem.
Musisz więc przeczytać dowolny z plików dziennika i zobaczyć lub pomyśleć o sposobie interakcji z tymi plikami dziennika, aby
można było na nim pisać, na przykład, jeśli pliki dziennika, które czytasz lub wchodząc
w interakcję z naszymi plikami dziennika pocztowego, możesz wtedy wysłać wiadomość e-mail z kodem, a następnie pojawi
się w pliku dziennika.
W naszym przykładzie będziemy używać dziennika var tego dziennika, a ten plik zawiera wszystkie próby
logowania do serwera docelowego.
Zróbmy to, a teraz zrozumiesz lepiej.
Teraz mam tylko podstawowy exploit i próbuję pokazać, że jest to hasło.
Jest to plik, którego używamy w naszym podstawowym exploicie.
Po prostu to usunę i będę szukał dziennika drutu z zegara.
Teraz, jak widać, plik jest czytelny i możemy odczytać próby logowania do serwera docelowego.
Więc zamierzamy teraz myśleć, że ten plik wyświetla wszystkie próby logowania.
Dlaczego więc nie spróbować zalogować się i sprawdzić, czy próba zostanie wyświetlona tutaj.
Więc zamierzam to zrobić.
Po prostu spróbuję S-sh na serwerze.
Tak więc zamierzam użyć S-sh, ponieważ Sage to po prostu zdalna usługa logowania używana przez serwery WWW.
Prawie każdy serwer sieciowy ma to zainstalowane.
Więc spróbujemy S-sh, więc zrobimy S-sh, a potem wpiszemy nazwę
użytkownika.
I zamierzam umieścić losową nazwę użytkownika, która prawdopodobnie nawet nie istnieje.
Chcę tylko sprawdzić, czy to żądanie zostanie zapisane w pliku dziennika.
Więc jestem po prostu.
SS Idę na S-sh, a ja zamierzam nadać nazwę użytkownika jako losową, a potem zamierzam to
zrobić i pójdziemy z adresem IP, który jest 10 20 9:46 i jestem wchodzisz Teraz pyta mnie o hasło.
Oczywiście ta nazwa użytkownika i tak nie istnieje, więc zamierzam po prostu umieścić losowe hasło.
Naprawdę nie próbuję hakować używając S-sh.
Dosłownie właśnie próbuję się zalogować Idę teraz do Control-C i chcę sprawdzić, czy to się zaloguje
w tym pliku.
Tak więc wyślę kolejną prośbę i zamierzam poszukać mojej nazwy użytkownika, aby nazwa użytkownika była nazwana losowo, a ja
zobaczę, czy to się zalogowało i widać,
że nadal jest to mysz i plik dziennika.
Tak więc na serwerze zapisano, że ktoś próbował zalogować się przy użyciu nazwy użytkownika losowo i faktycznie ma
mój adres IP.
Tak więc zarejestrowałem również mój adres IP.
Teraz możemy odczytać ten plik i możemy również napisać do pliku logując się przy użyciu istniejącego konta.
Więc zamierzam teraz zrobić to, że zamierzam spróbować ponownie się zalogować, a zamiast wpisywać
nazwę użytkownika, umieszczam nazwę użytkownika jako losową.
Mam zamiar wstawić PH peacoat, który zawsze używaliśmy, aby dać mi odwrotną powłokę lub połączenie
odwrotne na serwerze.
Teraz możesz użyć dowolnego kodu strony w moim przykładzie.
Zamierzam użyć kodu, który da mi odwrotną powłokę na komputerze docelowym.
Zanim uruchomię kod, będę słuchał tej części i zamierzam to zrobić za pomocą netcata, tak
jak zawsze.
Więc miałem zamiar być netcat E. V. LP i zamierzam zrobić moją część, która wynosi 8
8 8 8, a teraz słuchamy połączeń i zamierzam spróbować ponownie zalogować się do celu.
I w tym przypadku zamierzam umieścić mojego Ph Veikko.
Ten sam kod, którego użyliśmy wcześniej.
Tak więc moja nazwa użytkownika będzie I zamierzam umieścić dwa cytaty, a następnie mam zamiar umieścić
mój kod tak używać i przejść, a następnie mamy zamiar przekazać polecenie PH polecenia, które chcemy uruchomić.
I to polecenie będzie tutaj używać pojedynczych cytatów.
A wtedy moim rozkazem będzie
netcat bin sh.
Następnie wprowadzę mój adres IP, który jest 10 20 14 do 0 8, a następnie zamierzam
umieścić tę część, której słucham, 8 8 8 8 za pomocą tej metody.
Otrzymasz tylko jeden strzał z tym kodem, ponieważ jeśli wstawisz kod Kura niepoprawnie,
wszystko się zepsuje, a plik nie będzie już wyświetlany, ponieważ masz błąd
w kodzie.
Więc sugeruję, że zamierzam przejść przez to, ponieważ jest to bezpieczna funkcja.
I jestem pewien, że to będzie działać poprawnie.
Po prostu potrzebuję zapomnieć o umieszczeniu średnika tutaj, więc zamierzam to tam umieścić.
Więc jestem pewien, że ten kod działa poprawnie, ale mam tutaj wiele minusów.
Mam dużo przestrzeni i mam wiele ukośników, które zawsze mają problemy, gdy próbujesz przekazać
je pomiędzy kolejnymi poleceniami i możesz spróbować przejść przez te postacie.
Ale sugeruję, że faktycznie zaszyfrujesz to użycie i bazę 64, a następnie odszyfrujesz na drugim końcu.
Pokażę ci, jak to zrobić.
Po pierwsze mam zamiar skopiować to polecenie.
Jest to wynik tego, że chcemy, aby funkcja duszpasterska działała i ją kopiowała.
Mam zamiar pójść do moich
beatów i zamierzam iść do mojego dekodera tutaj.
Nigdy nie oglądaliśmy dekodera, więc ta zakładka umożliwia kodowanie i dekodowanie tekstu na różne
typy kodowania.
Więc wkleję to, co skopiowałem i zamierzam zakodować to jako Bedu 64.
Tak więc ten tekst netcast został przeniesiony do portu IP jest konwertowany do tego zaszyfrowanego kodu.
Zamierzam skopiować ten kod, który zamierzam zastąpić tutaj w moim poleceniu.
Zamiast więc uruchamiać go w ten sposób zamiast umieszczać tekst, wstawiam kod podstawowy
64, aby upewnić się, że nie ma żadnych specjalnych znaków, które mogłyby zakłócać polecenie z Bash.
Więc to skopiowałem.
Teraz, jeśli uruchomię to w ten sposób, mam swoją przepustkę, która jest funkcją Peachtree i mówię
jej, aby wykonała polecenie show.
Teraz oczywiście, jeśli skopiujesz ten tekst i uruchomisz go, nie będzie on działał, ponieważ jest po prostu jibbry.
Muszę więc powiedzieć, że jest to kod bazowy 64 i zamierzam to zrobić za pomocą funkcji APHC o
nazwie 64 dekodowania.
Więc zamierzam powiedzieć, żeby to rozszyfrować.
Ten kawałek tekstu.
A potem, kiedy rozszyfrujesz, że przebiegłeś przez to.
Więc zamierzam to wpisać tutaj.
Więc będzie to 64
dekodowanie i to tylko kolejna funkcja ph funkcji, a następnie zamierzam umieścić nawiasy.
Tak więc zamierzam uczynić to nieco większym, abyśmy mogli więcej o tym mówić.
I zamierzam po prostu skopiować i napisać ponownie tylko po to, żebyśmy o tym trochę więcej
rozmawiali.
DOBRZE.
Najpierw używamy nazwy użytkownika jako kodu, który chcemy wstawić, ponieważ ponieważ widzimy, że nazwa użytkownika
została wyświetlona na stronie logowania, więc wszystko, co umieścimy w nazwie użytkownika, zostanie
wykonane jako mowa kod.
Mamy więc to między dwoma cytatami tutaj, między tym a tym cytatem.
Teraz mamy naszą stronę, ponieważ zawsze używamy i zawsze używaliśmy funkcji przekazywania do uruchamiania
poleceń Uniksa na serwerze docelowym.
Więc trzymamy to dokładnie to samo i mówimy, żeby uruchomić ten tekst.
Ale zanim uruchomisz ten tekst, chcę, żebyś go zdekodował na podstawie 64.
Przeszliśmy przez dekodowanie następującego kodu.
I to jest kod.
Polecenie net cat, którego zawsze używamy, dekodujemy na podstawie 64.
A potem mówimy, aby uruchomił go za pomocą funkcji przekazu do wykonania jako polecenie bash.
Więc zamierzam teraz zdobyć pylnika.
I to jest pytanie o hasło, ponieważ uważa, że jest to nazwa użytkownika, więc
robimy wszystko jako nazwę użytkownika.
Tak więc zamierzam umieścić dowolne hasło w dowolnym miejscu tu i tam.
Teraz powinno to być teraz zapisane w dziennikach.
Więc ten kod powinien zostać wstrzyknięty do tego off dziennika.
Więc wrócimy teraz do naszej przeglądarki i zobaczysz to na każdym słuchaniu tutaj.
Więc zamierzam nacisnąć tutaj w przeglądarce.
Jak widać, mamy połączenie z naszej strony docelowej i jeśli to zrobimy. RE. zobaczysz to na
docelowej stronie z Davidem, czytelną nazwą użytkownika lub grupą użytkowników.
Mogę uruchamiać polecenia lub robić, co chcę na serwerze docelowym.
Jest to kolejna metoda wykorzystania luk w włączaniu lokalnych plików, aby uzyskać program na
komputerze docelowym.
Teraz jest to po prostu pewien pomysł i możesz wypróbować te pomysły za pomocą różnych typów plików dziennika, dzięki czemu możesz wypróbować
to z pominięciem dziennika.
Możesz wypróbować go z każdym innym typem plików dziennika, ale musisz o tym pomyśleć.
Musisz pomyśleć, w jaki sposób możesz wprowadzić kod do tego pliku dziennika.
Tak więc na przykład, jak powiedziałem, jeśli jest to serwer pocztowy, a następnie spróbuj wysłać wiadomość e-mail, jeśli jest ona
poza logiem, tak jak to mamy w bieżącym przykładzie, spróbuj zalogować się przy użyciu S-sh i sprawdź, czy możesz
wstrzyknąć kod i jeśli ten kod zostanie wykonany na komputerze docelowym.