-: Do tej pory widzieliśmy, jak
możemy korzystać z
usługi z domyślnym hasłem lub usługi, która nie została
poprawnie skonfigurowana lub usługi, która została dostarczona z
tylnymi drzwiami, aby uzyskać pełny dostęp do komputera docelowego.
Widzieliśmy także, jak podstawowe użycie Metasploit za pomocą,
do połączenia z backdoorem, który został
zainstalowany w usłudze FTP.
Dzisiaj będziemy bardziej
zaawansowani w Metasploit i zobaczymy, jak wykorzystamy go do
uruchomienia luki w zabezpieczeniach określonej usługi.
Jest to luka w zabezpieczeniach umożliwiająca wykonanie kodu, która zapewni
nam również pełny dostęp do komputera docelowego.
Wróćmy więc do naszych wyników tutaj z Nmap i zrobimy to
samo, co robiliśmy od dłuższego czasu, kopiujemy
nazwę usługi i sprawdzamy, czy ma
jakieś luki w zabezpieczeniach.
Na dzień dzisiejszy przyglądamy się temu konkretnemu portowi 139, który
ma serwer Samby w wersji 3. X.
Więc 3. cokolwiek naprawdę.
Więc przejdziemy przez
Google, tak jak w
poprzednich filmach, i będziemy szukać Samby
3. Exploit X.
Teraz, jak widać, jest wiele wyników.
Ten, którym jesteśmy zainteresowani, ci,
którzy pochodzą z Rapid 7, ponieważ, jak
powiedziałem, są to ludzie, którzy tworzą Metasploit, więc
exploity, które tam widzisz, mogą być wykorzystane przez Metasploit.
Mamy więc dwa
przykłady, teraz wypróbowałem oba.
Pierwszy nie działa, więc jest w
tym trochę prób i błędów, a drugi to
użytkownik Maps Script.
Jest to luka w zabezpieczeniach wykonywania poleceń, jak widać tutaj.
Tak więc nazwa luki jest taka.
To jest to samo, co
wcześniej używane ze złym backdoorem w usłudze FTP.
To tylko inna nazwa, której będziemy używać.
Idę do Metasploit i
już uruchomiłem konsolę MSF,
więc widać, że konsola tutaj działa.
Więc zrobię użytek, tak jak robiliśmy
to wczoraj, a potem wstawię nazwę exploita, którego
chcę użyć.
Następnie następną rzeczą, którą zwykle robimy, jest pokazanie opcji,
tak jak wczoraj.
Zamierzam więc pokazać opcje.
Używanie tych exploitów jest zawsze prawie takie samo,
jedyną różnicą są opcje, które można ustawić
dla każdego exploita.
Więc zawsze używasz, a następnie umieszczasz nazwę exploita, a
następnie robisz opcje pokazu, aby zobaczyć, co możesz zmienić, aby
pracować z tym exploitem.
Więc w przyszłości prawdopodobnie dostaniesz inne exploity niż
te, które mam.
Dlatego za każdym razem, gdy chcesz
uruchomić exploit, robisz nazwę exploita use, a następnie wyświetlasz opcje, aby
zobaczyć opcje, które chcesz skonfigurować, ale korzystanie
z exploitów i ustawianie opcji oraz ich uruchamianie
są zawsze takie same.
Dlatego pokazuję kilka przykładów, które powinny
obejmować prawie wszystko, co chcesz robić w przyszłości.
Więc znowu musimy skonfigurować R-Host, który jest adresem IP komputera
docelowego i zrobimy to w taki sam sposób, jak
poprzednio.
Jak powiedziałem, ustawienie opcji jest zawsze takie samo.
Więc ustawimy R-HOST, a następnie
ustawimy adres IP komputera docelowego, który
wynosi 10. 20 14 204.
Dokładnie tak jak wcześniej, używamy zestawu do
ustawienia opcji, którą jest R-HOST.
Więc zrobimy nasze opcje pokazu.
I jak widać teraz R-HOST został ustawiony poprawnie.
To, co musimy teraz zrobić, to coś, co różni
się od poprzedniego wykładu.
W poprzednim wykładzie korzystaliśmy z backdoora, który był już
zainstalowany na komputerze docelowym, więc wystarczyło połączyć
się z backdoorem, a następnie
moglibyśmy uruchamiać dowolne polecenia, dowolne polecenia Linuksa na komputerze docelowym.
W dzisiejszym wideo komputer docelowy nie
ma backdoora, ma normalny program, który ma przepełnienie
bufora lub usterkę wykonania kodu.
Tak więc program nie ma żadnego kodu, który pozwalałby nam
na uruchamianie poleceń Linuksa, ma pewną wadę, która pozwoli nam
uruchomić mały fragment kodu.
Te małe fragmenty kodu nazywane są ładunkami.
Więc co musimy zrobić, musimy utworzyć ładunek, a
następnie uruchomić go na komputerze docelowym,
korzystając z wykrytej luki.
Ten fragment kodu pozwoli nam robić różne rzeczy.
Tak więc ładowność pozwala nam robić rzeczy, które
są dla nas przydatne.
Teraz ładunek może pozwolić nam wykonywać polecenia Linuksa i
istnieje inny rodzaj ładunków, które przyjrzymy się
w przyszłości.
Tak więc, aby zobaczyć, że ładunki, których możesz
użyć z tym konkretnym exploitem, wszystko co musisz
zrobić, to uruchomić ładunki pokazowe.
I to są różne typy danych, których możesz użyć.
Teraz porozmawiam o tym ponownie, więc ładunki to
małe fragmenty kodu, które zostaną wykonane na komputerze docelowym
po wykorzystaniu luki w zabezpieczeniach.
Tak więc, kiedy wykorzystamy tę lukę, kod, który
tu wybieramy, zostanie wykonany i zależnie od wybranego przez
nas typu ładunku, ten ładunek zrobi coś, co jest
dla nas przydatne.
Tak więc teraz możesz zobaczyć, że wszystkie ładunki są
cmd, więc jest to skrót od polecenia, więc
pozwalają one uruchamiać polecenia na komputerze docelowym, podobnie jak polecenia Linux.
Wszystkie działają tylko na Uniksie i jest w porządku,
ponieważ naszym celem jest Linux.
I są dwa główne typy, są ładunki
wiążące i są ładunki zwrotne.
Ładunki wiązania, wszystko co robią, to otwierają port na komputerze
docelowym, a następnie łączymy się z tym portem.
Przeciwnie, robią odwrotnie.
Więc otwierają port na moim komputerze, a następnie łączą
się z komputera docelowego z moim komputerem.
Jest to przydatne, ponieważ odwrotność pozwala nam ominąć zapory ogniowe,
więc zapora filtruje wszystkie połączenia prowadzące do komputera docelowego, ale
jeśli maszyna docelowa łączy się ze mną
i nie mam zapory ogniowej, będę
w stanie ominąć zapora ogniowa.
Więc użyję odwrotnego polecenia cmd Unix,
a właściwie użyję odwrotnego polecenia netd cmd Unix.
Ostatnią częścią tych ładunków jest program i narzędzie do
zamawiania języków, które zostanie użyte
w celu ułatwienia połączenia.
Na przykład możemy zobaczyć, że istnieją ładunki
zapisane w perlu w Ruby lub Pythonie, php lub użyj netcat,
który jest narzędziem, które pozwala na połączenia między komputerami.
To jest ten, którego zamierzam użyć i użyję go
w taki sam sposób, jak wykorzystujesz exploita.
Więc powiem, naprawdę przepraszam, użyję go za
pomocą polecenia set.
Więc w ten sam sposób, w
jaki używasz zestawu i opcji, ustawimy ładunek, tak jak opcję,
na wybraną właśnie nazwę ładunku.
Teraz zrobię opcje pokazu, aby sprawdzić, czy są jakieś inne
opcje, które muszę ustawić.
I tak, ponieważ wybraliśmy ładunek, teraz jest
więcej opcji.
Jest więc opcja o nazwie L-HOST
i jest to adres nasłuchiwania, który jest moim własnym adresem.
Więc zdobędę własny adres IP, używając if config.
A mój własny adres to 10. 20 14 203.
Więc to
zamknę i ustawię L-HOST.
Więc to tak, jak wcześniej ustawialiśmy
R-Hosta, ustawiając L-HOST.
Zrób 10.
20
Tak więc, zanim zwykliśmy ustawiać R-HOST, aby ustawić tę opcję,
teraz ustawiamy L-HOST, aby ustawić tę konkretną opcję.
Więc zestaw jest naprawdę prosty, ustaw, umieść nazwę opcji,
a następnie wartość, którą chcesz ustawić.
Potem pokażę opcje i teraz wszystko
wydaje się w porządku.
Więc używamy tego exploita, R-HOST jest ustawiony na to, co jest
w porządku.
A potem L-HOST jest ustawiony na to, co jest idealne.
Następnie możesz ustawić port, na
którym będziesz nasłuchiwał, na swoim komputerze.
Jeśli chcesz, możesz ustawić go na
80, to jest port używany przez przeglądarki internetowe.
Jeśli więc ustawisz L-PORT na 80, komputer docelowy spróbuje połączyć
się z tobą za pomocą portu 80, który nigdy nie jest filtrowany w
zaporach ogniowych, ponieważ jest to port, którego używają przeglądarki
internetowe lub serwery sieciowe.
Tak więc za każdym razem, gdy wchodzisz na stronę internetową, faktycznie uzyskujesz dostęp do portu
80 na tej stronie.
Więc jeśli otworzysz port 80 na twoim komputerze, a
cel połączy się z tobą na 80, wtedy firewall
pomyśli, że celem jest tylko przeglądanie Internetu.
Nie zrobię tego teraz, ponieważ mam serwer WWW działający
na porcie 80 i to spowoduje konflikt.
Więc ustawię L-PORT
na 555 tylko dla ciebie, aby zobaczyć, że możesz
zmienić dowolną opcję w ten sam sposób, który
jest ustawiony, nazwę opcji, a następnie wartość.
Więc znowu pokażę opcje.
Jak widać, zmieniono to na 5555 i zamierzam
zrobić exploita, aby uruchomić exploita.
Jak widać, mówi
mi to, że pierwsza sesja została otwarta.
Połączenie jest między tym urządzeniem a tym urządzeniem.
Który jest celem i moim urządzeniem.
Więc zrobię pwd i,
lub zrobię identyfikator.
Zobaczysz, że jestem rootem, dlatego wykonuję uname -a.
Zobaczysz, że jestem na maszynie Metasploitable, a
jeśli zrobię ls, będę mógł wyświetlić listę plików i tak dalej.
Mogę użyć dowolnego polecenia Linuksa, tak jak wcześniej w
innych filmach.